@view-transition{navigation:auto}@font-face{font-family:'HND';src:url('/assets/fonts/HND-Regular.WOFF') format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'HND';src:url('/assets/fonts/HND-Medium.WOFF') format('woff');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'HND';src:url('/assets/fonts/HND-Bold.WOFF') format('woff');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'HND Fallback';src:local('Arial');ascent-override:92.8%;descent-override:30.1%;line-gap-override:0%;size-adjust:119.6%}:root{--bg:#eaeaea;--surface:#f5f5f5;--on-bg:#000000;--on-bg-2:rgba(0,0,0,0.55);--divider:rgba(0,0,0,0.12);--arrow-size:calc(1.5rem + 2px);--arrow-glyph:1.15rem;--arrow-nudge:0.235em;--accent:#444444;--accent-dim:#444444;--accent-hot:#000000;--scrim:rgba(0,0,0,0.1);--font:'HND','HND Fallback',system-ui,sans-serif;--font-serif:'Times New Roman',Times,serif;--nav-h:5vh;--gap:0vw;--pad:clamp(16px,4vw,52px);--mute-filter:grayscale(1) brightness(0.7);--mute-bloom:grayscale(1) brightness(0.7);--mute-opacity:0.18;--nav-ch-base:rgba(0,0,0,0.55);--nav-ch-bright:rgba(0,0,0,0.88)}html[data-focus="off"]{--mute-filter:none;--mute-bloom:;--mute-opacity:1}[data-theme="dark"]{color-scheme:dark;--bg:#0e0e0e;--surface:#181818;--on-bg:#f5f5f5;--on-bg-2:rgba(255,255,255,0.55);--divider:rgba(255,255,255,0.12);--accent:#999999;--accent-dim:#999999;--accent-hot:#ffffff;--nav-ch-base:rgba(255,255,255,0.55);--nav-ch-bright:rgba(255,255,255,1)}.theme-switching,.theme-switching *{transition:background-color 0.35s ease,color 0.35s ease,border-color 0.35s ease !important}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font);font-weight:400;font-style:normal;background:var(--bg);color:var(--on-bg);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;display:flex;flex-direction:column}.page-body{flex:1;display:flex;flex-direction:column}.page-body>.site-footer{margin-top:auto}.page-grid .page-body{padding-bottom:calc(var(--footer-reserve,0px) + var(--align-reserve,0px))}img,video,iframe{display:block;max-width:100%}iframe{border:0;outline:none}::selection{background:#adadad;color:#0e0e0e}::-moz-selection{background:#adadad;color:#0e0e0e}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:hover{background-image:linear-gradient(90deg,var(--accent-dim),var(--accent-hot),var(--accent-dim),var(--accent-hot),var(--accent-dim));background-size:200% 100%;background-repeat:repeat;-webkit-background-clip:text;background-clip:text;color:var(--accent-hot);-webkit-text-fill-color:transparent;animation:accent-sweep 1.1s linear infinite,accent-pulse 0.45s ease-in-out infinite}@keyframes accent-sweep{from{background-position:100% 0}to{background-position:0% 0}}@keyframes accent-pulse{0%,100%{opacity:1}50%{opacity:0.72}}.nav-links a:hover,.nav-logo:hover,.nav-reading:hover,.nav-view:hover,.site-footer a:hover,.project-card:hover,.gallery-item:hover{background-image:none;-webkit-text-fill-color:currentColor;animation:none;opacity:1}@media (prefers-reduced-motion:reduce){a:hover{animation:none;background-image:none;-webkit-text-fill-color:currentColor}}ul,ol{list-style:none}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}h1{font-size:1.2rem;font-weight:400;font-style:normal;letter-spacing:0.025rem}@media (max-width:768px){.page-body{padding-top:var(--nav-h)}.page-project .site-nav{position:relative}.page-project .page-body{padding-top:0}}.site-nav{position:relative;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--bg);border-bottom:1px solid var(--divider);z-index:200}@media (min-width:769px){.project-stills .hide-desktop{display:none}.page-grid .site-nav{position:fixed;top:0;left:0;right:0}.page-grid .page-body{padding-top:var(--nav-h)}}.nav-world{view-transition-name:nav-world}.nav-about{view-transition-name:nav-about}.nav-view{view-transition-name:nav-view}.nav-about{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--divider);border-radius:50%;flex-shrink:0}.nav-links a.nav-about{color:var(--on-bg)}.nav-about .icon-info{width:30px;height:30px;display:block}.nav-reading{display:none;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--divider);border-radius:50%;color:var(--on-bg);flex-shrink:0}.nav-reading .icon-book{width:14px;height:14px;display:block}.nav-reading .book-page{fill:var(--bg);opacity:0;transform-box:view-box;transform-origin:12px 12px}.nav-about-label{display:none}.nav-view{display:none;align-items:center;justify-content:center;position:relative;width:30px;height:30px;border:1px solid var(--divider);border-radius:50%;color:var(--on-bg);flex-shrink:0}.page-grid .nav-view{display:inline-flex}.nav-view svg{position:absolute;top:50%;left:50%;width:14px;height:14px;transform:translate(-50%,-50%);transition:opacity 0.34s ease}.nav-view .icon-viewcols{opacity:0}html:is([data-grid-cols="2"],[data-grid-cols="3"],[data-grid-cols="4"]) .nav-view .icon-viewgrid{opacity:0}html[data-grid-cols="2"] .nav-view .icon-viewcols-2,html[data-grid-cols="3"] .nav-view .icon-viewcols-3,html[data-grid-cols="4"] .nav-view .icon-viewcols-4{opacity:1}@media (max-width:768px){.nav-view .icon-viewcols path{display:none}}.nav-view:hover .vg-line{animation:nav-viewgrid-wave 1.2s ease-in-out infinite}.nav-view:hover .vg-line:nth-child(2){animation-delay:0.15s}.nav-view:hover .vg-line:nth-child(3){animation-delay:0.3s}.nav-view:hover .vg-line:nth-child(4){animation-delay:0.45s}@keyframes nav-viewgrid-wave{0%,100%{opacity:1}50%{opacity:0.3}}@media (prefers-reduced-motion:reduce){.nav-view:hover .vg-line{animation:none}}.nav-view.is-switching .icon-viewgrid{animation:nav-view-turn 0.5s cubic-bezier(0.33,1,0.68,1)}html:is([data-grid-cols="2"],[data-grid-cols="3"],[data-grid-cols="4"]) .nav-view.is-switching .icon-viewgrid{animation:none}html[data-grid-cols="2"] .nav-view.is-switching .icon-viewcols-2,html[data-grid-cols="3"] .nav-view.is-switching .icon-viewcols-3,html[data-grid-cols="4"] .nav-view.is-switching .icon-viewcols-4{animation:nav-view-turn 0.5s cubic-bezier(0.33,1,0.68,1)}@keyframes nav-view-turn{from{transform:translate(-50%,-50%) rotate(-90deg)}to{transform:translate(-50%,-50%) rotate(0deg)}}@media (prefers-reduced-motion:reduce){.nav-view.is-switching .icon-viewgrid,html[data-grid-cols="2"] .nav-view.is-switching .icon-viewcols-2,html[data-grid-cols="3"] .nav-view.is-switching .icon-viewcols-3,html[data-grid-cols="4"] .nav-view.is-switching .icon-viewcols-4{animation:none}.nav-view svg{transition:none}}.nav-about,.nav-reading,.nav-view,.theme-toggle{transition:border-color 0.15s ease}.nav-about:hover,.nav-reading:hover,.nav-view:hover,.theme-toggle:hover{border-color:var(--on-bg-2)}@media (prefers-reduced-motion:reduce){.nav-about,.nav-reading,.nav-view,.theme-toggle{transition:none}}.nav-logo{font-family:var(--font);font-weight:400;font-style:normal;font-size:1.2rem;letter-spacing:0.05rem;color:var(--on-bg)}.nav-logo:hover{text-decoration:none;color:var(--on-bg-2)}.nav-links{font-size:1.2rem;display:flex;align-items:center;letter-spacing:0.05rem;gap:4rem}.nav-links a{color:var(--on-bg);transition:color 0.15s;text-transform:uppercase}.nav-links a:hover{color:var(--on-bg-2);text-decoration:none}.nav-links a[aria-current="page"]{color:var(--on-bg)}.nav-logo .ch,.nav-world .ch{display:inline-block}@media (min-width:769px){.nav-logo:hover .ch{animation:nav-ch-pop 0.6s cubic-bezier(0.34,1.56,0.64,1) infinite,nav-ch-glow 0.6s cubic-bezier(0.34,1.56,0.64,1) infinite;animation-delay:calc(var(--i) * 0.045s),calc(var(--i) * 0.045s)}.nav-world{perspective:240px}.nav-world:hover .ch{animation:nav-ch-pageturn 0.7s cubic-bezier(0.45,0,0.55,1) infinite,nav-ch-glow 0.7s cubic-bezier(0.45,0,0.55,1) infinite;animation-delay:calc(var(--i) * 0.07s),calc(var(--i) * 0.07s)}.nav-about:hover .info-dot{animation:nav-info-pulse 0.9s ease-in-out infinite}.nav-reading:hover .book-page{animation:nav-book-turn 0.9s ease-in-out infinite}.nav-reading:hover .icon-book{animation:nav-icon-glow 0.9s ease-in-out infinite}}@keyframes nav-book-turn{0%{transform:rotateY(0deg);opacity:0}12%,78%{opacity:1}100%{transform:rotateY(-180deg);opacity:0}}@keyframes nav-ch-pop{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes nav-ch-pageturn{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}}@keyframes nav-ch-glow{0%,100%{color:var(--nav-ch-base)}50%{color:var(--nav-ch-bright)}}@keyframes nav-icon-glow{0%,100%{color:var(--on-bg)}50%{color:var(--nav-ch-base)}}@keyframes nav-info-pulse{0%,100%{opacity:1}50%{opacity:0.3}}@media (prefers-reduced-motion:reduce){.nav-logo:hover .ch,.nav-world:hover .ch,.nav-about:hover .info-dot,.nav-reading:hover .icon-book,.nav-reading:hover .book-page{animation:none}}.nav-actions{display:flex;align-items:center;gap:2.5rem}.paragraph-serif{font-family:var(--font-serif);font-style:normal}.paragraph-serif-ita{font-family:var(--font-serif);font-style:italic}@media (min-width:769px){:root{--nav-h:7vh}.site-nav{display:flex;justify-content:space-between}.nav-actions{display:contents}.nav-links{display:contents}.nav-world{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-about .nav-world,.page-reading .nav-world{position:absolute;top:50%;left:calc(var(--pad) + 3.125rem);transform:translateY(-50%)}.page-about{--nav-icon-edge:50%}.page-reading{--nav-icon-edge:26%}.site-nav .nav-about{position:absolute;top:50%;right:calc(var(--pad) + 30px + 0.6rem);transform:translateY(-50%)}.page-about .nav-about,.page-reading .nav-about{right:auto;left:calc(var(--nav-icon-edge) + var(--pad))}.site-nav .theme-toggle--nav{display:flex;position:absolute;top:50%;right:var(--pad);transform:translateY(-50%)}.page-about .theme-toggle--nav,.page-reading .theme-toggle--nav{display:flex;position:absolute;top:50%;right:var(--pad);transform-origin:center;animation:nav-theme-bloom 0.45s cubic-bezier(0.34,1.56,0.64,1) both}.page-about .nav-reading,.page-reading .nav-reading{display:flex;position:absolute;top:50%;left:calc((var(--nav-icon-edge) + 100%) / 2);transform-origin:center;animation:nav-book-bloom 0.45s cubic-bezier(0.34,1.56,0.64,1) 0.09s both}@keyframes nav-book-bloom{from{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes nav-theme-bloom{from{transform:translateY(-50%) scale(0);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.page-about .theme-toggle--nav,.page-reading .theme-toggle--nav{animation:none;transform:translateY(-50%)}.page-about .nav-reading,.page-reading .nav-reading{animation:none;transform:translate(-50%,-50%)}}}@media (min-width:769px){.site-nav:not(.site-nav--echo){.nav-about{--tip:"About"}.nav-reading{--tip:"Reading"}.theme-toggle--nav{--tip:"Switch"}}.site-nav:not(.site-nav--echo) :is(.nav-about,.nav-reading,.theme-toggle--nav)::after{content:var(--tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);padding:0.3rem 0.65rem;background:var(--on-bg);color:var(--bg);text-transform:none;-webkit-text-fill-color:currentColor;font-family:var(--font);font-size:0.75rem;line-height:1.2;letter-spacing:0.04rem;white-space:nowrap;border-radius:999px;pointer-events:none;opacity:0;transition:opacity 0.16s ease,transform 0.16s ease;z-index:10}.site-nav:not(.site-nav--echo) :is(.nav-about,.nav-reading,.theme-toggle--nav):is(:hover,:focus-visible)::after{opacity:1;transform:translateX(-50%) translateY(0)}@media (prefers-reduced-motion:reduce){.site-nav:not(.site-nav--echo) :is(.nav-about,.nav-reading,.theme-toggle--nav)::after{transform:translateX(-50%);transition:opacity 0.16s ease}}}.hero{position:relative;width:100%;height:calc(100svh - var(--nav-h));min-height:400px;overflow:hidden;background:#0a0a0a}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}@media (min-width:769px){html[data-grid-cols="2"] .project-grid:not(.project-grid--rows):not(.return-grid){grid-template-columns:repeat(2,1fr)}html[data-grid-cols="3"] .project-grid:not(.project-grid--rows):not(.return-grid){grid-template-columns:repeat(3,1fr)}html[data-grid-cols="4"] .project-grid:not(.project-grid--rows):not(.return-grid){grid-template-columns:repeat(4,1fr)}}.page-grid .project-grid--rows:not(.return-grid){display:none}html[data-view="rows"] .page-grid .project-grid--rows:not(.return-grid){display:grid}html[data-view="rows"] .page-grid .project-grid:not(.project-grid--rows):not(.return-grid){display:none}.project-card{position:relative;display:block;aspect-ratio:1.6180 / 1;overflow:hidden;background:var(--card-bg,var(--bg));color:inherit;transition:opacity 0.3s ease,transform 0.45s cubic-bezier(0.33,1,0.68,1)}.project-grid:not(.project-grid--rows){align-items:start;align-content:start}.project-grid:not(.project-grid--rows) .project-card.is-hint-mute{aspect-ratio:6.472 / 1;opacity:var(--mute-opacity)}.project-grid:not(.project-grid--rows) .project-card.is-hint-mute img{filter:var(--mute-filter)}.project-grid:not(.project-grid--rows) .project-card.is-hint-mute .blur-spot{--bloom-mute:var(--mute-bloom)}@property --row-rest{syntax:'<length>';inherits:true;initial-value:0px}@property --row-open{syntax:'<length>';inherits:true;initial-value:0px}@property --row-shrunk{syntax:'<length>';inherits:true;initial-value:0px}@property --row-hint{syntax:'<length>';inherits:true;initial-value:0px}@property --row-shrunk-far{syntax:'<length>';inherits:true;initial-value:0px}@property --row-taper{syntax:'<number>';inherits:true;initial-value:1}@property --row-depth{syntax:'<number>';inherits:false;initial-value:0}.project-grid--rows{grid-template-columns:1fr;--row-rest:var(--nav-h);--row-open:56vh;--row-shrunk:3.5vh;--row-shrunk-far:3.5vh;--row-taper:0.25;--row-hint:17.5vh;--row-nav-size:var(--arrow-size)}.project-grid--rows .project-card{aspect-ratio:auto;height:var(--row-rest);transition:height 0.7s cubic-bezier(0.65,0,0.35,1),opacity 1.1s ease}.project-grid--rows .project-card img{transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94),filter 1.1s ease}.project-grid--rows .project-card.is-cued,.project-grid--rows .project-card.is-touched{height:var(--row-open)}.project-grid--rows:has(.project-card.is-cued) .project-card:not(.is-cued):not(.is-passing),.project-grid--rows:has(.project-card.is-touched) .project-card:not(.is-touched):not(.is-passing),.project-grid--rows:has(.project-card.is-passing) .project-card:not(.is-passing):not(.is-cued){--row-fade:clamp(0,calc((var(--row-depth) - 1) * var(--row-taper)),1);height:calc(var(--row-shrunk) + (var(--row-shrunk-far) - var(--row-shrunk)) * var(--row-fade))}.project-grid--rows.is-expanding .project-card:not(.is-cued){pointer-events:none}.project-grid--rows .project-card:hover:not(.is-cued):not(.is-touched):not(.is-passing){height:var(--row-hint)}.project-grid--rows .project-card.is-idle-hint:not(.is-cued):not(.is-touched):not(.is-passing),.project-grid--rows .project-card.is-hint-match:not(.is-cued):not(.is-touched):not(.is-passing){height:var(--row-hint)}.project-grid--rows .project-card.is-hint-mute:not(.is-cued):not(.is-touched):not(.is-passing){height:1.75vh}.project-grid--rows .project-card.is-hint-mute,.project-grid--rows:has(.project-card:is(.is-cued,.is-touched)) .project-card:not(.is-cued):not(.is-touched):not(:hover):not(.is-idle-hint){opacity:var(--mute-opacity)}.project-grid--rows:has(.project-card:is(.is-cued,.is-touched)) .project-card:not(.is-cued):not(.is-touched):not(:hover):not(.is-idle-hint){transition-delay:0s,calc(var(--row-i,0) * 55ms)}.project-grid--rows:has(.project-card:is(.is-cued,.is-touched)) .project-card:not(.is-cued):not(.is-touched):not(:hover):not(.is-idle-hint) img{transition-delay:0s,calc(var(--row-i,0) * 55ms)}.project-grid--rows .project-card.is-hint-mute img,.project-grid--rows:has(.project-card:is(.is-cued,.is-touched)) .project-card:not(.is-cued):not(.is-touched):not(:hover):not(.is-idle-hint) img{filter:var(--mute-filter)}.project-grid--rows .project-card.is-hint-mute .blur-spot,.project-grid--rows:has(.project-card:is(.is-cued,.is-touched)) .project-card:not(.is-cued):not(.is-touched):not(:hover):not(.is-idle-hint) .blur-spot{--bloom-mute:var(--mute-bloom)}.project-grid--rows .project-card.is-passing{height:var(--row-hint)}.project-grid--rows:has(.project-card.is-passing) .project-card{transition-duration:0.22s;transition-timing-function:cubic-bezier(0.22,1,0.36,1)}@media (prefers-reduced-motion:reduce){.project-grid--rows .project-card,.project-grid--rows:has(.project-card.is-passing) .project-card{transition:none}}.project-grid--rows.no-anim .project-card,.project-grid--rows.no-anim:has(.project-card.is-passing) .project-card{transition:none}.project-grid--rows.no-anim .project-card *{transition:none !important}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94),filter 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.project-card:hover img,.project-card.is-touched img{transform:scale(1.05)}.project-grid--rows .project-card img{transform:none}.project-grid--rows .project-card img{height:calc(100% + 2px);margin-top:-1px}@property --slide-fade{syntax:'<percentage>';inherits:false;initial-value:0%}.project-grid--rows .project-card .row-slide{position:absolute;inset:0;z-index:1;pointer-events:none;transition:none;will-change:transform,opacity;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 var(--slide-fade,0%),#000 calc(100% - var(--slide-fade,0%)),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 var(--slide-fade,0%),#000 calc(100% - var(--slide-fade,0%)),transparent 100%)}.project-grid--rows .project-card .row-slide-img{position:absolute;inset:0;width:100%;height:calc(100% + 2px);margin-top:-1px;object-fit:cover;transition:none}.project-grid--rows .project-card .row-slide-soft{-webkit-mask-image:radial-gradient(ellipse 40% 48% at var(--s1x,26%) var(--s1y,34%),#000 0%,rgba(0,0,0,0.62) 46%,transparent 78%),radial-gradient(ellipse 32% 54% at var(--s2x,72%) var(--s2y,64%),#000 0%,rgba(0,0,0,0.58) 42%,transparent 76%),radial-gradient(ellipse 48% 32% at var(--s3x,50%) var(--s3y,14%),rgba(0,0,0,0.82) 0%,transparent 70%);mask-image:radial-gradient(ellipse 40% 48% at var(--s1x,26%) var(--s1y,34%),#000 0%,rgba(0,0,0,0.62) 46%,transparent 78%),radial-gradient(ellipse 32% 54% at var(--s2x,72%) var(--s2y,64%),#000 0%,rgba(0,0,0,0.58) 42%,transparent 76%),radial-gradient(ellipse 48% 32% at var(--s3x,50%) var(--s3y,14%),rgba(0,0,0,0.82) 0%,transparent 70%);will-change:transform,filter,opacity}.project-grid--rows .project-card.is-paging>img{transition:none;will-change:transform,filter,opacity;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 var(--slide-fade,0%),#000 calc(100% - var(--slide-fade,0%)),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 var(--slide-fade,0%),#000 calc(100% - var(--slide-fade,0%)),transparent 100%)}.blur-spot{position:absolute;inset:0;z-index:1;pointer-events:none;background-size:cover;background-position:center;--bloom-max:1;--bloom-filter:blur(36px) saturate(1.8) brightness(1.1);filter:var(--bloom-filter) var(--bloom-mute,);-webkit-mask-image:radial-gradient(circle at var(--bx,50%) var(--by,50%),black 0%,rgba(0,0,0,0.88) 17.5%,transparent 70%);mask-image:radial-gradient(circle at var(--bx,50%) var(--by,50%),black 0%,rgba(0,0,0,0.88) 17.5%,transparent 70%);opacity:0;transition:opacity 3s ease-out;animation:blur-breathe 4.5s ease-in-out infinite;animation-play-state:paused}.project-card:hover .blur-spot,.project-card.is-touched .blur-spot{opacity:var(--bloom-max);transition:opacity 0.3s ease;animation-play-state:running}.project-grid--rows .project-card.is-idle-hint .blur-spot{opacity:var(--bloom-max);transition:opacity 0.75s ease-in;animation-play-state:running;-webkit-mask-image:radial-gradient(circle at 50% 50%,black 0%,rgba(0,0,0,0.88) 14%,transparent 56%),radial-gradient(circle at 84% 50%,black 0%,rgba(0,0,0,0.8) 12%,transparent 48%);mask-image:radial-gradient(circle at 50% 50%,black 0%,rgba(0,0,0,0.88) 14%,transparent 56%),radial-gradient(circle at 84% 50%,black 0%,rgba(0,0,0,0.8) 12%,transparent 48%)}.project-grid--rows .project-card.is-paging .blur-spot{opacity:0;transition:opacity 0.3s ease-out}@supports (background:-webkit-named-image(i)){.blur-spot{--bloom-max:0.62;--bloom-filter:blur(34px) saturate(1.35) brightness(1)}}@keyframes blur-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}.project-card-overlay{position:absolute;inset:0;z-index:2;background:var(--scrim);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(14px,2.5vw,28px);opacity:0;transition:opacity 0.22s ease}.project-card:hover .project-card-overlay,.project-card:focus-within .project-card-overlay,.project-card.is-touched .project-card-overlay{opacity:1}.project-grid--rows .project-card-overlay{padding:0 var(--pad)}.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-overlay{opacity:0}.project-grid--rows .project-card:hover:not(.is-cued):not(.is-touched) .project-card-overlay,.project-grid--rows .project-card.is-idle-hint:not(.is-cued):not(.is-touched) .project-card-overlay,.project-grid--rows .project-card.is-hint-match:not(.is-cued):not(.is-touched) .project-card-overlay,.project-grid--rows .project-card.is-cued .project-card-overlay{opacity:1}.project-card-title{color:#fff;font-size:1.2rem;letter-spacing:0.34rem;margin-right:-0.34rem;transition:letter-spacing 0.6s cubic-bezier(0.25,0.46,0.45,0.94),margin-right 0.6s cubic-bezier(0.25,0.46,0.45,0.94);font-weight:400;line-height:1.15;text-align:center;text-transform:uppercase}.project-card:hover .project-card-title,.project-card:focus-within .project-card-title,.project-card.is-touched .project-card-title{letter-spacing:var(--title-draw,0.135rem);margin-right:calc(-1 * var(--title-draw,0.135rem))}.project-card-title-rows{--title-spread:clamp(0.34rem,0.8vw,0.95rem);letter-spacing:var(--title-spread);margin-right:calc(-1 * var(--title-spread))}.project-grid--rows .project-card.is-cued .project-card-title-rows,.project-grid--rows .project-card.is-touched .project-card-title-rows,.project-grid--rows .project-card.is-idle-hint .project-card-title-rows,.project-grid--rows .project-card.is-hint-match .project-card-title-rows{letter-spacing:var(--title-draw,0.135rem);margin-right:calc(-1 * var(--title-draw,0.135rem))}.project-card-date{position:absolute;left:var(--pad);top:auto;bottom:50%;transform:translateY(50%);color:#fff;border:1px solid rgba(255,255,255,0.35);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);background:rgba(255,255,255,0.10);padding:0.3rem 0.65rem;font-size:0.75rem;font-weight:400;line-height:1.2;text-align:left;text-transform:uppercase;letter-spacing:0.07rem;opacity:0;transition:opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),bottom 0.6s cubic-bezier(0.25,0.46,0.45,0.94),transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94),font-size 0.6s cubic-bezier(0.25,0.46,0.45,0.94),padding 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.project-grid--rows .project-card:hover .project-card-date,.project-grid--rows .project-card.is-cued .project-card-date,.project-grid--rows .project-card.is-touched .project-card-date,.project-grid--rows .project-card.is-idle-hint .project-card-date,.project-grid--rows .project-card.is-hint-match .project-card-date{opacity:1}@media (prefers-reduced-motion:reduce){.project-card-date{transition:none}}.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-overlay{opacity:1}.project-grid:not(.project-grid--rows) .project-card.is-hint-mute .project-card-overlay{opacity:0}.project-grid:not(.project-grid--rows):has(.project-card.is-hint-match) .project-card-title{opacity:0;transition:opacity 0.4s ease,letter-spacing 0.6s cubic-bezier(0.25,0.46,0.45,0.94),margin-right 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-title,.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-date,.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-type{opacity:1}.project-grid:not(.project-grid--rows) .project-card:hover .project-card-date,.project-grid:not(.project-grid--rows) .project-card:focus-within .project-card-date,.project-grid:not(.project-grid--rows) .project-card.is-touched .project-card-date{opacity:1;transition:opacity 0.22s ease 0.12s}.project-grid:not(.project-grid--rows) .project-card:hover .project-card-type,.project-grid:not(.project-grid--rows) .project-card:focus-within .project-card-type,.project-grid:not(.project-grid--rows) .project-card.is-touched .project-card-type{opacity:1;transition:opacity 0.22s ease 0.2s}@media (prefers-reduced-motion:reduce){.project-grid:not(.project-grid--rows) .project-card:hover .project-card-date,.project-grid:not(.project-grid--rows) .project-card:hover .project-card-type,.project-grid:not(.project-grid--rows) .project-card:focus-within .project-card-date,.project-grid:not(.project-grid--rows) .project-card:focus-within .project-card-type,.project-grid:not(.project-grid--rows) .project-card.is-touched .project-card-date,.project-grid:not(.project-grid--rows) .project-card.is-touched .project-card-type{transition-delay:0s}}.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-title{transition-delay:0.05s;letter-spacing:0.135rem;margin-right:-0.135rem}.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-date{transition:opacity 0.4s ease 0.18s}.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-type{transition:opacity 0.4s ease 0.31s}@media (prefers-reduced-motion:reduce){.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-title,.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-date,.project-grid:not(.project-grid--rows) .project-card.is-hint-match .project-card-type{transition-delay:0s}}.project-grid:not(.project-grid--rows) .project-card-date,.project-grid:not(.project-grid--rows) .project-card-type{top:auto;bottom:clamp(14px,2.5vw,28px);transform:none;transition:opacity 0.22s ease}.project-grid:not(.project-grid--rows) .project-card-date{left:clamp(14px,2.5vw,28px)}.project-grid:not(.project-grid--rows) .project-card-type{right:clamp(14px,2.5vw,28px)}.project-card-type{position:absolute;right:var(--pad);top:auto;bottom:50%;transform:translateY(50%);color:#fff;border:1px solid rgba(255,255,255,0.35);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);background:rgba(255,255,255,0.10);padding:0.3rem 0.65rem;font-size:0.75rem;font-weight:400;line-height:1.2;text-align:right;letter-spacing:0.07rem;opacity:0;transition:opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),bottom 0.6s cubic-bezier(0.25,0.46,0.45,0.94),transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94),font-size 0.6s cubic-bezier(0.25,0.46,0.45,0.94),padding 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.project-grid--rows .project-card:hover .project-card-type,.project-grid--rows .project-card.is-cued .project-card-type,.project-grid--rows .project-card.is-touched .project-card-type,.project-grid--rows .project-card.is-idle-hint .project-card-type,.project-grid--rows .project-card.is-hint-match .project-card-type{opacity:1}@media (prefers-reduced-motion:reduce){.project-card-type{transition:none}}.row-nav{position:absolute;z-index:3;--nav-scale:0;width:var(--row-nav-size);height:var(--row-nav-size);display:inline-flex;pointer-events:none;align-items:center;justify-content:center;font-family:var(--font);font-size:var(--arrow-glyph);line-height:1;color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.35);border-radius:999px;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);background:rgba(255,255,255,0.10);padding-bottom:var(--arrow-nudge);cursor:pointer;user-select:none;opacity:0;transition:opacity 0.3s ease,transform 0.45s cubic-bezier(0.34,1.56,0.64,1),color 0.15s ease,border-color 0.15s ease}.row-nav--prev,.row-nav--next{top:50%;transform:translateY(-50%) scale(var(--nav-scale))}.row-nav--prev{left:var(--pad);--nav-pulse-delay:0.45s}.row-nav--next{right:var(--pad);--nav-pulse-delay:1.25s}.row-nav:hover{color:#fff;border-color:rgba(255,255,255,0.8)}@media (max-width:1024px){.row-nav::after{content:'';position:absolute;inset:min(0px,calc((var(--row-nav-size) - 44px) / 2))}}.row-nav--play{left:50%;bottom:var(--pad);--nav-pulse-delay:0.85s;transform:translateX(-50%) scale(var(--nav-scale));padding-bottom:0;font-size:calc(var(--arrow-glyph) * 0.6)}.row-nav--close{left:50%;top:var(--pad);transform:translateX(-50%) scale(var(--nav-scale));padding-bottom:0.038em;--nav-pulse-delay:0.85s}.row-nav--play::before{content:'';display:block;border-style:solid;border-width:0.32em 0 0.32em 0.52em;border-color:transparent transparent transparent currentColor;margin-left:0.1em}.row-nav--play.is-playing::before{border:0;margin-left:0;width:0.5em;height:0.62em;background:linear-gradient(to right,currentColor 0 34%,transparent 34% 66%,currentColor 66% 100%)}.project-grid--rows .project-card.is-cued .project-card-date,.project-grid--rows .project-card.is-touched .project-card-date,.project-grid--rows .project-card.is-cued .project-card-type,.project-grid--rows .project-card.is-touched .project-card-type{top:auto;bottom:var(--pad);transform:none}.project-grid--rows .project-card.is-cued .project-card-title,.project-grid--rows .project-card.is-touched .project-card-title{position:absolute;left:var(--pad);right:var(--pad);top:50%;transform:translateY(-50%);transition:letter-spacing 0.6s cubic-bezier(0.25,0.46,0.45,0.94),margin-right 0.6s cubic-bezier(0.25,0.46,0.45,0.94),top 0.6s cubic-bezier(0.25,0.46,0.45,0.94),transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.project-grid--rows .project-card.is-cued .row-nav,.project-grid--rows .project-card.is-touched .row-nav{pointer-events:auto;opacity:1;--nav-scale:1}@keyframes nav-pulse{0%,40%,100%{color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.35)}13%{color:#fff;border-color:rgba(255,255,255,0.95)}}.project-grid--rows:not(.is-expanding) .project-card.is-cued .row-nav,.project-grid--rows:not(.is-expanding) .project-card.is-touched .row-nav{animation:nav-pulse 1.2s ease-out 3;animation-delay:var(--nav-pulse-delay,0.45s)}.project-grid--rows.is-expanding .project-card .row-nav{opacity:0;--nav-scale:0}@media (prefers-reduced-motion:reduce){.row-nav{transition:none;animation:none}}.project-hero{background:var(--bg)}.project-hero,.project-description,.project-stills{--spacing:var(--spacing-vw,0);margin-bottom:var(--spacing)}.project-detail>.project-hero:first-child{margin-top:-1px}.video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;display:flex;align-items:center;justify-content:center}.video-wrap-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(50px);transform:scale(1.2);z-index:0}.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1}.video-wrap video{object-fit:cover}.video-wrap.ratio-4x5 iframe,.video-wrap.ratio-square iframe,.video-wrap.ratio-portrait iframe,.video-wrap.ratio-3x2 iframe,.video-wrap.ratio-2x3 iframe,.video-wrap.ratio-1x2 iframe{position:relative;inset:auto;width:auto;height:100%}.video-wrap.ratio-4x5 iframe{aspect-ratio:4 / 5}.video-wrap.ratio-square iframe{aspect-ratio:1 / 1}.video-wrap.ratio-portrait iframe{aspect-ratio:9 / 16}.video-wrap.ratio-3x2 iframe{aspect-ratio:3 / 2}.video-wrap.ratio-2x3 iframe{aspect-ratio:2 / 3}.video-wrap.ratio-1x2 iframe{aspect-ratio:1 / 2}.video-wrap.ratio-wide iframe{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2 / 1}.video-wrap.ratio-wide:has(>video){aspect-ratio:2 / 1}.video-wrap.ratio-3x2:has(>video){aspect-ratio:3 / 2}.video-wrap.ratio-4x5:has(>video){aspect-ratio:4 / 5}.video-wrap.ratio-2x3:has(>video){aspect-ratio:2 / 3}.video-wrap.ratio-square:has(>video){aspect-ratio:1 / 1}.video-wrap.ratio-portrait:has(>video){aspect-ratio:9 / 16}.video-wrap.ratio-1x2:has(>video){aspect-ratio:1 / 2}.video-wrap.natural{aspect-ratio:auto;height:auto;display:block}.video-wrap.natural video,.video-wrap.natural iframe{position:static;inset:auto;width:100%;height:auto}.video-wrap.natural iframe{aspect-ratio:16 / 9}@media (max-width:768px){.video-wrap.ratio-4x5{aspect-ratio:4 / 5}.video-wrap.ratio-square{aspect-ratio:1 / 1}.video-wrap.ratio-portrait{aspect-ratio:9 / 16}.video-wrap.ratio-wide{aspect-ratio:2 / 1}.video-wrap.ratio-3x2{aspect-ratio:3 / 2}.video-wrap.ratio-2x3{aspect-ratio:2 / 3}.video-wrap.ratio-1x2{aspect-ratio:1 / 2}.video-wrap.ratio-4x5 iframe,.video-wrap.ratio-square iframe,.video-wrap.ratio-portrait iframe,.video-wrap.ratio-wide iframe,.video-wrap.ratio-3x2 iframe,.video-wrap.ratio-2x3 iframe,.video-wrap.ratio-1x2 iframe,.video-wrap.ratio-4x5 video,.video-wrap.ratio-square video,.video-wrap.ratio-portrait video,.video-wrap.ratio-wide video,.video-wrap.ratio-3x2 video,.video-wrap.ratio-2x3 video,.video-wrap.ratio-1x2 video{position:absolute;inset:0;width:100%;height:100%}}.hero-still{display:block;width:100%;height:auto;object-fit:cover;background:var(--bg);aspect-ratio:16 / 9}.hero-still.ratio-wide{aspect-ratio:2 / 1}.hero-still.ratio-3x2{aspect-ratio:3 / 2}.hero-still.ratio-4x5{aspect-ratio:4 / 5}.hero-still.ratio-2x3{aspect-ratio:2 / 3}.hero-still.ratio-square{aspect-ratio:1 / 1}.hero-still.ratio-portrait{aspect-ratio:9 / 16}.hero-still.ratio-1x2{aspect-ratio:1 / 2}.hero-still.natural{aspect-ratio:auto}.project-info{padding:clamp(24px,4vw,55px) var(--pad) 0;max-width:860px}.project-title{font-size:1.2rem;line-height:1.05;margin-bottom:0.6em;text-transform:uppercase;letter-spacing:0.065rem}.project-description{padding:var(--pad);max-width:45vw;min-width:600px;font-size:1.2rem;line-height:1.5}@media (min-width:769px){.project-description{padding-top:calc(var(--pad) - 3vw)}}.project-description p + p{margin-top:1em}.project-description a{color:var(--accent)}.project-stills{display:grid;grid-template-columns:repeat(2,1fr);--cell-gap:var(--cell-gap-vw,0);gap:var(--cell-gap)}.project-stills.cols-1{grid-template-columns:1fr}.project-stills.cols-3{grid-template-columns:repeat(3,1fr)}.project-stills.cols-4{grid-template-columns:repeat(4,1fr)}.project-stills{--t1:100%;--t2:calc((100% - var(--cell-gap,0px)) / 2);--t3:calc((100% - 2 * var(--cell-gap,0px)) / 3);--t4:calc((100% - 3 * var(--cell-gap,0px)) / 4)}.project-stills.align-center,.project-stills.align-right{display:flex;flex-wrap:wrap}.project-stills.align-center{justify-content:center}.project-stills.align-right{justify-content:flex-end}.project-stills.align-center>*,.project-stills.align-right>*{flex:0 0 auto;width:var(--t2)}.project-stills.align-center.cols-1>*,.project-stills.align-right.cols-1>*{width:var(--t1)}.project-stills.align-center.cols-3>*,.project-stills.align-right.cols-3>*{width:var(--t3)}.project-stills.align-center.cols-4>*,.project-stills.align-right.cols-4>*{width:var(--t4)}.project-stills img{width:var(--item-width-vw,100%);height:auto;object-fit:cover;display:block;justify-self:start;align-self:start}.project-stills .ratio-landscape{aspect-ratio:16 / 9}.project-stills .ratio-wide{aspect-ratio:2 / 1}.project-stills .ratio-3x2{aspect-ratio:3 / 2}.project-stills .ratio-4x5{aspect-ratio:4 / 5}.project-stills .ratio-2x3{aspect-ratio:2 / 3}.project-stills .ratio-square{aspect-ratio:1 / 1}.project-stills .ratio-portrait{aspect-ratio:9 / 16}.project-stills .ratio-1x2{aspect-ratio:1 / 2}.project-stills video{width:var(--item-width-vw,100%);height:auto;object-fit:cover;display:block;background:var(--bg);justify-self:start;align-self:start}.project-stills .video-cell{position:relative;overflow:hidden;background:var(--bg);width:var(--item-width-vw,100%);justify-self:start;align-self:start}.project-stills .video-cell iframe{position:absolute;inset:0;width:100%;height:100%}.project-stills .text-cell{font-size:1.2rem;line-height:1.5;width:var(--item-width-vw,100%);justify-self:start;align-self:start}.project-hero,.project-stills{--pad-side-base:0px}.project-description,.project-texts{--pad-side-base:var(--pad)}.project-hero,.project-description,.project-stills{--pad-l:var(--pad-l-vw,var(--pad-side-base));--pad-r:var(--pad-r-vw,var(--pad-side-base));padding-left:var(--pad-l);padding-right:var(--pad-r)}.project-stills img,.project-stills video,.project-stills .video-cell,.project-stills .text-cell{transform:translateY(var(--item-offset-y,0px))}.project-stills .text-cell p + p{margin-top:1em}.project-stills .text-cell a{color:var(--accent)}.rv{opacity:0;transform:translateY(var(--rv-distance,28px))}.rv.rv-in{opacity:1;transform:none;transition:opacity var(--rv-duration,0.7s) cubic-bezier(0.25,0.46,0.45,0.94),transform var(--rv-duration,0.7s) cubic-bezier(0.25,0.46,0.45,0.94)}@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.rv.rv-in{transition:none}}.lightbox{position:fixed;inset:0;background:var(--bg);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.18s ease}.lightbox.open{opacity:1;pointer-events:all}.lightbox-img-wrap{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-img-wrap img{max-width:90vw;max-height:90vh;object-fit:contain}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;color:rgba(255,255,255,0.55);font-size:1.4rem;font-style:normal;font-weight:400;line-height:1;padding:1rem;transition:color 0.15s;user-select:none}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{color:#fff}.lightbox-close{top:clamp(8px,2vw,20px);right:clamp(8px,2vw,20px)}.lightbox-prev{left:clamp(4px,1.5vw,16px);top:50%;transform:translateY(-50%)}.lightbox-next{right:clamp(4px,1.5vw,16px);top:50%;transform:translateY(-50%)}.about-section{display:grid;grid-template-columns:1fr 1fr}.about-wrap{padding:clamp(18px,3vw,80px) var(--pad);border-right:1px solid var(--divider)}.about-right{padding:clamp(18px,3vw,80px) var(--pad)}.about-wrap h1{font-size:clamp(1.2rem,3.5vw,2.2rem);line-height:1.15;margin-bottom:2em}.about-wrap h2{font-size:1.2rem;font-weight:400;font-style:normal;line-height:1.5;color:var(--on-bg);margin:2.8em 0 0.8em}.about-wrap p{font-size:1.2rem;line-height:1.5;margin-bottom:0.8em}.about-wrap ul{font-size:1.2rem;line-height:1.5}.about-wrap a{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1fr;gap:2rem;font-size:1.2rem;line-height:1.5}.contact-col{display:flex;flex-direction:column}.contact-col a{color:var(--accent);align-self:flex-start}.contact-col a:hover{text-decoration:underline}.tables-section{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 0 clamp(56px,112px);align-items:start;border-top:1px solid var(--divider)}.tables-section h2{font-size:1.2rem;font-weight:400;line-height:1.75;letter-spacing:0.05rem;color:var(--on-bg);margin:2.8em 0 0.8em}.tables-col>h2:first-child{margin-top:0.8em}.tables-col:first-child h2,.tables-col:first-child .data-table th,.tables-col:first-child .data-table td{padding-left:var(--pad)}.tables-col:first-child .data-table th:first-child,.tables-col:first-child .data-table td:first-child{width:calc(3.5rem + var(--pad));min-width:calc(3.5rem + var(--pad))}.tables-col:first-child{border-right:1px solid var(--divider)}.tables-col:last-child h2,.tables-col:last-child .data-table th,.tables-col:last-child .data-table td{padding-left:var(--pad)}.tables-col:last-child .data-table th:first-child,.tables-col:last-child .data-table td:first-child{width:calc(3.5rem + var(--pad));min-width:calc(3.5rem + var(--pad))}.tables-col:last-child .data-table th:last-child,.tables-col:last-child .data-table td:last-child{padding-right:var(--pad)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:0.5em;margin-bottom:1em}.data-table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.25}.data-table th{font-family:var(--font-serif);font-size:1rem;font-weight:400;color:var(--on-bg);text-align:left;padding:0.5em 1.2em 0.5em 0;white-space:nowrap;cursor:pointer;user-select:none}#th-exhibitions{padding-top:1vh;border-top:1px solid var(--divider)}td{font-size:1rem}.data-table th[aria-sort="none"]::after{content:'  ↕';opacity:0.3;font-size:1.00em}.data-table th[aria-sort="ascending"]::after{content:'  ↑';opacity:0.8;font-size:1.00em}.data-table th[aria-sort="descending"]::after{content:'  ↓';opacity:0.8;font-size:1.00em}.data-table td{font-family:var(--font-serif);padding:0.2em 0.2em 0.2em 0px;font-size:1rem;vertical-align:top}.data-table th:first-child,.data-table td:first-child{width:5.5rem;min-width:5.5rem;padding-right:1em}.data-table td:first-child{white-space:nowrap}.data-table--3col{table-layout:fixed}.data-table--3col th:nth-child(2),.data-table--3col td:nth-child(2){width:35%}.legal-wrap{padding:clamp(18px,3vw,80px) var(--pad);max-width:800px;font-size:1.2rem;line-height:1.5;margin-bottom:0.8em}.legal-wrap h1{font-size:1.2rem;line-height:1.15;margin-bottom:0.6em;letter-spacing:0.045rem}.legal-wrap h2{font-size:1rem;font-weight:400;font-style:normal;letter-spacing:0.2em;text-transform:uppercase;color:var(--on-bg-2);margin:2.5em 0 0.7em;padding-bottom:0.4em;border-bottom:1px solid var(--divider)}.legal-wrap p,.legal-wrap address{font-size:1.2rem;line-height:1.5;font-style:normal;margin-bottom:0.6em}.legal-wrap a{color:var(--accent)}.site-footer{position:relative;border-top:1px solid var(--divider);padding:clamp(14px,2.5vw,24px) var(--pad);display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem;font-size:0.75rem;letter-spacing:0.05rem;;font-weight:400;font-style:normal;color:var(--on-bg-2)}.site-footer a{color:var(--on-bg-2);transition:color 0.15s}.site-footer a:hover{color:var(--on-bg);text-decoration:none}.page-grid .site-footer{position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--bg)}.footer-links{display:flex;gap:1.8rem}.footer-right{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-left:auto}.footer-filters{display:none;align-items:center;gap:0.5rem;flex-wrap:wrap}.page-grid .footer-filters{display:flex}.footer-cols-btn{font-family:var(--font);font-size:0.75rem;line-height:1.2;letter-spacing:0.07rem;color:var(--on-bg-2);background:transparent;border:1px solid var(--divider);border-radius:999px;padding:0.3rem 0.65rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease}.footer-cols-btn:hover{color:var(--on-bg);border-color:var(--on-bg-2)}.site-footer .nav-view{flex-shrink:0;width:var(--arrow-size);height:var(--arrow-size)}.site-footer .nav-view svg{width:12px;height:12px}.footer-columns{display:none;align-items:center}.page-grid .footer-columns{display:flex}.footer-filter-btn,.footer-year-btn{font-family:var(--font);font-size:0.75rem;line-height:1.2;letter-spacing:0.07rem;color:var(--on-bg-2);background:transparent;border:1px solid var(--divider);border-radius:999px;padding:0.3rem 0.65rem;cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease}.footer-filter-btn:hover,.footer-year-btn:hover{color:var(--on-bg);border-color:var(--on-bg-2)}.footer-filter-btn.is-on,.footer-year-btn.is-on{color:var(--on-bg);border-color:var(--on-bg-2)}.footer-years{display:inline-flex;align-items:center;gap:0;border:1px solid var(--divider);border-radius:999px;transition:border-color 0.15s ease}.footer-years:hover{border-color:var(--on-bg-2)}.footer-years:has(.footer-year-btn.is-on){border-color:var(--on-bg-2)}.footer-years .footer-year-arrow,.footer-years .footer-year-btn{border:0;border-radius:0}.footer-year-arrow{font-family:var(--font);font-size:var(--arrow-glyph);line-height:1;color:var(--on-bg-2);background:transparent;border:1px solid var(--divider);border-radius:999px;width:var(--arrow-size);height:var(--arrow-size);display:inline-flex;align-items:center;justify-content:center;padding-bottom:var(--arrow-nudge);cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease}.footer-year-arrow:hover:not(:disabled){color:var(--on-bg);border-color:var(--on-bg-2)}.footer-year-arrow:disabled{cursor:default}.site-footer .nav-view{order:1}.site-footer .footer-right{order:3}.theme-toggle{display:flex;align-items:center;justify-content:center;position:relative;width:30px;height:30px;border:1px solid var(--divider);border-radius:50%;padding:0;color:var(--on-bg);flex-shrink:0}.theme-toggle--nav{display:none}.theme-toggle svg{position:absolute;top:50%;left:50%;width:14px;height:14px;transition:opacity 0.2s ease,transform 0.2s ease}.theme-toggle .icon-moon{opacity:0}.theme-toggle .icon-sun{opacity:1;transform:translate(-50%,-50%)}.theme-toggle .icon-sun circle,.theme-toggle .icon-sun path,.theme-toggle .icon-moon path{transform-box:view-box;transform-origin:12px 12px}.theme-toggle:hover .icon-sun path{animation:sun-rays-turn 2.4s linear infinite,sun-rays-twinkle 0.9s ease-in-out infinite}.theme-toggle:hover .icon-sun circle{animation:sun-core-pulse 0.9s ease-in-out infinite}.theme-toggle:hover .icon-moon path{animation:moon-rock 1.6s ease-in-out infinite}.theme-toggle:hover .icon-sun{animation:nav-icon-glow 0.9s ease-in-out infinite}.theme-toggle:hover .icon-moon{animation:nav-icon-glow 1.6s ease-in-out infinite}@keyframes sun-rays-turn{from{rotate:0deg}to{rotate:45deg}}@keyframes sun-rays-twinkle{0%,100%{opacity:1}50%{opacity:0.35}}@keyframes sun-core-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes moon-rock{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@media (prefers-reduced-motion:reduce){.theme-toggle:hover .icon-sun path,.theme-toggle:hover .icon-sun circle,.theme-toggle:hover .icon-moon path,.theme-toggle:hover .icon-sun,.theme-toggle:hover .icon-moon{animation:none}}@media (max-width:768px){.page-grid .footer-columns{display:none}.footer-years{display:none}.project-grid--rows .project-card:not(.is-cued):not(.is-touched){--title-draw:clamp(0.02rem,0.29vw,0.135rem)}.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-title-rows{font-size:clamp(0.7rem,2.85vw,1rem);white-space:nowrap}.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-date,.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-type{font-size:clamp(0.5rem,1.82vw,0.75rem);padding:0.2rem clamp(0.28rem,1.1vw,0.65rem);letter-spacing:clamp(0.02rem,0.12vw,0.07rem)}.project-grid--rows{--row-open:100vw}.site-nav{position:fixed;top:0;left:0;right:0}.nav-actions{margin-left:0;flex:1;display:flex;align-items:center;gap:0.75rem}.theme-toggle--nav{display:flex;position:relative;order:1}.nav-links{order:3;margin-left:auto}.nav-logo{position:absolute;left:50%;transform:translateX(-50%);z-index:200}.nav-links li:has(.nav-world){display:none}.nav-links{position:static;flex-direction:row;align-items:center;gap:0;background:none;border-bottom:0;padding:0;transform:none;opacity:1;pointer-events:auto;transition:none}.nav-links li{width:auto;border:0}.nav-links li:first-child{border-top:0}.nav-links a{display:inline-flex;padding:0;font-size:inherit}.nav-about .icon-info{display:inline}.nav-about-label{display:none}.project-description{max-width:100vw;min-width:300px}.about-section{grid-template-columns:1fr}.about-wrap{border-right:none}.about-right{border-top:1px solid var(--divider)}.tables-section{grid-template-columns:1fr}.tables-col:first-child{border-right:none}.tables-col:last-child{border-top:1px solid var(--divider);margin-top:18px}.project-grid{grid-template-columns:1fr}.project-hero,.project-description,.project-stills{--spacing:var(--spacing-mobile)}.project-stills{--cell-gap:var(--cell-gap-mobile)}.project-hero,.project-description,.project-stills{--pad-l:var(--pad-l-mob,var(--pad-side-base));--pad-r:var(--pad-r-mob,var(--pad-side-base))}.project-stills img,.project-stills video,.project-stills .video-cell,.project-stills .text-cell{width:var(--item-width-mobile,100%)}.project-stills .hide-mobile{display:none}.project-stills.cols-mobile-1{grid-template-columns:1fr}.project-stills.cols-mobile-2{grid-template-columns:repeat(2,1fr)}.project-stills.cols-mobile-3{grid-template-columns:repeat(3,1fr)}.project-stills.cols-mobile-4{grid-template-columns:repeat(4,1fr)}.project-stills.align-center.cols-mobile-1>*,.project-stills.align-right.cols-mobile-1>*{width:var(--t1)}.project-stills.align-center.cols-mobile-2>*,.project-stills.align-right.cols-mobile-2>*{width:var(--t2)}.project-stills.align-center.cols-mobile-3>*,.project-stills.align-right.cols-mobile-3>*{width:var(--t3)}.project-stills.align-center.cols-mobile-4>*,.project-stills.align-right.cols-mobile-4>*{width:var(--t4)}.legal-wrap{font-size:1rem}h1,.nav-logo,.project-card-title,.project-title,.project-description,.project-stills .text-cell,.about-wrap h2,.about-wrap p,.about-wrap ul,.contact-grid,.tables-section h2{font-size:1rem}}@media (max-width:420px){.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-date{left:8px}.project-grid--rows .project-card:not(.is-cued):not(.is-touched) .project-card-type{right:8px}}@media (max-width:480px){:root{--pad:14px}.site-footer{flex-direction:row;align-items:center;gap:0.35rem}.footer-right{margin-left:auto;gap:0.35rem}.footer-copy-mark{display:none}.contact-grid{grid-template-columns:1fr}.data-table th{padding:0.4em 0.8em 0.4em 0}.data-table td{padding:0.45em 0.8em 0.45em 0}.data-table th:first-child,.data-table td:first-child{width:4.5rem;min-width:4.5rem;padding-right:1em}}.return-zone{position:relative;background:var(--bg)}.return-zone--rows{display:none}html[data-view="rows"] .return-zone--grid{display:none}html[data-view="rows"] .return-zone--rows{display:block}.site-nav--echo{z-index:1;border-bottom-color:transparent}.site-nav--echo .nav-world,.site-nav--echo .nav-about,.site-nav--echo .nav-view{view-transition-name:none}.rz-handover .site-nav:not(.site-nav--echo) .nav-world,.rz-handover .site-nav:not(.site-nav--echo) .nav-about,.rz-handover .site-nav:not(.site-nav--echo) .nav-view{view-transition-name:none}.rz-handover .site-nav--echo .nav-world{view-transition-name:nav-world}.rz-handover .site-nav--echo .nav-about{view-transition-name:nav-about}.rz-handover .site-nav--echo .nav-view{view-transition-name:nav-view}@media (min-width:769px){.site-nav--echo .nav-logo:hover .ch,.site-nav--echo .nav-world:hover .ch{animation:nav-ch-dissolve 0.9s ease-in-out infinite;animation-delay:calc(var(--i) * 0.09s)}}@keyframes nav-ch-dissolve{0%,100%{color:var(--nav-ch-base)}50%{color:var(--nav-ch-bright)}}@media (prefers-reduced-motion:reduce){.site-nav--echo .nav-logo:hover .ch,.site-nav--echo .nav-world:hover .ch{animation:none}}.return-grid-clip{overflow:hidden;transform:translateY(var(--lift,0px));will-change:transform;min-height:100vh;border-top:1px solid var(--divider);margin-top:-1px;position:relative;z-index:2}.return-grid{filter:blur(var(--blur,0px));transform:translateY(calc(-1 * var(--return-y,0px))) scale(var(--gscale,1));transform-origin:center center;opacity:var(--rzo,1);will-change:filter,transform,opacity}.return-zone.is-committing .return-grid-clip{transform:none}.return-zone.is-committing .return-grid{filter:none;transform:translateY(calc(-1 * var(--return-y,0px)));opacity:1}@media (max-width:768px){.site-nav--echo{position:relative}}@media (prefers-reduced-motion:reduce){.return-grid-clip{transform:none}.return-grid{filter:none;transform:translateY(calc(-1 * var(--return-y,0px)));opacity:1}}@media (max-width:768px){.project-stills .ratio-m-landscape{aspect-ratio:16 / 9}.project-stills .ratio-m-wide{aspect-ratio:2 / 1}.project-stills .ratio-m-3x2{aspect-ratio:3 / 2}.project-stills .ratio-m-4x5{aspect-ratio:4 / 5}.project-stills .ratio-m-2x3{aspect-ratio:2 / 3}.project-stills .ratio-m-square{aspect-ratio:1 / 1}.project-stills .ratio-m-portrait{aspect-ratio:9 / 16}.project-stills .ratio-m-1x2{aspect-ratio:1 / 2}.hero-still.ratio-m-landscape{aspect-ratio:16 / 9}.hero-still.ratio-m-wide{aspect-ratio:2 / 1}.hero-still.ratio-m-3x2{aspect-ratio:3 / 2}.hero-still.ratio-m-4x5{aspect-ratio:4 / 5}.hero-still.ratio-m-2x3{aspect-ratio:2 / 3}.hero-still.ratio-m-square{aspect-ratio:1 / 1}.hero-still.ratio-m-portrait{aspect-ratio:9 / 16}.hero-still.ratio-m-1x2{aspect-ratio:1 / 2}.video-wrap.ratio-m-landscape{aspect-ratio:16 / 9}.video-wrap.ratio-m-wide{aspect-ratio:2 / 1}.video-wrap.ratio-m-3x2{aspect-ratio:3 / 2}.video-wrap.ratio-m-4x5{aspect-ratio:4 / 5}.video-wrap.ratio-m-2x3{aspect-ratio:2 / 3}.video-wrap.ratio-m-square{aspect-ratio:1 / 1}.video-wrap.ratio-m-portrait{aspect-ratio:9 / 16}.video-wrap.ratio-m-1x2{aspect-ratio:1 / 2}.video-wrap.ratio-m-landscape iframe{aspect-ratio:16 / 9}.video-wrap.ratio-m-wide iframe{aspect-ratio:2 / 1}.video-wrap.ratio-m-3x2 iframe{aspect-ratio:3 / 2}.video-wrap.ratio-m-4x5 iframe{aspect-ratio:4 / 5}.video-wrap.ratio-m-2x3 iframe{aspect-ratio:2 / 3}.video-wrap.ratio-m-square iframe{aspect-ratio:1 / 1}.video-wrap.ratio-m-portrait iframe{aspect-ratio:9 / 16}.video-wrap.ratio-m-1x2 iframe{aspect-ratio:1 / 2}.video-wrap.ratio-m-landscape:has(>video){aspect-ratio:16 / 9}.video-wrap.ratio-m-wide:has(>video){aspect-ratio:2 / 1}.video-wrap.ratio-m-3x2:has(>video){aspect-ratio:3 / 2}.video-wrap.ratio-m-4x5:has(>video){aspect-ratio:4 / 5}.video-wrap.ratio-m-2x3:has(>video){aspect-ratio:2 / 3}.video-wrap.ratio-m-square:has(>video){aspect-ratio:1 / 1}.video-wrap.ratio-m-portrait:has(>video){aspect-ratio:9 / 16}.video-wrap.ratio-m-1x2:has(>video){aspect-ratio:1 / 2}}@media (max-width:768px){.project-grid--rows .project-card:has(.row-nav--play.is-playing) .blur-spot{opacity:0;transition:opacity 0.45s ease}}