:root{--bg:#0b0b0c;--panel:#0f0f10;--ink:#f2f0ea;--muted:#f2f0eaa6;--faint:#73798a;--accent:#8d9ab8;--hairline:#ffffff14}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Space Grotesk,system-ui,sans-serif}body,button,input,textarea{font-family:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.page-width{width:min(100%,1280px);margin-inline:auto}.site-header{z-index:50;border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0b0cd9;justify-content:space-between;align-items:center;min-height:78px;padding:21px 40px;display:flex;position:sticky;top:0}.brand{letter-spacing:.01em;font-size:22.5px;font-weight:500}.site-nav{gap:36px;display:flex}.site-nav a{color:#f2f0ea85;letter-spacing:.18em;text-transform:uppercase;padding:8px 0;font-family:IBM Plex Mono,monospace;font-size:15px;transition:color .18s;position:relative}.menu-toggle{display:none}.site-nav a:after{background:var(--accent);content:"";opacity:0;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a.active{color:var(--ink)}.site-nav a.active:after{opacity:1;transform:scaleX(1)}.eyebrow,.section-heading,.gallery-heading,.credentials h2,.footer-label,.contact-form label>span{letter-spacing:.2em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400}.eyebrow{color:var(--accent);margin:0 0 16px;line-height:1.5}.text-link{border-bottom:1px solid var(--accent);letter-spacing:.16em;text-transform:uppercase;padding-bottom:5px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;display:inline-block}.text-link span{margin-left:4px;transition:transform .18s;display:inline-block}.text-link:hover span{transform:translate(4px)}.home-hero{min-height:clamp(600px,100svh - 78px,920px);position:relative;overflow:hidden}.hero-media,.hero-image,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;opacity:0;transition:opacity 1s,transform 6s;transform:scale(1.025)}.hero-image.is-active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(90deg,#0003,#0000 65%),linear-gradient(#08080a1a 0%,#08080a47 52%,#08080adb 100%)}.hero-copy{z-index:2;max-width:760px;position:absolute;bottom:64px;left:80px;right:80px}.hero-copy h1,.project-hero-copy h1{letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 28px #00000073;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(52px,7vw,104px);font-weight:300;line-height:.92}.hero-blurb{color:#f2f0eae0;text-shadow:0 2px 16px #00000080;max-width:570px;margin:20px 0 24px;font-family:EB Garamond,serif;font-size:17px;line-height:1.55}.hero-arrow{z-index:3;color:#ffffffbf;cursor:pointer;background:0 0;border:0;width:56px;height:72px;font-family:Georgia,serif;font-size:32px;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow-left{left:12px}.hero-arrow-right{right:12px}.hero-progress{z-index:3;background:#ffffff47;width:min(180px,22vw);height:1px;position:absolute;bottom:70px;right:80px}.hero-progress span{background:var(--accent);transform-origin:0;width:100%;height:100%;animation:6s linear forwards progress;display:block}.hero-progress span.is-paused{animation-play-state:paused}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.project-index{border-top:1px solid var(--hairline);background:var(--panel);padding:26px 40px 36px}.section-heading{color:var(--faint);justify-content:space-between;margin-bottom:18px;display:flex}.project-cards{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.project-card{min-width:0}.project-card-image{aspect-ratio:4/3;background:#18181a;border:1px solid #0000;transition:border-color .22s;overflow:hidden}.project-card-image img{object-fit:cover;filter:saturate(.72);opacity:.58;width:100%;height:100%;transition:filter .3s,opacity .3s,transform .5s}.project-card:hover .project-card-image,.project-card.is-active .project-card-image{border-color:var(--accent)}.project-card:hover img,.project-card.is-active img{filter:saturate();opacity:1;transform:scale(1.02)}.project-card-copy{color:#f2f0ea99;justify-content:space-between;gap:8px;padding-top:9px;font-family:Cormorant Garamond,serif;font-size:15px;line-height:1.1;transition:color .2s;display:flex}.project-card:hover .project-card-copy,.project-card.is-active .project-card-copy{color:var(--ink)}.home-about{align-items:center;gap:clamp(44px,7vw,88px);width:min(100%,1080px);margin:0 auto;padding:112px 40px;display:flex}.home-about-image{aspect-ratio:4/5;flex:none;width:min(37vw,360px);overflow:hidden}.home-about-image img{object-fit:cover;width:100%;height:100%}.home-about-copy{max-width:600px}.home-about-copy h2,.about-copy h1,.contact-intro h1{letter-spacing:-.015em;text-wrap:balance;margin:0 0 24px;font-family:Cormorant Garamond,serif;font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.08}.home-about-copy>p:not(.eyebrow),.about-copy>p,.contact-intro>p:not(.eyebrow){color:#f2f0eab3;margin:0 0 26px;font-family:EB Garamond,serif;font-size:16px;line-height:1.75}.site-footer{border-top:1px solid var(--hairline);background:var(--panel);padding:58px 40px 30px}.footer-top{justify-content:space-between;gap:60px;display:flex}.footer-invite{max-width:440px}.footer-title{margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:34px;font-weight:300;line-height:1}.footer-invite>p:not(.footer-title){color:var(--muted);margin:0 0 20px;font-family:EB Garamond,serif;font-size:14px;line-height:1.6}.footer-columns{gap:72px;display:flex}.footer-columns>div{flex-direction:column;align-items:flex-start;gap:11px;min-width:90px;font-size:13px;display:flex}.footer-label{color:var(--faint);margin:0 0 4px;font-size:9px}.footer-columns a{color:#f2f0eabf;transition:color .18s}.footer-columns a:hover{color:var(--ink)}.footer-base,.contact-footer{border-top:1px solid var(--hairline);color:var(--faint);letter-spacing:.12em;justify-content:space-between;margin-top:48px;padding-top:20px;font-family:IBM Plex Mono,monospace;font-size:9px;display:flex}.about-hero{grid-template-columns:minmax(280px,380px) minmax(0,650px);align-items:start;gap:clamp(48px,7vw,88px);padding:76px 40px 72px;display:grid}.portrait{margin:0;position:sticky;top:98px}.portrait img{aspect-ratio:4/5;object-fit:cover;width:100%}.portrait figcaption{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:8px}.about-copy h1{font-size:clamp(38px,4.4vw,58px)}.about-copy>p{margin-bottom:16px}.credentials{border-top:1px solid var(--hairline);padding:72px 40px 90px}.credentials-grid{grid-template-columns:repeat(3,1fr);gap:clamp(40px,6vw,76px);display:grid}.credentials h2{color:var(--accent);margin:0 0 28px}.credentials article{margin-bottom:22px}.credentials h3{margin:0 0 4px;font-family:Cormorant Garamond,serif;font-size:19px;font-weight:400}.credentials article p,.practice-copy{color:var(--muted);margin:0;font-family:EB Garamond,serif;font-size:13px;line-height:1.55}.dated{grid-template-columns:42px 1fr;gap:10px;display:grid}.dated>span{color:var(--faint);padding-top:4px;font-family:IBM Plex Mono,monospace;font-size:10px}.practice-copy{max-width:280px;margin-bottom:24px;font-size:15px;line-height:1.7}.project-hero{min-height:min(780px,100svh - 78px);position:relative;overflow:hidden}.project-hero>img,.project-hero-shade{width:100%;height:100%;position:absolute;inset:0}.project-hero>img{object-fit:cover}.project-hero-shade{background:linear-gradient(90deg,#00000029,#0000 60%),linear-gradient(#0000 38%,#050506cc)}.back-link{z-index:2;color:#fffc;letter-spacing:.15em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:9px;position:absolute;top:30px;left:40px}.back-link span{transition:transform .18s;display:inline-block}.back-link:hover span{transform:translate(-4px)}.project-hero-copy{z-index:2;max-width:980px;position:absolute;bottom:56px;left:40px;right:40px}.project-body{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start;gap:clamp(40px,5vw,72px);padding:82px 40px 72px;display:grid}.project-statement{position:sticky;top:102px}.project-statement>p:not(.eyebrow){color:#f2f0eac2;margin:0 0 16px;font-family:EB Garamond,serif;font-size:16px;line-height:1.72}.gallery{min-width:0}.gallery-heading{color:var(--faint);justify-content:space-between;margin-bottom:16px;display:flex}.gallery-heading span:last-child{color:var(--accent)}.gallery-stage{aspect-ratio:3/2;background:#111;position:relative;overflow:hidden}.gallery-stage>img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.gallery-stage>img.is-active{opacity:1}.gallery-thumbs{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin-top:14px;display:grid}.gallery-thumbs button{cursor:pointer;opacity:.4;background:#18181a;border:1px solid #0000;height:74px;padding:0;transition:border-color .18s,opacity .18s;overflow:hidden}.gallery-thumbs button:hover,.gallery-thumbs button.is-active{border-color:var(--accent);opacity:1}.gallery-thumbs img{object-fit:cover;width:100%;height:100%}.contact-page{min-height:100svh;position:relative;overflow:hidden}.contact-grid{z-index:2;grid-template-columns:minmax(0,1fr) minmax(320px,500px);align-items:center;gap:clamp(54px,8vw,110px);min-height:calc(100svh - 126px);padding:72px 40px;display:grid;position:relative}.contact-intro{max-width:590px}.contact-intro h1{font-size:clamp(48px,6vw,80px)}.contact-portrait{width:min(100%,280px);margin:36px 0 0}.contact-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%}.contact-portrait figcaption{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:8px}.contact-form{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a0cd6;border:1px solid #ffffff1c;flex-direction:column;gap:30px;padding:40px;display:flex}.contact-form label{display:block}.contact-form label>span{color:#969baa;margin-bottom:8px;font-size:9px;display:block}.contact-form input,.contact-form textarea{resize:vertical;width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #fff3;border-radius:0;outline:0;padding:11px 0;font-family:EB Garamond,serif;font-size:16px;transition:border-color .18s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#f2f0ea57}.submit-button{background:var(--accent);color:#0b0b0c;cursor:pointer;letter-spacing:.16em;text-transform:uppercase;border:0;align-self:flex-start;padding:15px 28px;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500}.form-success{text-align:center;background:#0a0a0cd6;border:1px solid #8d9ab880;align-self:center;padding:46px}.form-success-title{margin:0 0 10px;font-family:Cormorant Garamond,serif;font-size:34px}.form-success p:not(.form-success-title){color:var(--muted);font-family:EB Garamond,serif}.form-success button{border:0;border-bottom:1px solid var(--accent);color:var(--ink);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;background:0 0;padding:8px 0;font-family:IBM Plex Mono,monospace;font-size:9px}.contact-footer{z-index:2;margin-top:0;padding:20px 40px 28px;position:relative}@media (max-width:980px){.project-cards{grid-template-columns:repeat(3,1fr);row-gap:22px}.credentials-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;align-items:start;padding-top:70px}.contact-form{max-width:620px}}@media (max-width:760px){.site-header{min-height:60px;padding:14px 18px}.brand{z-index:2;font-size:15px;position:relative}.menu-toggle{z-index:2;width:42px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:flex;position:relative}.menu-toggle span{background:currentColor;width:24px;height:1px;transition:transform .22s,opacity .18s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:last-child{transform:translateY(-6px)rotate(-45deg)}.site-nav{z-index:1;opacity:0;pointer-events:none;background:#0b0b0cf7;border-bottom:1px solid #0000;flex-direction:column;align-items:stretch;gap:0;max-height:0;padding:0 18px;transition:max-height .28s,padding .28s,border-color .28s,opacity .2s,transform .28s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden;transform:translateY(-8px)}.site-nav.is-open{border-color:var(--hairline);opacity:1;pointer-events:auto;max-height:260px;padding:14px 18px 20px;transform:translateY(0)}.site-nav a{border-bottom:1px solid var(--hairline);letter-spacing:.16em;justify-content:space-between;align-items:center;min-height:54px;padding:0 2px;font-size:11px;display:flex}.site-nav a:last-child{border-bottom:0}.site-nav a.active:after{width:22px;bottom:11px;left:auto;right:2px}.home-hero{min-height:calc(100svh - 60px)}.hero-copy{bottom:44px;left:28px;right:28px}.hero-copy h1,.project-hero-copy h1{font-size:clamp(44px,15vw,68px)}.hero-blurb{font-size:15px}.hero-arrow{display:none}.hero-progress{width:auto;bottom:32px;left:28px;right:28px}.project-index{padding:26px 18px 34px}.project-cards{scrollbar-width:none;scroll-snap-type:x mandatory;gap:12px;margin-right:-18px;padding-right:18px;display:flex;overflow-x:auto}.project-card{scroll-snap-align:start;flex:none;width:min(68vw,270px)}.home-about{flex-direction:column;align-items:flex-start;padding:80px 24px}.home-about-image{width:min(82vw,360px)}.site-footer{padding:48px 24px 28px}.footer-top,.footer-base{flex-direction:column;align-items:flex-start}.footer-columns{gap:50px;width:100%}.footer-base{gap:8px}.about-hero{grid-template-columns:1fr;padding:48px 24px 64px}.portrait{width:min(85vw,380px);position:static}.credentials{padding:60px 24px 72px}.credentials-grid{grid-template-columns:1fr}.project-hero{min-height:68svh}.back-link{top:24px;left:24px}.project-hero-copy{bottom:32px;left:24px;right:24px}.project-body{grid-template-columns:1fr;padding:60px 18px}.project-statement{max-width:600px;position:static}.gallery-stage{aspect-ratio:4/3}.gallery-thumbs{scrollbar-width:none;display:flex;overflow-x:auto}.gallery-thumbs button{flex:none;width:82px}.contact-grid{min-height:auto;padding:54px 24px 64px}.contact-intro h1{font-size:clamp(44px,14vw,64px)}.contact-form{padding:28px 22px}.contact-footer{flex-direction:column;align-items:flex-start;gap:8px;padding-inline:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
