:root{
  --ink:#07080b;
  --navy:#090d18;
  --navy2:#11172a;
  --paper:#f4f1ec;
  --white:#fff;
  --hot:#ff5b38;
  --hot2:#ff8a4a;
  --muted:#a9a9ad;
  --heading:"Arial Narrow","Helvetica Neue Condensed",Impact,Haettenschweiler,sans-serif;
  --body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --gutter:clamp(20px,4vw,64px);
  --max:1600px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:#fff;font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button{font:inherit}
::selection{background:var(--hot);color:#111}
.container{width:min(var(--max),100%);margin-inline:auto;padding-inline:var(--gutter)}

/* Header */
.header{position:fixed;z-index:100;top:0;left:0;right:0;color:#fff;transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease}
.header.scrolled,.menu-open .header{background:rgba(6,7,10,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-shell{height:84px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);gap:28px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand-logo{width:138px;height:auto}
.nav-links{display:flex;align-items:center;gap:34px;margin-left:auto}
.nav-links a{font-size:11px;font-weight:800;letter-spacing:1.65px;text-transform:uppercase;color:rgba(255,255,255,.72);transition:color .2s ease}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-shop,.solid-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:#fff;color:#0a0a0c;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;transition:transform .2s ease,background .2s ease}
.nav-shop:hover,.solid-cta:hover{transform:translateY(-2px);background:#f2f2f2}
.nav-shop b,.solid-cta b{font-size:15px;margin-left:10px}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer;color:#fff}
.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:6px 0;transition:.2s ease}

/* Shared */
.kicker{font-size:10px;font-weight:850;letter-spacing:2.6px;text-transform:uppercase;color:rgba(255,255,255,.72)}
.display{font-family:var(--heading);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;margin:0;line-height:.82}
.orange{color:var(--hot)}
.outline-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 21px;border:1px solid rgba(255,255,255,.42);font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.outline-cta:hover{background:#fff;color:#111;border-color:#fff;transform:translateY(-2px)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

/* Home hero */
.hero-film{height:100svh;min-height:640px;position:relative;overflow:hidden;background:#08090c;color:#fff}
.hero-film video,.hero-film .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-film .hero-poster{z-index:0;background:url('hero-poster.webp') center/cover no-repeat;filter:saturate(.82) contrast(1.12) brightness(.66);transform:scale(1.03)}
.hero-film video{z-index:1;filter:saturate(.82) contrast(1.10) brightness(.70)}
.hero-film:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(3,4,7,.78) 0%,rgba(4,5,8,.32) 54%,rgba(4,5,8,.20) 100%),linear-gradient(0deg,rgba(3,4,7,.52) 0%,transparent 42%),radial-gradient(circle at 75% 40%,rgba(255,83,48,.17),transparent 35%)}
.hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px;padding-bottom:clamp(58px,7vh,88px)}
.hero-content h1{font-size:clamp(86px,11.6vw,190px);max-width:1100px}
.hero-content .kicker{margin-bottom:17px}
.hero-sub{max-width:570px;margin:23px 0 0;font-size:clamp(14px,1.2vw,18px);line-height:1.65;color:rgba(255,255,255,.82)}
.hero-scroll{position:absolute;z-index:4;right:var(--gutter);bottom:34px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.52);writing-mode:vertical-rl}

/* Full-screen campaign slabs */
.visual-slab{position:relative;min-height:88svh;overflow:hidden;background:#0a0b0f}
.visual-slab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visual-slab.contain-art img{object-fit:cover;object-position:center}
.visual-slab:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,8,.67) 0%,rgba(4,5,8,.17) 52%,rgba(4,5,8,.12)),linear-gradient(0deg,rgba(4,5,8,.50),transparent 38%)}
.slab-copy{position:relative;z-index:2;min-height:88svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:110px;padding-bottom:clamp(52px,7vw,110px)}
.slab-copy h2{font-size:clamp(82px,10.5vw,168px);max-width:1000px}
.slab-copy p{font-size:clamp(14px,1.2vw,18px);line-height:1.65;max-width:530px;color:rgba(255,255,255,.8);margin:22px 0 0}

/* Product moment */
.product-moment{background:#f3f1ed;color:#0b0c0f;display:grid;grid-template-columns:1.06fr .94fr;min-height:92svh}
.product-visual{position:relative;overflow:hidden;min-height:680px;background:#fff}
.product-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:clamp(18px,4vw,70px);mix-blend-mode:multiply}
.product-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,120px)}
.product-copy .kicker{color:#6e6e72}
.product-copy h2{font-size:clamp(78px,8.8vw,150px);margin:18px 0 24px;max-width:760px}
.product-copy>p{font-size:16px;line-height:1.75;color:#5c5b5f;max-width:520px}
.product-meta{display:flex;gap:34px;margin:36px 0 0;padding-top:26px;border-top:1px solid rgba(10,11,14,.14)}
.product-meta span{font-family:var(--heading);font-size:38px;font-weight:900;line-height:.9;text-transform:uppercase}
.product-meta small{display:block;font-family:var(--body);font-size:9px;line-height:1.4;letter-spacing:1.2px;margin-top:8px;color:#6e6e72}
.product-copy .solid-cta{align-self:flex-start;background:#0b0c0f;color:#fff;margin-top:34px;min-height:56px}

/* Two oversized image story */
.dual-visual{display:grid;grid-template-columns:1fr 1fr;background:#08090c}
.dual-item{position:relative;min-height:88svh;overflow:hidden}
.dual-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dual-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,8,.62),transparent 46%)}
.dual-caption{position:absolute;z-index:2;left:clamp(22px,4vw,60px);right:clamp(22px,4vw,60px);bottom:clamp(30px,5vw,64px)}
.dual-caption span{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.65);font-weight:800}
.dual-caption h3{font:900 clamp(54px,5.2vw,90px)/.86 var(--heading);text-transform:uppercase;letter-spacing:-.04em;margin:12px 0 0}

/* Closing */
.closing{min-height:82svh;background:radial-gradient(circle at 72% 30%,rgba(255,98,52,.26),transparent 32%),linear-gradient(145deg,#0a0d17,#08090c 64%);display:flex;align-items:center;text-align:center}
.closing-inner{padding-block:clamp(90px,11vw,160px)}
.closing-logo{width:min(290px,54vw);margin:0 auto 42px}
.closing h2{font-size:clamp(80px,10.5vw,160px)}
.closing p{max-width:520px;margin:26px auto 0;color:rgba(255,255,255,.68);line-height:1.7}
.closing .cta-row{justify-content:center}

/* Inner pages */
.page-hero{min-height:72svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:#090b10;padding-top:100px}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,9,.88),rgba(5,6,9,.28)),linear-gradient(0deg,rgba(5,6,9,.68),transparent 55%)}
.page-hero .container{position:relative;z-index:2;padding-bottom:clamp(48px,7vw,90px)}
.page-hero h1{font-size:clamp(82px,11vw,176px);max-width:1100px}
.page-hero p{margin:22px 0 0;color:rgba(255,255,255,.75);font-size:14px;letter-spacing:1.8px;text-transform:uppercase;font-weight:800}

.editorial{background:#f3f1ed;color:#101115;padding:clamp(80px,9vw,140px) 0}
.editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,7vw,120px);align-items:start}
.editorial-copy{position:sticky;top:120px}
.editorial-copy h2{font-size:clamp(70px,7vw,116px);margin:16px 0 25px}
.editorial-copy p{color:#5e5d61;line-height:1.8;max-width:460px}
.editorial-image{margin-bottom:32px;background:#fff;overflow:hidden}
.editorial-image img{width:100%;height:auto}
.editorial-image.tall img{aspect-ratio:4/5;object-fit:cover}
.editorial-label{display:flex;justify-content:space-between;gap:20px;padding:15px 0 34px;border-bottom:1px solid rgba(10,10,12,.15);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:#66666b}
.editorial-label strong{color:#111}

.story-statement{background:#090b10;padding:clamp(90px,10vw,160px) 0}
.story-statement blockquote{margin:0;font:900 clamp(68px,8vw,132px)/.88 var(--heading);text-transform:uppercase;letter-spacing:-.04em;max-width:1300px}
.story-statement blockquote em{font-style:normal;color:var(--hot)}
.story-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,8vw,140px);margin-top:60px;color:#b7b7ba;line-height:1.85;max-width:1100px}

.faq-wrap{background:#f3f1ed;color:#111;padding:clamp(90px,10vw,150px) 0}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,140px)}
.faq-title h2{font-size:clamp(72px,8vw,126px);margin:14px 0 0}
.faq-list details{border-top:1px solid rgba(10,10,12,.18);padding:0}
.faq-list details:last-child{border-bottom:1px solid rgba(10,10,12,.18)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:27px 50px 27px 0;font-size:17px;font-weight:750}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:20px;font-size:28px;font-weight:300}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{margin:0 0 30px;color:#66656a;line-height:1.8;max-width:760px}

/* Footer */
.footer{background:#050609;color:#fff;padding:70px var(--gutter) 28px}
.footer-top{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:60px;padding-bottom:64px}
.footer-brand .brand-logo{width:190px}
.footer-tagline{font:900 clamp(38px,4vw,62px)/.9 var(--heading);text-transform:uppercase;letter-spacing:-.035em;margin:24px 0 0;max-width:520px}
.footer-links{display:flex;gap:74px;padding-top:4px}
.footer-links>div{display:flex;flex-direction:column;gap:15px}
.footer-links span,.footer-bottom{font-size:9px;letter-spacing:1.6px;color:#85868c;font-weight:800;text-transform:uppercase}
.footer-links a{font-size:12px;color:#e6e6e8}
.footer-links a:hover{color:var(--hot)}
.footer-bottom{max-width:1500px;margin:auto;border-top:1px solid rgba(255,255,255,.11);padding-top:22px;display:flex;justify-content:space-between;gap:24px}
.mobile-buy-bar{display:none}

/* Reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.revealed{opacity:1;transform:none}

@media(max-width:960px){
  .nav-links{gap:20px}.nav-links a{font-size:10px}.nav-shop{padding:0 16px}
  .product-moment{grid-template-columns:1fr}.product-visual{min-height:72svh}.product-copy{padding:70px var(--gutter) 84px}.product-copy h2{font-size:clamp(72px,13vw,122px)}
  .dual-visual{grid-template-columns:1fr}.dual-item{min-height:72svh}
  .editorial-grid,.faq-layout{grid-template-columns:1fr}.editorial-copy{position:static}.story-body{grid-template-columns:1fr;gap:25px}
}

@media(max-width:720px){
  :root{--gutter:20px}
  body{padding-bottom:0}

  /* Mobile header: compact, thumb-friendly, no desktop clutter */
  .nav-shell{height:62px;padding:0 18px;gap:12px}
  .brand-logo{width:98px}
  .nav-shop{display:none}
  .menu-toggle{display:block;position:relative;z-index:131;padding:7px 2px}
  .menu-toggle span{width:23px;height:2px;margin:6px 0}
  .nav-links{position:fixed;z-index:130;inset:0;background:#07080b;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;padding:96px 22px calc(34px + env(safe-area-inset-bottom));transform:translateY(-105%);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease}
  .menu-open .nav-links{transform:none;opacity:1;pointer-events:auto}
  .nav-links a{width:100%;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font:900 36px/.95 var(--heading);letter-spacing:-.02em;text-transform:uppercase;color:#fff}
  .menu-open .menu-toggle span:first-child{transform:translateY(8px) rotate(45deg)}
  .menu-open .menu-toggle span:last-child{transform:rotate(-45deg)}

  /* Mobile hero is intentionally composed differently from desktop */
  .hero-film{height:88svh;min-height:620px;max-height:820px}
  .hero-film .hero-poster{background-image:url('hero-poster-mobile.webp');background-position:center 48%;filter:saturate(.88) contrast(1.06) brightness(.64);transform:none}
  .hero-film video{object-position:center 42%;filter:saturate(.86) contrast(1.06) brightness(.66)}
  .hero-film:after{background:linear-gradient(0deg,rgba(4,5,8,.90) 0%,rgba(4,5,8,.58) 28%,rgba(4,5,8,.12) 66%,rgba(4,5,8,.20) 100%)}
  .hero-content{height:100%;justify-content:flex-end;padding:92px 20px 32px}
  .hero-content .kicker{display:none}
  .hero-content h1{font-size:clamp(50px,14.2vw,64px);line-height:.86;letter-spacing:-.04em;max-width:330px}
  .hero-sub{font-size:12.5px;line-height:1.5;max-width:292px;margin-top:13px;color:rgba(255,255,255,.78)}
  .hero-content .cta-row{display:block;width:auto;max-width:none;margin-top:18px}
  .hero-content .solid-cta{width:auto;min-height:48px;padding:0 18px;font-size:9px}
  .hero-content .outline-cta{display:none}
  .hero-scroll{display:none}

  /* Campaign art should read like editorial imagery, not desktop slabs */
  .campaign-poster{background:#07080b}
  .campaign-poster img{width:100%;height:auto}
  .campaign-poster.narrow{padding:0}
  .campaign-poster.narrow img{width:100%}

  /* Product section: one clean image, one concise story */
  .product-moment{display:block;min-height:0}
  .product-visual{min-height:0;aspect-ratio:1/1;background:#fff}
  .product-visual img{padding:10px;object-fit:contain}
  .product-copy{padding:44px 20px 54px}
  .product-copy .kicker{font-size:9px;letter-spacing:2px}
  .product-copy h2{font-size:clamp(48px,13.5vw,60px);line-height:.88;margin:12px 0 16px;max-width:330px}
  .product-copy>p{font-size:13.5px;line-height:1.62;max-width:340px}
  .product-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;padding-top:20px}
  .product-meta span{font-size:28px}
  .product-meta small{font-size:7.5px;letter-spacing:.8px;margin-top:6px}
  .product-copy .solid-cta{width:100%;min-height:50px;margin-top:26px}

  /* Two feature images stay visual and compact */
  .dual-visual{display:block}
  .dual-item{display:block;min-height:0;aspect-ratio:4/5}
  .dual-item img{object-fit:cover}
  .dual-caption{left:20px;right:20px;bottom:24px}
  .dual-caption span{font-size:8px;letter-spacing:1.8px}
  .dual-caption h3{font-size:clamp(44px,13vw,58px);line-height:.88;margin-top:8px}

  .closing{min-height:0;display:block}
  .closing-inner{padding:76px 20px 84px}
  .closing-logo{width:132px;margin-bottom:24px}
  .closing h2{font-size:clamp(48px,13.8vw,62px);line-height:.87}
  .closing p{font-size:12.5px;line-height:1.6;max-width:290px;margin-top:18px}
  .closing .cta-row{display:block;max-width:none;margin-top:24px}
  .closing .solid-cta{width:100%;min-height:50px}
  .closing .outline-cta{display:none}

  /* Inner pages get their own phone scale instead of giant desktop typography */
  .page-hero{min-height:54svh;padding-top:62px}
  .page-hero .container{padding:0 20px 30px}
  .page-hero h1{font-size:clamp(50px,14.5vw,66px);line-height:.88;max-width:340px}
  .page-hero p{font-size:9px;letter-spacing:1.25px;max-width:285px;line-height:1.55;margin-top:13px}
  .page-hero img{object-position:center}

  .editorial{padding:54px 0}
  .editorial-grid{display:block}
  .editorial-copy{position:static;margin-bottom:34px}
  .editorial-copy h2{font-size:clamp(48px,13.5vw,60px);line-height:.9;margin:12px 0 17px}
  .editorial-copy p{font-size:13.5px;line-height:1.65}
  .editorial-image{margin-bottom:13px}
  .editorial-label{padding:11px 0 22px;font-size:8px;letter-spacing:1px}

  .story-statement{padding:64px 0}
  .story-statement blockquote{font-size:clamp(46px,13vw,58px);line-height:.9}
  .story-body{display:block;margin-top:32px;font-size:13.5px;line-height:1.72}
  .story-body>*+*{margin-top:18px}

  .faq-wrap{padding:58px 0}
  .faq-layout{display:block}
  .faq-title{margin-bottom:30px}
  .faq-title h2{font-size:clamp(48px,13.5vw,60px);line-height:.9}
  .faq-list summary{font-size:14px;line-height:1.35;padding:20px 38px 20px 0}
  .faq-list summary:after{top:16px;font-size:24px}
  .faq-list p{font-size:13px;line-height:1.65;margin-bottom:22px}

  /* Compact footer */
  .footer{padding:48px 20px calc(28px + env(safe-area-inset-bottom))}
  .footer-top{display:block;padding-bottom:34px}
  .footer-brand .brand-logo{width:126px}
  .footer-tagline{font-size:34px;line-height:.92;max-width:280px;margin-top:17px}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px;padding:0}
  .footer-links>div{gap:12px}
  .footer-links a{font-size:11px}
  .footer-bottom{display:block;padding-top:18px;line-height:1.6}
  .footer-bottom span:last-child{display:none}

  /* Purchase CTA appears only after the hero, instead of covering the whole mobile site */
  .mobile-buy-bar{position:fixed;z-index:150;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));height:52px;display:flex;align-items:center;justify-content:center;background:#fff;color:#08090b;font-size:10px;font-weight:900;letter-spacing:1.35px;text-transform:uppercase;box-shadow:0 10px 35px rgba(0,0,0,.32);transform:translateY(90px);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}
  .mobile-buy-bar b{font-size:15px;margin-left:9px}
  body.mobile-cta-visible .mobile-buy-bar{transform:none;opacity:1;pointer-events:auto}
}

@media(max-width:390px){
  .hero-film{min-height:600px}
  .hero-content h1{font-size:50px}
  .product-copy h2,.editorial-copy h2,.faq-title h2{font-size:48px}
  .footer-tagline{font-size:31px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-film video{display:none}}
.campaign-poster{background:#090a0d;overflow:hidden}
.campaign-poster img{width:100%;height:auto;margin:0 auto}
.campaign-poster.narrow{padding:clamp(26px,4vw,64px);background:#07080b}
.campaign-poster.narrow img{width:min(1320px,100%)}
@media(max-width:720px){.campaign-poster.narrow{padding:0}.campaign-poster.narrow img{width:100%}}

/* ============================================================
   V5 MOBILE RESET — purpose-built phone composition
   Desktop rules above remain unchanged.
   ============================================================ */
.mobile-only{display:none!important}

@media(max-width:720px){
  :root{--gutter:20px}
  html{scroll-behavior:auto}
  body{overflow-x:hidden;padding:0;background:#07080b}
  body.menu-open{overflow:hidden}
  .mobile-only{display:block!important}
  .desktop-brand-art,.desktop-action-art,.desktop-dual-art,
  .desktop-inner-hero,.desktop-kit-editorial,.desktop-kit-campaign,
  .desktop-training-campaign,.desktop-training-dual,.desktop-story-campaign{display:none!important}

  /* Core content must never depend on scroll-trigger JS on phones. */
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .mobile-buy-bar{display:none!important}

  /* Header */
  .nav-shell{height:60px;padding:0 18px;gap:12px}
  .brand-logo{width:96px}
  .nav-shop{display:none!important}
  .menu-toggle{display:flex;position:relative;z-index:151;width:44px;height:44px;padding:0;align-items:center;justify-content:center;flex-direction:column;border:0;background:transparent}
  .menu-toggle span{display:block;width:24px;height:2px;margin:3px 0;background:#fff}
  .nav-links{position:fixed;z-index:150;inset:0;background:#07080b;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:0;padding:96px 22px calc(34px + env(safe-area-inset-bottom));transform:translateY(-105%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}
  .menu-open .nav-links{transform:none;opacity:1;pointer-events:auto}
  .nav-links a{width:100%;min-height:56px;display:flex;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font:900 34px/.95 var(--heading);letter-spacing:-.025em;text-transform:uppercase;color:#fff}
  .menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
  body:not([data-page="home"]) .header{background:rgba(6,7,10,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}

  /* Home hero: one clean message, one action, clean photographic fallback. */
  .hero-film{height:76svh;min-height:600px;max-height:720px}
  .hero-film .hero-poster{background-image:url('hero-poster-mobile-v2.webp')!important;background-position:center 47%!important;filter:saturate(.78) contrast(1.08) brightness(.58)!important;transform:none!important}
  .hero-film video{object-position:center 46%!important;filter:saturate(.78) contrast(1.08) brightness(.60)!important}
  .hero-film:after{background:linear-gradient(0deg,rgba(3,4,7,.96) 0%,rgba(3,4,7,.68) 26%,rgba(3,4,7,.18) 56%,rgba(3,4,7,.16) 100%)!important}
  .hero-content{height:100%;justify-content:flex-end;padding:88px 20px 28px}
  .hero-content .kicker,.hero-scroll{display:none!important}
  .hero-content h1{font-size:clamp(46px,13vw,58px);line-height:.88;letter-spacing:-.042em;max-width:340px}
  .hero-sub{font-size:13px;line-height:1.48;max-width:315px;margin:13px 0 0;color:rgba(255,255,255,.79)}
  .hero-content .cta-row{display:block;margin-top:18px}
  .hero-content .solid-cta{width:min(220px,100%);min-height:50px;padding:0 18px;font-size:9px}
  .hero-content .outline-cta{display:none!important}

  /* Brand statement replaces dense Amazon-style campaign art on phones. */
  .mobile-manifesto{background:#08090c;color:#fff;min-height:58svh;display:flex!important;align-items:center}
  .mobile-manifesto-inner{padding:76px 20px 72px;width:100%}
  .mobile-eyebrow{display:block;font-size:9px;line-height:1.3;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.58);margin-bottom:18px}
  .mobile-eyebrow.dark{color:#747477}
  .mobile-manifesto h2{font-size:clamp(52px,14.3vw,64px);line-height:.88;max-width:350px}
  .mobile-manifesto p{font-size:13.5px;line-height:1.62;color:#a8a9ad;max-width:320px;margin:24px 0 0}

  /* Product block */
  .product-moment{display:block;min-height:0;background:#f3f1ed}
  .product-visual{min-height:0;aspect-ratio:1/1;background:#fff}
  .product-visual img{padding:8px;object-fit:contain}
  .product-copy{padding:46px 20px 58px}
  .product-copy .kicker{font-size:9px;letter-spacing:1.9px}
  .product-copy h2{font-size:clamp(46px,13vw,58px);line-height:.89;margin:13px 0 18px;max-width:350px}
  .product-copy>p{font-size:13.5px;line-height:1.62;max-width:345px}
  .product-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:26px 0 0;padding-top:20px}
  .product-meta span{font-size:27px}
  .product-meta small{font-size:7.5px;letter-spacing:.65px;margin-top:6px}
  .product-copy .solid-cta{width:100%;min-height:52px;margin-top:28px}

  /* Large clean photography; no baked infographic text. */
  .mobile-action-story{background:#07080b}
  .mobile-action-panel{position:relative;min-height:78svh;max-height:760px;overflow:hidden;background:#090a0d}
  .mobile-action-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .mobile-action-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,7,.92) 0%,rgba(3,4,7,.48) 28%,rgba(3,4,7,.05) 58%,rgba(3,4,7,.08) 100%)}
  .mobile-action-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:30px;color:#fff}
  .mobile-action-copy>span{display:block;font-size:9px;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:10px}
  .mobile-action-copy h2{font-size:clamp(49px,13.5vw,60px);line-height:.88;max-width:340px}
  .mobile-action-copy h2 b{font:inherit}
  .mobile-action-copy p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.76);max-width:300px;margin:14px 0 0}

  /* Closing */
  .closing{min-height:0;display:block;background:radial-gradient(circle at 72% 28%,rgba(255,98,52,.18),transparent 30%),linear-gradient(145deg,#0a0d17,#08090c 68%)}
  .closing-inner{padding:74px 20px 78px}
  .closing-logo{width:126px;margin:0 auto 24px}
  .closing h2{font-size:clamp(48px,13.5vw,60px);line-height:.88}
  .closing p{font-size:13px;line-height:1.58;max-width:300px;margin:18px auto 0}
  .closing .cta-row{display:block;margin-top:24px}
  .closing .solid-cta{width:100%;min-height:52px}
  .closing .outline-cta{display:none!important}

  /* Dedicated mobile inner-page heroes */
  .mobile-kit-hero{padding:92px 20px 36px;background:#f3f1ed;color:#0c0d10}
  .mobile-kit-copy h1{font-size:clamp(50px,14vw,62px);line-height:.88;margin:0}
  .mobile-kit-copy p{font-size:13px;color:#65656a;margin:14px 0 0}
  .mobile-kit-product{margin:28px -20px 0;background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
  .mobile-kit-product img{width:100%;height:100%;object-fit:contain;padding:10px}
  .mobile-primary-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;background:#0b0c0f;color:#fff;font-size:9px;font-weight:900;letter-spacing:1.45px;text-transform:uppercase;margin-top:24px}
  .mobile-primary-cta b{font-size:15px;margin-left:9px}

  .mobile-kit-story{background:#07080b;color:#fff}
  .mobile-kit-text{padding:72px 20px 64px}
  .mobile-kit-text h2{font-size:clamp(50px,14vw,62px);line-height:.88}
  .mobile-kit-text p{font-size:13.5px;line-height:1.62;color:#a8a9ad;max-width:330px;margin:20px 0 0}
  .mobile-kit-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
  .mobile-kit-counts div{padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}
  .mobile-kit-counts strong{display:block;font:900 34px/.9 var(--heading)}
  .mobile-kit-counts span{display:block;font-size:8px;letter-spacing:1.25px;text-transform:uppercase;color:#8f9095;margin-top:7px}

  .mobile-training-hero{position:relative;height:76svh;min-height:600px;max-height:720px;overflow:hidden;background:#08090c;color:#fff}
  .mobile-training-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .mobile-training-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,7,.94),rgba(3,4,7,.16) 58%,rgba(3,4,7,.14))}
  .mobile-training-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:30px}
  .mobile-training-copy h1{font-size:clamp(50px,14vw,62px);line-height:.88}
  .mobile-training-copy p{font-size:13px;color:rgba(255,255,255,.74);margin:14px 0 0}

  .mobile-story-hero{min-height:68svh;padding:124px 20px 66px;background:radial-gradient(circle at 78% 25%,rgba(255,91,56,.20),transparent 32%),#08090c;color:#fff;display:flex!important;flex-direction:column;justify-content:flex-end}
  .mobile-story-hero h1{font-size:clamp(52px,14.4vw,64px);line-height:.88;max-width:350px}
  .mobile-story-hero p{font-size:13px;color:#a8a9ad;margin:18px 0 0}

  .mobile-faq-hero{padding:98px 20px 0;background:#f3f1ed;color:#111;overflow:hidden}
  .mobile-faq-hero h1{font-size:clamp(50px,14vw,62px);line-height:.88;margin:0}
  .mobile-faq-hero p{font-size:13px;color:#65656a;margin:14px 0 0}
  .mobile-faq-hero img{width:100%;height:auto;margin:24px 0 0;mix-blend-mode:multiply}

  /* Shared inner-page editorial content */
  .story-statement{padding:68px 0;background:#090b10}
  .story-statement blockquote{font-size:clamp(46px,12.7vw,56px);line-height:.9}
  .story-body{display:block;margin-top:32px;font-size:13.5px;line-height:1.72}
  .story-body>*+*{margin-top:18px}

  .faq-wrap{padding:58px 0;background:#f3f1ed}
  .faq-layout{display:block}
  .faq-title{margin-bottom:28px}
  .faq-title h2{font-size:clamp(46px,12.7vw,56px);line-height:.9}
  .faq-list summary{min-height:58px;font-size:14px;line-height:1.35;padding:20px 40px 20px 0}
  .faq-list summary:after{top:16px;font-size:24px}
  .faq-list p{font-size:13px;line-height:1.65;margin:0 0 22px}

  /* Footer: compact and quiet. */
  .footer{padding:48px 20px calc(28px + env(safe-area-inset-bottom))}
  .footer-top{display:block;padding-bottom:32px}
  .footer-brand .brand-logo{width:120px}
  .footer-tagline{font-size:31px;line-height:.92;max-width:250px;margin-top:17px}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px;padding:0}
  .footer-links>div{gap:11px}
  .footer-links a{font-size:11px}
  .footer-bottom{display:block;padding-top:18px;line-height:1.6}
  .footer-bottom span:last-child{display:none}
}

@media(max-width:390px){
  .hero-content h1,.mobile-manifesto h2,.mobile-kit-copy h1,.mobile-kit-text h2,.mobile-training-copy h1,.mobile-story-hero h1,.mobile-faq-hero h1{font-size:48px}
  .mobile-action-copy h2,.closing h2,.story-statement blockquote,.faq-title h2{font-size:46px}
}
@media(max-width:720px){
  /* A backdrop-filter on the fixed header creates a containing block for the full-screen menu in some browsers. */
  .menu-open .header{background:transparent!important;backdrop-filter:none!important;border-bottom:0!important}
  .footer-links a{display:flex;align-items:center;min-height:44px}
}
@media(max-width:720px){
  .nav-shell>.brand{min-height:48px;display:flex;align-items:center}
  .menu-toggle{width:48px;height:48px}
}
