.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--color-control:#f8f8f8;--color-control-hover:#ececec;--color-ink:#111110;--color-paper:#fff;--color-canvas:#000;--color-muted:#6e6e6c;--color-faint:#dededb;--color-surface:#f5f5f3;--color-line:#dededc;--surface-glass:#f6f5f27a;--surface-glass-hover:#f6f5f2b8;--surface-glass-on-paper:#cbcac670;--surface-glass-on-paper-hover:#bcbbb785;--surface-glass-divider:#1111101f;--surface-glass-border:#ffffff73;--surface-glass-shadow:0 2px 16px #00000008;--surface-glass-blur:20px;--font-body:"Gal Gothic", Arial, sans-serif;--font-display:"Gal Gothic", Arial, sans-serif;--weight-body:400;--weight-display:800;--text-xs:.75rem;--text-sm:.875rem;--text-body:clamp(.9rem, 1.05vw, 1.125rem);--text-display:clamp(2.3rem, 3.75vw, 4.75rem);--leading-body:1.4;--leading-display:1.015;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--gutter:clamp(1rem, 1.4vw, 1.75rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--touch-target:2.75rem;--gap:clamp(.75rem, 1.35vw, 1.5rem);--radius-media:.625rem;--radius-sheet:1.125rem;--sidebar-home:35%;--sidebar-project:28%;--duration-fast:.16s;--duration-base:.32s;--duration-scene:.55s;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-scene:0s}}@font-face{font-family:Gal Gothic;src:url(/fonts/gal-gothic-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Gal Gothic;src:url(/fonts/gal-gothic-extrabold.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--gutter) + var(--safe-top));background:var(--color-paper);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body);font-weight:400;line-height:var(--leading-body);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;margin:0}body.is-home{background:var(--color-canvas)}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,video,canvas{max-width:100%;display:block}video[loop]::-webkit-media-controls,video[loop]::-webkit-media-controls-start-playback-button{display:none!important}button,img,video{border-radius:inherit}button{touch-action:manipulation}button:disabled{opacity:.3;cursor:default}:focus-visible{outline-offset:5px;outline:2px solid}::selection{color:#fff;background:#151515}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:var(--weight-display)}.skip-link{top:calc(1rem + var(--safe-top));left:calc(1rem + var(--safe-left));color:#000;z-index:1000;transform:translateY(calc(-100% - 2rem - var(--safe-top)));background:#fff;padding:.75rem 1.2rem;position:fixed}.skip-link:focus{transform:translateY(0)}.navigation-progress{z-index:100;background:var(--color-ink);transform-origin:0;opacity:0;height:2px;transition:opacity .1s,transform .6s;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}html.is-navigating .navigation-progress{opacity:1;transform:scaleX(.8)}.home-sheet{z-index:2;background:var(--color-paper);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;min-height:100svh;position:relative}.portfolio-layout,.project-layout{grid-template-columns:var(--sidebar-home) minmax(0, 1fr);padding:var(--gutter);gap:0;display:grid}.sidebar{top:var(--sidebar-sticky-top,var(--gutter));min-height:calc(100svh - var(--gutter) * 2);padding-right:var(--gutter);justify-content:space-between;align-self:start;gap:var(--space-6);flex-direction:column;display:flex;position:sticky}.sidebar-top{max-width:32rem}.intro{font-weight:800;font-family:var(--font-display);font-size:var(--text-display);line-height:var(--leading-display);letter-spacing:-.045em;text-wrap:pretty}.wordmark{white-space:nowrap}.wordmark:hover{opacity:.58}.profile-details{margin-top:var(--space-8);gap:var(--space-4);display:grid}.bio{padding:var(--space-5);border-radius:var(--radius-media);font-size:clamp(.8rem,1vw,1rem);line-height:1.5}.contact-list{padding:var(--space-2) var(--space-5);border-radius:var(--radius-media)}.contact-list a{justify-content:space-between;gap:var(--space-2);padding:var(--space-3) 0;color:var(--color-muted);font-size:var(--text-sm);transition:color var(--duration-fast);display:flex}.contact-list a+a{border-top:1px solid var(--color-line)}.contact-list a:hover{color:var(--color-ink)}.contact-list a span:last-child{text-align:right}.sidebar-bottom{gap:.5rem;display:grid}.language-switch{font-size:var(--text-xs);color:var(--color-muted);justify-self:start;padding:.35rem 0}.language-switch:hover{color:var(--color-ink)}.work-grid{gap:var(--gap);align-items:flex-start;display:flex}.work-column{gap:var(--gap);flex-direction:column;flex:1;min-width:0;display:flex}.work-item{min-width:0}@keyframes work-column-travel{to{transform:translate3d(0, var(--column-travel), 0)}}@supports (animation-timeline:view()) and (view-timeline-inset:0px){@media (width>=600px) and (prefers-reduced-motion:no-preference){.work-grid{view-timeline:--work-grid block;view-timeline-inset:0px var(--work-scroll-end,0px)}.work-column[data-travel]{animation-name:work-column-travel;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--work-grid;animation-range:contain}}}.project-card{border-radius:var(--radius-media);isolation:isolate;background:var(--color-surface);display:block;position:relative;overflow:hidden}.project-card-media{aspect-ratio:4/5;overflow:hidden}.project-card-media>img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.project-card-label{left:var(--space-4);top:var(--space-4);right:var(--space-4);justify-content:space-between;align-items:flex-start;gap:var(--space-2);pointer-events:none;display:flex;position:absolute}.project-card-label span{transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-base);border-radius:.65rem;padding:.6rem .8rem;font-size:clamp(.9rem,1.15vw,1.2rem);line-height:1.1}.project-card-label span:last-child{opacity:0;transform:translate(-5px,5px)}@media (hover:hover){.project-card-label{opacity:0;transition:opacity var(--duration-base), transform var(--duration-base) var(--ease-out);transform:translateY(8px)}.project-card:hover .project-card-label,.project-card:focus-visible .project-card-label{opacity:1;transform:translateY(0)}.project-card:hover img{transform:scale(1.035)}}.project-card:is(:hover,:focus-visible) .project-card-label span:last-child{opacity:1;transform:translate(0)}.card-video{object-fit:cover;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity var(--duration-base);position:absolute;inset:0}.card-video.is-playing{opacity:1}.news-card{gap:var(--space-4);font-size:var(--text-sm);align-items:stretch;padding:.25rem 0;display:flex}.news-card-image{aspect-ratio:1;border-radius:var(--radius-media);flex:none;align-self:flex-start;width:42%;position:relative;overflow:hidden}.news-card-image>img{object-fit:cover;width:100%;height:100%}.news-card>div:not(.news-card-image){flex-direction:column;flex:1;min-width:0;display:flex}.news-card h3{font-size:inherit;font-weight:400;line-height:1.35}.news-card p{-webkit-line-clamp:3;color:var(--color-muted);-webkit-box-orient:vertical;margin:.4rem 0;line-height:1.4;display:-webkit-box;overflow:hidden}.news-card-meta{color:var(--color-muted);justify-content:space-between;gap:.5rem;margin-top:auto;font-size:.8rem;display:flex}.news-card:hover h3{text-underline-offset:3px;text-decoration:underline}.project-layout{grid-template-columns:var(--sidebar-project) minmax(0, 1fr)}.sidebar--compact .intro span{color:var(--color-faint);transition:color var(--duration-base)}.sidebar--compact .intro:hover span{color:var(--color-muted)}.back-link{gap:var(--space-6);border-radius:var(--radius-media);font-size:var(--text-sm);display:inline-flex;padding:var(--space-4) var(--space-5)!important}.back-link span{transition:transform var(--duration-base)}.back-link:hover span{transform:translate(-4px)}.project-content{min-width:0}.project-header{gap:var(--space-6);grid-template-columns:1fr 2.1fr;padding-bottom:clamp(3rem,9vw,9rem);display:grid}.project-title{font-size:var(--text-display);letter-spacing:-.04em;line-height:var(--leading-display);overflow-wrap:anywhere}.project-description{max-width:48rem;line-height:1.35}.project-description p+p{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-surface)}.gallery-toolbar{padding-bottom:var(--space-4);font-size:var(--text-xs);color:var(--color-muted);justify-content:space-between;align-items:center;gap:1rem;display:flex}.expand-gallery{align-items:center;gap:var(--space-2);border-radius:.5rem;padding:.5rem .7rem;display:flex}.expand-gallery>span:first-child{font-size:1.4rem;line-height:1}.project-gallery{gap:var(--gap);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.gallery-item{border-radius:var(--radius-media);background:var(--color-surface);grid-column:span 6;overflow:hidden}.gallery-item[data-columns="2"]{grid-column:span 3}.gallery-item[data-columns="3"]{grid-column:span 2}.gallery-item img{width:100%;height:auto}.gallery-cover img{object-fit:contain;max-height:80svh}.image-open{text-align:left;cursor:zoom-in;width:100%;padding:0;display:block;position:relative}.image-enlarge{bottom:var(--space-4);right:var(--space-4);background:var(--color-paper);opacity:0;width:2.5rem;height:2.5rem;transition:opacity var(--duration-base);border-radius:50%;place-items:center;font-size:1.4rem;display:grid;position:absolute}.image-open:hover .image-enlarge,.image-open:focus-visible .image-enlarge{opacity:1}.gallery-video video{width:100%;height:auto}.mobile-project-header{display:none}.sidebar--compact{min-width:0;height:calc(100svh - var(--gutter) * 2);transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-scene) var(--ease-out), visibility var(--duration-scene);overflow:hidden}.notes-content{min-height:80vh}.notes-heading{justify-content:space-between;gap:var(--space-6);padding:0 0 var(--space-16);display:flex}.notes-heading h1,.article-content h1{font-size:var(--text-display);letter-spacing:-.04em;line-height:1.05}.notes-heading p{color:var(--color-muted)}.notes-list{gap:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.notes-list .news-card{border-top:1px solid var(--color-line);padding-top:var(--space-5)}.article-content{max-width:70rem}.article-content header{margin:var(--space-12) 0}.article-content time{color:var(--color-muted);margin-bottom:var(--space-4);display:block}.article-content header p{margin-top:var(--space-5);max-width:40rem;font-size:1.3rem}.article-cover{border-radius:var(--radius-media);width:100%;margin-bottom:var(--space-8)}.prose{overflow-wrap:anywhere;max-width:48rem;font-size:1.125rem;line-height:1.65}.prose :is(img,video){height:auto}.prose pre{max-width:100%;overflow-x:auto}.prose>*+*{margin-top:1.5rem}.prose h2{font-size:2rem}.prose a,.text-link{text-underline-offset:4px;text-decoration:underline}.not-found{min-height:100svh;padding:var(--space-8);flex-direction:column;justify-content:space-between;display:flex}.not-found>a{font-size:2rem;font-weight:800}.not-found>div{margin:auto 0}.not-found h1{letter-spacing:-.05em;margin:1rem 0 3rem;font-size:clamp(3rem,8vw,8rem);line-height:1}::view-transition-group(*){animation-duration:var(--duration-scene);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:.18s ease-out both page-out}::view-transition-new(root){animation:.35s var(--ease-out) both page-in}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){.sidebar-top{max-width:36rem}.bio{font-size:1.05rem}.contact-list a{font-size:1rem}.profile-details{margin-top:var(--space-12)}}@media (width>=992px) and (height<=800px){.sidebar{min-height:calc(100svh - var(--gutter) * 2)}.profile-details{margin-top:var(--space-5);gap:var(--space-3)}.bio{padding:var(--space-4);font-size:.78rem}.contact-list a{padding:.55rem 0;font-size:.78rem}.intro{font-size:clamp(2.2rem,3.4vw,3.6rem)}}@media (width<=1024px){.project-header{gap:var(--space-4);grid-template-columns:1fr 2fr}.news-card{gap:.65rem}.news-card p{-webkit-line-clamp:2}.news-card-meta{font-size:.7rem}.contact-list{padding:var(--space-2) var(--space-4)}.contact-list a{font-size:.78rem}.notes-list{grid-template-columns:1fr}}@media (width<=991px){:root{--text-display:clamp(2.5rem, 7.5vw, 4rem);--gutter:1rem;--gap:.75rem;--text-body:1rem;--mobile-nav-height:calc(4rem + var(--safe-top))}html:has(.mobile-project-header){scroll-padding-top:calc(var(--mobile-nav-height) + var(--space-4))}.portfolio-layout,.project-layout{padding-left:max(var(--gutter), var(--safe-left));padding-right:max(var(--gutter), var(--safe-right));display:block}.portfolio-layout{padding-bottom:max(var(--space-8), var(--safe-bottom))}.sidebar{min-height:0;padding:0 0 var(--space-8);gap:var(--space-5);position:static}.sidebar-top{max-width:none}.intro{max-width:36rem}.profile-details{margin-top:var(--space-6);align-items:start;gap:var(--space-3);grid-template-columns:1fr 1fr}.bio{padding:var(--space-4);font-size:.825rem}.contact-list a{align-items:center;min-height:3rem;font-size:.8rem}.sidebar--compact{display:none}.mobile-project-header{z-index:10;min-height:var(--mobile-nav-height);padding:calc(.625rem + var(--safe-top)) max(var(--gutter), var(--safe-right)) .625rem max(var(--gutter), var(--safe-left));font-size:var(--text-sm);background:var(--color-paper);transition:transform var(--duration-base) var(--ease-out);justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:sticky;top:0}.mobile-project-header[data-hidden]{transform:translateY(-100%)}.mobile-project-header a{min-width:var(--touch-target);min-height:var(--touch-target);align-items:center;gap:.75rem;display:flex}.mobile-project-header a:last-child{justify-content:flex-end}.mobile-project-header a:only-child{justify-content:flex-start}.mobile-project-header strong{letter-spacing:-.05em;font-size:1.45rem}.project-header{padding:var(--space-4) 0 var(--space-8);gap:var(--space-5);grid-template-columns:1fr}.project-title{font-size:clamp(2.125rem,7.5vw,4rem)}.project-description{overflow-wrap:anywhere;line-height:1.45}.project-card-label,.project-card-label span:last-child{opacity:1;transform:none}.gallery-toolbar{font-size:.75rem}.expand-gallery{display:none}.news-card h3{font-size:.85rem}.notes-heading{padding:var(--space-6) 0 var(--space-12)}.notes-heading p{font-size:.875rem}.notes-list{gap:var(--space-5);grid-template-columns:1fr 1fr}.notes-list .news-card{flex-direction:column}.notes-list .news-card-image{width:100%;position:relative;overflow:hidden}.article-content header{margin-top:var(--space-8)}.article-content header p{font-size:1.125rem}.article-content,.notes-content{min-width:0}.article-content h1,.notes-heading h1{overflow-wrap:anywhere}.article-content{padding-bottom:max(var(--space-8), var(--safe-bottom))}.prose{font-size:1rem;line-height:1.6}}@media (width<=599px){.profile-details{grid-template-columns:1fr}.intro{font-size:2.75rem}.bio{font-size:.9rem}.contact-list a{font-size:.875rem}.work-grid{flex-direction:column}.work-column{display:contents}.work-item{order:var(--mobile-order);width:100%}.project-card-label{left:var(--space-3);top:var(--space-3);right:var(--space-3)}.project-card-label span{font-size:1rem}.project-card-label span:last-child{opacity:1;transform:none}.news-card{gap:var(--space-4);padding:var(--space-2) 0}.news-card-image{width:35%;position:relative;overflow:hidden}.news-card h3{font-size:1rem}.news-card p{-webkit-line-clamp:3;font-size:.875rem}.news-card-meta{font-size:.8rem}.gallery-item[data-columns]{grid-column:span 6}.notes-heading{display:block}.notes-heading p{margin-top:var(--space-5)}.notes-list{grid-template-columns:1fr}.notes-list .news-card{flex-direction:row}.notes-list .news-card-image{width:35%;position:relative;overflow:hidden}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.project-story{margin-bottom:var(--space-12)}.explorer-modes,.explorer-empty,.explorer-group,.explorer-zoom,.explorer-case-close,.bio,.contact-list,.sidebar-language,.sidebar-language-toggle,.project-card-label span,.back-link,.expand-gallery,.project-record-links,.project-record-links a,.project-record-credits,.video-player-start,.video-player-bar{background:var(--surface-glass);border:1px solid var(--surface-glass-border);box-shadow:var(--surface-glass-shadow);backdrop-filter:blur(var(--surface-glass-blur))}.bio,.contact-list,.sidebar-language,.back-link,.expand-gallery,.project-record-links,.project-record-credits{--color-muted:#5c5c59;background:var(--surface-glass-on-paper)}.project-record-credits{--project-panel-line:var(--surface-glass-divider)}.back-link{transition:background var(--duration-fast)}.back-link:hover{background:var(--surface-glass-on-paper-hover)}@supports not (backdrop-filter:blur(1px)){:root{--surface-glass:#f6f5f2;--surface-glass-hover:#eeedea;--surface-glass-on-paper:#e8e8e6;--surface-glass-on-paper-hover:#dcdcda}}@media (prefers-reduced-transparency:reduce){:root{--surface-glass:#f6f5f2;--surface-glass-hover:#eeedea;--surface-glass-on-paper:#e8e8e6;--surface-glass-on-paper-hover:#dcdcda}}:root[data-fold=book]{--fold-first:env(viewport-segment-width 0 0,50vw);--fold-second-start:env(viewport-segment-left 1 0,50vw);--fold-second:env(viewport-segment-width 1 0,50vw);--fold-columns:calc(var(--fold-first) - max(var(--gutter), var(--safe-left)) - var(--gutter)) minmax(0, 1fr);--fold-column-gap:calc(var(--fold-second-start) - var(--fold-first) + var(--gutter) * 2)}:root[data-fold=tabletop]{--fold-first:env(viewport-segment-height 0 0,50dvh);--fold-second-start:env(viewport-segment-top 0 1,50dvh);--fold-second:env(viewport-segment-height 0 1,50dvh)}@media (orientation:landscape) and (width>=768px) and (width<=991px) and (height>=480px){:root:not([data-fold]){--two-pages:on;--page-first:40vw;--page-second-start:40vw}}@media (width<=991px){:root[data-fold=book]{--two-pages:on;--page-first:var(--fold-first);--page-second-start:var(--fold-second-start)}}@container style(--two-pages:on){:root .project-page .project-header,:root .article-content>header{z-index:2;inset:var(--mobile-nav-height) auto 0 0;width:var(--page-first);padding:var(--space-6) var(--gutter) max(var(--space-8), var(--safe-bottom)) max(var(--gutter), var(--safe-left));overscroll-behavior:contain;background:var(--color-paper);transition:top var(--duration-base) var(--ease-out);margin:0;position:fixed;overflow-y:auto}:root[data-header-hidden] .project-page .project-header,:root[data-header-hidden] .article-content>header{top:0}:root .project-page .project-header{display:block}:root .project-page .project-title,:root .article-content h1{margin-bottom:var(--space-5);font-size:clamp(2rem, calc(var(--page-first) * .105), 3.25rem)}:root .project-page .project-description{font-size:.9375rem}:root .project-page .project-story:not(:has(>*)){display:none}:root .project-page>.project-layout,:root .project-layout:has(>.article-content){padding-top:var(--gutter);padding-left:calc(var(--page-second-start) + var(--gutter));border-radius:0}:root .project-page>.project-archive{margin-left:var(--page-second-start)}:root .project-page .project-archive-link{gap:1rem;padding:.75rem 0}:root .project-page .project-archive-image{flex-basis:80px;width:80px;height:80px}:root .project-page .project-archive-cells{grid-template-columns:minmax(0, 1fr) var(--touch-target);gap:.25rem .5rem;padding:0}:root .project-page .project-archive-cells h3{overflow-wrap:anywhere;grid-column:1;font-size:1rem}:root .project-page .project-archive-description{display:none}:root .project-page .project-archive-year{grid-column:1;font-size:.8125rem}:root .project-page .project-archive-action{grid-area:1/2/3;justify-self:end;font-size:0}:root .project-page .project-archive-action>span{font-size:1.25rem}}@media (orientation:landscape) and (width>=768px) and (width<=991px) and (height>=480px){:root:not([data-fold]) .portfolio-layout{padding-bottom:var(--gutter);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}:root:not([data-fold]) .sidebar.reference-sidebar{top:var(--gutter);height:calc(100svh - var(--gutter) * 2);min-height:0;padding:0 var(--gutter) 0 0;align-self:start;gap:var(--sidebar-panel-gap);scrollbar-width:none;position:sticky;overflow-y:auto}:root:not([data-fold]) .reference-sidebar .sidebar-top{max-width:none}:root:not([data-fold]) .reference-sidebar .intro{max-width:none;font-size:calc(var(--sidebar-unit) * 2.5)}:root:not([data-fold]) .reference-sidebar .profile-details{grid-template-columns:minmax(0,1fr)}}@media (width<=991px){:root[data-fold=book] .hero{z-index:3;width:var(--fold-first);height:auto;position:fixed;inset:0 auto 0 0}:root[data-fold=book] .hero__art{width:var(--fold-first);height:auto;inset:0 auto 0 0;transform:none!important}:root[data-fold=book] .home-sheet{width:var(--fold-second);min-height:100dvh;margin-left:var(--fold-second-start);border-radius:0}:root[data-fold=book] .portfolio-layout{padding-right:max(var(--gutter), var(--safe-right));padding-left:var(--gutter)}:root[data-fold=book] .sidebar.reference-sidebar{gap:20px}:root[data-fold=book] .reference-sidebar .sidebar-top{max-width:none}:root[data-fold=book] .reference-sidebar .intro{font-size:clamp(2.25rem, calc(var(--fold-second) * .095), 2.9rem)}:root[data-fold=book] .reference-sidebar .profile-details{grid-template-columns:minmax(0,1fr)}:root[data-fold=book] .work-grid{flex-direction:column}:root[data-fold=book] .work-column{display:contents}:root[data-fold=book] .work-item{order:var(--mobile-order);width:100%}:root[data-fold=book] .work-item .news-card-image{width:35%}:root[data-fold] .explorer-modes{transition:top .32s var(--ease-out), right .32s var(--ease-out), translate .32s var(--ease-out), transform .18s ease, opacity .18s ease}:root[data-fold=book] .explorer[data-mode=list] .explorer-modes{right:calc(100vw - var(--fold-first) + 16px)}:root[data-fold=book] .explorer[data-mode=list][data-scrolled] .explorer-modes,:root[data-fold=tabletop] .explorer[data-mode=list][data-scrolled] .explorer-modes{opacity:1;pointer-events:auto;transform:none}:root[data-fold=book] :is(.notes-heading,.notes-list){grid-template-columns:var(--fold-columns);column-gap:var(--fold-column-gap);display:grid}:root[data-fold=book] body:has(.notes-content)>.mobile-project-header>:first-child{flex:0 0 calc(var(--fold-second-start) + var(--gutter) - max(var(--gutter), var(--safe-left)) - .5rem)}:root[data-fold=book] body:has(.notes-content)>.mobile-project-header>:last-child{margin-left:auto}:root[data-fold=book] .lightbox.lightbox--frosted{padding:max(24px, calc(env(safe-area-inset-top) + 12px)) max(24px, calc(env(safe-area-inset-right) + 16px)) max(24px, calc(env(safe-area-inset-bottom) + 12px)) calc(var(--fold-second-start) + 24px)}:root[data-fold=book] .lightbox--frosted .lightbox-navigation{width:var(--fold-first);justify-content:center;gap:24px;padding:24px;inset:0 auto 0 0}:root[data-fold=book] .explorer-empty{left:calc(var(--fold-second-start) + var(--fold-second) / 2)}:root[data-fold=book] .explorer-case-sheet{grid-template-columns:var(--fold-first) minmax(0, 1fr);column-gap:calc(var(--fold-second-start) - var(--fold-first));align-items:start;width:100%;margin:0;padding:0;display:grid}:root[data-fold=book] .explorer-case-lead{max-width:calc(var(--fold-first) - 48px);margin:24px auto;position:sticky;top:24px}:root[data-fold=book] .explorer-case-lead[data-media-sized]{--lead-width:min(calc(var(--fold-first) - 48px), calc((100dvh - 48px) * var(--case-media-ratio)));top:calc((100dvh - var(--lead-width) / var(--case-media-ratio)) / 2);width:var(--lead-width);margin-block:calc((100dvh - var(--lead-width) / var(--case-media-ratio)) / 2)}:root[data-fold=book] .explorer-case .explorer-case-selected img{max-height:calc(100dvh - 48px)}:root[data-fold=book] .explorer-case-content{padding:76px max(var(--gutter), var(--safe-right)) 0 var(--gutter)}:root[data-fold=book] .explorer-case .project-header{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 0 32px}:root[data-fold=book] .explorer-case .gallery-item[data-columns]{grid-column:span 6}:root[data-fold=tabletop]:has(.home-sheet){scroll-padding-top:calc(var(--fold-second-start) + var(--gutter))}:root[data-fold=tabletop] .hero{z-index:3;height:var(--fold-first);position:fixed;inset:0 0 auto}:root[data-fold=tabletop] .hero__art{height:var(--fold-first);inset:0 0 auto;transform:none!important}:root[data-fold=tabletop] .home-sheet{min-height:var(--fold-second);margin-top:var(--fold-second-start)}:root[data-fold=tabletop]:has(.project-page){scroll-padding-top:calc(var(--fold-second-start) + var(--mobile-nav-height) + var(--space-4))}:root[data-fold=tabletop] .project-page{padding-top:var(--fold-second-start)}:root[data-fold=tabletop] .project-page>.mobile-project-header{top:var(--fold-second-start);transform:none}:root[data-fold=tabletop] .project-page>.project-archive>h2{top:calc(var(--fold-second-start) + var(--mobile-nav-height))}:root[data-fold=tabletop] .project-page .project-gallery{z-index:3;height:var(--fold-first);padding:max(12px, var(--safe-top)) max(12px, var(--safe-right)) 12px max(12px, var(--safe-left));overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:max(12px, var(--safe-left)) max(12px, var(--safe-right));scrollbar-width:none;background:var(--color-canvas);align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto;overflow:auto hidden}:root[data-fold=tabletop] .project-page .project-gallery::-webkit-scrollbar{display:none}:root[data-fold=tabletop] .project-page .gallery-item{scroll-snap-align:center;background:0 0;flex:none;max-width:88%;height:100%}:root[data-fold=tabletop] .project-page .gallery-item:only-child{max-width:100%}:root[data-fold=tabletop] .project-page .gallery-item :is(.image-open,.responsive-image){width:auto;max-width:100%;height:100%}:root[data-fold=tabletop] .project-page .gallery-item img{object-fit:contain;width:auto;max-width:100%;height:100%;max-height:none}:root[data-fold=tabletop] .project-page .gallery-item .local-video{width:auto;max-width:100%;height:100%}:root[data-fold=tabletop] .lightbox.lightbox--frosted{padding:max(16px, calc(env(safe-area-inset-top) + 8px)) max(16px, calc(env(safe-area-inset-right) + 12px)) calc(100dvh - var(--fold-first) + 16px) max(16px, calc(env(safe-area-inset-left) + 12px))}:root[data-fold=tabletop] .lightbox--frosted .lightbox-navigation{inset:var(--fold-second-start) 0 0;padding:16px 16px max(16px, env(safe-area-inset-bottom));justify-content:center;gap:32px}:root[data-fold=tabletop] .lightbox--frosted .lightbox-navigation button{flex-basis:64px;width:64px;height:64px}:root[data-fold=tabletop] .explorer-case-sheet{padding-top:0}:root[data-fold=tabletop] .explorer-case-sheet:before{content:"";z-index:1;height:var(--fold-first);pointer-events:none;background:#0b0b0b;position:fixed;inset:0 0 auto}:root[data-fold=tabletop] .explorer-case-content{z-index:0;position:relative}:root[data-fold=tabletop] .explorer-case-lead{z-index:2;margin-block:16px calc(16px + var(--fold-second-start) - var(--fold-first));position:sticky;top:16px}:root[data-fold=tabletop] .explorer-case-lead[data-media-sized]{--lead-width:min(calc(100vw - 24px - var(--safe-left) - var(--safe-right)), calc((var(--fold-first) - 32px) * var(--case-media-ratio)));--lead-inset:calc((var(--fold-first) - var(--lead-width) / var(--case-media-ratio)) / 2);top:var(--lead-inset);width:var(--lead-width);margin-block:var(--lead-inset) calc(var(--lead-inset) + var(--fold-second-start) - var(--fold-first))}:root[data-fold=tabletop] .explorer-case .explorer-case-selected img{max-height:calc(var(--fold-first) - 32px)}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-stage{flex-direction:column;display:flex}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-canvas{flex:1 1 0;height:auto;min-height:0;position:relative;inset:auto}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-controls{padding:14px max(16px, var(--safe-right)) max(18px, var(--safe-bottom)) max(16px, var(--safe-left));flex-flow:wrap;flex:none;justify-content:center;align-items:center;gap:10px;position:relative;inset:auto}:root[data-fold=tabletop] .explorer:not([data-keyboard]) :is(.explorer-toolbar,.explorer-zoom) button{width:50px;height:50px}:root[data-fold=tabletop] .explorer:not([data-keyboard]) :is(.explorer-toolbar,.explorer-zoom) svg,:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-color-icon{width:23px;height:23px}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-search:not([data-open]){width:58px}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-filters{width:min(320px,100vw - 32px);max-height:calc(100dvh - 140px);bottom:calc(100% + 8px);right:50%;translate:50%}:root[data-fold=tabletop] .explorer:not([data-keyboard]) .explorer-hands{right:max(16px, var(--safe-right));bottom:calc(100% + 8px)}:root[data-fold=tabletop] .explorer[data-mode=grid] .explorer-zoom{flex-direction:row-reverse;gap:2px}:root[data-fold=tabletop] .explorer[data-mode=grid] .explorer-zoom input{writing-mode:horizontal-tb;cursor:ew-resize;direction:ltr;background:linear-gradient(#17171555,#17171555) 50%/100% 2px no-repeat;width:min(150px,24vw);height:50px;margin:0 8px}}:root[data-fold-morph] .hero__art{view-transition-name:fold-sculpture}:root[data-fold-morph] .home-sheet{view-transition-name:fold-sheet}:root[data-fold-morph] .project-page .project-header{view-transition-name:fold-project-text}:root[data-fold-morph] .explorer-canvas{view-transition-name:fold-canvas}:root[data-fold-morph] .explorer-controls{view-transition-name:fold-controls}:root[data-fold-morph] .explorer-modes{view-transition-name:fold-modes;transition:none}:root[data-fold-morph]::view-transition-old(root){animation:.24s ease-out both fold-fade-out}:root[data-fold-morph]::view-transition-new(root){animation:.42s var(--ease-out) both fold-fade-in}:root[data-fold-morph]::view-transition-old(fold-canvas){animation:.14s ease-out both fold-fade-out}:root[data-fold-morph]::view-transition-new(fold-canvas){animation:.28s var(--ease-out) both fold-fade-in}@keyframes fold-fade-out{to{opacity:0}}@keyframes fold-fade-in{0%{opacity:0}}:root[data-fold-arrive] :is(.hero,.project-page,body>.mobile-project-header,body>main){animation:fold-arrive .42s var(--ease-out)}@keyframes fold-arrive{0%{opacity:.5}}
