:root{--ink:#17221e;--muted:#68716c;--cream:#f3f0e8;--sand:#ddd5c4;--line:#c9c6bb;--accent:#8a6848}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid #dedbd1}.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1}.logo span{font-weight:700;letter-spacing:.14em;font-size:18px}.logo small{font-size:8px;letter-spacing:.28em;margin-top:7px}.nav{display:flex;gap:32px;align-items:center}.nav a{text-decoration:none;font-size:13px;font-weight:600}.nav-cta{padding:11px 18px;border:1px solid var(--ink)}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{min-height:78vh;display:flex;align-items:flex-end;padding:9vw 8vw;position:relative;background:linear-gradient(120deg,#46544b,#8d846d 55%,#c6bda9);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(255,255,255,.18),transparent 35%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,25,21,.66),rgba(16,25,21,.08))}.hero-content{position:relative;z-index:2;max-width:760px;color:white}.eyebrow,.section-label{font-size:11px;font-weight:700;letter-spacing:.18em}.eyebrow{margin-bottom:22px}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,7vw,94px);line-height:.96;font-weight:500;margin:0 0 28px}.hero h1 em{font-weight:500}.hero-copy{max-width:560px;font-size:18px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-block;border:0;background:var(--ink);color:white;padding:14px 23px;font:600 13px "DM Sans";text-decoration:none;cursor:pointer}.button-light{background:white;color:var(--ink)}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-weight:600;font-size:13px}.light{color:white}.section{padding:110px 8vw}.section-label{color:var(--muted);margin-bottom:48px}.intro-grid,.work-heading,.service-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.work h2,.service-intro h2,.about h2,.contact h2{font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1.05;margin:0}.intro-grid p{max-width:540px;color:#4d5651;font-size:17px}.work{background:#e8e4d9}.work-heading{align-items:end;margin-bottom:55px}.work-heading p{color:var(--muted);max-width:400px}.gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:45px 25px}.project-large{grid-row:span 2}.project-wide{grid-column:1/-1}.image-placeholder{height:380px;background:linear-gradient(135deg,#a59b88,#66746a);display:grid;place-items:center;color:rgba(255,255,255,.7);letter-spacing:.16em;font-size:10px}.project-large .image-placeholder{height:600px}.project-wide .image-placeholder{height:360px}.project-meta{padding:15px 0}.project-meta h3{margin:0;font-size:17px}.project-meta p{margin:2px 0;color:var(--muted);font-size:13px}.services{background:var(--ink);color:white}.services .section-label{color:#a9b0aa}.service-list{border-top:1px solid #46514b}.service{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid #46514b}.service>span{color:#a9b0aa;font-size:12px}.service h3{margin:0 0 5px;font-size:19px}.service p{margin:0;color:#b7beb9;max-width:520px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-image{min-height:650px;background:linear-gradient(145deg,#7b816f,#b9ad95);display:grid;place-items:center;color:rgba(255,255,255,.75);letter-spacing:.15em;font-size:10px}.about-copy p{color:#515a55;max-width:560px}.stats{display:flex;gap:55px;margin-top:45px}.stats div{display:flex;gap:12px}.stats strong{font-family:"Playfair Display";font-size:32px;font-weight:500}.stats span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.3}.contact{background:#dcd7c9}.contact-details{margin-top:45px}.contact-details p{margin:0 0 22px;font-size:14px}.contact-details a{font-weight:600}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #b8b5aa;background:rgba(255,255,255,.45);padding:13px;font:15px "DM Sans";color:var(--ink)}.contact-form textarea{resize:vertical}footer{padding:42px 8vw;display:flex;justify-content:space-between;align-items:end;background:#111815;color:#c9cfca;font-size:11px}footer .logo{color:white}footer p{margin:0}.menu-toggle{color:var(--ink)}
@media(max-width:800px){.site-header{height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:22px 7vw;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:76vh;padding:16vw 7vw}.hero-copy{font-size:16px}.section{padding:75px 7vw}.intro-grid,.work-heading,.service-grid,.contact-grid,.about{grid-template-columns:1fr;gap:40px}.gallery{grid-template-columns:1fr}.project-large{grid-row:auto}.project-wide{grid-column:auto}.project-large .image-placeholder,.image-placeholder,.project-wide .image-placeholder{height:330px}.about-image{min-height:400px}.stats{gap:25px;flex-wrap:wrap}footer{flex-direction:column;align-items:flex-start;gap:18px}}
