/* Complete-page assembly: existing Vellaris tokens remain authoritative. */
:root{--assembly-header:88px}
.vl-rail .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero,.partner-hero{padding:0!important}
.hero .consumer-opening,.partner-hero .partner-opening{display:block;min-height:calc(100svh - var(--assembly-header));overflow:clip;background:var(--bg);padding:0;isolation:isolate}
.hero .hero-media,.partner-hero .partner-opening-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;min-height:0;margin:0;padding:0;border-radius:0;transform-origin:70% center}
.hero .hero-media picture,.partner-hero .opening-product-frame,.partner-hero .opening-product-frame picture{display:block;width:100%;height:100%}
.hero .hero-media img,.partner-hero .opening-product-frame img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;margin:0;min-height:0}
.hero .consumer-opening::after,.partner-hero .partner-opening::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,transparent 70%);opacity:.62}
.hero .consumer-opening-copy,.partner-hero .partner-opening-copy{display:block;position:relative;width:51%;padding:clamp(64px,11svh,128px) var(--gutter);background:transparent;min-height:calc(100svh - var(--assembly-header));align-content:center}
.hero .consumer-opening-copy h1,.partner-hero .partner-opening-copy h1{font-size:clamp(58px,6.7vw,98px);line-height:1.01;max-width:10ch;margin:0 0 28px;background:none;box-shadow:none;letter-spacing:-.045em}
.hero .consumer-opening-copy h1 span,.partner-hero .partner-opening-copy h1 span{display:block;margin:0}
.hero .consumer-opening-copy .label,.partner-opening-copy .label{background:none;padding:0;margin:0 0 24px;display:block;color:var(--fg)}
.hero-copy-ground{background:none;padding:0;max-width:390px}
.hero .hero-copy-ground .lede,.partner-opening-copy .lede{font-size:16px;line-height:1.65;max-width:36ch;color:var(--fg)}
.hero .hero-copy-ground .actions,.partner-opening-copy .actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}
.hero .opening-note,.partner-opening-copy .opening-note{font-size:12px;line-height:1.6;margin-top:20px;max-width:38ch;color:var(--fg)}
.partner-hero .partner-opening-art figcaption{display:none}
.opening-support{display:none}
.assembly-hero-ready .consumer-opening,.assembly-hero-ready .partner-opening{position:sticky;top:var(--assembly-header)}
.assembly-hero-ready{min-height:135svh}
.vl-rail{background:var(--bg);margin-top:56px;position:relative}
.vl-stage{--media-h:250px;--caption-h:0px;padding:24px var(--gutter) 32px;max-width:1600px;margin:auto}
.vl-panels{list-style:none;margin:0;padding:0}
.vl-panel{margin:0 0 64px;padding:0;list-style:none}
.vl-visual{margin:0;overflow:hidden;background:var(--surface-warm);border-radius:var(--radius-lg)}
.vl-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:var(--focal,50%) center}
.vl-caption{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:24px}
.vl-caption h2{font-size:clamp(36px,4.5vw,64px);max-width:20ch;margin:0;line-height:1.06}
.vl-caption p{font-size:16px;line-height:1.6;max-width:50ch;margin:0}
.vl-caption p+p{margin-top:12px}.vl-caption .note{font-size:13px;color:var(--muted)}
.vl-steps{display:none}
.vl-rail.is-enhanced .vl-stage{position:sticky;top:var(--assembly-header);height:calc(100svh - var(--assembly-header));display:flex;flex-direction:column;justify-content:center;padding-block:16px}
.vl-rail.is-enhanced .vl-panels{position:relative;height:calc(var(--media-h) + var(--caption-h));flex:none}
.vl-rail.is-enhanced .vl-panel{position:absolute;inset:0;margin:0;pointer-events:none}
.vl-rail.is-enhanced .vl-visual{position:absolute;inset:0 0 auto;height:var(--media-h);border-radius:0}
.vl-rail.is-enhanced .vl-visual img,.vl-rail.is-enhanced .vl-visual picture{display:block;width:100%;height:100%;aspect-ratio:auto}
.vl-rail.is-enhanced .vl-caption{position:absolute;top:var(--media-h);inset-inline:0;visibility:hidden}
.vl-rail.is-enhanced .vl-panel[data-current] .vl-caption{visibility:visible;pointer-events:auto}
.vl-rail.is-enhanced .vl-steps{display:flex;align-items:stretch;gap:16px;min-height:52px;margin-top:12px;border-top:1px solid var(--border)}
.vl-steps button{flex:1;min-width:44px;min-height:52px;background:transparent;border:0;border-radius:0;color:var(--fg);padding:12px 0;text-align:left;position:relative;font:14px/1.5 var(--font-body);cursor:pointer;touch-action:manipulation}
.vl-steps button::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast) var(--motion-ease)}
.vl-steps button[aria-pressed=true]::before{transform:scaleX(1)}.vl-steps .index{font-variant-numeric:tabular-nums;margin-right:12px}.vl-steps button[aria-pressed=true]{font-weight:650}
.vl-steps button:focus-visible{outline:var(--focus-ring);outline-offset:3px}
.partner-route.assembly-route{padding-bottom:64px}.partner-route.assembly-route>.wrap{display:block}.assembly-route .route-title{max-width:850px}.assembly-route .route-title p{max-width:48ch}
.owner-pain.assembly-handoff{position:relative;padding-top:clamp(320px,48vw,650px);isolation:isolate;overflow:clip}
.handoff-image{position:absolute;inset:0 0 auto;height:clamp(380px,60vw,800px);margin:0;z-index:-1;overflow:hidden}
.handoff-image img{width:100%;height:100%;object-fit:cover;object-position:58% center;display:block}
.handoff-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,var(--fg) 94%)}
.assembly-handoff .wrap{position:relative}.assembly-handoff .owner-pain-title{position:static}
.product-story .product-study .study-detail{object-fit:cover;aspect-ratio:4/3}
.product-story .control-visual img{object-fit:cover;aspect-ratio:4/3}
.seat-closeup img{object-fit:cover;aspect-ratio:4/3;width:100%}
.bridge.assembly-bridge{padding:0;background:var(--fg);color:var(--bg)}
.assembly-bridge .bridge-image{height:50svh;min-height:280px;max-height:620px;position:relative;overflow:hidden;margin:0}
.bridge-image img{width:100%;height:100%;object-fit:cover;object-position:center 63%;display:block}
.bridge-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,var(--fg) 100%)}
.assembly-bridge>.wrap{padding-top:24px;padding-bottom:24px}.assembly-bridge .lede{color:var(--border)}
.body-story .body-context{max-width:440px}.body-context img{aspect-ratio:4/5;object-fit:cover}.body-context figcaption{font-size:12px;color:var(--muted);margin-top:16px}
html.assembly-story .product-story .product-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}
html.assembly-story .product-story .product-visual{display:block;position:sticky;top:calc(var(--assembly-header) + 24px);height:auto;max-height:calc(100svh - var(--assembly-header) - 48px);padding:0;z-index:2;background:var(--fg)}
html.assembly-story .product-copy article{display:block;min-height:80svh;padding:64px 0;align-content:center}
html.assembly-story .product-copy article>.chapter-visual{display:none}
html.assembly-story .product-visual .chapter-visual{height:50svh;max-height:510px;overflow:hidden;display:grid;align-content:center;margin:0}
html.assembly-story .product-visual .chapter-visual img{max-height:44svh}
html.assembly-story .product-visual .chapter-visual figcaption{font-size:12px;text-align:left;margin-top:12px}
html.assembly-story .product-visual>figcaption{font-size:16px;margin-top:16px}
html.assembly-story .product-views{display:grid;margin-top:16px}
html.assembly-story .product-views button{font-size:11px;min-height:48px;padding:8px 2px}
@media(hover:hover){.vl-steps button:hover{background:var(--surface-warm)}}
@media(max-width:960px){
 :root{--assembly-header:78px}
 .hero .consumer-opening,.partner-hero .partner-opening{min-height:calc(100svh - 78px);padding:0;overflow:clip}
 .hero .consumer-opening-copy,.partner-hero .partner-opening-copy{width:100%;min-height:0;padding:32px var(--gutter) 28px;background:var(--bg)}
 .hero .consumer-opening-copy h1,.partner-hero .partner-opening-copy h1{font-size:clamp(40px,8.5vw,62px);max-width:16ch;margin-bottom:16px}
 .hero .consumer-opening-copy h1 span,.partner-hero .partner-opening-copy h1 span{display:inline}
 .hero .consumer-opening-copy .label,.partner-opening-copy .label{font-size:11px;margin-bottom:16px}
 .hero .hero-copy-ground .lede,.partner-opening-copy .lede{font-size:14px;max-width:48ch}
 .hero .hero-copy-ground .actions,.partner-opening-copy .actions{gap:12px;margin-top:20px;flex-direction:row;align-items:center}
 .hero .hero-copy-ground .actions .btn,.partner-opening-copy .actions .btn{width:auto;font-size:13px;padding:14px 18px}
 .hero .hero-copy-ground .actions .text-link,.partner-opening-copy .actions .text-link{font-size:12px}
 .hero .opening-note,.partner-opening-copy .opening-note{margin-top:12px;font-size:11px}
 .hero .hero-media,.partner-hero .partner-opening-art{position:relative;z-index:0;height:66svh;min-height:380px;margin:0}
 .hero .hero-media img,.partner-hero .opening-product-frame img{object-position:center;object-fit:contain;background:var(--bg)}
 .hero .consumer-opening::after,.partner-hero .partner-opening::after{display:none}
 .assembly-hero-ready{min-height:0}.assembly-hero-ready .consumer-opening,.assembly-hero-ready .partner-opening{position:relative;top:0}
 html.assembly-story .product-story .product-grid{display:block}
 html.assembly-story .product-story .product-visual{top:78px;padding:12px 0 10px;margin:0;max-height:none;border-bottom:1px solid var(--muted)}
 html.assembly-story .product-visual .chapter-visual{height:28svh;max-height:260px;min-height:190px}
 html.assembly-story .product-visual .chapter-visual img{height:100%;max-height:28svh;width:100%;object-fit:cover}
 html.assembly-story .product-visual .chapter-visual figcaption,html.assembly-story .product-visual .awareness-note,html.assembly-story .product-visual .visual-overline{display:none}
 html.assembly-story .product-visual .product-study{grid-template-columns:1fr 1fr;gap:12px}
 html.assembly-story .product-visual .product-study .study-chair{height:100%;grid-row:1/3;object-fit:contain}
 html.assembly-story .product-visual .product-study .study-detail{height:12svh;object-fit:cover}
 html.assembly-story .product-visual>figcaption{font-size:12px;margin-top:8px}
 html.assembly-story .product-views{margin-top:8px}
 html.assembly-story .product-views button{min-height:44px;font-size:10px;padding:6px 0}
 html.assembly-story .product-copy article{min-height:70svh;padding:32px 0 56px;scroll-margin-top:calc(78px + 40svh)}
 html.assembly-story .product-copy article:last-child{padding-bottom:45svh}
 html.assembly-story .role-line{display:flex;padding:12px 0}.assembly-story .role-line strong{font-size:29px}.assembly-story .role-line span{font-size:11px;max-width:12ch}
 html.assembly-story .awareness-focus{padding:20px;margin-bottom:10px}.assembly-story .awareness-focus strong{font-size:32px}.assembly-story .awareness-rest{padding-bottom:12px}
 .body-story .body-context{max-width:100%;width:100%}.body-context img{aspect-ratio:4/3;object-position:center 40%}
}
@media(max-width:700px){
 .vl-rail{margin-top:36px}.vl-stage{padding-inline:var(--gutter)}.vl-caption{display:block;padding-top:16px}.vl-caption h2{font-size:30px;max-width:21ch;margin-bottom:12px}.vl-caption p{font-size:14px;line-height:1.55}.vl-caption .note{font-size:12px;margin-top:8px}.vl-visual img{aspect-ratio:4/5}
 .vl-steps .step-name{display:none}.vl-steps button{text-align:center}.vl-steps .index{margin:0;font-size:15px}.vl-rail.is-enhanced .vl-steps{gap:8px;margin-top:10px;min-height:48px}.vl-steps button{min-height:48px}
 .vl-rail.is-enhanced .vl-stage{padding-block:8px}.vl-panel{margin-bottom:44px}
 .owner-pain.assembly-handoff{padding-top:330px}.handoff-image{height:450px}.assembly-handoff .wrap{gap:32px}
}
@media(prefers-reduced-motion:reduce){.assembly-hero-ready{min-height:0}.hero .hero-media,.partner-hero .partner-opening-art,.handoff-image img{transform:none!important}}
@media print{.vl-rail{height:auto!important}.vl-stage{position:static!important;height:auto!important}.vl-panels{height:auto!important}.vl-panel,.vl-visual,.vl-caption{position:static!important;visibility:visible!important;clip-path:none!important}.vl-visual{height:auto!important}.vl-visual img{height:auto!important;transform:none!important}.vl-steps{display:none!important}html.assembly-story .product-story .product-visual{display:none}html.assembly-story .product-copy article>.chapter-visual{display:block}html.assembly-story .product-copy article{min-height:0;padding:24px 0}}
