@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Ancizar Serif;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/47bf2ba1ba303e36.03cbb5lki4woj.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Ancizar Serif;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/717ec94a466145e2.204jazxha8s6z.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ancizar Serif;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/118bc44ff19c5d52.p.2e0-5jwz77jqb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ancizar_serif_1cf9c21f-module__nUOYnq__className{font-family:Ancizar Serif;font-style:normal}.ancizar_serif_1cf9c21f-module__nUOYnq__variable{--font-ancizar:"Ancizar Serif"}
:root{--paper:#eee;--paper-bright:#f7f7f4;--graphite:#282f35;--ink:#282e34;--mineral:#b3bcc4;--mist:#dfe6eb;--rule:color-mix(in srgb, var(--ink) 18%, transparent);--page:clamp(1rem, 2.6vw, 2.75rem);--ease-out:cubic-bezier(.22, 1, .36, 1)}@property --menu-reveal{syntax:"<length>";inherits:false;initial-value:0}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--font-ancizar), Georgia, serif;margin:0;font-size:1rem;line-height:1.5}body,a,button{-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.06em}button{color:inherit;font:inherit}img{max-width:100%}svg{width:1rem;height:1rem;display:block}::selection{background:var(--mineral);color:var(--graphite)}.page-shell{padding-inline:var(--page)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--mist);color:var(--graphite);font-family:var(--font-inter), sans-serif;padding:.65rem .9rem;font-size:.75rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline-offset:3px;outline:2px solid #3975a3}.site-atmosphere{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.site-atmosphere-shadow{opacity:.35;mix-blend-mode:multiply;filter:blur(5px);background:url(/textures/blind-shadow.svg) 50% 8%/max(100rem,112vw) no-repeat;position:absolute;inset:-6vmax;transform:translate(0,0)}.site-atmosphere-grain{opacity:.028;mix-blend-mode:multiply;background:url(/textures/fine-grain.svg) 0 0/10rem 10rem;position:absolute;inset:-12%}body:has(.project-viewer) .site-atmosphere{display:none}.desktop-nav-shell{z-index:100;isolation:isolate;width:max-content;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.desktop-nav-shell:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:999px;position:absolute;inset:-1.35rem -1.7rem;-webkit-mask-image:radial-gradient(#000 18%,#000000c7 46%,#0000 78%);mask-image:radial-gradient(#000 18%,#000000c7 46%,#0000 78%)}.site-header{border:1px solid var(--rule);background:color-mix(in srgb, var(--paper-bright) 91%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:max-content;min-height:3rem;font-family:var(--font-inter), sans-serif;border-radius:999px;align-items:center;gap:1.5rem;padding:.35rem .45rem .35rem 1rem;display:flex;box-shadow:0 .35rem 1.5rem #151b1f14}.desktop-back-button{border:1px solid var(--rule);background:color-mix(in srgb, var(--paper-bright) 91%, transparent);width:3rem;height:3rem;color:var(--graphite);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease, transform .48s var(--ease-out), visibility 0s linear .48s;isolation:isolate;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:calc(100% + .55rem);transform:translate(.75rem,-50%)scale(.82);box-shadow:0 .35rem 1.5rem #151b1f14}.desktop-back-button:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50%;position:absolute;inset:-1.25rem;-webkit-mask-image:radial-gradient(circle,#000 18%,#000000c7 48%,#0000 80%);mask-image:radial-gradient(circle,#000 18%,#000000c7 48%,#0000 80%)}.desktop-back-button[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease, transform .55s var(--ease-out), visibility 0s;transform:translateY(-50%)scale(1)}.desktop-back-button:hover{background:var(--graphite);color:var(--mist)}.desktop-back-button svg{width:1.05rem;height:1.05rem}.wordmark{letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;text-decoration:none}.wordmark strong{font-weight:700}.desktop-nav ul{align-items:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.desktop-nav a{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.55rem .8rem;font-size:.7rem;text-decoration:none;display:block}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{background:var(--graphite);color:var(--mist)}.mobile-nav-controls,.mobile-menu{display:none}.home-intro{z-index:0;min-height:100svh;position:sticky;top:0}.home-intro-layout{flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,4vh,2.5rem);min-height:100svh;padding-top:7rem;padding-bottom:clamp(3rem,6vw,5rem);display:flex}.home-name{text-align:left;width:100%}.home-intro h1{width:max-content;max-width:100%;font-family:var(--font-inter), sans-serif;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:1}.home-intro h1 strong{font-weight:700}.home-role,.page-kicker{font-family:var(--font-inter), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:.8rem 0 0;font-size:.66rem}.home-role{width:max-content;max-width:100%}.home-about{width:100%;max-width:38rem;margin:0;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.35}.home-name-content{animation:home-intro-content-fade .8s 80ms var(--ease-out) both}.home-about-content{display:block}.home-about-word{animation:home-intro-content-fade .55s var(--ease-out) both;display:inline-block}.home-about a{font-family:var(--font-inter), sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.68em}.home-about a .home-about-word{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:.06em}.scroll-indicator{left:50%;bottom:max(1.25rem, env(safe-area-inset-bottom));font-family:var(--font-inter), sans-serif;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;font-size:.66rem;font-weight:600;display:flex;position:absolute;transform:translate(-50%)}.scroll-indicator-rule{background:color-mix(in srgb, currentColor 25%, transparent);width:1px;height:2.25rem;position:relative;overflow:hidden}.scroll-indicator-rule:after{content:"";animation:scroll-indicator-line 1.8s var(--ease-out) infinite;background:currentColor;position:absolute;inset:0}.home-intro[data-motion-ready=true] .home-intro-layout{grid-template-columns:.85fr 1.15fr;align-items:end;gap:8vw;height:48svh;min-height:0;display:grid}.home-intro[data-motion-ready=true] .home-name{text-align:left;will-change:transform}.home-intro[data-motion-ready=true] h1{transform-origin:0;will-change:transform;font-size:clamp(1.65rem,2.8vw,2.8rem)}.home-intro[data-motion-ready=true] .home-role,.home-intro[data-motion-ready=true] .home-about{will-change:transform}.home-work{z-index:1;background:var(--paper);padding-bottom:clamp(5rem,9vw,8rem);scroll-margin-top:5rem;position:relative}.home-work>h2{border-top:1px solid var(--ink);font-family:var(--font-inter), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;padding-top:1rem;font-size:.7rem;font-weight:500}.project-filters{scrollbar-width:none;gap:.4rem;margin:0 0 1.5rem;display:flex;overflow-x:auto}.project-filters button{border:1px solid var(--rule);font-family:var(--font-inter), sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:.45rem .72rem;font-size:.63rem}.project-filters button:hover{border-color:var(--ink)}.project-filters button[aria-pressed=true]{border-color:var(--graphite);background:var(--graphite);color:var(--mist)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(.8rem,1.5vw,1.5rem);display:grid}.project-card{min-width:0}.project-card-link{text-decoration:none;display:block}.project-card-image{aspect-ratio:4/3;background:var(--mineral);position:relative;overflow:hidden}.project-card-image img{object-fit:cover;filter:saturate(.82)contrast(1.02);transition:transform .55s var(--ease-out), filter .55s var(--ease-out)}.project-card-link:hover img{filter:saturate()contrast();transform:scale(1.018)}.project-card-copy{font-family:var(--font-inter), sans-serif;justify-content:space-between;gap:1rem;padding-top:.7rem;display:flex}.project-card-copy h3{letter-spacing:-.025em;margin:0;font-size:clamp(.9rem,1.25vw,1.1rem);font-weight:550;line-height:1.2}.project-card-copy p{letter-spacing:.06em;text-align:right;text-transform:uppercase;margin:.1rem 0 0;font-size:.6rem}.profile-page{padding-top:6.5rem;padding-bottom:7rem}.profile-hero{grid-template-columns:minmax(18rem,.8fr) 1.2fr;align-items:center;gap:clamp(2rem,7vw,8rem);max-width:86rem;margin:0 auto;display:grid}.profile-hero-image{aspect-ratio:4/5;background:var(--mineral);max-height:72svh;position:relative;overflow:hidden}.profile-hero-image img{object-fit:cover;filter:saturate(.72)}.profile-hero-copy{max-width:35rem}.profile-hero-copy .page-kicker{margin:0 0 1.25rem}.profile-hero-copy h1,.contact-page h1{font-family:var(--font-inter), sans-serif;letter-spacing:-.055em;margin:0;font-size:clamp(2.1rem,4vw,3.5rem);font-weight:560;line-height:1}.profile-role{font-family:var(--font-inter), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:.7rem 0 1.5rem;font-size:.65rem}.profile-lede{margin:0;font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.45}.profile-links,.contact-links{font-family:var(--font-inter), sans-serif;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:1.25rem;margin-top:1.75rem;font-size:.68rem;display:flex}.profile-links a,.contact-links a{align-items:center;gap:.35rem;display:inline-flex}.profile-links svg,.contact-links svg{width:.85rem;height:.85rem}.profile-links .profile-cv-button{border:1px solid var(--graphite);background:var(--graphite);min-height:2.6rem;color:var(--mist);border-radius:999px;margin-top:-.75rem;padding:.7rem 1rem;text-decoration:none}.profile-links .profile-cv-button:hover{color:var(--graphite);background:0 0}.profile-links .profile-cv-button:active{transform:translateY(1px)}.profile-details{grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,9rem);max-width:86rem;margin:clamp(5rem,9vw,9rem) auto 0;display:grid}.profile-details section>h2{font-family:var(--font-inter), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.68rem;font-weight:500}.timeline article,.education-list article{border-top:1px solid var(--rule);align-items:baseline;gap:1rem;padding:.9rem 0;display:grid}.timeline article{grid-template-columns:8rem 1fr}.education-list article{grid-template-columns:6rem 1fr}.timeline p,.education-list p{font-family:var(--font-inter), sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.64rem}.timeline h3,.education-list h3{font-family:var(--font-inter), sans-serif;margin:0;font-size:.9rem;font-weight:500;line-height:1.35}.education-list article>p:last-child{color:color-mix(in srgb, var(--ink) 72%, transparent);text-transform:none;grid-column:2;margin-top:-.6rem}.contact-page{min-height:78svh;padding-top:clamp(8rem,16vh,12rem);padding-bottom:6rem}.contact-page .page-kicker{margin:0 0 1.25rem}.contact-page>p:not(.page-kicker){max-width:31rem;margin:1.5rem 0 2.5rem;font-size:1.15rem}.contact-primary{font-family:var(--font-inter), sans-serif;letter-spacing:-.04em;border-bottom:1px solid;font-size:clamp(1.35rem,3vw,2.5rem);text-decoration:none}.contact-links{align-items:center;margin-top:3rem}body:has(.project-viewer){overflow:hidden}body:has(.project-viewer) main{height:100svh}body:has(.project-viewer) .site-footer{display:none}.project-viewer{background:var(--paper);grid-template-columns:minmax(17rem,25%) 1fr;height:100svh;display:grid;overflow:hidden}.project-information-desktop{border-right:1px solid var(--rule);min-width:0;height:100%;padding:5.5rem 1.5rem 1.5rem;overflow-y:auto}.project-information{flex-direction:column;min-height:100%;display:flex}.project-information-category,.project-information-meta p{font-family:var(--font-inter), sans-serif;letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.61rem}.project-information h1{font-family:var(--font-inter), sans-serif;letter-spacing:-.055em;overflow-wrap:anywhere;margin:.7rem 0 1rem;font-size:clamp(1.7rem,2.8vw,2.8rem);font-weight:560;line-height:.98}.project-information-meta{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.35rem 1rem;padding-bottom:1.5rem;display:flex}.project-information-copy{padding-top:1.5rem;font-size:.95rem}.project-information-summary{margin:0 0 1.2rem;font-size:1.15rem;line-height:1.3}.project-information-copy>p:not(.project-information-summary){margin:0}.project-information-copy ul{border-top:1px solid var(--rule);margin:1.5rem 0;padding:0;list-style:none}.project-information-copy li{border-bottom:1px solid var(--rule);font-family:var(--font-inter), sans-serif;letter-spacing:.055em;text-transform:uppercase;padding:.55rem 0;font-size:.59rem}.project-information-next{font-family:var(--font-inter), sans-serif;flex-direction:column;gap:.25rem;margin-top:auto;padding-top:2rem;text-decoration:none;display:flex}.project-information-next span{letter-spacing:.07em;text-transform:uppercase;font-size:.58rem}.project-information-next strong{font-size:.9rem;font-weight:520}.project-document-view{background:#d8d9d9;min-width:0;height:100%;position:relative;overflow:hidden}.project-pdf-pages{overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-gutter:stable;gap:1rem;height:100%;padding:1rem;display:grid;overflow-y:auto}.project-pdf-page{width:var(--document-zoom-width,100%);height:calc(var(--document-page-height,100svh) - 2rem);scroll-snap-align:start;background:#fff;margin:0;position:relative;box-shadow:0 .2rem 1.25rem #14181c14}.project-pdf-page img{object-fit:contain}.document-zoom-controls{z-index:5;border:1px solid color-mix(in srgb, var(--mist) 35%, transparent);background:color-mix(in srgb, var(--graphite) 94%, transparent);min-height:2.5rem;color:var(--mist);font-family:var(--font-inter), sans-serif;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;grid-template-columns:2.5rem 3.25rem 2.5rem;align-items:center;display:grid;position:absolute;top:1rem;right:1rem;box-shadow:0 .5rem 1.5rem #14181c2e}.document-zoom-controls button{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.document-zoom-controls button:hover:not(:disabled){background:color-mix(in srgb, var(--mist) 12%, transparent)}.document-zoom-controls button:disabled{opacity:.35;cursor:default}.document-zoom-controls svg{width:1rem;height:1rem}.document-zoom-controls output{letter-spacing:.04em;text-align:center;font-size:.62rem}.project-media-archive{scroll-snap-type:y proximity;height:100%;overflow-y:auto}.project-media-archive figure{scroll-snap-align:start;background:var(--paper-bright);height:100%;margin:0;position:relative}.project-media-archive img{object-fit:contain}.project-information-drawer{display:none}.not-found{min-height:75svh;padding-top:10rem}.not-found>p{font-family:var(--font-inter), sans-serif;margin:0;font-size:.7rem}.not-found h1{font-family:var(--font-inter), sans-serif;letter-spacing:-.04em;margin:1rem 0 2rem;font-size:clamp(2rem,4vw,3.5rem)}.text-link{font-family:var(--font-inter), sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.site-footer{padding:1.25rem var(--page);border-top:1px solid var(--rule);font-family:var(--font-inter), sans-serif;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:2rem;font-size:.62rem;display:flex}.site-footer p{margin:0}.site-footer nav{gap:1.25rem;display:flex}@keyframes menu-enter{0%{opacity:0;transform:translate(-50%,1rem)scale(.82)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes scroll-indicator-line{0%{transform:translateY(-110%)}55%,72%{transform:translate(0,0)}to{transform:translateY(110%)}}@keyframes home-intro-content-fade{0%{opacity:0}to{opacity:1}}@keyframes home-intro-name-mobile{0%{transform:translateY(17svh)}to{transform:translate(0,0)}}@keyframes home-intro-title-mobile{0%{transform:scale(1.6)}to{transform:scale(1)}}@keyframes home-intro-role-mobile{0%{transform:translateY(1.25rem)}to{transform:translate(0,0)}}@keyframes home-intro-about-mobile{0%{transform:translateY(17svh)}to{transform:translate(0,0)}}@media (max-width:760px){body{padding-bottom:5.5rem}.desktop-nav-shell{display:none}.scroll-indicator{bottom:calc(5.25rem + max(1rem, env(safe-area-inset-bottom)))}.mobile-nav-controls{z-index:110;left:50%;bottom:max(1rem, env(safe-area-inset-bottom));animation:menu-enter .55s var(--ease-out) both;transition:bottom .68s var(--ease-out);isolation:isolate;align-items:center;gap:.45rem;display:flex;position:fixed;transform:translate(-50%)}.mobile-nav-controls[data-context=site]:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50%;position:absolute;inset:-1.4rem;-webkit-mask-image:radial-gradient(circle,#000 18%,#000000c2 50%,#0000 82%);mask-image:radial-gradient(circle,#000 18%,#000000c2 50%,#0000 82%)}.mobile-nav-controls:has(.mobile-back-button){bottom:calc(5.25rem + env(safe-area-inset-bottom))}body:has(.project-information-drawer[data-expanded=true]) .mobile-nav-controls{bottom:calc(75svh + .75rem)}.mobile-menu-trigger,.mobile-back-button{border:1px solid color-mix(in srgb, var(--mist) 35%, transparent);background:var(--graphite);color:var(--mist);font-family:var(--font-inter), sans-serif;cursor:pointer;border-radius:50%;place-items:center;padding:0;text-decoration:none;display:grid;box-shadow:0 .7rem 2rem #14181c33}.mobile-menu-trigger{letter-spacing:.06em;text-transform:uppercase;width:4.5rem;height:4.5rem;font-size:.65rem}.mobile-back-button{width:3.5rem;height:3.5rem}.mobile-back-button svg{width:1.1rem;height:1.1rem}.mobile-menu{--menu-control-bottom:max(1rem, env(safe-area-inset-bottom));--menu-control-x:50%;--menu-reveal:0px;z-index:120;padding:1.25rem var(--page) max(1.5rem, env(safe-area-inset-bottom));background:var(--graphite);color:var(--mist);visibility:hidden;pointer-events:none;-webkit-mask-image:radial-gradient(circle at var(--menu-control-x) calc(100% - var(--menu-control-bottom) - 2.25rem), #000 0 var(--menu-reveal), transparent calc(var(--menu-reveal) + 1px));-webkit-mask-image:radial-gradient(circle at var(--menu-control-x) calc(100% - var(--menu-control-bottom) - 2.25rem), #000 0 var(--menu-reveal), transparent calc(var(--menu-reveal) + 1px));mask-image:radial-gradient(circle at var(--menu-control-x) calc(100% - var(--menu-control-bottom) - 2.25rem), #000 0 var(--menu-reveal), transparent calc(var(--menu-reveal) + 1px));transition:--menu-reveal .48s var(--ease-out), visibility 0s linear .48s;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-menu[data-state=open]{--menu-reveal:150vmax;visibility:visible;pointer-events:auto;transition:--menu-reveal .78s var(--ease-out), visibility 0s}.mobile-menu-top{font-family:var(--font-inter), sans-serif;align-items:center;display:flex}.mobile-menu-top>a{text-transform:uppercase;font-size:.8rem;text-decoration:none}.mobile-menu-top button{z-index:1;left:var(--menu-control-x);bottom:var(--menu-control-bottom);border:1px solid color-mix(in srgb, var(--mist) 35%, transparent);background:var(--graphite);width:4.5rem;height:4.5rem;color:inherit;cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 .7rem 2rem #14181c33}.mobile-menu nav{flex:1;align-items:center;display:flex}.mobile-menu ol{width:100%;margin:0;padding:0;list-style:none}.mobile-menu li{border-top:1px solid color-mix(in srgb, var(--mist) 22%, transparent);opacity:0;transition:opacity .18s ease, transform .32s var(--ease-out);transform:translateY(1rem)}.mobile-menu[data-state=open] li{opacity:1;transform:translateY(0)}.mobile-menu[data-state=open] li:first-child{transition-delay:.24s}.mobile-menu[data-state=open] li:nth-child(2){transition-delay:.34s}.mobile-menu[data-state=open] li:nth-child(3){transition-delay:.44s}.mobile-menu li:last-child{border-bottom:1px solid color-mix(in srgb, var(--mist) 22%, transparent)}.mobile-menu li a{font-family:var(--font-inter), sans-serif;letter-spacing:-.05em;padding:.7rem 0;font-size:clamp(2rem,10vw,3.25rem);font-weight:500;line-height:1;text-decoration:none;display:block}.mobile-menu li a[aria-current=page]{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.mobile-menu-footer{font-family:var(--font-inter), sans-serif;font-size:.7rem}.home-intro-layout{grid-template-columns:1fr;align-content:end;align-items:end;gap:2.5rem;height:52svh;min-height:0;padding-top:3rem;display:grid}.home-intro h1{transform-origin:0;font-size:clamp(1.65rem,2.8vw,2.8rem)}.home-intro:not([data-motion-ready]) .home-name{transform:translateY(17svh)}.home-intro:not([data-motion-ready]) h1{transform:scale(1.6)}.home-intro:not([data-motion-ready]) .home-role{transform:translateY(1.25rem)}.home-intro:not([data-motion-ready]) .home-about{transform:translateY(17svh)}.home-intro[data-motion-ready=true] .home-intro-layout{grid-template-columns:1fr;align-content:end;gap:2.5rem;height:52svh;padding-top:3rem}.home-intro[data-motion-mode=native] .home-name,.home-intro[data-motion-mode=native] h1,.home-intro[data-motion-mode=native] .home-role,.home-intro[data-motion-mode=native] .home-about{animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 48svh}.home-intro[data-motion-mode=native] .home-name{animation-name:home-intro-name-mobile}.home-intro[data-motion-mode=native] h1{animation-name:home-intro-title-mobile}.home-intro[data-motion-mode=native] .home-role{animation-name:home-intro-role-mobile}.home-intro[data-motion-mode=native] .home-about{animation-name:home-intro-about-mobile}.home-intro[data-motion-mode=fallback] .home-name{transform:translateY(17svh)}.home-intro[data-motion-mode=fallback] h1{transform:scale(1.6)}.home-intro[data-motion-mode=fallback] .home-role{transform:translateY(1.25rem)}.home-intro[data-motion-mode=fallback] .home-about{transform:translateY(17svh)}.home-intro[data-motion-mode=fallback] .home-name,.home-intro[data-motion-mode=fallback] h1,.home-intro[data-motion-mode=fallback] .home-role,.home-intro[data-motion-mode=fallback] .home-about{transition:transform .48s var(--ease-out)}.home-intro[data-motion-mode=fallback][data-compact=true] .home-name,.home-intro[data-motion-mode=fallback][data-compact=true] h1,.home-intro[data-motion-mode=fallback][data-compact=true] .home-role,.home-intro[data-motion-mode=fallback][data-compact=true] .home-about{transform:translate(0,0)scale(1)}.home-about{max-width:31rem}.home-work{padding-top:1rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-card-image{aspect-ratio:1.18}.profile-page{padding-top:1rem}.profile-hero{grid-template-columns:1fr;gap:2.5rem}.profile-hero-image{aspect-ratio:4/4.5;max-height:none}.profile-details{grid-template-columns:1fr;gap:4rem;margin-top:5rem}.timeline article{grid-template-columns:6.5rem 1fr}.contact-page{padding-top:5rem}.contact-links{flex-direction:column;align-items:flex-start}body:has(.project-viewer){padding-bottom:0}.project-viewer{height:100svh;display:block;position:relative}.project-information-desktop{display:none}.project-document-view{transform-origin:50%;filter:blur();width:100%;height:100%;transition:filter .68s var(--ease-out), transform .68s var(--ease-out);position:absolute;inset:0;transform:scale(1)}.project-viewer[data-information-expanded=true] .project-document-view{filter:blur(.5rem);pointer-events:none;transform:scale(1.02)}.project-pdf-pages{scrollbar-gutter:auto;gap:.5rem;padding:.5rem}.project-pdf-page{height:calc(var(--document-page-height,100svh) - 1rem)}.document-zoom-controls{top:.75rem;right:.75rem}.project-media-archive figure{height:100svh}.project-information-drawer{z-index:70;height:calc(4.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:color-mix(in srgb, var(--paper-bright) 96%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:height .68s var(--ease-out), border-radius .68s var(--ease-out);display:block;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -1rem 2.75rem #14181c1f}.project-information-drawer[data-expanded=true]{border-radius:1rem 1rem 0 0;height:75svh}.project-information-toggle{width:100%;height:4.75rem;padding:.7rem 1rem max(.7rem, env(safe-area-inset-bottom));text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.project-information-toggle>span{flex-direction:column;gap:.15rem;display:flex}.project-information-toggle strong{font-family:var(--font-inter), sans-serif;font-size:.78rem;font-weight:520}.project-information-toggle>svg{width:1.15rem;height:1.15rem}.expand-icon-vertical{transition:opacity .25s ease, transform .45s var(--ease-out);transform-origin:50%}.project-information-drawer[data-expanded=true] .expand-icon-vertical{transform:rotate(90deg)}.project-information-scroll{overscroll-behavior:contain;opacity:0;visibility:hidden;height:calc(100% - 4.75rem);transition:opacity .22s ease, transform .4s var(--ease-out), visibility 0s linear .45s;padding:.5rem 1rem 7rem;overflow-y:auto;transform:translateY(.75rem)}.project-information-drawer[data-expanded=true] .project-information-scroll{opacity:1;visibility:visible;transition-delay:.14s,80ms,0s;transform:translateY(0)}.project-information-scroll .project-information{min-height:auto}.project-information h1{font-size:clamp(2rem,10vw,3rem)}.project-information-copy{font-size:1rem}.project-information-summary{font-size:1.25rem}.project-information-next{margin-top:2.5rem;padding-bottom:1rem}.site-footer{flex-direction:column-reverse;gap:1rem;padding-bottom:1.5rem}.site-atmosphere-shadow{opacity:.45;filter:none;background-position:44% -2svh;background-size:auto 122svh;inset:-8vmax}.site-atmosphere-grain{display:none}}@media (forced-colors:active){.site-atmosphere,.desktop-nav-shell:before,.desktop-back-button:before,.mobile-nav-controls:before{display:none}}@media (prefers-reduced-transparency:reduce){.desktop-nav-shell:before,.desktop-back-button:before,.mobile-nav-controls:before{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.home-name-content,.home-about-word{animation:none}.mobile-menu{--menu-reveal:150vmax}}
