:root{
  --ink:#121419;--ink-2:#1B1E25;--ink-soft:#3C424C;--ink-faint:#727A86;
  --g0:#F6F8FA;--g1:#E7EBEF;--g2:#D2D9E0;--g3:#B4BCC7;--g4:#959EA9;
  --white:#fff;--hair:rgba(18,20,25,.12);--hair-2:rgba(255,255,255,.12);
  --red:#E01420;--red-deep:#A60A11;--gold:#C8962F;--gold-lt:#E7C572;--gold-dp:#9A7220;
  --noir:#16120F;--noir-2:#201A15;--noir-3:#2B2219;
  --maxw:1240px;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --shadow:0 2px 0 rgba(255,255,255,.5) inset,0 22px 48px -26px rgba(18,20,25,.5);
  --shadow-lg:0 40px 80px -40px rgba(18,20,25,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:"IBM Plex Sans",system-ui,sans-serif;color:var(--ink);background:var(--g1);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.narrow{max-width:780px}
h1,h2,h3,.disp{font-family:"Archivo",sans-serif;letter-spacing:-.022em;line-height:1.02;overflow-wrap:break-word}
a{color:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}

.eyebrow{font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.7em}
.eyebrow.light{color:rgba(255,255,255,.82)}.eyebrow.gold{color:var(--gold-lt)}
.flag{width:15px;height:15px;background:var(--red);border-radius:2px;position:relative;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.flag::before,.flag::after{content:"";position:absolute;background:#fff;border-radius:1px}
.flag::before{left:50%;top:22%;transform:translateX(-50%);width:3px;height:56%}
.flag::after{top:50%;left:22%;transform:translateY(-50%);height:3px;width:56%}

.glacier{position:relative;background:
  radial-gradient(110% 80% at 12% 0%,rgba(255,255,255,.9),rgba(255,255,255,0) 52%),
  radial-gradient(120% 90% at 88% 100%,rgba(149,158,169,.45),rgba(149,158,169,0) 55%),
  linear-gradient(150deg,var(--g0),var(--g2) 50%,var(--g1) 74%,var(--g3))}

.warnbar{position:sticky;top:0;z-index:60;background:var(--ink);color:#E9ECEF;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:8px 16px;line-height:1.4;border-bottom:1px solid rgba(255,255,255,.08)}
.warnbar b{color:#fff}.warnbar .x{color:var(--red);font-weight:700}

nav{position:sticky;top:0;z-index:55;background:rgba(246,248,250,.8);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid var(--hair);transition:background .3s}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand img{height:44px;transition:transform .3s var(--ease)}.brand:hover img{transform:scale(1.04)}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.92rem;position:relative;padding:6px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .28s var(--ease)}
.nav-links a:hover,.nav-links a.on{color:var(--ink)}.nav-links a:hover::after,.nav-links a.on::after{width:100%}
.burger{display:none;background:none;border:0;cursor:pointer;width:42px;height:42px;color:var(--ink)}

.vhero.sub{min-height:64vh}
.vhero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.vhero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:blur(5px) brightness(.78) saturate(1.06);transform:scale(1.1)}
.vhero-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(12,14,18,.34) 0%,rgba(12,14,18,.12) 26%,rgba(12,14,18,.62) 70%,rgba(10,12,16,.92) 100%)}
.vhero.riviera .vhero-scrim{background:linear-gradient(180deg,rgba(10,7,5,.5),rgba(10,7,5,.15) 32%,rgba(10,7,5,.66) 70%,rgba(8,6,4,.95))}
.vhero-inner{position:relative;z-index:2;max-width:920px;margin:0 auto;width:100%;padding:0 28px 96px;text-align:center}
.vhead{font-family:"Archivo";font-weight:900;font-style:italic;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.98;overflow-wrap:break-word;text-shadow:0 4px 40px rgba(0,0,0,.5);margin:18px 0 0;
  opacity:0;transform:translateY(28px);animation:rise .9s var(--ease-out) .15s forwards}
.vhead .r{color:#ff4d57}.vhead .g{color:var(--gold-lt)}
.vsub{font-size:clamp(1rem,1.6vw,1.22rem);color:#E9ECF0;max-width:54ch;margin:20px auto 30px;text-shadow:0 2px 14px rgba(0,0,0,.6);
  opacity:0;transform:translateY(22px);animation:rise .9s var(--ease-out) .32s forwards}
.vhero .cta{opacity:0;transform:translateY(18px);animation:rise .9s var(--ease-out) .48s forwards}
.vhero .eyebrow{opacity:0;animation:fade 1s ease .05s forwards}
@keyframes rise{to{opacity:1;transform:none}}@keyframes fade{to{opacity:1}}
.cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:6px}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.7);font-size:1.4rem;text-decoration:none;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:600;padding:15px 28px;border-radius:3px;font-size:.96rem;transition:all .24s var(--ease);cursor:pointer;border:0;font-family:inherit;letter-spacing:.01em}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 30px -12px rgba(224,20,32,.6)}.btn-primary:hover{background:var(--red-deep);transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(224,20,32,.7)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;transform:translateY(-3px)}
.btn-gold{background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#2a1f08;font-weight:700;box-shadow:0 10px 30px -12px rgba(200,150,47,.55)}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 44px -14px rgba(200,150,47,.7)}

section{padding:96px 0}
.sec-head{text-align:center;max-width:64ch;margin:0 auto 52px}
.sec-head h2{font-size:clamp(2.1rem,4.8vw,3.3rem);font-weight:900;margin:14px 0 16px}
.sec-head p{color:var(--ink-soft);font-size:1.08rem}
.sec-head.light h2{color:#fff}.sec-head.light p{color:var(--g3)}

.ridge{display:block;width:100%;height:auto;line-height:0}
.ridge svg{display:block;width:100%;height:auto}

.marquee{background:var(--ink);color:#fff;overflow:hidden;padding:22px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.mq-track{display:inline-flex;white-space:nowrap;animation:scroll 38s linear infinite;will-change:transform}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:"Archivo";font-weight:900;font-style:italic;font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em;padding:0 26px;color:rgba(255,255,255,.32)}
.mq-track span.hot{color:#fff}
.mq-track .dot{color:var(--red);padding:0 4px}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}}

.lines{padding:0;background:var(--ink)}
.lines-grid{display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.lineblock{padding:72px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.glacierblk{background:linear-gradient(150deg,var(--g0),var(--g2))}
.rivierablk{background:linear-gradient(150deg,var(--noir-3),var(--noir));color:#EFE7DC}
.rivierablk .eyebrow{color:var(--gold-lt)}
.lineblock h2{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:900;font-style:italic;margin:12px 0 12px}
.glacierblk h2{color:var(--ink)}.rivierablk h2{color:var(--gold-lt)}
.lineblock p{margin-bottom:26px;max-width:40ch}.glacierblk p{color:var(--ink-soft)}.rivierablk p{color:#CFC6BA}
.lineblock .num{position:absolute;right:30px;top:24px;font-family:"Archivo";font-weight:900;font-size:5rem;opacity:.08}

.flavsec{background:var(--g0)}
.flavsec.dark{background:var(--noir);color:#EFE7DC}
.line-head{display:flex;align-items:center;gap:16px;margin-bottom:34px;flex-wrap:wrap}
.line-pill{font-family:"Archivo";font-style:italic;font-weight:900;font-size:.86rem;color:#fff;padding:8px 16px;border-radius:3px}
.line-pill.glac{background:var(--ink)}.line-pill.riv{background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#2a1f08}
.line-sub{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}
.line-sub.light{color:var(--g4)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:20px}
.fcard{text-decoration:none;background:#fff;border:1px solid var(--hair);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s var(--ease);display:flex;flex-direction:column;position:relative}
.fcard::after{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:0 0 0 0 var(--c);opacity:0;transition:opacity .3s;pointer-events:none}
.fcard:hover{transform:translateY(-7px)}
.fcard:hover::after{opacity:.5;box-shadow:0 0 0 2px var(--c)}
.fcard.dark{background:#211B16;border-color:rgba(255,255,255,.08);color:#EFE7DC}
.fcard-img{aspect-ratio:896/1200;display:grid;place-items:center;padding:0;overflow:hidden;background:
  radial-gradient(120% 90% at 50% 18%,color-mix(in srgb,var(--c) 24%,transparent),transparent 70%),
  linear-gradient(180deg,var(--g0),var(--g2))}
.fcard.dark .fcard-img{background:
  radial-gradient(120% 90% at 50% 18%,color-mix(in srgb,var(--c) 38%,transparent),transparent 72%),
  linear-gradient(180deg,#2A221B,#16120F)}
.fcard-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s var(--ease)}
.fcard:hover .fcard-img img{transform:scale(1.06)}
.fcard-body{padding:18px 20px 22px;border-top:3px solid var(--c);display:flex;flex-direction:column;gap:5px}
.series{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c);font-weight:600}
.fcard h3{font-family:"Archivo";font-weight:800;font-style:italic;font-size:1.28rem;color:var(--c);line-height:1.05}
.fcard .desc{font-size:.86rem;color:var(--ink-soft)}.fcard.dark .desc{color:#BAB1A5}
.fcard .more{margin-top:10px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--ink-soft);text-transform:uppercase;font-family:"IBM Plex Mono",monospace}
.fcard.dark .more{color:#D3CABE}

.spotlight{position:relative;overflow:hidden}
.spotlight.dark{background:var(--noir);color:#EFE7DC}
.spot-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.spot-grid.rev .spot-media{order:2}
.spot-media{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:896/1200;display:grid;place-items:center;padding:0;
  background:radial-gradient(120% 90% at 50% 16%,color-mix(in srgb,var(--c) 34%,transparent),transparent 70%),linear-gradient(180deg,var(--g0),var(--g2));box-shadow:var(--shadow-lg)}
.spotlight.dark .spot-media{background:radial-gradient(120% 90% at 50% 16%,color-mix(in srgb,var(--c) 46%,transparent),transparent 72%),linear-gradient(180deg,#2A221B,#15110E)}
.spot-media img,.spot-media video{width:100%;height:100%;object-fit:cover;object-position:center}
.spot-info .series{font-size:.66rem}
.spot-info h2{font-family:"Archivo";font-weight:900;font-style:italic;font-size:clamp(2rem,4vw,3rem);color:var(--c);margin:8px 0 10px;line-height:1}
.spot-info .desc{font-weight:600;color:var(--ink-soft);font-size:1.12rem}.spotlight.dark .desc{color:#CFC6BA}
.spot-info .blurb{margin:14px 0 22px;max-width:42ch;color:var(--ink-soft)}.spotlight.dark .blurb{color:#BAB1A5}

.riviera-banner{position:relative;overflow:hidden;color:#fff;padding:0}
.rb-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:blur(5px) brightness(.74) saturate(1.06);transform:scale(1.1)}
.rb-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(8,6,4,.9),rgba(8,6,4,.55) 56%,rgba(8,6,4,.25))}
.rb-inner{position:relative;z-index:2;padding:136px 28px;max-width:640px}
.rb-inner h2{font-size:clamp(2.3rem,5.2vw,3.6rem);font-weight:900;font-style:italic;margin:14px 0 14px;color:var(--gold-lt)}
.rb-inner p{color:#DAD2C7;margin-bottom:28px;font-size:1.1rem}

.why{background:var(--ink);color:var(--g1);position:relative;overflow:hidden}
.why::before{content:"";position:absolute;inset:0;opacity:.05;background:repeating-linear-gradient(54deg,#fff 0 1px,transparent 1px 42px)}
.why .wrap{position:relative}.why .sec-head h2{color:#fff}.why .sec-head p{color:var(--g3)}.why .eyebrow{color:var(--g3)}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feat{text-align:center;padding:40px 24px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0));transition:border-color .3s,transform .3s,background .3s}
.feat:hover{border-color:rgba(224,20,32,.5);transform:translateY(-6px);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0))}
.feat .ic{width:54px;height:54px;margin:0 auto 18px;color:#fff;transition:color .3s}.feat:hover .ic{color:var(--gold-lt)}
.feat h3{font-size:1rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.03em}
.feat p{font-size:.86rem;color:var(--g3);margin-top:9px}

.specstrip{padding:0}
.spec-grid{background:var(--red);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);font-family:"IBM Plex Mono",monospace;text-align:center}
.spec-grid .cell{padding:40px 16px;border-right:1px solid rgba(255,255,255,.2)}.spec-grid .cell:last-child{border-right:0}
.spec-grid .k{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;opacity:.86}
.spec-grid .v{font-family:"Archivo";font-weight:900;font-size:2.1rem;margin-top:8px}.spec-grid .v.sm{font-size:1.4rem;margin-top:14px;letter-spacing:.04em}
.spec-grid .v small{font-size:.9rem;font-weight:700}

.close{text-align:center}
.close-inner{max-width:700px;margin:0 auto}
.close-logo{width:min(260px,60vw);margin:0 auto 24px}
.close-inner h2{font-style:italic;font-weight:900;font-size:clamp(1.9rem,4.2vw,2.8rem);margin-bottom:16px}
.close-inner .lead{color:var(--ink-soft);font-size:1.08rem;max-width:50ch;margin:0 auto 24px}

.page-hero{padding:96px 0 80px;text-align:center;position:relative}
.page-hero h1{font-size:clamp(2.4rem,5.8vw,4rem);font-weight:900;margin:14px 0 16px;font-style:italic}
.page-hero p{color:var(--ink-soft);font-size:1.12rem;max-width:56ch;margin:0 auto}

.flavhero{padding:72px 0 80px;--c:#888;position:relative;overflow:hidden}
.flavhero.dark{background:var(--noir);color:#EFE7DC}
.flavhero-grid{display:grid;grid-template-columns:48% 52%;gap:48px;align-items:center}
.flavhero-img{border-radius:18px;overflow:hidden;aspect-ratio:896/1200;max-width:440px;display:grid;place-items:center;padding:0;
  background:radial-gradient(120% 90% at 50% 16%,color-mix(in srgb,var(--c) 32%,transparent),transparent 70%),linear-gradient(180deg,var(--g0),var(--g2));box-shadow:var(--shadow-lg)}
.flavhero.dark .flavhero-img{background:radial-gradient(120% 90% at 50% 16%,color-mix(in srgb,var(--c) 46%,transparent),transparent 72%),linear-gradient(180deg,#2A221B,#15110E)}
.flavhero-img img,.flavhero-img video{width:100%;height:100%;object-fit:cover;object-position:center}
.flavhero-info .back{display:inline-block;font-size:.8rem;font-family:"IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;margin-bottom:16px}
.flavhero.dark .back{color:#A89E92}
.flavhero-info h1{font-family:"Archivo";font-weight:900;font-style:italic;font-size:clamp(2.4rem,5.4vw,3.8rem);color:var(--c);margin:6px 0 8px}
.flavhero-info .desc{font-weight:600;color:var(--ink-soft);font-size:1.16rem}.flavhero.dark .desc{color:#CFC6BA}
.flavhero-info .blurb{margin:16px 0 22px;max-width:44ch;color:var(--ink-soft);font-size:1.02rem}.flavhero.dark .blurb{color:#BAB1A5}
.notes{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:26px}
.notes li{display:flex;align-items:center;gap:12px;font-weight:500}
.notes .nb{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
.chips{display:flex;gap:9px;flex-wrap:wrap}
.chip{font-family:"IBM Plex Mono",monospace;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--hair);padding:8px 13px;border-radius:3px;background:var(--g0)}
.flavhero.dark .chip{color:#CFC6BA;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.flavnav{background:var(--ink);padding:0}
.flavnav-in{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;gap:14px}
.flavnav-in a{color:var(--g2);text-decoration:none;font-weight:600;font-size:.92rem;transition:color .2s}
.flavnav-in a:hover{color:#fff}.flavnav-in .mid{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g4)}

.craft-body{background:var(--g0)}
.craft-body h2{font-size:1.9rem;font-weight:900;margin-bottom:16px}
.craft-body p{color:var(--ink-soft);margin-bottom:16px;font-size:1.06rem}

.faqsec{background:var(--g1)}
.faq{border-top:1px solid var(--hair);padding:24px 0}
.faq h3{font-size:1.08rem;font-weight:800;margin-bottom:6px}.faq p{color:var(--ink-soft)}
.legalsec{background:var(--g0)}
.legalsec h2{font-size:1.5rem;font-weight:900;margin-bottom:14px}
.legalsec p{color:var(--ink-soft);margin-bottom:12px;font-size:.92rem}

footer{background:var(--ink);color:var(--g3);padding:72px 0 30px}
.foot-top{display:flex;justify-content:space-between;gap:44px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand{max-width:34ch}.foot-brand img{height:62px;margin-bottom:16px}.foot-brand p{font-size:.86rem;line-height:1.65}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap}
.foot-cols h4{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--g4);margin-bottom:14px}
.foot-cols a{display:block;color:var(--g2);text-decoration:none;font-size:.89rem;margin-bottom:10px;transition:color .2s,padding .2s}.foot-cols a:hover{color:#fff;padding-left:4px}
.foot-warn{margin-top:30px;background:rgba(224,20,32,.1);border:1px solid rgba(224,20,32,.35);border-radius:6px;padding:16px 18px;display:flex;gap:14px;align-items:flex-start}
.foot-warn .badge{flex:none;width:42px;height:42px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;font-family:"Archivo";font-weight:900;color:var(--red);font-size:.8rem}
.foot-warn p{font-size:.78rem;color:var(--g2);line-height:1.55}.foot-warn b{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:28px;font-size:.73rem;font-family:"IBM Plex Mono",monospace;color:var(--g4)}

.agegate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:rgba(14,15,19,.94);backdrop-filter:blur(10px)}
.agegate[hidden]{display:none}
.ag-card{max-width:450px;width:100%;background:var(--g0);border-radius:10px;padding:42px 38px;text-align:center;box-shadow:0 50px 90px -30px rgba(0,0,0,.8);border:1px solid rgba(255,255,255,.6)}
.ag-logo{width:160px;margin:0 auto 20px}
.ag-card p{font-size:.95rem;color:var(--ink-soft);margin-bottom:8px}
.ag-card .legal{font-size:.74rem;color:var(--ink-faint);margin:18px 0 24px}
.ag-actions{display:flex;flex-direction:column;gap:11px}
.ag-actions button{padding:15px;border-radius:3px;font-family:inherit;font-weight:600;font-size:.98rem;cursor:pointer;border:0;transition:all .2s}
.ag-yes{background:var(--red);color:#fff}.ag-yes:hover{background:var(--red-deep)}
.ag-no{background:transparent;color:var(--ink-soft);border:1.5px solid var(--hair)}.ag-no:hover{border-color:var(--ink)}
.ag-exit{position:fixed;inset:0;z-index:201;display:none;place-items:center;background:var(--ink);color:var(--g2);text-align:center;padding:30px}
.ag-exit h2{font-family:"Archivo";color:#fff;font-size:1.6rem;margin-bottom:10px}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.vhead,.vsub,.cta,.eyebrow{animation:none;opacity:1;transform:none}.scrollcue{animation:none}}

@media (max-width:1024px){.wrap{padding:0 24px}section{padding:80px 0}}
@media (max-width:980px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .lines-grid{grid-template-columns:1fr}
  .spot-grid{grid-template-columns:1fr;gap:28px}.spot-grid.rev .spot-media{order:0}.spot-media{max-width:420px;margin:0 auto;width:100%}
  .flavhero-grid{grid-template-columns:1fr;gap:28px}.flavhero-img{max-width:360px;margin:0 auto}
  .rb-inner{padding:104px 24px}
}
@media (max-width:680px){
  .nav-links{position:fixed;inset:70px 0 auto 0;flex-direction:column;background:var(--g0);padding:18px 24px 26px;gap:16px;border-bottom:1px solid var(--hair);transform:translateY(-160%);transition:transform .32s var(--ease);align-items:stretch}
  .nav-links.open{transform:translateY(0)}.burger{display:grid;place-items:center}
  .foot-top{flex-direction:column}
  section{padding:58px 0}
  .sec-head{margin-bottom:32px}
  .vhero{min-height:78vh}.vhero-inner{padding:0 22px 56px}.vsub{margin:16px auto 24px}
  .lines-grid{min-height:auto}.lineblock{padding:46px 26px}.lineblock .num{font-size:3.2rem;top:16px;right:20px}
  .rb-inner{padding:82px 22px}
  .flavhero{padding:50px 0 58px}
  .spot-media,.flavhero-img{max-width:360px;padding:0}
  .feat{padding:30px 20px}
  .flavnav-in{padding:18px 20px}.flavnav-in a{font-size:.85rem}.flavnav-in .mid{display:none}
  .wrap{padding:0 20px}
}
@media (max-width:520px){
  .cta{flex-direction:column;align-items:center;width:100%}.cta .btn{width:100%;max-width:340px;justify-content:center}
  .vhead{font-size:clamp(2.1rem,9vw,2.8rem)}
  .page-hero h1,.flavhero-info h1{font-size:clamp(2rem,8vw,2.6rem)}
}
@media (max-width:460px){
  .feat-grid{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr;gap:12px}
  .mq-track span{font-size:1.15rem;padding:0 18px}
  .spec-grid .v{font-size:1.7rem}.spec-grid .cell{padding:30px 12px}
  .chip{font-size:.68rem;padding:7px 11px}
}
@media (max-width:360px){.fgrid{grid-template-columns:1fr}.vhead{font-size:2rem}}
