:root{
  /* WCAG AA Compliant Dark Theme */
  --bg: #0f172a;
  --surface: #111827;
  --panel: #1f2937;
  --card: #ffffff;

  /* Accessible Text Colors */
  --text: #ffffff;
  --text-muted: #cbd5e1;
  --text-dark: #111827;

  /* Enhanced Brand Colors */
  --brand-red: #b91c1c;
  --brand-red-600: #dc2626;
  --brand-gold: #facc15;
  --brand-gold-hover: #eab308;

  /* Accessible Buttons */
  --btn: var(--brand-red);
  --btn-hover: var(--brand-red-600);
  --btn-text: #ffffff;
  --btn-gold: var(--brand-gold);
  --btn-gold-hover: var(--brand-gold-hover);

  /* Utility */
  --success: #16a34a;
  --warning: #f59e0b;
  --info: #0ea5e9;
  --border: #1f2937;
  --shadow: 0 10px 24px rgba(0,0,0,.25);
}

html,body{background:var(--bg);color:var(--text);}
.section-surface{background:var(--surface);color:var(--text);}
.section-white{background:#fff;color:var(--text-dark);}
h1,h2,h3,h4{color:var(--text);}

.bg-brand-red{background:var(--brand-red)!important;color:#fff!important;}
.text-brand-red{color:var(--brand-red);}
.text-brand-gold{color:var(--brand-gold);}
.bg-brand-gold{background:var(--brand-gold);color:var(--text-dark);}
.bg-brand-gold:hover{background:var(--brand-gold-hover);}

/* Accessibility helpers */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--brand-red);
  color: var(--text);
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: 9999;
}
.skip-link:focus {
  top: 6px;
}

.btn{
  background:var(--btn); color:var(--btn-text);
  padding:12px 20px; border-radius:10px; font-weight:600;
  box-shadow: var(--shadow);
}
.btn:hover{background:var(--btn-hover);}

.card{background:#fff;color:var(--text-dark);border-radius:16px;border:1px solid #e5e7eb;}

.footer{background:#0b1220;color:#e5e7eb;}
.footer a{color:#f9fafb;text-decoration:underline;}

main{padding-bottom:84px;} /* prevent sticky call bar overlap */

/* ===== Layout primitives ===== */
.container{max-width:1120px;margin-inline:auto;padding:0 16px;}
.stack-2>*+*{margin-top:0.5rem;}
.stack-4>*+*{margin-top:1rem;}
.cluster{display:flex;gap:12px;align-items:center;}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(0deg, rgba(0,0,0,.0), rgba(0,0,0,.05));
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--border);
}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700;font-size:1.125rem;}
.brand img{width:28px;height:28px;object-fit:contain;border-radius:4px}
.nav a{color:var(--text);text-decoration:none;opacity:.85}
.nav a:hover{opacity:1}
.btn-ghost{
  background:transparent;color:#fff;border:1px solid #ffffff26;
  padding:10px 16px;border-radius:10px;font-weight:600;
}
.btn-call{
  background:var(--brand-amber);color:#0b1220;
  padding:10px 14px;border-radius:10px;font-weight:700;
}
.btn-call:hover{background:var(--brand-amber-700);}

/* ===== Hero helper ===== */
.hero{background:var(--surface);padding:28px 0 18px;border-bottom:1px solid var(--border);}
.hero h1{line-height:1.1;margin:12px 0 10px;font-size:clamp(28px,4.5vw,40px);}
.hero .lead{color:var(--text-muted);max-width:60ch}

/* ===== Sticky call bar ===== */
.sticky-call{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:var(--brand-red); color:#fff;
  padding:10px 16px; box-shadow: var(--shadow);
}
.sticky-call .container{display:flex;gap:12px;align-items:center;justify-content:space-between;}
.sticky-call .cta{background:#fff;color:#0b1220;padding:10px 18px;border-radius:12px;font-weight:800}
.sticky-call .cta:focus-visible{outline:3px solid #fff; outline-offset:2px}
.sticky-call .note{font-size:.9rem;opacity:.95}

/* ===== Footer ===== */
.footer{padding:32px 0;border-top:1px solid var(--border);}
.footer h4{color:#fff;margin:0 0 8px}
.footer a{color:#f9fafb;text-decoration:underline;text-underline-offset:2px}
.footer nav ul{list-style:none;margin:0;padding:0}
.footer nav li+li{margin-top:6px}
.footer small{opacity:.75}