/* The house takes shape within one centered composition. */
.assembly-story{position:relative;overflow-x:clip;background:var(--paper,#f3f4ee);color:var(--ink,#001838);scroll-margin-top:0}
.assembly-track{position:relative}
.assembly-pin{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;max-width:1640px;margin:0 auto;padding:38px var(--pad,5vw) 32px}
.assembly-intro{position:relative;z-index:2;width:100%;margin:0;padding:0;text-align:center}
.assembly-intro .eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.5;margin:0 0 13px}
.assembly-intro h2{font-family:var(--heading-font);font-weight:700;font-size:clamp(24px,2.15vw,34px)!important;line-height:1.12;letter-spacing:0;margin:0;text-transform:none}
.assembly-description{font-family:var(--body-font);font-size:clamp(13px,1vw,15px);line-height:1.6;max-width:560px;margin:13px auto 0;text-wrap:pretty}
.assembly-figure{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;margin:0}
.assembly-picture{position:relative;flex:none;width:100%;max-width:1416px;aspect-ratio:2/1;isolation:isolate}
.assembly-model,.assembly-picture picture,.assembly-picture img,.assembly-picture canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent!important}
.assembly-model{z-index:1;filter:contrast(1.035) saturate(.98)}
.assembly-model canvas{opacity:0}.assembly-picture.is-ready .assembly-model canvas{opacity:1}.assembly-picture.is-ready .assembly-model picture{opacity:0}
.assembly-light{position:absolute;z-index:0;inset:4% 0 0;pointer-events:none;opacity:1;background:radial-gradient(ellipse at 50% 55%,#fffef9 0%,#fffef8cc 22%,#fffef759 43%,#fffef700 70%)}
.assembly-light::after{content:'';position:absolute;left:17%;right:17%;height:13%;bottom:8%;border-radius:50%;background:radial-gradient(ellipse,#fffef9e6 0%,#fffef9b3 30%,#f9fbef47 60%,#f9fbef00 76%);filter:blur(15px)}
.assembly-enhanced .assembly-track{height:180svh}
.assembly-enhanced .assembly-pin{position:sticky;top:var(--nav,84px);height:calc(100svh - var(--nav,84px));min-height:0}
.assembly-enhanced .assembly-picture{height:100%;aspect-ratio:auto;transform:translateY(calc((1 - var(--assembly-depth,0))*6px)) scale(calc(.98 + var(--assembly-depth,0)*.02))}
.assembly-enhanced .assembly-light{opacity:calc(.45 + var(--assembly-depth,0)*.55)}
@media(max-width:700px){
 .assembly-pin{gap:12px;padding:26px var(--pad,24px) 24px}
 .assembly-intro .eyebrow{font-size:9px;margin-bottom:11px}
 .assembly-intro h2{font-size:25px!important}
 .assembly-description{font-size:13px;line-height:1.5;max-width:315px;margin-top:12px}
 .assembly-picture{width:120%;max-width:none;aspect-ratio:1.24/1}
 .assembly-light{inset:8% -5% 0}
 .assembly-enhanced .assembly-track{height:170svh}
 .assembly-enhanced .assembly-pin{height:min(calc(100svh - var(--nav,68px) - 20px),calc(400px + 60vw),640px)}
}
@media(max-height:760px) and (min-height:581px){
 .assembly-pin{padding-top:20px;padding-bottom:16px;gap:8px}
 .assembly-intro .eyebrow{margin-bottom:8px}
 .assembly-description{margin-top:8px}
}
@media(max-height:580px),(prefers-reduced-motion:reduce){
 .assembly-enhanced .assembly-track{height:auto}
 .assembly-enhanced .assembly-pin{position:relative;top:auto;height:auto;min-height:0}
 .assembly-enhanced .assembly-picture{height:auto;aspect-ratio:2/1;transform:none}
 .assembly-enhanced .assembly-model{opacity:1}
}
@media(max-width:700px) and (max-height:580px),(max-width:700px) and (prefers-reduced-motion:reduce){.assembly-enhanced .assembly-picture{aspect-ratio:1.24/1}}
