@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@300;400;500&display=swap');
:root{--ink:#151310;--paper:#f3efe8;--white:#faf8f3;--muted:#777168;--line:#d7d0c5;--gold:#a68a55;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}.grain{position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:100;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.46),transparent)}.brand img{width:118px;height:auto;display:block;filter:brightness(0) invert(1)}.nav-links{display:flex;gap:38px}.nav-links a,.menu-toggle{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.menu-toggle{display:none;background:none;border:0}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.hero-content{position:absolute;left:8vw;bottom:15vh;max-width:700px}.eyebrow,.kicker{font-size:10px;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-family:var(--serif);font-size:clamp(74px,9vw,136px);line-height:.78;font-weight:400;letter-spacing:-.045em;margin:25px 0 34px}.hero h1 em,.section h2 em{font-style:italic}.hero-copy{font-size:14px;line-height:1.7;max-width:560px;margin:0 0 34px}.hero-cta,.text-link{display:inline-block;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;border-bottom:1px solid currentColor;padding-bottom:9px}.hero-cta span{margin-left:20px}.hero-bottom{position:absolute;bottom:26px;left:5.5vw;right:5.5vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em}.section{padding:130px 8vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:58px}.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6.5vw,92px);line-height:.84;letter-spacing:-.04em;margin:18px 0 0}.section-note{font-size:11px;line-height:1.7;color:var(--muted);text-align:right}.interiors{background:var(--white)}.interior-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:24px}.interior-card{margin:0;position:relative;overflow:hidden;min-height:440px;background:#ddd}.interior-card.large{min-height:620px}.interior-card.wide{grid-column:1/-1;min-height:520px}.interior-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.interior-card:hover img{transform:scale(1.035)}.interior-card figcaption{position:absolute;left:24px;right:24px;bottom:22px;display:grid;grid-template-columns:40px 1fr;align-items:end;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}.interior-card figcaption span{grid-row:span 2;font-size:9px;letter-spacing:.16em}.interior-card figcaption b{font-size:11px;font-weight:400;letter-spacing:.18em}.interior-card figcaption small{font-family:var(--serif);font-size:18px}.statement{background:var(--paper)}.statement-row{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw}.statement h2{font-size:clamp(60px,7vw,105px)}.statement-row>p{font-size:16px;line-height:1.9;color:#555047;max-width:550px;margin-top:18px}.architecture{background:var(--ink);color:#f4f0e8}.architecture .kicker,.architecture .section-note{color:#aaa59c}.architecture .text-link{color:#f4f0e8}.architecture-feature{display:grid;grid-template-columns:1.45fr .8fr;min-height:610px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.arch-image{min-height:610px;overflow:hidden}.arch-image img{width:100%;height:100%;object-fit:cover;display:block}.arch-copy{padding:70px 0 70px 7vw;display:flex;flex-direction:column;justify-content:center}.arch-no{font-family:var(--serif);font-size:20px;color:var(--gold);margin-bottom:80px}.arch-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.8vw,70px);line-height:.9;margin:0 0 24px}.arch-copy>p:not(.kicker){font-size:14px;line-height:1.8;color:#bbb6ae;max-width:460px}.outline-button{align-self:flex-start;margin-top:28px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:13px 18px;text-transform:uppercase;letter-spacing:.14em;font-size:9px;cursor:pointer}.outline-button span{margin-left:24px}.project-list{margin-top:45px}.project-list button{width:100%;display:grid;grid-template-columns:60px 1.4fr 1fr 30px;gap:20px;align-items:center;text-align:left;color:#f4f0e8;background:none;border:0;border-top:1px solid rgba(255,255,255,.16);padding:25px 0;cursor:pointer}.project-list button:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.project-list span{color:var(--gold);font-family:var(--serif);font-size:18px}.project-list strong{font-family:var(--serif);font-weight:400;font-size:27px}.project-list small{color:#aaa59c;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.project-list i{font-style:normal;font-size:18px;text-align:right}
.profile{background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center;padding-top:145px;padding-bottom:145px}
.profile-image-wrap{position:relative;aspect-ratio:1/1.08;overflow:hidden;background:#d8d2c9}
.profile-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.profile-image-wrap:hover img{transform:scale(1.025)}
.profile-caption{position:absolute;left:22px;bottom:20px;color:#fff;font-size:9px;letter-spacing:.18em;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.profile-copy{max-width:700px}
.profile-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(58px,6.2vw,92px);line-height:.84;letter-spacing:-.04em;margin:20px 0 34px}
.profile-copy h2 em{font-style:italic}
.profile-lead{font-family:var(--serif);font-size:25px;line-height:1.25;color:#37332d;max-width:620px;margin:0 0 22px}
.profile-copy>p:not(.kicker):not(.profile-lead):not(.profile-signature){font-size:14px;line-height:1.9;color:#625d55;max-width:650px}
.profile-meta{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 40px}
.profile-meta span{font-size:9px;letter-spacing:.15em;border:1px solid var(--line);padding:10px 12px}
.profile-copy blockquote{margin:0;border-left:1px solid var(--gold);padding:2px 0 2px 24px;font-family:var(--serif);font-size:25px;line-height:1.2;color:#2f2b26}
.profile-signature{font-family:var(--serif);font-size:16px!important;color:var(--gold)!important;margin:12px 0 0 25px}
.about{background:var(--white);display:grid;grid-template-columns:1fr .9fr;gap:9vw;align-items:center}.about h2{font-size:clamp(55px,6vw,86px)}.about-copy>p:not(.kicker){font-size:15px;line-height:1.85;color:#4f4a43;max-width:650px}.about-facts{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.about-facts span{font-size:9px;letter-spacing:.15em;border:1px solid var(--line);padding:10px 12px}.about-image{aspect-ratio:1/1.05;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.services{background:#ded9d0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c8c1b6;margin-top:55px}.service-grid>div{background:#ded9d0;padding:34px 28px;min-height:220px}.service-grid span{color:var(--gold);font-family:var(--serif);font-size:18px}.service-grid h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1;margin:60px 0 14px}.service-grid p{font-size:12px;line-height:1.65;color:#625d55}.contact{background:#171512;color:#f4f0e8}.contact .kicker,.contact>p{color:#aaa59c}.contact h2{font-size:clamp(70px,9vw,130px);margin:25px 0 18px}.contact>p:not(.kicker){font-size:15px}.contact-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:42px}.contact-links a{color:#f4f0e8;text-decoration:none;border-bottom:1px solid #68645e;padding-bottom:9px;font-size:11px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 5.5vw;background:#0d0c0a;color:#8d8981;text-transform:uppercase;letter-spacing:.12em;font-size:9px}footer a{color:#fff;text-decoration:none}.modal{position:fixed;inset:0;z-index:90;background:rgba(9,8,7,.98);color:#fff;overflow:auto;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.modal-close{position:fixed;z-index:2;top:26px;right:4vw;width:46px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:none;color:#fff;font-size:28px;cursor:pointer}.modal-inner{width:min(1180px,88vw);margin:110px auto 80px}.modal-heading{max-width:820px;margin-bottom:55px}.modal-heading h2{font-family:var(--serif);font-size:clamp(56px,7vw,100px);font-weight:400;line-height:.88;margin:16px 0 18px}.modal-heading p:last-child{color:#b7b2aa;line-height:1.7;max-width:700px}.modal-gallery{display:grid;gap:20px}.modal-gallery img{width:100%;display:block;background:#1d1b18}.no-scroll{overflow:hidden}
@media(max-width:900px){.site-header{height:76px;padding:0 6vw}.brand img{width:98px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#171512;padding:24px 6vw;flex-direction:column;gap:20px}.nav-links.open{display:flex}.hero{min-height:650px}.hero-content{left:6vw;right:6vw;bottom:13vh}.hero h1{font-size:clamp(65px,17vw,100px)}.hero-bottom{left:6vw;right:6vw}.section{padding:90px 6vw}.section-head{display:block}.section-note{text-align:left;margin-top:28px}.interior-grid{grid-template-columns:1fr;gap:16px}.interior-card,.interior-card.large,.interior-card.wide{grid-column:auto;min-height:430px}.statement-row,.about,.profile{grid-template-columns:1fr;gap:45px}.architecture-feature{grid-template-columns:1fr}.arch-image{min-height:400px}.arch-copy{padding:50px 0}.arch-no{margin-bottom:45px}.project-list button{grid-template-columns:40px 1fr 25px}.project-list small{display:none}.project-list strong{font-size:23px}.service-grid{grid-template-columns:1fr 1fr}.service-grid>div{min-height:200px}.contact h2{font-size:18vw}footer{flex-direction:column}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.interior-card figcaption small{font-size:16px}}
