.nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(20px,5vw,64px);background:linear-gradient(180deg,#1f1f21d9,#1f1f2100)}.nav-mark{font-family:Fraunces,serif;font-size:1.1rem;letter-spacing:.01em;color:var(--fg);z-index:2}.nav-links{display:flex;gap:clamp(20px,3vw,40px)}.nav-links--desktop{display:none}.nav-link{position:relative;font-size:.78rem;letter-spacing:.12em;font-weight:500;color:var(--fg-muted);transition:color .2s ease;white-space:pre;padding-bottom:8px}.nav-link:hover{color:#fff}.nav-link--active{color:var(--fg)}.nav-link--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fg)}.nav-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;z-index:2}.nav-toggle-bar{position:relative;width:22px;height:1.5px;background:var(--fg);transition:transform .25s ease}.nav-toggle-bar:before,.nav-toggle-bar:after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--fg);transition:transform .25s ease,opacity .25s ease}.nav-toggle-bar:before{top:-7px}.nav-toggle-bar:after{top:7px}.nav-toggle-bar--open{background:transparent}.nav-toggle-bar--open:before{top:0;transform:rotate(45deg)}.nav-toggle-bar--open:after{top:0;transform:rotate(-45deg)}.nav-links--mobile{position:fixed;top:72px;right:clamp(20px,5vw,64px);background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:20px 24px;flex-direction:column;gap:16px}.nav-links--mobile a{position:relative;display:inline-block;font-size:.85rem;letter-spacing:.1em;color:var(--fg);padding-bottom:4px}.nav-links--mobile a.nav-link--active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fg)}@media (min-width: 720px){.nav-links--desktop{display:flex}.nav-toggle{display:none}}.fade-image{opacity:0;transition:opacity .7s ease}.fade-image.is-loaded{opacity:1}.home{flex:1;display:flex;justify-content:center;align-items:center;padding:110px clamp(20px,5vw,64px) 48px;min-height:100vh}.home-card{width:min(78vw,340px);container-type:inline-size}.home-photo{width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--bg-elevated)}.home-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}.home-name{margin-top:26px;font-family:Space Grotesk,Helvetica Neue,Arial,sans-serif;font-size:1.9rem;font-weight:500;line-height:1.1;letter-spacing:-.01em}.home-label{margin-top:10px;font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;font-size:.78rem;letter-spacing:.04em;color:var(--fg-muted)}.home-text{margin-top:14px;font-size:4.8cqw;line-height:1.35}.home-text span{display:block;white-space:nowrap;text-align:justify;text-align-last:justify}.home-text .home-text-last{text-align-last:left}@media (min-width: 860px){.home{--photo-h: clamp(220px, calc((100vh - 262px) / 1.2), 600px);padding-top:84px;padding-bottom:24px;min-height:0}.home-card{width:calc(var(--photo-h) * .75)}.home-photo{aspect-ratio:auto;height:var(--photo-h)}}.image-placeholder{width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:repeating-linear-gradient(135deg,var(--bg-elevated),var(--bg-elevated) 10px,#1a1a1c 10px,#1a1a1c 20px);border:1px dashed var(--border);color:var(--fg-muted);text-align:center;padding:20px}.image-placeholder span{font-size:.72rem;letter-spacing:.04em;max-width:22ch;line-height:1.4}.gallery-wrapper{position:relative;width:100%}.gallery-viewport{--pitch: clamp(190px, calc(100vw / 5.8), 800px);--vgap: 6px;--panel-w: calc((var(--pitch) - var(--vgap)) / .9);width:100%;height:100vh;height:100dvh;padding-bottom:21px;display:flex;align-items:center;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none}.gallery-arrows{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;gap:10px;z-index:20}.gallery-arrow{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(243,241,236,.4);border-radius:50%;color:#f3f1ecd9;background:#0b0b0c59;transition:color .2s ease,border-color .2s ease,background .2s ease}.gallery-arrow:hover{color:#fff;border-color:#fff;background:#0b0b0cb3}.gallery-arrow:focus-visible{outline:1px solid #ffffff;outline-offset:3px}.gallery-track{display:flex;will-change:transform}.gallery-set{display:flex;align-items:center}.gallery-panel{position:relative;flex:0 0 auto;width:var(--pitch);will-change:transform}.gallery-panel:hover{z-index:5}.gallery-panel-content{position:relative;display:flex;flex-direction:column;width:var(--panel-w);margin-left:calc((var(--pitch) - var(--panel-w)) / 2);transform-origin:center center;transition:transform .45s cubic-bezier(.22,1,.36,1)}.gallery-panel:hover .gallery-panel-content{transform:scale(1.06)}.gallery-panel-inner{width:100%;height:min(calc(100vh - 152px),880px);height:min(calc(100dvh - 152px),880px);min-height:320px;overflow:hidden;background:var(--bg-elevated)}.gallery-panel img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.gallery-panel-caption{position:absolute;top:100%;left:0;right:0;padding-top:14px;display:flex;flex-direction:column;gap:3px}.gallery-panel-title{font-family:Fraunces,serif;font-size:1.05rem;color:var(--fg)}.gallery-panel-subtitle{font-size:.7rem;letter-spacing:.03em;color:var(--fg-muted)}.work{flex:1;height:100vh;height:100dvh;width:100%;overflow:hidden;display:flex;align-items:center}.project-detail{flex:1;padding:140px 0 100px}.project-hero{padding:0 clamp(20px,5vw,64px) 60px;border-bottom:1px solid var(--border);margin:0 clamp(20px,5vw,64px);padding-left:0;padding-right:0;display:flex;flex-direction:column;gap:16px}.project-hero-index{font-size:.75rem;letter-spacing:.1em;color:var(--accent)}.project-hero h1{font-size:clamp(2.6rem,7vw,5rem)}.project-hero-subtitle{color:var(--fg-muted);font-size:1rem}.project-stages{padding:0 clamp(20px,5vw,64px);display:flex;flex-direction:column;gap:96px;margin-top:80px}.project-stage-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}.project-stage-number{font-size:.8rem;color:var(--accent);letter-spacing:.06em}.project-stage-heading h2{font-size:clamp(1.5rem,3vw,2.1rem)}.project-stage-text{max-width:68ch;color:var(--fg-muted);line-height:1.6;font-size:.98rem;margin-bottom:32px}.project-stage-placeholder{aspect-ratio:16 / 9;border-radius:4px}.project-image-rows{display:flex;flex-direction:column;gap:28px}.project-image-row img{display:block;width:100%;height:auto;background:var(--bg-elevated)}.project-image-row--1 img{height:auto}.project-image-row--1 img[data-orientation=square],.project-image-row--1 img[data-orientation=portrait]{width:auto;max-width:100%;max-height:92vh;margin:0 auto}.project-image-row--2{display:flex;gap:20px}.project-image-row--2 img{width:calc(50% - 10px);object-fit:cover}.project-image-row--2 img[data-orientation=portrait]{aspect-ratio:3 / 4}.project-image-row--2 img[data-orientation=landscape]{aspect-ratio:3 / 2}.project-image-row--3{display:flex;gap:20px}.project-image-row--3 img{width:calc(33.333% - 14px);aspect-ratio:1 / 1;object-fit:cover}.project-next{margin-top:120px;padding:60px clamp(20px,5vw,64px) 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.project-next span{font-size:.75rem;letter-spacing:.1em;color:var(--fg-muted);text-transform:uppercase}.project-next-link{display:inline-flex;align-items:center;gap:16px;font-family:Fraunces,serif;font-size:clamp(2rem,6vw,3.5rem);width:fit-content}.project-next-arrow{transition:transform .3s ease;color:var(--accent)}.project-next-link:hover .project-next-arrow{transform:translate(6px,-6px)}.contact{flex:1;display:flex;align-items:center;padding:120px clamp(20px,5vw,64px) 60px;min-height:100vh}.contact-inner{width:min(100%,680px)}.contact-label,.contact-row dt{font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;font-size:.78rem;letter-spacing:.04em;color:var(--fg-muted)}.contact h1{margin-top:20px;font-family:Space Grotesk,Helvetica Neue,Arial,sans-serif;font-size:clamp(2.6rem,4vw,3.4rem);font-weight:500;line-height:1.02;letter-spacing:-.03em}.contact-lede{margin-top:22px;color:var(--fg-muted);font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.35;max-width:42ch}.contact-rows{margin:44px 0 0}.contact-row{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--border)}.contact-row:last-child{border-bottom:1px solid var(--border)}.contact-row dd{margin:0;font-size:1.05rem}.contact-email{display:inline-flex;align-items:baseline;gap:8px}.contact-arrow{font-size:.85em;transition:transform .3s ease}.contact-email:hover .contact-arrow{transform:translate(3px,-3px)}@media (max-width: 520px){.contact-row{grid-template-columns:1fr;gap:6px}.contact-row dd{overflow-wrap:anywhere}}@media (min-width: 860px){.contact{min-height:0;padding-top:90px;padding-bottom:32px}}:root{--bg: #0b0b0c;--bg-elevated: #131314;--fg: #f3f1ec;--fg-muted: #8a8a8e;--border: #232325;--accent: #f3f1ec;color-scheme:dark}*{box-sizing:border-box}html,body{padding:0;margin:0;background:var(--bg);color:var(--fg);scroll-behavior:smooth}body{font-family:Space Grotesk,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.cursor-active,body.cursor-active *{cursor:none!important}h1,h2,h3,.serif{font-family:Fraunces,Georgia,serif;font-weight:400;margin:0}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;padding:0}img{display:block;max-width:100%;-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}::selection{background:var(--fg);color:var(--bg)}.hover-lighten{transition:color .2s ease}.hover-lighten:hover{color:#fff}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{min-height:100vh;display:flex;flex-direction:column}@media (min-width: 860px){.page--fixed{height:100vh;overflow:hidden}.page--fixed>section{flex:1;min-height:0}}.container{width:100%;padding:0 clamp(20px,5vw,64px)}@media (prefers-reduced-motion: reduce){html,body{scroll-behavior:auto}}
