.story-runway{height:1110svh;position:relative;background:var(--sage)}
.story-runway>.page{position:sticky;top:0;height:100svh;min-height:0;isolation:isolate}
.stage #intro-video{opacity:var(--intro-opacity,0);pointer-events:none}
.stage #sofa-video{opacity:var(--sofa-opacity,0);pointer-events:none}
.stage #outro-video{opacity:var(--outro-opacity,0);pointer-events:none}
.copy,.bottom,.folio,.status{opacity:var(--hero-opacity,1);transition:none}
.copy{transform:translateY(var(--hero-offset,0px))}
.story-scrolling .copy,.story-scrolling .bottom,.story-scrolling .folio,.story-scrolling .status{pointer-events:none}
.intro-copy{position:absolute;z-index:2;left:6vw;top:23%;width:20vw;max-width:260px;opacity:0;pointer-events:none;color:var(--paper)}
.intro-copy .eyebrow{margin-bottom:24px;font-size:10px}
.intro-copy h2{font:500 clamp(38px,5.1vw,78px)/1.1 'Songti SC',serif;letter-spacing:-.05em;margin:0 0 22px}
.intro-copy p{font-size:12px;line-height:1.8;margin:12px 0}
.intro-copy .intro-name{font-size:19px;white-space:nowrap}
.story-skills{font-size:10px;opacity:.7;line-height:1.8;margin-top:18px}
.intro-copy .text-button{margin-top:12px;text-decoration:underline;text-underline-offset:6px;font-size:11px}
.intro-copy.visible{pointer-events:auto}
.career-step{position:absolute;z-index:2;left:28%;top:20%;width:30%;max-width:440px;opacity:0;pointer-events:none;color:var(--paper)}
.career-step.visible{pointer-events:auto}
.career-year{font:800 clamp(60px,7vw,106px)/1 'Helvetica Neue',sans-serif;letter-spacing:-.07em;color:#f4eedc55}
.career-count{font-size:9px;letter-spacing:.18em;opacity:.65;margin:12px 0 18px}
.career-step h3{font-size:clamp(15px,1.55vw,23px);font-weight:500;line-height:1.5;margin:0 0 10px;text-wrap:pretty}
.career-period{font-size:11px;opacity:.8;margin:0 0 15px}
.career-description{font-size:12px;line-height:1.9;max-width:360px;text-wrap:pretty}
.career-dots{display:flex;gap:12px;margin-top:24px}
.career-dots button{height:30px;width:28px;padding:0;border:0;background:none;position:relative}
.career-dots button:after{content:'';display:block;width:22px;height:2px;background:#f4eedc45}
.career-dots button[aria-pressed=true]:after{background:var(--paper)}
.intro-caption{position:absolute;z-index:2;bottom:25px;left:6vw;right:6vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:var(--paper);opacity:0;pointer-events:none}
#intro-error{position:absolute;z-index:3;bottom:65px;left:6vw;font-size:12px;color:var(--paper)}
#sofa-error{position:absolute;z-index:3;bottom:65px;left:6vw;font-size:12px;color:var(--paper)}
#outro-error{position:absolute;z-index:3;bottom:65px;left:6vw;font-size:12px;color:var(--paper)}
#career-dialog{background:var(--sage);color:var(--paper);width:min(1000px,94vw);max-height:90svh;padding:35px;overflow:auto;border:1px solid var(--line)}
#career-dialog .close{position:sticky;top:0;float:right;color:var(--paper);background:var(--sage);z-index:3;min-width:40px;min-height:40px}
#career-dialog .biography{background:transparent;color:var(--paper);padding:30px 15px}
#career-dialog p{color:var(--paper)}
#career-dialog .bio-intro{position:static}
#career-dialog .bio-skills span,#career-dialog .experience li,#career-dialog .bio-label,#career-dialog .bio-end{border-color:var(--line)}
#career-dialog .bio-end{display:none}
@media(max-aspect-ratio:4/3){
 .stage{inset:0;background:#757763}.stage video,.stage>img{object-fit:contain;object-position:center 12%}
 .intro-copy{left:6vw;top:auto;bottom:140px;width:32%;max-width:none}
 .intro-copy h2{font-size:clamp(26px,4.5vw,44px)}
 .intro-copy .intro-name{font-size:16px}.intro-copy p{font-size:11px}
 .career-step{left:45%;top:auto;bottom:140px;width:49%;max-width:none}
 .career-year{font-size:70px}.career-count{margin-bottom:18px}.career-step h3{font-size:17px}.career-description{font-size:11px}
}
@media(max-width:760px){
 header .brand{font-size:10px}.nav{gap:10px}
 .intro-copy{left:6vw;bottom:330px;width:88%;display:grid;grid-template-columns:1fr 1fr;column-gap:15px}
 .intro-copy .eyebrow{grid-column:1/-1;margin-bottom:10px}.intro-copy h2{font-size:25px;grid-column:1/-1;margin:0 0 12px}.intro-copy h2 br{display:none}
 .intro-copy .intro-name{font-size:16px;margin:0}.intro-copy p{font-size:10px;margin:0}.story-skills{margin-top:12px;font-size:9px}.intro-copy .text-button{font-size:10px;align-self:end;margin:0}
 .career-step{left:6vw;bottom:90px;width:88%;display:grid;grid-template-columns:85px 1fr;column-gap:16px}
 .career-year{font-size:43px;grid-column:1;grid-row:1/3}.career-count{grid-column:1;margin:0;font-size:8px}.career-step h3{grid-column:2;grid-row:1;font-size:15px;margin-bottom:5px}.career-period{grid-column:2;grid-row:2;font-size:9px;margin:0}.career-description{grid-column:2;font-size:11px;margin:8px 0}.career-dots{grid-column:2;margin-top:5px}
 .intro-caption{bottom:24px;font-size:9px}
 #career-dialog{padding:18px}#career-dialog .biography{padding:25px 0}
}
@media(prefers-reduced-motion:reduce){.copy,.bottom,.folio,.status{transition:none}}
