:root {
  --black: #0a0a09;
  --charcoal: #11110f;
  --cream: #f4f0e8;
  --muted: #b7b1a5;
  --gold: #c9a96e;
  --line: rgba(244,240,232,.15);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--cream); font-family: var(--sans); line-height: 1.7; }
a { color: inherit; text-decoration: none; }
.site-header { position: fixed; z-index: 20; top: 0; width: 100%; padding: 22px 5vw; display:flex; justify-content:space-between; align-items:center; background: linear-gradient(180deg, rgba(0,0,0,.75), transparent); }
.brand { font-family: var(--serif); font-size: 27px; letter-spacing: 2px; font-weight:700; }
.brand span, .footer-brand span { display:inline; font-family:var(--sans); font-size:9px; letter-spacing:3px; text-transform:uppercase; margin-left:8px; font-weight:500; }
.nav { display:flex; gap:30px; align-items:center; font-size:11px; letter-spacing:1.6px; text-transform:uppercase; }
.nav a { opacity:.9; }
.nav a:hover { color:var(--gold); }
.nav-cta { border:1px solid var(--gold); padding:10px 16px; color:var(--gold); }
.menu-toggle { display:none; background:none; border:0; color:var(--cream); font-size:24px; }
.hero { min-height:100vh; position:relative; display:flex; align-items:center; padding:130px 8vw; overflow:hidden; background:
  radial-gradient(circle at 75% 45%, rgba(201,169,110,.18), transparent 30%),
  linear-gradient(115deg, #090909 20%, #181613 100%); }
.hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.7), transparent 70%); }
.hero-overlay { position:absolute; inset:0; background: repeating-linear-gradient(120deg, transparent 0 80px, rgba(255,255,255,.015) 81px 82px); }
.hero-content { position:relative; z-index:2; max-width:760px; }
.eyebrow { color:var(--gold); font-size:10px; letter-spacing:3px; font-weight:600; margin-bottom:18px; }
h1,h2,h3 { font-family:var(--serif); font-weight:600; line-height:.95; }
h1 { font-size:clamp(70px, 10vw, 150px); letter-spacing:-3px; }
h2 { font-size:clamp(52px, 6vw, 88px); letter-spacing:-2px; }
em { color:var(--gold); font-style:italic; }
.hero-copy { max-width:580px; color:#d0cbc1; font-size:16px; margin:28px 0 36px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { display:inline-block; border:1px solid var(--gold); padding:14px 25px; font-size:10px; text-transform:uppercase; letter-spacing:2px; cursor:pointer; font-family:var(--sans); }
.button-gold { background:var(--gold); color:#111; }
.button-gold:hover { background:#ddc28f; }
.button-outline { color:var(--cream); }
.button-outline:hover { background:rgba(255,255,255,.08); }
.scroll-note { position:absolute; z-index:2; right:5vw; bottom:32px; font-size:9px; letter-spacing:2px; color:var(--muted); }
.scroll-note span { color:var(--gold); margin-left:8px; }
.section { padding:120px 8vw; }
.intro { text-align:center; max-width:1000px; margin:auto; }
.intro .lead { color:var(--muted); max-width:720px; margin:32px auto 0; font-size:17px; }
.section-dark { background:var(--charcoal); }
.section-heading { margin-bottom:60px; }
.section-heading > p:last-child { color:var(--muted); max-width:550px; margin-top:22px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.service-card { min-height:260px; padding:35px 28px 28px 0; border-bottom:1px solid var(--line); }
.service-card:nth-child(3n+2), .service-card:nth-child(3n+3) { padding-left:28px; border-left:1px solid var(--line); }
.service-number { color:var(--gold); font-size:10px; letter-spacing:2px; }
.service-card h3 { font-size:34px; margin:55px 0 12px; }
.service-card p { color:var(--muted); font-size:13px; max-width:300px; }
.experience { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.image-placeholder { min-height:600px; background:
  linear-gradient(135deg, rgba(201,169,110,.25), transparent 45%),
  radial-gradient(circle at 65% 40%, #594a32, #171614 55%, #0a0a09 80%); display:flex; align-items:end; padding:40px; }
.image-placeholder div { border-left:1px solid var(--gold); padding-left:18px; }
.image-placeholder span { display:block; font-size:9px; letter-spacing:3px; color:var(--gold); }
.image-placeholder strong { font-family:var(--serif); font-size:42px; }
.experience-copy p:not(.eyebrow) { color:var(--muted); margin:25px 0; max-width:520px; font-size:15px; }
.text-link { color:var(--gold); text-transform:uppercase; letter-spacing:2px; font-size:10px; }
.text-link span { margin-left:15px; }
.quote-banner { padding:85px 8vw; display:flex; justify-content:space-between; align-items:center; gap:40px; background:#171613; }
.quote-banner h2 { font-size:clamp(45px,5vw,70px); }
.about { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.about > div:last-child { color:var(--muted); max-width:560px; }
.about p + p { margin-top:22px; }
.quote-form { max-width:900px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.quote-form label { display:block; color:#c8c2b7; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:22px; }
input, select, textarea { width:100%; margin-top:8px; padding:15px 14px; background:#0c0c0b; border:1px solid var(--line); color:var(--cream); font:14px var(--sans); outline:none; }
input:focus, select:focus, textarea:focus { border-color:var(--gold); }
textarea { resize:vertical; }
.footer { padding:65px 8vw 25px; background:#070706; text-align:center; }
.footer-brand { font-family:var(--serif); font-size:42px; }
.footer > p { color:var(--muted); font-size:11px; margin:8px 0 15px; }
.footer > a { color:var(--gold); font-size:11px; }
.footer-bottom { border-top:1px solid var(--line); margin-top:55px; padding-top:20px; display:flex; justify-content:space-between; color:#77736c; font-size:9px; letter-spacing:1px; text-transform:uppercase; }
@media (max-width: 850px) {
  .nav { display:none; position:absolute; top:72px; left:0; right:0; background:#0b0b0a; padding:25px 8vw; flex-direction:column; align-items:flex-start; border-top:1px solid var(--line); }
  .nav.open { display:flex; }
  .menu-toggle { display:block; }
  .hero { padding:130px 7vw 100px; }
  h1 { font-size:72px; }
  .section { padding:85px 7vw; }
  .service-grid, .experience, .about { grid-template-columns:1fr; }
  .service-card, .service-card:nth-child(3n+2), .service-card:nth-child(3n+3) { padding:30px 0; border-left:0; }
  .experience { gap:45px; }
  .image-placeholder { min-height:420px; }
  .quote-banner { flex-direction:column; align-items:flex-start; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-bottom { flex-direction:column; gap:10px; }
}
