*{box-sizing:border-box} :root{--ink:#1d1d1a;--paper:#f5f2ec;--muted:#817d74;--line:#d9d4ca;--accent:#a68e71}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.announcement{padding:8px 16px;background:#242420;color:#e8e3da;text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.announcement span{color:#c2a889;padding:0 8px}.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(29,29,26,.08)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:14px;letter-spacing:-.08em}.brand-name{font-size:13px;font-weight:700;letter-spacing:.19em;line-height:1.2}.brand-name small{display:block;font-size:8px;letter-spacing:.34em;font-weight:500;margin-top:5px}.main-nav{display:flex;align-items:center;gap:34px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.main-nav a{transition:opacity .2s}.main-nav a:hover{opacity:.55}.nav-cta{padding:12px 16px;border:1px solid var(--ink)}.nav-cta span{padding-left:12px}.menu-toggle{display:none;border:0;background:none;font-size:23px}.hero{min-height:680px;height:min(82vh,850px);position:relative;display:flex;align-items:center;overflow:hidden;background:#24221f;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url("https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=2200&q=90");background-size:cover;background-position:center 35%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(15,15,13,.82) 0%,rgba(15,15,13,.55) 42%,rgba(15,15,13,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 35%)}.hero-content{position:relative;z-index:1;margin-left:11%;max-width:600px;padding:70px 24px 80px 0}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:600;color:var(--muted);margin:0 0 20px;text-transform:uppercase}.eyebrow.light{color:#e1d4c4}.hero h1,.section-heading h2,.intro h2,.about h2,.contact h2{font-family:"Playfair Display",serif;font-size:clamp(44px,6vw,78px);font-weight:400;letter-spacing:-.045em;line-height:1.04;margin:0}.hero h1 em,.section-heading h2 em,.intro h2 em,.about h2 em,.contact h2 em{font-weight:400;color:#cbb69e}.hero-copy{max-width:420px;color:#e7e3dc;font-size:14px;margin:25px 0 30px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 19px;font:600 10px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:all .2s}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#d7c5af}.button span{font-size:16px}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.text-link span{padding-left:9px}.hero-note{position:absolute;bottom:25px;left:6.5%;right:6.5%;display:flex;justify-content:space-between;color:#eee7de;font-size:9px;letter-spacing:.15em}.section-pad{padding:110px 9%}.section-kicker{font-size:10px;letter-spacing:.2em;color:var(--muted);margin-bottom:35px}.section-kicker span{color:var(--accent);padding-left:8px}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:start}.intro h2,.section-heading h2,.about h2{font-size:clamp(38px,4.7vw,59px)}.intro h2 em,.section-heading h2 em,.about h2 em{color:#9b8369}.intro-copy{max-width:440px;padding-top:5px}.intro-copy p,.about-content>p:not(.eyebrow){font-size:13px;line-height:2;color:#69665e;margin:0 0 18px}.underlined-link{display:inline-block;border-bottom:1px solid var(--ink);padding:0 0 8px;margin-top:13px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.underlined-link span{padding-left:18px}.portfolio{background:#ebe7df}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{font-size:12px;color:#777168;line-height:1.9;margin:0 0 5px}.portfolio-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;grid-template-rows:260px 260px;gap:13px}.portfolio-card{position:relative;display:block;overflow:hidden;background:#d3cdc2;min-height:220px}.portfolio-card.card-tall{grid-row:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portfolio-card:hover img{transform:scale(1.04)}.image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,12,11,.72),transparent 60%)}.card-caption{position:absolute;bottom:22px;left:22px;right:18px;color:white;display:flex;flex-direction:column;align-items:flex-start}.card-caption small{font-size:8px;letter-spacing:.16em;color:#ddd0c1;margin-bottom:8px}.card-caption strong{font:400 23px "Playfair Display",serif}.card-caption>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:9px}.portfolio-note{font-size:10px;color:#81796f;margin-top:18px}.service-list{border-top:1px solid var(--line);margin-top:55px}.service-row{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}.service-number{font-size:10px;letter-spacing:.1em;color:#9a8c7a}.service-row h3{font:400 25px "Playfair Display",serif;margin:0 0 4px}.service-row p{font-size:12px;color:#777168;margin:0}.service-arrow{font-size:21px;text-align:right;transition:transform .2s}.service-row:hover .service-arrow{transform:translate(3px,-3px)}.quote-band{background:#dcd2c4;text-align:center;padding:75px 20px 70px}.quote-mark{font:70px "Playfair Display",serif;color:#9c856c;line-height:.7}.quote-band blockquote{max-width:700px;margin:20px auto 22px;font:400 clamp(27px,4vw,45px)/1.25 "Playfair Display",serif;letter-spacing:-.03em}.quote-band p{font-size:9px;letter-spacing:.22em;margin:0}.about{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:center}.about-image{height:540px;overflow:hidden;background:#ddd5c9}.about-image img{width:100%;height:100%;object-fit:cover}.about-content{max-width:520px}.about-content h2{margin-bottom:27px}.about-content .underlined-link{margin-top:13px}.contact{background:#242420;color:#f5f2ec;display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;padding-top:95px;padding-bottom:95px}.contact h2{font-size:clamp(45px,5vw,68px)}.contact-intro>p:not(.eyebrow){max-width:360px;color:#c6c1b7;line-height:1.9;margin:25px 0 40px}.contact-details{display:flex;flex-direction:column;gap:6px}.contact-details span{font-size:8px;letter-spacing:.2em;color:#b7a38c;margin-top:15px}.contact-details strong{font-size:12px;font-weight:500}.inquiry-form{display:flex;flex-direction:column;gap:9px}.inquiry-form label{font-size:10px;letter-spacing:.08em;color:#d4cfc6;margin-top:7px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;background:#2e2e29;color:#fff;border:1px solid #535149;padding:13px 12px;font:12px "DM Sans",sans-serif;border-radius:0;outline:none}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#cbb69e}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#a19c92}.inquiry-form select{color:#ddd8cf}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-two>div{display:flex;flex-direction:column;gap:9px}.submit-button{align-self:flex-start;margin-top:12px}.form-note,.form-status{font-size:10px;line-height:1.7;color:#a7a196;margin:4px 0}.footer{padding:38px 6.5% 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}.footer-brand .brand-mark{width:34px;height:34px;font-size:12px}.footer-brand .brand-name{font-size:11px}.footer p{font-size:11px;color:#777168;text-align:center}.footer-links{display:flex;justify-content:flex-end;gap:20px;font-size:10px}.footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;color:#8b857a;font-size:9px;letter-spacing:.05em}.menu-open .main-nav{display:flex}
@media(max-width:850px){.section-pad{padding:80px 6%}.site-header{padding:0 5%;height:72px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:25px 6%;flex-direction:column;align-items:flex-start;gap:22px;border-bottom:1px solid var(--line)}.main-nav .nav-cta{display:inline-block}.hero{min-height:640px;height:78vh}.hero-content{margin-left:7%;max-width:550px}.hero h1{font-size:clamp(48px,9vw,72px)}.intro-grid,.about,.contact{grid-template-columns:1fr;gap:42px}.intro-grid{gap:25px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 240px}.portfolio-card.card-tall{grid-row:span 2}.section-heading{align-items:flex-start;flex-direction:column;gap:14px}.about-image{height:440px}.contact{gap:48px}.footer{grid-template-columns:1fr 1fr}.footer p{display:none}.footer-links{grid-column:2;grid-row:1}.footer>small{grid-column:1/-1}}
@media(max-width:540px){.announcement{font-size:8px;letter-spacing:.06em}.brand-mark{width:35px;height:35px}.brand-name{font-size:11px}.hero{min-height:650px;height:82vh}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(15,15,13,.78),rgba(15,15,13,.23)),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%)}.hero-content{margin-left:7%;padding-right:7%;padding-top:30px}.hero h1{font-size:48px}.hero-copy{font-size:13px;max-width:300px}.hero-actions{align-items:flex-start;flex-direction:column;gap:19px}.hero-note{font-size:7px;left:6%;right:6%}.section-pad{padding:68px 6%}.intro h2,.section-heading h2,.about h2{font-size:40px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 210px 210px;gap:8px}.portfolio-card.card-tall{grid-row:span 2}.card-caption{left:12px;bottom:13px}.card-caption strong{font-size:18px}.card-caption small{font-size:7px}.card-caption>span{font-size:8px}.service-row{grid-template-columns:30px 1fr 20px;gap:10px;padding:22px 0}.service-row h3{font-size:21px}.service-row p{font-size:11px}.about-image{height:360px}.form-two{grid-template-columns:1fr;gap:5px}.contact{padding-top:70px;padding-bottom:70px}.footer{padding:30px 6%;grid-template-columns:1fr}.footer-links{grid-column:1;grid-row:auto;justify-content:flex-start}.footer>small{grid-column:1}.footer-brand .brand-name{font-size:10px}}
