@font-face{font-family:'Unbounded';font-style:normal;font-weight:300 700;font-display:swap;src:url('/fonts/eclat/unbounded-var.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 600;font-display:swap;src:url('/fonts/eclat/archivo-var.woff2') format('woff2')}
@font-face{font-family:'Barlow Logo';font-style:italic;font-weight:900;font-display:swap;
  src:url('/fonts/mobglass/barlow-blackitalic.woff2') format('woff2')}
@font-face{font-family:'Martian Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('/fonts/eclat/martianmono-var.woff2') format('woff2')}

/* ==================== TOKENS ==================== */
:root{
  --carbone:#FFFFFF;          /* fond principal : blanc */
  --carbone2:#F7F5F0;         /* surfaces : cartes, assistant */
  --porcelaine:#141210;       /* texte principal : noir chaud */
  --brume:#EFEBE3;
  --encre:#141210;
  --gris:#5C554D;             /* texte secondaire */
  --gris-c:#5C554D;
  --lignes:rgba(20,17,14,.14);
  --lignes-c:rgba(20,17,14,.12);
  /* signature : spectre prismatique (réfraction) */
  --rouge:#DA291C;--rouge-vif:#F03A2B;--prisme:linear-gradient(90deg,#F03A2B 0%,#DA291C 100%);
  --cyan:#DA291C; /* rouge suisse — accent unique */
  --maxw:1240px;
  --disp:"Unbounded",system-ui,sans-serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"Martian Mono",ui-monospace,Menlo,monospace;
}
[hidden]{display:none !important}   /* garde-fou : hidden gagne toujours */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}
body{font-family:var(--sans);background:var(--carbone);color:var(--porcelaine);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.06;letter-spacing:-.01em}
p{max-width:60ch}
a{color:inherit;text-decoration:none}
svg,canvas{display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.mono{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.idx{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:var(--gris);text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2.5px solid var(--cyan);outline-offset:3px;border-radius:3px}
.skip{position:fixed;top:-60px;left:16px;z-index:300;background:var(--encre);color:#fff;
  padding:10px 18px;border-radius:8px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}

/* filet prismatique — LA signature, toujours en épaisseur de trait */
.prisme-h{height:6px;width:100%;background:repeating-linear-gradient(135deg,#DA291C 0 14px,#FFFFFF 14px 28px)}
.u-prisme{background-image:var(--prisme);background-size:100% 2px;background-position:0 100%;
  background-repeat:no-repeat;padding-bottom:4px}

/* ==================== EN-TÊTE ==================== */
header.nav{position:fixed;inset:0 0 auto 0;z-index:100;background:rgba(255,255,255,.85);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--lignes)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--disp);font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.brand .glyph{width:26px;height:16px}
.brand img{height:46px;width:auto;max-width:none}
nav.main{margin-left:auto}
nav.main ol{display:flex;gap:30px;list-style:none;counter-reset:n}
nav.main a{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris);transition:color .18s;display:flex;gap:8px;align-items:baseline}
nav.main a b{font-weight:500;color:var(--porcelaine);opacity:.35;font-size:.6rem}
nav.main a:hover{color:var(--porcelaine)}
.nav-tel{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--gris)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative;
  font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  padding:16px 26px;border-radius:10px;cursor:pointer;border:1px solid var(--lignes);
  background:var(--rouge);color:#fff;transition:transform .15s,box-shadow .2s}
.btn::before{content:"";position:absolute;inset:-2px;border-radius:12px;background:var(--prisme);
  z-index:-1;opacity:0;transition:opacity .2s}
.btn:hover{transform:translateY(-1px)}
.btn:hover::before{opacity:1}
.btn-ligne{background:transparent;color:var(--porcelaine);border-color:rgba(20,17,14,.30)}
.s1 .btn-ligne{color:var(--encre);border-color:rgba(23,19,16,.30)}
.s1 .actions .btn{font-size:.86rem;padding:21px 34px;font-weight:700;letter-spacing:.13em}
@media (max-width:760px){.s1 .actions .btn{width:100%;justify-content:center;text-align:center;padding:20px 18px}}
.btn-ligne:hover{border-color:transparent}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.burger span{display:block;width:24px;height:2px;background:var(--porcelaine);margin:6px 0;transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu-mobile{display:none}
.sticky-cta{display:none}
@media (max-width:760px){
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;gap:1px;
    background:var(--lignes);border-top:1px solid var(--lignes);
    padding-bottom:env(safe-area-inset-bottom)}
  .sticky-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:17px 10px;
    background:var(--carbone2);color:var(--porcelaine);font-family:var(--mono);font-size:.66rem;
    letter-spacing:.14em;text-transform:uppercase;font-weight:500}
  .sticky-cta a.pri{background:var(--rouge);color:#fff;font-weight:700}
  body{padding-bottom:56px}
}

/* ==================== SCÈNE 01 — LE VERRE ==================== */
.s1{position:relative;min-height:100svh;display:flex;align-items:stretch;overflow:hidden}
#verre{position:absolute;inset:0;width:100%;height:100%}
.film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none;background:#171310 url("eclat-poster.jpg") center/cover no-repeat}
.s1 .voile{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(244,241,234,.72) 0%,rgba(244,241,234,.40) 40%,rgba(244,241,234,0) 65%),
  linear-gradient(180deg,rgba(244,241,234,.34) 0%,rgba(244,241,234,.22) 38%,rgba(244,241,234,.80) 74%,rgba(244,241,234,.96) 100%)}
.s1-in{position:relative;z-index:2;color:var(--encre);text-shadow:0 1px 12px rgba(244,241,234,.55),0 0 2px rgba(244,241,234,.5);display:flex;flex-direction:column;justify-content:flex-end;
  width:100%;max-width:var(--maxw);margin:0 auto;padding:120px 28px 56px}
.s1 .chrome{position:absolute;top:96px;left:28px;right:28px;display:flex;justify-content:space-between;
  z-index:2;pointer-events:none}
.s1 .chrome .idx{color:rgba(23,19,16,.55)}
.s1 h1{font-size:clamp(1.9rem,6.2vw,5.9rem);font-weight:700;max-width:17ch;margin-bottom:18px}
.s1 h1 .fin{font-weight:700;display:block;font-size:min(.56em,1.6rem);letter-spacing:.02em;margin-bottom:18px;color:rgba(23,19,16,.88);line-height:1.3}
.s1 h1 .star{color:#B22015}
.s1 h1 a.cond{color:inherit;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#F03A2B,#DA291C) 1;
  border-bottom:2px solid;cursor:help}
.s1 .sous{display:flex;gap:34px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.s1 .sous p{color:rgba(23,19,16,.88);font-size:1.08rem;font-weight:500;max-width:44ch}
.s1 .sous p b{color:var(--encre);font-weight:700}
.s1 .actions{display:flex;gap:14px;flex-wrap:wrap}
.promo-200{flex-basis:100%;align-self:flex-start;display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px;
  width:fit-content;margin:4px 0 8px;padding:14px 24px;background:var(--rouge);color:#fff;
  border-radius:18px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;line-height:1.5;border:none}
.promo-200 .chf{font-family:var(--disp);font-size:1.4rem;font-weight:800;color:#fff;
  letter-spacing:0;text-transform:none;line-height:1}
.promo-200:hover{background:#B22015}
.s1 .sous p.mini-fiab{width:100%;margin-top:8px;font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(23,19,16,.85);max-width:none}
.hint-verre{position:absolute;right:32px;bottom:180px;z-index:2;display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(23,19,16,.85);
  writing-mode:vertical-rl;pointer-events:none}
.hint-verre::before{content:"";width:1px;height:44px;background:var(--prisme);writing-mode:horizontal-tb}

/* ==================== base des scènes ==================== */
.scene{position:relative;padding:120px 0}
.scene-tete{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  border-top:1px solid var(--lignes);padding-top:22px;margin-bottom:70px}
.scene-tete h2{font-size:clamp(1.7rem,3.6vw,2.9rem);font-weight:700;max-width:22ch}
.claire .scene-tete{border-color:var(--lignes-c)}
.claire{background:#FFFFFF;color:var(--encre)}
.claire .idx{color:var(--gris-c)}
.claire p{color:var(--gris-c)}

/* ==================== SCÈNE 02 — LE DÉROULÉ (sticky) ==================== */
.s2-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.s2-colle{position:sticky;top:120px}
.s2-colle .grand-num{font-family:var(--disp);font-weight:700;font-size:clamp(6rem,15vw,13rem);
  line-height:.9;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(20,17,14,.28)}
.s2-colle .grand-num b{display:block;height:4px;width:88px;background:var(--prisme);margin-top:26px}
.s2-colle p{color:var(--gris);margin-top:24px;font-size:1rem;max-width:34ch}
.pas{border-top:1px solid var(--lignes);padding:44px 0 46px}
.pas:last-child{border-bottom:1px solid var(--lignes)}
.pas .idx{display:block;margin-bottom:16px}
.pas h3{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:500;margin-bottom:14px}
.pas p{color:var(--gris);font-size:1rem}
.pas .note{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}

/* ==================== SCÈNE 03 — PREUVES (clair) ==================== */
.manifeste{font-family:var(--disp);font-weight:500;font-size:clamp(1.3rem,2.8vw,2.1rem);
  line-height:1.4;max-width:30ch;letter-spacing:-.005em;margin-bottom:80px}
.manifeste .u-prisme{font-weight:700}
.spec{border:1px solid var(--lignes-c);border-radius:14px;overflow:hidden}
.spec-l{display:grid;grid-template-columns:110px 1fr 1.5fr;gap:26px;align-items:baseline;
  padding:26px 28px;border-top:1px solid var(--lignes-c);background:#FFFFFF;transition:background .18s}
.spec-l:first-child{border-top:none}
.spec-l:hover{background:#F7F5F0}
.spec-l .cn{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;color:var(--gris-c)}
.spec-l h3{font-family:var(--sans);font-weight:600;font-size:1.05rem;letter-spacing:0}
.spec-l p{font-size:.94rem;color:var(--gris-c);max-width:none}
.spec-pied{padding:22px 28px;background:var(--encre);color:#F4F1EA;display:flex;gap:16px;
  align-items:center;flex-wrap:wrap}
.spec-pied .pt{width:9px;height:9px;border-radius:50%;background:var(--prisme);flex-shrink:0}
.spec-pied p{font-size:.9rem;color:rgba(244,241,234,.85);max-width:none}
.ligne-claire{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.lc h3{font-family:var(--sans);font-weight:600;font-size:1.02rem;margin:14px 0 10px}
.lc p{font-size:.92rem}
.lc .idx b{background-image:var(--prisme);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
.lc .src{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris-c);border-bottom:1px solid var(--lignes-c);padding-bottom:3px}

/* ==================== SCÈNE 04 — RÉSEAU ==================== */
.reseau{counter-reset:v}
.vil{display:grid;grid-template-columns:64px 1fr auto auto;gap:26px;align-items:center;
  padding:20px 4px;border-top:1px solid var(--lignes);transition:padding .18s;position:relative}
.vil:last-of-type{border-bottom:1px solid var(--lignes)}
.vil::before{counter-increment:v;content:counter(v,decimal-leading-zero);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--gris)}
.vil::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--prisme);transition:width .3s}
.vil:hover::after{width:100%}
.vil:hover{padding-left:16px}
.vil .nom{font-family:var(--disp);font-weight:500;font-size:clamp(1.15rem,2.4vw,1.7rem);letter-spacing:0}
.vil .dep{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.vil .fl{width:22px;height:22px;color:var(--porcelaine);opacity:.45;transition:opacity .18s,transform .18s}
.vil:hover .fl{opacity:1;transform:translateX(6px)}
.reseau-note{margin-top:30px;color:var(--gris);font-size:.95rem}
.reseau-note a{color:var(--porcelaine);border-bottom:1px solid var(--cyan)}

/* ==================== SCÈNE 05 — PAROLES ==================== */
.paroles blockquote{font-family:var(--disp);font-weight:500;font-size:clamp(1.25rem,2.9vw,2.2rem);
  line-height:1.42;max-width:32ch;letter-spacing:-.005em;min-height:5.6em}
.paroles blockquote::before{content:"« "}
.paroles blockquote::after{content:" »"}
.paroles .qui{margin-top:34px;display:flex;align-items:center;gap:16px}
.paroles .qui .p{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris-c)}
.paroles .nav-t{margin-top:40px;display:flex;gap:10px;align-items:center}
.paroles .nav-t button{width:44px;height:44px;border-radius:50%;border:1px solid var(--lignes-c);
  background:transparent;cursor:pointer;color:var(--encre);display:flex;align-items:center;justify-content:center;
  transition:border-color .15s,transform .12s}
.paroles .nav-t button:hover{border-color:var(--encre);transform:translateY(-1px)}
.paroles .compte{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:var(--gris-c);margin-left:10px}

/* ==================== SCÈNE 06 — LE GESTE (assistant) ==================== */
.geste{padding-bottom:140px}
.assistant{max-width:760px;margin:0 auto;border:1px solid var(--lignes);border-radius:18px;
  background:var(--carbone2);overflow:hidden}
.assistant .barre{height:3px;background:rgba(20,17,14,.10);position:relative}
.assistant .barre i{position:absolute;inset:0 auto 0 0;width:33%;background:var(--prisme);transition:width .35s ease}
.assistant .corps{padding:44px 48px 40px}
.assistant .idx{display:block;margin-bottom:20px}
.assistant h3{font-size:clamp(1.55rem,3vw,2.05rem);font-weight:600;margin-bottom:26px;letter-spacing:0}
.panneau{display:none}
.panneau.actif{display:block;animation:app .35s ease}
@keyframes app{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.choix{display:grid;gap:12px}
.choix-ill{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choix-ill input{position:absolute;opacity:0;pointer-events:none}
.choix-ill label{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px 18px;
  background:#FFFFFF;border:1px solid var(--lignes);border-radius:14px;cursor:pointer;
  text-align:center;transition:border-color .15s,background .15s}
.choix-ill label svg{width:78px;height:78px;stroke:var(--porcelaine);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.choix-ill label b{font-size:1.08rem;font-weight:700;letter-spacing:.01em}
.choix-ill input:checked+label{border-color:var(--cyan);background:rgba(218,41,28,.07)}
.choix-ill input:focus-visible+label{outline:2px solid var(--cyan);outline-offset:2px}
.note-degats{margin-top:16px;font-size:.85rem;color:var(--gris);line-height:1.6}
.schema-wrap{text-align:center}
.schema-auto{display:block;margin:0 auto;max-width:250px;width:78%}
.schema-auto .car{stroke:rgba(20,17,14,.55);fill:none;stroke-width:2}
.schema-auto .zone{fill:rgba(20,17,14,.07);stroke:rgba(20,17,14,.38);stroke-width:1.6;cursor:pointer;transition:fill .15s,stroke .15s}
.schema-auto .zone:hover{fill:rgba(20,17,14,.15)}
.schema-auto .zone.sel{fill:rgba(218,41,28,.22);stroke:var(--cyan)}
.zone-nom{margin-top:14px;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cyan);min-height:1.2em}
.autre-vitre{margin-top:10px;background:none;border:none;cursor:pointer;color:var(--gris);
  font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.autre-vitre:hover{color:var(--porcelaine)}
.choix input{position:absolute;opacity:0;pointer-events:none}
.choix label{cursor:pointer;padding:22px 22px 22px 60px;border:1px solid var(--lignes);border-radius:14px;
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:1.3rem;font-weight:700;
  line-height:1.25;transition:border-color .15s,background .15s;position:relative}
.choix label::before{content:"";position:absolute;left:20px;top:26px;width:22px;height:22px;border-radius:50%;
  border:2px solid rgba(20,17,14,.40);transition:border-color .15s,background .15s}
.choix input:checked+label{border-color:var(--cyan);background:rgba(218,41,28,.07)}
.choix input:checked+label::before{border-color:var(--cyan);
  background:radial-gradient(circle,var(--cyan) 0 42%,transparent 50%)}
.choix input:focus-visible+label{outline:2px solid var(--cyan);outline-offset:2px}
.choix label small{font-size:.96rem;font-weight:400;color:var(--gris);line-height:1.55;letter-spacing:.01em}
.choix label:hover{border-color:rgba(20,17,14,.4)}
.choix input:checked + label{border-color:transparent;
  background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,
             linear-gradient(90deg,#F03A2B,#DA291C) border-box}
.choix input:focus-visible + label{outline:2.5px solid var(--cyan);outline-offset:2px}
.champ{margin-bottom:18px}
.champ label{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gris);margin-bottom:9px}
.champ input,.champ select{width:100%;padding:16px 16px;border:1px solid var(--lignes);border-radius:10px;
  background:#FFFFFF;color:var(--porcelaine);font-family:var(--sans);font-size:1.02rem;
  transition:border-color .15s}
.champ input:focus,.champ select:focus{outline:none;border-color:var(--cyan)}
.champ select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 49%,var(--gris) 50%),linear-gradient(135deg,var(--gris) 50%,transparent 51%);background-position:calc(100% - 22px) 26px,calc(100% - 16px) 26px;background-size:6px 6px;background-repeat:no-repeat}
.champ select option{background:var(--carbone2);color:var(--porcelaine)}
.champ input[type=date]{color-scheme:light}
.quand{margin-top:22px}
.quand-titre{display:block;font-size:1.05rem;font-weight:600;margin-bottom:12px}
.choix-quand{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choix-quand input{position:absolute;opacity:0;pointer-events:none}
.choix-quand label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:18px 10px;border:1px solid var(--lignes);border-radius:14px;cursor:pointer;text-align:center;
  font-size:1.08rem;font-weight:700;transition:border-color .15s,background .15s}
.choix-quand label small{font-size:.8rem;font-weight:400;color:var(--gris)}
.choix-quand input:checked+label{border-color:var(--cyan);background:rgba(218,41,28,.07)}
.creneau{margin-top:14px}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:12px;align-items:flex-start;margin:8px 0 4px}
.consent input{margin-top:4px;width:17px;height:17px;accent-color:var(--cyan);flex-shrink:0;cursor:pointer}
.consent label{font-size:.82rem;color:var(--gris);line-height:1.6;cursor:pointer}
.consent b{color:var(--porcelaine);font-weight:600}
.consent a{text-decoration:underline;text-underline-offset:2px;color:var(--porcelaine)}
.assistant .pied{display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:32px;padding-top:26px;border-top:1px solid var(--lignes)}
.assistant .retour{background:none;border:none;cursor:pointer;color:var(--gris);
  font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;padding:10px 4px}
.assistant .retour:hover{color:var(--porcelaine)}
.assistant .retour[hidden]{visibility:hidden;display:block}
.err-msg{margin-top:20px;font-size:.84rem;color:#DA291C;font-weight:500}
.err-msg[hidden]{display:none}
.err-champ{margin:8px 0 0;font-size:.8rem;color:#DA291C;font-weight:500}
.champ input.ko,.champ select.ko{border-color:#DA291C}
.note-tel{display:block;margin-top:8px;font-size:.72rem;color:var(--gris);letter-spacing:.02em}
.fin-recap{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 auto 14px}
dialog#doc-modale,dialog#rappel-modale{max-width:640px;width:calc(100% - 40px);border:1px solid var(--lignes);border-radius:16px;
  background:var(--carbone2);color:var(--porcelaine);padding:28px 30px 22px}
dialog#doc-modale::backdrop,dialog#rappel-modale::backdrop{background:rgba(12,9,7,.75);backdrop-filter:blur(3px)}
.doc-tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}
.doc-tete h3{font-size:1.15rem;font-weight:500}
.doc-fermer{background:none;border:none;color:var(--gris);font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px}
.doc-fermer:hover{color:var(--porcelaine)}
#doc-corps{font-size:.92rem;color:rgba(20,17,14,.85);line-height:1.7}
#doc-corps p{max-width:none;margin-bottom:10px}
.doc-note{margin-top:16px;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.micro{margin-top:16px;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris);text-align:center}
.fin-ok{display:none;text-align:center;padding:70px 40px}
.fin-ok .rond{width:60px;height:60px;border-radius:50%;margin:0 auto 22px;position:relative}
.fin-ok .rond::before{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--prisme)}
.fin-ok .rond::after{content:"✓";position:absolute;inset:2px;border-radius:50%;background:var(--carbone2);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--porcelaine)}
.fin-ok h3{margin-bottom:10px}
.fin-ok p{color:var(--gris);margin:0 auto;font-size:.96rem}
.assistant.fini .corps,.assistant.fini .barre{display:none}
.assistant.fini .fin-ok{display:block}
.rassure{max-width:960px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rassure figure{margin:0}
.rassure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--lignes);display:block}
.rassure figcaption{margin-top:14px}
.rassure .rt{display:block;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--porcelaine);line-height:1.45}
.rassure .rs{display:block;margin-top:6px;font-size:.88rem;color:var(--gris);line-height:1.55}
@media (max-width:760px){.rassure{grid-template-columns:1fr;gap:26px;margin-top:44px}}

/* ==================== FAQ ==================== */
.faq details{border-top:1px solid var(--lignes)}
.faq details:last-child{border-bottom:1px solid var(--lignes)}
.faq summary{list-style:none;cursor:pointer;padding:26px 60px 26px 0;position:relative;
  display:grid;grid-template-columns:64px 1fr;gap:26px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary .qi{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:var(--gris)}
.faq summary .qt{font-family:var(--sans);font-weight:600;font-size:1.1rem;transition:color .15s}
.faq summary:hover .qt{color:var(--cyan)}
.faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-family:var(--disp);font-weight:300;font-size:1.5rem;color:var(--gris);transition:transform .25s,color .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);color:var(--cyan)}
.faq .rep{padding:0 0 30px 90px;color:var(--gris);font-size:.98rem;max-width:66ch}
.faq .rep a{color:var(--porcelaine);text-decoration:underline;text-underline-offset:2px}

/* ==================== PIED ==================== */
footer{border-top:1px solid var(--lignes);padding:76px 0 40px;position:relative}
footer .prisme-h{position:absolute;top:-1px;left:0}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:46px;margin-bottom:54px}
.foot-grid h3{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:500;color:var(--gris);margin-bottom:20px}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:11px}
.foot-grid a{font-size:.92rem;color:rgba(20,17,14,.8);transition:color .15s}
.foot-grid a:hover{color:var(--porcelaine)}
.foot-brand p{font-size:.9rem;color:var(--gris);max-width:30ch;margin-top:16px}
.transparence{border:1px solid var(--lignes);border-radius:12px;padding:20px 24px;margin-bottom:44px;
  display:flex;gap:16px;align-items:flex-start}
.transparence .pt{width:9px;height:9px;border-radius:50%;background:var(--prisme);flex-shrink:0;margin-top:7px}
.transparence p{font-size:.84rem;color:var(--gris);max-width:none}
.transparence b{color:rgba(20,17,14,.92);font-weight:600}
.foot-bas{border-top:1px solid var(--lignes);padding-top:26px;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:.78rem;color:#5C554D}

/* ==================== révélations ==================== */
.rev{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.rev.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none}}

/* ==================== responsive ==================== */
@media (max-width:1040px){
  .s2-grid{grid-template-columns:1fr;gap:20px}
  .s2-colle{position:static;display:flex;align-items:baseline;gap:26px}
  .s2-colle .grand-num{font-size:5rem}
  .s2-colle .grand-num b{display:none}
  .ligne-claire{grid-template-columns:1fr;gap:34px}
  .spec-l{grid-template-columns:1fr;gap:4px}
  .spec-l p{grid-column:1}
}
@media (max-width:1010px){nav.main,.nav-tel{display:none}}
@media (max-width:760px){
  .scene{padding:84px 0}
  nav.main,.nav-tel,header .btn,.burger,.menu-mobile{display:none}
  .nav-in{justify-content:flex-start;gap:0}
  .brand img{height:34px;width:105px;object-fit:cover;object-position:center}
  .s1-in{padding:110px 28px 44px}
  .s1 .chrome{top:86px}
  .s1 .chrome span:last-child{display:none}
  .hint-verre{position:static;writing-mode:horizontal-tb;margin:18px 0 0;order:3}
  .hint-verre::before{width:26px;height:1px}
  .deux{grid-template-columns:1fr}
  .assistant .corps{padding:32px 24px 30px}
  .vil{grid-template-columns:44px 1fr auto;row-gap:2px}
  .vil .dep{grid-column:2}
  .vil .fl{grid-row:1}
  .faq summary{grid-template-columns:44px 1fr;gap:16px;padding-right:44px}
  .faq .rep{padding-left:60px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .scene-tete{flex-direction:column;gap:10px}
}
@media (max-width:430px){.foot-grid{grid-template-columns:1fr}}
.tuiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tuile{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border:1px solid var(--lignes);
  border-radius:12px;background:var(--carbone2);transition:border-color .18s,transform .18s}
.tuile:hover{border-color:var(--cyan);transform:translateY(-2px)}
.tuile b{font-family:var(--disp);font-weight:700;font-size:.95rem;line-height:1.3}
.tuile span{color:var(--gris);font-size:.86rem;line-height:1.5}
.offre-bande .scene-tete{margin-bottom:34px}
.presta-ligne{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gris-c);margin:-26px 0 44px}
.prestas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.presta{display:flex;flex-direction:column;gap:10px;padding:26px 22px;border:1px solid var(--lignes-c);
  border-radius:12px;background:#FFFDF7}
.presta svg{width:44px;height:44px;stroke:var(--encre);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.presta h3{font-size:1.02rem}
.presta p{color:var(--gris-c);font-size:.9rem;line-height:1.55;flex:1}
.presta-cta{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--encre)}
.presta-cta:hover{color:var(--rouge)}
@media(max-width:960px){.tuiles,.prestas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tuiles,.prestas{grid-template-columns:1fr}}
.etiquette-wrap{display:flex;flex-direction:column;align-items:center;gap:30px;margin-bottom:64px}
.etiquette{max-width:680px;width:100%;background:#fff;border:1px solid var(--lignes);border-radius:6px;
  padding:34px 36px 26px;transform:rotate(-1.6deg);
  box-shadow:0 14px 40px rgba(20,17,14,.14),0 3px 10px rgba(20,17,14,.10)}
.et-rouge{background:var(--rouge);color:#fff;padding:26px 28px 22px;border-radius:4px;
  display:flex;flex-direction:column;gap:2px}
.et-rouge .et-l1{font-family:var(--disp);font-weight:700;font-size:clamp(1.7rem,5.2vw,3rem);
  line-height:1.04;text-transform:uppercase;letter-spacing:-.01em}
.et-rouge .et-ou{margin-top:14px;font-family:var(--disp);font-weight:500;font-size:clamp(1rem,3vw,1.5rem);text-transform:uppercase}
.et-rouge .et-ou b{font-weight:800;font-size:clamp(1.5rem,4.6vw,2.5rem)}
.et-rouge .et-ou i{font-style:normal;font-size:.7em;vertical-align:super}
.et-noir{margin-top:20px;display:flex;flex-direction:column}
.et-noir span{font-family:var(--disp);font-weight:700;font-size:clamp(1.15rem,3.6vw,2rem);
  line-height:1.12;text-transform:uppercase;color:var(--encre)}
.et-note{margin-top:16px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gris);max-width:none}
.et-cta{transform:rotate(0);font-size:.82rem;padding:19px 32px;font-weight:700}
@media (max-width:620px){.etiquette{padding:22px 20px 18px;transform:rotate(-1.2deg)}
  .et-rouge{padding:20px 18px 16px}.etiquette-wrap{margin-bottom:48px}}
dialog#rappel-modale{max-width:440px}
dialog#rappel-modale .fin-ok{display:none}
dialog#rappel-modale.fini #form-rappel{display:none}
dialog#rappel-modale.fini .fin-ok{display:block}
.geste-sous{font-size:1.06rem;color:var(--gris);margin:-34px 0 44px;max-width:52ch}
.geste-sous b{color:var(--porcelaine);font-weight:600}
.geste-boost{display:inline;font-weight:700;font-size:1.14em;color:var(--encre);
  background:linear-gradient(transparent 58%,rgba(218,41,28,.18) 58%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0;line-height:1.75}
.geste-boost b{color:var(--rouge);font-weight:800}
.etoile-note{width:100%;margin-top:12px;font-size:.82rem;color:rgba(23,19,16,.7);max-width:none;line-height:1.5}
.etoiles{font-size:1.3rem;letter-spacing:.2em;color:var(--rouge);margin-bottom:14px}
.assureurs{margin-top:26px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.geste-sous .urgence{display:inline-block;margin-top:12px;font-size:.92rem;font-weight:600;color:var(--porcelaine)}
.geste-sous .urgence::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rouge);margin-right:8px;vertical-align:1px}
@media (max-width:620px){
  .s1 h1{margin-bottom:14px}
  .s1 h1 .fin{margin-bottom:12px}
  .s1 .sous p{font-size:1rem}
  .s1 .sous .promo-200{padding:11px 16px;font-size:.9rem}
}
.note-creneau{margin-top:12px;font-size:.82rem;color:var(--gris)}
.note-creneau b{color:var(--porcelaine)}
.mail-note{margin-top:9px;font-size:.86rem;line-height:1.5;padding:11px 13px;border-radius:9px;
  background:#FFF7E8;border:1px solid #E8C980;color:var(--porcelaine)}
.mail-note.ko{background:#FDECEA;border-color:#F0A69C}
.mail-note b{font-weight:700}
.mail-fix{display:block;margin-top:9px;background:var(--rouge);color:#fff;border:0;border-radius:99px;
  padding:9px 18px;font-family:var(--sans);font-size:.82rem;font-weight:700;cursor:pointer}
.mail-fix:hover{background:#B22015}
.gagne[hidden]{display:none}
.gagne{display:flex;flex-direction:column;gap:8px;margin-top:22px;padding:24px 26px;border-radius:14px;
  background:#141210;color:#fff;border-left:3px solid var(--rouge);animation:gagneFondu .28s ease-out}
.gagne-t{font-family:var(--disp);font-weight:800;font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.1}
.gagne-s{font-size:.98rem;line-height:1.55;color:rgba(255,255,255,.85)}
.gagne-s b{color:#fff}
.gagne-z{margin-top:4px;font-family:var(--disp);font-weight:700;font-size:1.25rem}
.gagne-z b{color:#FFB020;font-size:1.6em}
@keyframes gagneFondu{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.acquis{margin:-4px 0 18px;padding:11px 16px;border-radius:99px;background:#F1F7F2;border:1px solid #BFDCC6;
  color:#1B7A3D;font-weight:700;font-size:.9rem;max-width:none}
@media (prefers-reduced-motion: reduce){.gagne{animation:none}}
.wordmark{font-family:'Barlow Logo',Archivo,sans-serif;font-style:italic;font-weight:900;
  letter-spacing:.01em;font-size:1.5rem;line-height:1;display:inline-flex;align-items:baseline}
.wordmark .wm-n{color:#141210}
.wordmark .wm-r{color:var(--rouge)}
footer .wordmark .wm-n{color:#fff}

/* ==================== SOUS-PAGES SEO ==================== */
.page-hero{padding:150px 0 56px;background:var(--carbone2);border-bottom:1px solid var(--lignes)}
.page-hero h1{font-size:clamp(1.7rem,4.2vw,2.9rem);max-width:22ch;margin:14px 0 18px}
.page-hero h1 .fin{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rouge);font-weight:500;margin-bottom:14px}
.page-hero .sous-p{max-width:62ch;color:var(--gris);font-size:1.04rem;margin-bottom:26px}
.page-hero .actions-p{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.fil{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.fil a{border-bottom:1px solid var(--lignes)}
.fil span[aria-current]{color:var(--porcelaine)}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:34px}
.loc-c{background:var(--carbone2);border:1px solid var(--lignes);border-radius:14px;padding:26px 24px}
.loc-c h3{font-size:1.02rem;margin-bottom:10px}
.loc-c p{font-size:.95rem;color:var(--gris)}
.corps p+p{margin-top:14px}
.corps{max-width:70ch}
.cta-bande{background:var(--encre);color:#fff;padding:56px 0}
.cta-bande h2{color:#fff;font-size:clamp(1.3rem,3vw,2rem);max-width:26ch;margin-bottom:20px}
.cta-bande p{color:rgba(255,255,255,.75);margin-bottom:22px;max-width:60ch}
.bloc-de{border-left:4px solid var(--rouge);padding:18px 22px;background:var(--carbone2);border-radius:0 12px 12px 0;margin-top:30px}
.bloc-de h2,.bloc-de h3{font-size:1.05rem;margin-bottom:8px}
.bloc-de p{font-size:.95rem;color:var(--gris)}

/* ==================== v8 — overrides design (pages villes) ==================== */
html{overflow-x:clip}
.rge{color:var(--rouge)}
.adr-todo{color:#8a6d00;background:#fff6d8;padding:1px 7px;border-radius:4px;border:1px dashed #d4b106;font-size:.92em;white-space:nowrap}
.page-hero .corps,.scene .corps h3{}
.corps h3{font-size:1.05rem;margin:18px 0 6px}
/* formulaire flotte */
.flotte-sec{padding:72px 0}
.flotte-card{max-width:920px;margin:0 auto;background:#16181D;color:#fff;border-radius:20px;padding:48px 52px;overflow:hidden}
.flotte-tete{margin-bottom:28px}
.flotte-tete .fin{color:#8B93A0;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:12px}
.flotte-tete h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.4rem);margin:0 0 12px;letter-spacing:-.5px}
.flotte-tete p{color:#C9CDD4;font-size:1rem;line-height:1.6;max-width:62ch}
.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flotte-form .champ{margin-bottom:16px}
.flotte-form label{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#8B93A0;margin-bottom:8px}
.flotte-form input,.flotte-form select{width:100%;padding:15px 16px;border:2px solid #262A31;border-radius:12px;background:#1B1E24;color:#fff;font-family:var(--sans);font-size:1rem;transition:border-color .15s}
.flotte-form input::placeholder{color:#5B6472}
.flotte-form input:focus,.flotte-form select:focus{outline:none;border-color:var(--rouge)}
.flotte-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 49%,#8B93A0 50%),linear-gradient(135deg,#8B93A0 50%,transparent 51%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.flotte-form select option{background:#1B1E24;color:#fff}
.flotte-form #fl-hp{position:absolute;left:-6000px;width:1px;height:1px;opacity:0}
.flotte-form .consent{display:flex;gap:12px;align-items:flex-start;margin:18px 0 6px}
.flotte-form .consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--rouge);flex-shrink:0;cursor:pointer}
.flotte-form .consent label{font-family:var(--sans);font-size:.85rem;letter-spacing:0;text-transform:none;color:#8B93A0;line-height:1.55;margin:0;cursor:pointer}
.flotte-form .consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.flotte-form .err-msg{color:#ff7a6e;font-size:.86rem;margin:10px 0 0;font-weight:500}
.flotte-form .err-msg[hidden]{display:none}
.flotte-form .btn{margin-top:20px}
.flotte-form .micro{margin-top:14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#5B6472;text-align:center}
.flotte-ok{text-align:center;padding:30px 10px}
.flotte-ok[hidden]{display:none}
.flotte-ok .rond-ok{width:56px;height:56px;border-radius:50%;background:var(--rouge);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;margin:0 auto 16px}
.flotte-ok h3{color:#fff;font-size:1.6rem;margin-bottom:10px}
.flotte-ok p{color:#C9CDD4;max-width:440px;margin:0 auto;line-height:1.55}
@media(max-width:640px){.flotte-card{padding:34px 24px}.fl-grid{grid-template-columns:1fr}}
/* modale rappel */
dialog#rappel-modale{max-width:440px;width:calc(100% - 40px);margin:auto;border:1px solid var(--lignes);border-radius:16px;background:var(--carbone2);color:var(--porcelaine);padding:28px 30px 22px}
dialog#rappel-modale::backdrop{background:rgba(12,9,7,.75);backdrop-filter:blur(3px)}
#rappel-modale .doc-tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
#rappel-modale .doc-tete h3{font-size:1.15rem;font-weight:600;margin:0}
#rappel-modale .doc-fermer{background:none;border:none;color:var(--gris);font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px}
#rappel-modale .doc-fermer:hover{color:var(--porcelaine)}
#rappel-modale .champ{margin-bottom:16px}
#rappel-modale label{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:8px}
#rappel-modale input{width:100%;padding:15px 16px;border:1px solid var(--lignes);border-radius:10px;background:#fff;color:var(--porcelaine);font-family:var(--sans);font-size:1rem}
#rappel-modale input:focus{outline:none;border-color:var(--rouge)}
#rappel-modale .consent{display:flex;gap:12px;align-items:flex-start;margin:8px 0 4px}
#rappel-modale .consent input{width:17px;height:17px;margin-top:4px;accent-color:var(--rouge);flex-shrink:0;cursor:pointer}
#rappel-modale .consent label{font-family:var(--sans);font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--gris);line-height:1.6;margin:0;cursor:pointer}
#rappel-modale .consent b{color:var(--porcelaine)}
#rappel-modale .err-msg{color:#DA291C;font-size:.84rem;margin-top:10px;font-weight:500}
#rappel-modale .err-msg[hidden]{display:none}
#rappel-modale .micro{margin-top:14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);text-align:center}
#rappel-modale .fin-ok{display:none;text-align:center;padding:20px 6px}
#rappel-modale .fin-ok .rond{width:56px;height:56px;border-radius:50%;background:var(--rouge);margin:0 auto 16px;position:relative}
#rappel-modale .fin-ok .rond::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:800}
#rappel-modale .fin-ok h3{margin-bottom:10px}
#rappel-modale .fin-ok p{color:var(--gris);font-size:.95rem;line-height:1.5}
#rappel-modale.fini #form-rappel{display:none}
#rappel-modale.fini .fin-ok{display:block}
/* tableau comparatif */
.cmp-wrap{overflow-x:auto;margin-top:8px}
.cmp{width:100%;border-collapse:collapse;font-size:.95rem;min-width:640px}
.cmp th,.cmp td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--lignes);vertical-align:top}
.cmp thead th{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);border-bottom:2px solid var(--lignes)}
.cmp td:first-child{font-weight:600;color:var(--porcelaine);width:26%}
.cmp .cmp-us{background:#FDF1F0;border-left:2px solid var(--rouge);border-right:2px solid var(--rouge)}
.cmp thead .cmp-us{color:var(--rouge);border-top:2px solid var(--rouge);background:#FDF1F0}
.cmp tbody tr:last-child .cmp-us{border-bottom:2px solid var(--rouge)}
.cmp-note{margin-top:14px;font-size:.82rem;color:var(--gris);line-height:1.5}
@media(max-width:640px){.cmp{font-size:.88rem}}
/* pastilles villes (reseau) */
.reseau{counter-reset:none;display:flex;flex-wrap:wrap;gap:12px}
.reseau .vil{display:inline-flex;align-items:baseline;gap:8px;background:#fff;border:1px solid var(--lignes);border-radius:100px;padding:12px 20px;color:var(--porcelaine);grid-template-columns:none}
.reseau .vil::before{display:none}
.reseau .vil::after{display:none}
.reseau .vil:hover{border-color:var(--rouge);color:var(--rouge);padding-left:20px}
.reseau .vil .nom{font-family:var(--sans);font-weight:700;font-size:.97rem;letter-spacing:0}
.reseau .vil .dep{color:#9A948E}
.reseau .vil .fl{display:none}
/* pré-footer CTA */
.prefooter{padding:0 0 90px}
.prefooter .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.prefooter-card{position:relative;height:380px;border-radius:20px;overflow:hidden;background:#16181D}
.prefooter-img{position:absolute;right:-140px;top:50%;transform:translateY(-50%);width:1150px;max-width:none;height:auto}
.prefooter-voile{position:absolute;inset:0;background:linear-gradient(90deg,#16181D 0%,#16181D 42%,rgba(22,24,29,.55) 66%,rgba(22,24,29,0) 88%)}
.prefooter-in{position:absolute;left:64px;top:0;bottom:0;width:520px;max-width:calc(100% - 96px);display:flex;flex-direction:column;justify-content:center;gap:22px;z-index:2}
.kick-str{display:flex;align-items:center;gap:10px}
.str2{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.str2 i{display:block;height:3px;transform:skewX(-30deg)}
.str2 i:nth-child(1){width:18px;background:var(--rouge)}
.str2 i:nth-child(2){width:11px;background:#7A2018}
.kick-txt{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#C9CDD4}
.prefooter-in h2{color:#fff;font-family:var(--disp);font-weight:800;font-size:clamp(2rem,4vw,2.75rem);line-height:1.04;letter-spacing:-.5px}
.prefooter-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.tel-saira{font-family:'Barlow Logo',sans-serif;font-style:italic;font-weight:900;font-size:1.3rem;color:#fff;letter-spacing:.02em}
.tel-saira:hover{color:var(--rouge)}
.sep-streak{height:4px;background:#16181D;position:relative}
.sep-streak span{position:absolute;left:96px;top:-4px;display:flex;gap:6px}
.sep-streak i{display:block;height:12px;background:var(--rouge);transform:skewX(-30deg)}
.sep-streak i:nth-child(1){width:34px}
.sep-streak i:nth-child(2){width:20px;opacity:.55}
.sep-streak i:nth-child(3){width:10px;opacity:.28}
/* footer sombre v8 */
footer{background:#16181D;color:#fff;border-top:none;padding:72px 0 60px;position:relative;overflow:hidden}
footer .prisme-h,footer .foot-banniere{display:none}
.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:56px;margin-bottom:0;position:relative;z-index:2}
.foot-brand{display:flex;flex-direction:column;gap:18px}
.foot-logo{display:flex;align-items:center;gap:8px}
.foot-logo .str2 i{height:3.5px}
.foot-logo .str2 i:nth-child(1){width:20px}
.foot-logo .str2 i:nth-child(2){width:12px;background:#7A2018}
.foot-word{font-family:'Barlow Logo',sans-serif;font-style:italic;font-weight:900;font-size:1.6rem;color:#fff;line-height:1;letter-spacing:.02em}
.foot-word b{color:var(--rouge)}
.foot-word span{color:#C9CDD4}
.foot-brand p{font-size:.94rem;line-height:1.6;color:#8B93A0;max-width:300px;margin:0}
.foot-tel{font-family:'Barlow Logo',sans-serif;font-style:italic;font-weight:900;font-size:1.3rem;color:var(--rouge);letter-spacing:.02em}
.foot-tel:hover{color:#fff}
.foot-grid h3{color:#5B6472;font-size:.68rem;margin-bottom:18px}
.foot-grid a{color:#C9CDD4}
.foot-grid a:hover{color:#fff}
.foot-legal{margin-top:56px;padding:22px 0;border-top:1px solid #262A31;display:flex;justify-content:space-between;align-items:center;gap:32px;position:relative;z-index:2}
.foot-legal p{font-size:.8rem;line-height:1.5;color:#5B6472;max-width:760px;margin:0}
.foot-legal p b{color:#8B93A0}
.foot-cp{font-family:var(--mono);font-size:.72rem;color:#5B6472;flex-shrink:0}
.foot-cp a{color:#8B93A0;text-decoration:none;border-bottom:1px solid #3A3E46;transition:color .15s,border-color .15s}
.foot-cp a:hover{color:var(--rouge);border-color:var(--rouge)}
.foot-mark{position:absolute;left:0;right:0;bottom:18px;top:auto;text-align:center;font-family:'Barlow Logo',sans-serif;font-style:italic;font-weight:900;font-size:clamp(2.4rem,13vw,8rem);line-height:.8;color:transparent;-webkit-text-stroke:1.5px #23272E;white-space:nowrap;pointer-events:none;z-index:1}
.foot-mark b{-webkit-text-stroke:1.5px #3A1613}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:600px){
  .prefooter-card{height:auto;min-height:360px}
  .prefooter-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;opacity:1;right:auto;top:auto;transform:none}
  .prefooter-voile{background:linear-gradient(180deg,rgba(22,24,29,0) 0%,rgba(22,24,29,.10) 22%,rgba(22,24,29,.92) 44%,#16181D 64%)}
  .prefooter-in{position:relative;left:auto;width:auto;max-width:none;padding:150px 26px 34px;justify-content:flex-end;gap:14px;align-items:center;text-align:center}
  .prefooter-cta{justify-content:center}
  .prefooter-in .kick-str{justify-content:center}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .foot-legal{flex-direction:column;align-items:flex-start;gap:12px}
}
