:root { --ink:#1d2928; --paper:#f4f0e8; --cream:#e9e0d1; --copper:#b8784d; --line:rgba(29,41,40,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.site-header { height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,4vw,64px); background:var(--paper); }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; letter-spacing:-.04em; font-size:1.06rem; }
.brand-mark { width:19px; height:19px; display:inline-block; border:2px solid currentColor; position:relative; }
.brand-mark:before,.brand-mark:after { content:""; position:absolute; background:currentColor; }
.brand-mark:before { width:2px; inset:0 auto 0 7px; }.brand-mark:after { height:2px; inset:7px 0 auto 0; }
nav { display:flex; gap:30px; font-size:.84rem; font-weight:600; }.nav-cta,.text-link { font-size:.85rem; font-weight:700; }.nav-cta span,.text-link span,.button span { font-size:1.15em; margin-left:5px; }
.hero { min-height:calc(100vh - 82px); position:relative; display:flex; align-items:flex-end; padding:clamp(36px,7vw,108px) clamp(20px,7.5vw,120px); color:#fff; overflow:hidden; }
.hero-image,.hero-overlay { position:absolute; inset:0; width:100%; height:100%; }.hero-image { object-fit:cover; object-position:center; }.hero-overlay { background:linear-gradient(90deg,rgba(18,26,25,.78) 0%,rgba(18,26,25,.36) 48%,rgba(18,26,25,.1) 100%); }
.hero-content,.hero-note { position:relative; }.hero-content { max-width:665px; }.eyebrow { font:500 .7rem/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.09em; color:#6e675b; margin:0 0 22px; }.eyebrow.light { color:rgba(255,255,255,.78); }
h1,h2 { margin:0; letter-spacing:-.055em; font-family:"Playfair Display",Georgia,serif; font-weight:500; line-height:.97; } h1 { font-size:clamp(3.65rem,8vw,7.8rem); } h1 em { display:block; font-weight:500; }.hero-copy { max-width:470px; font-size:1.08rem; margin:30px 0 32px; color:rgba(255,255,255,.91); }
.hero-actions { display:flex; align-items:center; gap:25px; }.button { display:inline-flex; align-items:center; padding:15px 19px; font-size:.84rem; font-weight:700; border-radius:2px; }.button-light { background:#fff; color:var(--ink); }.button-dark { background:var(--ink); color:#fff; }.text-link { border-bottom:1px solid currentColor; padding-bottom:3px; }.light { color:#fff; }.hero-note { position:absolute; right:clamp(20px,4vw,64px); bottom:28px; writing-mode:vertical-rl; font:500 .65rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.78); }
.intro,.services,.consultation { padding:clamp(72px,12vw,164px) clamp(20px,10vw,160px); }.intro-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(38px,10vw,160px); }.intro h2,.section-heading h2,.consultation h2 { font-size:clamp(2.6rem,5.3vw,5.25rem); }.intro-grid div { padding-top:9px; }.intro-grid p,.consultation > p:not(.eyebrow) { margin:0 0 28px; font-size:1.05rem; max-width:420px; }
.services { background:var(--cream); }.section-heading { display:flex; justify-content:space-between; align-items:start; gap:30px; }.section-heading h2 { max-width:680px; }.service-grid { margin-top:80px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.service-grid article { min-height:250px; padding:25px 28px 10px 0; border-right:1px solid var(--line); }.service-grid article+article { padding-left:28px; }.service-grid article:last-child { border-right:0; }.service-number { font:500 .7rem "DM Mono",monospace; color:#70685c; }.service-grid h3,.process h3 { margin:56px 0 12px; font-size:1.4rem; letter-spacing:-.04em; }.service-grid p,.process p { margin:0; max-width:270px; color:#5d625d; font-size:.92rem; }
.process { background:var(--ink); color:#fff; padding:clamp(72px,12vw,164px) clamp(20px,10vw,160px); display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(52px,12vw,180px); }.process h2 { font-size:clamp(3rem,5.5vw,5.6rem); }.process ol { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.25); }.process li { padding:29px 0 32px; display:grid; grid-template-columns:70px 1fr; border-bottom:1px solid rgba(255,255,255,.25); }.process li>span { font:500 .7rem "DM Mono",monospace; color:#c7b99f; }.process h3 { margin:0 0 10px; font-size:1.55rem; }.process p { color:rgba(255,255,255,.68); max-width:390px; }
.consultation { text-align:center; display:flex; flex-direction:column; align-items:center; background:#d2c1aa; }.consultation h2 { max-width:780px; }.consultation > p:not(.eyebrow) { margin:27px auto 34px; }.consultation .eyebrow { color:#655a4d; }
footer { padding:28px clamp(20px,4vw,64px); display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:20px; background:var(--ink); color:#fff; font-size:.78rem; } footer p { margin:0; color:rgba(255,255,255,.66); } footer p:nth-child(2) { text-align:center; }
@media (max-width:760px) { .site-header { height:70px; }.site-header nav { display:none; }.nav-cta { font-size:.76rem; }.hero { min-height:680px; padding-bottom:78px; }.hero-overlay { background:linear-gradient(0deg,rgba(18,26,25,.72),rgba(18,26,25,.14) 75%); }.hero-copy { font-size:1rem; }.intro-grid,.process { grid-template-columns:1fr; }.service-grid { grid-template-columns:1fr; margin-top:48px; }.service-grid article,.service-grid article+article { min-height:auto; padding:24px 0 28px; border-right:0; border-bottom:1px solid var(--line); }.service-grid h3 { margin:27px 0 9px; }.section-heading { display:block; }.section-heading .eyebrow { margin-bottom:28px; }.process { gap:48px; }.process li { grid-template-columns:48px 1fr; }.consultation,.intro,.services,.process { padding-left:20px; padding-right:20px; } footer { grid-template-columns:1fr; } footer p:nth-child(2) { text-align:left; } }
