/* One scroll-driven scene; no continuous animation or full-page filters. */
html.landing-scroll { scroll-snap-type:none; scroll-behavior:auto; }
.product-story { height:210svh; position:relative; }
.product-stage { height:100svh; min-height:0; position:sticky; top:0; overflow:clip; background:var(--paper); }
.hero-inner { position:relative; width:calc(100% - 112px); max-width:1200px; height:100%; margin:auto; }
.story-topline,.story-bottomline { position:absolute; inset-inline:0; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.story-topline { top:125px; color:var(--ink-soft); font-size:10px; letter-spacing:.16em; }
.story-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:80px 0; }
.story-copy .eyebrow { margin-bottom:24px; }
.story-title { font-size:clamp(46px,6.3vw,90px); font-weight:400; line-height:1.02; letter-spacing:-.055em; }
.story-title span { color:var(--wire-blue); }
.story-description { color:var(--ink-soft); font-size:17px; margin-top:28px; }
.story-after { padding-left:54%; clip-path:inset(0 0 0 100%); }
.story-after .story-title { font-size:clamp(38px,4.8vw,66px); }
.story-tagline { color:var(--wire-blue); font-size:19px; margin-top:28px; max-width:25ch; }
.story-tagline em { font-style:normal; }
.product-object { position:absolute; left:54%; top:50%; width:46%; height:min(66svh,720px); margin-top:calc(min(66svh,720px) / -2); pointer-events:none; will-change:transform; }
.product-object canvas { display:block; width:100%; height:100%; }
.product-object img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.product-object.model-loaded img { display:none; }
.story-bottomline { bottom:44px; font-size:12px; }
.story-scroll { display:flex; align-items:center; gap:35px; text-decoration:none; }
.story-scroll span { color:var(--wire-blue); font-size:24px; }
.story-bottomline .text-link { font-size:12px; }
.story-progress { position:absolute; inset-inline:0; bottom:0; height:1px; background:var(--line-soft); }
.story-progress span { display:block; height:100%; background:var(--wire-blue); transform:scaleX(0); transform-origin:left; }
.quick-story,.system-picture,.product-details,.field-story { width:calc(100% - 56px); max-width:var(--content); margin:auto; }
.quick-story { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:100px 0; border-bottom:1px solid var(--line-soft); }
.quick-heading h2 { font-size:clamp(32px,3.5vw,44px); }
.quick-heading>p:last-child { color:var(--ink-soft); font-size:16px; margin-top:24px; max-width:28ch; }
.quick-steps { list-style:none; margin:0; }
.quick-steps li { position:relative; padding:0 0 38px 62px; }
.quick-steps li:not(:last-child)::before { content:""; position:absolute; top:36px; bottom:0; left:17px; width:1px; background:var(--line); }
.step-number { position:absolute; left:0; top:0; width:36px; height:36px; border:1px solid var(--line); display:grid; place-items:center; border-radius:50%; color:var(--wire-blue); font-size:11px; }
.quick-steps h3 { font-size:23px; padding-top:3px; margin:0 0 14px; }
.quick-steps p { color:var(--ink-soft); font-size:16px; max-width:36ch; }
.quick-steps li:last-child { padding-bottom:0; }
.system-picture { padding:90px 0; }
.system-caption { max-width:580px; }
.system-caption>p:last-child { color:var(--ink-soft); margin-top:24px; }
.system-picture figure { margin-top:38px; }
.system-picture img { width:100%; max-height:610px; object-fit:contain; background:transparent; border-radius:4px; }
.detail-row { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; padding:90px 0; border-top:1px solid var(--line-soft); }
.detail-copy>p:not(.eyebrow) { color:var(--ink-soft); margin:24px 0; max-width:40ch; }
.detail-image { padding:0; border-radius:4px; background:transparent; }
.detail-image img { width:100%; max-height:380px; object-fit:contain; }
.detail-connectors { padding:10px 25px; }
.detail-interface { padding:0; overflow:hidden; border:1px solid var(--line); }
.field-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:65px; padding:90px 0; border-top:1px solid var(--line-soft); }
.field-story img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:4px; }
.field-story p:not(.eyebrow) { color:var(--ink-soft); margin-top:24px; max-width:42ch; }
.mobile-tagline { display:none; }
@media(max-width:900px) { .quick-story,.detail-row,.field-story { gap:36px; } .story-topline { top:110px; } }
@media(max-width:800px), (max-height:560px) {
 .product-story { height:auto; } .product-stage { position:relative; height:840px; min-height:0; }
 .hero-inner,.quick-story,.system-picture,.product-details,.field-story { width:calc(100% - 48px); }
 .story-topline { top:102px; font-size:9px; } .story-topline span:last-child { display:none; }
 .story-copy { justify-content:flex-start; padding-top:158px; } .story-title { font-size:clamp(48px,12vw,70px); }
 .story-copy .eyebrow { margin-bottom:18px; } .story-description { font-size:16px; margin-top:20px; }
 .story-after { display:none; } .mobile-tagline { display:block; color:var(--wire-blue); font-size:15px; margin-top:16px; max-width:30ch; } .mobile-tagline em { font-style:normal; }
 .product-object { left:0; width:100%; top:440px; height:340px; margin-top:0; max-height:none; }
 .story-bottomline { bottom:20px; font-size:11px; } .story-bottomline .text-link { max-width:130px; font-size:11px; } .story-scroll { gap:18px; } .story-progress { display:none; }
 .quick-story { grid-template-columns:1fr; padding:60px 0; gap:38px; } .quick-heading>p:last-child { max-width:none; }
 .quick-steps li { padding-left:54px; } .quick-steps h3 { font-size:22px; }
 .system-picture { padding:60px 0; } .detail-row,.field-story { grid-template-columns:1fr; gap:32px; padding:60px 0; }
 .detail-connectors { padding-inline:55px; } .field-story figure { order:1; }
}
@media(prefers-reduced-motion:reduce) { .product-story { height:auto; } .product-stage { position:relative; } .story-after { display:none; } .product-object { will-change:auto; } .mobile-tagline { display:block; color:var(--wire-blue); max-width:32ch; margin-top:20px; } }

/* Product-page introduction: shorter and quieter than the company homepage. */
.product-page .product-story{height:128svh}
.product-page .product-stage{height:82svh;min-height:520px}
.product-page .hero-inner{max-width:1040px}
.product-page .story-topline{top:106px;font-size:11px;letter-spacing:.09em}
.product-page .story-topline a{text-decoration:none}
.product-page .story-title{font-size:clamp(42px,5vw,68px)}
.product-page .story-after .story-title{font-size:clamp(34px,4vw,52px)}
.product-page .product-object{height:46svh;max-height:470px;margin-top:max(-23svh,-235px)}
.product-page .story-bottomline{bottom:28px}
@media(max-width:800px),(max-height:560px){
 .product-page .product-story{height:auto}.product-page .product-stage{height:730px;min-height:0}
 .product-page .story-title{font-size:48px}.product-page .product-object{top:390px;height:280px;margin-top:0;max-height:none}
}
@media(prefers-reduced-motion:reduce){.product-page .product-story{height:auto}}
