*{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f5f2eb;--dark:#1d1c19;--muted:#6e6b64;--line:#d9d5cc;--wood:#8b684c}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--dark);line-height:1.6}a{text-decoration:none;color:inherit}.header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,242,235,.94);backdrop-filter:blur(10px);z-index:10}.logo{font-weight:700;letter-spacing:.05em;font-size:16px}.logo span{color:var(--wood)}nav{display:flex;gap:32px;font-size:14px}nav a:hover,.text-link:hover{opacity:.55}.header-cta{border-bottom:1px solid var(--dark);font-size:14px;padding-bottom:4px}.menu{display:none;background:none;border:0;font-size:24px}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:46% 54%;padding:0 5vw}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:8vw 5vw 8vw 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin-bottom:25px}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08}h1{font-size:clamp(48px,6vw,88px);letter-spacing:-.04em}h1 em,h2 em{font-style:italic;color:var(--wood)}.hero-text{max-width:520px;color:var(--muted);font-size:17px;margin:30px 0 38px}.hero-image{height:100%;min-height:650px}.hero-image img,.gallery img,.about-image img{width:100%;height:100%;object-fit:cover;display:block}.button{display:inline-flex;align-items:center;gap:25px;padding:15px 22px;font-size:13px;font-weight:600;border:1px solid var(--dark);transition:.25s}.button-dark{background:var(--dark);color:var(--cream)}.button-dark:hover{background:transparent;color:var(--dark)}.button-light:hover{background:var(--dark);color:var(--cream)}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.section{padding:120px 5vw;border-top:1px solid var(--line)}.intro-grid,.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.section-heading h2{font-size:clamp(38px,4vw,62px);max-width:680px}.intro-grid p,.section-heading>p{color:var(--muted);max-width:500px;font-size:16px}.section-heading{align-items:end;margin-bottom:65px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-35px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:230px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card span{font-size:11px;color:var(--muted)}.service-card h3{font-size:20px;margin:35px 0 12px}.service-card p{font-size:14px;color:var(--muted);max-width:300px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:310px;gap:14px}.gallery-grid figure{overflow:hidden}.gallery-grid img{transition:transform .6s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-large{grid-row:span 2}.gallery-grid figure:nth-child(5){grid-column:2/4}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-image{height:650px}.about-copy h2{font-size:clamp(40px,4vw,60px);margin-bottom:30px}.about-copy p:not(.eyebrow){color:var(--muted);max-width:500px;margin-bottom:18px}.text-link{display:inline-block;border-bottom:1px solid var(--dark);padding-bottom:5px;margin-top:25px;font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin-top:50px}.process-grid div{border-top:1px solid var(--dark);padding-top:20px}.process-grid strong{font-size:12px;color:var(--wood)}.process-grid h3{font-size:20px;margin:30px 0 12px}.process-grid p{color:var(--muted);font-size:14px;max-width:300px}.contact{background:#e9e5dc;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2{font-size:clamp(45px,5vw,72px);max-width:650px}.contact-text{color:var(--muted);max-width:450px;margin-top:25px}.contact-details{display:flex;flex-direction:column}.contact-details a,.contact-details p{padding:22px 0;border-bottom:1px solid #cbc6bb;display:flex;flex-direction:column}.contact-details small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}.contact-details span{font-size:17px}.final-cta{padding:150px 5vw;text-align:center;background:var(--dark);color:var(--cream)}.final-cta p{font-size:10px;letter-spacing:.2em;margin-bottom:30px;color:#aaa}.final-cta h2{font-size:clamp(55px,8vw,110px);margin-bottom:45px}.final-cta .button{border-color:var(--cream)}footer{padding:35px 5vw;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}footer .logo{color:var(--dark)}footer a{text-decoration:underline}@media(max-width:800px){.header{height:70px}.header nav,.header-cta{display:none}.menu{display:block}.hero{display:flex;flex-direction:column;padding:0}.hero-content{padding:80px 7vw}.hero-image{min-height:55vh}.section{padding:85px 7vw}.intro-grid,.section-heading,.about,.contact{grid-template-columns:1fr;gap:35px}.section-heading .eyebrow{grid-column:auto;margin-bottom:0}.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-large{grid-row:span 1}.gallery-grid figure:nth-child(5){grid-column:auto}.about-image{height:450px}.process-grid{grid-template-columns:1fr;gap:40px}.contact{gap:60px}.final-cta{padding:100px 7vw}footer{flex-direction:column;gap:18px;text-align:center}}