/* Travaux Antilles v4 — mise en page TrustUp, DA Travaux Antilles (brand/DA.md) : nuit, ambre, lagon, crème ; Bricolage Grotesque 800 + Inter ;
   pilules, rayons 16-28, ombres douces. Animations de la V3 : survol (carte qui monte, photo qui zoome), en-tête qui se replie,
   barre basse qui s'efface, apparition au défilement. Toutes coupées si « réduire les animations ». */
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(/assets/fonts/bricolage-800.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --nuit:#0B2545; --charbon:#111C2E; --encre:#1B2230; --gris:#5B6472; --gris-m:#7A8291; --ligne:#EDE4D6; --bord:#E9DFCF; --sable:#F5F0E8;
  --creme:#FFF6E9; --ambre:#F5A524; --ambre-2:#E0921A; --ambre-c:#FDEBC8; --lagon:#0FA3B1; --lagon-2:#0A7781; --lagon-c:#E3F5F7;
  --ok:#1E9E62; --ok-f:#147A4A; --ok-c:#E8F6EF; --ok-b:#A9DEC3; --alerte:#B42318; --alerte-c:#FDECEA;
  --r-s:16px; --r-m:22px; --r-l:28px;
  --sh-1:0 1px 2px rgba(11,37,69,.04),0 6px 18px rgba(11,37,69,.06); --sh-2:0 2px 6px rgba(11,37,69,.06),0 18px 40px rgba(11,37,69,.12);
  --t:.22s cubic-bezier(.2,.7,.2,1);
  --titre:"Bricolage Grotesque",system-ui,sans-serif; --texte:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --l:1200px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:140px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--texte);font-size:16px;line-height:1.55;color:var(--encre);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ambre);outline-offset:2px;border-radius:8px}
h1,h2,h3{font-family:var(--titre);margin:0;color:var(--nuit)}
h1{font-weight:800;font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;line-height:1.04}
h2{font-weight:800;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.02em;line-height:1.1}
h3{font-weight:600;font-size:20px;line-height:1.2}
p{margin:0}
.c{max-width:var(--l);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mark{box-shadow:inset 0 -.32em 0 var(--ambre);padding:0 .04em}
.hero .mark{box-shadow:inset 0 -.28em 0 rgba(245,165,36,.9)}
.ambre{color:var(--ambre)}
.sec{padding:72px 0}
.sec-s{padding:40px 0}
.sec h2,.sec-s h2{margin-bottom:24px}
.creme{background:var(--creme)}

.car-h h2,.pop h2,.txt h2,.fi-sec>h2,.avis-h h2{font-size:clamp(22px,2vw,26px);font-weight:800;letter-spacing:-.02em}
.tuile h3,.pc h3,.side h3,.prom h3,.etape h3,.boite h3{font-size:20px}
.src,.side small{font-size:13px;color:var(--gris)}

/* Boutons : pilules */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1.5px solid transparent;
  font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--t),border-color var(--t),box-shadow var(--t),transform var(--t),color var(--t)}
.btn-j{background:var(--ambre);color:var(--nuit)}
.btn-j:hover{background:#F7B23F;box-shadow:0 6px 18px rgba(224,146,26,.32)}
.btn-n{background:var(--nuit);color:#fff}
.btn-n:hover{background:var(--charbon);box-shadow:0 6px 18px rgba(11,37,69,.25)}
.btn-b{background:#fff;border-color:var(--bord);color:var(--nuit)}
.btn-b:hover{border-color:var(--nuit)}
.btn-l{width:100%}
.btn-g{min-height:54px;font-size:16px;padding:0 26px}
.btn svg{width:18px;height:18px;flex:none;transition:transform var(--t)}
.btn:hover svg.fl{transform:translateX(3px)}
.lien{font-weight:700;color:var(--lagon-2);text-decoration:underline;text-underline-offset:3px}
.lien:hover{color:var(--nuit)}

/* En-tête : se replie au défilement vers le bas, revient vers le haut */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid rgba(11,37,69,.08);transition:transform var(--t),box-shadow var(--t)}
.hd.ombre{box-shadow:0 6px 20px rgba(11,37,69,.07)}
.hd.replie{transform:translateY(-100%)}
.hd .c{display:flex;align-items:center;gap:16px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--nuit)}
.logo svg{width:40px;height:40px;flex:none}
.logo span{display:grid;line-height:1}
.logo b{font-family:var(--titre);font-weight:800;font-size:24px;letter-spacing:-.04em}
.logo small{font-weight:800;font-size:10.5px;letter-spacing:.34em;color:var(--lagon-2);margin-top:3px}
.hd-q{margin-left:auto;position:relative;width:300px}
.hd-q input{width:100%;height:46px;border:1.5px solid var(--bord);border-radius:999px;padding:0 16px 0 42px;font-size:15px;background:#fff;transition:border-color var(--t)}
.hd-q input:hover{border-color:#D9CCB8}
.hd-q svg{position:absolute;left:15px;top:14px;width:18px;height:18px;color:var(--gris-m)}
.hd-menu{display:inline-flex}
.burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;cursor:pointer;margin-left:-10px;color:var(--nuit)}
.burger svg{width:24px;height:24px}
.nav{position:fixed;inset:0;z-index:60;visibility:hidden;transition:visibility 0s .3s}
.nav.o{visibility:visible;transition:none}
.nav-f{position:absolute;inset:0;background:rgba(11,37,69,.45);opacity:0;transition:opacity var(--t)}
.nav.o .nav-f{opacity:1}
.nav-p{position:absolute;left:0;top:0;bottom:0;width:min(360px,88vw);background:#fff;padding:20px;overflow:auto;transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav.o .nav-p{transform:none}
.nav-p .nav-t{font-size:12.5px;font-family:var(--texte);font-weight:700;color:var(--lagon-2);text-transform:uppercase;letter-spacing:.1em;margin:22px 0 6px}
.nav-p a:not(.logo){display:block;padding:9px 0;text-decoration:none;font-weight:600;color:var(--nuit)}
.nav-x{border:0;background:none;font-size:30px;line-height:1;cursor:pointer;float:right;color:var(--nuit)}

/* Recherche du héros */
.qbox{display:flex;align-items:center;background:#fff;border-radius:999px;padding:6px;gap:4px;max-width:580px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.qbox label{flex:1.3;display:flex;align-items:center;gap:8px;padding:0 14px;min-width:0}
.qbox label+label{border-left:1px solid var(--ligne);flex:1}
.qbox svg{width:18px;height:18px;color:var(--lagon-2);flex:none}
.qbox input{border:0;outline:0;width:100%;height:50px;font-size:15px;background:none;min-width:0}
.qbox .btn{min-height:50px}
.reass{display:flex;flex-wrap:wrap;gap:8px}
.reass span{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#E6ECF4;font-size:13.5px;font-weight:500}
.reass svg{width:15px;height:15px;color:var(--ambre)}

/* Héros d'accueil : carte nuit arrondie, mosaïque qui défile doucement */
.hero{padding:16px 20px 0}
.hero-in{max-width:1400px;margin:0 auto;background:var(--nuit);border-radius:var(--r-l);overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;min-height:560px}
.hero-t{padding:64px 0 88px 8%;display:flex;flex-direction:column;justify-content:center;gap:24px}
.hero-t .ile{align-self:flex-start;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7FD8DF}
.hero-t h1{color:#fff}
.hero-t p{color:#C9D3E0;font-size:18px;max-width:520px}

/* Chiffres : carte blanche qui chevauche le héros */
.kpi{position:relative;margin:-48px auto 0;max-width:1080px;background:#fff;border:1px solid var(--bord);border-radius:var(--r-m);box-shadow:var(--sh-2);display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:26px 12px}
.kpi div+div{border-left:1px solid var(--ligne)}
.kpi b{display:block;font-family:var(--titre);font-weight:800;font-size:38px;letter-spacing:-.02em;color:var(--nuit);font-variant-numeric:tabular-nums}
.kpi span{font-size:14px;font-weight:500;color:var(--gris)}

/* Tuiles métiers (survol : la carte monte, la photo zoome) */
.tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tuile{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--bord);border-radius:var(--r-m);text-decoration:none;background:#fff;box-shadow:var(--sh-1);transition:border-color var(--t),box-shadow var(--t),transform var(--t);min-height:92px}
.tuile:hover{border-color:#DCCDB4;box-shadow:var(--sh-2)}
.ph{overflow:hidden;border-radius:14px;flex:none;display:block}
.ph img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tuile .ph img{width:68px;height:68px;object-fit:cover}
.tuile h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.tuile .m{font-size:13px;color:var(--gris);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tuile-tout{justify-content:space-between;padding:12px 20px;background:var(--creme);border-color:#F3DDB5}
.tuile-tout svg{width:20px;height:20px;color:var(--ambre-2);transition:transform var(--t)}
.tuile-tout:hover svg{transform:translateX(4px)}
@media (prefers-reduced-motion:no-preference){
  .tuile:hover,.pc:hover,.carte-ph:hover,.prom>div:hover,.sim:hover{transform:translateY(-3px)}
  .tuile:hover .ph img,.carte-ph:hover img{transform:scale(1.06)}
}
.sc{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--encre)}
.sc svg{width:13px;height:13px;color:var(--ok)}
.pt{width:3px;height:3px;border-radius:50%;background:var(--gris-m);display:inline-block}

/* Carrousel */
.car-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.car-h h2{margin:0}
.car-b{display:flex;gap:8px}
.car-b button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--bord);background:#fff;cursor:pointer;font-size:18px;color:var(--nuit);transition:border-color var(--t)}
.car-b button:hover{border-color:var(--nuit)}
.car{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px}
.car::-webkit-scrollbar{display:none}
.carte-ph{position:relative;flex:0 0 230px;height:190px;border-radius:var(--r-m);overflow:hidden;scroll-snap-align:start;text-decoration:none;transition:transform var(--t),box-shadow var(--t)}
.carte-ph:hover{box-shadow:var(--sh-2)}
.carte-ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.carte-ph span{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-weight:600;background:linear-gradient(transparent,rgba(11,37,69,.78));line-height:1.2}

/* 3 promesses, étapes */
.prom{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prom>div{border:1px solid var(--bord);border-radius:var(--r-m);padding:30px;background:#fff;box-shadow:var(--sh-1);transition:transform var(--t),box-shadow var(--t)}
.prom>div:hover{box-shadow:var(--sh-2)}
.prom svg{width:60px;height:60px;margin-bottom:18px}
.prom h3{font-size:22px;margin-bottom:10px}
.prom p{color:var(--gris)}
.centre{text-align:center}
.centre .btn{margin-top:36px}
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.etape{background:#fff;border-radius:var(--r-m);padding:28px;border:1px solid #F3DDB5}
.etape b{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ambre);color:var(--nuit);font-family:var(--titre);font-weight:800;font-size:20px;margin-bottom:18px}
.etape h3{margin-bottom:8px}
.etape p{color:var(--gris);font-size:15px}

/* Maillage */
.mail{columns:4;column-gap:24px;font-size:14px}
.mail a{display:block;padding:5px 0;text-decoration:none;color:var(--encre);break-inside:avoid}
.mail a:hover{color:var(--lagon-2);text-decoration:underline}
.mail.ferme a:nth-child(n+25){display:none}
.lien-plus{margin-top:12px;background:none;border:0;font-weight:700;color:var(--lagon-2);text-decoration:underline;cursor:pointer;padding:0}

/* Carte des 3 territoires (points) */
.antilles{background:var(--creme)}
.ant-g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:stretch}
.ant{display:flex;flex-direction:column;background:#fff;border:1px solid #F3DDB5;border-radius:var(--r-m);padding:22px;text-decoration:none;box-shadow:var(--sh-1);transition:transform var(--t),box-shadow var(--t)}
.ant:hover{box-shadow:var(--sh-2)}
.ant-m{height:230px;display:flex;align-items:center;justify-content:center}
.pts{max-width:100%;max-height:230px;width:auto;height:100%;overflow:visible}
.pts g circle{transition:fill .4s}
.ant:hover .pts g{fill:#D6C6AD}
.pts .pin g{transition:transform var(--t)}
.ant-t{margin-top:18px}
.ant-t h3{font-size:24px;font-weight:800}
.ant-t span{display:block;font-weight:600;color:var(--lagon-2);margin-top:4px}
.ant-t small{display:block;color:var(--gris);font-size:13.5px;margin-top:2px}
.ant-f{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--nuit)}
.ant-f svg{width:18px;height:18px;color:var(--ambre-2);transition:transform var(--t)}
.ant:hover .ant-f svg{transform:translateX(4px)}
@media (prefers-reduced-motion:no-preference){.ant:hover{transform:translateY(-3px)}
  .js .ant.vu .pin{animation:tombe .5s cubic-bezier(.2,.7,.2,1) both}
  .js .ant.vu .pin:nth-of-type(2){animation-delay:.1s}.js .ant.vu .pin:nth-of-type(3){animation-delay:.2s}.js .ant.vu .pin:nth-of-type(4){animation-delay:.3s}}
@keyframes tombe{from{opacity:0;transform:translateY(-6%)}to{opacity:1;transform:none}}
/* Recherches populaires */
.pop{margin:56px 0 8px}
.pop h2{margin-bottom:16px}
.pop-l{display:flex;flex-wrap:wrap;gap:10px}
.pop-l a{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--bord);text-decoration:none;font-size:14px;font-weight:600;color:var(--nuit);transition:border-color var(--t)}
.pop-l a:hover{border-color:var(--nuit)}

/* Héros : les 3 territoires en points clairs sur fond nuit */
.hero-v{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding:40px 40px 72px 10px}
.hv{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hv-guyane{grid-row:1/3;grid-column:2}
.hv-pts{width:100%;height:100%;max-height:230px}
.hv-guyane .hv-pts{max-height:400px}
.hv span{margin-top:8px;color:#C9D3E0;font-size:13.5px;text-align:center}
.hv b{display:block;color:#fff;font-family:var(--titre);font-weight:800;font-size:19px}
/* Carrousel de métiers illustrés */
.carte-ic{flex:0 0 200px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;border-radius:var(--r-m);background:#fff;border:1px solid var(--bord);box-shadow:var(--sh-1);text-decoration:none;scroll-snap-align:start;transition:transform var(--t),box-shadow var(--t)}
.carte-ic:hover{box-shadow:var(--sh-2)}
.carte-ic span{font-weight:700;color:var(--nuit);font-size:16px;line-height:1.25}
.carte-ic small{color:var(--gris);font-size:13px;margin-top:-8px}
.carte-ic .pic{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:no-preference){.carte-ic:hover{transform:translateY(-3px)}.carte-ic:hover .pic{transform:scale(1.06) rotate(-2deg)}}
.tuile .ph .pic{display:block}
/* Visuel des pages de liste */
.vl{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:28px}
.vl>.pts{width:100%;height:100%;max-height:none}
.vl-3{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px}
.vl-3 .vt{display:flex;align-items:center;justify-content:center}
.vl-3 .vt-guyane{grid-row:1/3;grid-column:2}
.vl-3 .pts{max-height:100%}
.vl-pic{position:absolute;left:18px;bottom:18px;filter:drop-shadow(0 8px 20px rgba(11,37,69,.12))}
.vl-pic .pic{width:96px;height:96px}
/* Bannière de fiche : territoire en points, repère sur l'entreprise */
.ban-pts{position:absolute;right:4%;top:6%;height:88%;width:auto;max-width:60%}
.fi-ban-t{position:absolute;left:200px;bottom:20px;color:#C9D3E0;font-size:14px;font-weight:600;letter-spacing:.02em}
/* Logos d'entreprises */
.av-logo{background:#fff;border:1px solid var(--bord);overflow:hidden}
.av-logo img{width:100%;height:100%;object-fit:contain;padding:8%}
.fi-id .av-logo{border:5px solid #fff;box-shadow:var(--sh-2)}
/* Étoiles, avis */
.etoiles-a{display:inline-flex;gap:1px;color:var(--bord);letter-spacing:0}
.etoiles-a .on{color:var(--ambre)}
.avis-mini{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600;color:var(--nuit)}
.avis-resume{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.avis-resume b{font-family:var(--titre);font-weight:800;font-size:36px;color:var(--nuit)}
.avis-resume .etoiles-a{font-size:22px}
.avis-resume span:last-child{color:var(--gris)}
.avis-l,.avis-g{display:grid;gap:12px}
.avis{border:1px solid var(--bord);border-radius:var(--r-s);padding:16px 18px;background:#fff}
.avis-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.avis-t b{color:var(--nuit)}
.avis-t small{color:var(--gris)}
.avis p{color:var(--encre);font-size:15px}
.avis>small{display:block;color:var(--gris);font-size:13px;margin-top:8px}
.avis-rep{margin-top:10px;padding:10px 14px;border-left:3px solid var(--lagon);background:var(--lagon-c);border-radius:0 12px 12px 0}
.avis-rep b{font-size:13.5px;color:var(--lagon-2)}
.avis-g{margin-top:18px}
.avis-g-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.avis-g-h b{font-family:var(--titre);font-weight:800;font-size:26px;color:var(--nuit)}
.avis-g-h .lien{margin-left:auto}
.g-logo{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--bord);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#4285F4;font-family:Arial,sans-serif}
.faits{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.faits li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.faits li svg{width:20px;height:20px;color:var(--ok);flex:none;margin-top:2px}
.fi-h3{font-size:18px;margin:26px 0 10px}
/* Bloc pro : aperçu d'une fiche */
.pro-v{background:#fff;border-radius:var(--r-m);padding:24px;color:var(--encre);box-shadow:0 20px 50px rgba(0,0,0,.25);transform:rotate(-1.5deg)}
.pro-f{display:flex;gap:14px;align-items:center}
.pro-f .av{width:60px;height:60px;font-size:22px}
.pro-f b{display:block;font-family:var(--titre);font-size:20px;color:var(--nuit)}
.pro-f small{color:var(--gris)}
.pro-l{display:flex;align-items:center;gap:10px;margin:16px 0;flex-wrap:wrap}
.pro-l .etoiles-a{font-size:18px}
.pro-l small{color:var(--gris)}
.pro-s{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pro-s span{background:var(--sable);border-radius:12px;padding:10px;text-align:center;font-size:12.5px;color:var(--gris)}
.pro-s b{display:block;font-family:var(--titre);font-weight:800;font-size:22px;color:var(--nuit)}
.qr-out{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:8px}
#qr-c{background:#fff;padding:10px;border-radius:14px;border:1px solid var(--bord)}

/* Bloc pro */
.pro{background:var(--nuit);color:#fff;border-radius:var(--r-l);padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.pro h2{color:#fff;margin-bottom:14px}
.pro ul{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:10px}
.pro li{display:flex;gap:10px;align-items:center}
.pro li svg{width:20px;height:20px;color:var(--ambre);flex:none}
.pro img{border-radius:var(--r-m);aspect-ratio:1;object-fit:cover}

/* Pages de liste */
.lh{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center;padding:32px 0 32px}
.lh-img{border-radius:var(--r-l);overflow:hidden;aspect-ratio:1/0.93;background:var(--creme);border:1px solid #F3DDB5}
.lh .note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gris);margin-bottom:14px;flex-wrap:wrap}
.lh h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:12px}
.lh .sous{font-size:18px;font-weight:500;margin-bottom:20px;max-width:560px;color:var(--encre)}
.lh-f{max-width:440px;display:grid;gap:10px}
.lh-f textarea,.side textarea{width:100%;min-height:80px;border:1.5px solid var(--bord);border-radius:var(--r-s);padding:12px 14px;resize:vertical;font-size:15px;transition:border-color var(--t);background:#fff}
.chips-t{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 16px;border-radius:999px;border:1.5px solid var(--bord);background:#fff;text-decoration:none;font-size:14px;font-weight:600;color:var(--nuit);transition:border-color var(--t),background var(--t)}
.chip:hover{border-color:var(--nuit)}
.chip.on{background:var(--nuit);border-color:var(--nuit);color:#fff}
.grille{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.lst{display:grid;gap:16px}
.pc{border:1px solid var(--bord);border-radius:var(--r-m);padding:20px;background:#fff;box-shadow:var(--sh-1);transition:transform var(--t),box-shadow var(--t),border-color var(--t)}
.pc:hover{box-shadow:var(--sh-2);border-color:#DCCDB4}
.pc-h{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:start}
.pc-h>a{text-decoration:none}
.av{width:76px;height:76px;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;font-family:var(--titre);font-weight:800;font-size:26px;color:#fff;flex:none;position:relative;letter-spacing:-.02em}
.av:not(.av-logo)::after{content:"";position:absolute;left:30%;right:30%;bottom:20%;height:max(3px,.11em);border-radius:2px;background:var(--ambre)}
.pc h3{font-size:21px;font-weight:600;margin-bottom:4px}
.pc h3 a{text-decoration:none}
.pc h3 a:hover{color:var(--lagon-2)}
.lieu{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--gris);flex-wrap:wrap}
.lieu svg{width:14px;height:14px;color:var(--lagon-2)}
.pc-a{display:grid;gap:8px;width:214px}
.pc-a .btn{min-height:38px;font-size:14px}
.badge{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--ok-c);color:var(--ok-f);font-weight:700;font-size:13.5px;white-space:nowrap}
.badge svg{width:16px;height:16px;color:var(--ok)}
.badge.moy{background:var(--sable);color:var(--gris)}
.badge.moy svg{color:var(--gris-m)}
.badge.alerte{background:var(--alerte-c);color:var(--alerte)}
.badge.alerte svg{color:var(--alerte)}
.pc p{margin-top:14px;font-size:14.5px;color:var(--gris);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-t{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--sable);color:var(--encre)}
.tag svg{width:13px;height:13px}
.tag-v{background:var(--ok-c);color:var(--ok-f)}
.tag-l{background:var(--lagon-c);color:var(--lagon-2)}
.tag-a{background:var(--ambre-c);color:#8F5B00}
.tel-ok{font-weight:800;font-variant-numeric:tabular-nums}
.plus{text-align:center;margin-top:8px}
.vide{padding:28px;border:1.5px dashed var(--bord);border-radius:var(--r-m);color:var(--gris)}
.side{position:sticky;top:96px;display:grid;gap:12px;background:var(--creme);border:1px solid #F3DDB5;border-radius:var(--r-m);padding:22px;transition:top var(--t)}
.hd.replie~main .side{top:20px}
.pastille{display:inline-flex;align-items:center;gap:6px;background:var(--lagon-c);color:var(--lagon-2);font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:999px;justify-self:start}
.side h3{font-size:21px;font-weight:600}
.side small{color:var(--gris);font-size:12.5px}

/* Texte bas de page */
.txt{max-width:820px}
.txt h2{margin:48px 0 14px}
.txt h3{font-size:21px;margin:30px 0 10px}
.txt p,.txt li{color:var(--encre);font-size:16px;line-height:1.7}
.txt p+p{margin-top:12px}
.txt ul{padding-left:20px}
.prix{width:100%;border-collapse:collapse;margin:16px 0 8px;font-size:15px}
.prix td{padding:12px 0;border-bottom:1px solid var(--ligne)}
.prix td:last-child{text-align:right;font-weight:700;white-space:nowrap;padding-left:16px;color:var(--nuit);font-variant-numeric:tabular-nums}
.src{font-size:12.5px;color:var(--gris-m)}
.src a{color:inherit}
details.faq{border-bottom:1px solid var(--ligne)}
details.faq summary{cursor:pointer;padding:18px 0;font-weight:600;color:var(--nuit);list-style:none;display:flex;justify-content:space-between;gap:16px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--ambre-2);transition:transform var(--t)}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq p{padding:0 0 18px;color:var(--gris)}

/* Fiche entreprise */
.fi-ban{position:relative;height:250px;border-radius:var(--r-l);overflow:hidden;margin-top:16px;background:var(--nuit)}
.fi-top{position:relative;margin-top:-56px;padding:0 24px}
.fi-id{display:flex;gap:22px;align-items:flex-end}
.fi-id .av{width:150px;height:150px;border-radius:var(--r-m);border:5px solid #fff;font-size:52px;box-shadow:var(--sh-2)}
.fi-id h1{font-size:clamp(28px,3.4vw,42px);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fi-id h1 svg{width:28px;height:28px;color:var(--ok);flex:none}
.fi-m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--gris);margin-top:8px;padding-bottom:8px}
.fi-actions{display:flex;gap:8px;margin-left:auto;padding-bottom:10px}
.ico{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--bord);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--nuit);cursor:pointer;transition:border-color var(--t);text-decoration:none}
.ico:hover{border-color:var(--nuit)}
.ico svg{width:18px;height:18px}
.onglets{position:sticky;top:72px;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ligne);margin-top:28px;transition:top var(--t)}
.hd.replie~main .onglets{top:0}
.onglets .c{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.onglets .c::-webkit-scrollbar{display:none}
.onglets a{flex:none;padding:14px 14px;font-size:14.5px;font-weight:600;color:var(--gris);text-decoration:none;border-bottom:3px solid transparent;transition:color var(--t),border-color var(--t)}
.onglets a:hover{color:var(--nuit)}
.onglets a.on{color:var(--nuit);border-color:var(--ambre)}
.fi-g{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start;margin-top:32px}
.fi-sec{padding-top:8px;margin-bottom:52px}
.fi-sec>h2{margin-bottom:6px}
.fi-sec>.sous{color:var(--gris);font-size:14.5px;margin-bottom:18px}
.fi-desc{font-size:16px;line-height:1.7;color:var(--encre)}
.fi-desc b{color:var(--nuit)}
.fi-desc p+p{margin-top:12px}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chiffre{border:1px solid var(--bord);border-radius:var(--r-s);padding:16px 18px;background:#fff}
.chiffre span{display:block;font-size:13px;color:var(--gris);font-weight:500}
.chiffre b{display:block;font-family:var(--titre);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--nuit);margin-top:4px;font-variant-numeric:tabular-nums}
.chiffre b.pos{color:var(--ok-f)}
.chiffre b.neg{color:var(--alerte)}
.chiffre small{display:block;font-size:12px;color:var(--gris-m);margin-top:2px}
.verifs{border:1px solid var(--bord);border-radius:var(--r-m);overflow:hidden;background:#fff}
.verif{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;padding:16px 18px}
.verif+.verif{border-top:1px solid var(--ligne)}
.verif .st{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ok-c);color:var(--ok)}
.verif .st svg{width:17px;height:17px}
.verif.non .st{background:var(--sable);color:var(--gris-m)}
.verif.alerte .st{background:var(--alerte-c);color:var(--alerte)}
.verif b{display:block;color:var(--nuit);font-weight:600}
.verif p{font-size:14px;color:var(--gris);margin-top:2px}
.verif .src{white-space:nowrap;text-align:right;padding-top:3px}
.rge{display:grid;gap:8px;margin-top:10px}
.rge div{font-size:13.5px;background:var(--ok-c);border-radius:12px;padding:8px 12px;color:var(--ok-f)}
.personnes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}
.personne{display:flex;gap:12px;align-items:center;border:1px solid var(--bord);border-radius:var(--r-s);padding:14px}
.personne i{width:44px;height:44px;border-radius:50%;background:var(--lagon-c);color:var(--lagon-2);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;flex:none}
.personne b{display:block;color:var(--nuit)}
.personne span{font-size:13.5px;color:var(--gris)}
.frise{list-style:none;padding:0;margin:0;position:relative}
.frise::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--ligne)}
.frise li{position:relative;padding:0 0 18px 34px}
.frise li::before{content:"";position:absolute;left:3px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--lagon);box-sizing:border-box}
.frise li.cle::before{border-color:var(--ambre)}
.frise li.alerte::before{border-color:var(--alerte)}
.frise time{font-size:13px;font-weight:700;color:var(--lagon-2)}
.frise p{font-size:14.5px;color:var(--encre)}
.horaires{width:100%;border-collapse:collapse;font-size:14.5px}
.horaires td{padding:8px 0;border-bottom:1px solid var(--ligne)}
.horaires td:first-child{text-transform:capitalize}
.horaires td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.horaires tr.auj td{font-weight:700;color:var(--nuit)}
.ouvert{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px}
.ouvert::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ouvert.oui{color:var(--ok)}
.ouvert.non{color:var(--alerte)}
.acces{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.carte{position:relative;z-index:0;isolation:isolate;height:100%;min-height:280px;border-radius:var(--r-m);overflow:hidden;border:1px solid var(--bord);background:var(--sable)}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.checklist li svg{width:20px;height:20px;color:var(--ambre-2);flex:none;margin-top:2px}
.encart{border-radius:var(--r-m);padding:22px;background:var(--creme);border:1px solid #F3DDB5}
.encart h3{margin-bottom:12px}
.sims{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sim{display:flex;flex-direction:column;gap:8px;border:1px solid var(--bord);border-radius:var(--r-m);padding:16px;text-decoration:none;background:#fff;box-shadow:var(--sh-1);transition:transform var(--t),box-shadow var(--t)}
.sim:hover{box-shadow:var(--sh-2)}
.sim .av{width:48px;height:48px;font-size:18px;border-radius:12px}
.sim .badge{align-self:flex-start;justify-self:start}
.sim b{color:var(--nuit);font-weight:600}
.sim span{font-size:13px;color:var(--gris)}
.fi-cta{display:flex;align-items:center;gap:18px;background:var(--nuit);border-radius:var(--r-m);padding:20px 24px;color:#fff;margin-bottom:52px}
.fi-cta .av{width:60px;height:60px;font-size:22px;border-radius:14px;border:3px solid rgba(255,255,255,.15)}
.fi-cta p{flex:1;font-weight:600;font-size:17px}
.avis-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.avis-h h2{margin:0}
.avis-vide{display:flex;gap:16px;align-items:center;border:1.5px dashed var(--bord);border-radius:var(--r-m);padding:20px}
.avis-vide .eg{color:var(--bord);font-size:26px;letter-spacing:2px;flex:none}
.ident{width:100%;border-collapse:collapse;font-size:14.5px}
.ident th{text-align:left;font-weight:500;color:var(--gris);padding:10px 16px 10px 0;width:38%;vertical-align:top}
.ident td{padding:10px 0;color:var(--encre)}
.ident tr+tr th,.ident tr+tr td{border-top:1px solid var(--ligne)}
.fi-side{position:sticky;top:140px;display:grid;gap:14px;transition:top var(--t)}
.hd.replie~main .fi-side{top:68px}
.fi-side .meta{display:grid;gap:6px;font-size:13px;color:var(--gris);padding:0 4px}
.fi-side .meta span{display:flex;align-items:center;gap:6px}
.fi-side .meta svg{width:14px;height:14px;color:var(--lagon-2)}
.boite{border:1px solid var(--bord);border-radius:var(--r-m);padding:20px;box-shadow:var(--sh-1);background:#fff}
.boite h3{font-size:19px;margin-bottom:14px}
.serv{display:grid;gap:8px}
.serv a{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--bord);border-radius:14px;text-decoration:none;font-weight:600;font-size:15px;color:var(--nuit);transition:border-color var(--t)}
.serv a:hover{border-color:var(--nuit)}
.serv .ph img{width:36px;height:36px;object-fit:cover}
.serv .ph{border-radius:10px}
.serv a::after{content:"›";margin-left:auto;font-size:22px;line-height:1;color:var(--ambre-2)}
.score{border:1px solid var(--ok-b);background:var(--ok-c);border-radius:var(--r-m);padding:20px}
.score.alerte{background:#FFF6F4;border-color:#F3C4BC}
.score.alerte .jauge{background:#F6D5CF}
.score.alerte .jauge i{background:var(--alerte)}
.score.moy{background:var(--sable);border-color:var(--bord)}
.score.moy .jauge{background:var(--ligne)}
.score.moy .jauge i{background:var(--gris-m)}
.score-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.score-h h3{font-size:18px;margin:0}
.score-h .badge{background:#C9EEDA}
.jauge{height:8px;border-radius:8px;background:#CBEBDB;overflow:hidden;margin:12px 0 14px}
.jauge i{display:block;height:100%;background:var(--ok);border-radius:8px;transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .jauge i{transform:scaleX(0)}
.js .jauge.vu i{transform:scaleX(1)}
.score ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:14px}
.score li{display:flex;gap:8px;align-items:flex-start}
.score li svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--ok-f)}
.score li.non{color:var(--gris)}
.score li.non svg{color:var(--gris-m)}
.score li.alerte{color:var(--alerte)}
.score li.alerte svg{color:var(--alerte)}
.score a{display:inline-block;margin-top:12px;font-size:13px;color:var(--ok-f);font-weight:600}
.bandeau{margin-top:12px;padding:16px 18px;border-radius:var(--r-s);background:var(--sable);font-size:13px;color:var(--gris);line-height:1.6}
.bandeau a{font-weight:700;color:var(--nuit)}
.ariane{font-size:13.5px;padding:28px 0;color:var(--gris);overflow-wrap:anywhere;line-height:1.8}
.ariane a{color:var(--gris)}
.ariane a:hover{color:var(--nuit)}
.ariane span{margin:0 6px;color:var(--gris-m)}

/* Formulaires */
.form{max-width:640px;margin:0 auto}
.form h1{font-size:clamp(30px,4vw,44px);margin-bottom:10px}
.form .sous{color:var(--gris);margin-bottom:28px}
.champ{display:grid;gap:6px;margin-bottom:18px;border:0;padding:0}
.champ label,.champ legend{font-weight:600;font-size:15px;color:var(--nuit)}
.champ input,.champ select,.champ textarea{width:100%;min-height:52px;border:1.5px solid var(--bord);border-radius:var(--r-s);padding:12px 16px;font-size:16px;background:#fff;transition:border-color var(--t),box-shadow var(--t)}
.champ textarea{min-height:120px;resize:vertical}
.champ input:hover,.champ select:hover,.champ textarea:hover{border-color:#D9CCB8}
.champ input:focus,.champ select:focus,.champ textarea:focus,.qbox input:focus,.hd-q input:focus,.lh-f textarea:focus,.side textarea:focus{outline:0;border-color:var(--nuit);box-shadow:0 0 0 3px rgba(245,165,36,.45)}
.qbox input:focus{box-shadow:none}
.aide{font-size:13px;color:var(--gris-m);font-weight:400}
.accord{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--encre);margin:8px 0 22px}
.accord input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--nuit)}
.pas{display:flex;gap:6px;margin-bottom:24px}
.pas i{flex:1;height:6px;border-radius:6px;background:var(--ligne);position:relative;overflow:hidden}
.pas i::after{content:"";position:absolute;inset:0;background:var(--ambre);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.pas i.on::after{transform:none}
[data-etape]:not([hidden]){animation:entre .32s cubic-bezier(.2,.7,.2,1) both}
@keyframes entre{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.dest{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid #F3DDB5;border-radius:var(--r-s);margin-bottom:22px;background:var(--creme)}
.dest .av{width:48px;height:48px;font-size:18px;border-radius:12px}
.err{color:var(--alerte);font-size:14px;margin-top:8px;min-height:20px}
.ok-box{text-align:center;padding:40px 20px;animation:entre .4s cubic-bezier(.2,.7,.2,1) both}
.ok-box>svg{width:76px;height:76px;color:#fff;background:var(--ok);border-radius:50%;padding:16px;margin:0 auto 18px}
.etoiles{display:flex;gap:6px}
.etoiles label{cursor:pointer;font-size:36px;color:var(--bord);line-height:1;transition:color var(--t),transform var(--t)}
.etoiles label:hover{transform:scale(1.12)}
.etoiles input{position:absolute;opacity:0}
.etoiles label.on{color:var(--ambre)}

/* Apparition au défilement */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
  .js .rv.vu{opacity:1;transform:none}
}

/* Pied */
.ft{background:#071A33;color:#C9D3E0;margin-top:72px;padding:60px 0 32px}
.ft .logo{color:#fff}
.ft .logo small{color:#7FD8DF}
.ft-g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.ft p{font-size:14px;margin-top:14px;max-width:300px;color:#A9B6C8}
.ft .ft-t{font-family:var(--titre);font-weight:600;font-size:17px;margin:0 0 12px;color:#fff}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:14px}
.ft ul a{text-decoration:none;color:#C9D3E0;transition:color var(--t)}
.ft ul a:hover{color:var(--ambre)}
.ft-b{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#8A99AE;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.barre{display:none}

/* Tablette */
@media (max-width:1000px){
  .barre{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ligne);box-shadow:0 -6px 20px rgba(11,37,69,.08);transition:transform var(--t)}
  .barre.off{transform:translateY(110%)}
  .barre .btn{flex:1}
  body:has(.barre){padding-bottom:76px}
  .hd .hd-pro{display:none}
  .fi-side{order:-1}
  .fi-side>.btn,.fi-side>.meta,.fi-side>.boite{display:none}
  .hero-in{grid-template-columns:1fr;min-height:0}
    .hero-t{padding:44px 24px 80px}
  .tuiles{grid-template-columns:1fr 1fr}
  .grille,.fi-g{grid-template-columns:1fr}
  .side,.fi-side{position:static}
  .lh{grid-template-columns:1fr;gap:24px;padding-top:20px}
  .lh-img{display:none}
  .pro{grid-template-columns:1fr;padding:36px 24px}
  .pro-v{display:none}
  .hero-v{display:none}
  .ft-g{grid-template-columns:1fr 1fr}
  .mail{columns:2}
  .sims{grid-template-columns:1fr 1fr}
  .ant-g{grid-template-columns:1fr 1fr 1fr;gap:12px}
  .ant{padding:14px}
  .ant-m{height:160px}
  .pts{max-height:160px}
}
/* Mobile */
@media (max-width:720px){
  .c{padding:0 16px}
  .hd .c{height:62px;gap:8px}
  .hd-q,.hd .hd-pro{display:none}
  .hd-menu{margin-left:auto;min-height:44px;padding:0 16px}
  .pc-a .btn,.chip,.pop-l a,.lien-plus{min-height:44px}
  .onglets::after{content:"";position:absolute;right:0;top:0;bottom:1px;width:40px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff);pointer-events:none}
  .logo svg{width:32px;height:32px}
  .logo b{font-size:20px}
  .logo small{font-size:9px}
  .hero{padding:8px 8px 0}
  .hero-in{border-radius:22px}
  .hero-t{padding:32px 18px 76px;gap:20px}
  .qbox{flex-direction:column;align-items:stretch;border-radius:20px;padding:8px}
  .qbox label{padding:0 10px}
  .qbox label+label{border-left:0;border-top:1px solid var(--ligne)}
  .kpi{grid-template-columns:1fr 1fr;row-gap:20px;margin:-52px 16px 0;padding:20px 8px}
  .kpi div:nth-child(3){border-left:0}
  .kpi b{font-size:28px}
  .sec{padding:48px 0}
  .tuiles,.fi-g .tuiles{grid-template-columns:1fr}
  .presta{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 6px}
  .presta .tuile{flex:0 0 250px;scroll-snap-align:start}
  .presta .tuile h3{font-size:17px}
  .prom,.etapes{grid-template-columns:1fr}
  .mail{columns:1}
  .pc-h{grid-template-columns:56px 1fr}
  .av{width:56px;height:56px;font-size:20px;border-radius:14px}
  .pc-a{grid-column:1/-1;width:auto;grid-template-columns:1fr 1fr}
  .pc-a .badge{grid-column:1/-1;justify-self:start;order:-1}
  .fi-ban{height:170px;border-radius:0;margin:0 -16px}
  .fi-ban-t{display:block}
  .vl-pic .pic{width:72px;height:72px}
  .fi-top{margin-top:-44px;padding:0}
  .fi-id{flex-wrap:wrap;gap:12px}
  .fi-id .av{width:96px;height:96px;font-size:34px;border-width:4px}
  .fi-actions{position:absolute;right:0;top:52px;padding:0}
  .onglets{top:62px}
  .chiffres{grid-template-columns:1fr 1fr}
  .chiffre b{font-size:22px}
  .verif{grid-template-columns:30px 1fr;padding:14px}
  .verif .src{grid-column:2;text-align:left;white-space:normal}
  .personnes,.acces,.sims{grid-template-columns:1fr}
  .fi-cta{flex-wrap:wrap}
  .ft-g{grid-template-columns:1fr}
  .car-h h2{font-size:24px}
  .ant-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 8px}
  .ant{flex:0 0 78%;scroll-snap-align:start}
  .pop-l a{font-size:13.5px;padding:6px 13px}
}
@media (max-width:379px){.hd-menu{padding:0 12px;font-size:14px}.logo b{font-size:18px}}
@media (min-width:1001px) and (max-height:860px){.fi-side .boite{display:none}.fi-side{top:120px}}


/* ===== Photos (version calquée sur TrustUp) ===== */
.hero{margin-top:16px;padding:0;background:var(--nuit);border-radius:var(--r-l);overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;height:600px}
.hero-t{padding:0 32px 0 64px;gap:28px}
.hero-t h1{font-size:clamp(34px,4vw,54px);max-width:560px}
.hero-ph{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-right:48px;overflow:hidden}
.hp-col{overflow:hidden}
.hp-in{display:flex;flex-direction:column;animation:defile 60s linear infinite}
.hp-2 .hp-in{animation-duration:72s;animation-direction:reverse}
.hp-in img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:18px;margin-bottom:16px}
@keyframes defile{to{transform:translateY(-50%)}}
@keyframes defileX{to{transform:translateX(-50%)}}
.kpi{margin:36px auto 0;box-shadow:none;border:0;background:none}
.kpi div+div{border-left:0}
.tuile .ph img{width:72px;height:72px}
.tuile .sc{display:inline-flex;align-items:center;font-weight:600;color:var(--nuit)}
.tuile .sc::before{content:"★";color:var(--ambre);margin-right:4px}
.carte-ph{flex:0 0 220px;height:180px}
.etp{position:relative;overflow:hidden}
.etp h2{text-align:center}
.etp .etapes{max-width:1080px;margin:0 auto}
.etape{text-align:center}
.etape b{margin:0 auto 18px}
.pro{padding:0;grid-template-columns:1.05fr .95fr;gap:0;overflow:hidden;align-items:stretch}
.pro>div:first-child{padding:56px}
.pro-ph{position:relative;min-height:380px}
.pro .pro-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
.pro li{display:list-item;margin-left:18px}
.lh-img{border:0;background:var(--sable)}
.lh-img img{width:100%;height:100%;object-fit:cover}
.fi-ban{height:300px}
.fi-ban img{width:100%;height:100%;object-fit:cover}
.fi-ban-t{left:auto;right:14px;bottom:12px;color:#fff;font-size:11.5px;font-weight:500;opacity:.85;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.fi-top{margin-top:-64px}
.faits li,.checklist li{display:list-item;margin-left:20px;padding-left:2px}
.faits li::marker,.checklist li::marker{color:var(--ambre-2)}
.faits,.checklist{list-style:disc}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gal figure{margin:0;position:relative;border-radius:var(--r-s);overflow:hidden;aspect-ratio:4/3;background:var(--sable)}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 8px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.gal figcaption a{color:#fff}
.gal .src{grid-column:1/-1}
.gal-ex{position:relative;display:flex;gap:10px;margin-bottom:14px}
.gal-ex img{flex:1;min-width:0}.gal-ex img:first-child{flex:2}
.gal-ex img{width:100%;height:170px;object-fit:cover;border-radius:var(--r-s)}
.gal-ex span{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92);color:var(--nuit);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.gal-vide p{font-size:15px;color:var(--gris)}
.gal-vide b{color:var(--nuit)}
@media (max-width:1000px){
  .hero{grid-template-columns:1fr;height:auto}
  .hero-t{padding:40px 24px 28px}
  .hero-ph{display:block;padding:0 0 24px}
  .hp-2{display:none}
  .hp-in{flex-direction:row;width:max-content;animation-name:defileX}
  .hp-in img{width:200px;aspect-ratio:4/3;margin:0 12px 0 0}
  .lh-img{display:block;aspect-ratio:16/8}
  .pro>div:first-child{padding:36px 24px}
  .pro-ph{min-height:240px}
}
@media (max-width:720px){
  .hero{margin:12px 0 0;border-radius:22px}
  .kpi{margin:24px 0 0}
  .fi-ban{height:190px}
  .fi-top{margin-top:-48px}
  .gal-ex img:nth-child(3){display:none}
  .gal-ex img{height:120px}
  .tuile .ph img{width:60px;height:60px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.fi-g>*,.grille>*{min-width:0}
.fi-h1s{display:block;flex-basis:100%;font:500 16px/1.3 var(--texte);color:var(--gris);letter-spacing:0;margin-top:2px}
.fi-zone{font-size:15px;color:var(--encre);margin-top:4px}
/* ===== Corrections UX / UI / CRO (audit du 12/10) ===== */
.c.sec{padding-left:20px;padding-right:20px}
.p-devis .hd-q,.p-devis .hd-pro,.p-devis .hd-menu{display:none}
.pro ul{list-style:disc;padding-left:20px}
.pro li{margin-left:0;padding-left:2px}
.pro li::marker{color:var(--ambre)}
.hp-in img{height:auto}
.accueil .sec h2,.accueil .sec-s h2,.accueil .pop h2,.accueil .txt h2{text-align:center}
.accueil .car-h{justify-content:center;position:relative}
.accueil .car-b{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.accueil .pop-l{justify-content:center}
.accueil .ant{align-items:center;text-align:center}
.accueil .lien-plus{display:block;margin:16px auto 0}
.etp .etapes{max-width:none}
.prom>div{text-align:center}
.src,.txt .src{font-size:13px;color:var(--gris)}
.tag{font-size:13px}
.pc-a .btn,.chip,.pop-l a,.lien-plus{min-height:44px}
.ident button.lien{min-height:44px}
@media (min-width:721px){
  .fi-id{align-items:flex-start}
  .fi-id>div:nth-child(2),.fi-actions{padding-top:80px}
  .pc-h{grid-template-columns:76px 1fr}
  .pc-h>a{grid-row:1/3}
  .pc-a{grid-column:2;width:auto;display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
  .pc-a .badge{margin-right:auto}
  .pc-a .btn{min-height:44px;min-width:150px}
}
@media (min-width:721px) and (max-width:1000px){
  .tuiles>.tuile-tout:last-child:nth-child(odd){grid-column:1/-1;justify-content:center;gap:12px}
}
@media (max-width:1000px){
  .prom{grid-template-columns:1fr;gap:14px}.prom>div{padding:24px}
  body:has(.barre:not(.off)) .hd-menu{display:none}
}
@media (max-width:720px){
  .c.sec{padding-left:16px;padding-right:16px}
  .pro{grid-template-columns:1fr}.pro-ph{order:-1;min-height:200px}
  .presta,.ant-g{scroll-padding-inline:16px}
  .car-b{display:none}
  .pop-l,.accueil .pop-l{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 6px;scroll-padding-inline:16px}
  .pop-l::-webkit-scrollbar{display:none}
  .pop-l a{flex:none}
  .mail.ferme a:nth-child(n+11){display:none}
  .lh .note{flex-wrap:nowrap;gap:10px}
  .lh .note .sc{flex:none;background:var(--ok-c);color:var(--ok-f);padding:4px 10px;border-radius:999px;font-size:14px}
  .pc{padding:16px}
  .pc>p{display:none}
  .pc-t .tag:nth-child(n+3){display:none}
  .fi-cta .btn{flex:1 1 100%}
  .avis-vide{flex-direction:column;text-align:center;gap:8px}
  .prix,.prix tbody{display:block}.prix tr{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--ligne)}.prix td{display:block;padding:0;border:0}.prix td:last-child{order:-1;text-align:left;white-space:normal;width:auto;padding:0 0 2px;font-family:var(--titre);font-size:19px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.fi-sec .presta .tuile{flex-direction:column;align-items:stretch;gap:12px;padding:10px 10px 16px}
.fi-sec .presta .ph{border-radius:12px}
.fi-sec .presta .ph img{width:100%;height:130px}
.fi-sec .presta h3{font-size:17px;line-height:1.25;padding:0 6px}
.fi-sec .presta .m{padding:0 6px}
/* ===== Fiches retravaillées (4 agents, 12/10) ===== */
.verif.neutre .st{background:var(--sable);color:var(--gris-m)}
.score li.neutre{color:var(--gris)}
.score li.neutre svg{color:var(--gris-m)}
.score-c{font-size:14px;color:var(--encre);margin:12px 0 0;padding-top:12px;border-top:1px solid var(--ok-b)}
.score-n{font-size:13px;color:var(--gris);margin:8px 0 6px}
.score.moy .score-h .badge,.score.alerte .score-h .badge{background:#fff}
.fi-alerte{font-size:14px;color:var(--alerte);background:var(--alerte-c);border-radius:12px;padding:10px 14px;margin-top:12px;max-width:640px}
.fi-besoin{display:none}
.fi-zone{margin-top:12px}
.reflexes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.reflexes>div{border:1px solid var(--bord);border-radius:var(--r-m);padding:20px;background:#fff}
.reflexes h3{font-size:18px;margin-bottom:10px}
.reflexes ul{margin:0;padding-left:20px;display:grid;gap:8px;font-size:15px}
.reflexes li::marker{color:var(--ambre-2)}
.fi-cta p small{display:block;font-weight:400;font-size:14px;color:#C9D3E0;margin-top:2px}
.sim .av{color:#fff}
.ident button.lien{border:0;background:none;padding:0;cursor:pointer;font:inherit}
/* débordement horizontal : liens longs dans le bloc Accès */
.acces>*{min-width:0}
.ident{table-layout:fixed;width:100%}
.ident td{overflow-wrap:anywhere}
.ident a.lien{display:inline-block;padding:10px 0}
.score>a,.fi-sec>.sous a.lien{display:inline-flex;align-items:center;min-height:44px}
/* formulaire devis */
.champ.plie{display:none}
.recap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--bord);border-radius:var(--r-s);margin-bottom:18px;color:var(--nuit)}
.recap .lien-plus{margin:0;min-height:44px}
.p-devis .burger{display:none}
.p-devis .ft-g>div:not(:last-child){display:none}
.p-devis .ft{margin-top:32px;padding:28px 0 20px}
/* liste : rappel de devis après la 5e entreprise */
.lst-cta{display:grid;gap:12px;padding:18px;border-radius:var(--r-m);background:var(--creme);border:1px solid #F3DDB5;margin:4px 0 14px}
.lst-cta p{margin:0;color:var(--encre)}
@media (min-width:721px) and (max-width:1000px){
  .fi-sec .presta{grid-template-columns:repeat(3,1fr)}
  .fi-side .score ul{grid-template-columns:1fr 1fr;column-gap:20px}
  .lh{grid-template-columns:240px 1fr;gap:28px;align-items:center}
  .lh-img{aspect-ratio:1/1}
  .fi-ban{height:200px}
}
@media (min-width:1001px) and (max-height:860px){.fi-ban{height:200px}}
@media (max-width:1000px){
  .fi-besoin{display:block;margin-top:18px}
  .fi-besoin p{font-weight:700;color:var(--nuit);margin-bottom:8px}
  .fi-besoin .chips-t{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;scroll-padding-inline:16px}
  .fi-besoin .chips-t::-webkit-scrollbar{display:none}
  .fi-besoin .chip{flex:none}
  .onglets{margin-top:16px}
  .fi-g .fi-sec:has(.presta){display:none}
  .js .rv{opacity:1;transform:none;transition:none}
  .chiffre span,.sim span,.score a,.lh .note,.verif p{font-size:14px}
  .chiffre small{font-size:13px}
}
@media (max-width:720px){
  .fi-ban{height:120px}
  .fi-top{margin-top:-40px}
  .score ul{display:none}
  .score-c{border-top:0;padding-top:0}
  .reflexes{grid-template-columns:1fr}
  .chiffre:nth-child(n+5){display:none}
  .frise li:nth-child(n+4){display:none}
  .acces .carte{display:none}
  .sims{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -16px;padding:0 16px 6px;scroll-padding-inline:16px}
  .sims::-webkit-scrollbar{display:none}
  .sim{flex:0 0 220px;scroll-snap-align:start}
  .avis-vide{padding:14px}
  .champ textarea{min-height:96px}
  .lh-img{aspect-ratio:16/7}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.side-p{font-size:15px;color:var(--encre);margin:-4px 0 4px}
.lst-src{margin:-6px 0 16px;max-width:760px}

/* Tous les métiers : 2 colonnes compactes sur téléphone */
@media (max-width:640px){
  .tuiles.tuiles-tous{grid-template-columns:1fr 1fr;gap:10px}
  .tuiles-tous .tuile{flex-direction:column;align-items:flex-start;gap:10px;padding:10px;min-height:0}
  .tuiles-tous .tuile .ph img{width:100%;height:84px;border-radius:12px}
  .tuiles-tous .tuile .ph{width:100%}
  .tuiles-tous .tuile h3{font-size:15.5px;line-height:1.2;hyphens:auto}
  .tuiles-tous .tuile .m{font-size:12px;margin-top:3px;flex-direction:column;align-items:flex-start;gap:1px}
  .tuiles-tous .tuile .m .pt{display:none}
}

/* pages prix, guides, aides (13/10/2026) */
.art-h .rep{font-size:17px;line-height:1.6;color:var(--encre);background:var(--creme);border-left:4px solid var(--lagon-2);border-radius:var(--r-s);padding:14px 16px;margin:0 0 20px;max-width:620px}
.art-g{margin-top:16px}
.art-g .txt h2:first-child{margin-top:8px}
.art-g .txt table:not(.prix){width:100%;border-collapse:collapse;font-size:15px;margin:14px 0}
.art-g .txt table:not(.prix) td,.art-g .txt table:not(.prix) th{padding:10px 8px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.art-g .lst{display:grid;gap:14px;margin-top:14px}
.sources{padding-left:20px;font-size:14px}
.sources li{font-size:14px!important;line-height:1.5!important;margin:6px 0}
.txt a{color:var(--lagon-2)}
@media(max-width:900px){.art-g{grid-template-columns:1fr}}

/* Revue CRO finale 13/10 */
.hero-alt{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 0}
.hero-alt span{color:#C9D3E0;font-size:15px}
.qbox .btn{background:var(--nuit);color:#fff}
.qbox{max-width:600px}.qbox .btn{padding:0 20px}
.fi-b{font-weight:700;color:var(--nuit);margin:18px 0 8px}
.chips-p{margin-bottom:0}
.lh-f{max-width:560px}
.p-devis .ft-g{display:none}.p-devis .ft{margin-top:32px;padding:20px 0}
.hp-in{animation-duration:120s}.hp-2 .hp-in{animation-duration:140s}
.hero:has(input:focus) .hp-in{animation-play-state:paused}
.js .rv{opacity:0;transform:none;transition:opacity .3s}
.jauge i{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fi-ban-t{font-size:13px;opacity:1;background:rgba(11,37,69,.7);padding:4px 10px;border-radius:999px;text-shadow:none}
.tag{font-size:13.5px}.aide,.chiffre small,.verif .src{color:var(--gris)}.chiffre small{font-size:13px}.pastille{font-size:13px}
@media (min-width:1001px) and (max-height:860px){.fi-besoin{display:block;margin-top:18px}}
@media (max-width:1000px){
  .qbox{max-width:none}
  .score ul{display:none}.score-c{border-top:0;padding-top:0}
  .mail a{padding:12px 0;font-size:15px}
  .ft ul{gap:0}.ft ul a{display:block;padding:11px 0}
  .ariane a{display:inline-block;padding:10px 0}
  .js .rv{opacity:1;transition:none}
}

/* Revue mobile finale 13/10 */
.lh-prix{display:block;margin:-6px 0 12px;font-weight:600}
.lh-prix a{display:inline-block;padding:12px 2px;margin:-12px 0}
@media (max-width:1100px){.hd .hd-pro{display:none}}
@media (max-width:1000px){
  .grille>.side{display:none}
  .pc h3 a{display:inline-block;padding:9px 0}.sources li{padding:6px 0}.logo{min-height:44px}
}
@media (min-width:721px) and (max-width:1000px){.barre{justify-content:center}.barre .btn{flex:0 1 300px}.lst{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pc-a .btn{min-width:0}}
@media (min-width:721px){.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}}
@media (max-width:720px){
  .tag,.src,.txt .src,.tuile .m,.aide,.accord,.chiffre small,.score-n{font-size:14px}.aide{color:var(--gris)}
  .score-h .badge,.score-n{display:none}
  .prom svg,.prom p{display:none}.prom>div{padding:14px 18px}.prom h3{margin:0;font-size:18px}
}
.txt a.btn-j{color:var(--nuit);text-decoration:none}
@media (max-width:720px){.chips-p{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;scroll-padding-inline:16px}.chips-p::-webkit-scrollbar{display:none}.chips-p .chip{flex:none}}

/* ---- revue 2 (13/10 nuit) : CRO ordinateur + mobile ---- */
.lh{grid-template-columns:380px minmax(0,1fr)}
@media (min-width:721px) and (max-width:1000px){.lh{grid-template-columns:240px minmax(0,1fr)}.lh:not(.art-h){grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.lh{grid-template-columns:minmax(0,1fr)}}
.lh>*{min-width:0}.lh .note span:last-child{min-width:0}
.pc .vp{font-size:14px;font-weight:700;color:var(--lagon-2);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:12px 0;margin:-8px 0}
.pc-a .btn-n{min-height:44px}
.pc>p{display:none}.pc-t .tag:nth-child(n+4){display:none}
.side-l{margin:0 0 16px;padding-left:20px;display:grid;gap:6px;font-size:15px}.side-l li::marker{color:var(--ambre-2)}
.badge b{font-family:var(--titre);font-weight:800;font-size:16px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.badge b+span{margin-left:-4px;opacity:.7;font-weight:600}
.score{border-left:5px solid var(--ok)}.score.moy{border-left-color:var(--gris-m)}.score.alerte{border-left-color:var(--alerte)}
.prom>div{text-align:left}
.hero-ou{color:#C9D3E0;font-size:15px;margin:18px 0 -8px}
.fi-pr{font-size:13.5px;color:var(--gris);margin:-4px 4px 2px;line-height:1.45}
details.plis{margin-top:20px}details.plis>summary{font-family:var(--titre);font-size:19px}
.pas-t{font-size:13px;font-weight:700;color:var(--gris);margin:-10px 0 16px;letter-spacing:.02em}
.accord{padding:14px 16px;border:1px solid var(--bord);border-radius:var(--r-s);background:var(--sable);font-size:14px;line-height:1.5}
.devis-g{display:grid;grid-template-columns:minmax(0,640px) 340px;gap:64px;justify-content:center;align-items:start}
.devis-g .form{margin:0}
.devis-a{margin-top:64px;padding:24px;border:1px solid #F3DDB5;border-radius:var(--r-m);background:var(--creme);position:sticky;top:96px}
.devis-a h2{font-size:21px;margin-bottom:12px}
.devis-a ol{margin:0 0 14px;padding-left:20px;display:grid;gap:8px}.devis-a li::marker{color:var(--ambre-2);font-weight:800}
.p-devis .ft-b{margin-top:0;border-top:0;padding-top:0}
@media (max-width:1000px){.devis-g{display:block}.devis-a{display:none}}
@media (min-width:1001px){
  .lh:not(.art-h){align-items:stretch}
  .lh:not(.art-h) .lh-img{aspect-ratio:auto;position:relative;min-height:260px}
  .lh:not(.art-h) .lh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .lh-f{display:flex;gap:10px;max-width:640px;align-items:stretch}
  .lh-f textarea{flex:1;min-height:56px;height:56px;resize:none}
  .lh-f .btn-g{flex:none;margin:0}
}
@media (max-width:1000px){.barre .btn-b{flex:0 0 36%}.barre .btn-j{flex:1}}
@media (max-width:720px){
  .art-h .lh-img,.lh:not(.art-h) .lh-img{display:none}
  .art-h .rep{font-size:16px;line-height:1.5;padding:12px 14px;margin-bottom:14px}
  .art-g .lst>div:nth-child(n+4){display:none}
  .c>.chips-t{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px 20px;padding:0 16px 4px}
  .c>.chips-t .chip{flex:none}
  .fi-side{display:none}
  .hero-ph{display:none}
  .faq.plie summary{font-family:var(--titre);font-size:18px}
  details.plie>*:not(summary){padding-bottom:12px}
}
@media (min-width:721px) and (max-width:1000px){
  .lh:not(.art-h) .lh-img{display:none}
  .chips-p{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips-p .chip{flex:none}
  .lst>div>.pc{height:100%}
  .lst-cta{grid-column:1/-1}
  .fi-besoin .chips-t{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  .art-g .txt,.fi-desc{max-width:700px}
  .art-g .txt .prix,.art-g .txt .lst{max-width:none}
}

/* revue 2 : SEO */
.h3{font-family:var(--titre);font-weight:600;font-size:20px;line-height:1.2;color:var(--nuit);margin:0 0 8px}
.lead-loc{font-size:15px;color:var(--gris);margin:4px 0 10px;max-width:62ch;line-height:1.55}
/* revue 3 : boutons dans les textes (couleur de lien écrasée) */
.txt a.btn{text-decoration:none}
.txt a.btn-n,.txt a.btn-n:hover{color:#fff}
.txt a.btn-b{color:var(--nuit)}
/* revue 3 : accueil « projet d'abord » (fond clair, sélecteur de projet, une seule photo) */
.h2x{background:linear-gradient(180deg,var(--creme) 0%,#fff 100%);padding:48px 0 40px}
.h2x-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.h2x-sur{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lagon-2);margin-bottom:12px}
.h2x h1{font-size:clamp(32px,4.2vw,50px);max-width:640px}
.h2x-p{font-size:18px;color:var(--gris);max-width:580px;margin:16px 0 24px}
.projet{background:#fff;border:1px solid var(--bord);border-radius:var(--r-m);box-shadow:var(--sh-2);padding:20px}
.projet-q{font-family:var(--titre);font-weight:700;font-size:20px;color:var(--nuit);margin-bottom:14px}
.projet-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.projet-g a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center;text-decoration:none;
  border:1.5px solid var(--ligne);border-radius:var(--r-s);padding:14px 6px 12px;font-size:14px;font-weight:600;line-height:1.2;color:var(--nuit);min-height:104px;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t)}
.projet-g a:hover{border-color:var(--ambre);box-shadow:var(--sh-1);transform:translateY(-2px)}
.projet-g .pic{width:44px;height:44px;flex:none}
.h2x-r{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14.5px;font-weight:600;color:var(--nuit)}
.h2x-r li{display:flex;align-items:center;gap:6px}
.h2x-r svg{width:18px;height:18px;color:var(--ok)}
.h2x-v{position:relative}
.h2x-v img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-l)}
.h2x-c{position:absolute;left:-24px;bottom:28px;max-width:260px;background:#fff;border-radius:var(--r-s);box-shadow:var(--sh-2);padding:16px 18px}
.h2x-c b{display:block;font-family:var(--titre);font-weight:800;font-size:32px;color:var(--nuit);line-height:1}
.h2x-c span{font-size:14px;color:var(--gris)}
.cherche{border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);background:#fff;padding:28px 0}
.cherche .c{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 28px;align-items:center}
.cherche h2{font-size:20px;margin:0}
.cherche .qbox{margin:0;max-width:none;box-shadow:none;border:1.5px solid var(--bord)}
.cherche-k{grid-column:1/-1;font-size:14px;color:var(--gris)}
.cherche-k b{color:var(--nuit)}
.accueil .etp{background:var(--sable)}
.prix-h{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.prix-h>div{background:#fff;border:1px solid var(--bord);border-radius:var(--r-m);padding:20px 22px}
.prix-h h3{font-size:18px;margin-bottom:10px}
.prix-h ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.prix-h a{display:block;padding:8px 0;border-bottom:1px solid var(--ligne);text-decoration:none;color:var(--encre);font-weight:500}
.prix-h li:last-child a{border-bottom:0}
.prix-h a:hover{color:var(--lagon-2)}
.accueil .pro{background:var(--creme);color:var(--encre);border:1px solid var(--bord)}
.accueil .pro h2{color:var(--nuit)}
.accueil .pro p{color:var(--gris)!important}
@media (max-width:1000px){
  .h2x-g{grid-template-columns:minmax(0,1fr)}
  .h2x-v{display:none}
  .projet-g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cherche .c{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .h2x{padding:28px 0 24px}
  .h2x-p{font-size:16px;margin:12px 0 18px}
  .projet{padding:14px}
  .projet-q{font-size:18px}
  .projet-g{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .projet-g a{min-height:92px;font-size:13px;padding:10px 4px}
  .projet-g .pic{width:38px;height:38px}
  .prix-h{grid-template-columns:minmax(0,1fr)}
}
/* revue 3 : hubs prix / guides / aides — grille complète, liste verticale sur mobile */
@media (min-width:1001px){.tuiles.hubg{grid-template-columns:repeat(4,minmax(0,1fr))}.hubg .tuile h3{font-size:16.5px}}
@media (max-width:720px){
  .presta.hubg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;overflow:visible;margin:0;padding:0}
  .hubg .tuile{flex-direction:column;align-items:flex-start;gap:8px;padding:10px;min-height:0}
  .hubg .tuile .ph,.hubg .tuile .ph img{width:100%}
  .hubg .tuile .ph img{height:96px;object-fit:cover;border-radius:12px}
  .hubg .tuile h3{font-size:15px;line-height:1.25}
}
/* revue 4 : ancien héros bleu nuit + sélecteur de projet */
.hero.hero-p{height:auto;min-height:600px}
.hero-p .hero-t{padding:48px 32px 96px 56px;gap:18px;justify-content:center}
.hero-p .hero-t h1{font-size:clamp(32px,3.4vw,46px)}
.hero-p .hero-t>p{font-size:17px}
.hero-p .projet{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:none;padding:16px;max-width:600px}
.hero-p .projet-q{color:#fff;font-size:18px;margin-bottom:12px}
.hero-p .projet-g{gap:8px}
.hero-p .projet-g a{background:#fff;border-color:#fff;min-height:88px;padding:10px 4px;font-size:13.5px}
.hero-p .projet-g a:hover{border-color:var(--ambre);box-shadow:0 0 0 2px var(--ambre)}
.hero-p .projet-g .pic{width:38px;height:38px}
.hero-p .hero-ph{max-height:none;align-self:stretch}
.accueil .cherche{border:0;padding:56px 0 8px}
@media (max-width:1000px){
  .hero-p .hero-t{padding:36px 24px 84px}
  .hero-p .projet{max-width:none}
}
@media (max-width:720px){
  .hero.hero-p{min-height:0}
  .hero-p .hero-t{padding:28px 14px 76px;gap:14px}
  .hero-p .hero-t>p{font-size:15.5px}
  .hero-p .projet{padding:10px;border-radius:18px}
  .hero-p .projet-g{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .hero-p .projet-g a{min-height:80px;font-size:12.5px}
  .hero-p .projet-g .pic{width:32px;height:32px}
  .accueil .cherche{padding:36px 0 0}
}
.hero-p .hero-ph{height:0;min-height:100%}
.hero-p .hero-t{padding-top:52px;padding-bottom:52px}
@media (max-width:720px){.hero-p .hero-t{padding:28px 14px 18px}}
/* revue 5 : héros large et simple (promesse + recherche), projets en section dessous */
.hero-w{max-width:1440px;margin:0 auto;padding:0 20px}
.hero.hero-p{height:600px;min-height:0;grid-template-columns:1.15fr .85fr}
.hero-p .hero-t{padding:0 40px 40px 72px;gap:22px}
.hero-p .hero-t h1{font-size:clamp(36px,4.2vw,60px);max-width:640px}
.hero-p .hero-t>p:not(.ile){font-size:18.5px;max-width:560px}
.hero-p .ile{color:#7FD8DF;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0}
.hero-p .qbox{max-width:620px;margin:6px 0 0}
.hero-p .hero-ph{height:auto;min-height:0;padding-right:40px}
.projet-s{padding-top:64px}
.projet-s .projet-g{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}
.projet-s .projet-g a{background:#fff;min-height:118px;font-size:14.5px}
.projet-s .projet-g .pic{width:48px;height:48px}
.projet-s .h2x-r{justify-content:center;margin-top:22px}
@media (max-width:1000px){
  .hero.hero-p{height:auto}
  .hero-p .hero-t{padding:44px 28px 40px}
  .projet-s .projet-g{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:720px){
  .hero-w{padding:0 8px}
  .hero-p .hero-t{padding:30px 16px 26px;gap:16px}
  .hero-p .hero-t h1{font-size:34px}
  .hero-p .hero-t>p:not(.ile){font-size:16px}
  .projet-s{padding-top:40px}
  .projet-s .projet-g{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .projet-s .projet-g a{min-height:92px;font-size:13px;padding:10px 4px}
  .projet-s .projet-g .pic{width:38px;height:38px}
}
.projet-s .lead-loc{margin:10px auto 0;max-width:720px;text-align:center}
@media (max-width:1000px){.hero.hero-p{grid-template-columns:minmax(0,1fr)}.hero-p .hero-ph{display:none}}
@media (max-width:720px){.hero-p .ile{font-size:11.5px;letter-spacing:.08em}}

/* revue 6 — accueil symétrique : même rythme, intro centrée sous chaque titre, fonds alternés */
.accueil .sec,.accueil .sec-s,.accueil .projet-s{padding:72px 0}
.accueil .alt{background:var(--sable)}
.accueil .sec h2{margin-bottom:0}
.accueil .lead-loc.centre{margin:10px auto 32px;max-width:640px;text-align:center}
.accueil .sec-cta{margin:32px 0 0}
.accueil .projet-s .projet-g{margin-top:0}
.accueil .antilles h2.rv+.ant-g{margin-top:32px}
.accueil .mail{margin-top:0}
.accueil .txt>h2{margin-bottom:24px}
.accueil .prix-h{margin-top:0}
@media (max-width:720px){
  .accueil .sec,.accueil .sec-s,.accueil .projet-s{padding:48px 0}
  .accueil .lead-loc.centre{margin-bottom:24px}
  .accueil .sec-cta{margin-top:24px}
}
.accueil .pro h2{text-align:left}
.accueil main>section:last-child,.accueil main>.sec:last-of-type{margin-bottom:0}
.accueil .ft{margin-top:0}
.accueil .txt>h2{margin-top:0}

/* revue 7 — en-tête de liste : photo à la hauteur du texte, exemple du champ sur une ligne */
@media (min-width:1001px){
  .lh-f textarea{padding:16px 14px;line-height:22px}
  .lh-f textarea::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* revue 8 — aucun débordement horizontal sur mobile */
.faits li,.txt p,.txt li,.fi-zone{overflow-wrap:anywhere}
.txt a.btn{white-space:normal;text-align:center;max-width:100%}
.etoiles label{position:relative}
.etoiles input{width:1px;height:1px;left:0;top:0;margin:0}
details.faq summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}

/* revue 8 — page devis : photos de réalisations possibles, sans légende */
.devis-a.dv-ph{padding:0;border:0;background:none;margin-top:40px}
.dv-g{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:var(--sable)}
.dv-g img,.dv-s img{width:100%;height:100%;object-fit:cover;display:block}
.dv-s{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.dv-s img{aspect-ratio:1;border-radius:var(--r-m)}
.dv-ok{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;font-weight:600;color:var(--nuit);font-size:15.5px}
.dv-ok li{display:flex;align-items:center;gap:10px}
.dv-ok svg{width:20px;height:20px;color:var(--ok);flex:none}
.dv-band{display:none}
@media (max-width:1000px){
  .dv-band{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:0 0 20px}
  .dv-band img{width:100%;height:96px;object-fit:cover;border-radius:var(--r-s)}
}
.ok-box~*{}
.devis-a.dv-ph{margin-top:0}
.dv-g{aspect-ratio:1}
.dv-s img[hidden],.dv-band img[hidden]{display:none}
.dv-s img:nth-child(4){display:none}
.dv-s img:nth-child(4):not([hidden]){display:block}
@media (max-width:1000px){.dv-band img:nth-child(n+4){display:none}.dv-band img:nth-child(n+4):not([hidden]){display:block}}
/* accueil : sélecteur de projet en 8 familles (modèle ootravaux, DA Travaux Antilles) */
.fam-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.fam{background:#fff;border:1.5px solid var(--bord);border-radius:var(--r-m);padding:18px 20px 14px;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.fam:hover{border-color:var(--ambre);box-shadow:var(--sh-1);transform:translateY(-2px)}
.fam-t{display:flex;align-items:center;gap:12px;min-height:52px}
.fam-t .pic{width:48px;height:48px;flex:none}
.fam-t h3{flex:1;display:flex;align-items:flex-end;min-height:calc(2.4em + 9px);font-size:17px;line-height:1.2;padding-bottom:9px;border-bottom:2px solid var(--ambre)}
.fam ul{list-style:none;padding:0;margin:10px 0 0;display:grid}
.fam a{display:flex;align-items:flex-start;gap:6px;padding:7px 0;font-size:15px;font-weight:500;color:var(--encre);text-decoration:underline;text-decoration-color:var(--bord);text-underline-offset:3px;transition:color var(--t),text-decoration-color var(--t)}
.fam a svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--ambre-2)}
.fam a:hover{color:var(--lagon-2);text-decoration-color:currentColor}
@media (max-width:1000px){.fam-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:720px){
  .fam-g{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
  .fam{padding:14px 16px 10px}
  .fam-t .pic{width:42px;height:42px}
  .fam ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;margin-top:6px}
  .fam a{font-size:14.5px;padding:8px 0}
}
@media (prefers-reduced-motion:reduce){.fam,.fam:hover{transition:none;transform:none}}
@media (max-width:720px){.fam-t h3{min-height:0}}
.fam-autre{text-align:center;margin-top:18px}
.fam-autre a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--nuit);text-decoration:underline;text-decoration-color:var(--ambre);text-underline-offset:4px}
.fam-autre a svg{width:16px;height:16px}
.fam-autre a:hover{color:var(--lagon-2)}
@media (max-width:720px){.fam a{font-size:14px}}
/* demande de devis en tunnel (modèle ootravaux × TrustUp) : aucune image, aucune sortie, une question à la fois */
.p-devis .hd{position:relative;box-shadow:none;border-bottom:0}
.p-devis .hd .logo{pointer-events:none}
.qz-top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--ligne)}
.qz-et{text-align:center;font-size:14px;font-weight:600;color:var(--nuit);padding:12px 56px}
.qz-x{position:absolute;right:12px;top:4px;width:40px;height:40px;display:grid;place-items:center;font-size:26px;line-height:1;color:var(--gris);text-decoration:none;border-radius:50%}
.qz-x:hover{background:var(--sable);color:var(--nuit)}
.qz-bar{height:5px;background:var(--ligne)}
.qz-bar i{display:block;height:100%;width:var(--p,25%);background:var(--ambre);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.qz-w{max-width:760px;margin:0 auto;padding:20px 20px 140px}
.qz-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--creme);border-radius:var(--r-s);padding:10px;margin-bottom:28px;align-items:start}
.qz-pills details{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(11,37,69,.08)}
.qz-pills summary{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:600;color:var(--nuit);cursor:pointer;list-style:none;line-height:1.25}
.qz-pills summary::-webkit-details-marker{display:none}
.qz-pills summary>svg:first-child{width:24px;height:24px;flex:none;fill:none;stroke:var(--nuit);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qz-pills summary span{flex:1}
.qz-pills summary>svg:last-child{width:16px;height:16px;flex:none;color:var(--ambre-2);transform:rotate(90deg);transition:transform var(--t)}
.qz-pills details[open] summary>svg:last-child{transform:rotate(-90deg)}
.qz-pills details p{padding:0 12px 12px;font-size:13px;color:var(--gris);line-height:1.45}
.qz{max-width:640px;margin:0 auto}
.qz-b{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.qz-av{width:48px;height:48px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--lagon);color:#fff;font-family:var(--titre);font-weight:800;font-size:20px}
.qz-av img{width:100%;height:100%;object-fit:cover}
.qz-n{display:block;font-family:var(--titre);font-weight:600;font-size:16px;color:var(--nuit);margin-bottom:2px}
.qz-b p{font-size:16px;color:var(--encre);line-height:1.5}
.qz-q{margin:0 0 26px 62px;animation:entre .35s cubic-bezier(.2,.7,.2,1) both}
.qz-q[hidden]{display:none}
.qz-l{display:block;font-weight:700;font-size:16px;color:var(--nuit);margin-bottom:12px}
.qz-l i,.qz label i{color:var(--alerte);font-style:normal}
.qz-t{display:grid;gap:10px}
.qz-t-m{grid-template-columns:repeat(4,minmax(0,1fr))}
.qz-t-l{grid-template-columns:repeat(2,minmax(0,1fr))}
.qz-t-d{grid-template-columns:repeat(4,minmax(0,1fr))}
.qz-o{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px;background:#fff;border:1.5px solid var(--bord);border-radius:var(--r-s);font:inherit;font-size:15px;font-weight:600;color:var(--nuit);text-align:left;line-height:1.25;cursor:pointer;transition:border-color var(--t),box-shadow var(--t),background var(--t)}
.qz-t-m .qz-o{flex-direction:column;justify-content:center;text-align:center;gap:6px;min-height:104px;padding:12px 6px;font-size:14px}
.qz-t-d .qz-o{justify-content:center;text-align:center}
.qz-o:hover{border-color:var(--ambre);box-shadow:var(--sh-1)}
.qz-o input{position:absolute;opacity:0;pointer-events:none}
.qz-o:has(input:checked){border-color:var(--nuit);background:var(--creme);box-shadow:inset 0 0 0 1px var(--nuit)}
.qz-o:has(input:focus-visible){outline:3px solid var(--ambre);outline-offset:2px}
.qz-o .pic{width:40px;height:40px;flex:none}
.qz-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--ok-b);background:var(--ok-c);border-radius:var(--r-s);font-weight:600;color:var(--nuit)}
.qz-chip>svg{width:20px;height:20px;color:var(--ok);flex:none}
.qz-chip span{flex:1}
.qz-chip .lien-plus{margin:0}
.qz .champ{margin-bottom:16px}
.qz section>.champ,.qz section>.duo,.qz section>.accord,.qz section>.src,.qz section>.sous{margin-left:62px}
.qz-info{margin:0 0 20px 62px;padding:12px 14px;background:var(--sable);border-radius:12px;font-size:14px;color:var(--encre);line-height:1.5}
.qz .err{margin-left:62px}
.qz .src{display:block;margin-top:12px}
.qz-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--ligne);padding:14px 20px calc(14px + env(safe-area-inset-bottom))}
.qz-nav[hidden]{display:none}
.qz-nav-in{max-width:640px;margin:0 auto;display:flex;gap:12px;justify-content:center;padding-left:62px}
.qz-ret{width:52px;height:52px;flex:none;border-radius:50%;border:1.5px solid var(--nuit);background:#fff;color:var(--nuit);display:grid;place-items:center;cursor:pointer}
.qz-ret svg{width:20px;height:20px;transform:rotate(180deg)}
.qz-ret[hidden]{display:none}
.qz-go{flex:1;max-width:340px;min-height:52px;justify-content:center;font-size:16px}
.qz-go.off{background:#E4DCCF;color:#8B8F98;box-shadow:none}
.p-devis .ok-box h2{font-size:36px}
.p-devis .ok-box .sous{margin:12px 0 22px}
.p-devis .ft{margin-top:0;padding:16px 0 120px}
@media (max-width:720px){
  .qz-w{padding:14px 16px 130px}
  .qz-pills{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px;margin-bottom:20px}
  .qz-pills summary{padding:9px 12px}
  .qz-b{gap:12px;margin-bottom:18px}
  .qz-av{width:40px;height:40px;font-size:17px}
  .qz-q,.qz-info,.qz .err,.qz section>.champ,.qz section>.duo,.qz section>.accord,.qz section>.src,.qz section>.sous{margin-left:0}
  .qz-t-m{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .qz-t-m .qz-o{min-height:92px;font-size:13px;padding:10px 4px}
  .qz-t-m .qz-o .pic{width:34px;height:34px}
  .qz-t-l,.qz-t-d{grid-template-columns:minmax(0,1fr)}
  .qz-t-d{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qz-o{min-height:52px;font-size:15px}
  .qz-nav{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .qz-nav-in{padding-left:0}
  .qz-go{max-width:none}
}
@media (prefers-reduced-motion:reduce){.qz-q{animation:none}.qz-bar i{transition:none}}
.p-devis .hd{display:none}
.qz-top .qz-logo{position:absolute;left:20px;top:7px;display:flex;align-items:center;gap:8px;text-decoration:none}
.qz-top .qz-logo svg{width:30px;height:30px}
.qz-et{padding:16px 56px}
.qz-t-d{grid-template-columns:repeat(2,minmax(0,1fr))}
.qz-w{min-height:calc(100vh - 60px)}
.p-devis .ft{background:#fff;color:var(--gris);border-top:1px solid var(--ligne);padding:16px 0 96px}
.p-devis .ft a,.p-devis .ft p,.p-devis .ft span{color:var(--gris)}
@media (max-width:720px){.qz-top .qz-logo span{display:none}.qz-top .qz-logo{left:14px;top:9px}.qz-top .qz-logo svg{width:28px;height:28px}.qz-et{padding:14px 52px;font-size:13px}}
.qz-o input{opacity:1;width:1px;height:1px;margin:0;clip-path:inset(50%);overflow:hidden}

/* questions sur mesure par métier (funnels.py) : 3 options courtes sur une ligne, nombre impair long = une colonne */
.qz-t-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qz-t-3 .qz-o{justify-content:center;text-align:center}
.qz-t-1{grid-template-columns:minmax(0,1fr)}
/* simulateur d'aides (/aides/simulateur/) */
.simu{margin:8px 0 28px;padding:22px;border:1px solid var(--ligne);border-radius:var(--r-m,14px);background:var(--creme)}
.simu h2{margin-top:0}
.simu .qz-q{margin:0 0 20px;animation:none}
.simu-res{padding-top:6px;border-top:1px solid var(--ligne)}
.simu-n{font-size:17px}
.simu-l{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}
.simu-l li{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#fff;border:1px solid var(--bord);border-radius:var(--r-s)}
.simu-m{font-weight:600;color:var(--nuit)}
@media (max-width:720px){.simu{padding:16px}.qz-t-3.m1{grid-template-columns:minmax(0,1fr)}.qz-t-3.m1 .qz-o{justify-content:flex-start;text-align:left}}
.simu-band{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:22px 24px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r-m,14px)}
.simu-band h3{margin:0 0 6px}
.simu-band p{margin:0;color:var(--texte-2,#475569)}
.simu-band .btn{flex:none}
@media (max-width:720px){.simu-band{flex-direction:column;align-items:stretch;text-align:left;padding:18px}.simu-band .btn{justify-content:center}}
.txt .simu-l{padding-left:0}

/* ---- avant-lancement 23/10/2026 ---- */
/* mention France Rénov' (art. L122-26 code de la consommation) : encart discret */
.renov{max-width:760px;margin:28px auto 8px;padding:10px 14px;border:1px solid var(--ligne);border-radius:var(--r-s);background:var(--sable);font-size:13.5px;line-height:1.45;color:var(--encre)}
.renov a{font-weight:600;white-space:nowrap}
.qz-w .renov{margin:20px auto 0}
/* C1 : « Demander un devis » dans le hero de l'accueil */
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:2px 0 0;color:#fff;font-size:15px}
.hero-cta .btn{min-height:48px;white-space:nowrap}
@media (max-width:720px){.hero-cta{flex-direction:column;align-items:stretch;text-align:center}.hero-cta .btn{width:100%}}
/* C3 : erreur du tunnel au-dessus du bouton fixe */
.qz-nav .err{position:absolute;left:16px;right:16px;bottom:100%;margin:0 0 6px;padding:10px 14px;background:#FDECEC;border:1px solid var(--alerte);border-radius:var(--r-s);color:#8A1C1C;font-weight:600;font-size:15px;text-align:left;min-height:0}
.qz-nav .err:empty{display:none}
.accord.manque{outline:3px solid var(--ambre);outline-offset:2px}
/* C4 : bouton inactif lisible (contraste ≈ 5,6:1) */
.qz-go.off{background:#EFE6D6;color:#4B5361;box-shadow:inset 0 0 0 1.5px #D9CDB8}
/* C5 : accordéons de réassurance masqués aux étapes 2 et 3 sur mobile */
@media (max-width:720px){
  .qz-pills summary{min-height:44px}
  .qz-w.e2 .qz-pills,.qz-w.e3 .qz-pills{display:none}
}
/* C7 : grille de cartes pleine largeur à 768 px, le texte garde 700 px */
@media (min-width:721px) and (max-width:1000px){
  .art-g .txt{max-width:none}
  .art-g .txt>p,.art-g .txt>ul,.art-g .txt>ol,.art-g .txt>h2,.art-g .txt>h3,.art-g .txt>.corps{max-width:700px}
}
/* C8 : cibles tactiles >= 44 px sur mobile */
@media (max-width:720px){
  .fam a{min-height:44px;display:flex;align-items:center;padding:0}
  .ft a,.fi-sec .src a,.bandeau a,.lst-src a{display:inline-block;padding:12px 0;min-height:44px}
  .qz-x{width:44px;height:44px}
}

/* Audit en ligne 25/10 : cibles de 44 px, tunnel mobile plus court, écran de fin */
.fam a{min-height:44px;align-items:center;padding-top:0;padding-bottom:0}
.fam a svg{margin-top:0}
@media (max-width:720px){
  .qz-pills{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;margin-bottom:14px;background:none}
  .qz-pills details{flex:1 1 auto}
  .qz-pills summary{min-height:44px;font-size:14px;padding:8px 4px}
  .qz-pills summary svg:last-child{display:none}
}
.ok-suite{list-style:none;padding:0;display:grid;gap:8px;text-align:left;max-width:420px;margin:0 auto 18px}
.ok-suite li{padding-left:22px;position:relative}
.ok-suite li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--ambre)}
.ok-lien{display:block;margin-top:14px}
.btn-sous{display:block;margin-top:6px;font-size:14px;color:var(--gris);text-align:center}

/* Bandeau de consentement (consent.js) : carte basse, au-dessus de la barre d'appel et de la navigation du formulaire ; « Refuser » et « Accepter » identiques (CNIL) */
.cc{position:fixed;z-index:45;left:16px;bottom:16px;transition:bottom .2s ease;max-width:420px;background:#fff;border:1px solid var(--bord);border-radius:var(--r-s);box-shadow:var(--sh-2);padding:14px 16px;font-size:14px;line-height:1.45;color:var(--encre)}
.cc p{margin:0 0 10px}
.cc a{color:var(--lagon-2)}
.cc-b{display:flex;gap:8px}
.cc-btn{flex:1;min-height:44px;border-radius:999px;border:1.5px solid var(--nuit);background:var(--nuit);color:#fff;font-weight:600;cursor:pointer}
@media (max-width:760px){
  .cc{left:8px;right:8px;max-width:none;bottom:calc(8px + env(safe-area-inset-bottom));padding:10px 12px;font-size:14px;line-height:1.4}
  .cc p{margin-bottom:8px}
  body:has(input:focus,textarea:focus,select:focus) .cc{visibility:hidden}
}
@media (max-width:1000px){body:has(.barre:not(.off)) .cc{bottom:calc(84px + env(safe-area-inset-bottom))}}
body:has(.qz-nav:not([hidden])) .cc{bottom:calc(92px + env(safe-area-inset-bottom))}
.cc :focus-visible{outline-color:var(--nuit)}
.cc a{display:inline-block;padding:4px 0}
body:has(.qz-nav .err:not(:empty)) .cc{visibility:hidden}
@media (prefers-reduced-motion:reduce){.cc{transition:none}}
.lien-cc{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
