.homepage{--hdr-bg:transparent;--hdr-blur:none;--hdr-bd:transparent;--hdr-fg:var(--color-bg);--hdr-sub:#f4f0e8cc;--hdr-btnBd:#f4f0e873;--hero-pos:50% 46%;--hero-cols:minmax(0,7fr) minmax(0,5fr);--hero-h1:clamp(48px,min(6.6vw,11.5vh),104px);--hero-rPad:8px;--hero-ctaFlex:0 0 auto;--hero-scrim:radial-gradient(ellipse 55% 60% at 0% 100%,#14110e52 0%,#14110e00 70%);--hero-bandPad:clamp(110px,15vh,180px);--hero-band:linear-gradient(to top,#14110ed6 0%,#14110eb3 42%,#14110e5c 74%,#14110e00 100%);--intro-img:scale(1);--intro-imgTr:none;--intro-o:1;--intro-t:none;--intro-l1:none;--intro-l2:none;--intro-tr1:none;--intro-tr2:none;--intro-tr3:none;--intro-tl1:none;--intro-tl2:none;--st-imgA:1 / span 8;--st-txtA:10 / span 3;--st-imgB:5 / span 8;--st-txtB:1 / span 3;--st-row:1;--st-self:end;--st-txtPad:34px;--st-pairA:minmax(0,5fr) minmax(0,3fr);--st-pairB:minmax(0,3fr) minmax(0,5fr);--st-pairAlign:end;--st-detailAr:4 / 5;--hd-a:1 / span 7;--hd-b:9 / span 4;--sv-a:1 / span 4;--sv-b:6 / span 7;--sv-stick:sticky;--sv-row:40px minmax(0,1fr) minmax(0,1.25fr);--sv-p:auto;--sv-btnFlex:0 0 auto;--ab-a:1 / span 5;--ab-b:7 / span 6;--fc-a:1 / span 6;--fc-b:8 / span 5;--fc-btnW:auto;--fc-align:flex-end;--sticky-t:translateY(0);--sticky-vis:visible;--sticky-tr:transform .3s;--dv-cols:minmax(0,1.7fr) minmax(360px,1fr);--dv-rows:minmax(0,1fr);--dv-imgH:100%;--dv-imgPad:28px;--dv-op:1;--dv-imgOp:1;--dv-imgT:scale(1)}#site-header.scrolled{--hdr-bg:#f4f0e8eb;--hdr-blur:blur(12px);--hdr-bd:var(--color-divider);--hdr-fg:var(--color-text);--hdr-sub:var(--color-neutral-700);--hdr-btnBd:var(--color-divider)}.homepage>.skip-link{transform:translateY(-160%);position:fixed!important;left:8px!important}.homepage>.skip-link:focus{transform:none}#viewer-thumbnails{gap:10px;display:flex}#viewer-thumbnails button{background:var(--color-surface);border:2px solid #0000;width:84px;height:84px;padding:0}#viewer-thumbnails button[aria-current=true]{border-color:var(--color-text)}#viewer-thumbnails img{object-fit:cover;width:100%;height:100%}[data-project]:hover img{transform:scale(1.03)}[data-project] img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.multi-photo{display:contents}#viewer.single-photo .multi-photo{display:none}.js-intro [data-screen-label="01 Hero"]>picture>img{animation:2.8s cubic-bezier(.16,.7,.2,1) both hero-image}.js-intro #hero-title>span>span{animation:1.2s cubic-bezier(.2,.7,.2,1) .35s both hero-line}.js-intro #hero-title>span:nth-child(2)>span{animation-delay:.5s}@keyframes hero-image{0%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes hero-line{0%{transform:translateY(108%)}to{transform:translateY(0)}}.rv-pending{opacity:0;transform:translateY(16px)}.rv-visible{animation:1.1s cubic-bezier(.2,.7,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (width<=1023px){.homepage{--hero-pos:50% 50%;--hero-cols:minmax(0,1fr);--hero-h1:clamp(56px,8.6vw,88px);--hero-rPad:0;--hero-scrim:linear-gradient(transparent,transparent);--hero-bandPad:clamp(90px,14vh,160px);--hero-band:linear-gradient(to top,#14110ee6 0%,#14110ec7 48%,#14110e6b 78%,#14110e00 100%);--st-imgA:1 / -1;--st-imgB:1 / -1;--st-txtA:1 / span 9;--st-txtB:1 / span 9;--st-row:auto;--st-self:start;--st-txtPad:0;--st-pairA:repeat(2,minmax(0,1fr));--st-pairB:repeat(2,minmax(0,1fr));--st-pairAlign:start;--st-detailAr:3 / 4;--hd-a:1 / -1;--hd-b:1 / -1;--sv-a:1 / -1;--sv-b:1 / -1;--sv-stick:static;--ab-a:1 / span 8;--ab-b:1 / -1;--fc-a:1 / -1;--fc-b:1 / -1;--fc-align:flex-start;--dv-cols:minmax(0,1fr);--dv-rows:auto auto;--dv-imgH:58svh;--dv-imgPad:12px}}@media (width<=639px){.homepage{--hero-pos:42% 50%;--hero-h1:clamp(36px,11vw,60px);--hero-ctaFlex:1 1 100%;--st-txtA:1 / -1;--st-txtB:1 / -1;--sv-row:30px minmax(0,1fr);--sv-p:2 / 3;--sv-btnFlex:1 1 100%;--ab-a:1 / -1;--fc-btnW:100%;--fc-align:stretch}.shown-project{display:none}}.rv-pending[data-rv=mask]{opacity:1;transform:none}.rv-pending[data-rv=mask]>span{clip-path:inset(100% 0 0)}.rv-pending[data-rv=mask] img{transform:scale(1.07)}.rv-visible[data-rv=mask]{animation:none}.rv-visible[data-rv=mask]>span{animation:photo-wipe 1.25s cubic-bezier(.77,0,.18,1) var(--reveal-delay,0s) both}.rv-visible[data-rv=mask] img{animation:photo-settle 1.9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0s) both}.rv-visible:not([data-rv=mask]){animation-delay:var(--reveal-delay,0s)}@keyframes photo-wipe{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}@keyframes photo-settle{0%{transform:scale(1.07)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rv-pending{opacity:1;transform:none}.rv-pending[data-rv=mask]>span{clip-path:none}.rv-pending[data-rv=mask] img{transform:none}}#site-header nav a:hover{opacity:.65}a.btn:has(svg):hover{gap:18px!important}article [data-project]:not(.blueprint):hover{color:var(--color-text)!important;gap:16px!important}footer nav a:hover{color:var(--oak-300)!important}#home-hero a[href=\#work]:hover{text-decoration-color:var(--color-bg)!important}.js-intro #hero-eyebrow{animation:1s cubic-bezier(.2,.7,.2,1) .25s both hero-copy}.js-intro #hero-copy{animation:1.1s cubic-bezier(.2,.7,.2,1) .85s both hero-copy}.js-intro #hero-strip{animation:1s 1.15s both hero-copy}@keyframes hero-copy{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
