:root{--motion-ease:cubic-bezier(.17,.67,.3,1.12)}
.hero-line,.hero-line>span{display:block}
.hero-line{padding-bottom:.085em;margin-bottom:-.085em}

/* Three pairs preserve the six-project reading order, with or without JavaScript. */
.project-grid.work-stack{display:block;padding-bottom:85px;isolation:isolate}
.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px;transform-origin:center top}
.work-row{position:relative;margin-bottom:35px}
.work-row:last-child{margin-bottom:0}
.motion-ready .work-pair{transform:translate3d(0,var(--pair-y,0px),0) rotate(var(--pair-angle,0deg)) scale(var(--pair-scale,1))}
.stack-enabled .work-row{position:sticky;top:var(--stack-top,132px);z-index:var(--row-index);margin-bottom:clamp(95px,14vh,150px)}
.stack-enabled .work-row:last-child{margin-bottom:0}
.stack-enabled .work-row:focus-within{z-index:5}
.motion-ready .work-row:focus-within .work-pair{transform:none}
.project-card:focus-within{outline:3px solid var(--rust);outline-offset:5px}
.motion-ready .reveal{transition:translate .85s var(--motion-ease),transform .35s ease,box-shadow .35s ease}
.motion-ready .reveal:not(.is-visible){translate:0 42px}
.motion-ready .reveal.is-visible,.motion-ready .reveal:focus-within{translate:0 0}
.motion-ready .reveal:focus-within{transition:none}
.motion-ready .scroll-image{transform:translate3d(0,var(--image-shift,0px),0) scale(1.045);transition:none}
.motion-ready .project-card a:hover .scroll-image{transform:translate3d(0,var(--image-shift,0px),0) scale(1.06)}
.motion-ready .reading-copy{transform:translate3d(0,var(--reading-y,0px),0)}
.motion-ready .reading-copy .reading-word{color:var(--muted);transition:color .18s linear}
.motion-ready .reading-copy .reading-word.is-read{color:var(--plum)}
.motion-ready .footer-top h2{translate:0 var(--footer-shift,0px)}
@media(min-width:960px) and (min-height:700px){
 .motion-ready .about-strip{min-height:108svh;padding-block:100px 120px}
 .motion-ready .about-strip>div{position:sticky;top:var(--stack-top,132px)}
 .motion-ready .project-story h2{position:sticky;top:var(--stack-top,132px);align-self:start}
}
@media(max-width:1050px){.work-pair{gap:25px}.work-row{margin-bottom:25px}}
@media(max-width:700px){
 .work-pair{grid-template-columns:1fr;gap:25px}
 .project-grid.work-stack{padding-bottom:55px}
 .motion-ready .reveal:not(.is-visible){translate:0 24px}
}

/* Content stays opaque: observers and background-tab throttling cannot hide it. */
.motion-ready.motion-paused .reveal{translate:none;transition:none}
.motion-ready.motion-paused .hero-line>span,.motion-ready.motion-paused .hero .intro,.motion-ready.motion-paused .reading-copy{transform:none}
.motion-ready.motion-paused .reading-copy .reading-word{color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-contrast:more){.motion-ready .reading-copy .reading-word{color:var(--ink)}}
@media(prefers-reduced-motion:reduce),print{
 .motion-ready .hero-line>span,.motion-ready .hero .intro,.motion-ready .work-pair,.motion-ready .reading-copy,.motion-ready .scroll-image,.motion-ready .project-card a:hover .scroll-image{transform:none!important}
 .motion-ready .reveal,.motion-ready .footer-top h2{translate:none!important;transition:none!important}
 .stack-enabled .work-row{position:relative;margin-bottom:35px}
 .stack-enabled .work-row:last-child{margin-bottom:0}
 .motion-ready .about-strip{min-height:0}
 .motion-ready .about-strip>div,.motion-ready .project-story h2{position:static}
 .motion-ready .reading-copy .reading-word{color:var(--ink);transition:none}
}
@media print{.site-header{position:static}}
