/* Responsive refinements: retain readable labels without horizontal overflow. */
*,*::before,*::after{box-sizing:border-box}img{max-width:100%}main,section,.purchase,.visual,.sectionhead>div,.fitgrid article{min-width:0}header{gap:16px}.buy-title,h2,.demo-copy h2{overflow-wrap:break-word}.intro-stage{padding-inline:clamp(16px,4vw,48px)}.demo-stage{height:clamp(260px,47vw,460px)}.demo-tabs{max-width:100%;min-width:0}.specstrip{width:calc(100% - 48px)}.specstrip div{min-width:0}.fitgrid article>p{overflow-wrap:anywhere}.included{font-size:14px}.gallery button{min-width:0}.total strong{white-space:nowrap}dialog{max-width:min(480px,calc(100vw - 32px))}#lightbox{max-width:min(1000px,calc(100vw - 24px))}
@media(min-width:801px) and (max-width:1100px){.hero{gap:5%;padding-inline:4%}.buy-title{font-size:44px}.fitgrid{gap:16px}.fitgrid article{padding:22px}.fitgrid article>p{font-size:36px}.fitgrid img{height:280px}.story{gap:5%;padding-inline:5%}.story h2{font-size:42px}.story figure img{height:500px}.specstrip{padding:30px 20px}.specstrip strong{font-size:25px}.specstrip div{padding-left:12px}.compact{gap:6%;padding-inline:5%}}
@media(max-width:800px){.hero{grid-template-columns:1fr}.purchase{width:100%;max-width:600px;margin-inline:auto}.visual{width:100%;max-width:600px;margin-inline:auto}.fitgrid{grid-template-columns:1fr}.fitgrid article{grid-template-columns:minmax(100px,30%) minmax(0,1fr)}.fitgrid article>p{overflow-wrap:normal}.specstrip{width:auto;margin-inline:6%}.specstrip strong{font-size:26px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.story figure img{height:auto;max-height:520px;aspect-ratio:1/1;object-fit:cover}.compact{grid-template-columns:1fr}.compact>img{max-width:600px;margin:auto}.sectionhead{display:block}.faq{grid-template-columns:1fr}.intro-actions{flex-wrap:wrap}.demo-copy{min-height:175px}.demo-copy h2{font-size:clamp(26px,5vw,36px)}.demo-copy p{font-size:19px}.demo-stage .action{padding:10px 0}.demo-controls{max-width:600px;margin-inline:auto}footer{padding-bottom:max(30px,env(safe-area-inset-bottom))}}
@media(max-width:480px){header{padding-inline:16px}.navbuy{font-size:12px}.intro-stage h1{font-size:clamp(34px,10vw,46px)}.intro-sub{font-size:18px}.hero{padding:42px 16px}.buy-title{font-size:clamp(34px,10vw,44px)}.purchase>.eyebrow{font-size:16px}.pack{gap:8px;padding:14px 10px}.pack i{display:table;margin:6px 0 0}.pack b{font-size:17px}.hero-image{padding:0;min-height:220px}.hero-image img{height:240px}.visual{padding:18px 12px}.thumbs{gap:8px}.specstrip{gap:24px 10px;padding:24px 12px;margin-inline:16px}.specstrip strong{font-size:22px}.specstrip span{font-size:16px}.fitgrid article{display:block;padding:22px}.fitgrid img{height:280px}.fitgrid article>p{font-size:36px;margin-top:18px}.fitgrid span{display:block;padding-bottom:0}.demo-copy{min-height:180px}.demo-tabs button{padding:10px 8px;font-size:15px}.demo-controls{gap:6px}.demo-play{width:44px;height:44px}.demo-scene{padding:25px 0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:130px}.closing h2{font-size:40px}.story h2{font-size:36px}.faq h2,.compact h2,.sectionhead h2{font-size:34px}.intro-actions{gap:16px}.primary,.secondary{min-height:48px}dialog{padding:34px 20px 24px}.cartimage{height:110px}}
/* Native swipe carousel: keep vertical page scroll and pinch zoom available. */
.product-demo .demo-stage{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#b7b7bd transparent}
.product-demo .demo-scene{position:relative;inset:auto;flex:0 0 100%;min-width:100%;width:100%;height:100%;opacity:1;transform:none;transition:none;scroll-snap-align:center;scroll-snap-stop:always;pointer-events:auto;user-select:none;-webkit-user-drag:none}
.product-demo .demo-copy{margin-bottom:0}
.demo-stage:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:12px}
@media(pointer:coarse){.product-demo .demo-stage{scrollbar-width:none}.product-demo .demo-stage::-webkit-scrollbar{display:none}}
/* Balanced header: independently centered navigation and aligned edge controls. */
header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px}
header>a:first-child{justify-self:start;display:flex;align-items:center}
header .logo{display:block}
header nav{justify-self:center;align-items:center}
header .navbuy{justify-self:end;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.2;min-height:40px}
@media(max-width:800px){header{grid-template-columns:1fr auto;column-gap:16px}header nav{display:none}}
/* Review: pure-black descriptions and bold brand typography. */
.intro-stage .intro-sub,
.product-demo #demo-description,
#shop .purchase .intro,
#shop .purchase .included,
#fit .sectionhead>p,
.compact>div>p,
#gallery .sectionhead>p{color:#000}
#fit .fitgrid article>p{font-family:'Bebas Neue',sans-serif;font-weight:700;overflow-wrap:normal}
/* Let Merriweather Sans breathe in the two reviewed headings. */
.compact h2,.closing h2{letter-spacing:0;word-spacing:normal;line-height:1.25}
@media(max-width:480px){.compact h2{font-size:30px;margin:12px 0 22px}.closing h2{font-size:34px;margin:0 0 24px}.compact{row-gap:24px}.compact>img{padding-bottom:0}}
/* Align the visible logo lettering, accounting for whitespace in the supplied logo. */
header{align-items:center}
header>a:first-child{height:40px;display:flex;align-items:center;line-height:0}
header .logo{display:block;transform:translateY(2px)}
header .navbuy{height:40px;min-height:40px;padding-block:0;margin:0;line-height:1;align-self:center}
/* Requested emphasis and larger fit introduction. */
.compact h2{font-weight:800}
.closing h2{font-weight:800;font-size:clamp(44px,7.5vw,96px);line-height:1.15}
#fit .sectionhead{gap:36px;align-items:center}
#fit .sectionhead>div{flex:1}
#fit .sectionhead h2{font-size:clamp(38px,5.2vw,68px);line-height:1.12}
#fit .sectionhead>p{font-size:20px;line-height:1.55;max-width:360px;flex:1}
@media(max-width:800px){#fit .sectionhead h2{font-size:clamp(34px,7vw,48px)}#fit .sectionhead>p{font-size:19px;max-width:none}.closing h2{font-size:clamp(38px,9vw,60px)}}

/* Bebas Neue headings use the bundled font's natural weight and spacing. */
h1,h2,h3,h4,h5,h6,.intro-stage h1,.buy-title,.story h2,.closing h2,.demo-copy h2,.fitgrid h3,.compact h2,#fit .sectionhead h2,.intro-kicker,.specstrip strong,#fit .fitgrid article>p{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:0.01em}

/* Larger product details and fit labels, with an aligned footer brand row. */
#details h2{font-size:clamp(44px,5.2vw,72px);line-height:1.12}
#details>div>p{font-size:20px;line-height:1.6}
#details .numberline h3{font-size:26px;line-height:1.2}
#details .numberline p{font-size:20px!important;line-height:1.6}
#fit .fitgrid article>p{font-size:44px;line-height:1.1}
#fit .fitgrid h3{font-size:28px;line-height:1.2}
#fit .fitgrid span{font-size:17px;line-height:1.6}
footer{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center}
footer img{display:block;width:90px;height:24px;object-fit:contain;transform:none;align-self:center}
footer p{margin:0;font-size:14px;line-height:24px;align-self:center}
@media(max-width:800px){footer{grid-template-columns:90px minmax(0,1fr);column-gap:15px;row-gap:24px}footer small{grid-column:1/-1}}

/* Use more of each fit card for the tool, without cropping or stretching it. */
#fit .fitgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
#fit .fitgrid img{display:block;width:calc(100% + 32px);max-width:none;height:clamp(340px,38vw,440px);margin-inline:-16px;object-fit:contain}
@media(max-width:800px){
  #fit .fitgrid{grid-template-columns:1fr}
  #fit .fitgrid article{display:block}
  #fit .fitgrid img{width:100%;max-width:460px;height:clamp(320px,85vw,440px);margin-inline:auto}
  #fit .fitgrid span{padding-bottom:0}
}


/* Review: readable supporting text and compact section transitions. */
.compact{padding-bottom:24px}
.compact h2{font-size:clamp(40px,4.5vw,60px);line-height:1.15}
.compact>div>p{font-size:20px;line-height:1.6}
.compact dl{font-size:16px;margin-bottom:0}
.compact dl>div{gap:16px}
.compact dd{text-align:right}
.faq{padding-top:28px;padding-bottom:32px;row-gap:12px}
.faq h2{margin:0 0 12px}
.faq details{padding:18px 0}
#amazon{font-size:18px;font-weight:600}
.specstrip strong{font-size:clamp(30px,3vw,40px)}
.specstrip span{font-size:18px;line-height:1.45}
.product-demo .demo-copy{min-height:0;margin-bottom:0}
.product-demo .demo-copy p{margin-bottom:0}
.intro-stage{padding-bottom:28px}
@media(max-width:800px){
 .compact{padding-bottom:16px}
 .faq{padding-top:20px;padding-bottom:28px;gap:12px}
}

/* User-controlled playback preserves reduced-motion preferences and mobile data. */
.holder-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:24px;background:#000}

/* Full-width opening video, retaining the complete frame on every screen. */
.top-video{width:100%;margin:0;padding:0;background:#000}
.top-video .holder-video{width:100%;max-width:none;height:auto;aspect-ratio:16/9;border-radius:0;object-fit:contain}
