:root {
  --ink: #2d2a27;
  --charcoal: #423d38;
  --slate: #68615b;
  --paper: #f1ede7;
  --white: #fbfaf7;
  --gold: #b18b3f;
  --gold-light: #d7bd83;
  --taupe: #85796b;
  --taupe-deep: #5f574f;
  --taupe-dark: #423d38;
  --taupe-soft: #eeeae4;
  --silver: #a8acad;
  --line: rgba(66, 61, 56, .17);
  --shadow: 0 18px 55px rgba(66, 61, 56, .12);
}

body { background: var(--white); }
.site-header { background: rgba(251, 250, 247, .97); }
.nav a:hover, .nav a[aria-current='page'],
.eyebrow, .text-link, .resource-card span { color: var(--taupe-deep); }
.nav .nav-cta { border-color: var(--taupe); background: var(--taupe); color: #fff; }
.nav .nav-cta:hover, .nav .nav-cta[aria-current='page'] { background: var(--taupe-deep); color: #fff; }

.hero {
  color: #fff;
  background:
    linear-gradient(118deg, rgba(215, 189, 131, .18) 0 1px, transparent 1px 72%),
    radial-gradient(circle at 82% 24%, rgba(215, 189, 131, .20), transparent 33%),
    var(--taupe-deep);
}
.hero::after { border-color: rgba(215, 189, 131, .42); }
.hero .lead, .page-hero .lead { color: #eeeae5; }
.gold-word { color: #ead8ac; }
.hero-meta strong { color: #ead8ac; }
.hero-meta span { color: #ddd8d2; }

.button { border-color: var(--taupe); background: var(--taupe); color: #fff; }
.button:hover { border-color: var(--taupe-deep); background: var(--taupe-deep); }
.button.secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.58); }
.button.secondary:hover { border-color: #ead8ac; background: transparent; color: #ead8ac; }
.button.dark { background: var(--taupe-deep); color: #fff; border-color: var(--taupe-deep); }
.button.dark:hover { background: var(--taupe-dark); border-color: var(--taupe-dark); }
.button.ghost { background: transparent; color: var(--taupe-dark); border-color: var(--taupe); }

.section.tinted { background: var(--taupe-soft); }
.section.dark { background: var(--taupe-deep); color: #fff; }
#services { background: #f3efe9; }
.dark .section-head p, .process p { color: #ded9d4; }
.rule, .check-list li::before { background: var(--taupe); }
.service-grid {
  gap: 0;
  background: transparent;
  border-color: var(--line);
}
.service-card {
  background: transparent;
  border: 0;
}
.service-grid:not(.four) .service-card + .service-card { border-left: 1px solid var(--line); }
.service-grid.four .service-card:nth-child(even) { border-left: 1px solid var(--line); }
.service-grid.four .service-card:nth-child(n+3) { border-top: 1px solid var(--line); }

.content-grid {
  gap: 0;
  border: 1px solid var(--line);
}
.content-card {
  background: transparent;
  border: 0;
}
.content-card:nth-child(even) { border-left: 1px solid var(--line); }
.content-card:nth-child(n+3) { border-top: 1px solid var(--line); }

.scope-strip {
  gap: 0;
  background: transparent;
}
.scope-strip div { background: transparent; }
.scope-strip div + div { border-left: 1px solid var(--line); }

.form-directory details { background: transparent; }
.quote-panel { background: var(--taupe-deep); box-shadow: var(--shadow); }
.quote-panel::before { border-color: rgba(234, 216, 172, .5); }
.quote-panel small { color: #ead8ac; }
.resource-card:hover { border-color: var(--taupe); }

.page-hero { color: #fff; background: var(--taupe-deep); }
.breadcrumb { color: #ded9d4; }
.breadcrumb a { color: #ead8ac; }
.jump-links a:hover { border-color: #ead8ac; color: #ead8ac; }
.notice { border-left-color: var(--taupe); background: var(--taupe-soft); }
.contact-card { background: var(--taupe-deep); }
.contact-card p { color: #e2ddd7; }
.form-card { background: var(--taupe-soft); box-shadow: none; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline-color: rgba(133,121,107,.25); border-color: var(--taupe); }
.form-status { color: var(--taupe-deep); }

.site-footer { background: var(--taupe-dark); color: #ddd9d4; }
.footer-brand p { color: #bbb4ad; }
.footer-col strong { color: #ead8ac; }
.footer-col a { color: #eeeae5; }
.footer-col a:hover { color: #ead8ac; }
.footer-bottom { color: #b8b0a9; }

.preview-badge {
  position: fixed;
  z-index: 60;
  right: 1rem;
  bottom: 1rem;
  padding: .58rem .78rem;
  background: var(--taupe-dark);
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(45,42,39,.18);
}

@media (max-width: 1080px) {
  .nav { background: var(--white); }
  .nav .nav-cta { padding: .75rem; }
  .service-grid:not(.four) .service-card + .service-card { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .preview-badge { right: .7rem; bottom: .7rem; font-size: .61rem; }
  .service-grid.four .service-card:nth-child(even),
  .content-card:nth-child(even),
  .scope-strip div + div { border-left: 0; }
  .service-grid.four .service-card + .service-card,
  .content-card + .content-card,
  .scope-strip div + div { border-top: 1px solid var(--line); }
}
