:root{--bg:#F7F3EC;--bg-2:#F0EBE1;--ink:#19150F;--muted:#867E70;--line:#E4DDD0;--line-dark:#2c2820;--serif:"Playfair Display", Georgia, serif;--sans:"Inter", system-ui, sans-serif}*{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.6;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover;background:var(--bg-2)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,blockquote{font-family:var(--serif);font-weight:500}.wrap{max-width:1320px;margin:0 auto;padding:0 48px}.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:400;font-family:var(--sans)}.serif{font-family:var(--serif)}.textlink{font-size:12px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-block}.btn{display:inline-block;border:1px solid var(--ink);padding:13px 26px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);transition:.25s}.btn:hover{background:var(--ink);color:var(--bg)}.btn-light{display:inline-block;border:1px solid #fff;color:#fff;padding:14px 30px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:.25s}.btn-light:hover{background:#fff;color:var(--ink)}.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:88px}.brand .mark{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:.2em;line-height:1}.brand .tag{font-size:8.5px;letter-spacing:.34em;text-transform:lowercase;color:var(--muted);margin-top:5px;padding-left:3px}.over-hero .brand .mark{color:#fff}.over-hero .brand .tag{color:#ffffffb8}.brand-logo{width:auto;height:34px;object-fit:contain;display:block}.over-hero .brand-logo{filter:brightness(0) invert(1)}.footer-logo{height:46px;filter:brightness(0) invert(1)}.nav nav ul{display:flex;gap:40px;list-style:none;align-items:center}.nav nav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:.2s}.nav nav a:hover{color:var(--ink)}.over-hero nav a{color:#ffffffd9}.over-hero nav a:hover{color:#fff}.nav-line{width:1px;height:16px;background:var(--line);display:inline-block}.over-hero .nav-line{background:#fff6}section{padding:120px 0}.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:40px}.sec-head h2{font-size:46px;line-height:1.1;max-width:620px}.page-head{padding:160px 0 70px;border-bottom:1px solid var(--line)}.page-head h1{font-size:64px;line-height:1.04;margin-top:18px}.page-head p{color:var(--muted);font-size:18px;max-width:560px;margin-top:22px}.hero{position:relative;height:100vh;min-height:680px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:#00000057;z-index:1}.hero img{position:absolute;inset:0;z-index:0}.hero-inner{position:relative;z-index:2;padding:0 24px}.hero .eyebrow{color:#ffffffd9}.hero h1{font-size:92px;line-height:1;letter-spacing:-1px;margin:22px 0 26px;color:#fff}.hero h1 em{font-style:italic}.hero p{max-width:440px;margin:0 auto;color:#ffffffe6;font-size:17px}.scroll{position:absolute;bottom:34px;left:50%;transform:translate(-50%);z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#ffffffbf}.scroll:after{content:"";display:block;width:1px;height:40px;background:#ffffff80;margin:14px auto 0}.statement{padding:140px 0;text-align:center}.statement p{font-size:44px;line-height:1.32;max-width:1000px;margin:22px auto 0;font-family:var(--serif);font-weight:400}.statement p span{color:var(--muted)}.services-rows{border-top:1px solid var(--line)}.srow{display:grid;grid-template-columns:90px 1fr 1.4fr 150px;gap:30px;align-items:center;padding:46px 0;border-bottom:1px solid var(--line);transition:.3s}.srow:hover{padding-left:14px}.srow .num{font-family:var(--serif);font-size:24px;color:var(--muted)}.srow h3{font-size:38px}.srow p{color:var(--muted);font-size:15px;max-width:460px}.srow .more{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:right}.work-head{text-align:center;margin-bottom:90px}.work-head h2{font-size:54px;margin-top:14px}.erow{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:130px}.erow:last-child{margin-bottom:0}.erow:nth-child(2n) .etext{order:2}.erow .eimg{aspect-ratio:4/3;overflow:hidden}.erow.portrait .eimg{aspect-ratio:4/5}.erow img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}.erow:hover img{transform:scale(1.04)}.etext .idx{font-family:var(--serif);font-size:20px;color:var(--muted)}.etext h3{font-size:46px;line-height:1.05;margin:16px 0 18px}.etext .type{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.etext p{color:var(--muted);font-size:15.5px;margin:20px 0 26px;max-width:430px}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 36px}.pf-card{cursor:pointer}.pf-card .img{overflow:hidden;aspect-ratio:3/2.2}.pf-card.tall .img{aspect-ratio:3/3.5}.pf-card img{transition:transform .9s cubic-bezier(.2,.8,.2,1)}.pf-card:hover img{transform:scale(1.04)}.pf-card .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.pf-card .meta h3{font-size:24px}.pf-card .meta span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.proj-hero{height:78vh;min-height:520px;position:relative;overflow:hidden}.proj-hero img{position:absolute;inset:0}.proj-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:100px 0}.proj-intro .eyebrow{margin-bottom:14px;display:block}.proj-intro h1{font-size:52px;line-height:1.05}.proj-intro .body{color:var(--muted);font-size:16px}.proj-intro .body :is(p){margin-bottom:18px}.proj-meta{display:flex;gap:46px;margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.proj-meta .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.proj-meta .v{font-family:var(--serif);font-size:20px;margin-top:6px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:120px}.gallery .full{grid-column:1 / -1;aspect-ratio:16/9;overflow:hidden}.gallery .half{aspect-ratio:4/5;overflow:hidden}.next-proj{border-top:1px solid var(--line);text-align:center;padding:90px 0}.next-proj a{font-family:var(--serif);font-size:40px}.next-proj .eyebrow{display:block;margin-bottom:16px}.approach{background:var(--ink);color:#fff;padding:140px 0;text-align:center}.approach .eyebrow{color:#fff9}.approach h2{font-size:50px;margin:16px 0 80px;color:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:50px;text-align:left}.step .num{font-family:var(--serif);font-size:46px;border-bottom:1px solid var(--line-dark);padding-bottom:22px;margin-bottom:22px}.step h3{font-size:26px;margin-bottom:12px;color:#fff}.step p{font-size:13.5px;color:#fff9}.quote{padding:150px 0;text-align:center}.quote blockquote{font-weight:400;font-size:44px;line-height:1.4;max-width:1000px;margin:24px auto 0}.cta{position:relative;height:68vh;min-height:460px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.cta:before{content:"";position:absolute;inset:0;background:#00000075;z-index:1}.cta img{position:absolute;inset:0;z-index:0}.cta-inner{position:relative;z-index:2}.cta h2{font-size:62px;line-height:1.05;color:#fff}.cta p{margin:22px auto 36px;max-width:460px;color:#ffffffe6}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:110px 0}.about-grid .img{aspect-ratio:4/5;overflow:hidden}.about-grid h2{font-size:40px;line-height:1.12;margin-bottom:22px}.about-grid p{color:var(--muted);margin-bottom:18px}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding:90px 0 130px}.contact-info h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-family:var(--sans);font-weight:500;color:var(--muted);margin:30px 0 8px}.contact-info .big{font-family:var(--serif);font-size:24px}form{display:flex;flex-direction:column;gap:22px}label{display:block;font-size:11px;letter-spacing:.16em;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:10px 0;font-family:var(--sans);font-size:16px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-bottom-color:var(--ink)}textarea{resize:vertical;min-height:90px}.site-footer{background:var(--ink);color:#fff;padding:80px 0 40px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:50px}.site-footer .mark{font-family:var(--serif);font-weight:600;font-size:32px;letter-spacing:.2em}.site-footer .tag{font-size:9px;letter-spacing:.34em;text-transform:lowercase;color:#fff9;margin-top:6px}.site-footer h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff9;margin-bottom:18px;font-family:var(--sans);font-weight:500}.site-footer ul{list-style:none}.site-footer li{margin-bottom:11px;font-size:14px;color:#ffffffd1}.site-footer a:hover{color:#fff}.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line-dark);padding-top:28px;font-size:12px;color:#ffffff80}@media(max-width:900px){.wrap{padding:0 24px}.nav nav ul{display:none}section{padding:80px 0}.hero h1{font-size:52px}.statement p,.quote blockquote{font-size:28px}.srow{grid-template-columns:1fr;gap:8px}.srow .more{display:none}.erow,.steps,.foot-grid,.pf-grid,.proj-intro,.about-grid,.contact-grid,.gallery{grid-template-columns:1fr;gap:30px}.erow:nth-child(2n) .etext{order:0}.etext h3,.cta h2,.page-head h1{font-size:36px}.work-head h2,.approach h2,.sec-head h2{font-size:32px}.about-grid{gap:36px}.contact-grid{gap:44px}}
