/* Layout: calm white pages with black ink, one brand colour at a time, the racing checker kept to thin strips and photo backdrops */
:root{
  --k:#0D0D0D; --w:#FFFFFF; --off:#F4F2EC; --soft:rgba(13,13,13,.64); --hair:rgba(13,13,13,.14);
  --sm:#E5141B; --fr:#F5781A; --kr:#8B3DFF; --c:var(--sm); --on-c:#FFFFFF; --ok:#1DB954;
  --fd:'Fredoka',ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;
  --fb:'Archivo',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --g:clamp(16px,5vw,72px); --max:1320px;
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.3,1.5,.5,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--w);color:var(--k);font-family:var(--fb);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure,blockquote,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--c);outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
section{padding-block:clamp(64px,8vw,112px)}
.h{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.025em;line-height:.98;text-wrap:balance}
.h1{font-size:clamp(38px,5vw,74px)}
.h2{font-size:clamp(34px,4.6vw,64px)}
.h3{font-size:clamp(24px,2.4vw,32px);line-height:1.05}
.lab{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;font-variation-settings:'wdth' 118;letter-spacing:.2em;text-transform:uppercase}
.lab::before{content:"";width:22px;height:11px;background:repeating-conic-gradient(var(--k) 0 25%,transparent 0 50%) 0 0/11px 11px;outline:1.5px solid var(--k)}
.lead{font-size:clamp(17px,1.45vw,20px);color:var(--soft);max-width:58ch}
.u{background:linear-gradient(transparent 62%,var(--uc,var(--sm)) 62%,var(--uc,var(--sm)) 92%,transparent 92%);padding-inline:.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.chk-strip{height:22px;background:repeating-conic-gradient(var(--k) 0 25%,var(--w) 0 50%) 0 0/22px 22px;border-block:2px solid var(--k)}
.head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:clamp(32px,4vw,56px)}
.head.center{align-items:center;text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:999px;font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 108;font-size:17px;text-decoration:none;border:2.5px solid var(--k);box-shadow:4px 4px 0 var(--k);cursor:pointer;white-space:nowrap;transition:transform .25s var(--spring),box-shadow .25s,background .3s}
.btn:hover{transform:translate(-2px,-3px);box-shadow:6px 7px 0 var(--k)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--k)}
.btn-k{background:var(--k);color:var(--w)}
.btn-w{background:var(--w);color:var(--k)}
.btn-c{background:var(--c);color:var(--on-c)}
.btn svg{flex:none}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:700;border:2px solid var(--k);background:var(--w);white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none;animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(29,185,84,.7)}100%{box-shadow:0 0 0 12px rgba(29,185,84,0)}}
.card{border:2.5px solid var(--k);border-radius:26px;background:var(--w);box-shadow:5px 5px 0 var(--k)}
.rv{transition:translate .9s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.rv.pre{translate:0 60px}
.frame{position:relative;overflow:hidden;border:2.5px solid var(--k);border-radius:28px;box-shadow:8px 8px 0 var(--k);background:var(--off)}
.frame img{width:100%;height:100%;object-fit:cover}
.plx img{scale:1.14}

/* nav */
.prog{position:fixed;left:0;top:0;height:4px;width:100%;background:var(--c);transform-origin:0 50%;transform:scaleX(0);z-index:60;transition:background .4s}
.nav{position:fixed;z-index:50;top:calc(12px + env(safe-area-inset-top,0px));left:50%;translate:-50% 0;width:min(1240px,calc(100% - 2 * var(--g)));border-radius:34px;background:var(--w);border:2.5px solid var(--k);box-shadow:4px 4px 0 var(--k)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:0 8px 0 20px}
.vc{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.03em;font-size:26px;line-height:1}
.vc i{width:26px;height:26px;border-radius:7px;border:2px solid var(--k);background:repeating-conic-gradient(var(--k) 0 25%,var(--w) 0 50%) 0 0/12px 12px;flex:none}
.vc b{font-weight:700}
.vc b:nth-of-type(1){color:var(--sm)}
.links{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.links a{text-decoration:none;font-weight:700;font-size:15px;position:relative;padding-block:6px}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--k);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.links a:hover::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav .btn{min-height:46px;box-shadow:none;font-size:16px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:2.5px solid var(--k);background:var(--w);cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:2.5px;background:var(--k);border-radius:2px;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2.5px;background:var(--k);border-radius:2px;transition:transform .3s var(--ease)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.nav.open .burger span{background:transparent}
.nav.open .burger span::before{transform:translateY(6px) rotate(45deg)}
.nav.open .burger span::after{transform:translateY(-6px) rotate(-45deg)}

/* hero */
.hero{position:relative;padding-block:clamp(112px,11vw,150px) clamp(48px,6vw,80px);background:var(--off);overflow:clip}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero-txt{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.hero .h1 em{font-style:normal;white-space:nowrap}
.e-sm{color:var(--sm)}.e-fr{color:var(--fr)}.e-kr{color:var(--kr)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,auto);gap:10px 28px;padding-top:6px}
.facts div{display:flex;flex-direction:column;gap:2px}
.facts dt{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:-.02em}
.facts dd{font-size:13.5px;font-weight:600;color:var(--soft)}
.hero-media{position:relative;justify-self:center;width:min(100%,560px)}
.hero-media .frame{aspect-ratio:1;border-radius:36px;box-shadow:10px 10px 0 var(--k)}
.m2,.m3{transition:translate .5s var(--ease)}
.m2{translate:calc(var(--mx,0) * 18px) calc(var(--my,0) * 14px)}
.m3{translate:calc(var(--mx,0) * 44px) calc(var(--my,0) * 32px)}
.stk{position:absolute;width:44%;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))}
.stk img{width:100%;height:auto}
.stk.s1{left:-9%;top:6%}.stk.s1 img{transform:rotate(-8deg);animation:flt 5s ease-in-out infinite}
.stk.s2{right:-8%;top:40%}.stk.s2 img{transform:rotate(6deg);animation:flt 6s ease-in-out -2s infinite}
.stk.s3{left:2%;bottom:-5%}.stk.s3 img{transform:rotate(-3deg);animation:flt 5.5s ease-in-out -3.5s infinite}
@keyframes flt{0%,100%{translate:0 0}50%{translate:0 -12px}}
.plat{margin-top:clamp(36px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:14px;font-weight:700;color:var(--soft)}
.plat span.chip{color:var(--k)}

/* marquee */
.band{padding:0;background:var(--k);color:var(--w);overflow:hidden;border-block:2.5px solid var(--k)}
.mq{display:flex;width:max-content;animation:mq 38s linear infinite;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
@media (hover:hover) and (pointer:fine){.mq:hover{animation-play-state:paused}}
.mq-row{display:flex;align-items:center;gap:28px;padding:14px 28px 14px 0;font-size:clamp(20px,2vw,26px);white-space:nowrap}
.mq-row i{width:14px;height:14px;border-radius:50%;flex:none}
@keyframes mq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* concept */
.def{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
.def-txt{display:flex;flex-direction:column;gap:20px;min-width:0}
.def-txt p{color:var(--soft);font-size:clamp(17px,1.4vw,19px)}
.def-txt p strong{color:var(--k)}
.cmp{overflow-x:auto;border:2.5px solid var(--k);border-radius:24px;box-shadow:6px 6px 0 var(--k);background:var(--w)}
.cmp table{width:100%;min-width:560px;border-collapse:collapse;font-size:15.5px}
.cmp th,.cmp td{padding:15px 16px;text-align:left;border-bottom:1.5px solid var(--hair);vertical-align:top}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font-family:var(--fd);font-variation-settings:'wdth' 112;font-size:17px;background:var(--off);border-bottom:2.5px solid var(--k)}
.cmp thead th.me{background:var(--k);color:var(--w)}
.cmp tbody th{font-weight:700;color:var(--soft);font-size:14px;white-space:nowrap}
.cmp td.me{font-weight:700;background:color-mix(in srgb,var(--sm) 8%,var(--w))}

/* brands */
.brands{background:var(--off);transition:background .5s}
.btabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.btab{display:flex;align-items:center;justify-content:center;padding:16px 18px;min-height:96px;border-radius:22px;border:2.5px solid var(--k);background:var(--w);cursor:pointer;transition:transform .3s var(--spring),box-shadow .3s,background .3s}
.btab img{width:min(100%,220px);height:auto;transition:transform .3s var(--spring)}
.btab:hover img{transform:scale(1.05) rotate(-2deg)}
.btab[aria-selected="true"]{background:var(--bc);box-shadow:5px 5px 0 var(--k);transform:translate(-2px,-2px)}
.bpanel{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);border:2.5px solid var(--k);border-radius:32px;overflow:hidden;background:var(--w);box-shadow:8px 8px 0 var(--k);animation:pin .5s var(--ease)}
@keyframes pin{from{opacity:.2;transform:translateY(14px)}to{opacity:1;transform:none}}
.bvis{position:relative;min-height:420px;border-right:2.5px solid var(--k);overflow:hidden}
.bvis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.bvis .chip{position:absolute;left:16px;top:16px;background:var(--bc);color:var(--on-b,#fff);min-height:36px;font-size:14px}
.binfo{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:22px;min-width:0}
.binfo .blogo{width:min(280px,70%);height:auto}
.binfo > p{font-size:clamp(17px,1.4vw,19px);color:var(--soft);max-width:54ch}
.bstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bstats div{padding:14px;border-radius:16px;background:var(--off);display:flex;flex-direction:column;gap:4px;min-width:0}
.bstats dt{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.bstats dd{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 112;font-size:clamp(20px,2vw,27px);line-height:1.05;color:var(--bc)}
.prods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.prod{position:relative;border:2px solid var(--k);border-radius:18px;padding:10px 10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--w);transition:transform .35s var(--spring)}
.prod:hover{transform:translateY(-5px) rotate(-1deg)}
.prod .pi{aspect-ratio:1.15;display:flex;align-items:center;justify-content:center}
.prod img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.22));transition:transform .5s var(--spring)}
.prod:hover img{transform:scale(1.1) rotate(-4deg)}
.prod strong{font-family:var(--fd);font-variation-settings:'wdth' 110;font-size:15.5px;line-height:1.15}
.price{position:absolute;right:-8px;top:-10px;min-width:54px;height:54px;padding:0 6px;border-radius:50%;background:var(--bc);color:var(--on-b,#fff);border:2px solid var(--k);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:17px;line-height:1;transform:rotate(8deg);white-space:nowrap}
.price sup{font-size:.55em;vertical-align:.6em}
.need{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:700}
.need .chip{background:var(--off)}
.bact{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bact .btn-c{--c:var(--bc);color:var(--on-b,#fff)}
details.carte{border-top:2px solid var(--hair);padding-top:6px}
details.carte summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;font-weight:800;cursor:pointer}
details.carte summary::-webkit-details-marker{display:none}
details.carte summary .pl{transition:transform .3s var(--spring)}
details.carte[open] summary .pl{transform:rotate(45deg)}
.mcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 28px;padding-bottom:6px}
.mcols h4{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bc);margin-bottom:6px}
.mcols li{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;padding-block:5px;border-bottom:1px dashed var(--hair)}
.mcols li span:last-child{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}

/* how */
.how{background:var(--k);color:var(--w)}
.how .lab::before{background:repeating-conic-gradient(var(--w) 0 25%,transparent 0 50%) 0 0/11px 11px;outline-color:var(--w)}
.how .lead{color:rgba(255,255,255,.74)}
.how-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:start}
.steps{position:relative;display:flex;flex-direction:column;gap:14px}
.rail{position:absolute;left:27px;top:28px;bottom:28px;width:3px;background:rgba(255,255,255,.18);border-radius:3px}
.rail i{display:block;width:100%;height:100%;background:linear-gradient(var(--sm),var(--fr),var(--kr));transform-origin:50% 0;transform:scaleY(var(--p,1));border-radius:3px}
.step{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;padding:18px 20px 18px 0}
.step .n{width:58px;height:58px;border-radius:50%;background:var(--w);color:var(--k);border:3px solid var(--k);outline:3px solid var(--w);display:grid;place-items:center;font-family:var(--fd);font-weight:700;font-size:24px;z-index:1}
.step h3{font-family:var(--fd);font-variation-settings:'wdth' 112;font-size:clamp(21px,2vw,26px);font-weight:700;line-height:1.1}
.step p{color:rgba(255,255,255,.76);margin-top:6px;font-size:16px;max-width:52ch}
.step .when{display:inline-block;margin-top:10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1.5px solid rgba(255,255,255,.4)}
.how-media{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.how-media .frame{border-color:var(--w);box-shadow:8px 8px 0 var(--w)}
.how-media .f1{aspect-ratio:3/2}
.how-media .f2{aspect-ratio:3/2;width:78%;align-self:flex-end;margin-top:-64px}

/* split */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.col{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.col.us{background:var(--k);color:var(--w)}
.col h3 small{display:block;font-family:var(--fb);font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:.7;margin-bottom:8px}
.ticks{display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;font-size:16px}
.ticks li svg{margin-top:2px}
.ticks li b{display:block}
.ticks li span{opacity:.72;font-size:15px}

/* simulator */
.sim-sec{background:var(--off)}
.sim{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);padding:clamp(22px,4vw,48px);border-radius:32px;box-shadow:8px 8px 0 var(--k)}
.sim-ctl{display:flex;flex-direction:column;gap:24px;min-width:0}
.rng{display:flex;flex-direction:column;gap:12px}
.rng .row{display:flex;justify-content:space-between;gap:12px;font-weight:800}
.rng output{font-family:var(--fd);font-size:20px;font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:12px;border-radius:999px;border:2px solid var(--k);background:linear-gradient(var(--k),var(--k)) 0/var(--v,50%) 100% no-repeat,var(--w);cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--sm);border:3px solid var(--k);box-shadow:3px 3px 0 var(--k)}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--sm);border:3px solid var(--k);box-shadow:3px 3px 0 var(--k)}
.sim small{font-size:13px;color:var(--soft);line-height:1.5}
.bill{display:flex;flex-direction:column;border:2.5px solid var(--k);border-radius:22px;overflow:hidden}
.bill .ln{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;border-bottom:1.5px dashed var(--hair);font-size:16px}
.bill .ln span:last-child{font-family:var(--fd);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bill .ln.neg span:last-child{color:var(--soft)}
.bill .tot{background:var(--k);color:var(--w);border-bottom:0;padding:20px 18px;align-items:center}
.bill .tot span:first-child{font-weight:800}
.bill .tot span:last-child{font-size:clamp(30px,3.6vw,46px);color:#FFE14D}
.bill .yr{padding:12px 18px;background:var(--off);font-size:14.5px;font-weight:700;display:flex;justify-content:space-between;gap:12px}

/* fit */
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fit .col h3{display:flex;align-items:center;gap:12px}
.badge{width:40px;height:40px;border-radius:50%;border:2.5px solid var(--k);display:grid;place-items:center;flex:none}
.badge.y{background:var(--ok);color:var(--w)}
.badge.n{background:var(--w)}

/* proof */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
.kpi{padding:22px;display:flex;flex-direction:column;gap:8px;min-width:0}
.kpi .v{font-size:clamp(34px,4vw,56px);font-variant-numeric:tabular-nums}
.kpi:nth-child(1) .v{color:var(--sm)}.kpi:nth-child(2) .v{color:var(--fr)}.kpi:nth-child(3) .v{color:var(--kr)}
.kpi p{font-size:14.5px;font-weight:600;color:var(--soft)}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.quote{padding:24px;display:flex;flex-direction:column;gap:14px}
.quote blockquote{font-size:17px;font-weight:600;line-height:1.45}
.quote figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--soft)}
.quote figcaption i{width:38px;height:38px;border-radius:50%;border:2px solid var(--k);flex:none;display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-weight:700;color:var(--w)}
.quote figcaption b{display:block;color:var(--k)}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq-side{position:sticky;top:110px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.qa{border-top:2.5px solid var(--k)}
.qa:last-child{border-bottom:2.5px solid var(--k)}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;font-family:var(--fd);font-variation-settings:'wdth' 108;font-size:clamp(18px,1.6vw,22px);font-weight:700;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa summary .pl{flex:none;width:38px;height:38px;border-radius:50%;border:2.5px solid var(--k);display:grid;place-items:center;transition:transform .35s var(--spring),background .25s}
.qa[open] summary .pl{transform:rotate(45deg);background:var(--k);color:var(--w)}
.qa p{padding:0 54px 20px 0;color:var(--soft);max-width:64ch;animation:pin .4s var(--ease)}

/* form */
.diag{background:var(--k);color:var(--w)}
.diag .lab::before{background:repeating-conic-gradient(var(--w) 0 25%,transparent 0 50%) 0 0/11px 11px;outline-color:var(--w)}
.diag-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.diag-side{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.diag-side p{color:rgba(255,255,255,.76)}
.diag-side .frame{aspect-ratio:4/5;width:min(100%,360px);border-color:var(--w);box-shadow:8px 8px 0 var(--w)}
form.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:clamp(20px,3vw,36px);border-radius:28px;background:var(--w);color:var(--k)}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld.full{grid-column:1 / -1}
.fl{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.inp{width:100%;min-height:52px;border-radius:14px;border:2px solid var(--k);background:var(--w);padding:0 14px;font-size:16px}
.inp:focus{outline:3px solid var(--sm);outline-offset:1px}
textarea.inp{min-height:96px;padding-top:12px;resize:vertical}
.picks{display:flex;flex-wrap:wrap;gap:10px}
.pick{position:relative}
.pick input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pick span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:999px;border:2px solid var(--k);font-weight:700;font-size:15px;transition:background .2s,color .2s}
.pick span::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--pc,var(--k))}
.pick input:checked + span{background:var(--pc,var(--k));color:var(--w)}
.pick input:checked + span::before{background:var(--w)}
.pick input:focus-visible + span{outline:3px solid var(--sm);outline-offset:2px}
.form-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.form-foot p{font-size:13px;color:var(--soft);max-width:42ch}
.ok{padding:32px;border-radius:28px;background:var(--w);color:var(--k);display:flex;flex-direction:column;gap:10px}

/* footer */
.foot{padding-block:0 24px;background:var(--w)}
.foot-in{padding-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-in > div{display:flex;flex-direction:column;gap:12px;min-width:0}
.foot h2{font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.foot p,.foot a{font-size:15.5px}
.foot a{text-decoration:none;font-weight:600}
.foot a:hover{text-decoration:underline}
.flogos{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.flogos img{height:44px;width:auto}
.legal{margin-top:40px;padding-top:16px;border-top:2px solid var(--k);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;color:var(--soft)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mbar{display:none}

@media (max-width:1040px){
  .links{display:none;position:absolute;left:-2.5px;right:-2.5px;top:calc(100% + 10px);flex-direction:column;align-items:stretch;gap:0;padding:10px;border-radius:22px;background:var(--w);border:2.5px solid var(--k);box-shadow:4px 4px 0 var(--k)}
  .nav.open .links{display:flex}
  .links a{padding:13px 14px;font-size:17px;border-radius:12px}
  .links a::after{display:none}
  .burger{display:inline-flex}
  .hero-grid,.def,.how-grid,.sim,.faq-grid,.diag-grid{grid-template-columns:1fr}
  .hero-media{width:min(86%,520px);margin-top:20px}
  .bpanel{grid-template-columns:1fr}
  .bvis{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:2.5px solid var(--k)}
  .how-media{position:static;flex-direction:row;align-items:flex-start}
  .how-media .f1,.how-media .f2{width:50%;margin:0;align-self:auto}
  .faq-side{position:static}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes{grid-template-columns:1fr}
  .foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .diag-side .frame{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .nav-row{min-height:58px;padding-left:16px;padding-right:5px}
  .vc{font-size:22px}
  .nav .btn{display:none}
  .hero{padding-block:98px 44px}
  .hero-media{width:92%}
  .ctas .btn{flex:1 1 100%}
  .btn{white-space:normal;text-align:center;padding:10px 20px;line-height:1.2;font-size:16px}
  .bact .btn{width:100%}
  .binfo{padding:18px}
  .facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;width:100%}
  .facts dd{font-size:12.5px}
  .btabs{gap:8px}
  .btab{min-height:64px;padding:10px 8px;border-radius:16px}
  .bstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prods{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .mcols{grid-template-columns:1fr}
  .split,.fit{grid-template-columns:1fr}
  .rail{left:22px}
  .step{grid-template-columns:48px minmax(0,1fr);gap:14px;padding-right:0}
  .step .n{width:48px;height:48px;font-size:20px}
  .how-media{flex-direction:column}
  .how-media .f1,.how-media .f2{width:100%}
  .sim{box-shadow:5px 5px 0 var(--k);border-radius:26px}
  .bill .ln{font-size:14.5px;padding:12px 14px}
  .bill .ln span:last-child{font-size:17px}
  .kpis{gap:12px}
  .kpi{padding:16px}
  form.grid{grid-template-columns:1fr}
  .qa p{padding-right:0}
  .foot-in{grid-template-columns:1fr;gap:26px}
  .foot{padding-bottom:92px}
  .mbar{display:block;position:fixed;z-index:55;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--k);transform:translateY(110%);transition:transform .4s var(--ease)}
  .mbar.show{transform:none}
  .mbar .btn{width:100%;min-height:50px;box-shadow:none;border-color:var(--w)}
  .bpanel,.frame{box-shadow:5px 5px 0 var(--k)}
  .how-media .frame,.diag-side .frame{box-shadow:5px 5px 0 var(--w)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv.pre{translate:none}}

/* ---------- v2 ---------- */
.u.fr{--uc:var(--fr)}.u.kr{--uc:var(--kr)}
.b-sm{background:var(--sm);color:#fff}.b-fr{background:var(--fr);color:var(--k)}.b-kr{background:var(--kr);color:#fff}
.vc img{height:40px;width:auto}
.cta-row{margin-top:clamp(28px,4vw,44px);display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.cta-row p{font-family:var(--fd);font-variation-settings:'wdth' 110;font-weight:700;font-size:clamp(18px,1.7vw,22px);margin-right:auto}
.cta-row.center{justify-content:center}.cta-row.center p{margin-right:0}
.fab{position:fixed;z-index:54;right:20px;bottom:20px;translate:0 140%;transition:translate .45s var(--ease)}
.fab.show{translate:0 0}

/* hero */
.hero{padding-block:clamp(104px,10vw,136px) 0;background:var(--off)}
.hero-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.hero-logo{width:min(440px,78%);height:auto}
.hero .h1{font-size:clamp(36px,5.6vw,82px);max-width:20ch}
.hero .h1 .u{white-space:nowrap}
.hero .lead{max-width:60ch}
.hero .ctas{justify-content:center}
.hero .facts{justify-items:center;text-align:center;gap:10px clamp(20px,4vw,56px)}
.hero .facts div{align-items:center}
.stage{position:relative;z-index:1;width:100%;max-width:1180px;margin:clamp(28px,4vw,48px) auto 0;padding-inline:var(--g);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,2vw,28px);align-items:end}
.act{position:relative;display:flex;flex-direction:column;align-items:center;text-decoration:none;padding-bottom:clamp(22px,4vw,54px);transition:translate .5s var(--ease)}
.act.a-sm{translate:calc(var(--mx,0) * -26px) calc(var(--my,0) * -14px)}
.act.a-fr{translate:calc(var(--mx,0) * 14px) calc(var(--my,0) * 22px)}
.act.a-kr{translate:calc(var(--mx,0) * 34px) calc(var(--my,0) * -10px)}
.disc{position:absolute;left:50%;top:4%;width:82%;aspect-ratio:1;border-radius:50%;background:var(--bc);border:2.5px solid var(--k);translate:-50% 0;transition:scale .5s var(--spring)}
.disc::after{content:"";position:absolute;right:2%;top:6%;width:26%;aspect-ratio:1;border-radius:50%;border:2.5px solid var(--k);background:repeating-conic-gradient(var(--k) 0 25%,var(--w) 0 50%) 0 0/50% 50%}
.act:hover .disc{scale:1.06}
.food{position:relative;width:96%;aspect-ratio:1.18;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(0,0,0,.3));animation:bobf 5s ease-in-out infinite;transition:scale .5s var(--spring),rotate .5s var(--spring)}
.a-fr .food{animation-delay:-1.7s;width:108%}.a-kr .food{animation-delay:-3.2s}
.act:hover .food{scale:1.08;rotate:-4deg}
@keyframes bobf{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.tag{position:relative;width:72%;height:auto;margin-top:-7%;rotate:-4deg;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
.a-fr .tag{rotate:3deg}.a-kr .tag{rotate:-2deg}
.a-fr{margin-bottom:-10px}
.floor{position:absolute;left:-30%;right:-30%;bottom:0;height:clamp(90px,12vw,170px);background:repeating-conic-gradient(var(--k) 0 25%,var(--w) 0 50%) 0 0/clamp(48px,6vw,84px) clamp(48px,6vw,84px);transform:perspective(520px) rotateX(58deg);transform-origin:50% 100%;border-top:3px solid var(--k)}
.plat{justify-content:center;margin-top:0;padding-block:18px;background:var(--w);border-block:2.5px solid var(--k)}

/* marquee: light */
.band{background:var(--w);color:var(--k);border-top:0}

/* concept */
.def3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);margin-bottom:clamp(32px,4vw,52px)}
.def3 > div{display:flex;flex-direction:column;gap:10px;min-width:0}
.def3 .num{width:40px;height:40px;border-radius:50%;border:2.5px solid var(--k);display:grid;place-items:center;font-family:var(--fd);font-weight:700;font-size:18px;background:var(--bc);color:var(--on-b,#fff)}
.def3 h3{font-family:var(--fd);font-variation-settings:'wdth' 112;font-size:clamp(20px,1.9vw,24px);line-height:1.1}
.def3 p{color:var(--soft)}
.def3 p strong{color:var(--k)}
.cmp3{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;align-items:stretch}
.cmpc{padding:clamp(18px,2.4vw,28px);display:flex;flex-direction:column;gap:14px;min-width:0;box-shadow:none;background:var(--off)}
.cmpc.me{background:var(--w);box-shadow:8px 8px 0 var(--sm);border-width:3px}
.cmpc .chip{align-self:flex-start}
.cmpc dl{display:grid}
.cmpc dl div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding-block:11px;border-top:1.5px dashed var(--hair);align-items:baseline}
.cmpc dt{font-size:13px;font-weight:700;color:var(--soft)}
.cmpc dd{font-weight:600;font-size:15.5px;text-align:right}
.cmpc.me dd{font-weight:800}

/* how: light */
.how{background:var(--w);color:var(--k)}
.how .lab::before{background:repeating-conic-gradient(var(--k) 0 25%,transparent 0 50%) 0 0/11px 11px;outline-color:var(--k)}
.how .lead{color:var(--soft)}
.rail{background:var(--hair)}
.step .n{background:var(--sc,var(--sm));color:var(--st,#fff);border:2.5px solid var(--k);outline:4px solid var(--w)}
.step:nth-child(3n+2) .n{--sc:var(--sm)}
.step:nth-child(3n) .n{--sc:var(--fr);--st:var(--k)}
.step:nth-child(3n+1) .n{--sc:var(--kr)}
.step p{color:var(--soft)}
.step .when{border-color:var(--k)}
.how-media .frame{border-color:var(--k);box-shadow:8px 8px 0 var(--sm)}
.how-media .f2{box-shadow:8px 8px 0 var(--kr)}

/* roles */
.col.us{background:var(--kr);color:#fff}
.col.us .ticks li span{opacity:.88}
.col.you{box-shadow:5px 5px 0 var(--fr)}

/* contact: light */
.diag{background:var(--off);color:var(--k)}
.diag .lab::before{background:repeating-conic-gradient(var(--k) 0 25%,transparent 0 50%) 0 0/11px 11px;outline-color:var(--k)}
.diag-side p{color:var(--soft)}
.diag-side .frame{border-color:var(--k);box-shadow:8px 8px 0 var(--fr)}
form.grid{border:2.5px solid var(--k);box-shadow:8px 8px 0 var(--kr)}
.ok{border:2.5px solid var(--k);box-shadow:8px 8px 0 var(--kr)}
.direct{display:flex;flex-direction:column;gap:6px;font-weight:700}
.direct span{font-weight:500;color:var(--soft);font-size:14px}
.flogos img.fvc{height:auto;width:min(260px,100%)}

@media (max-width:1040px){
  .cmp3{grid-template-columns:1fr}
  .def3{grid-template-columns:1fr}
  .how-media .f2{box-shadow:8px 8px 0 var(--kr)}
}
@media (max-width:640px){
  .vc img{height:32px}
  .hero .h1{font-size:clamp(30px,9.2vw,44px)}
  .hero{padding-block:92px 0}
  .stage{gap:2px;padding-inline:8px}
  .tag{width:92%}
  .disc{width:92%}
  .act{padding-bottom:26px}
  .fab{display:none}
  .cta-row p{margin-right:0;flex-basis:100%}
  .cta-row .btn{flex:1 1 100%}
  .cmpc.me{box-shadow:5px 5px 0 var(--sm)}
  .how-media .frame,.diag-side .frame{box-shadow:5px 5px 0 var(--sm)}
  form.grid{box-shadow:5px 5px 0 var(--kr)}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mbar .btn{width:auto;white-space:nowrap;font-size:15px;padding:0 10px}
  .hero-logo{display:none}
}

/* ---------- v3 ---------- */
:root{--fr-t:#DD5F08}
.u,.u.fr,.u.kr{background:none;padding:0}
.u{color:var(--sm)}.u.fr{color:var(--fr-t)}.u.kr{color:var(--kr)}
.e-fr{color:var(--fr-t)}
.hero .h1 .u{white-space:normal}

/* reviews carousel */
.car{margin-top:clamp(28px,4vw,44px)}
.car-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.car-head p{color:var(--soft);font-size:15px;margin-top:6px}
.car-nav{display:flex;gap:10px;flex:none}
.car-nav button{width:50px;height:50px;border-radius:50%;border:2.5px solid var(--k);background:var(--w);box-shadow:3px 3px 0 var(--k);cursor:pointer;display:grid;place-items:center;transition:transform .2s var(--spring),box-shadow .2s,background .2s}
.car-nav button:hover{background:var(--sm);color:#fff;transform:translate(-1px,-2px);box-shadow:4px 5px 0 var(--k)}
.car-nav button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--k)}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 6px 12px 2px;margin-inline:-2px;overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.rc{flex:0 0 clamp(280px,calc((100% - 40px) / 3),420px);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;padding:0}
.rc figure{position:relative;aspect-ratio:3/2;border-bottom:2.5px solid var(--k);overflow:hidden;background:var(--off)}
.rc figure img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}
.rc:hover figure img{scale:1.06}
.rc .up{position:absolute;left:12px;top:12px;background:var(--bc);color:var(--on-b,#fff);font-family:var(--fd);font-size:15px;min-height:34px}
.rc .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.rc h4{font-family:var(--fd);font-variation-settings:'wdth' 112;font-size:21px;line-height:1.1}
.rc address{font-style:normal;font-size:13.5px;color:var(--soft);display:flex;gap:6px;align-items:flex-start}
.rc address svg{flex:none;margin-top:2px}
.rc blockquote{font-size:15.5px;line-height:1.5;font-weight:500}
.rc .by{margin-top:auto;padding-top:12px;border-top:1.5px dashed var(--hair);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:700}
.rc .by span{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.rc .by img{height:24px;width:auto}
.car-bar{height:6px;border-radius:6px;background:var(--hair);margin-top:10px;overflow:hidden}
.car-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--sm),var(--fr),var(--kr));transform-origin:0 50%;transform:scaleX(var(--p,.1));border-radius:6px;transition:transform .2s linear}

/* footer */
.foot{padding-block:0 24px}
.fbrands{padding-block:clamp(36px,5vw,56px) clamp(28px,4vw,44px);display:flex;flex-direction:column;align-items:center;gap:18px;border-bottom:2px solid var(--k)}
.fb-row{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,22px)}
.fb{display:flex;align-items:center;justify-content:center;padding:clamp(12px,2.4vw,26px);border-radius:22px;border:2.5px solid var(--k);background:color-mix(in srgb,var(--bc) 14%,var(--w));transition:transform .3s var(--spring),box-shadow .3s}
.fb:hover{transform:translate(-2px,-4px);box-shadow:5px 6px 0 var(--bc)}
.fb img{width:min(100%,250px);height:auto}
.foot-main{padding-top:clamp(32px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:clamp(28px,5vw,72px);align-items:start}
.f-id{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.f-id .fvc{width:min(380px,100%);height:auto}
.f-id p{color:var(--soft);max-width:38ch}
.f-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.f-cols > div{display:flex;flex-direction:column;gap:10px;min-width:0}
@media (max-width:1040px){
  .rc{flex-basis:clamp(280px,calc((100% - 20px) / 2),420px)}
  .foot-main{grid-template-columns:1fr}
}
@media (max-width:640px){
  .rc{flex-basis:86%}
  .car-track{gap:14px}
  .car-nav button{width:44px;height:44px}
  .fb{border-radius:14px;padding:10px 6px}
  .f-cols{grid-template-columns:1fr 1fr}
  .f-id{align-items:center;text-align:center}
  .f-id .btn{width:100%}
}

/* ---------- v4: fourth brand ---------- */
:root{--pz:#0E9B14;--pz-t:#0A7F10}
.u.pz,.e-pz{color:var(--pz-t)}
.b-pz{background:var(--pz);color:#fff}
.stage{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1320px}
.act.a-pz{translate:calc(var(--mx,0) * -18px) calc(var(--my,0) * 18px)}
.a-pz .food{animation-delay:-2.4s}
.a-pz .tag{rotate:3deg}
.a-kr{margin-bottom:-10px}.a-fr{margin-bottom:0}
.a-fr .food{width:100%}
.btabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.fb-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.rail i{background:linear-gradient(var(--sm),var(--fr),var(--kr),var(--pz))}
.car-bar i{background:linear-gradient(90deg,var(--sm),var(--fr),var(--kr),var(--pz))}
.hero .facts{grid-template-columns:repeat(4,auto)}
@media (max-width:640px){
  .stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;max-width:440px}
  .act{padding-bottom:10px}
  .act:nth-child(n+3){padding-bottom:30px}
  .tag{width:78%}
  .disc{width:76%}
  .food{width:84%}
  .a-fr .food{width:88%}
  .btabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fb-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
}
/* v5: menu with photos */
.mcols{gap:14px 28px}
.mcols li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding-block:4px}
.mcols li img{width:52px;height:44px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.18))}
/* v6: licence */
.facts dt s{font-size:.45em;color:var(--soft);font-weight:700;margin-right:.25em;vertical-align:.5em;text-decoration-thickness:2px}
.terms div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding-block:11px;border-top:1.5px dashed var(--hair);align-items:baseline}
.terms dt{font-size:13px;font-weight:800}
.terms dd{font-size:15px}
.terms dd b{font-family:var(--fd);font-size:19px;color:var(--sm)}
.terms dd s{color:var(--soft);font-weight:700}
.terms dd span{display:block;font-size:13.5px;color:var(--soft)}
.zt{font-family:var(--fd);font-size:18px;margin-top:6px}
.zones{display:flex;flex-wrap:wrap;gap:6px}
.zones .chip{background:var(--off);white-space:normal}

/* ---------- v7: fifth brand (Sweety's pink), Smashy's red ---------- */
:root{--sw:#FB0078}
.u.sw,.e-sw{color:var(--sw)}
.b-sw{background:var(--sw);color:#fff}
.stage{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1440px;gap:clamp(4px,1.4vw,20px)}
.act.a-sw{translate:calc(var(--mx,0) * 22px) calc(var(--my,0) * -16px)}
.a-sw .food{animation-delay:-.9s}
.a-sw .tag{rotate:-3deg}
.btabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.fb-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.rail i{background:linear-gradient(var(--sm),var(--fr),var(--kr),var(--pz),var(--sw))}
.car-bar i{background:linear-gradient(90deg,var(--sm),var(--fr),var(--kr),var(--pz),var(--sw))}
@media (max-width:900px){
  .btabs{grid-template-columns:repeat(6,minmax(0,1fr))}
  .btabs .btab{grid-column:span 2}
  .btabs .btab:nth-child(4){grid-column:2/span 2}
  .fb-row{grid-template-columns:repeat(6,minmax(0,1fr))}
  .fb-row .fb{grid-column:span 2}
  .fb-row .fb:nth-child(4){grid-column:2/span 2}
}
@media (max-width:640px){
  .stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6px;max-width:440px}
  .act:nth-child(5){grid-column:1/-1;width:50%;justify-self:center}
  .btabs,.fb-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .btabs .btab,.btabs .btab:nth-child(4),.fb-row .fb,.fb-row .fb:nth-child(4){grid-column:auto}
  .btabs .btab:nth-child(5),.fb-row .fb:nth-child(5){grid-column:1/-1;width:calc(50% - 4px);justify-self:center}
}

/* ---------- v8: video ---------- */
.vid-sec{padding-block:clamp(56px,7vw,96px) clamp(48px,6vw,88px)}
.vid-sec .head{align-items:center;text-align:center;margin-inline:auto}
.vid-sec .lead{margin-inline:auto}
.vbox{position:relative;max-width:1100px;margin-inline:auto;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#111 center/cover no-repeat;box-shadow:8px 8px 0 var(--k)}
.vbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#111}
.vplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:linear-gradient(rgba(13,13,13,0) 40%,rgba(13,13,13,.45));cursor:pointer;color:var(--k)}
.vplay .pb{display:inline-flex;align-items:center;gap:12px;min-height:64px;padding:0 26px 0 12px;border-radius:999px;background:var(--w);border:2.5px solid var(--k);box-shadow:5px 5px 0 var(--k);font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 108;font-size:clamp(16px,1.6vw,19px);transition:translate .35s var(--ease),box-shadow .35s var(--ease)}
.vplay .pb i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c);color:#fff;border:2px solid var(--k)}
.vplay:hover .pb,.vplay:focus-visible .pb{translate:-2px -2px;box-shadow:7px 7px 0 var(--k)}
.vplay:focus-visible{outline:none}
.vbox.on .vplay{display:none}
.vchap{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;max-width:1140px;margin:22px auto 0}
.vchap button{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px;border-radius:999px;border:2px solid var(--k);background:var(--w);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;color:var(--k)}
.vchap button b{font-variant-numeric:tabular-nums;color:var(--soft);font-weight:700}
.vchap button:hover,.vchap button[aria-current="true"]{background:var(--k);color:var(--w)}
.vchap button:hover b,.vchap button[aria-current="true"] b{color:rgba(255,255,255,.7)}
.vcta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
@media (max-width:640px){
  .vbox{border-radius:18px;box-shadow:5px 5px 0 var(--k);margin-inline:-4px}
  .vplay .pb{min-height:54px;padding:0 18px 0 8px;font-size:15px}
  .vplay .pb i{width:38px;height:38px}
  .vchap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .vchap button{min-height:38px;padding:0 10px;font-size:12.5px;justify-content:flex-start;text-align:left;line-height:1.15}
  .vcta .btn{flex:1 1 100%}
}

/* ---------- v9: brand photos sized per layout ---------- */
.bvis .ih{display:none}
@media (max-width:1040px){
  .bvis{aspect-ratio:978/752;min-height:0}
  .bvis .iv{display:none}
  .bvis .ih{display:block;object-fit:contain;object-position:50% 50%}
}

/* ---------- v10: plaquette content inside each brand ---------- */
.bmore{grid-column:1/-1;border-top:2.5px solid var(--k);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:14px;background:color-mix(in srgb,var(--bc) 5%,var(--w));--grey:#E7E4DC}
.bpitch{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,3vw,40px);align-items:center;margin-bottom:6px}
.bpitch .h{font-size:clamp(26px,2.8vw,40px);line-height:1.02}
.bpitch .h em{font-style:normal;color:var(--bt,var(--bc))}
.bargs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bargs li{padding:12px 14px;border:2px solid var(--k);border-radius:16px;background:var(--w);display:flex;flex-direction:column;gap:4px;min-width:0}
.bargs b{font-family:var(--fd);font-variation-settings:'wdth' 110;font-size:16px;line-height:1.15;color:var(--bt,var(--bc))}
.bargs span{font-size:14px;color:var(--soft);line-height:1.4}
details.acc{border:2.5px solid var(--k);border-radius:20px;background:var(--w);overflow:hidden}
details.acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary b{display:block;font-family:var(--fd);font-variation-settings:'wdth' 110;font-size:clamp(18px,1.7vw,22px);line-height:1.15}
details.acc summary small{display:block;font-size:14px;color:var(--soft);margin-top:3px}
details.acc summary .pl{flex:none;width:40px;height:40px;border-radius:50%;border:2.5px solid var(--k);display:grid;place-items:center;background:var(--bc);color:var(--on-b,#fff);transition:transform .3s var(--spring)}
details.acc[open] summary .pl{transform:rotate(45deg)}
details.acc[open] summary{border-bottom:2px dashed var(--hair)}
.accb{padding:18px 20px 22px;display:flex;flex-direction:column;gap:16px;animation:pin .4s var(--ease)}
.accb .note{font-size:13.5px;color:var(--soft)}
.accb .note a{font-weight:700}
.ftg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px}
.ftc{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:10px 14px 12px 10px;border:2px solid var(--k);border-radius:18px;background:var(--w);min-width:0}
.fim{display:flex;align-items:center;justify-content:center;background:var(--off);border-radius:12px;padding:6px}
.fim img{max-height:230px;width:auto;max-width:100%;object-fit:contain}
.fx{display:flex;flex-direction:column;gap:8px;min-width:0}
.fh{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.fh h4{background:var(--bc);color:var(--on-b,#fff);font-family:var(--fd);font-variation-settings:'wdth' 110;font-size:16px;line-height:1.1;padding:6px 10px;border-radius:9px}
.fh span{font-size:13px;font-weight:800;text-align:right;white-space:nowrap;line-height:1.2}
.fh small{display:block;font-weight:600;color:var(--soft);font-size:12px}
.fx ol{display:grid;gap:3px;counter-reset:l}
.fx ol li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;font-size:13.5px;font-weight:600;line-height:1.2;counter-increment:l}
.fx ol li::before{content:counter(l);width:19px;height:19px;border-radius:50%;border:1.5px solid var(--k);display:grid;place-items:center;font-size:10.5px;font-weight:800}
.fx ol li.core::before{background:var(--bc);color:var(--on-b,#fff)}
.fx ol li em{font-style:normal;color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px}
.eco{margin-top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.eco div{padding:6px 8px;border-radius:10px;background:var(--off);min-width:0}
.eco dt{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--soft)}
.eco dd{font-family:var(--fd);font-weight:700;font-size:15px;line-height:1.15;white-space:nowrap}
.eco .mg{grid-column:1/-1;background:var(--bc);color:var(--on-b,#fff);display:flex;align-items:center;justify-content:space-between;gap:10px}
.eco .mg dt{color:inherit;opacity:.9;font-size:12px}
.eco .mg dd{font-size:21px}
.eco .mg small{font-size:14px;opacity:.85}
.ftm{grid-template-columns:1fr;align-content:start;background:var(--off)}
.ftm h4{font-family:var(--fd);font-variation-settings:'wdth' 110;font-size:18px}
.ftm ul{display:grid;gap:2px}
.ftm li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;font-size:14px;padding:6px 0;border-bottom:1px dashed var(--hair)}
.ftm li span{color:var(--soft)}
.rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,3vw,32px);align-items:start}
.mb{border:2px solid var(--k);border-radius:16px;overflow:hidden}
.mbh{padding:10px 16px;background:var(--off);font-size:13px;font-weight:700;color:var(--soft);border-bottom:2px solid var(--k)}
.mb .ln{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1.5px dashed var(--hair);font-size:15px}
.mb .ln b{font-family:var(--fd);font-size:18px;white-space:nowrap}
.mb .neg{color:var(--soft)}
.mb .tot{background:var(--k);color:var(--w);border-bottom:0;align-items:center;font-weight:800}
.mb .tot b{font-size:clamp(24px,2.4vw,30px);color:#FFE14D}
.rsplit h5,.pgrid h5{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--bt,var(--bc));margin-bottom:8px}
.rsplit h5{font-family:var(--fd);font-size:clamp(18px,1.6vw,21px);letter-spacing:0;text-transform:none;color:var(--k)}
.sbar{display:flex;height:48px;border:2.5px solid var(--k);border-radius:14px;overflow:hidden;margin-bottom:10px}
.sbar i{display:flex;align-items:center;justify-content:center;font-style:normal;font-family:var(--fd);font-weight:700;font-size:15px;border-right:2px solid var(--k);white-space:nowrap;min-width:0;overflow:hidden}
.sbar i:last-child{border-right:0}
.sbar i.me,.sleg i.me{background:var(--bc);color:var(--on-b,#fff)}
.sleg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;font-weight:600;color:var(--soft);margin-bottom:10px}
.sleg li{display:flex;align-items:center;gap:7px}
.sleg i{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--k);flex:none}
.sleg b{color:var(--k)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pgrid.two{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.pgrid > div{padding:14px 16px;border-radius:16px;background:var(--off);min-width:0}
.pgrid p{font-size:14.5px;line-height:1.5}
.rules{display:grid;gap:5px}
.rules li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;font-size:14px;font-weight:600;line-height:1.35;align-items:start}
.rules li svg{width:16px;height:16px;margin-top:2px;color:var(--bt,var(--bc))}
.pgrid .chips{display:flex;flex-wrap:wrap;gap:6px}
.pgrid .chip{background:var(--w)}
#bp-fr{--bt:var(--fr-t)}#bp-pz{--bt:var(--pz-t)}
@media (max-width:1040px){
  .bpitch{grid-template-columns:1fr}
  .rgrid{grid-template-columns:1fr}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .bmore{padding:16px 14px}
  .bargs{grid-template-columns:1fr}
  details.acc summary{padding:14px}
  .accb{padding:14px}
  .ftc{grid-template-columns:1fr;padding:10px}
  .fim{height:170px}
  .fim img{max-height:158px}
  .pgrid,.pgrid.two{grid-template-columns:1fr}
  .sbar i{font-size:12.5px}
  .eco .mg dt{font-size:10.5px}
  .eco .mg dd{font-size:18px}
}
.eco dt{white-space:nowrap}
.fh h4{min-width:0;overflow-wrap:anywhere}
.sbar i:nth-child(2){min-width:34px}
@media (max-width:420px){
  .eco{gap:4px}
  .eco div{padding:5px 6px}
  .eco dt{font-size:9.5px;letter-spacing:0}
  .eco dd{font-size:13.5px}
  .sbar i{font-size:11.5px}
}

/* ---------- v11: hero discs plain, carte as tiles ---------- */
.disc::after{display:none}
.mcard{display:flex;flex-direction:column;gap:18px}
.mcat h5{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bt,var(--bc));margin-bottom:10px}
.mcat h5 small{font-size:12px;letter-spacing:0;text-transform:none;color:var(--soft);font-weight:600}
.mgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:1040px){.mgrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
.mtile{display:flex;flex-direction:column;border:2px solid var(--k);border-radius:16px;background:var(--w);overflow:hidden;min-width:0}
.mtile .mi{height:132px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--off);padding:10px;border-bottom:2px solid var(--k)}
.mtile .mi img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.2))}
.mtile .mt{flex:1;display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}
.mtile .mn{overflow-wrap:anywhere;hyphens:auto;font-family:var(--fd);font-variation-settings:'wdth' 108;font-weight:700;font-size:16px;line-height:1.15}
.mtile .md{font-size:13px;color:var(--soft);line-height:1.35}
.mtile .mp{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--bc);color:var(--on-b,#fff);border:2px solid var(--k);font-family:var(--fd);font-weight:700;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .mgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mtile .mi{height:108px;padding:8px}
  .mtile .mt{padding:8px 10px 10px}
  .mtile .mn{font-size:14.5px}
  .mtile .md{font-size:12px}
  .mtile .mp{font-size:14px;min-height:28px;padding:0 10px}
}
@media (max-width:360px){.mtile .mn{font-size:13.5px}.mtile .mt{padding:8px}}

/* ---------- v12: brand ads (vertical videos) ---------- */
.pubbtn{position:absolute;left:50%;bottom:22px;translate:-50% 0;z-index:2;display:inline-flex;align-items:center;gap:12px;padding:8px 22px 8px 8px;border-radius:999px;border:2.5px solid var(--k);background:var(--w);color:var(--k);box-shadow:4px 4px 0 var(--k);font:inherit;cursor:pointer;white-space:nowrap;transition:translate .3s var(--spring),box-shadow .3s}
.pubbtn:hover{translate:-50% -3px;box-shadow:5px 7px 0 var(--k)}
.pubbtn i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--bc);color:var(--on-b,#fff);border:2px solid var(--k);flex:none}
.pubbtn span{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 108;font-size:17px;line-height:1.1}
.pubbtn small{font-family:var(--fb);font-weight:600;font-size:12.5px;color:var(--soft)}
#pubdlg{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;inset:0}
#pubdlg::backdrop{background:rgba(13,13,13,.86);backdrop-filter:blur(6px)}
#pubdlg[open]{display:grid;place-items:center}
#pubdlg .box{position:relative;height:min(88dvh,calc((100vw - 32px) * 16 / 9));aspect-ratio:9/16;border-radius:24px;overflow:hidden;border:2.5px solid var(--w);box-shadow:0 30px 80px rgba(0,0,0,.5);background:#000}
#pubdlg video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
#pubdlg .x{position:absolute;right:max(16px,calc(50vw - min(88dvh,calc((100vw - 32px) * 16 / 9)) * 9 / 32 - 64px));top:16px;width:48px;height:48px;border-radius:50%;border:2.5px solid var(--k);background:var(--w);color:var(--k);display:grid;place-items:center;cursor:pointer;box-shadow:3px 3px 0 var(--k)}
#pubdlg .x svg{width:22px;height:22px}
@media (max-width:640px){
  .pubbtn{bottom:14px;padding:6px 16px 6px 6px;gap:10px}
  .pubbtn i{width:38px;height:38px}
  .pubbtn span{font-size:15px}
  .pubbtn small{font-size:11.5px}
  #pubdlg .box{border-radius:18px}
  #pubdlg .x{right:12px;top:12px;width:44px;height:44px}
}

/* ---------- v13: résultats, rebuilt to fill the container at every width ---------- */
#resultats .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;overflow:hidden;margin-bottom:clamp(40px,5vw,64px)}
#resultats .kpi{padding:clamp(20px,2.6vw,34px) clamp(18px,2.2vw,30px);display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0;border-right:2px dashed var(--hair)}
#resultats .kpi:last-child{border-right:0}
#resultats .kpi .v{white-space:nowrap;font-size:clamp(30px,3.6vw,54px);line-height:1;letter-spacing:-.03em}
#resultats .kpi:nth-child(4) .v{color:var(--pz-t)}
#resultats .kpi p{font-size:clamp(13px,1.1vw,15px);line-height:1.35}
#resultats .car{margin-top:0}
#resultats .car-head{display:block;margin-bottom:22px}
#resultats .car-head h3{font-size:clamp(22px,2.4vw,32px)}
#resultats .car-track{gap:20px;padding:4px 8px 14px 2px;margin:0 -8px 0 -2px;align-items:stretch}
#resultats .rc{flex:0 0 calc((100% - 40px) / 3)}
#resultats .rc figure{aspect-ratio:16/10}
#resultats .rc .body{padding:18px 20px 18px}
#resultats .rc blockquote{font-size:15px}
#resultats .car-foot{display:flex;align-items:center;gap:16px;margin-top:20px}
#resultats .car-foot .car-bar{flex:1;margin:0}
#resultats .car-foot button{flex:none}
@media (max-width:1100px){
  #resultats .rc{flex-basis:calc((100% - 20px) / 2)}
}
@media (max-width:860px){
  #resultats .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  #resultats .kpi:nth-child(2){border-right:0}
  #resultats .kpi:nth-child(-n+2){border-bottom:2px dashed var(--hair)}
}
@media (max-width:700px){
  #resultats .car-track{gap:16px}
  #resultats .rc{flex-basis:100%}
}
@media (max-width:420px){
  #resultats .kpi{padding:18px 14px}
  #resultats .kpi .v{font-size:clamp(24px,7.6vw,32px)}
  #resultats .kpi p{font-size:12.5px}
}

/* v15 : section anciennes marques */
.paris .pk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:clamp(28px,3vw,40px);overflow:hidden}
.paris .pk>div{padding:22px 24px;display:flex;flex-direction:column;gap:8px;min-width:0;border-left:2px dashed var(--hair)}
.paris .pk>div:first-child{border-left:0}
.paris .pk b{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.025em;font-size:clamp(30px,3.4vw,48px);line-height:1;font-variant-numeric:tabular-nums}
.paris .pk>div:nth-child(1) b{color:var(--sm)}.paris .pk>div:nth-child(2) b{color:var(--fr)}.paris .pk>div:nth-child(3) b{color:var(--kr)}.paris .pk>div:nth-child(4) b{color:var(--pz)}
.paris .pk span{font-size:14.5px;font-weight:600;color:var(--soft)}
.refgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pcard{display:flex;flex-direction:column;overflow:hidden;min-width:0}
.pcard .ph{position:relative;aspect-ratio:4/3;border-bottom:2.5px solid var(--k);background:var(--off)}
.pcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard .ph em{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);padding:5px 11px;border-radius:999px;background:var(--w);border:2px solid var(--k);font-style:normal;font-size:12.5px;font-weight:800}
.pcard .pb{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard h3{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.02em;font-size:24px;line-height:1.05}
.pcard .ty{font-size:14px;font-weight:700;color:var(--soft)}
.pcard .rt{display:flex;flex-wrap:wrap;gap:6px}
.pcard .rt i{font-style:normal;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--off)}
.pcard .rt i.g{background:#E3F6E8;color:#11703A}
.pcard .lk{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.pcard .lk a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:2px solid var(--k);font-weight:800;font-size:14px;text-decoration:none;color:var(--k);background:var(--w);transition:background .2s}
.pcard .lk a:hover{background:var(--off)}
.pbridge{margin-top:clamp(28px,3vw,40px);padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:1.1fr 1.4fr;gap:clamp(20px,3vw,48px);align-items:center;background:var(--k);color:var(--w);border-radius:26px}
.pbridge h3{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.02em;font-size:clamp(26px,2.6vw,36px);line-height:1.02}
.pbridge ul{list-style:none;display:grid;gap:12px;padding:0;margin:0}
.pbridge li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:rgba(255,255,255,.86)}
.pbridge li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.paris .fn{margin-top:14px;font-size:13px;color:var(--soft)}
@media (max-width:1100px){.refgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.paris .pk{grid-template-columns:repeat(2,minmax(0,1fr))}.paris .pk>div:nth-child(3){border-left:0}.paris .pk>div:nth-child(n+3){border-top:2px dashed var(--hair)}.pbridge{grid-template-columns:1fr}}
@media (max-width:640px){.refgrid{grid-template-columns:1fr}.paris .pk>div{padding:16px}}
/* v16 : marques — badge "aujourd'hui", menu déroulant, vitrine, pages marques */
.pcard .now{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:999px;background:color-mix(in srgb,var(--bc) 12%,var(--w));border:2px solid var(--bc);text-decoration:none;color:var(--k);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.pcard .now img{height:22px;width:auto}
.pcard .now:hover{background:color-mix(in srgb,var(--bc) 22%,var(--w))}

.dd{position:relative}
.ddt{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;font-size:15px;background:none;border:0;padding:6px 0;cursor:pointer;color:var(--k)}
.ddt svg{transition:rotate .3s var(--ease)}
.dd:hover .ddt svg,.dd.open .ddt svg{rotate:180deg}
.ddm{position:absolute;left:50%;top:calc(100% + 20px);translate:-50% 10px;width:min(660px,92vw);padding:12px;border-radius:26px;background:var(--w);border:2.5px solid var(--k);box-shadow:6px 6px 0 var(--k);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;opacity:0;visibility:hidden;transition:opacity .22s,translate .3s var(--ease),visibility .22s;z-index:60}
.ddm::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.dd:hover .ddm,.dd:focus-within .ddm,.dd.open .ddm{opacity:1;visibility:visible;translate:-50% 0}
.links .ddm a{padding:10px;font-size:inherit}
.links .ddm a::after{display:none}
.ddi{display:flex;align-items:center;gap:14px;border-radius:18px;text-decoration:none;color:var(--k);transition:background .2s}
.ddi:hover,.ddi:focus-visible{background:color-mix(in srgb,var(--bc) 13%,var(--w))}
.ddi .dk{flex:none;width:58px;height:58px;border-radius:50%;background:var(--bc);border:2px solid var(--k);display:grid;place-items:center}
.ddi .dk img{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.25));transition:scale .35s var(--spring)}
.ddi:hover .dk img{scale:1.1}
.ddi .dt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ddi .dt img{height:28px;width:auto;align-self:flex-start}
.ddi .dt span{font-size:13px;font-weight:600;color:var(--soft);line-height:1.3}
.ddall{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:18px;background:var(--off);text-decoration:none;color:var(--k);font-weight:800;font-size:14.5px;text-align:center}
.ddall:hover{background:var(--k);color:var(--w)}

.bshow{display:flex;gap:14px;height:clamp(540px,74vh,700px)}
.bsc{position:relative;flex:1 1 0;min-width:0;border:2.5px solid var(--k);border-radius:30px;overflow:hidden;box-shadow:5px 5px 0 var(--k);background:var(--bc);isolation:isolate;transition:flex-grow .7s var(--ease),box-shadow .3s}
.bsc.on{flex-grow:3.6;box-shadow:8px 8px 0 var(--k)}
.bsc{background:radial-gradient(120% 60% at 50% 32%,color-mix(in srgb,var(--bc) 55%,#fff) 0%,var(--bc) 62%)}
.bsc .ck{position:absolute;left:0;right:0;top:0;height:110px;z-index:-3;background:repeating-conic-gradient(rgba(255,255,255,.95) 0 25%,transparent 0 50%) 0 0/34px 34px;-webkit-mask:linear-gradient(#000 20%,transparent);mask:linear-gradient(#000 20%,transparent)}
.bsc .food{position:absolute;left:50%;top:15%;width:150%;max-width:none;translate:-50% 0;z-index:-2;filter:drop-shadow(0 26px 30px rgba(0,0,0,.35));transition:width .7s var(--ease),top .7s var(--ease),rotate .9s var(--spring)}
.bsc.on .food{width:min(500px,70%);top:10%;rotate:-4deg}
.bsc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,13,13,0) 45%,rgba(13,13,13,.6) 70%,rgba(13,13,13,.92) 100%);pointer-events:none}
.bsc .stretch{position:absolute;inset:0;z-index:1;border-radius:inherit}
.bsc .stretch:focus-visible{outline:4px solid var(--w);outline-offset:-8px}
.bsc .tp{position:absolute;top:16px;left:16px;right:16px;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;pointer-events:none}
.bsc .tp .ex{background:var(--k);color:var(--w);border-color:var(--k)}
.bsc .tp .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block;line-height:26px}
.bsc:not(.on) .tp .ex{display:none}
.bsc-in{position:absolute;left:0;right:0;bottom:0;padding:22px;display:flex;flex-direction:column;gap:14px;color:var(--w);pointer-events:none}
.bsc .lg{height:50px;width:auto;max-width:100%;object-fit:contain;object-position:left;align-self:flex-start;filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));transition:height .5s var(--ease)}
.bsc:not(.on) .lg{height:38px}
.bsc .more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .3s}
.bsc.on .more{grid-template-rows:1fr;opacity:1;transition-delay:.12s}
.bsc .more>div{overflow:hidden;display:flex;flex-direction:column;gap:14px;min-width:0}
.bsc .ac{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 118;letter-spacing:-.02em;font-size:clamp(26px,2.5vw,38px);line-height:1;max-width:18ch;text-wrap:balance}
.bsc .ac em{font-style:normal;color:color-mix(in srgb,var(--bc) 45%,#fff)}
.bsc .mini{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.bsc .mini li{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(255,255,255,.3);font-size:13.5px;font-weight:600;white-space:nowrap}
.bsc .mini b{font-weight:800}
.bsc .row{display:flex;flex-wrap:wrap;gap:10px;pointer-events:auto;position:relative;z-index:2}
.bsc .row .btn{min-height:50px;font-size:16px;box-shadow:3px 3px 0 var(--k)}
.bsc .go{background:var(--bc);color:var(--on-b,#fff)}
.vbtn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 18px 0 6px;border-radius:999px;border:2.5px solid var(--k);background:var(--w);color:var(--k);font-family:var(--fd);font-weight:700;font-size:16px;cursor:pointer;box-shadow:3px 3px 0 var(--k);transition:translate .25s var(--spring),box-shadow .25s}
.vbtn i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--bc);color:var(--on-b,#fff);border:2px solid var(--k)}
.vbtn:hover,.bsc .row .btn:hover{translate:-2px -2px;box-shadow:5px 5px 0 var(--k)}
.bhint{display:none}
@media (max-width:900px){
  .bshow{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--g));padding:4px var(--g) 18px;scroll-padding-inline:var(--g);scrollbar-width:none}
  .bshow::-webkit-scrollbar{display:none}
  .bsc,.bsc.on{flex:0 0 min(84vw,420px);height:min(600px,138vw);scroll-snap-align:start;box-shadow:5px 5px 0 var(--k)}
  .bsc .more{grid-template-rows:1fr;opacity:1}
  .bsc:not(.on) .lg{height:50px}
  .bsc:not(.on) .tp .ex{display:inline-flex}
  .bsc,.bsc.on{display:flex;flex-direction:column;height:auto}
  .bsc .food,.bsc.on .food{position:relative;left:auto;top:auto;translate:none;width:70%;margin:58px auto -6px;rotate:-4deg}
  .bsc-in{position:relative;padding:18px}
  .bsc .ac{font-size:25px}
  .bsc .mini li{font-size:12.5px;padding:5px 10px}
  .bsc .row{flex-wrap:nowrap}
  .bsc .row{gap:8px}
  .bsc .row .btn,.bsc .row .vbtn{min-height:46px;font-size:14.5px;padding-inline:12px;gap:6px}
  .bsc .row .vbtn{padding-left:5px}
  .bsc .row .vbtn i{width:32px;height:32px}
  .bhint{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px;font-weight:700;color:var(--soft)}
}

/* pages marques */
.bpg{--c:var(--bc)}
.bph{padding-block:clamp(112px,10vw,150px) clamp(48px,6vw,84px);background:color-mix(in srgb,var(--bc) 10%,var(--off));border-bottom:2.5px solid var(--k)}
.bph-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,72px);align-items:center}
.bph-txt{display:flex;flex-direction:column;gap:22px;align-items:flex-start;min-width:0}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;font-weight:700;color:var(--soft)}
.crumb a{color:inherit;text-decoration:none}
.crumb a:hover{color:var(--k);text-decoration:underline}
.bph-logo{height:clamp(58px,6vw,86px);width:auto;max-width:100%}
.bph h1{font-size:clamp(36px,4.2vw,62px);max-width:16ch}
.bph h1 em{font-style:normal;color:var(--bt,var(--bc))}
.bph .lead{max-width:60ch}
.bph .bstats{width:100%}
.bph .bstats div{background:var(--w);border:2px solid var(--k)}
.bph .ctas{display:flex;flex-wrap:wrap;gap:12px}
.bph .ctas .btn-c{--c:var(--bc);color:var(--on-b,#fff)}
.bph .need .chip{background:var(--w)}
.bph-vis{position:relative;border:2.5px solid var(--k);border-radius:34px;overflow:hidden;box-shadow:9px 9px 0 var(--k);aspect-ratio:752/1000;background:var(--bc)}
.bph-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bph-vis .chip{position:absolute;left:16px;top:16px}
.herit{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;background:var(--w);border:2.5px solid var(--k)}
.herit i{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--bc);color:var(--on-b,#fff);border:2px solid var(--k);font-style:normal}
.herit span{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--soft);line-height:1.3}
.herit b{font-size:14.5px;color:var(--k)}
.bsub{position:sticky;top:calc(92px + env(safe-area-inset-top,0px));z-index:30;margin-top:-26px;pointer-events:none}
.bsub .wrap{display:flex;justify-content:center}
.bsub nav{pointer-events:auto;display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--w);border:2.5px solid var(--k);box-shadow:4px 4px 0 var(--k);overflow-x:auto;max-width:100%;scrollbar-width:none}
.bsub nav::-webkit-scrollbar{display:none}
.bsub a{padding:9px 16px;border-radius:999px;font-weight:700;font-size:14.5px;white-space:nowrap;text-decoration:none;color:var(--k);transition:background .25s,color .25s}
.bsub a:hover{background:var(--off)}
.bsub a.on{background:var(--bc);color:var(--on-b,#fff)}
.bsec{padding-block:clamp(64px,7vw,104px);scroll-margin-top:150px}
.bsec.alt{background:var(--off)}
.bsec .note{font-size:13.5px;color:var(--soft);margin-top:14px}
.bsec .mb{background:var(--w)}
.bsec .head{margin-bottom:clamp(24px,3vw,40px)}
.bsec .h2 em{font-style:normal;color:var(--bt,var(--bc))}
.bsec .bargs{grid-template-columns:repeat(3,minmax(0,1fr))}
.bsec .bargs li{padding:18px;gap:8px}
.bsec .bargs b{font-size:19px}
.bsec .bargs span{font-size:15px}
.bsec .prods{margin-top:clamp(28px,3vw,40px)}
.bsec .rgrid,.bsec .pgrid{--grey:#E7E4DC}
.bsec .sbar i:first-child{background:var(--grey)}
.subh{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 112;font-size:clamp(22px,2vw,28px);margin:clamp(28px,3vw,44px) 0 14px}
.ogrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ocard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;aspect-ratio:3/4;padding:18px;border:2.5px solid var(--k);border-radius:26px;overflow:hidden;box-shadow:5px 5px 0 var(--k);background:var(--bc);color:var(--w);text-decoration:none;isolation:isolate;transition:translate .3s var(--spring),box-shadow .3s}
.ocard .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:scale .8s var(--ease)}
.ocard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(13,13,13,.85))}
.ocard .lg{height:40px;width:auto;align-self:flex-start;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.ocard span{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}
.ocard:hover{translate:-3px -3px;box-shadow:8px 8px 0 var(--k)}
.ocard:hover .bg{scale:1.05}
.bband{margin-top:clamp(36px,4vw,56px);padding:clamp(26px,4vw,48px);border-radius:30px;background:var(--k);color:var(--w);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.bband h2{font-size:clamp(28px,3.2vw,46px);max-width:20ch}
.bband .btn-c{--c:var(--bc);color:var(--on-b,#fff);border-color:var(--w);box-shadow:4px 4px 0 var(--w)}
@media (max-width:1040px){
  .ddt{width:100%;justify-content:space-between;padding:13px 14px;font-size:17px;border-radius:12px}
  .ddm{position:static;translate:none;width:auto;padding:0 0 8px;border:0;box-shadow:none;grid-template-columns:1fr;opacity:1;visibility:visible;display:none;transition:none}
  .ddm::before{display:none}
  .dd.open .ddm{display:grid}
  .dd:hover .ddm,.dd:focus-within .ddm{translate:none}
  .ddi .dk{width:46px;height:46px}.ddi .dk img{width:52px;height:52px}
  .ddi .dt img{height:24px}
  .ddall{padding:12px}
  .nav.open .links{max-height:calc(100dvh - 110px);overflow-y:auto}
}
@media (max-width:900px){
  .bph-in{grid-template-columns:1fr}
  .bph-vis{aspect-ratio:978/752;order:-1}
  .bph .bstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bsec .bargs{grid-template-columns:1fr}
  .ogrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bsub{top:calc(80px + env(safe-area-inset-top,0px))}
}
@media (max-width:560px){
  .herit{position:static;border-width:0;border-top:2.5px solid var(--k);border-radius:0}
  .bph-vis{display:flex;flex-direction:column;aspect-ratio:auto}
  .bph-vis img{position:static;aspect-ratio:978/752;height:auto}
  .ocard{aspect-ratio:4/5;padding:14px}
  .ocard .lg{height:30px}
}

/* v17 : hero plein écran des pages marques + section préparation */
.bhero{--hc:#fff;--hl:rgba(255,255,255,.88);--gl:rgba(255,255,255,.16);--glb:rgba(255,255,255,.36);position:relative;isolation:isolate;min-height:max(660px,100svh);display:flex;align-items:center;padding-block:clamp(108px,12vh,140px) clamp(64px,8vh,100px);background:var(--hbg);color:var(--hc);overflow:hidden;border-bottom:2.5px solid var(--k)}
.bh-dark .bhero{--hc:#0D0D0D;--hl:rgba(13,13,13,.8);--gl:rgba(255,255,255,.28);--glb:rgba(13,13,13,.22)}
.bh-img{position:absolute;inset:0;z-index:-2}
.bh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 55%}
.bhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--hbg) 0%,color-mix(in srgb,var(--hbg) 85%,transparent) 30%,transparent 58%);pointer-events:none}
.bh-ck{position:absolute;left:0;right:0;bottom:0;height:32px;z-index:-1;background:repeating-conic-gradient(#fff 0 25%,transparent 0 50%) 0 0/32px 32px;border-top:2.5px solid var(--k)}
.bh-in{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2vh,22px)}
.bh-in>*{max-width:min(640px,100%)}
.bhero .crumb{color:var(--hl)}
.bhero .crumb a:hover{color:var(--hc)}
.bh-logo{display:inline-flex;padding:12px 20px;background:#fff;border:2.5px solid var(--k);border-radius:22px;box-shadow:6px 6px 0 var(--k);rotate:-3deg;transition:rotate .5s var(--spring)}
.bh-logo:hover{rotate:2deg}
.bh-logo img{height:clamp(44px,4.4vw,64px);width:auto}
.bhero h1{font-size:clamp(40px,4.3vw,70px);color:var(--hc);max-width:14ch}
.bhero h1 em{font-style:normal;color:var(--k);background:#fff;padding:0 .14em;border-radius:.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.12}
.bh-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--hl);max-width:56ch}
.bhero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.bhero .btn-k{border-color:var(--k);box-shadow:4px 4px 0 rgba(13,13,13,.35)}
.bh-stats{display:flex;flex-wrap:wrap;gap:10px}
.bh-stats div{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:16px;background:var(--gl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid var(--glb)}
.bh-stats dt{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.bh-stats dd{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 112;font-size:clamp(20px,1.8vw,26px);line-height:1.05}
.bh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:14px;font-weight:700;color:var(--hl)}
.bh-her{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--k);color:#fff;font-weight:600;font-size:13.5px}
.bh-her i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#FFE14D;color:var(--k);font-style:normal;font-size:14px}
.bh-her b{font-weight:800}
.bhero ~ .bsub{margin-top:-24px}
@media (max-width:900px){
  .bhero{display:block;min-height:0;padding:0 0 64px}
  .bhero::before{display:none}
  .bh-img{position:relative;display:block;height:min(64svh,620px);z-index:0}
  .bh-img img{object-position:50% 58%}
  .bh-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(transparent,var(--hbg))}
  .bh-in{position:relative;margin-top:-56px;z-index:1}
  .bhero h1{max-width:none}
  .bh-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}
/* préparation : blocs bien séparés */
.bsec .pgrid{gap:14px}
.bsec .pgrid + .pgrid{margin-top:14px}
.bsec .pgrid > div{padding:20px 22px;border-radius:20px;background:var(--off);border:2px solid var(--k)}
.bsec .pgrid h5{margin-bottom:12px}
.bsec .pgrid .rules{display:flex;flex-direction:column;gap:10px}
.bsec .pgrid .rules li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.4}
.bsec .pgrid .rules svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--bc)}
.bsec .pgrid .chips .chip{background:var(--w)}

/* v18 : sommaire des pages marques en rail vertical sur ordinateur */
.bsub a i{display:none}
@media (min-width:1101px){
  .bsub,.bhero ~ .bsub{position:fixed;top:50%;right:clamp(12px,1.6vw,28px);left:auto;margin:0;translate:12px -50%;z-index:40;opacity:0;visibility:hidden;transition:opacity .35s,translate .45s var(--ease),visibility .35s}
  .bsub.show{opacity:1;visibility:visible;translate:0 -50%}
  .bsub .wrap{padding:0;max-width:none;width:auto;display:block}
  .bsub nav{position:relative;flex-direction:column;align-items:flex-end;gap:4px;padding:6px 0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
  .bsub nav::before{content:"";position:absolute;right:9px;top:18px;bottom:18px;width:2.5px;border-radius:2px;background:var(--k);opacity:.18}
  .bsub a,.bsub a.on,.bsub a:hover{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:5px 0;background:none;color:var(--k);font-size:14px}
  .bsub a span{padding:6px 12px;border-radius:999px;background:var(--w);border:2px solid var(--k);box-shadow:3px 3px 0 var(--k);white-space:nowrap;opacity:0;translate:8px 0;pointer-events:none;transition:opacity .25s,translate .3s var(--ease)}
  .bsub nav:hover a span,.bsub a:focus-visible span{opacity:1;translate:0 0;pointer-events:auto}
  .bsub a.on span{background:var(--bc);color:var(--on-b,#fff)}
  .bsub nav:hover a.on span{opacity:1}
  .bsub a i{display:block;flex:none;position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:var(--w);border:2.5px solid var(--k);transition:background .25s,scale .3s var(--spring)}
  .bsub a:hover i{scale:1.15}
  .bsub a.on i{background:var(--bc);scale:1.2}
}
/* v19 : barre de menu transparente sur le hero des pages marques (mobile et tablette) */
@media (max-width:1040px){
  .nav{transition:background .35s,border-color .35s,box-shadow .35s}
  .nav.top:not(.open){background:transparent;border-color:transparent;box-shadow:none}
  .nav.top:not(.open) .burger{box-shadow:3px 3px 0 var(--k)}
}
/* v20 : hero de l'accueil plein écran, les cinq marques en rotation */
.vhero{--hc:#fff;--hl:rgba(255,255,255,.9);--gl:rgba(255,255,255,.16);--glb:rgba(255,255,255,.36);position:relative;isolation:isolate;min-height:max(700px,100svh);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(110px,13vh,150px) clamp(150px,18vh,190px);background-color:var(--hbg);color:var(--hc);overflow:hidden;border-bottom:2.5px solid var(--k);transition:background-color .9s var(--ease),color .6s}
.vhero[data-k="fr"]{--hc:#0D0D0D;--hl:rgba(13,13,13,.82);--gl:rgba(255,255,255,.3);--glb:rgba(13,13,13,.22)}
.vh-imgs{position:absolute;inset:0;z-index:-2}
.vh-img{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease)}
.vh-img.on{opacity:1}
.vh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 55%;scale:1.06;translate:3% 0;transition:scale 5.5s linear,translate 1.1s var(--ease)}
.vh-img.on img{scale:1;translate:0 0}
.vh-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--c) 0%,color-mix(in srgb,var(--c) 85%,transparent) 30%,transparent 58%)}
.vhero.still .vh-img img{transition:none;scale:1;translate:0 0}
.vh-in{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2.2vh,24px)}
.vh-in>*{max-width:min(660px,100%)}
.vh-lab{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;background:var(--k);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.vh-lab i{width:8px;height:8px;border-radius:50%;background:#1DB954;box-shadow:0 0 0 4px rgba(29,185,84,.25);animation:vhpulse 2s infinite}
@keyframes vhpulse{50%{box-shadow:0 0 0 7px rgba(29,185,84,0)}}
.vhero h1{font-size:clamp(42px,4.9vw,80px);color:var(--hc);max-width:15ch;transition:color .6s}
.vhero h1 em{white-space:nowrap;font-style:normal;color:var(--k);background:#fff;padding:0 .14em;border-radius:.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.vh-lead{font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--hl);max-width:54ch;transition:color .6s}
.vh-lead strong{color:var(--hc)}
.vhero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.vhero .btn-k{box-shadow:4px 4px 0 rgba(13,13,13,.35)}
.vhero .bh-stats dd s{font-size:.6em;opacity:.7;margin-right:6px}
.vh-sw{position:absolute;left:0;right:0;bottom:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}
.vh-tabs{display:flex;gap:8px;flex-wrap:wrap}
.vh-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 16px;border-radius:16px;background:rgba(255,255,255,.82);border:2.5px solid var(--k);cursor:pointer;overflow:hidden;transition:background .3s,translate .3s var(--spring),box-shadow .3s}
.vh-tab img{height:26px;width:auto;opacity:.75;transition:opacity .3s}
.vh-tab i{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--k)}
.vh-tab:hover{translate:0 -2px}
.vh-tab.on{background:#fff;box-shadow:4px 4px 0 var(--k);translate:-2px -2px}
.vh-tab.on img{opacity:1}
.vh-tab.on i{animation:vhprog 4.8s linear forwards}
.vhero.still .vh-tab.on i{animation:none;width:100%}
@keyframes vhprog{to{width:100%}}
.vh-go{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;background:var(--k);color:#fff;font-family:var(--fd);font-weight:700;font-size:16px;text-decoration:none;white-space:nowrap;transition:translate .25s var(--spring)}
.vh-go:hover{translate:3px 0}
.vhero .bh-ck{z-index:1}
.vhero + .plat{margin-top:0}
@media (max-width:900px){
  .vhero{display:block;min-height:0;padding:0 0 64px}
  .vh-imgs{position:relative;height:min(56svh,560px);z-index:0}
  .vh-img img{object-position:50% 34%;translate:0 0}
  .vhero h1{font-size:clamp(34px,10vw,46px)}
  .vh-lab{font-size:11px;letter-spacing:.12em}
  .vh-img::after{background:linear-gradient(transparent 62%,var(--c))}
  .vh-in{position:relative;z-index:1;margin-top:-48px}
  .vhero h1{max-width:none}
  .vhero .bh-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .vh-sw{position:absolute;left:0;right:0;top:calc(min(56svh,560px) - 128px);bottom:auto;justify-content:flex-start;flex-direction:column;align-items:stretch;gap:0}
  .vh-tabs{flex-wrap:nowrap;overflow-x:auto;padding:4px var(--g);scrollbar-width:none;gap:6px}
  .vh-tabs::-webkit-scrollbar{display:none}
  .vh-tab{height:42px;padding:0 12px;flex:none;border-radius:13px}
  .vh-tab img{height:20px}
  .vh-go{display:none}
}
@media (max-width:560px){
  .vhero .ctas{width:100%}
  .vhero .ctas .btn{flex:1 1 100%}
}
/* v21 : indicateur de marques compact + surlignage plus fin */
.vhero h1 em,.bhero h1 em{background:linear-gradient(transparent 16%,#fff 16%,#fff 90%,transparent 90%);padding:0 .08em;border-radius:0;line-height:inherit}
.vh-pick{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vh-tabs{display:flex;gap:8px;flex-wrap:nowrap;overflow:visible;padding:0}
.vh-tab,.vh-tab.on{width:28px;height:14px;padding:0;border-radius:999px;background:var(--c);border:2.5px solid #fff;box-shadow:0 0 0 2px var(--k);translate:none;transition:width .45s var(--ease);flex:none}
.vh-tab:hover{translate:none;width:36px}
.vh-tab.on{width:84px}
.vh-tab i{height:100%;background:rgba(255,255,255,.85);border-radius:999px}
.vh-now{font-size:15px;font-weight:600;color:var(--hc);opacity:.95;white-space:nowrap}
.vh-now b{font-family:var(--fd);font-weight:700;font-size:18px}
@media (max-width:900px){
  .vh-sw{top:calc(min(56svh,560px) - 142px);align-items:center}
  .vh-pick{flex-direction:column;gap:10px;padding:10px 16px;border-radius:20px;background:rgba(13,13,13,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .vh-tabs{overflow:visible;padding:0}
  .vh-tab,.vh-tab.on{height:12px;width:22px}
  .vh-tab.on{width:60px}
  .vh-now{color:#fff;font-size:13.5px}
  .vh-now b{font-size:15px}
}
/* v22 : logos des marques en bas du hero, sans encadré */
.vh-logos{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.vh-logo{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 16px;border-radius:16px;background:#fff;border:2.5px solid var(--k);box-shadow:3px 3px 0 var(--k);transition:translate .3s var(--spring),box-shadow .3s}
.vh-logo img{height:28px;width:auto}
.vh-logo:hover,.vh-logo.on{translate:-2px -3px;box-shadow:5px 6px 0 var(--k)}
@media (max-width:900px){
  .vh-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}
  .vh-logo{height:44px;padding:0 6px;border-radius:12px;border-width:2px;box-shadow:2px 2px 0 var(--k)}
  .vh-logo img{height:auto;max-height:22px;max-width:100%}
}
@media (min-width:901px){.vhero{padding-bottom:clamp(80px,10vh,110px)}.vh-in>.vh-logos{max-width:none;flex-wrap:nowrap}.vh-logo{height:48px;padding:0 14px}.vh-logo img{height:24px}}
/* v23 : bandeau sans animation (réglage "réduire les animations"), liens légaux, pages légales */
@media (prefers-reduced-motion:reduce){
  .mq{width:auto;flex-wrap:wrap;justify-content:center;transform:none}
  .mq .mq-row[aria-hidden]{display:none}
  .mq-row{flex-wrap:wrap;justify-content:center;white-space:normal;padding:14px 16px;gap:10px 22px}
}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.legal-links a{color:inherit;text-decoration:none}
.legal-links a:hover{color:var(--k);text-decoration:underline}
.lgh{padding-block:clamp(120px,14vw,170px) clamp(36px,5vw,60px);background:var(--off);border-bottom:2.5px solid var(--k)}
.lgh .h1{font-size:clamp(36px,5vw,64px);max-width:20ch}
.lgh .lead{margin-top:14px}
.lgh small{display:block;margin-top:12px;font-size:13.5px;color:var(--soft)}
.ldoc{padding-block:clamp(40px,6vw,80px)}
.ldoc .wrap{display:grid;grid-template-columns:minmax(0,220px) minmax(0,760px);gap:clamp(24px,5vw,80px)}
.ldoc aside{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:6px}
.ldoc aside a{padding:10px 14px;border-radius:14px;border:2px solid transparent;text-decoration:none;font-weight:700;color:var(--k)}
.ldoc aside a:hover{background:var(--off)}
.ldoc aside a[aria-current]{border-color:var(--k);background:var(--w);box-shadow:3px 3px 0 var(--k)}
.lbody h2{font-family:var(--fd);font-weight:700;font-variation-settings:'wdth' 112;font-size:clamp(21px,2vw,26px);margin:34px 0 10px;line-height:1.15}
.lbody h2:first-child{margin-top:0}
.lbody p,.lbody li{font-size:16px;line-height:1.65;color:rgba(13,13,13,.82)}
.lbody p + p{margin-top:10px}
.lbody ul{margin:10px 0 0 1.1em;display:grid;gap:6px;list-style:disc}
.lbody a{color:var(--k);font-weight:700}
.lbody mark.todo{background:#FFE14D;color:var(--k);padding:0 .25em;border-radius:4px;font-weight:700}
@media (max-width:900px){.ldoc .wrap{grid-template-columns:1fr}.ldoc aside{position:static;flex-direction:row;flex-wrap:wrap}}
/* v25 : nouveau logo (empilé) */
.vc img{height:50px;width:auto}
.f-id .fvc{width:min(250px,70%);height:auto}
@media (max-width:1040px){.vc img{height:44px}}
@media (max-width:700px){.vc img{height:40px}}
/* v26 : surlignage blanc aux coins arrondis (bande dessinée en dégradés, une par ligne) */
.vhero h1 em,.bhero h1 em{padding:0 .12em;background:linear-gradient(#fff,#fff) left 0 top .45em/100% .38em no-repeat,linear-gradient(#fff,#fff) left .26em top .19em/calc(100% - .52em) .9em no-repeat,radial-gradient(circle closest-side,#fff 97%,transparent 100%) left 0 top .19em/.52em .52em no-repeat,radial-gradient(circle closest-side,#fff 97%,transparent 100%) right 0 top .19em/.52em .52em no-repeat,radial-gradient(circle closest-side,#fff 97%,transparent 100%) left 0 top .57em/.52em .52em no-repeat,radial-gradient(circle closest-side,#fff 97%,transparent 100%) right 0 top .57em/.52em .52em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* v28 : scénarios illustratifs (section résultats) */
.rc .ill{position:absolute;right:12px;top:12px;background:var(--k);color:#fff;border-color:var(--k);font-size:12px;min-height:28px}
.rc .kind{font-size:13.5px;font-weight:700;color:var(--soft)}
.rc .sc{font-size:15px;line-height:1.5}
.rc .calc{font-size:14px;line-height:1.5;padding:10px 12px;border-radius:12px;background:var(--off)}
.rc figure{aspect-ratio:4/3}
/* v27 : fonds colorés par section + éléments flottants en parallaxe */
#video{background:#fff}
#concept{background:color-mix(in srgb,var(--fr) 6%,#fff)}
#references{background:#fff}
#methode{background:color-mix(in srgb,var(--pz) 10%,#fff)}
#roles{background:#fff}
#pour-qui{background:color-mix(in srgb,var(--kr) 6%,#fff)}
#conditions{background:#fff!important}
#resultats{background:color-mix(in srgb,var(--sw) 5%,#fff)!important}
#faq{background:#fff}
#diagnostic{background:var(--off)}
/* bande à damier fine entre les sections */
main > section{position:relative}
main > section::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;z-index:2;background:repeating-conic-gradient(var(--k) 0 25%,#fff 0 50%) 0 0/10px 10px;border-block:2px solid var(--k);box-sizing:content-box;translate:0 -50%;pointer-events:none}
.fly{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.fly ~ *{position:relative;z-index:1}
section:has(> .fly){position:relative;isolation:isolate}
.flo{--s:1;position:absolute;left:calc(var(--x) - var(--w) * var(--s) / 2);top:var(--y);width:calc(var(--w) * var(--s));height:auto;rotate:var(--r);animation:flbob var(--d) ease-in-out infinite alternate}
img.flo{filter:drop-shadow(0 18px 24px rgba(0,0,0,.22));opacity:.95}
.flo.sh{height:calc(var(--w) * var(--s));border:2.5px solid var(--k);box-shadow:4px 4px 0 var(--k)}
.flo.ck{border-radius:22%;background:repeating-conic-gradient(var(--c) 0 25%,#fff 0 50%) 0 0/50% 50%}
.flo.dot{border-radius:50%;background:var(--c)}
@keyframes flbob{from{transform:translateY(-10px) rotate(-3deg)}to{transform:translateY(12px) rotate(4deg)}}
@media (max-width:900px){
  .flo.mh,.flo.sh{display:none}
  .flo{--s:.6}
  img.flo{--s:.55;opacity:.9}
}
@media (prefers-reduced-motion:reduce){.flo{animation:none}}
