@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/6865e74822869db5-s.1t_e7nl3ovll-.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/0494568ab28b6008-s.421v1u00lnp2a.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/66b33cc02d8f8b9d-s.p.3slq8sz4zhb1g.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a5a3076f5a3c2968-s.09mqwf_zjnrdf.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/23f1a98b08006014-s.0s5mkn35-hrc5.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/54fc36028e2bb174-s.p.20jfceqj9zyw9.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_f5120443-module__IUGKla__className{font-family:Fraunces,Fraunces Fallback}.fraunces_f5120443-module__IUGKla__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_b908b7f7-module__8RTlOW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_b908b7f7-module__8RTlOW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.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:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.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:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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_f1bd6d67-module__UAUPCa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_f1bd6d67-module__UAUPCa__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--bg:#deddd8;--bg-elev:#c8d0d2;--ink:#111314;--ink-dim:#3a4d6b;--ink-mute:#7a8ba8;--rule:#9eadb2;--accent:#005ce6;--accent-soft:#005ce622;--f-display:var(--font-fraunces), "Times New Roman", serif;--f-body:var(--font-dm-sans), system-ui, sans-serif;--f-ui:var(--font-inter), system-ui, sans-serif;--pad-x:clamp(20px, 4vw, 56px);--pad-y:clamp(20px, 3vw, 36px);--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink)}html{scroll-behavior:smooth}body{font-family:var(--f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;line-height:1.55;overflow-x:hidden}body.no-scroll{overflow:hidden}img,video{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;background:0 0;border:none}::selection{background:var(--accent);color:var(--bg)}body:before{content:"";pointer-events:none;z-index:1;opacity:.8;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.7'/></svg>");position:fixed;top:0;bottom:0;left:0;right:0}.nav{z-index:100;padding:var(--pad-y) var(--pad-x);--nav-frost:blur(16px) saturate(140%);-webkit-backdrop-filter:var(--nav-frost);backdrop-filter:var(--nav-frost);background:#b6bfc199;border-bottom:1px solid #0512300f;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid;position:fixed;top:0;left:0;right:0}.nav-mark{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);text-align:left;font-size:24px;font-weight:500}.nav-mark em{color:var(--accent);font-style:italic}.nav-links{font-family:var(--f-ui);letter-spacing:.02em;color:var(--ink);justify-content:center;gap:max(18px,min(3vw,40px));font-size:16px;display:flex}.nav-links a{transition:color .3s var(--ease);opacity:.8;padding:4px 2px;position:relative}.nav-links a:hover{opacity:1;color:var(--accent)}.nav-links a.is-active{color:var(--accent);opacity:1}.nav-toggle{justify-content:center;align-items:center;width:36px;height:36px;display:none}.nav-toggle span{background:currentColor;width:20px;height:1px;transition:background .2s;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";width:20px;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;left:0}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}.nav-toggle.is-open span{background:0 0}.nav-toggle.is-open span:before{transform:translateY(6px)rotate(45deg)}.nav-toggle.is-open span:after{transform:translateY(-6px)rotate(-45deg)}.nav-mobile-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:90;padding:0 var(--pad-x);transition:transform .55s var(--ease);background:#b6bfc1f2;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;transform:translate(100%)}.nav-mobile-panel.is-open{transform:translate(0)}.nav-mobile-panel a{font-family:var(--f-display);letter-spacing:-.02em;font-size:max(36px,min(9vw,64px));font-weight:500;line-height:.95}.nav-mobile-panel a span{font-family:var(--f-ui);vertical-align:middle;color:var(--accent);margin-right:12px;font-size:12px;display:inline-block}@media (max-width:720px){.nav{grid-template-columns:1fr auto}.nav-links{display:none}.nav-toggle{display:flex}}main{z-index:2;position:relative}.home-split{min-height:100vh;padding:clamp(120px, 16vh, 180px) var(--pad-x) clamp(60px, 8vh, 100px);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:max(24px,min(4vw,64px));display:grid}.hero{grid-template-rows:1fr auto auto;min-width:0;display:grid;position:relative}.hero-title{font-family:var(--f-display);letter-spacing:-.04em;font-variation-settings:"SOFT" 50, "WONK" 1;align-self:end;font-size:max(56px,min(10vw,160px));font-weight:400;line-height:.88}.hero-title .row{margin-bottom:-.3em;padding-bottom:.45em;display:block;overflow:hidden}.hero-title .row span{animation:rise 1.1s var(--ease-out) forwards;display:inline-block;transform:translateY(110%)}.hero-title .row:first-child span{animation-delay:.15s}.hero-title .row:nth-child(2) span{animation-delay:.3s}.hero-title em{color:var(--accent);font-variation-settings:"SOFT" 100, "WONK" 1;font-style:italic}@keyframes rise{to{transform:translateY(0)}}.hero-meta{border-top:1px solid var(--rule);font-family:var(--f-ui);letter-spacing:.04em;color:var(--ink-dim);opacity:0;animation:fade-up .9s var(--ease-out) .9s forwards;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:max(32px,min(5vw,56px));padding-top:22px;font-size:12px;display:grid}.hero-meta strong{color:var(--ink);font-weight:500}.hero-meta .tagline{font-family:var(--f-body);letter-spacing:0;color:var(--ink);text-transform:none;max-width:42ch;font-size:max(14px,min(1.4vw,18px));line-height:1.4}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-meta-main{min-width:0}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.hero-cta{font-family:var(--f-ui);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--bg);border:1px solid var(--ink);white-space:nowrap;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:12px;display:inline-flex}.hero-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.hero-cta--ghost{color:var(--ink);border-color:var(--rule);background:0 0}.hero-cta--ghost:hover{color:var(--accent);border-color:var(--accent);background:0 0}.status-dot{background:var(--ink-mute);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.is-open{background:#1f9d55;box-shadow:0 0 0 3px #1f9d5538}.freeform-section{flex-direction:column;min-width:0;display:flex;position:relative}.freeform-label{font-family:var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:14px;margin-bottom:max(20px,min(3vh,32px));font-size:11px;display:flex}.freeform-label:after{content:"";background:var(--rule);flex:1;height:1px}.freeform-label .hint{color:var(--ink-dim)}.freeform-label .hint:before{content:"↔ ";color:var(--accent)}.freeform{-webkit-user-select:none;user-select:none;touch-action:none;flex:1;width:100%;min-height:max(520px,min(70vh,760px));position:relative}@media (pointer:coarse){.freeform{touch-action:pan-y}.freeform-item{touch-action:none}}.freeform-item{will-change:transform;transform-origin:50%;transition:box-shadow .4s var(--ease), filter .4s var(--ease), opacity .8s var(--ease-out);opacity:0;filter:drop-shadow(0 8px 24px #00000059);display:block;position:absolute}.freeform-item.in-view{opacity:1}.freeform-item.is-dragging{filter:drop-shadow(0 18px 36px #0000008c)}.freeform-item .frame{background:var(--bg-elev);border:1px solid #05123014;border-radius:6px;width:100%;position:relative;overflow:hidden}.freeform-item .frame img{object-fit:cover;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block}.freeform-item .caption{color:var(--ink-dim);pointer-events:none;flex-direction:column;margin-top:12px;display:flex}.freeform-item .caption .title{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);transition:color .25s var(--ease);font-size:max(15px,min(1.4vw,20px));font-style:italic;line-height:1.08}.freeform-item:hover .caption .title{color:var(--accent)}.freeform-item .caption .meta{font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-top:5px;font-size:10px}@media (hover:hover){.freeform-item .caption{opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);transform:translateY(-6px)}.freeform-item:hover .caption,.freeform-item.is-dragging .caption{opacity:1;transform:translateY(0)}}@media (max-width:960px){.home-split{grid-template-columns:1fr;gap:max(40px,min(6vh,72px))}.hero-title{font-size:max(64px,min(16vw,200px))}}@media (max-width:760px){.freeform{height:130vw;min-height:0}.freeform-item{max-width:50%}}.works-page{padding:clamp(120px, 18vh, 200px) var(--pad-x) 140px}.works-heading{font-family:var(--f-display);letter-spacing:-.03em;margin-bottom:max(60px,min(10vh,100px));font-size:max(48px,min(9vw,120px));font-weight:400;line-height:.9}.works-heading em{color:var(--accent);font-style:italic}.works-section-head{border-bottom:1px solid var(--rule);align-items:baseline;gap:16px;margin-bottom:36px;padding-bottom:18px;display:flex}.works-section-head h2{font-family:var(--f-display);letter-spacing:-.01em;font-size:max(28px,min(4vw,44px));font-style:italic;font-weight:400}.works-section-head .count{font-family:var(--f-ui);letter-spacing:.1em;color:var(--ink-mute);text-transform:uppercase;margin-left:auto;font-size:11px}.works-grid{column-count:3;column-gap:max(20px,min(3vw,32px))}@media (max-width:1100px){.works-grid{column-count:2}}@media (max-width:640px){.works-grid{column-count:1}}.work-item{break-inside:avoid;margin:0 0 max(30px,min(4vw,52px));display:block}.work-item .img-wrap{background:var(--bg-elev);border-radius:4px;position:relative;overflow:hidden}.work-item img{width:100%;height:auto;transition:transform 1s var(--ease-out), opacity .5s;display:block}.work-item:hover img{opacity:.85;transform:scale(1.04)}.work-item .caption{margin-top:14px}.work-item .work-title{font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);transition:color .25s var(--ease);font-size:max(20px,min(2.2vw,30px));font-style:italic;font-weight:400;line-height:1.04}.work-item:hover .work-title{color:var(--accent)}.work-item .work-sub{font-family:var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;gap:16px;margin-top:7px;font-size:11px;display:flex}.work-item .work-client{color:var(--ink-dim)}.work-item .work-year{flex:none}.works-filter{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:10px 28px;margin-bottom:max(44px,min(6vh,72px));padding-bottom:20px;display:flex}.works-filter__pill{font-family:var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);cursor:pointer;transition:color .3s var(--ease);padding:2px 0;font-size:13px;position:relative}.works-filter__pill:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.works-filter__pill:hover{color:var(--ink)}.works-filter__pill:hover:after{transform:scaleX(1)}.works-filter__pill.is-active{color:var(--accent)}.works-filter__pill.is-active:after{transform:scaleX(1)}.works-browser__grid .work-item{animation:workReveal .55s var(--ease-out) both}@keyframes workReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.works-browser__grid .work-item{animation:none}}.project-detail-page{padding:clamp(120px, 16vh, 180px) var(--pad-x) 120px;max-width:1080px;margin:0 auto}.project-detail-page h1{font-family:var(--f-display);letter-spacing:-.02em;margin-bottom:12px;font-size:max(40px,min(7vw,88px));font-style:italic;font-weight:400;line-height:.95}.project-detail-page .pd-meta{font-family:var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);flex-wrap:wrap;gap:22px;margin-bottom:36px;font-size:12px;display:flex}.project-detail-page .pd-meta span strong{color:var(--ink);margin-right:6px;font-weight:500}.project-detail-page .pd-body{max-width:60ch;color:var(--ink-dim);margin-bottom:48px;font-size:17px;line-height:1.65}.project-detail-page .pd-body .pt-figure{margin:28px 0}.project-detail-page .pd-body .pt-figure img{border-radius:4px;width:100%;height:auto;display:block}.project-detail-page .pd-body .pt-figure figcaption{font-family:var(--f-ui);letter-spacing:.04em;color:var(--ink-mute);margin-top:10px;font-size:12px}.project-detail-page .pd-image{aspect-ratio:16/10;background:var(--bg-elev);border-radius:4px;width:100%;margin-bottom:22px;position:relative;overflow:hidden}.project-detail-page .pd-image img{object-fit:cover;width:100%;height:100%}.project-detail-page .pd-back{font-family:var(--f-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);transition:color .25s var(--ease);align-items:center;gap:8px;margin-bottom:28px;font-size:11px;display:inline-flex}.project-detail-page .pd-back:hover{color:var(--accent)}.project-detail-page .pd-section{margin-bottom:48px}.project-detail-page .pd-section-label{font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px;font-size:12px}.project-detail-page .pd-section .pd-body{margin-bottom:0}.project-detail-page .pd-metrics{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:14px 56px;margin:0 0 48px;padding:28px 0;list-style:none;display:flex}.project-detail-page .pd-metric{flex-direction:column;gap:6px;display:flex}.project-detail-page .pd-metric-value{font-family:var(--f-display);letter-spacing:-.02em;color:var(--accent);font-size:max(30px,min(4vw,46px));font-style:italic;line-height:1}.project-detail-page .pd-metric-label{font-family:var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}.project-detail-page .pd-gallery{flex-direction:column;gap:28px;margin-bottom:48px;display:flex}.project-detail-page .pd-figure{margin:0}.project-detail-page .pd-figure img{border-radius:4px;width:100%;height:auto;display:block}.project-detail-page .pd-figure figcaption{font-family:var(--f-ui);letter-spacing:.04em;color:var(--ink-mute);margin-top:10px;font-size:12px}.project-detail-page .pd-figure video,.project-detail-page .pd-body .pt-figure video{background:var(--bg-elev);border-radius:4px;width:100%;height:auto;display:block}.project-detail-page .pd-quote{border-left:2px solid var(--accent);max-width:60ch;margin:0 0 48px;padding-left:22px}.project-detail-page .pd-quote p{font-family:var(--f-display);color:var(--ink);margin-bottom:12px;font-size:max(20px,min(2.4vw,28px));font-style:italic;line-height:1.35}.project-detail-page .pd-quote cite{font-family:var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:12px;font-style:normal}.project-detail-page .pd-external{font-family:var(--f-ui);letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--ink);transition:color .25s var(--ease), border-color .25s var(--ease);align-items:center;gap:8px;padding-bottom:3px;font-size:13px;display:inline-flex}.project-detail-page .pd-external:hover{color:var(--accent);border-color:var(--accent)}.project-detail-page .pd-related{margin-top:64px}.project-detail-page .pd-related-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px;display:grid}.project-detail-page .pd-related-item{display:block}.project-detail-page .pd-related-img{aspect-ratio:4/3;background:var(--bg-elev);border-radius:4px;margin-bottom:10px;position:relative;overflow:hidden}.project-detail-page .pd-related-img img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out), opacity .5s}.project-detail-page .pd-related-item:hover .pd-related-img img{opacity:.85;transform:scale(1.04)}.project-detail-page .pd-related-title{font-family:var(--f-ui);letter-spacing:.02em;color:var(--ink-dim);font-size:13px}.project-detail-page .pd-nav{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:24px;margin-top:56px;padding-top:28px;display:grid}.project-detail-page .pd-nav-link{flex-direction:column;gap:6px;min-width:0;display:flex}.project-detail-page .pd-nav-next{text-align:right}.project-detail-page .pd-nav-dir{font-family:var(--f-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}.project-detail-page .pd-nav-title{font-family:var(--f-display);color:var(--ink);transition:color .25s var(--ease);font-size:max(20px,min(2.4vw,30px));font-style:italic;line-height:1.1}.project-detail-page .pd-nav-link:hover .pd-nav-title{color:var(--accent)}@media (max-width:640px){.project-detail-page .pd-related-grid{grid-template-columns:1fr 1fr}.project-detail-page .pd-nav-title{font-size:17px}}.about-page{padding:clamp(120px, 18vh, 200px) var(--pad-x) 140px;gap:max(60px,min(10vh,100px));max-width:1300px;margin:0 auto;display:grid}.about-intro{font-family:var(--f-display);letter-spacing:-.02em;max-width:18ch;font-size:max(36px,min(5.5vw,72px));font-weight:400;line-height:1.05}.about-intro em{color:var(--accent);font-style:italic}.about-grid{grid-template-columns:1fr 1fr;gap:max(40px,min(6vw,80px));display:grid}@media (max-width:720px){.about-grid{grid-template-columns:1fr}}.about-block h3{font-family:var(--f-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);margin-bottom:18px;padding-bottom:12px;font-size:11px}.about-block p{color:var(--ink-dim);max-width:50ch;margin-bottom:1em;font-size:17px;line-height:1.65}.about-block p strong{color:var(--ink);font-weight:500}.about-block ul{list-style:none}.about-block ul li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;font-size:16px;display:flex}.about-block ul li:last-child{border-bottom:none}.about-block ul li .sub{font-family:var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}.about-services{flex-direction:column;display:flex}.about-services li{border-bottom:1px solid var(--rule);font-family:var(--f-display);align-items:baseline;gap:max(20px,min(3vw,36px));padding:22px 0;font-size:max(24px,min(3.5vw,42px));font-style:italic;line-height:1.15;display:flex}.about-services li .letter{min-width:2.5em;font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);flex:none;font-size:12px;font-style:normal}.about-services li .name{flex:1;min-width:0}.contact-page{min-height:100vh;padding:clamp(120px, 18vh, 200px) var(--pad-x) 140px;grid-template-columns:1fr 1fr;align-items:start;gap:max(40px,min(6vw,100px));max-width:1400px;margin:0 auto;display:grid}@media (max-width:900px){.contact-page{grid-template-columns:1fr}}.contact-left h1{font-family:var(--f-display);letter-spacing:-.03em;margin-bottom:36px;font-size:max(56px,min(10vw,140px));font-weight:400;line-height:.88}.contact-left h1 em{color:var(--accent);font-style:italic}.contact-left .lead{color:var(--ink-dim);max-width:42ch;margin-bottom:44px;font-size:18px;line-height:1.55}.contact-links{border-top:1px solid var(--rule);list-style:none}.contact-links li{border-bottom:1px solid var(--rule)}.contact-links a{font-family:var(--f-display);transition:color .3s var(--ease), padding .3s var(--ease);justify-content:space-between;align-items:baseline;padding:22px 0;font-size:max(24px,min(3vw,36px));font-style:italic;display:flex}.contact-links a .arrow{font-family:var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);transition:transform .4s var(--ease), color .3s;font-size:14px;font-style:normal}.contact-links a:hover{color:var(--accent);padding-left:16px}.contact-links a:hover .arrow{color:var(--accent);transform:translate(8px)}.contact-form{border:1px solid var(--rule);background:#05123005;border-radius:6px;padding:max(28px,min(4vw,48px))}.contact-form .label{font-family:var(--f-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:28px;font-size:11px}.field{margin-bottom:26px}.field label{font-family:var(--f-ui);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:10px;font-size:10px;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--rule);width:100%;font-family:var(--f-body);color:var(--ink);transition:border-color .3s var(--ease);resize:vertical;background:0 0;outline:none;padding:10px 0;font-size:16px}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:120px}.submit-btn{font-family:var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);width:100%;transition:color .3s var(--ease);justify-content:space-between;align-items:center;gap:14px;padding:16px 0;font-size:12px;display:inline-flex}.submit-btn:after{content:"→";font-family:var(--f-display);transition:transform .4s var(--ease);font-size:22px;font-style:italic}.submit-btn:hover{color:var(--accent)}.submit-btn:hover:after{transform:translate(8px)}.submit-btn:disabled{opacity:.5;cursor:default}.submit-btn:disabled:hover{color:var(--ink)}.submit-btn:disabled:hover:after{transform:none}.form-error{font-family:var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:12px 0 0;font-size:12px}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transform:translateY(40px)}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal[data-delay="1"]{transition-delay:.1s}.reveal[data-delay="2"]{transition-delay:.2s}.reveal[data-delay="3"]{transition-delay:.3s}.reveal[data-delay="4"]{transition-delay:.4s}.reveal[data-delay="5"]{transition-delay:.5s}.foot{padding:32px var(--pad-x);border-top:1px solid var(--rule);font-family:var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
