*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#151515;--gold:#b99655;--cream:#f5f1e8;--white:#fff;--muted:#68645d}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#faf9f6;line-height:1.65}
a{text-decoration:none;color:inherit}
.header{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:rgba(15,15,15,.88);backdrop-filter:blur(14px);color:white}
.logo{font-weight:700;letter-spacing:.14em;font-size:14px}.logo span{font-family:'Playfair Display';font-size:23px;color:#d2b36f;margin-right:8px}
nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a{opacity:.9;transition:.2s}nav a:hover{color:#d7b86f}.nav-cta{border:1px solid rgba(255,255,255,.35);padding:10px 17px;border-radius:30px}
.menu{display:none;background:none;border:0;color:white;font-size:25px}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:130px 9vw;background:linear-gradient(110deg,#121212 0%,#25221d 55%,#57482f 100%);color:white;overflow:hidden}
.hero:after{content:"";position:absolute;width:650px;height:650px;border-radius:50%;right:-220px;top:10%;background:radial-gradient(circle,rgba(206,172,102,.35),transparent 65%);filter:blur(3px)}
.hero-content{position:relative;z-index:2;max-width:780px}.eyebrow,.section-label{letter-spacing:.25em;text-transform:uppercase;font-size:11px;color:#c8a86a;font-weight:700;margin-bottom:22px}
h1,h2,blockquote{font-family:'Playfair Display',serif;line-height:1.08}h1{font-size:clamp(50px,7vw,92px);letter-spacing:-.03em}h1 em,h2 span{color:#c6a563;font-style:normal}
.hero-text{max-width:620px;color:#ddd8ce;font-size:17px;margin:28px 0 35px}.buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 22px;border-radius:4px;font-weight:700;font-size:13px;border:1px solid transparent;cursor:pointer}.primary{background:#c6a563;color:#17130d}.primary:hover{background:#dfc486}.ghost{border-color:#777;color:white}.ghost:hover{border-color:#c6a563;color:#c6a563}.scroll{position:absolute;bottom:35px;left:9vw;color:#c6a563}
.section{padding:115px 9vw}.about{background:var(--cream)}.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.two-col h2,.section>h2,.project-head h2,.contact h2{font-size:clamp(40px,5vw,67px)}.two-col p{color:var(--muted);margin-bottom:18px}.text-link{font-weight:700;color:#a27d3c}
.services{background:#171717;color:white}.services>h2{margin-bottom:55px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #3b3b3b;padding:34px;min-height:250px;transition:.25s}.card:hover{transform:translateY(-6px);border-color:#b99655}.number{font-family:'Playfair Display';color:#c6a563;font-size:23px;margin-bottom:35px}.card h3{font-size:22px;margin-bottom:12px}.card p{color:#aaa}
.projects{background:white}.project-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.project-head p{max-width:400px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery-item{height:500px;position:relative;overflow:hidden;background:#ddd}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item div{position:absolute;bottom:0;left:0;right:0;padding:28px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.8));font-family:'Playfair Display';font-size:22px}
.quote{background:var(--cream);text-align:center}.quote-mark{font-family:'Playfair Display';font-size:80px;color:#c6a563;height:55px}.quote blockquote{font-size:clamp(30px,4vw,52px);max-width:900px;margin:25px auto}.quote p{letter-spacing:.18em;font-size:11px;color:var(--muted)}
.contact{background:#171717;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact p{color:#aaa;margin-top:25px}.contact form{display:grid;gap:14px}input,textarea{font:inherit;width:100%;padding:15px 16px;background:#222;border:1px solid #3b3b3b;color:white;border-radius:3px;outline:none}input:focus,textarea:focus{border-color:#c6a563}form .btn{border:0}.contact small{color:#c6a563}
footer{padding:35px 9vw;background:#0d0d0d;color:#999;display:flex;justify-content:space-between;align-items:center;font-size:12px}footer a{color:#c6a563}
@media(max-width:800px){nav{display:none}.menu{display:block}.header{padding:0 5vw}.hero{padding:130px 7vw}.section{padding:80px 7vw}.two-col,.cards,.contact{grid-template-columns:1fr;gap:45px}.gallery{grid-template-columns:1fr}.gallery-item{height:420px}.project-head{display:block}.project-head p{margin-top:18px}footer{padding:28px 7vw;gap:15px;flex-wrap:wrap}}
