
:root{
  --white:#fff;--ink:#1b1d2a;--navy:#26294e;--navy-2:#1f2241;--text:#2b2e3f;--muted:#5f6478;--stone:#8b90a3;
  --light:#f0f4f9;--line:#e3e7ef;--line-2:#cfd5e1;
  --green:#3ab65a;--green-2:#2f9c4b;--green-a:#e8faed;
  --fg:var(--ink);--card:#fff;--bg-2:var(--light);--dim:var(--stone);--line-2x:var(--line-2);
  --red:#e0553a;--teal:#1f9fa3;--amber:#d99a2b;--blue:#4b8dff;
  --f-sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--f-serif:var(--f-sans);
  --f-mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:6px;--r2:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font-family:var(--f-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:700;line-height:1.1}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700}
h3{font-size:1.15rem;font-weight:600}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.wrap-n{max-width:820px;margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.eyebrow i{display:none}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--muted);max-width:40rem;text-wrap:pretty}
.muted{color:var(--muted)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:500 .95rem var(--f-sans);padding:.8rem 1.3rem;border-radius:var(--r);border:1.5px solid var(--green);cursor:pointer;transition:background .2s,color .2s,transform .15s;white-space:nowrap;background:var(--green);color:#fff}
.btn:hover{background:var(--green-2);border-color:var(--green-2)}
.btn svg{width:14px;height:14px}
.btn-solid{background:var(--green);color:#fff}
.btn-line{background:transparent;color:var(--green)}
.btn-line:hover{background:var(--green-a);color:var(--green-2)}
.btn.on-dark.btn-line{color:#fff;border-color:#fff}
.btn.on-dark.btn-line:hover{background:rgba(255,255,255,.1)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--ink);padding:.8rem .6rem}
.btn-ghost:hover{background:transparent;color:var(--green)}
.arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--green)}
.arrow:hover{color:var(--green-2)}
.arrow svg{width:14px;height:14px}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 1px 0 var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:10px;line-height:1}
.brand svg{width:30px;height:30px}
.brand b{font-weight:700;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.brand b span{color:var(--green)}
.brand small{display:none}
.nav-links{display:flex;gap:28px;font-size:.95rem;margin-left:auto;margin-right:24px}
.nav-links a{color:var(--text);padding:6px 0}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--green)}
.nav-cta{display:flex;gap:14px;align-items:center}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:var(--r);background:none;color:var(--ink);cursor:pointer;place-items:center}
.burger svg{width:18px;height:18px}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}
.mnav .wrap{display:grid;padding:10px 24px 18px;height:auto}
.mnav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}
.mnav a:last-child{border:0;color:var(--green);font-weight:600}
.mnav.open{display:block}
@media (max-width:980px){.nav-links{display:none}.nav-cta .btn-ghost{display:none}.burger{display:grid}}
@media (max-width:560px){.nav-cta .btn-solid{display:none}}

/* sections */
.sec{padding:clamp(60px,8vw,100px) 0}
.sec.hair{border-top:0}
.sec.light{background:var(--light)}
.sec-head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head p{color:var(--muted);font-size:1.06rem;max-width:40rem}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;justify-items:center}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.two .sticky{position:sticky;top:100px;display:grid;gap:18px;justify-items:start}
@media (max-width:900px){.two{grid-template-columns:1fr}.two .sticky{position:static}}

/* en-tête de page (pages intérieures) : bandeau marine */
.ph{background:var(--navy);color:#fff;padding:clamp(48px,7vw,80px) 0}
.ph .wrap{display:grid;gap:18px;justify-items:start}
.ph h1{color:#fff;max-width:18ch}
.ph .lead{color:rgba(255,255,255,.82)}
.ph .eyebrow{color:#8fe3a4}
.ph .note{font-size:.84rem;color:rgba(255,255,255,.6)}
.ph .toggle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.ph .toggle button{color:#fff}
.ph .toggle button[aria-pressed="true"]{background:var(--green);color:#fff}
.ph .toggle em{color:#8fe3a4}
.ph .toggle button[aria-pressed="true"] em{color:#fff}

/* hero accueil */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:clamp(56px,8vw,110px) 0}
.hero .bp{position:absolute;inset:0;opacity:.09;pointer-events:none}
.hero .bp svg{width:170%;height:auto;position:absolute;left:-20%;top:-30%;filter:invert(1) grayscale(1) contrast(1.4)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,41,78,.75),rgba(38,41,78,.35) 60%,rgba(38,41,78,.6))}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,72px);align-items:center}
.hero .left{display:grid;gap:22px;justify-items:start}
.hero .eyebrow{color:#fff;font-size:.8rem}
.hero h1{color:#fff;max-width:14ch;font-size:clamp(2.5rem,5.4vw,3.9rem)}
.hero h1 .l2{display:block;color:#8fe3a4}
.hero .lead{color:rgba(255,255,255,.86);font-size:clamp(1.05rem,1.5vw,1.25rem)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero .fine{font-size:.84rem;color:rgba(255,255,255,.7)}
.hero .fine b{color:#fff;font-weight:600}
.video{position:relative;display:block;border-radius:var(--r2);overflow:hidden;background:#0f1230;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);aspect-ratio:16/9}
.video svg.plan{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.video:hover .play{transform:translate(-50%,-50%) scale(1.06)}
.video .play svg{width:26px;height:26px;margin-left:4px}
.video .cap{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(transparent,rgba(15,18,48,.9));font-size:.84rem;color:#fff;display:flex;justify-content:space-between;gap:10px}
.video .cap b{font-weight:600}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr}}

/* bande de chiffres */
.proof{background:var(--light)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:36px;padding-bottom:36px}
.proof div{display:grid;gap:4px;text-align:center;padding:12px}
.proof b{font-size:2.3rem;font-weight:700;color:var(--navy);line-height:1}
.proof span{font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.proof .wrap{grid-template-columns:1fr 1fr}}

/* frise de bénéfices (timeline) */
.timeline{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,110px);align-items:start}
.timeline .sticky{position:sticky;top:100px;display:grid;gap:22px;justify-items:start}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:34px;position:relative}
.tl::before{content:"";position:absolute;left:23px;top:28px;bottom:28px;width:2px;background:var(--green);opacity:.5}
.tl li{display:grid;grid-template-columns:48px 1fr;gap:28px;align-items:start}
.tl .ic{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--green);box-shadow:0 0 0 6px #fff;position:relative}
.tl .ic svg{width:30px;height:30px}
.tl h3{font-size:1.2rem;margin-bottom:6px}
.tl p{color:var(--muted)}
@media (max-width:900px){.timeline{grid-template-columns:1fr}.timeline .sticky{position:static}}

/* listes numérotées (livrables, contrôles) */
.nlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.nlist li{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r2)}
.nlist .n{width:36px;height:36px;border-radius:50%;background:var(--green-a);color:var(--green-2);display:grid;place-items:center;font-weight:600;font-size:.85rem}
.nlist b{font-weight:600;display:block;color:var(--ink)}
.nlist span.d{display:block;color:var(--muted);font-size:.92rem;margin-top:2px}
.nlist .f{font-family:var(--f-mono);font-size:.7rem;color:var(--stone);letter-spacing:.06em;white-space:nowrap}
@media (max-width:600px){.nlist li{grid-template-columns:36px 1fr}.nlist .f{grid-column:2}}

/* cadre plan */
.frame{display:block;position:relative;background:#fff;padding:12px;border-radius:var(--r2);box-shadow:0 30px 70px -40px rgba(38,41,78,.5);border:1px solid var(--line)}
.frame svg{display:block;width:100%;height:auto;border-radius:6px}
.frame .cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 6px 4px;font-size:.88rem;color:var(--muted)}
.frame .cap b{color:var(--ink);font-weight:600}
.frame .cap span:last-child{color:var(--green);font-weight:600}

/* cartes (étapes, témoignages) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cardl{background:var(--light);border-radius:var(--r2);padding:30px 28px;display:grid;gap:12px;align-content:start}
.cardl .num{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700}
.cardl h3{font-size:1.25rem}
.cardl p{color:var(--muted)}
@media (max-width:860px){.cards3{grid-template-columns:1fr}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps li{background:var(--light);border-radius:var(--r2);padding:30px 28px;display:grid;gap:12px;align-content:start}
.steps .num{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1rem}
.steps p{color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* bloc marine (engagements façon récompenses) */
.navyblock{background:var(--navy);border-radius:var(--r2);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,4vw,56px);align-items:center;color:#fff}
.navyblock h2{color:#fff}
.navyblock p{color:rgba(255,255,255,.8)}
.badges{background:#fff;border-radius:var(--r2);padding:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 18px}
.badge-i{display:grid;gap:8px;justify-items:center;text-align:center;color:var(--ink)}
.badge-i .ic{width:74px;height:74px;border-radius:50%;background:var(--green-a);display:grid;place-items:center;color:var(--green-2);border:2px dashed var(--green)}
.badge-i .ic svg{width:32px;height:32px}
.badge-i b{font-size:.86rem;font-weight:600;line-height:1.3}
.badge-i span{font-size:.76rem;color:var(--muted)}
@media (max-width:900px){.navyblock{grid-template-columns:1fr}}
@media (max-width:560px){.badges{grid-template-columns:1fr 1fr}}

/* bandeau final */
.cta-band{background:var(--light);text-align:center}
.cta-band .wrap{display:grid;gap:22px;justify-items:center;max-width:880px}
.cta-band h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.cta-band p{color:var(--muted)}
.cta-band ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;color:var(--muted);font-size:.9rem}
.cta-band ul li::before{content:"✓";color:var(--green);font-weight:700;margin-right:8px}
.cta-band .ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* citation */
.quote{max-width:860px;margin:0 auto;text-align:center;display:grid;gap:22px;justify-items:center}
.quote blockquote{margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:500;line-height:1.4;color:var(--ink)}
.quote cite{font-style:normal;display:grid;gap:3px;font-size:.92rem;color:var(--muted)}
.quote cite b{font-weight:600;color:var(--ink)}
.quote .sigil{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.3rem}

/* footer */
footer{border-top:1px solid var(--line);padding:56px 0 30px;margin-top:0}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;font-size:.92rem}
.foot h4{font-weight:600;font-size:.9rem;margin-bottom:14px;color:var(--ink)}
.foot nav{display:grid;gap:9px;color:var(--muted)}
.foot a:hover{color:var(--green)}
.foot .tag{color:var(--muted);max-width:30ch;margin-top:14px}
.foot .brand svg{width:56px;height:56px}
.foot .brand b{display:none}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--stone)}
@media (max-width:760px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.foot{grid-template-columns:1fr}}

/* dossier (études livrées) */
.dossier{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.dossier>div{min-width:0}
.dos-nav{position:sticky;top:96px;display:grid;gap:4px;list-style:none;margin:0;padding:0}
.dos-nav li{flex:none}
.dos-nav a{display:grid;grid-template-columns:30px 1fr;gap:8px;padding:9px 12px;border-radius:var(--r);color:var(--muted);font-size:.92rem;transition:background .2s,color .2s}
.dos-nav a .n{font-weight:600;font-size:.8rem;color:var(--stone)}
.dos-nav a:hover{color:var(--ink);background:var(--light)}
.dos-nav a.on{color:var(--green-2);background:var(--green-a)}
.dos-nav a.on .n{color:var(--green-2)}
.chap{padding:0 0 clamp(48px,6vw,80px);display:grid;gap:20px;scroll-margin-top:96px}
.chap>*{min-width:0}
.chap-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.chap-head .n{width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700}
.chap-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.chap-head .fmt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.chap .desc{color:var(--muted);max-width:66ch}
.chap .cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:.88rem;color:var(--muted);background:var(--light);border-radius:var(--r);padding:12px 16px}
.chap .cap b{color:var(--ink);font-weight:600}
.docbox{background:#fff;padding:12px;border-radius:var(--r2);border:1px solid var(--line);box-shadow:0 24px 60px -40px rgba(38,41,78,.4)}
.docbox .doc{box-shadow:none;border-radius:6px}
.docbox .doc.xls{border:1px solid #d5dbd8}
@media (max-width:900px){.dossier{grid-template-columns:1fr}.dos-nav{position:sticky;top:72px;z-index:5;display:flex;gap:6px;overflow-x:auto;background:#fff;padding:8px 0;margin-bottom:24px;border-bottom:1px solid var(--line)}.dos-nav a{display:inline-flex;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;white-space:nowrap;font-size:.82rem}.dos-nav a.on{border-color:var(--green);background:var(--green);color:#fff}.dos-nav a.on .n{color:#fff}.chap-head{grid-template-columns:auto 1fr}.chap-head .fmt{grid-column:2}}

/* A3 + DXF */
.a3dxf{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:stretch}
.a3{background:#fff;padding:12px;border:1px solid var(--line);border-radius:var(--r2);display:grid;gap:8px;align-content:start}
.a3 svg{width:100%;height:auto;display:block}
.a3 .lbl{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);display:flex;justify-content:space-between}
.dxf{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px;display:grid;align-content:start;font-size:.8rem}
.dxf .lbl{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:6px;display:flex;justify-content:space-between}
.dxf div{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line)}
.dxf i{width:14px;height:3px;display:block}
.dxf i.dash{background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px)}
.dxf span.k{font-family:var(--f-mono);font-size:.74rem}
.dxf span.v{color:var(--muted);font-size:.74rem;text-align:right}
@media (max-width:760px){.a3dxf{grid-template-columns:1fr}}

/* dossier technique */
.dt{background:#fff;border:1px solid var(--line);border-radius:var(--r2);display:grid;grid-template-columns:1fr 1fr}
.dt section{padding:18px 20px;border-right:1px solid var(--line)}
.dt section:last-child{border-right:0}
.dt h4{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--stone);margin:0 0 10px}
.dt ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.88rem}
.dt li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.dt li span:last-child{font-family:var(--f-mono);font-size:.68rem;color:var(--stone);white-space:nowrap}
@media (max-width:600px){.dt{grid-template-columns:1fr}.dt section{border-right:0;border-bottom:1px solid var(--line)}}

/* pièces (méthode) */
.pieces{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pieces section{padding:26px 28px;background:var(--light);border-radius:var(--r2)}
.pieces h3{margin-bottom:12px;display:flex;align-items:center;gap:10px}
.pieces h3 i{width:10px;height:10px;border-radius:50%;background:var(--green)}
.pieces h3 i.x{background:var(--line-2)}
.pieces ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem;color:var(--text)}
.pieces li{padding-left:18px;position:relative}
.pieces li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:700}
.pieces .x li{color:var(--muted);text-decoration:line-through}
.pieces .x li::before{content:"–";color:var(--stone)}
@media (max-width:700px){.pieces{grid-template-columns:1fr}}

/* contrôles */
.ctrl{columns:2;column-gap:40px;list-style:none;margin:0;padding:0;counter-reset:c}
.ctrl li{break-inside:avoid;display:grid;grid-template-columns:30px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--text)}
.ctrl li::before{counter-increment:c;content:counter(c,decimal-leading-zero);font-weight:600;font-size:.8rem;color:var(--green);padding-top:3px}
@media (max-width:700px){.ctrl{columns:1}}

/* règles */
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.rule{background:var(--light);border-radius:var(--r2);padding:26px 28px;display:grid;gap:10px;align-content:start}
.rule .k{font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.rule p{color:var(--muted);font-size:.95rem}
@media (max-width:700px){.rules{grid-template-columns:1fr}}

/* garantie */
.guar{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--light);border-radius:var(--r2);padding:30px}
.guar .seal{width:110px;height:110px}
.guar .seal svg{width:100%;height:100%;display:block}
.guar p{color:var(--text)}
@media (max-width:600px){.guar{grid-template-columns:1fr!important}.guar .btn{justify-self:start;white-space:normal}}
@media (prefers-reduced-motion:no-preference){.seal-rot{animation:spin 24s linear infinite;transform-origin:50% 50%}@keyframes spin{to{transform:rotate(360deg)}}}

/* tarifs */
.toggle{display:inline-flex;padding:4px;border:1px solid var(--line-2);border-radius:999px;gap:2px;background:#fff}
.toggle button{border:0;background:none;color:var(--muted);font:500 .9rem var(--f-sans);padding:8px 18px;border-radius:999px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--green);color:#fff}
.toggle em{font-style:normal;font-size:.8rem;margin-left:6px;color:var(--green)}
.toggle button[aria-pressed="true"] em{color:#fff}
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.price{padding:30px 26px;display:flex;flex-direction:column;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);min-width:0;position:relative}
.price.feat{border:2px solid var(--green);box-shadow:0 30px 60px -40px rgba(58,182,90,.5)}
.price h3{font-size:1.3rem;font-weight:700}
.price .amt{font-size:2.5rem;font-weight:700;line-height:1;color:var(--navy)}
.price .amt small{font-size:.85rem;color:var(--muted);font-weight:500}
.price .cr{font-weight:600;font-size:.9rem;color:var(--green-2);padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem;color:var(--text);flex:1}
.price li{padding-left:22px;position:relative}
.price li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:700}
.price .btn{width:100%}
.badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--green);color:#fff;white-space:nowrap}
.fine{margin-top:22px;font-size:.9rem;color:var(--muted);max-width:72ch}
@media (max-width:1000px){.prices{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.prices{grid-template-columns:1fr}}
.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.credit{background:var(--light);border-radius:var(--r2);padding:22px 24px;display:grid;gap:6px}
.credit b{font-size:2rem;font-weight:700;line-height:1;color:var(--navy)}
.credit span{font-size:.9rem;color:var(--text)}
.credit small{font-size:.76rem;color:var(--green-2);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:700px){.credits{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:12px}
.faq details{background:var(--light);border-radius:var(--r2);padding:0 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:600;font-size:1.02rem;display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--green)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding:0 0 20px;max-width:66ch}

/* engagements */
.eng{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.eng article{padding:28px 26px 30px;background:var(--light);border-radius:var(--r2);display:grid;gap:12px;align-content:start}
.eng .n{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem}
.eng p{color:var(--muted);font-size:.95rem}
@media (max-width:900px){.eng{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.eng{grid-template-columns:1fr}}
.kv{display:grid;gap:0;border-top:1px solid var(--line)}
.kv div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.kv div span:first-child{font-weight:600;color:var(--ink);padding-top:1px}
.kv div span:last-child{color:var(--muted)}
.kv b{color:var(--green-2)}
@media (max-width:600px){.kv div{grid-template-columns:1fr;gap:4px}}

/* formulaire */
form{display:grid;gap:14px;min-width:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label.f{display:grid;gap:6px;font-size:.84rem;font-weight:500;color:var(--text)}
input,select,textarea{font:inherit;font-size:.98rem;padding:.8rem .9rem;border-radius:var(--r);border:1px solid var(--line-2);background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(58,182,90,.18)}
.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.84rem;color:var(--muted)}
.consent input{width:auto;margin-top:4px;accent-color:var(--green)}
.consent a{text-decoration:underline;text-underline-offset:3px}
#formMsg,#depotMsg{font-size:.9rem;padding:10px 14px;border-radius:var(--r);border:1px solid #f0b4a8;background:#fdf1ee;color:#b23a1f}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:start}
.contact-grid .side{display:grid;gap:22px}
.contact-grid .side .mail{font-size:1.5rem;font-weight:600;color:var(--green-2)}
.contact-grid form{background:var(--light);border-radius:var(--r2);padding:28px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.row2{grid-template-columns:1fr}}

/* pages légales */
.legal{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,80px) 24px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:28px}
.legal h2{font-size:1.1rem;margin:28px 0 8px}
.legal p{color:var(--muted)}
.todo{background:#fff3b0;padding:0 4px}

.vb{position:fixed;inset:0;z-index:60;background:rgba(15,18,48,.95);display:grid;place-items:center;padding:24px}
.vb video{width:min(1100px,100%);max-height:85vh;border-radius:12px;background:#000;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.vb-close{position:absolute;top:18px;right:18px;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font:500 .9rem var(--f-sans);padding:8px 14px;border-radius:6px;cursor:pointer}
/* apparition douce */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .rv.in{opacity:1;transform:none}
}

/* documents de la galerie */

/* galerie d'études */
.gal{display:grid;gap:18px}
.gal-tabs{display:flex;gap:6px;flex-wrap:wrap}
.gal-tabs button{border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted);font:500 .86rem var(--f-sans);padding:9px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,color .15s}
.gal-tabs button i{width:7px;height:7px;border-radius:2px;flex:none}
.gal-tabs button:hover{color:var(--fg);background:rgba(255,255,255,.07)}
.gal-tabs button[aria-selected="true"]{background:var(--fg);color:#0b0e0d;border-color:var(--fg)}
.gal-tabs button[aria-selected="true"] i{outline:1px solid rgba(0,0,0,.25)}
.gal-view{position:relative;border-radius:18px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));padding:14px;box-shadow:0 40px 120px -40px rgba(0,0,0,.9)}
.gal-pane{display:none}.gal-pane.on{display:block}
.gal-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;padding:12px 6px 2px;font-size:.84rem;color:var(--muted)}
.gal-cap b{color:var(--fg);font-weight:600}
.a0{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 10px 40px -10px rgba(0,0,0,.8)}
.doc{background:#f4f6f5;color:#141a18;border-radius:6px;padding:22px 24px;font-family:var(--f-sans);box-shadow:0 10px 40px -10px rgba(0,0,0,.8);overflow:hidden}
.doc table{color:#141a18}
.doc small{display:block;color:#5b6661;font-size:.76rem;margin-top:3px;line-height:1.35}
.pdf-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:2px solid #141a18;padding-bottom:12px;margin-bottom:10px}
.pdf-head b{font-size:1.05rem;letter-spacing:-.01em}
.pdf-n{font-family:var(--f-mono);font-size:.7rem;color:#1d8a4f;white-space:nowrap;padding:4px 8px;border:1px solid #1d8a4f;border-radius:6px}
.logo-box{width:110px;height:58px;border:1px solid #141a18;background:#fff;display:grid;place-items:center;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;color:#6c7772;flex:none}
.dv-meta{flex:1}.dv-meta b{display:block}
.pv{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pv li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 12px;border:1px solid #c9d1cd;border-radius:8px;background:#fff}
.pv .k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:5px;white-space:nowrap;margin-top:2px}
.pv .k.w{background:#fff1d6;color:#9a6a12}.pv .k.i{background:#dff3ee;color:#11898c}
.pv b{font-size:.86rem;font-weight:600;line-height:1.3;display:block}
.pv em{font-style:normal;display:block;font-family:var(--f-mono);font-size:.66rem;color:#6c7772;margin-top:4px}
.pdf-foot{margin-top:12px;padding-top:10px;border-top:1px solid #c9d1cd;font-family:var(--f-mono);font-size:.66rem;color:#3d4743;line-height:1.5}
.dv-t{width:100%;border-collapse:collapse;font-size:.78rem;font-variant-numeric:tabular-nums}
.dv-t th{font-family:var(--f-mono);font-weight:500;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:#6c7772;text-align:left;padding:6px 8px;border-bottom:1px solid #141a18;background:none;position:static}
.dv-t td{padding:6px 8px;border-bottom:1px dashed #c9d1cd}
.dv-t td.n,.dv-t th.n{text-align:right;font-family:var(--f-mono);white-space:nowrap}
.dv-t .ch td{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.07em;color:#3d4743;background:#e9edeb;border-bottom:1px solid #c9d1cd}
.dv-t .dim td{color:#8c958f;font-style:italic}
.dv-t .blank{color:#9aa5a0;font-style:italic;background:#fbfcfb}
.dv-tot{display:grid;justify-content:end;gap:4px;margin-top:12px;font-size:.84rem}
.dv-tot div{display:flex;justify-content:space-between;gap:30px;min-width:260px}
.dv-tot b{font-family:var(--f-mono);font-weight:600}
.dv-tot .ttc{border-top:1.5px solid #141a18;padding-top:6px;font-size:.95rem}
.dv-nota{margin-top:12px;font-size:.72rem;color:#3d4743;line-height:1.45}
.xls{padding:0;background:#fff}
.xls-bar{display:flex;gap:12px;align-items:center;padding:8px 12px;background:#e9edeb;border-bottom:1px solid #c9d1cd;font-size:.74rem}
.xls-name{font-weight:600}
.xls-cell{font-family:var(--f-mono);padding:2px 8px;border:1px solid #c9d1cd;background:#fff;border-radius:3px}
.xls-fx{font-family:var(--f-mono);color:#1d5f8a;flex:1;padding:2px 8px;border:1px solid #c9d1cd;background:#fff;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xls-t{width:100%;border-collapse:collapse;font-size:.74rem;font-variant-numeric:tabular-nums}
.xls-t th{background:#eef1f0;color:#6c7772;font-family:var(--f-mono);font-weight:500;font-size:.62rem;text-align:center;border:1px solid #d5dbd8;padding:4px 6px;position:static}
.xls-t td{border:1px solid #e3e8e5;padding:4px 7px;white-space:nowrap}
.xls-t td.n{text-align:right;font-family:var(--f-mono)}
.xls-t .hd td{background:#141a18;color:#fff;font-weight:600}
.xls-t td.b{font-weight:600}
.xls-t .dim td{color:#8c958f;font-style:italic;text-align:center}
.xls-t .tot td{background:#fff1d6;font-weight:600}
.xls-tabs{display:flex;gap:2px;padding:6px 10px;background:#e9edeb;border-top:1px solid #c9d1cd;font-size:.7rem;overflow-x:auto}
.xls-tabs span{padding:3px 10px;border:1px solid #c9d1cd;border-bottom:0;background:#f4f6f5;color:#5b6661;white-space:nowrap}
.xls-tabs .on{background:#fff;color:#141a18;font-weight:600}
.gantt{display:grid;gap:6px;font-size:.78rem}
.g-row{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center}
.g-row>span{display:grid;line-height:1.2}
.g-row>span small{margin:0;font-family:var(--f-mono);font-size:.64rem}
.g-weeks{position:relative;display:grid;grid-template-columns:repeat(14,1fr);height:22px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/14 - 1px),#dfe4e1 calc(100%/14 - 1px),#dfe4e1 calc(100%/14));border-radius:4px}
.g-head .g-weeks{height:auto;background:none}
.g-head i{font-style:normal;font-family:var(--f-mono);font-size:.6rem;color:#6c7772;text-align:center}
.g-weeks b{position:absolute;top:3px;bottom:3px;left:calc(var(--s)*100%/14 + 2px);width:calc(var(--w)*100%/14 - 4px);border-radius:4px;opacity:.9}
.gal,.gal-view,.gal-pane,.tw-doc{min-width:0}
.tw-doc{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tw-doc .doc{min-width:660px}
@media (max-width:640px){.g-row{grid-template-columns:100px 1fr}.doc{padding:14px}.pdf-head{flex-direction:column}}

.a0-wrap{position:relative;cursor:zoom-in;border-radius:6px}
.a0-wrap:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.a0-wrap .zoom-hint{position:absolute;right:14px;top:14px;font:500 .7rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:rgba(9,12,11,.85);color:var(--fg);padding:6px 10px;border-radius:6px;border:1px solid var(--line-2);pointer-events:none}
.lb{position:fixed;inset:0;z-index:60;background:rgba(5,7,6,.97);display:grid;grid-template-rows:auto 1fr}
.lb[hidden]{display:none}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.lb-close{border:1px solid var(--line-2);background:rgba(255,255,255,.05);color:var(--fg);font:600 .85rem var(--f-sans);padding:8px 14px;border-radius:999px;cursor:pointer;white-space:nowrap}
.lb-scroll{overflow:auto;padding:18px}
.lb-scroll svg{display:block;width:1800px;max-width:none;height:auto;margin:0 auto;border-radius:6px}
/* confiance */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trust article{border-radius:var(--r);border:1px solid var(--line);background:var(--card);padding:22px;display:grid;gap:10px;align-content:start}
.trust .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--green-a,rgba(79,209,139,.12));border:1px solid rgba(79,209,139,.3);color:var(--green)}
.trust .ic svg{width:18px;height:18px}
.trust h3{font-size:1.02rem}
.trust p{color:var(--muted);font-size:.92rem}
@media (max-width:900px){.trust{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.trust{grid-template-columns:1fr}}
