
:root {
  --bg: #f4f7f3;
  --surface: #e0ece4;
  --accent: #2f7f62;
  --accent-dark: #1d4c3b;
  --ink: #172822;
  --muted: #52645d;
  --border: rgba(15, 23, 42, 0.12);
  --radius: 22px;
  --shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
}
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.96), transparent 32%),
    radial-gradient(circle at left 20%, #2f7f6212, transparent 28%),
    linear-gradient(180deg, var(--bg) 0%, #ffffff 58%, var(--surface) 100%);
}
.site-header {
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}
.site-header a {
  color: var(--ink);
}
.brand__mark {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.16);
}
.hero__main, .panel, .subhero__copy, .content-card, .legal-aside, .legal-document {
  background: rgba(255,255,255,0.8);
  border: 1px solid var(--border);
}
.home-page--bold-stripe .hero__main,
.home-page--proof-led .hero__main,
.home-page--service-board .hero__main {
  background: linear-gradient(135deg, rgba(255,255,255,0.96), #e0ece482);
}
.home-page--magazine-cover .hero__main,
.home-page--newsroom-led .hero__main,
.home-page--editorial-index .hero__main {
  background: rgba(255,255,255,0.94);
  border-left: 8px solid var(--accent);
}
.home-page--image-first .hero__visual .media-card--primary,
.home-page--retail-window .hero__visual .media-card--primary,
.home-page--hospitality-front .hero__visual .media-card--primary,
.home-page--fitness-drive .hero__visual .media-card--primary {
  box-shadow: 0 24px 70px rgba(15,23,42,0.18);
}
.hero__main::before {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f7f6222, transparent);
}
.kicker {
  background: rgba(255,255,255,0.8);
  border: 1px solid rgba(15,23,42,0.1);
  color: var(--accent-dark);
}
.lead {
  color: var(--muted);
}
.btn--primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: white;
}
.btn--secondary {
  background: rgba(255,255,255,0.85);
  border-color: rgba(15,23,42,0.12);
}
.panel dt {
  color: var(--muted);
}
.card {
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--border);
}
.home-page--bold-stripe .home-proof,
.home-page--local-office .home-proof,
.home-page--contact-led .home-proof,
.home-page--stacked-story .home-services {
  background: linear-gradient(135deg, #e0ece480, rgba(255,255,255,0.72));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.home-page--retail-window .card,
.home-page--hospitality-front .card,
.home-page--portfolio-led .card {
  background: rgba(255,255,255,0.94);
}
.home-page--side-rail .home-testimonials .card,
.home-page--consultant-ledger .home-testimonials .card,
.home-page--newsroom-led .home-testimonials .card {
  border-left: 5px solid var(--accent);
}
.content-card {
  background: rgba(255,255,255,0.9);
  border: 1px solid var(--border);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
}
.card-index {
  color: white;
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
}
.metric-card,
.timeline__step,
.showcase-quote {
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--border);
}
.content-page--bold-bands .section:nth-of-type(even),
.content-page--local-guide .section:nth-of-type(even),
.content-page--contact-forward .section:nth-of-type(even) {
  background: linear-gradient(135deg, #e0ece488, rgba(255,255,255,0.55));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.content-page--magazine .subhero__copy,
.content-page--newsroom .subhero__copy,
.content-page--casebook .subhero__copy {
  background: linear-gradient(135deg, rgba(255,255,255,0.94), #e0ece470);
}
.content-page--quiet-grid .content-card,
.content-page--directory .content-card,
.content-page--legal-clean .legal-document {
  box-shadow: none;
}
.content-page--image-stack .subhero__aside .media-card:first-child,
.content-page--hospitality-menu .subhero__media,
.content-page--retail-board .subhero__media {
  min-height: 430px;
}
.tag {
  background: rgba(255,255,255,0.8);
  border: 1px solid var(--border);
  color: var(--muted);
}
.cta-banner {
  background: linear-gradient(135deg, var(--accent-dark), var(--accent));
  color: white;
  box-shadow: 0 22px 60px rgba(15,23,42,0.15);
}
.cta-banner p {
  color: rgba(255,255,255,0.86);
}
.site-footer {
  border-top: 1px solid var(--border);
}
.muted {
  color: var(--muted);
}
#cookie-banner {
}
.cookie-card {
  background: rgba(255,255,255,0.94);
  border: 1px solid var(--border);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.18);
}
.cookie-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cookie-actions button {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: white;
}
.cookie-actions .btn--secondary {
  background: transparent;
  color: var(--ink);
}
.cookie-preferences {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.cookie-preferences[hidden] {
  display: none;
}
.cookie-preferences label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
}
