:root {
  --bg: #f5f1ed;
  --paper: #faf8f5;
  --ink: #292727;
  --muted: #6e6a65;
  --line: rgba(27,27,27,.14);
  --orange: #c59a6b;
  --gold: #c59a6b;
  --dark: #181c1d;
  --deep: #111516;
  --light-text: #f2eee9;
}

body { background: var(--bg); font-family: "Inter Tight", "Inter", Arial, sans-serif; }
::selection { background: var(--gold); color: var(--deep); }
.shell { width: min(calc(100% - 40px),1240px); }
.topbar { background: rgba(17,21,22,.9); color: var(--light-text); border-color: rgba(255,255,255,.08); }
.nav { height: 76px; }
.brand-logo--light { width: 116px; height: 54px; overflow: hidden; padding: 0; background: #111516; }
.brand-logo--light img { width: 112px; height: 84px; max-width: none; object-fit: contain; }
.brand-logo--light:hover { background: #111516; }
.navlinks a { color: #c6c2bd; font-size: 11px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.navlinks a:hover { color: var(--gold); }
.nav-cta { min-height: 44px; border: 1px solid rgba(197,154,107,.72); border-radius: 3px; background: transparent; color: var(--light-text); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.nav-cta:hover { background: var(--gold); color: var(--deep); }
.hero { position: relative; overflow: hidden; padding: clamp(88px,10vw,140px) 0 clamp(72px,8vw,110px); border: 0; background: radial-gradient(100% 120% at 82% 30%,#242a2b 0%,#181c1d 48%,#111516 100%); color: var(--light-text); }
.hero::after { content: ""; position: absolute; right: -7vw; bottom: -12vw; width: 40vw; height: 40vw; border: 1px solid rgba(197,154,107,.12); transform: rotate(24deg); pointer-events: none; }
.hero-grid { position: relative; z-index: 1; grid-template-columns: minmax(0,1.4fr) minmax(250px,.6fr); }
.eyebrow,.meta,.tag { color: var(--gold); }
.eyebrow::before { background: var(--gold); }
h1 { max-width: 900px; font-size: clamp(3.4rem,7vw,6.8rem); line-height: .91; }
h1 em,h2 em { color: var(--gold); }
.lead { color: #b5b1ac; font-size: clamp(1.05rem,1.7vw,1.25rem); }
.hero-aside { border-color: rgba(197,154,107,.55); color: #aaa6a1; }
.content { padding: clamp(72px,8vw,110px) 0; }
.content-grid { grid-template-columns: minmax(0,2fr) minmax(240px,.75fr); gap: clamp(50px,8vw,110px); }
.prose { font-size: 17px; }
.prose h2 { color: var(--ink); }
.prose blockquote { border-color: var(--gold); color: var(--ink); }
.prose a { color: #9f7448; }
.aside-card { border-color: var(--line); border-radius: 4px; background: rgba(255,255,255,.55); }
.button { border-radius: 3px; background: var(--gold); color: var(--deep); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.button:hover { background: #d4b084; color: var(--deep); }
.stats,.cards { border-color: var(--line); }
.card { background: var(--paper); transition: transform .3s,background .3s; }
.card:hover { transform: translateY(-4px); }
.card:hover h2,.card:hover h3 { color: #9f7448; }
.card img { border-radius: 3px; filter: saturate(.88) contrast(1.02); }
.service-list { border-color: var(--line); }
.service { border-color: var(--line); background: rgba(255,255,255,.2); }
.contact-form { border-radius: 5px; background: var(--deep); }
.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--gold); }
.contact-form .button { background: var(--gold); }
.notice { border-color: var(--gold); background: #eee9e5; }
.cta { border-top: 1px solid rgba(197,154,107,.3); background: var(--dark); }
.cta .button { background: var(--gold); }
.footer { background: var(--deep); }
.brand-logo--dark { width: 142px; height: 92px; overflow: hidden; }
.brand-logo--dark img { width: 138px; height: 104px; max-width: none; object-fit: contain; }
.footer a:hover { color: var(--gold); }
.footer-base { border-color: rgba(255,255,255,.08); }

@media (max-width:850px) {
  .nav { height: 68px; }
  .mobile-nav summary { color: var(--light-text); }
  .mobile-panel { top: 68px; border-color: rgba(255,255,255,.08); background: rgba(17,21,22,.98); }
  .mobile-panel a { color: var(--light-text); }
  .hero { padding-top: 72px; }
  .hero-grid { grid-template-columns: 1fr; }
  .content-grid { grid-template-columns: 1fr; }
}
