:root{
  --navy:#0b2150; --navy-dark:#06142f; --navy-mid:#16377a; --blue-soft:#eef3fb;
  --red:#d93a28; --red-dark:#b82d1d; --red-soft:#fdeceb;
  --white:#fff; --ink:#1c2535; --muted:#4a5567; --border:rgba(11,33,80,.14);
  --shadow:0 18px 50px rgba(11,33,80,.14); --shadow-soft:0 8px 24px rgba(11,33,80,.09); --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:1rem}
h1,h2,h3,h4{color:var(--navy);line-height:1.2;font-weight:750;margin:0 0 .6rem}
h1{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.015em}
h2{font-size:clamp(1.55rem,3vw,2.2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1rem;max-width:70ch}
a{color:var(--navy-mid)} a:hover{color:var(--red)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.container{width:min(1180px,100% - 2.4rem);margin-inline:auto}
.ico{width:1.05em;height:1.05em;vertical-align:-.15em;margin-right:.4em;flex:none}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:2000}
.skip-link:focus{left:0;color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grid{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.center{text-align:center}.center p{margin-inline:auto}

/* header */
.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:var(--shadow-soft)}
.top-bar{background:var(--navy-dark);color:#fff;font-size:.85rem}
.top-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;padding:.4rem 0}
.top-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
.top-list a{color:#fff;text-decoration:none}.top-list a:hover{text-decoration:underline;color:#fff}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand{flex:none}.brand img{height:54px;width:auto;object-fit:contain}
.brand-text{display:flex;flex-direction:column;color:var(--navy);font-weight:800;font-size:1.08rem;line-height:1.1}
.brand-text small{font-weight:600;font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}
.nav a{white-space:nowrap;display:block;color:var(--navy);font-weight:650;text-decoration:none;padding:.6rem .5rem;font-size:.9rem;border-radius:8px}
.nav a:hover{color:var(--red)}
.nav .nav-cta{background:var(--red);color:#fff;border-radius:999px;padding:.55rem 1.1rem}
.nav .nav-cta:hover{background:var(--red-dark);color:#fff}
.menu-btn{display:none;background:none;border:2px solid var(--navy);border-radius:8px;padding:.45rem .7rem;color:var(--navy);font-weight:700;cursor:pointer}

/* buttons */
.btn{font-weight:700;border-radius:999px;padding:.75rem 1.4rem;display:inline-flex;align-items:center;text-decoration:none;border:2px solid transparent;font-size:1rem;cursor:pointer}
.btn-red{background:var(--red);border-color:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost-w{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}.btn-ghost-w:hover{background:#fff;color:var(--navy)}
.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy-dark);overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:contrast(1.08) saturate(1.1)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,20,47,.95) 0%,rgba(11,33,80,.85) 48%,rgba(11,33,80,.35) 100%)}
.hero .container{position:relative;padding:4rem 0 3rem}
.hero h1,.hero .lead{color:#fff}
.hero-copy{max-width:760px}
.kicker{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:.7rem;max-width:none}
.hero .kicker,.on-navy .kicker{color:#ff8f82}
.lead{font-size:1.15rem;color:var(--muted)}
.hero .lead{color:#e6edf9}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:2.2rem}
.glance div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-left:4px solid var(--red);border-radius:10px;padding:.85rem 1rem;backdrop-filter:blur(3px)}
.glance dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#ff8f82;font-weight:800}
.glance dd{margin:.15rem 0 0;font-weight:600;font-size:.97rem}
.stats{display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;margin-top:1.8rem}
.stats strong{display:block;font-size:1.9rem;line-height:1;color:#fff}
.stats span{font-size:.85rem;color:#cfdaef}

/* sections */
.sec{padding:4rem 0}
.sec-alt{background:var(--blue-soft)}
.on-navy{background:var(--navy);color:#fff}
.on-navy h2,.on-navy h3{color:#fff}.on-navy p,.on-navy .lead{color:#e1e9f7}
.on-navy a{color:#ffb4ab}.on-navy a:hover{color:#fff}
.on-navy .btn-red,.on-navy .btn-ghost-w{color:#fff}.on-navy .btn-ghost-w:hover{color:var(--navy)}
.sec-head{margin-bottom:2.2rem}
.sec-head.center{text-align:center}.sec-head.center p{margin-inline:auto}

/* cards */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;height:100%;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:contrast(1.05) saturate(1.08)}
.card-b{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}
.card-b p{color:var(--muted);font-size:.97rem}
.more{margin-top:auto;font-weight:700;text-decoration:none;color:var(--navy)}.more:hover{color:var(--red)}
.entry{background:#fff;border:1px solid var(--border);border-top:6px solid var(--red);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-soft);height:100%;display:flex;flex-direction:column}
.entry:nth-child(even){border-top-color:var(--navy)}
.entry h3{font-size:1.2rem}
.checks{list-style:none;padding:0;margin:0 0 1rem}
.checks li{display:flex;gap:.2rem;margin-bottom:.5rem;color:var(--muted)}
.checks .ico{color:var(--red);margin-top:.28em}
.fig{margin:0}.fig img{border-radius:var(--radius);box-shadow:var(--shadow-soft);width:100%;filter:contrast(1.05) saturate(1.08)}
.fig figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}

/* benefits & proofs */
.ben-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1.1rem}
.ben{display:flex;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow-soft)}
.num{flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.ben:nth-child(odd) .num{background:var(--red)}
.ben p{margin:0;color:var(--muted);font-size:.96rem}
.proof{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:1.4rem;height:100%}
.proof-n{color:#ff8f82;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin-bottom:.4rem}
.proof p:last-child{margin:0}
.logos-strip{margin-top:2rem;background:#fff;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-soft)}
.logos-strip img{margin:auto;max-height:260px;width:auto}

/* table */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.tbl{width:100%;border-collapse:collapse;min-width:640px}
.tbl caption{padding:.8rem 1rem;font-weight:700;color:var(--navy);text-align:left}
.tbl th,.tbl td{padding:.8rem 1rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left;font-size:.95rem}
.tbl thead th{background:var(--navy);color:#fff}
.tbl tbody th{color:var(--navy);width:20%}
.tbl td.ours{background:var(--red-soft)}

/* holders */
.holder{margin:0;border:2px dashed rgba(11,33,80,.4);border-radius:var(--radius);background:repeating-linear-gradient(45deg,#fff,#fff 12px,var(--blue-soft) 12px,var(--blue-soft) 24px);display:grid;place-items:center;text-align:center;padding:1.2rem;color:var(--navy);min-height:240px}
.holder>div{background:rgba(255,255,255,.94);padding:.8rem 1rem;border-radius:10px;max-width:38ch}
.holder-tag{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--red)}
.holder-txt{display:block;font-size:.92rem}
.r169{aspect-ratio:16/9;min-height:0;width:100%}.holder>div{max-width:min(38ch,100%)}

/* steps, tags */
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.2rem}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem 1.2rem 1.2rem;position:relative;box-shadow:var(--shadow-soft)}
.steps li::before{content:counter(s);position:absolute;top:-.85rem;left:1rem;background:var(--red);color:#fff;font-weight:800;width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center}
.steps p{margin:0;color:var(--muted);font-size:.95rem}
.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none}
.tag-row li{background:var(--red-soft);border:1px solid rgba(217,58,40,.35);border-radius:999px;padding:.2rem .85rem;font-size:.85rem;color:var(--navy);font-weight:600}
.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:1.2rem 0}
.spec div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.8rem 1rem}
.spec dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:800}
.spec dd{margin:.15rem 0 0;font-weight:600;color:var(--navy)}
.partner{height:100%;background:#fff;border:1px solid var(--border);border-left:6px solid var(--red);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:flex-start}
.partner p{flex:1}
.plogo{height:96px;width:100%;display:flex;align-items:center;margin-bottom:1rem}
.plogo img{max-height:96px;max-width:100%;width:auto;height:auto;object-fit:contain}
.cover169{aspect-ratio:16/9;object-fit:cover}

/* faq */
details{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:.7rem;box-shadow:var(--shadow-soft)}
summary{cursor:pointer;font-weight:700;color:var(--navy);padding:1rem 1.2rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--red);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details[open] summary{background:var(--red-soft);border-radius:12px 12px 0 0}
details p{padding:1rem 1.2rem 0;margin:0 0 1rem;color:var(--muted)}

/* CTA band */
.cta-band{position:relative;color:#fff;background:linear-gradient(120deg,var(--navy-dark),var(--navy-mid));overflow:hidden}
.cta-band .hero-bg img{object-position:center}
.cta-band .container{position:relative;padding:3.4rem 0}
.cta-in{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.cta-band h2{color:#fff}.cta-band p{color:#e1e9f7;margin:0}


/* footer */
.site-footer{background:var(--navy-dark);color:#dbe5f6}
.site-footer a{color:#fff}
.site-footer h3{color:#ff8f82;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:2rem;padding:3rem 0 2rem}
.f-logo{width:150px;height:auto;border-radius:14px;background:#fff;padding:6px;object-fit:contain}
.f-sign{font-weight:700;color:#fff;font-size:.92rem}
.f-links{list-style:none;padding:0;margin:0}.f-links li{margin-bottom:.4rem}
.f-contact p{margin-bottom:.6rem;font-size:.92rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;font-size:.85rem}
.footer-bottom .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}
.updated{color:var(--muted);font-size:.82rem;margin:1.2rem 0}

@media (max-width:1360px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:.6rem 1.2rem 1rem;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav-wrap{position:relative}
  .nav .nav-cta{text-align:center}
}
@media (max-width:600px){
  .sec{padding:2.8rem 0}.top-entries{display:none}
  .brand img{height:44px;width:auto}.brand{flex:1 1 auto;min-width:0}.brand-text{font-size:.9rem}.brand-text small{display:none}
  .btn-row .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
@media print{.top-bar,.nav,.cta-band,.btn-row{display:none}.site-header{position:static}}
.pj{color:inherit;font-weight:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.pj:hover{color:var(--red)}

/* --- Trust with French Professionals additions --- */
.say{margin:.2rem 0 1rem;font-size:.93rem}
.say p{margin:.35rem 0;padding:.55rem .8rem;border-left:4px solid var(--red);background:var(--red-soft);border-radius:0 8px 8px 0;max-width:none;color:var(--ink)}
.say p.try{border-left-color:var(--navy);background:var(--blue-soft)}
.say b{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--red);font-weight:800}
.say p.try b{color:var(--navy-mid)}
.lang-switch{font-weight:700}
.note{font-size:.9rem;color:var(--muted);margin-top:1rem}
.hero-bg img{object-position:center 35%}
.brand img{border-radius:10px}
.ph{background:var(--red-soft);border:1px dashed var(--red);border-radius:6px;padding:0 .3em}
.legal h2{margin-top:2.4rem}.legal h3{margin-top:1.6rem;font-size:1.05rem}
.legal p{max-width:78ch}
.toc{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.crumb{font-size:.85rem;color:var(--muted);margin-bottom:.8rem}
