/* Audit refinements. Preserve established media, scene order and interactions. */
body{font-family:var(--body-font)}

header .hero-nav-links a{display:inline-flex;align-items:center;min-height:44px}
header .hero-nav-links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.opening .opening-title{max-width:52%}
.opening .hero-conversion{top:clamp(430px,calc(100svh - 310px),770px);bottom:auto}
.opening .hero-conversion .hero-price{font-family:var(--body-font);font-size:24px}
.hero-compat{font-size:14px;min-height:36px;display:table;padding:5px 0;margin-top:9px}
.opening .hero-conversion .hero-shipping{margin-top:10px}
.film-tools{font-size:14px}.film-tools button{min-height:44px;min-width:62px}.film-tools a{font-size:12px}
.sunset-caption{font-family:var(--body-font);text-transform:none}
.hardware-callouts dt{font-family:var(--body-font);font-weight:700;color:#ed1b34;font-size:18px}
.vibe-heading{padding-top:8px}
.vibe-heading h2{color:#000;font-weight:700;-webkit-text-stroke:0}
.vibe-edition{font-size:12px;line-height:1.8;letter-spacing:.03em}

.vibe-swatches button{width:44px;height:44px}
.vibe-playback button{min-height:44px;padding:9px 2px}
.last-details>.eyebrow{font-size:clamp(14px,1.4vw,19px);line-height:1.65;letter-spacing:.025em;max-width:650px}
.owner-activation p{font-family:var(--display-font);font-size:15px;line-height:1.5}
.owner-activation a{display:inline-block;min-height:44px;padding:8px 0}
.spec-list p,.buy-panel details{font-size:16px}.spec-list b{font-weight:700;color:#ed1b34;font-size:18px}
.product-gallery-caption{font-size:15px;line-height:1.45;color:#bfc7cb;margin:15px 0 0;min-height:44px}
.thumbs button{font-size:14px;min-height:44px}.thumbs button[aria-pressed=true]{border-color:#ed1b34;color:#fff;background:#391015}
.product-round-two .purchase-cta,.vibe-purchase .purchase-cta{max-width:100%;white-space:normal}
.connection-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0 35px}
.connection-photos figure{margin:0;min-width:0}.connection-crop{height:auto;aspect-ratio:1.3;overflow:hidden;background:#191a1b}
.connection-crop img{width:100%;height:100%;object-fit:cover}
.connection-crop.adapter-crop{position:relative}.adapter-crop img{position:absolute;width:420%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-54.8%,-74.8%)}
.connection-photos figcaption{font-size:16px;line-height:1.5;margin-top:13px}.connection-photos figcaption b{display:block;color:#ed1b34;font-size:18px}
.copyable-email{display:inline-block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;font-size:17px;min-height:44px;padding:8px 0}
.sema-footer{display:flex;align-items:center;gap:22px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #ffffff24}
.sema-logo-wrap{background:#c9142c;padding:15px 17px;display:inline-flex;align-items:center;flex:none}.sema-logo-wrap img{display:block;width:112px;height:auto}
.sema-footer .sema-copy{display:flex;flex-direction:column;gap:5px;margin:0;color:#eee;line-height:1.45}
.sema-copy b{font-family:var(--body-font);font-size:17px}.sema-copy span{font-size:14px;color:#bbb}
.sema-copy a{font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:5px 0;display:inline-block}
.sema-dealer{border-top:1px solid #ffffff30;margin-top:36px;padding-top:28px}.sema-dealer p{font-size:18px}
.sema-actions{display:flex;flex-wrap:wrap;gap:10px 24px}.sema-actions a{min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:5px}
footer div:not(.sema-copy){line-height:1.6}footer .sema-footer{margin-top:0}
.step>span{font-family:var(--body-font);font-weight:700}.manual .lead{font-size:20px}
@media(min-width:1000px) and (max-height:740px){.opening .opening-title{top:10%}.opening .hero-conversion{top:clamp(335px,calc(100svh - 285px),470px)}}
@media(min-width:761px) and (max-width:999px){.opening .opening-title{max-width:80%}.opening .hero-conversion{max-width:75%;top:auto;bottom:110px}.night-type{padding:70px 8%}.hardware-copy{padding:55px 8%}.vibe-heading,.vibe-purchase{padding-left:7%;padding-right:7%}}
@media(max-width:760px){
 .opening .opening-title{top:15%;max-width:none}
 .opening .hero-conversion{top:auto;bottom:109px}.opening .hero-conversion .hero-price{font-size:22px}.opening .hero-conversion .hero-proof{font-size:17px}
 .opening .hero-conversion .hero-preorder{font-size:18px;min-height:48px;padding:12px 20px}.opening .hero-conversion .hero-shipping{font-size:14px;line-height:1.4;max-width:330px}
 .hero-compat{font-size:14px}.film-tools{font-size:14px;gap:14px}.film-tools a{font-size:12px}.sunset-sticky .sunset-caption{font-family:var(--body-font);font-size:21px;line-height:1.4;text-transform:none;letter-spacing:0}
 .night-type{padding:42px 24px}.night-type .experience-list{margin:24px 0 22px}.night-type .cape-aside{margin-bottom:0}.hardware-callouts dt{font-size:18px;letter-spacing:.015em}
 .vibe-heading{padding:0 20px}
 .vibe-edition{font-size:12px}.vibe-swatches{gap:9px;max-width:360px}.vibe-controls{padding:23px 22px 0}.vibe-swatches button{width:40px;height:40px}.vibe-purchase .purchase-cta{font-size:19px}.product-round-two .product-main{height:360px}
 .connection-photos{grid-template-columns:1fr;gap:25px}.sema-footer{gap:16px;align-items:flex-start;flex-wrap:wrap}.sema-logo-wrap{padding:13px 15px}.sema-logo-wrap img{width:100px}
 .mobile-buy .purchase-cta{padding:13px 20px;font-size:15px}header .hero-nav-links{gap:15px;font-size:14px}.brand img{width:115px}
}
@media(max-width:360px){header{gap:12px}.brand img{width:100px}.vibe-swatches{gap:7px}.vibe-swatches button{width:36px;height:36px}.vibe-controls{padding-left:18px;padding-right:18px}.film-tools{gap:10px;font-size:13px}.film-tools a{font-size:11px}.opening .hero-conversion .hero-preorder{font-size:16px}}
@media(max-width:760px) and (max-height:700px){.opening .opening-title{top:13%}}

/* Restore the original font scale; preserve space before the buying details. */
.product-round-two .buy-panel h1{font-size:clamp(60px,6.5vw,90px);line-height:.88}
@media(max-width:760px){.product-round-two .buy-panel h1{font-size:clamp(50px,16vw,70px)}}
@media(min-width:1000px){.opening .opening-title{top:clamp(110px,12svh,150px)}}
@media(min-width:1000px) and (max-height:800px){.opening .opening-title h1{font-size:clamp(48px,4.6vw,64px);line-height:1.02}}
@media(min-width:1000px) and (max-height:650px){.opening .opening-title{top:90px}.opening .opening-title h1{font-size:48px}}

/* A short opening crawl, contained beneath the existing headline. */
.story-crawl{--crawl-height:280px;position:relative;min-height:var(--crawl-height);margin:30px 0 18px}
.night-type .crawl-track p{font-family:var(--body-font);font-size:clamp(22px,2.1vw,32px);font-weight:700;line-height:1.5;letter-spacing:.045em;color:#f2f1ed;text-align:center;margin:0 0 1.2em}
.night-type .crawl-track p:last-child{margin-bottom:0}
.story-crawl.is-animated{height:var(--crawl-height);overflow:hidden;perspective:420px;perspective-origin:50% 15%;-webkit-mask-image:linear-gradient(transparent,black 14%,black 94%,transparent);mask-image:linear-gradient(transparent,black 14%,black 94%,transparent)}
.is-animated .crawl-track{position:absolute;top:0;left:0;right:0;transform-origin:50% var(--crawl-height);animation:lightspeed-opening-crawl var(--crawl-duration) linear infinite;animation-play-state:paused;will-change:transform,opacity}
.story-crawl.is-running .crawl-track{animation-play-state:running}
@keyframes lightspeed-opening-crawl{
 0%{transform:rotateX(24deg) translateY(calc(var(--crawl-height) * .42)) translateZ(0);opacity:1}
 100%{transform:rotateX(24deg) translateY(var(--crawl-end-y,calc(-100% - var(--crawl-height) * .34))) translateZ(var(--crawl-end-z,-90px));opacity:1}
}
.crawl-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px}
.night-type .crawl-footer .cape-aside{margin:0;font-size:19px!important}
.night-type .crawl-toggle{font-family:var(--body-font);font-size:14px;min-height:44px;padding:8px 0;color:#bdbdbd;border-bottom:1px solid #777;white-space:nowrap}
@media(max-width:760px){.story-crawl{--crawl-height:250px;margin-top:24px}.night-type .crawl-track p{font-size:clamp(22px,6.2vw,28px)}}
@media(prefers-reduced-motion:reduce){.story-crawl.is-animated{height:auto;overflow:visible;perspective:none;-webkit-mask-image:none;mask-image:none}.story-crawl .crawl-track{position:static;animation:none;transform:none;will-change:auto}.crawl-toggle{display:none}}

/* A quiet starfield surrounds the story, with isolated, occasional glints. */
.crawl-space{--crawl-duration:18.5s;position:relative;isolation:isolate;display:flow-root}
.crawl-space .story-crawl{z-index:1}
.crawl-stars{position:absolute;inset:0 -20px;pointer-events:none;background:url('/assets/crawl-starfield.webp') center/100% 100% no-repeat;mix-blend-mode:screen;opacity:.85;-webkit-mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%)}
.crawl-twinkle{position:absolute;inset:0;background:inherit;filter:brightness(2.2);opacity:0;animation:crawl-star-glint 17s ease-in-out infinite;animation-play-state:paused}
.crawl-twinkle:nth-child(1){clip-path:ellipse(28px 22px at 14.8% 26.1%)}
.crawl-twinkle:nth-child(2){clip-path:ellipse(28px 22px at 87.5% 56%);animation-duration:23s;animation-delay:4s}
.crawl-twinkle:nth-child(3){clip-path:ellipse(28px 22px at 26% 76.6%);animation-duration:29s;animation-delay:8s}
.crawl-space.is-running .crawl-twinkle{animation-play-state:running}
@keyframes crawl-star-glint{0%,12%,29%,100%{opacity:0}20%{opacity:.9}}
@media(prefers-reduced-motion:reduce){.crawl-twinkle{animation:none;opacity:0}}

/* Compatibility: rating first, then the two hose connections and a full-frame demo. */
.compat-page header{height:auto;min-height:88px;display:grid;grid-template-columns:auto 1fr auto;gap:14px 24px;padding:18px 5%}
.compat-page header nav{justify-self:center;flex-wrap:wrap;justify-content:center}
.compat-page .compatibility-nav-cta{font-size:17px;letter-spacing:.015em;padding:12px 20px;min-height:48px;white-space:nowrap}
.compatibility-guide h1{margin-bottom:38px}
.compatibility-guide .step>div{min-width:0;flex:1}
.compatibility-guide .step h2{font-size:clamp(26px,3vw,32px);line-height:1.15}
.compatibility-guide .connection-note{font-size:14px;line-height:1.5;color:#aab2b6}
.connection-demo{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:28px;margin-top:28px}
.connection-options>div+div{margin-top:28px;padding-top:24px;border-top:1px solid #ffffff26}
.connection-options h3{color:#ed1b34;font-family:var(--display-font);font-weight:700;font-size:22px;line-height:1.2;margin:0 0 12px}
.connection-options p{margin:0}
.connection-film{margin:0;min-width:0;width:100%;max-width:360px;justify-self:center}
.connection-film video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#17191b}
.connection-film figcaption{font-size:14px;color:#aab2b6;line-height:1.5;margin-top:10px}
.compatibility-help{border-top:1px solid #3a4348;padding-top:28px}
.compatibility-help h2{font-size:28px;margin:0 0 12px}
.compatibility-help p{color:#c4cbcd;margin-bottom:8px}
.compatibility-order{border-top:1px solid #3a4348;margin-top:30px;padding-top:30px}
.compatibility-price{font-size:28px;line-height:1.3;margin:0 0 18px}
.compatibility-price span{font-size:18px;margin-left:12px;color:#c4cbcd}
.compatibility-order .purchase-cta{font-size:21px;letter-spacing:.015em;padding:16px 28px;max-width:100%}
.compatibility-order .connection-note{margin:16px 0 22px}
.compatibility-order .text-link{display:inline-block;min-height:44px;padding:8px 0}
@media(max-width:760px){
 .compat-page header{grid-template-columns:1fr auto;gap:8px 14px;padding:14px 20px}
 .compat-page header .brand img{width:clamp(90px,28vw,130px)}
 .compat-page header nav{grid-row:2;grid-column:1/-1;justify-self:stretch;justify-content:space-between;gap:8px 16px;font-size:16px}
 .compat-page .compatibility-nav-cta{grid-row:1;grid-column:2;font-size:16px;padding:12px 16px}
 .compatibility-guide{padding-top:42px}
 .connection-demo{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .connection-options h3{font-size:21px}
 .connection-options>div+div{margin-top:22px;padding-top:20px}
 .connection-film{max-width:400px}
}

/* The preorder gallery uses a short product film, preserving the full source frame. */
.product-video-gallery{min-width:0;width:100%;max-width:460px;margin-inline:auto;align-self:start}
.product-kit-video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#141414}
.product-video-gallery .product-gallery-caption{min-height:0;margin:14px 0 0}
@media(max-width:760px){.product-video-gallery{max-width:none}}

/* A shorter hardware headline, followed by its supporting line. */
.hardware-copy h2{margin-bottom:12px}
.hardware-copy>p.hardware-subheading{font-family:var(--body-font);font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.2;color:#fff;margin:0 0 28px}

/* Give the scene caption a clear two-line rhythm beneath the action. */
.sunset-sticky .sunset-caption{bottom:clamp(32px,5svh,64px);max-width:calc(100% - 10%);font-family:var(--body-font);line-height:1.2;letter-spacing:0;text-transform:none;text-shadow:0 2px 14px #000b,0 1px 3px #0008}
.sunset-caption .sunset-caption-lead{display:block;font-size:clamp(18px,1.4vw,22px);font-weight:400;color:#ffffffe0;margin-bottom:6px}
.sunset-sticky .sunset-caption strong{display:block;font-size:clamp(25px,2.1vw,34px);font-weight:600;color:#fff}
@media(max-width:760px){
 .sunset-sticky .sunset-images{inset:0 0 -4%}
 .sunset-sticky .sunset-images img{object-position:54% 60%}
 .sunset-sticky .sunset-caption{bottom:clamp(28px,7svh,72px);left:24px;right:24px;max-width:none}
 .sunset-caption .sunset-caption-lead{font-size:clamp(18px,4.8vw,21px)}
 .sunset-sticky .sunset-caption strong{font-size:clamp(24px,6.25vw,28px)}
}
