html{scroll-behavior:smooth;scroll-padding-top:110px}
.intro{height:260svh}.stage{isolation:isolate}
.wordmark{overflow:hidden;clip-path:inset(0 1px)}
.project{min-height:0;padding-bottom:100px}.project-inner{position:relative;top:auto}
.project-visual{overflow:visible}.project-visual img{height:auto;max-height:none;object-fit:contain}
.project-visual:hover img{transform:none}
.reveal{transition:opacity .7s ease,translate .9s cubic-bezier(.2,.7,.2,1)}
.reveal.pending{opacity:0;translate:0 26px}.reveal.visible{opacity:1;translate:0 0}
#viewer{height:auto;max-height:94svh;max-height:94dvh;padding:0;overflow:hidden}
#viewer[open]{display:flex;flex-direction:column}
#viewer .dialog-top{flex:none;min-height:60px;padding:12px 16px}
.project-image-area{flex:1 1 auto;min-height:0;display:flex;justify-content:center;align-items:center;padding:10px 14px;background:#000000}
#viewer-image{width:100%;height:auto;max-height:calc(94svh - 180px);max-height:calc(94dvh - 180px);padding:0;object-fit:contain;display:block;transition:opacity .18s}
.project-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;flex:none}
.project-gallery-controls button{background:transparent;color:#eee8df;border:1px solid #666;padding:10px 14px;cursor:pointer}
.gallery-count{font-size:12px;white-space:nowrap}.gallery-dots{display:flex;justify-content:center;gap:12px;padding:0 12px 14px;flex:none}
.gallery-dots button{width:28px;height:5px;border:0;background:#555;padding:0;cursor:pointer}.gallery-dots button[aria-current=true]{background:#eee8df}
.portfolio-viewer[open]{display:flex;flex-direction:column;overflow:auto}.portfolio-viewer .viewer-photo{align-self:center;flex:0 1 auto;min-height:0;max-height:calc(94dvh - 155px);object-fit:contain}.portfolio-viewer .dialog-top,.portfolio-viewer .viewer-controls{flex:none}
.work-grid{align-items:start}.work-image{justify-self:center}.work-image img{object-fit:contain}.hero-work img{object-fit:contain}
@media(max-width:700px){.intro{height:230svh}.project{padding-bottom:65px}.project-inner{position:relative;top:auto}.project-image-area{padding:10px 8px}.project-gallery-controls{padding:10px}.project-gallery-controls button{font-size:12px;padding:10px}.social-hero{padding-top:65px}.reveal.pending{translate:0 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{height:100svh}.reveal{transition:none!important;opacity:1!important;translate:none!important}}
