/* cab-site.css · page /cab (cab.html) et accueil personnalisé /cab/<code> (cab-code.html), 29 oct. 2026.
   Charte DA06 : chargé après site-da06.css. Vocabulaire repris de l'accueil (bloc T1-CAB, lecteur cpt-v
   de a-propos.css) plutôt que réinventé. Aucune ombre sauf la feuille de la lettre, rayon 3 px. */

/* ---------- Hero : la lettre reçue et le code ---------- */
.cab-hero{padding-top:calc(var(--nav-h) + clamp(40px,5vw,72px))}
.cab-hero-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:center}
.cab-k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--or-f)}
.cab-hero h1{margin:14px 0 0;font-size:clamp(38px,5.4vw,70px);line-height:1.02;letter-spacing:-.03em;color:var(--navy);text-wrap:balance}
.cab-hero .dit{margin:22px 0 0;font-size:17.5px;max-width:52ch}
.cab-hero .dit b{font-weight:600;color:var(--navy)}

/* le formulaire du code (deux exemplaires : hero et bloc des prix) */
.cab-f{margin-top:30px;max-width:560px}
.cab-f-l{display:block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.cab-f-row{display:flex;gap:10px}
.cab-in{flex:0 1 230px;min-width:0;min-height:54px;padding:0 14px;font-family:var(--mono);font-size:19px;letter-spacing:.16em;text-transform:uppercase;background:var(--creme);border:1px solid var(--navy);border-radius:var(--r);color:var(--encre)}
.cab-in::placeholder{color:var(--encre-3)}
.cab-in:focus-visible{outline:2px solid var(--violet);outline-offset:1px}
.cab-f-row .btn{min-height:54px;flex:none}
.cab-err{min-height:20px;margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9B1C1C}
.cab-err:empty{min-height:0;margin:0}
.cab-memo{margin:8px 0 0;font-size:14.5px;color:var(--encre-2)}
.cab-memo[hidden]{display:none}
.cab-memo b{font-family:var(--mono);font-weight:500;letter-spacing:.1em;color:var(--navy)}
.cab-aides{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:10px}
.cab-aide{background:none;border:0;padding:0;min-height:44px;font:inherit;font-size:14.5px;color:var(--navy);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px;cursor:pointer}
.cab-aide:hover{color:var(--violet)}
.cab-promo{display:flex;gap:12px;align-items:flex-start;margin-top:26px;max-width:560px;padding:14px 16px;background:var(--creme);border:1px solid var(--filet);border-left:3px solid var(--or);border-radius:var(--r);font-size:15px;line-height:1.5;color:var(--encre-2)}
.cab-promo b{color:var(--navy);font-weight:600}
.cab-promo svg{flex:none;width:20px;height:20px;margin-top:1px;stroke:var(--or-f);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* la lettre en miniature : le code encadré en haut à droite, l'adresse /cab et le QR en bas */
.cab-lettre{position:relative;justify-self:center;width:min(380px,100%)}
.cab-a4{position:relative;aspect-ratio:210/297;background:#fff;border:1px solid var(--filet);box-shadow:0 22px 40px -26px rgba(27,20,38,.5);padding:7% 7.5% 6%;display:flex;flex-direction:column;color:var(--encre);overflow:hidden}
.cab-a4 .l-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6%}
.cab-a4 .l-exp{display:flex;flex-direction:column;gap:5px;padding-top:2%}
.cab-a4 .l-logo{display:flex;align-items:center;gap:6px;font-family:"Geist",var(--sans);font-weight:600;font-size:13px;letter-spacing:-.025em;line-height:1}
.cab-a4 .l-logo img{width:18px;height:18px}
.cab-a4 .l-logo .s1{color:var(--navy)}.cab-a4 .l-logo .s2{color:var(--violet)}
.cab-a4 .l-code{position:relative;flex:none;width:47%;padding:5px 7px 6px;border:2px solid var(--or);border-radius:2px;text-align:center}
.cab-a4 .l-code small{display:block;font-family:var(--mono);font-size:7.5px;letter-spacing:.14em;color:var(--encre-2);line-height:1.3}
.cab-a4 .l-code strong{display:block;margin-top:2px;font-family:var(--mono);font-size:clamp(12px,1.25vw,15px);font-weight:500;letter-spacing:.1em;color:var(--navy);line-height:1.2;white-space:nowrap}
.cab-a4 .l-code:after{content:"";position:absolute;inset:-7px;border:2px solid var(--violet);border-radius:4px;opacity:0;animation:cabPulse 2.8s ease-out 1s infinite}
@keyframes cabPulse{0%{opacity:.8;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.cab-a4 .l-code:after{animation:none;opacity:.6}}
.cab-a4 b.ln{display:block;height:3px;border-radius:1px;background:#E6E1EC}
.cab-a4 b.ln.ad{background:#B9B2C4}
.cab-a4 .l-adr{display:flex;flex-direction:column;gap:5px;align-self:flex-end;width:44%;margin-top:9%}
.cab-a4 .l-date{margin-top:9%;font-size:8.5px;line-height:1.2;color:var(--encre-2)}
.cab-a4 .l-ttl{height:5px;width:82%;margin-top:7%;background:var(--navy);border-radius:1px}
.cab-a4 .l-txt{display:flex;flex-direction:column;gap:5px;margin-top:5%}
.cab-a4 .l-box{margin-top:6%;padding:6px 7px;border:1px solid #D9D3E2;display:flex;flex-direction:column;gap:4px}
.cab-a4 .l-box b.ln:first-child{width:38%;background:var(--navy)}
.cab-a4 .l-txt+.l-txt{margin-top:4%}
.cab-a4 b.ln.pu{margin-left:6%}
.cab-a4 .l-acc{position:relative;margin-top:5%;display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #E6E1EC;border-bottom:1px solid #E6E1EC}
.cab-a4 .l-pied{margin-top:auto;display:flex;flex-direction:column;gap:3px}
.cab-a4 .l-pied b.ln{height:2px}
.cab-a4 .l-qr{flex:none;width:30px;height:30px;border:1.5px solid var(--navy);background:conic-gradient(var(--navy) 25%,transparent 0 50%,var(--navy) 0 75%,transparent 0) 0 0/6px 6px}
.cab-a4 .l-url{font-family:var(--mono);font-size:8.5px;letter-spacing:.04em;line-height:1.35;color:var(--navy)}
.cab-a4 .l-url b{font-weight:500}
.cab-a4 .l-sig{margin-top:4%;font-family:var(--serif);font-style:italic;font-size:13px;line-height:1;color:var(--navy)}
.cab-a4 .mk{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--violet);color:#fff;font-family:var(--mono);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;z-index:2}
.cab-a4 .mk1{top:5.2%;right:2%}
.cab-a4 .mk2{top:50%;right:0;margin-top:-11px}
.cab-lettre figcaption{margin-top:16px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.45;color:var(--encre-2)}
.cab-lettre figcaption span{display:flex;gap:9px;align-items:baseline}
.cab-lettre figcaption i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--violet);color:#fff;font-style:normal;font-family:var(--mono);font-size:10px;display:inline-flex;align-items:center;justify-content:center;transform:translateY(3px)}

/* ---------- Ce que disait notre lettre ---------- */
.cab-angles{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--navy)}
.cab-angles>div{display:flex;flex-direction:column;padding:22px clamp(14px,1.6vw,24px) 6px;border-right:1px solid var(--filet)}
.cab-angles>div:first-child{padding-left:0}
.cab-angles>div:last-child{border-right:0;padding-right:0}
.cab-angles .q{font-family:var(--serif);font-size:clamp(21px,1.9vw,25px);line-height:1.12;letter-spacing:-.015em;color:var(--navy)}
.cab-angles p{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--encre-2)}
.cab-angles .cta-lien{margin-top:auto;padding-top:10px}
.cab-tous{margin-top:clamp(28px,3.4vw,44px);padding-top:18px;border-top:1px solid var(--filet);display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:12px 26px;align-items:start}
.cab-tous .t{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-f);padding-top:3px}
.cab-tous a{display:block;font-size:15px;line-height:1.45;color:var(--encre);text-decoration:underline;text-decoration-color:var(--filet);text-underline-offset:3px}
.cab-tous a:hover{color:var(--violet);text-decoration-color:var(--violet)}

/* ---------- Deux colonnes : média et liste ---------- */
.cab-2{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:start}
.cab-2>*{min-width:0}
.cab-media{display:flex;flex-direction:column;gap:14px}
.cab-acts{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.cab-li{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cab-li li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--filet)}
.cab-li li:last-child{border-bottom:1px solid var(--filet)}
.cab-li .ic{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--navy)}
.cab-li .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cab-li h3{font-family:var(--sans);font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-li p{margin:4px 0 0;font-size:15px;line-height:1.55;color:var(--encre-2)}
.cab-sub{margin:28px 0 10px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-f)}
.cab-sub:first-child{margin-top:0}
.cab-puces{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.cab-puces li{position:relative;padding-left:20px;font-size:15px;line-height:1.5;color:var(--encre-2)}
.cab-puces li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:5px;border-left:1.6px solid var(--vert);border-bottom:1.6px solid var(--vert);transform:rotate(-45deg)}
.cab-links{margin-top:22px;display:flex;flex-wrap:wrap;gap:4px 26px}

/* lecteur de vidéo (vocabulaire cpt-v / cpt-ov de a-propos.css) */
.cpt-v{display:flex;flex-direction:column;gap:12px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}
.cpt-v[hidden]{display:none}
.cpt-v .th{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--navy)}
.cpt-v .th img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cpt-v .pl{position:absolute;left:22px;bottom:22px;width:64px;height:64px;border-radius:50%;background:var(--or);color:var(--encre);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.cpt-v .pl svg{width:22px;height:22px;margin-left:2px}
.cpt-v .du{position:absolute;right:12px;bottom:12px;padding:3px 7px;border-radius:2px;background:rgba(27,20,38,.82);color:var(--creme);font-family:var(--mono);font-size:10.5px;letter-spacing:.06em}
.cpt-v .t{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4;color:var(--encre)}
.cpt-v .s{display:block;margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--encre-2)}
.cpt-v:hover .th img{transform:scale(1.03)}
.cpt-v:hover .pl{background:var(--violet);color:var(--blanc)}
.cpt-v:hover .t{color:var(--violet)}
.cpt-v:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.cpt-ov{position:fixed;inset:0;z-index:300;background:rgba(27,20,38,.92);display:flex;align-items:center;justify-content:center;padding:clamp(12px,4vw,48px)}
.cpt-ov[hidden]{display:none}
.cpt-ov-in{width:min(1100px,100%)}
.cpt-ov-f{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden}
.cpt-ov-f video,.cpt-ov-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.cpt-ov-b{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;color:var(--creme)}
.cpt-ov-b p{margin:0;font-size:15px;font-weight:600}
.cpt-ov-x{min-width:44px;min-height:44px;padding:0 16px;border:1px solid rgba(251,246,236,.5);border-radius:var(--r);background:none;color:var(--creme);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cpt-ov-x:hover{border-color:var(--or);color:var(--or)}

/* capture cliquable qui ouvre une démo (vocabulaire dsy-shot de demo-poste.css) */
.cab-shot{position:relative;display:block;width:100%;padding:0;border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;background:var(--navy);cursor:pointer}
.cab-shot img{display:block;width:100%;height:auto;transition:transform .5s}
.cab-shot .go{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:var(--or);color:var(--encre);border-radius:var(--r);font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.cab-shot .go svg{width:14px;height:14px}
.cab-shot:hover img{transform:scale(1.02)}
.cab-shot:hover .go{background:var(--violet);color:var(--blanc)}
.cab-shot-t{font-size:15px;line-height:1.5;color:var(--encre-2)}
.cab-shot-t b{color:var(--encre);font-weight:600}

/* ---------- Gestion locative : la passerelle syndic, même tiers, gérance ---------- */
.cab-pont{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch}
.cab-pont>div{padding:20px 20px 22px;background:var(--blanc);border:1px solid var(--filet);border-top:3px solid var(--navy);border-radius:var(--r)}
.cab-pont>div.gl{border-top-color:var(--vert)}
.cab-pont>div.mid{border-top-color:var(--or)}
.cab-pont .k{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--encre-3)}
.cab-pont h3{margin-top:8px;font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-pont p{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:var(--encre-2)}
.cab-pont i{display:flex;align-items:center;justify-content:center;color:var(--or-f)}
.cab-pont i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sf-gl{color:var(--vert)}

/* ---------- Peron (navy) ---------- */
.sec.cab-peron{padding:clamp(40px,5vw,64px) 0}
.cab-peron-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px clamp(28px,4vw,64px);align-items:center}
.cab-peron h2{font-size:clamp(26px,2.8vw,36px);line-height:1.08;letter-spacing:-.025em;color:var(--blanc);max-width:none}
.cab-peron .cta-lien{margin-top:8px}
.cab-chif{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(14px,2vw,28px)}
.cab-chif li{padding-left:16px;border-left:1px solid rgba(251,246,236,.25);display:flex;flex-direction:column;gap:6px;font-size:14.5px;line-height:1.4;color:rgba(251,246,236,.8)}
.cab-chif b{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,46px);line-height:1;letter-spacing:-.02em;color:var(--or)}

/* ---------- Conquête : tableau d'exemple ---------- */
.cab-tab{width:100%;border-collapse:collapse;font-size:15px}
.cab-tab caption{caption-side:top;text-align:left;padding-bottom:10px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--encre-3)}
.cab-tab th{text-align:left;padding:9px 10px 9px 0;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-3);border-bottom:1px solid var(--navy);white-space:nowrap}
.cab-tab td{padding:12px 10px 12px 0;border-bottom:1px solid var(--filet);color:var(--encre);vertical-align:top}
.cab-tab td.n,.cab-tab th.n{text-align:right;padding-right:16px}
.cab-tab .tg{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12.5px;line-height:1.5;white-space:nowrap}
.cab-tab .tg.ex{background:#F7E7E7;color:#8B1E1E}
.cab-tab .tg.be{background:#E8F1EC;color:#17603F}
.cab-tab .tg.fi{background:#F6EEDC;color:#7A5A16}
.cab-tab-w{overflow-x:auto}
.cab-note{margin:14px 0 0;font-size:14px;line-height:1.5;color:var(--encre-3)}
.cab-etapes{list-style:none;margin:0;padding:0;counter-reset:e}
.cab-etapes li{counter-increment:e;display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid var(--filet)}
.cab-etapes li:last-child{border-bottom:1px solid var(--filet)}
.cab-etapes li:before{content:counter(e);width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--creme);font-family:var(--mono);font-size:12px;display:flex;align-items:center;justify-content:center}
.cab-etapes h3{font-family:var(--sans);font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-etapes p{margin:4px 0 0;font-size:15px;line-height:1.55;color:var(--encre-2)}

/* ---------- Avis Google : le cercle et les règles ---------- */
.cab-cercle{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--filet);border-radius:var(--r);background:var(--creme)}
.cab-cercle>div{position:relative;padding:20px 22px 22px;border-right:1px solid var(--filet)}
.cab-cercle>div:last-child{border-right:0;background:#EEF5F0}
.cab-cercle b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--or-f)}
.cab-cercle h3{margin-top:6px;font-family:var(--sans);font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-cercle p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--encre-2)}
.cab-cercle .st{color:#C68A16;letter-spacing:.12em;font-size:15px;margin-top:4px}
.cab-moments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cab-moments li{display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--creme);border:1px solid var(--filet);border-radius:var(--r);font-size:15.5px;color:var(--encre)}
.cab-moments li svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Téléphonie ---------- */
.cab-cap{margin:0;display:grid;grid-template-columns:326px minmax(0,1fr);gap:clamp(18px,2.4vw,30px);align-items:start}
.cab-cap img{display:block;width:326px;max-width:100%;height:auto;border:1px solid var(--filet);border-top:3px solid var(--violet);border-radius:var(--r);background:#fff}
.cab-cap figcaption{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.55;color:var(--encre-2)}
.cab-cap figcaption b{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--or-f)}
.cab-cap figcaption .cta-lien{margin-top:4px}
@media(max-width:1180px) and (min-width:901px){.cab-cap{grid-template-columns:1fr}}
@media(max-width:560px){.cab-cap{grid-template-columns:1fr}.cab-cap img{margin:0 auto}}

/* ---------- Reprise : le schéma ---------- */
.cab-flux{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch}
.cab-flux>div{padding:20px 20px 22px;border:1px solid var(--filet);border-radius:var(--r);background:var(--creme)}
.cab-flux>div.ia{border-color:var(--violet);background:#F4F0FC}
.cab-flux>div.ok{border-color:var(--vert);background:#EEF5F0}
.cab-flux h3{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-flux p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--encre-2)}
.cab-flux i{display:flex;align-items:center;justify-content:center;color:var(--or-f)}
.cab-flux i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cab-ctr{margin-top:clamp(28px,3vw,40px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px)}
.cab-ctr h3{font-family:var(--sans);font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-ctr p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--encre-2)}

/* ---------- Prix ---------- */
.cab-pub{margin:clamp(36px,4.4vw,56px) 0 0;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--encre-3)}
.cab-pub:after{content:"";flex:1;height:1px;background:var(--filet)}
.cab-prix{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.cab-prix>div{display:flex;flex-direction:column;padding:0 clamp(20px,2.4vw,32px) 24px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);overflow:hidden}
.cab-prix .hd{display:flex;align-items:center;gap:16px;margin:0 calc(-1 * clamp(20px,2.4vw,32px)) 22px;padding:18px clamp(20px,2.4vw,32px);color:var(--blanc)}
.cab-prix .sy .hd{background:var(--navy);border-bottom:4px solid var(--or)}
.cab-prix .gl .hd{background:var(--vert);border-bottom:4px solid #13633F}
.cab-prix .hd img{flex:none;width:52px;height:52px;padding:4px;background:var(--blanc);border-radius:var(--r)}
.cab-prix .hd h3{margin:0;font-size:clamp(30px,3.2vw,42px);line-height:1.02;letter-spacing:-.02em;color:var(--blanc)}
.cab-prix .k{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--encre-3)}
.cab-prix .v{margin:8px 0 0;font-family:var(--serif);font-size:clamp(46px,5vw,64px);line-height:1;letter-spacing:-.02em;color:var(--navy)}
.cab-prix .gl .v{color:#17603F}
.cab-prix .sp{margin-top:auto;padding:12px 14px;border:1px dashed var(--or-f);border-radius:var(--r);background:var(--creme);font-size:14.5px;line-height:1.45;font-weight:600;color:var(--navy)}
.cab-prix ul+.sp{margin-top:18px}
.cab-prix .sp:after{content:" →";color:var(--or-f)}
.cab-prix .sp:hover{border-color:var(--violet);color:var(--violet)}
.cab-prix .u{margin:6px 0 0;font-size:15px;color:var(--encre-2)}
.cab-prix ul{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--filet)}
.cab-prix li{padding:9px 0;border-bottom:1px solid var(--filet);font-size:15px;line-height:1.45;color:var(--encre-2)}
.cab-ia{margin-top:clamp(16px,2vw,24px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px 32px;padding:20px clamp(20px,2.4vw,32px);border:1px solid var(--filet);border-radius:var(--r)}
.cab-ia h3{font-family:var(--sans);font-size:16.5px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cab-ia p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--encre-2)}
.cab-ia ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;align-content:center}
.cab-ia li{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.cab-px-f{margin:14px 0 0;font-size:14px;color:var(--encre-3)}
.cab-special{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px clamp(28px,4vw,64px);align-items:center;padding:clamp(26px,3.4vw,44px) clamp(22px,3.4vw,48px);background:var(--navy);border-top:4px solid var(--or);border-radius:var(--r);color:var(--creme)}
.cab-special .k{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.cab-special h3{margin-top:12px;font-size:clamp(28px,3.2vw,40px);line-height:1.06;letter-spacing:-.02em;color:var(--blanc)}
.cab-special p{margin:14px 0 0;font-size:16px;line-height:1.6;color:rgba(251,246,236,.82)}
.cab-special .cab-f{margin-top:0}
.cab-special .cab-f-l{color:var(--or)}
.cab-special .cab-in{background:var(--creme);border-color:var(--or)}
.cab-special .cab-err{color:#FFB4B4}
.cab-special .cab-memo{color:rgba(251,246,236,.82)}
.cab-special .cab-memo b{color:var(--or)}
.cab-special .cab-aide{color:var(--creme)}
.cab-special .cab-aide:hover{color:var(--or)}

/* ---------- Fin de page ---------- */
.cab-signe{margin:26px 0 0;font-size:15px;color:var(--encre-2)}
.cab-signe a{text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}

/* ---------- Fenêtre « Code perdu » / « Pas reçu de courrier » ---------- */
.cab-dlg{position:fixed;inset:0;z-index:310;background:rgba(27,20,38,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.cab-dlg[hidden]{display:none}
.cab-dlg-b{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--creme);border-top:3px solid var(--or);border-radius:var(--r);padding:clamp(22px,3vw,34px)}
.cab-dlg-b h2{font-size:clamp(26px,3vw,34px);line-height:1.08;color:var(--navy)}
.cab-dlg-b>p{margin:10px 0 0;font-size:15.5px;line-height:1.55;color:var(--encre-2)}
.cab-fm{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.cab-fm label{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.cab-fm label.w{grid-column:1/-1}
.cab-fm label small{font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;color:var(--encre-3);font-weight:400}
.cab-fm input,.cab-fm textarea{width:100%;min-height:46px;padding:10px 12px;font:inherit;font-family:var(--sans);font-size:16px;letter-spacing:0;text-transform:none;color:var(--encre);background:var(--blanc);border:1px solid #CFC4AE;border-radius:var(--r)}
.cab-fm textarea{min-height:84px;resize:vertical}
.cab-fm input:focus-visible,.cab-fm textarea:focus-visible{outline:2px solid var(--violet);outline-offset:1px;border-color:var(--violet)}
.cab-fm [aria-invalid="true"]{border-color:#9B1C1C}
.cab-fm-acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:6px}
.cab-fm-err{grid-column:1/-1;margin:0;font-size:14px;color:#9B1C1C}
.cab-fm-err[hidden]{display:none}
.cab-ok h3{font-size:28px;color:var(--navy)}
.cab-ok p{margin:10px 0 0;font-size:15.5px;line-height:1.55;color:var(--encre-2)}

/* ---------- Accueil personnalisé /cab/<code> (cab-code.html) ---------- */
.cco-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:start}
.cco-reg{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;border-top:1px solid var(--navy)}
.cco-reg[hidden]{display:none}
.cco-reg>div{padding:14px 14px 0 0}
.cco-reg b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(36px,4vw,52px);line-height:1;color:var(--navy)}
.cco-reg span{display:block;margin-top:6px;font-size:14.5px;color:var(--encre-2)}
.cco-reg p{grid-column:1/-1;margin:12px 0 0;font-size:13.5px;color:var(--encre-3)}
.cco-box{padding:clamp(22px,3vw,34px);background:var(--creme);border:1px solid var(--filet);border-top:3px solid var(--or);border-radius:var(--r)}
.cco-box h2{font-size:clamp(26px,2.8vw,34px);line-height:1.08;color:var(--navy)}
.cco-box>p{margin:10px 0 0;font-size:15.5px;line-height:1.55;color:var(--encre-2)}
.cco-suite{margin-top:clamp(28px,3.4vw,44px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.cco-suite>a,.cco-suite>button{display:flex;flex-direction:column;gap:8px;padding:22px;text-align:left;font:inherit;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r);color:var(--encre);cursor:pointer}
.cco-suite h3{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--navy)}
.cco-suite p{margin:0;font-size:15px;line-height:1.5;color:var(--encre-2)}
.cco-suite .cta-lien{margin-top:auto}
.cco-suite>a:hover,.cco-suite>button:hover{border-color:var(--violet)}
.cco-suite>a:hover h3,.cco-suite>button:hover h3{color:var(--violet)}

/* ---------- Petits écrans ---------- */
@media(max-width:1100px){
  .cab-angles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cab-angles>div{padding:22px 20px 20px 0;border-right:0;border-bottom:1px solid var(--filet)}
  .cab-angles>div:nth-child(odd){padding-right:24px;border-right:1px solid var(--filet)}
  .cab-angles>div:nth-child(even){padding-left:24px}
  .cab-tous{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cab-tous .t{grid-column:1/-1}
  .cab-cercle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cab-cercle>div:nth-child(2){border-right:0}
  .cab-cercle>div:nth-child(-n+2){border-bottom:1px solid var(--filet)}
}
@media(max-width:900px){
  .cab-hero-g,.cab-2,.cco-g,.cab-peron-g{grid-template-columns:1fr}
  .cab-lettre{width:min(340px,100%)}
  .cab-pont,.cab-flux{grid-template-columns:1fr}
  .cab-pont i,.cab-flux i{height:34px;transform:rotate(90deg)}
  .cab-ia{grid-template-columns:1fr}
  .cab-special{grid-template-columns:1fr}
  .cab-ctr,.cco-suite{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cab-hero h1{font-size:clamp(34px,10vw,44px)}
  .cab-lettre{width:min(290px,100%)}
  .cab-tab{font-size:14px}
  .cab-tab .tg{white-space:normal}
  .cab-tab td.n,.cab-tab th.n{padding-right:8px}
  .cab-angles{grid-template-columns:1fr}
  .cab-angles>div,.cab-angles>div:nth-child(odd),.cab-angles>div:nth-child(even){padding:20px 0;border-right:0}
  .cab-tous{grid-template-columns:1fr}
  .cab-puces{grid-template-columns:1fr}
  .cab-chif{grid-template-columns:1fr;row-gap:16px}
  .cab-cercle{grid-template-columns:1fr}
  .cab-cercle>div{border-right:0;border-bottom:1px solid var(--filet)}
  .cab-cercle>div:last-child{border-bottom:0}
  .cab-prix{grid-template-columns:1fr}
  .cab-ia ul{grid-template-columns:1fr}
  .cab-f-row{flex-direction:column}
  .cab-in{flex:none;width:100%}
  .cab-f-row .btn{justify-content:center}
  .cab-fm{grid-template-columns:1fr}
  .cco-reg{grid-template-columns:1fr 1fr}
  .cpt-v .pl{width:52px;height:52px;left:14px;bottom:14px}
}

/* ---------- Repris de index.html : T1-TOE, T1-EC, T1-EQ (cpt-une, t1-bio, t1-fx, t1-links), T1-10 (t1-eco2) ---------- */
.t1-links{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:34px}
.t1-fx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:40px 0 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.t1-fx div{padding:14px 18px 14px 0}
.t1-fx dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--or-f)}
.t1-fx dd{margin:6px 0 0;color:var(--encre)}
@media(max-width:900px){.t1-ill{grid-template-columns:1fr}.t1-ill img{max-width:460px}.t1-fx{grid-template-columns:repeat(2,minmax(0,1fr))}}
.t1-toe-c{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:stretch;margin-top:clamp(32px,4vw,52px)}
.t1-toe-p{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.6vw,32px);border-radius:var(--r)}
.t1-toe-p>h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,30px);line-height:1.1}
.t1-toe-p.av{background:#EFEDF3;border:1px solid var(--filet)}.t1-toe-p.av>h3{color:var(--encre)}
.t1-toe-p.ap{background:var(--navy);color:var(--creme)}.t1-toe-p.ap>h3{color:var(--blanc)}
.t1-toe-k{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.t1-toe-k span{padding:7px 12px;border-radius:999px;font-size:14px;font-weight:600}
.av .t1-toe-k span{background:var(--blanc);color:#9E2A25;border:1px solid rgba(200,52,46,.35)}
.ap .t1-toe-k span{background:var(--or);color:var(--navy)}
.t1-toe-fl{display:grid;place-items:center}
.t1-toe-fl svg{width:28px;height:28px;fill:none;stroke:var(--or-f);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t1-toe-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(28px,3.4vw,44px)}
.t1-toe-g>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.t1-toe-g .ic{width:52px;height:52px;border-radius:50%;background:var(--navy);color:var(--or);display:flex;align-items:center;justify-content:center}
.t1-toe-g .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.t1-toe-g h3{margin:4px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,27px);line-height:1.12;color:var(--navy);text-wrap:balance}
.t1-toe-g p{margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--encre-2);text-wrap:pretty}
@media(max-width:980px){.t1-toe-c{grid-template-columns:minmax(0,1fr)}.t1-toe-fl{padding:12px 0}.t1-toe-fl svg{transform:rotate(90deg)}.t1-toe-g{grid-template-columns:minmax(0,1fr)}}
.t1-toe-dr{display:block;width:100%;height:auto}
.t1-toe-dr .tel{transform-box:fill-box;transform-origin:50% 100%;animation:t1toeT 1.4s ease-in-out infinite}
.t1-toe-dr .ring{animation:t1toeR 1.4s ease-in-out infinite}
.t1-toe-dr .err{animation:t1toeR 1s steps(2,jump-none) infinite}
.t1-toe-dr .sw{animation:t1toeS 1.6s ease-in infinite}.t1-toe-dr .s2{animation-delay:.55s}.t1-toe-dr .s3{animation-delay:1.1s}
.t1-toe-dr .fly{transform-box:fill-box;transform-origin:50% 50%;animation:t1toeF 3.2s ease-in-out infinite}.t1-toe-dr .f2{animation-duration:2.6s;animation-delay:.4s}.t1-toe-dr .f3{animation-duration:3.8s;animation-delay:.9s}.t1-toe-dr .f4{animation-duration:2.9s;animation-delay:1.3s}
.t1-toe-dr .bub{transform-box:fill-box;transform-origin:30% 100%;animation:t1toeB 2.4s ease-in-out infinite}
@keyframes t1toeT{0%,45%,100%{transform:rotate(0) translateY(0)}5%,15%,25%,35%{transform:rotate(-6deg) translateY(-4px)}10%,20%,30%,40%{transform:rotate(6deg) translateY(-4px)}}
@keyframes t1toeR{0%,100%{opacity:1}50%{opacity:.15}}
@keyframes t1toeS{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(22px);opacity:0}}
@keyframes t1toeF{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(5deg)}}
@keyframes t1toeB{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(prefers-reduced-motion:reduce){.t1-toe-dr *{animation:none!important}}
.t1-toe-p.ap .t1-toe-dr{border-radius:6px}
.t1-toe-dr .ob-bd{transform-box:view-box;transform-origin:420px 342px;animation:obB 5s ease-in-out infinite}@keyframes obB{0%,100%{transform:scale(1)}50%{transform:scale(1.012,1.018)}}
.t1-toe-dr .ob-ey{transform-box:fill-box;transform-origin:center;animation:obE 6s infinite}@keyframes obE{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.1)}}
.t1-toe-dr .ob-cup{transform-box:view-box;transform-origin:452px 288px;animation:obC 8s ease-in-out infinite}@keyframes obC{0%,60%,100%{transform:rotate(0)}72%,84%{transform:rotate(-7deg)}}
.t1-toe-dr .ob-tk{opacity:0;transform-box:fill-box;transform-origin:center;animation:obT 10s ease-out infinite}@keyframes obT{0%{opacity:0;transform:scale(.4)}5%,90%{opacity:1;transform:scale(1)}97%,100%{opacity:0;transform:scale(1)}}
.t1-toe-dr .ob-bub{animation:obU 6s ease-in-out infinite}@keyframes obU{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.t1-toe-dr .ob-pl{transform-box:view-box;transform-origin:496px 316px;animation:obP 7s ease-in-out infinite}@keyframes obP{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.t1-toe-dr .ob-ph{transform-box:fill-box;transform-origin:center;animation:obH 5s ease-in-out infinite}@keyframes obH{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.ob-st{animation:obS 2.4s ease-in-out infinite}@keyframes obS{0%,100%{opacity:.2;transform:translateY(4px)}50%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.ob-st{animation:none}}
.t1-ec-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(28px,3.4vw,44px)}
.t1-ec-t{display:flex;flex-direction:column;gap:22px}
.t1-ec-av{padding:20px 22px;background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r)}
.t1-ec-av h3,.t1-ec-h{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,30px);line-height:1.1;color:var(--navy)}
.t1-ec-av p{margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--encre-2);text-wrap:pretty}
.t1-ec-x{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.t1-ec-x li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;padding:14px 18px;background:var(--navy);border-radius:var(--r);color:var(--creme);font-size:17px;line-height:1.45}
.t1-ec-x b{font-family:var(--serif);font-weight:400;font-size:clamp(36px,3.4vw,46px);line-height:1;color:var(--or)}
.t1-ec-c{margin:0;font-size:17px;line-height:1.6;color:var(--encre);text-wrap:pretty}
.t1-ec-f{margin:0;padding:clamp(14px,2vw,24px);background:var(--blanc);border:1px solid var(--filet);border-radius:var(--r)}
.t1-ec-f svg{display:block;width:100%;height:auto}
.t1-ec-f figcaption{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:10px;font-size:15px;color:var(--encre-2)}
.t1-ec-f figcaption span{display:flex;align-items:center;gap:8px}
.t1-ec-f figcaption i{display:block;width:26px;height:5px;border-radius:3px}.t1-ec-f .nw{background:#6D28D9}.t1-ec-f .od{background:#8A8799}
.t1-ec-f .ln{stroke-dasharray:700;stroke-dashoffset:0}
.t1-ec-f.go .ln{animation:t1ecL 2.4s ease-out both}.t1-ec-f.go .gap,.t1-ec-f.go .lb{animation:t1ecG 1s 2s ease-out both}
@keyframes t1ecL{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}@keyframes t1ecG{from{opacity:0}}
.t1-ec-k{margin:clamp(28px,3.4vw,44px) 0 0;padding:20px 24px;border-radius:var(--r);background:var(--navy);color:var(--blanc);font-size:clamp(18px,1.6vw,21px);line-height:1.5;text-wrap:pretty}
.t1-ec-k b{font-weight:500}
@media(max-width:900px){.t1-ec-g{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.t1-ec-f.go .ln,.t1-ec-f.go .gap,.t1-ec-f.go .lb{animation:none}}
.t1-eco2 a{gap:22px}
.t1-eco2 .lk{display:flex;align-items:center;gap:18px}
.t1-eco2 .lk img{width:88px;height:88px;object-fit:contain;flex:none;margin:0}
.t1-eco2 .nm{display:flex;flex-direction:column;gap:6px;min-width:0}
.t1-eco2 h3.lgt{margin:0;font-family:"Geist",var(--sans),sans-serif;font-weight:600;font-style:normal;font-size:clamp(22px,2vw,28px);line-height:1.05;letter-spacing:-.025em;white-space:nowrap}
.t1-eco2 .lgt span{font-style:normal}
.t1-eco2 .lgt .sy{color:#1D4263}.t1-eco2 .lgt .li{color:#6D28D9}
.t1-eco2 .lgt .sf-syndic{color:#EFBF6E}.t1-eco2 .lgt .sf-locatif{color:#1F8A5B}.t1-eco2 .lgt .sf-transaction{color:#2A6FDB}
@media(max-width:1100px){.t1-eco2 h3.lgt{white-space:normal}}
.t1-eco2 .ds{font-size:14.5px;line-height:1.35;color:var(--encre-2)}
.t1-eco2 .el{margin-top:auto}
.cpt-une{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(32px,4vw,52px)}
.cpt-une-txt p{margin:0 0 16px;font-size:16px;line-height:1.7;color:var(--encre-2);max-width:46ch;text-wrap:pretty}
.cpt-une-txt .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--or-f);margin-bottom:14px}
@media(max-width:900px){.cpt-une{grid-template-columns:1fr}}
.cpt-une-txt .t1-links{margin-top:22px}
.t1-bio{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet)}
.t1-bio li{padding:11px 0;border-bottom:1px solid var(--filet);font-size:16px;line-height:1.45;color:var(--encre);text-wrap:pretty}

/* ---------- Ajustements propres à /cab ---------- */
.cab-eco h3.lgt{white-space:normal}
.cab-br{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.cab-br .t1-toe-k{margin-top:0}
.cab-br-n{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.av .cab-br-n{color:#9E2A25}
.ap .cab-br-n{color:var(--or)}
