:root{--bg:#F3F1EB;--bg2:#EAE6DD;--ink:#1A1815;--muted:#8B857A;--line:#E0DBD0;--dark:#1A1815;--sans:"Jost",system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:300}.wrap{max-width:1340px;margin:0 auto;padding:0 56px}.eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);font-weight:400}.btn{display:inline-block;border:1px solid var(--ink);padding:16px 36px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;transition:background .35s,color .35s;will-change:transform;cursor:pointer}.btn:hover{background:var(--ink);color:var(--bg)}.btn-l{display:inline-block;border:1px solid #fff;color:#fff;padding:16px 36px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;transition:.35s}.btn-l:hover{background:#fff;color:var(--ink)}.link-u{font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}#pre{position:fixed;inset:0;background:var(--bg);z-index:9000;display:flex;align-items:center;justify-content:center;transition:transform 1.1s cubic-bezier(.76,0,.24,1)}#pre.done{transform:translateY(-101%)}#pre img{height:104px;width:auto;max-width:64vw;opacity:0;transform:translateY(10px);animation:preIn 1.1s var(--ease) forwards}@keyframes preIn{to{opacity:1;transform:none}}#prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ink);z-index:8000}.cursor{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:9999;transition:width .35s var(--ease),height .35s var(--ease)}.cursor.big{width:58px;height:58px}@media(pointer:fine){body.cursor-on,body.cursor-on a,body.cursor-on .btn,body.cursor-on .scrolltag,body.cursor-on input,body.cursor-on textarea,body.cursor-on select{cursor:none}}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}[data-reveal].in{opacity:1;transform:none}[data-d1]{transition-delay:.12s}[data-d2]{transition-delay:.24s}[data-d3]{transition-delay:.36s}.reveal-img{position:relative;overflow:hidden}.reveal-img:after{content:"";position:absolute;inset:0;background:var(--bg2);transform:translateY(0);transition:transform 1.15s cubic-bezier(.76,0,.24,1);z-index:3}.reveal-img.in:after{transform:translateY(-101%)}.reveal-img img{transform:scale(1.22);transition:transform 1.8s var(--ease)}.reveal-img.in img{transform:scale(1)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header.over-hero{position:absolute;left:0;right:0;background:transparent;border-bottom:none}.nav{display:flex;align-items:center;justify-content:space-between;height:96px}.logo{height:26px;width:auto}.over-hero .logo{filter:brightness(0) invert(1)}.nav nav ul{display:flex;gap:46px;list-style:none;align-items:center}.nav nav a{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);position:relative;padding-bottom:5px;opacity:.8;transition:opacity .3s}.nav nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .45s var(--ease)}.nav nav a:hover{opacity:1}.nav nav a:hover:after{width:100%}.over-hero nav a{color:#fff}.hero{position:relative;height:100vh;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 2s ease;z-index:0}.hero .slide.active{opacity:1}.hero .slide img{transform:scale(1.08);animation:kb 9s ease-out forwards}@keyframes kb{0%{transform:scale(1.18)}to{transform:scale(1.04)}}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14120e57,#14120e00 28%,#14120e99);z-index:1}.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:90px;will-change:transform,opacity}.hero-inner .eyebrow{color:#ffffffd9;display:block;margin-bottom:24px;opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s var(--ease)}.hero h1{font-size:30px;letter-spacing:.36em;text-transform:uppercase;font-weight:300;line-height:1.5;color:#fff}.hero h1 .ln{display:block;overflow:hidden}.hero h1 .ln>span{display:block;transform:translateY(115%);transition:transform 1.15s var(--ease)}.hero .sub{display:flex;justify-content:space-between;align-items:flex-end;margin-top:34px;gap:40px;border-top:1px solid rgba(255,255,255,.25);padding-top:26px;opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s var(--ease)}.hero .sub p{max-width:420px;color:#ffffffe0;font-size:15px}.scrolltag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#ffffffd9;white-space:nowrap}.scrolltag:after{content:"";display:block;width:1px;height:36px;background:#fff9;margin:12px auto 0;animation:scrollpulse 2s ease-in-out infinite;transform-origin:top}@keyframes scrollpulse{0%,to{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:1}}body.loaded .hero-inner .eyebrow{opacity:1;transform:none;transition-delay:.15s}body.loaded .hero h1 .ln:nth-child(1)>span{transform:none;transition-delay:.3s}body.loaded .hero h1 .ln:nth-child(2)>span{transform:none;transition-delay:.42s}body.loaded .hero .sub{opacity:1;transform:none;transition-delay:.6s}section{padding:160px 0}.statement{text-align:center}.statement p{font-size:30px;letter-spacing:.02em;line-height:1.7;max-width:920px;margin:30px auto 0;font-weight:200}.marquee{padding:54px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.marquee .track{display:inline-block;white-space:nowrap;animation:scrollx 30s linear infinite}.marquee .track span{font-size:46px;letter-spacing:.06em;text-transform:uppercase;font-weight:200}.marquee .track i{color:var(--muted);font-style:normal;margin:0 34px}@keyframes scrollx{0%{transform:translate(0)}to{transform:translate(-50%)}}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.feature.flip .reveal-img{order:2}.feature .reveal-img{min-height:640px}.f-text{display:flex;flex-direction:column;justify-content:center;padding:0 90px;background:var(--bg2)}.f-text .eyebrow{margin-bottom:20px}.f-text h2{font-size:24px;letter-spacing:.28em;text-transform:uppercase;line-height:1.5;margin-bottom:24px}.f-text p{color:var(--muted);margin-bottom:32px;max-width:420px;font-size:15.5px}.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.duo-col{padding:20px 70px;display:flex;flex-direction:column}.duo-col+.duo-col{border-left:1px solid var(--line)}.duo-col .eyebrow{margin-bottom:28px}.duo-title{font-size:54px;letter-spacing:.22em;text-transform:uppercase;line-height:1.1;font-weight:300;margin-bottom:28px}.duo-intro{color:var(--muted);font-size:15.5px;max-width:440px;margin-bottom:56px}.duo-list{list-style:none;border-top:1px solid var(--line);margin-bottom:44px}.duo-list li{border-bottom:1px solid var(--line)}.duo-list li a{display:block;padding:28px 4px 36px;transition:padding .35s var(--ease)}.duo-list li a:hover{padding-left:14px}.duo-list .proj-head{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:30px;margin-bottom:22px}.duo-list .num{font-size:11px;letter-spacing:.3em;color:var(--muted);font-variant-numeric:tabular-nums}.duo-list .name{font-size:18px;letter-spacing:.18em;text-transform:uppercase;font-weight:300}.duo-list .arrow{font-size:14px;color:var(--muted);transition:transform .35s var(--ease)}.duo-list li a:hover .arrow{transform:translate(8px);color:var(--ink)}.duo-list .proj-img{aspect-ratio:4/3;margin-bottom:20px}.duo-list .proj-img img{transition:transform 1.8s var(--ease)}.duo-list li a:hover .proj-img.in img{transform:scale(1.04)}.duo-list .proj-desc{color:var(--muted);font-size:14.5px;max-width:520px}.duo-list .empty{padding:26px 4px;color:var(--muted);font-size:14px;letter-spacing:.16em;text-transform:uppercase}.duo-more{align-self:flex-start}@media(max-width:900px){.duo{grid-template-columns:1fr}.duo-col{padding:60px 0}.duo-col+.duo-col{border-left:none;border-top:1px solid var(--line)}.duo-title{font-size:32px;letter-spacing:.18em}.duo-list .name{font-size:15px;letter-spacing:.14em}}.work-head{text-align:center;margin-bottom:84px}.work-head h2{font-size:26px;letter-spacing:.3em;text-transform:uppercase;margin-top:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card .reveal-img{aspect-ratio:4/5;margin-bottom:22px}.card .reveal-img img{transition:transform 1.8s var(--ease)}.card:hover .reveal-img.in img{transform:scale(1.07)}.card .cap{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(180deg,#0000 55%,#00000073);opacity:0;transition:opacity .5s ease}.card:hover .cap{opacity:1}.card .cap span{color:#fff;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:4px}.card .ct{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px}.card h3{font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}.card .ct span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.work-more{text-align:center;margin-top:80px}.band{position:relative;height:74vh;min-height:500px;display:flex;align-items:center;color:#fff;overflow:hidden}.band:before{content:"";position:absolute;inset:0;background:#14120e85;z-index:1}.band img{position:absolute;left:0;right:0;top:-12%;height:124%;z-index:0;will-change:transform}.band .inner{position:relative;z-index:2}.band .eyebrow{color:#fffc}.band h2{font-size:26px;letter-spacing:.28em;text-transform:uppercase;margin:18px 0 22px;line-height:1.5}.band p{max-width:440px;color:#ffffffd9;margin-bottom:30px}.proc-head{text-align:center;margin-bottom:80px}.proc-head h2{font-size:24px;letter-spacing:.3em;text-transform:uppercase;margin-top:16px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:46px}.step{text-align:center}.step .num{font-size:13px;letter-spacing:.3em;color:var(--muted)}.step h3{font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:18px 0 10px}.step p{color:var(--muted);font-size:13.5px}.cta{text-align:center;padding:180px 0;background:var(--bg2)}.cta h2{font-size:30px;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;margin:18px 0;font-weight:300}.cta p{color:var(--muted);max-width:440px;margin:0 auto 38px}.page-head{padding:190px 0 70px;border-bottom:1px solid var(--line);text-align:center}.page-head h1{font-size:30px;letter-spacing:.28em;text-transform:uppercase;margin-top:18px;line-height:1.5}.page-head p{color:var(--muted);max-width:560px;margin:22px auto 0;font-size:16px}.svc-rows{border-top:none}.srow{display:grid;grid-template-columns:120px 1.1fr 1.3fr 150px;gap:30px;align-items:center;padding:50px 0;border-bottom:1px solid var(--line);transition:.35s}.srow:first-child{border-top:1px solid var(--line)}.srow:hover{padding-left:16px}.srow .num{font-size:13px;letter-spacing:.3em;color:var(--muted)}.srow h3{font-size:24px;letter-spacing:.2em;text-transform:uppercase;font-weight:300}.srow p{color:var(--muted);font-size:14.5px;max-width:460px}.srow .more{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:right}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:120px 0}.about-grid .reveal-img{aspect-ratio:4/5}.about-grid h2{font-size:24px;letter-spacing:.24em;text-transform:uppercase;line-height:1.6;margin-bottom:24px}.about-grid p{color:var(--muted);margin-bottom:18px;font-size:15.5px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding:90px 0 140px}.contact-info h3{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:30px 0 8px;font-weight:400}.contact-info .big{font-size:18px;letter-spacing:.04em}form{display:flex;flex-direction:column;gap:24px}label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}input,textarea,select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:11px 0;font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-bottom-color:var(--ink)}textarea{resize:vertical;min-height:90px}form .btn{align-self:flex-start;margin-top:6px;background:transparent}.proj-hero{position:relative;height:84vh;min-height:560px;overflow:hidden}.proj-hero img{position:absolute;inset:0}.proj-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#14120e4d,#14120e00 40%)}.proj-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:110px 0}.proj-intro h1{font-size:26px;letter-spacing:.22em;text-transform:uppercase;line-height:1.5;margin-top:14px}.proj-intro .body{color:var(--muted);font-size:16px}.proj-intro .body :is(p){margin-bottom:18px}.proj-meta{display:flex;gap:50px;margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.proj-meta .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.proj-meta .v{font-size:15px;letter-spacing:.04em;margin-top:8px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:120px}.gallery .full{grid-column:1/-1;aspect-ratio:16/9}.gallery .half{aspect-ratio:4/5}.next-proj{border-top:1px solid var(--line);text-align:center;padding:100px 0}.next-proj .eyebrow{display:block;margin-bottom:16px}.next-proj a{font-size:24px;letter-spacing:.22em;text-transform:uppercase}.site-footer{background:var(--dark);color:#fff;padding:96px 0 46px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:58px;border-bottom:1px solid #322d24}.foot-logo{height:40px;width:auto;filter:brightness(0) invert(1)}.site-footer h4{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:#ffffff8c;margin-bottom:22px;font-weight:400}.site-footer ul{list-style:none}.site-footer li{margin-bottom:13px;font-size:13px;letter-spacing:.06em;color:#ffffffd1}.site-footer a:hover{color:#fff}.foot-bottom{display:flex;justify-content:space-between;margin-top:32px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73}@media(max-width:900px){.wrap{padding:0 24px}.nav nav ul{display:none}.hero h1{font-size:20px;letter-spacing:.24em}.hero .sub{flex-direction:column;align-items:flex-start;gap:18px}.feature{grid-template-columns:1fr}.feature.flip .reveal-img{order:0}.feature .reveal-img{min-height:420px}.f-text{padding:60px 24px}.grid3,.steps,.foot-grid,.about-grid,.contact-grid,.proj-intro,.gallery{grid-template-columns:1fr;gap:30px}.srow{grid-template-columns:1fr;gap:8px}.srow .more{display:none}.statement p,.marquee .track span{font-size:22px}section{padding:90px 0}.page-head{padding:150px 0 50px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}.reveal-img:after{display:none}.reveal-img img{transform:none}#pre{display:none}}.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:#111;color:#fff;padding:12px 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.skip-link:focus{left:12px;top:12px}.hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}.form-note{margin-top:16px;font-size:14px;color:var(--muted,#777);line-height:1.6}.form-note a{text-decoration:underline}.crumbs{padding:28px 0 0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#8a8a8a)}.crumbs a{color:inherit}.crumbs a:hover{color:var(--ink,#111)}.crumbs span{margin:0 8px;opacity:.5}.crumbs [aria-current]{margin:0;opacity:1;color:var(--ink,#111)}.faq{max-width:820px;margin:0 auto;border-top:1px solid rgba(0,0,0,.1)}.faq details{border-bottom:1px solid rgba(0,0,0,.1)}.faq summary{list-style:none;cursor:pointer;padding:26px 40px 26px 0;position:relative;font-size:clamp(17px,2vw,21px);font-weight:300;line-height:1.4}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:200;transition:transform .3s ease}.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq details p{padding:0 40px 28px 0;margin:0;color:var(--muted,#666);line-height:1.75;font-size:15px;max-width:68ch}.areas{max-width:820px;margin:0 auto;text-align:center;padding:12px 0}.areas p{margin-top:14px;color:var(--muted,#666);line-height:1.8;font-size:15px}.foot-blurb{margin-top:18px;font-size:13px;line-height:1.7;color:var(--muted,#888);max-width:26ch}img{max-width:100%;height:auto}.hero .slide img,.proj-hero img,.reveal-img img,.card .reveal-img img{height:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.cursor{display:none!important}}.areas-sub{margin-top:16px!important;font-size:12.5px!important;letter-spacing:.04em;line-height:2!important;color:var(--muted,#999)!important;opacity:.85}
