:root {
  --framework-navy: #0d1f33;
  --framework-blue: #173452;
  --framework-teal: #1f8f67;
  --framework-gold: #c9a84c;
  --framework-ink: #111827;
  --framework-muted: #5f6f82;
  --framework-line: #d8e0e7;
  --framework-soft: #f2f6f4;
  --framework-warm: #fbfaf6;
  --framework-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { color: var(--framework-ink); background: var(--framework-warm); }

.nav {
  background: rgba(13, 31, 51, .97) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 8px 24px rgba(13, 31, 51, .12);
}
.nav-inner { min-height: 68px; padding-block: 14px !important; }
.brand img, .footer-home img { filter: invert(1) !important; }
.links { gap: 10px !important; }
.links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 8px;
  color: rgba(255, 255, 255, .82) !important;
  transition: color .18s ease, background .18s ease;
}
.links a:hover, .links a:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, .09);
}

.hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(31, 143, 103, .22), transparent 30%),
    linear-gradient(130deg, var(--framework-navy), var(--framework-blue)) !important;
}
.hero-grid { max-width: 1220px; gap: 56px !important; padding-block: 82px 74px !important; }
.hero h1, .section-head h2 { color: inherit; letter-spacing: -.045em; }
.eyebrow { color: #e8c97a !important; }
.sub { color: rgba(255, 255, 255, .78) !important; }

.btn {
  min-height: 52px !important;
  padding: 14px 26px !important;
  border-radius: 10px !important;
  background: var(--framework-gold) !important;
  color: var(--framework-navy) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 9px 24px rgba(13, 31, 51, .16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(13, 31, 51, .22); }
.btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(201, 168, 76, .62);
  outline-offset: 3px;
}

.visual {
  border-radius: 22px !important;
  background: linear-gradient(145deg, #fff, var(--framework-soft)) !important;
  border: 1px solid rgba(13, 31, 51, .11) !important;
  box-shadow: 0 26px 60px rgba(13, 31, 51, .23) !important;
}
section { background: var(--framework-white); }
.dark-band { background: var(--framework-soft) !important; border-color: var(--framework-line) !important; }
.outcomes div, .domain, .form-card, .proof-note {
  border-color: var(--framework-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(13, 31, 51, .06) !important;
}
.form-card { background: var(--framework-white); }
.footer { background: var(--framework-navy) !important; }

/* Framework-specific accents within one ecosystem. */
.stabilize-system .domain, .stabilize-ring { border-color: rgba(31, 143, 103, .42) !important; }
.stabilize-system .domain { background: rgba(255,255,255,.96) !important; color: var(--framework-navy) !important; }
.stabilize-system .domain b { color: var(--framework-navy) !important; }
.stabilize-system .domain span { color: var(--framework-muted) !important; }
.stabilize-core { background: var(--framework-teal) !important; }
.stride-step { border-color: rgba(23, 52, 82, .18) !important; }
.stride-step b { color: #fff !important; }
.stride-step.s b, .stride-step.i b { background: var(--framework-blue) !important; }
.stride-step.t b, .stride-step.d b { background: var(--framework-teal) !important; }
.stride-step.r b, .stride-step.e b { background: var(--framework-gold) !important; color: var(--framework-navy) !important; }
.stride-tagline { color: var(--framework-teal) !important; }
.belong-title { color: var(--framework-navy) !important; }
.system-core { background: var(--framework-navy) !important; }
.system-map .domain::before { background: var(--framework-teal) !important; }
.system-map .domain:nth-child(even)::before { background: var(--framework-blue) !important; }
.system-map .domain:nth-child(3n)::before { background: var(--framework-gold) !important; color: var(--framework-navy) !important; }

@media (max-width: 880px) {
  .hero-grid { padding-block: 66px 58px !important; }
  .links { display: none !important; }
}
@media (max-width: 560px) {
  .hero-grid { gap: 34px !important; padding-block: 54px 48px !important; }
  .hero h1 { font-size: clamp(36px, 11vw, 44px) !important; }
  .visual { padding: 20px !important; border-radius: 18px !important; }
  .btn { width: 100%; min-height: 54px !important; }
}

/* STABILIZE nine-stage light-theme contrast alignment */
.stabilize-hero-art .stabilize-method{color:var(--framework-navy)!important}
.stabilize-hero-art .stabilize-method-title{color:#85681b!important}
.stabilize-hero-art .stabilize-method-flow{color:var(--framework-navy)!important}
.stabilize-hero-art .stabilize-stage{background:#fff!important;border:1px solid rgba(13,31,51,.18)!important;border-top:3px solid var(--framework-gold)!important;box-shadow:0 14px 30px rgba(13,31,51,.10)!important}
.stabilize-hero-art .stabilize-name{color:var(--framework-navy)!important}
.stabilize-hero-art .stabilize-stage p{color:var(--framework-muted)!important;font-size:13px!important}
.stabilize-hero-art .stabilize-progression{color:var(--framework-muted)!important}
