/* L’accueil de marque réutilise intégralement ja.css, la charte de l’accueil Toulouse.
   Compléments limités à l’accessibilité et à l’implantation du contenu de marque. */
.brand-home .skip-link{position:fixed;left:16px;top:-100px;z-index:150;background:var(--ink);color:#fff;padding:12px 18px}
.brand-home .skip-link:focus{top:12px}
.brand-home .brand-address{position:relative;flex:1;min-width:0;max-width:620px;margin:0 auto;scroll-margin-top:100px}
.brand-home .brand-address .msearch{position:relative;width:100%;max-width:none;margin:0;gap:0;padding:0 12px 0 0;cursor:text}
.brand-home .brand-address .msearch:focus-within{box-shadow:0 0 0 2px var(--red)}
.brand-home .brand-search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.brand-home #brand-address{min-width:0;width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:600 16px var(--f-body);padding:11px 0}
.brand-home #brand-address::placeholder{color:#6E6E73;opacity:1}
.brand-home .brand-search-submit{display:grid;place-items:center;flex:none;width:44px;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.brand-home .brand-search-submit:hover,.brand-home .brand-search-submit:focus-visible{background:var(--red-soft);outline:2px solid var(--red);outline-offset:-2px}
.brand-home .brand-search-submit:disabled{cursor:wait;opacity:.55}
.brand-home .brand-search-feedback{position:absolute;top:calc(100% + 10px);left:0;right:0;display:grid;gap:10px;max-height:calc(100dvh - 160px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--muted);box-shadow:var(--shadow);font:500 14px/1.5 var(--f-body);cursor:default}
.brand-home .brand-search-feedback .brand-search-title{color:var(--ink);font-size:16px;font-weight:800}
.brand-home .brand-search-feedback .store-chooser-status{min-height:0;margin:0}
.brand-home .brand-feature{padding-bottom:clamp(64px,9vw,112px)}
.brand-home .brand-blush{background:var(--blush)}
.brand-home .brand-faq-intro{display:grid;gap:22px}
.brand-home .brand-footer-intro{display:grid;gap:16px;align-content:start}
.brand-home .brand-footer-intro>.logo{justify-self:start}
.brand-home .brand-footer-intro b{color:#fff}
.brand-home #address-alternative{font-size:14px;color:var(--red);font-weight:700}
.brand-home .final .eyebrow{color:#fff}
.brand-home .final>.btns{justify-content:center}
.brand-home .cartbtn{text-decoration:none}
.brand-home .msearch{text-decoration:none}
.brand-home #address-status:empty{display:none}
@media(max-width:760px){.brand-home .mnav:not([hidden]){position:fixed;inset:58px 0 auto;z-index:49;max-height:calc(100dvh - 128px);overflow:auto}.brand-home .newcard .btn{max-width:100%}}

/* Bloc concept : fond noir, cartes rouges au contour lumineux, icônes SVG. */
.brand-home .concept-nuit{position:relative;background:#0b0b0b;color:#fff;overflow:clip}
.brand-home .concept-nuit::before{content:"";position:absolute;inset:auto 0 0;height:60%;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(200,4,11,.22),transparent 70%);pointer-events:none}
.brand-home .concept-nuit .wrap{position:relative}
.brand-home .concept-nuit .eyebrow{color:#FF5A60}.brand-home .concept-nuit .eyebrow::before{background:#FF5A60}
.brand-home .concept-nuit h2{color:#fff}.brand-home .concept-nuit h2 em{color:var(--red-hot)}
.brand-home .concept-nuit .concept-cheers{display:inline-block;width:.8em;height:.8em;vertical-align:-.04em;color:var(--red-hot)}
.brand-home .concept-nuit .lead{color:#d7d7d7}
.brand-home .concept-nuit .newgrid{gap:20px}
.brand-home .concept-nuit .newcard{position:relative;gap:12px;padding:24px;border:1px solid rgba(255,90,96,.75);border-radius:22px;background:linear-gradient(160deg,#C8040B 0%,#B0030A 50%,#8E0007 100%);color:#fff;box-shadow:0 0 0 1px rgba(227,18,26,.35),0 0 22px rgba(227,18,26,.45),0 0 60px rgba(200,4,11,.22);transition:transform .25s ease,box-shadow .25s ease}
.brand-home .concept-nuit .newcard:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(255,90,96,.6),0 0 30px rgba(227,18,26,.7),0 0 80px rgba(200,4,11,.35)}
.brand-home .concept-nuit .newcard h3{color:#fff}
.brand-home .concept-nuit .newcard p{color:#FFE3E1}
.brand-home .concept-nuit .ni{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:0}
.brand-home .concept-nuit .ni svg{width:28px;height:28px}
@media(prefers-reduced-motion:reduce){.brand-home .concept-nuit .newcard{transition:none}.brand-home .concept-nuit .newcard:hover{transform:none}}

/* Fond blanc de l'accueil : gouttes de condensation discrètes. Les sections colorées gardent leur fond. */
body.brand-home{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cdefs%3E%3CradialGradient id='d' cx='.36' cy='.3' r='.8'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.55' stop-color='%23f5f1f1'/%3E%3Cstop offset='1' stop-color='%23e3d9d9'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='translate(34 42)'%3E%3Cellipse cx='1.2' cy='1.8' rx='7' ry='9' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='7' ry='9' fill='url(%23d)'/%3E%3Cellipse cx='-2.4' cy='-3.6' rx='2.0' ry='1.8' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(122 26)'%3E%3Cellipse cx='1.2' cy='1.8' rx='4' ry='5' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='4' ry='5' fill='url(%23d)'/%3E%3Cellipse cx='-1.4' cy='-2.0' rx='1.1' ry='1.0' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(204 66)'%3E%3Cellipse cx='1.2' cy='1.8' rx='10' ry='12' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='10' ry='12' fill='url(%23d)'/%3E%3Cellipse cx='-3.5' cy='-4.8' rx='2.8' ry='2.4' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(72 128)'%3E%3Cellipse cx='1.2' cy='1.8' rx='5' ry='6' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='5' ry='6' fill='url(%23d)'/%3E%3Cellipse cx='-1.8' cy='-2.4' rx='1.4' ry='1.2' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(162 150)'%3E%3Cellipse cx='1.2' cy='1.8' rx='8' ry='10' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='8' ry='10' fill='url(%23d)'/%3E%3Cellipse cx='-2.8' cy='-4.0' rx='2.2' ry='2.0' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(232 206)'%3E%3Cellipse cx='1.2' cy='1.8' rx='4' ry='5' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='4' ry='5' fill='url(%23d)'/%3E%3Cellipse cx='-1.4' cy='-2.0' rx='1.1' ry='1.0' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(44 212)'%3E%3Cellipse cx='1.2' cy='1.8' rx='9' ry='11' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='9' ry='11' fill='url(%23d)'/%3E%3Cellipse cx='-3.1' cy='-4.4' rx='2.5' ry='2.2' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(124 232)'%3E%3Cellipse cx='1.2' cy='1.8' rx='3' ry='4' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='3' ry='4' fill='url(%23d)'/%3E%3Cellipse cx='-1.0' cy='-1.6' rx='0.8' ry='0.8' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(240 118)'%3E%3Cellipse cx='1.2' cy='1.8' rx='3' ry='4' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='3' ry='4' fill='url(%23d)'/%3E%3Cellipse cx='-1.0' cy='-1.6' rx='0.8' ry='0.8' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(98 78)'%3E%3Cellipse cx='1.2' cy='1.8' rx='2.5' ry='3' fill='%231B1011' fill-opacity='.06'/%3E%3Cellipse rx='2.5' ry='3' fill='url(%23d)'/%3E%3Cellipse cx='-0.9' cy='-1.2' rx='0.7' ry='0.6' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");background-size:260px 260px}

/* Rythme vertical commun : un seul écart entre deux blocs, le même à l'intérieur des sections colorées. */
.brand-home{--bh-gap:clamp(56px,7vw,96px)}
.brand-home main>section:not(.national-hero){padding-block:0;margin-block:var(--bh-gap)}
.brand-home main>section:is(.concept-nuit,.blushsec){padding-block:var(--bh-gap);margin-block:0}

/* Icônes SVG au trait remplaçant les emoji : taille liée au texte, couleur héritée. */
.brand-home .ic{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em}
.brand-home h2>.ic,.brand-home summary>.ic,.brand-home .mnav a>.ic,.brand-home .feature li>span>.ic{color:var(--red)}
.brand-home h2>.ic{width:.8em;height:.8em;vertical-align:-.04em;margin-left:.08em}
.brand-home summary>.ic{width:1.15em;height:1.15em;margin:0 auto 0 .4em}
.brand-home .mnav a>.ic{margin-right:8px}
.brand-home .ticker p span>.ic{width:.9em;height:.9em;margin-right:.25em;vertical-align:-.08em}
.brand-home .feature li>span{font-size:22px}
.brand-home .steps .n>.ic{width:42px;height:42px;color:var(--ink)}
.brand-home .occ .big>.ic{width:56px;height:56px}
.brand-home .final .em>.ic{width:1em;height:1em;color:#fff;opacity:.9}
.brand-home .final h2>.ic,.brand-home .help h3>.ic{color:#fff}
.brand-home footer .ic{color:#FF5A60}
.brand-home .age18{display:inline-grid;place-items:center;min-width:28px;height:20px;margin-right:6px;padding:0 5px;border:1.5px solid #FF5A60;border-radius:6px;color:#fff;font:800 11px/1 var(--f-body);letter-spacing:.02em;vertical-align:1px}

/* Style « bloc nuit » inversé : fond rouge, cartes noires au contour lumineux. */
.brand-home .marque-rouge{position:relative;background:var(--red);color:#fff;overflow:clip}
.brand-home .marque-rouge::before{content:"";position:absolute;inset:auto 0 0;height:65%;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(60,0,4,.45),transparent 70%);pointer-events:none}
.brand-home .marque-rouge .wrap{position:relative}
.brand-home .marque-rouge .eyebrow{color:#fff}.brand-home .marque-rouge .eyebrow::before{background:#fff}
.brand-home .marque-rouge h2{color:#fff}.brand-home .marque-rouge h2 em{color:#0b0b0b}.brand-home .marque-rouge h2>.ic{color:#0b0b0b}
.brand-home .marque-rouge .lead{color:#FFE3E1}
.brand-home .marque-rouge .newgrid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.brand-home .marque-rouge .newgrid{grid-template-columns:1fr}}
.brand-home .marque-rouge .newcard{position:relative;gap:12px;padding:26px;border:1px solid rgba(255,138,142,.85);border-radius:22px;background:linear-gradient(160deg,#1c1012 0%,#0b0b0b 60%);color:#fff;box-shadow:0 0 0 1px rgba(255,90,96,.45),0 0 26px rgba(255,150,150,.38),0 20px 44px rgba(60,0,4,.45);transition:transform .25s ease,box-shadow .25s ease}
.brand-home .marque-rouge .newcard:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(255,138,142,.8),0 0 34px rgba(255,170,170,.55),0 24px 50px rgba(60,0,4,.5)}
.brand-home .marque-rouge .newcard h3{color:#fff}
.brand-home .marque-rouge .newcard p{color:#d7d7d7}
.brand-home .marque-rouge .ni{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--red);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:28px}
.brand-home .marque-rouge .note{position:relative;margin:28px 0 0;color:#FFE3E1}.brand-home .marque-rouge .note a{color:#fff;font-weight:700}
.brand-home main>section.marque-rouge{padding-block:var(--bh-gap);margin-block:0}
@media(prefers-reduced-motion:reduce){.brand-home .marque-rouge .newcard{transition:none}.brand-home .marque-rouge .newcard:hover{transform:none}}

/* Bloc franchise : deux colonnes, titre réduit, visuel « réseau » animé autour de Toulouse. */
.brand-home .final--reseau{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(24px,4vw,56px);justify-items:stretch;padding:clamp(36px,5vw,64px) clamp(24px,5vw,64px);isolation:isolate;background:radial-gradient(circle at 78% 45%,rgba(255,255,255,.14),transparent 46%),linear-gradient(135deg,#d3060e 0%,var(--red) 45%,#a3030a 100%)}
.brand-home .final--reseau::before{content:"";position:absolute;inset:-40% -10%;z-index:-1;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.12),transparent 40%);animation:fr-sheen 12s ease-in-out infinite alternate;pointer-events:none}
.brand-home .final--reseau .final-text{display:grid;gap:20px;justify-items:start;min-width:0}
.brand-home .final--reseau .eyebrow::before{background:#fff}
.brand-home .final--reseau h2{font-size:clamp(38px,4.4vw,64px);line-height:.95;max-width:14ch}
.brand-home .final--reseau h2>.ic{width:.7em;height:.7em}
.brand-home .final--reseau .final-text>p{font-size:17px;line-height:1.55;max-width:48ch;margin:0}
.brand-home .final--reseau .btns{display:flex;flex-wrap:wrap;gap:12px}
.brand-home .final-visual{position:relative;width:100%;max-width:420px;aspect-ratio:1;justify-self:center}
.brand-home .final-visual svg{display:block;width:100%;height:100%;overflow:visible}
.brand-home .fv-rings circle{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1.5}
.brand-home .fv-rings .fv-orbit{stroke:rgba(255,255,255,.3);stroke-dasharray:3 9;transform-origin:200px 200px;animation:fr-spin 40s linear infinite}
.brand-home .fv-lines path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-dasharray:4 6;animation:fr-flow 2.4s linear infinite}
.brand-home .fv-pin circle{fill:#fff}
.brand-home .fv-pin .fv-pulse{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:fr-pulse 2.8s ease-out infinite}
.brand-home .fv-pin:nth-of-type(4) .fv-pulse{animation-delay:.6s}.brand-home .fv-pin:nth-of-type(5) .fv-pulse{animation-delay:1.2s}
.brand-home .fv-pin:nth-of-type(6) .fv-pulse{animation-delay:1.8s}.brand-home .fv-pin:nth-of-type(7) .fv-pulse{animation-delay:2.4s}
.brand-home .fv-core{fill:#fff}
.brand-home .fv-core-glow{fill:rgba(255,255,255,.18);transform-box:fill-box;transform-origin:center;animation:fr-breathe 3.2s ease-in-out infinite}
.brand-home .fv-label{font:800 italic 18px var(--f-disp,sans-serif);text-transform:uppercase;letter-spacing:.04em;fill:#fff}
.brand-home .fv-label--soft{font-size:15px;fill:rgba(255,255,255,.85)}
.brand-home .final--reseau .em{font-size:clamp(34px,3.6vw,48px);display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.28);box-shadow:0 10px 26px rgba(80,0,4,.35)}
.brand-home .final--reseau .em>.ic{width:.8em;height:.8em}
.brand-home .final--reseau .em.a{top:2%;right:8%}.brand-home .final--reseau .em.b{bottom:4%;right:auto;left:4%}.brand-home .final--reseau .em.c{bottom:22%;right:-2%}
/* Entrée au défilement (navigateurs compatibles uniquement ; sinon affichage direct). */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 .brand-home .final--reseau{view-timeline-name:--reseau;animation:fr-in linear both;animation-timeline:--reseau;animation-range:cover 0px cover 320px}
 .brand-home .final--reseau .final-text>*{animation:fr-up linear both;animation-timeline:--reseau;animation-range:cover 60px cover 360px}
 .brand-home .final--reseau .final-text>h2{animation-range:cover 100px cover 400px}
 .brand-home .final--reseau .final-text>p{animation-range:cover 140px cover 440px}
 .brand-home .final--reseau .final-text>.btns{animation-range:cover 180px cover 480px}
 .brand-home .final-visual{animation:fr-zoom linear both;animation-timeline:--reseau;animation-range:cover 80px cover 480px}
}}
@keyframes fr-in{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fr-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fr-zoom{from{opacity:0;transform:scale(.85) rotate(-6deg)}to{opacity:1;transform:none}}
@keyframes fr-spin{to{transform:rotate(360deg)}}
@keyframes fr-flow{to{stroke-dashoffset:-20}}
@keyframes fr-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
@keyframes fr-breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.15);opacity:1}}
@keyframes fr-sheen{from{transform:translate(-6%,-4%)}to{transform:translate(8%,6%)}}
@media(max-width:860px){.brand-home .final--reseau{grid-template-columns:1fr}.brand-home .final-visual{max-width:300px}}
@media(max-width:700px){.brand-home .final--reseau .em{display:grid;font-size:30px}}
@media(prefers-reduced-motion:reduce){.brand-home .final--reseau,.brand-home .final--reseau *,.brand-home .final--reseau::before{animation:none!important}}

/* Modules « L'apéro selon toi » : style nuit inversé (fond rouge, carte noire lumineuse) et défilement. */
.brand-home .selection-rouge{position:relative;background:var(--red);color:#fff;overflow:clip}
.brand-home .selection-rouge::before{content:"";position:absolute;inset:auto 0 0;height:65%;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(60,0,4,.45),transparent 70%);pointer-events:none}
.brand-home .selection-rouge .wrap{position:relative}
.brand-home main>section.selection-rouge{padding-block:var(--bh-gap);margin-block:0}
.brand-home .selection-rouge .feature{border:1px solid rgba(255,138,142,.85);background:linear-gradient(160deg,#1c1012 0%,#0b0b0b 60%);color:#fff;box-shadow:0 0 0 1px rgba(255,90,96,.45),0 0 26px rgba(255,150,150,.38),0 20px 44px rgba(60,0,4,.45)}
.brand-home .selection-rouge .feature .pic{background:#0b0b0b}
.brand-home .selection-rouge .feature .txt .eyebrow{color:#FF5A60}.brand-home .selection-rouge .feature .txt .eyebrow::before{background:#FF5A60}
.brand-home .selection-rouge .feature h2{color:#fff}.brand-home .selection-rouge .feature h2 em{color:var(--red-hot)}.brand-home .selection-rouge .feature h2>.ic{color:var(--red-hot)}
.brand-home .selection-rouge .feature .lead{color:#d7d7d7}
.brand-home .selection-rouge .feature li{color:#fff}
.brand-home .selection-rouge .feature li>span{background:var(--red);color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:none}
.brand-home .selection-rouge .feature li>span>.ic{color:#fff}
.brand-home .selection-rouge .feature .note{color:#bdbdbd}
/* Avec JavaScript : modules superposés (hauteur stable), un seul visible et interactif. */
.brand-home .selection-rouge.sel-js .sel-track{display:grid}
.brand-home .selection-rouge.sel-js .sel-slide{grid-area:1/1;position:relative;z-index:0;visibility:hidden;transition:visibility 0s linear .6s}
.brand-home .selection-rouge.sel-js .sel-slide.is-active{z-index:1;visibility:visible;transition:none;animation:sel-fade .55s ease both}
.brand-home .selection-rouge.sel-js .sel-slide:not(.is-active)>*{opacity:0;transition:opacity .2s ease}
.brand-home .selection-rouge.sel-js .sel-slide.is-active .txt>*{animation:sel-up .55s cubic-bezier(.2,.7,.2,1) both}
.brand-home .selection-rouge.sel-js .sel-slide.is-active .txt>:nth-child(2){animation-delay:.05s}.brand-home .selection-rouge.sel-js .sel-slide.is-active .txt>:nth-child(3){animation-delay:.1s}
.brand-home .selection-rouge.sel-js .sel-slide.is-active .txt>:nth-child(4){animation-delay:.15s}.brand-home .selection-rouge.sel-js .sel-slide.is-active .txt>:nth-child(n+5){animation-delay:.2s}
.brand-home .selection-rouge.sel-js .sel-slide.is-active .pic img{animation:sel-zoom 8s ease-out both}
.brand-home .selection-rouge:not(.sel-js) .sel-slide+.sel-slide{margin-top:24px}
.brand-home .sel-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px}
.brand-home .sel-btn{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.25);color:#fff;cursor:pointer}
.brand-home .sel-btn:hover{background:#0b0b0b}.brand-home .sel-btn:disabled{opacity:.5;cursor:default}.brand-home .sel-btn svg{width:20px;height:20px}
.brand-home .sel-dots{display:flex;gap:2px}
.brand-home .sel-dot{display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.brand-home .sel-dot span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);transition:width .25s,background .25s}
.brand-home .sel-dot[aria-current=true] span{width:26px;border-radius:6px;background:#fff}
.brand-home .selection-rouge :is(.sel-btn,.sel-dot):focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:12px}
.brand-home .sel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes sel-fade{from{opacity:0}to{opacity:1}}
@keyframes sel-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes sel-zoom{from{scale:1.06}to{scale:1}}
@media(prefers-reduced-motion:reduce){.brand-home .selection-rouge *{animation:none!important;transition:none!important}}

/* Dispositions des modules sans défilement : vedette + cartes, grille, zigzag (réglage du super-admin). */
.brand-home .selection-rouge:not([data-layout=slider]) .sel-slide+.sel-slide{margin-top:0}
.brand-home .selection-rouge:is([data-layout=featured],[data-layout=grid]) .sel-track{display:grid;grid-template-columns:repeat(var(--sel-cols,2),minmax(0,1fr));gap:24px;align-items:stretch}
.brand-home .selection-rouge[data-layout=featured] .sel-slide:first-child{grid-column:1/-1}
.brand-home .selection-rouge[data-layout=featured] .sel-track:is([data-count="4"],[data-count="6"]){--sel-cols:3}
.brand-home .selection-rouge[data-layout=featured] .sel-track[data-count="2"]{--sel-cols:1}
.brand-home .selection-rouge[data-layout=grid] .sel-track:is([data-count="3"],[data-count="5"],[data-count="6"]){--sel-cols:3}
.brand-home .selection-rouge[data-layout=grid] .sel-track[data-count="1"]{--sel-cols:1}
/* Cartes verticales : image en haut, contenu resserré. */
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child),
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide{grid-template-columns:1fr;grid-template-rows:auto 1fr}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) .pic img,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .pic img{aspect-ratio:16/10;height:auto}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) .txt,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .txt{display:flex;flex-direction:column;align-items:flex-start;padding:24px;gap:14px}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) h2,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide h2{font-size:clamp(28px,2.6vw,38px)}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) .lead,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .lead{font-size:15px}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) li,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide li{font-size:14px}
.brand-home .selection-rouge[data-layout=featured] .sel-track:not([data-count="2"]) .sel-slide:not(:first-child) .btn,
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .btn{margin-top:auto;white-space:normal;text-align:center}
/* Zigzag : grands blocs empilés, image alternée à gauche et à droite. */
.brand-home .selection-rouge[data-layout=zigzag] .sel-track{display:grid;gap:32px}
@media(min-width:861px){.brand-home .selection-rouge[data-layout=zigzag] .sel-slide:nth-child(even) .pic{order:2}}
/* Entrée au défilement de la page pour chaque carte (navigateurs compatibles). */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 .brand-home .selection-rouge:not([data-layout=slider]) .sel-slide{animation:sel-in linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}}
@keyframes sel-in{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@media(max-width:860px){.brand-home .selection-rouge:is([data-layout=featured],[data-layout=grid]) .sel-track{grid-template-columns:1fr;gap:20px}.brand-home .selection-rouge[data-layout=zigzag] .sel-track{gap:20px}}

/* Grille : cartes resserrées ; 5 modules sur une ligne en grand écran (3 puis 2 puis 1 colonne en dessous). */
.brand-home .selection-rouge[data-layout=grid] .sel-track{gap:16px}
.brand-home .selection-rouge[data-layout=grid] .sel-track[data-count="5"]{--sel-cols:5}
@media(max-width:1199px){.brand-home .selection-rouge[data-layout=grid] .sel-track[data-count="5"]{--sel-cols:3}}
@media(max-width:999px){.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]){--sel-cols:2}}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .txt{padding:18px;gap:10px}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .txt .eyebrow{font-size:11px;letter-spacing:.12em}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide h2{font-size:clamp(22px,1.75vw,28px)}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .lead{font-size:13.5px;line-height:1.5}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide ul{gap:8px}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide li{gap:10px;font-size:13px;line-height:1.3}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide li>span{width:32px;height:32px;border-radius:10px;font-size:17px}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .btn{padding:12px 16px;font-size:14px;gap:6px}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .note{font-size:11.5px}
.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]) .sel-slide .badge{top:12px;left:12px;padding:6px 10px;font-size:11px}
.brand-home .selection-rouge[data-layout=grid] .sel-track[data-count="5"] .sel-slide .pic img{aspect-ratio:4/3}
@media(max-width:860px){.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]){grid-template-columns:1fr}}
@media(min-width:601px) and (max-width:860px){.brand-home .selection-rouge[data-layout=grid] .sel-track:not([data-count="1"]){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Cohérence de la page : sections encore dans l'ancien style (occasions, comment ça marche, FAQ). ===== */
/* « Comment ça marche » passe en style nuit : rythme blanc / noir / rouge sur toute la page. */
.brand-home #fonctionnement{position:relative;background:#0b0b0b;color:#fff;overflow:clip}
.brand-home #fonctionnement::before{content:"";position:absolute;inset:0 0 auto;height:60%;background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(200,4,11,.2),transparent 70%);pointer-events:none}
.brand-home #fonctionnement .wrap{position:relative}
.brand-home #fonctionnement .eyebrow{color:#FF5A60}.brand-home #fonctionnement .eyebrow::before{background:#FF5A60}
.brand-home #fonctionnement h2{color:#fff}.brand-home #fonctionnement h2 em,.brand-home #fonctionnement h2>.ic{color:var(--red-hot)}
.brand-home #fonctionnement .steps::before{border-top-color:rgba(255,255,255,.28)}
.brand-home #fonctionnement .steps .n{border:1px solid rgba(255,138,142,.85);border-radius:22px;background:linear-gradient(160deg,#C8040B 0%,#B0030A 50%,#8E0007 100%);box-shadow:0 0 0 1px rgba(227,18,26,.35),0 0 22px rgba(227,18,26,.45),0 0 60px rgba(200,4,11,.22)}
.brand-home #fonctionnement .steps .n>.ic{color:#fff}
.brand-home #fonctionnement .steps .n b{background:#fff;color:var(--red);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.brand-home #fonctionnement .steps h3{color:#fff}.brand-home #fonctionnement .steps p{color:#d7d7d7}
/* Occasions : cartes de la marque (rouge / noir) au contour lumineux, sur fond blanc. */
.brand-home #occasions .occ a{border-radius:22px;border:1px solid rgba(255,138,142,.85);color:#fff;transition:transform .2s,box-shadow .25s}
.brand-home #occasions .occ a:nth-child(odd){background:linear-gradient(160deg,#C8040B 0%,#B0030A 50%,#8E0007 100%);box-shadow:0 14px 34px -12px rgba(200,4,11,.55)}
.brand-home #occasions .occ a:nth-child(even){background:linear-gradient(160deg,#1c1012 0%,#0b0b0b 60%);box-shadow:0 14px 34px -12px rgba(27,16,17,.55)}
.brand-home #occasions .occ a:hover{box-shadow:0 0 0 1px rgba(255,90,96,.6),0 0 30px rgba(227,18,26,.55),0 20px 40px -12px rgba(200,4,11,.5)}
.brand-home #occasions .occ a p{opacity:1;color:#FFE3E1}.brand-home #occasions .occ a:nth-child(even) p{color:#d7d7d7}
.brand-home #occasions .occ .big{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.22)}
.brand-home #occasions .occ .big>.ic{width:34px;height:34px;color:#fff}
/* FAQ : questions en cartes arrondies, ouverte soulignée en rouge ; encart d'aide au style des cartes rouges. */
.brand-home #faq .faq details{border-radius:18px;transition:border-color .15s,box-shadow .25s}
.brand-home #faq .faq details:hover{box-shadow:0 10px 26px -14px rgba(27,16,17,.35)}
.brand-home #faq .faq details[open]{border-color:var(--red);box-shadow:0 0 0 1px rgba(200,4,11,.18),0 14px 30px -14px rgba(200,4,11,.35)}
.brand-home #faq .help{border-radius:22px;border:1px solid rgba(255,138,142,.85);background:linear-gradient(160deg,#C8040B 0%,#B0030A 50%,#8E0007 100%);box-shadow:0 0 0 1px rgba(227,18,26,.3),0 0 22px rgba(227,18,26,.35),0 18px 40px -16px rgba(200,4,11,.55)}

/* ===== Motion design au défilement (navigateurs compatibles ; sinon affichage direct).
   Hero, bandes, modules et bloc franchise gardent leurs propres animations. ===== */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 .brand-home :is(#concept,#occasions,#fonctionnement,#magasins,#faq) .sec-head>div>*,
 .brand-home :is(#concept,#occasions,#fonctionnement,#magasins) .sec-head>.lead,
 .brand-home .nh-tracking :is(.sv-text>*,.sv-points li,.sv-map),
 .brand-home #faq :is(.brand-faq-intro>*,.faq details),
 .brand-home #magasins .note,
 .brand-home :is(#concept,#magasins) .newcard,
 .brand-home #occasions .occ a,
 .brand-home #fonctionnement .steps li{animation:jr-up linear both;animation-timeline:view();animation-range:cover 0px cover 260px}
 .brand-home :is(.sec-head>div>h2,.sv-text>h2,.brand-faq-intro>h2){animation-range:cover 30px cover 290px}
 .brand-home :is(.sec-head>.lead,.sv-text>p:not(.eyebrow),.brand-faq-intro>.help){animation-range:cover 60px cover 320px}
 .brand-home :is(.newcard,.occ a,.steps li,.sv-points li,.faq details):nth-child(2){animation-range:cover 50px cover 310px}
 .brand-home :is(.newcard,.occ a,.steps li,.sv-points li,.faq details):nth-child(3){animation-range:cover 100px cover 360px}
 .brand-home :is(.newcard,.occ a,.sv-points li,.faq details):nth-child(4){animation-range:cover 150px cover 400px}
 .brand-home .nh-tracking .sv-map{animation-name:jr-zoom}
 .brand-home :is(#concept,#occasions,#fonctionnement,#magasins,#faq,.nh-tracking) .eyebrow::before{transform-origin:left;animation:jr-line linear both;animation-timeline:view();animation-range:cover 0px cover 240px}
 .brand-home #fonctionnement .steps{view-timeline-name:--steps}
 .brand-home #fonctionnement .steps::before{transform-origin:left;animation:jr-line linear both;animation-timeline:--steps;animation-range:cover 80px cover 420px}
 .brand-home #fonctionnement .steps .n{animation:jr-glow 3.2s ease-in-out infinite}
 .brand-home #fonctionnement .steps li:nth-child(2) .n{animation-delay:.6s}.brand-home #fonctionnement .steps li:nth-child(3) .n{animation-delay:1.2s}
}}
@keyframes jr-up{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes jr-zoom{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
@keyframes jr-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes jr-glow{0%,100%{box-shadow:0 0 0 1px rgba(227,18,26,.35),0 0 22px rgba(227,18,26,.45),0 0 60px rgba(200,4,11,.22)}50%{box-shadow:0 0 0 1px rgba(255,90,96,.6),0 0 34px rgba(227,18,26,.7),0 0 80px rgba(200,4,11,.32)}}
@media(prefers-reduced-motion:reduce){.brand-home #occasions .occ a,.brand-home #faq .faq details{transition:none}}
/* Mobile : texte à droite de l'icône, le trait vertical ne relie que les icônes. */
@media(max-width:820px){
 .brand-home #fonctionnement .steps li{grid-template-columns:88px minmax(0,1fr);column-gap:16px;align-items:start;padding:0}
 .brand-home #fonctionnement .steps .n{grid-row:1/span 2}
 .brand-home #fonctionnement .steps h3{font-size:26px;align-self:end;margin-top:14px}
 .brand-home #fonctionnement .steps::before{left:43px}
}
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference) and (max-width:820px){
 .brand-home #fonctionnement .steps::before{transform-origin:top;animation-name:jr-line-y}
}}
@keyframes jr-line-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
