/* ============================================
   NOVA CENTRAL ATE – Premium Design System
   ============================================ */

:root {
  --gold:      #C9A85C;
  --gold-light:#E8CFA0;
  --gold-dark: #A0803A;
  --navy:      #0A1628;
  --navy-mid:  #122040;
  --navy-light:#1C3054;
  --white:     #FFFFFF;
  --off-white: #F5F3EE;
  --gray-100:  #F8F8F8;
  --gray-200:  #E8E6E0;
  --gray-400:  #9A9490;
  --gray-600:  #5A5550;
  --text:      #1A1714;
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --shadow-card: 0 8px 40px rgba(0,0,0,0.10);
  --shadow-hero: 0 24px 80px rgba(0,0,0,0.30);
  --transition: 0.35s cubic-bezier(0.4,0,0.2,1);
  --font-head: 'Cormorant Garamond', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html { scroll-behavior: smooth; font-size:16px; }

body {
  font-family: var(--font-body);
  background: var(--off-white);
  color: var(--text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── TYPOGRAPHY ──────────────────────────────── */
h1,h2,h3,h4 { font-family: var(--font-head); font-weight: 600; line-height:1.15; }

.display-xl { font-size: clamp(3rem, 7vw, 7rem); letter-spacing:-0.02em; }
.display-lg { font-size: clamp(2.2rem, 4.5vw, 4.5rem); letter-spacing:-0.015em; }
.display-md { font-size: clamp(1.6rem, 3vw, 2.8rem); letter-spacing:-0.01em; }
.label-caps  { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }

/* ── UTILITIES ───────────────────────────────── */
.container { max-width:1280px; margin:0 auto; padding:0 clamp(1rem, 4vw, 4rem); }
.text-gold  { color: var(--gold); }
.text-navy  { color: var(--navy); }
.text-white { color: var(--white); }
.bg-navy    { background: var(--navy); }
.bg-off-white { background: var(--off-white); }

/* ── NAVBAR ──────────────────────────────────── */
#navbar {
  position: fixed; top:0; left:0; width:100%; z-index:1000;
  padding:1.5rem 0;
  transition: background var(--transition), padding var(--transition), box-shadow var(--transition);
}
#navbar.scrolled {
  background: rgba(10,22,40,0.97);
  backdrop-filter: blur(12px);
  padding: 0.8rem 0;
  box-shadow: 0 2px 24px rgba(0,0,0,0.3);
}
.navbar-inner {
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo {
  display:flex; align-items:center; gap:0.6rem; text-decoration:none;
}
.nav-logo-mark {
  width:38px; height:38px;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-size:1.1rem; font-weight:700;
  color:var(--white); letter-spacing:-0.02em;
}
.nav-logo-text {
  font-family: var(--font-head);
  font-size:1.05rem; font-weight:600; letter-spacing:0.04em;
  color:var(--white);
}
.nav-logo-sub {
  font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-light); opacity:.8;
}
.nav-menu { display:flex; align-items:center; gap:2rem; list-style:none; }
.nav-menu a {
  font-size:.82rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.8); text-decoration:none;
  transition: color var(--transition);
}
.nav-menu a:hover { color: var(--gold); }
.nav-cta {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
  color:var(--navy)!important; padding:.55rem 1.4rem!important;
  border-radius:var(--radius-sm); font-weight:700!important;
  transition: opacity var(--transition)!important;
}
.nav-cta:hover { opacity:.85; color:var(--navy)!important; }
.nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition: var(--transition); }

/* ── HERO ────────────────────────────────────── */
#hero {
  position:relative; height:100vh; min-height:650px;
  display:flex; align-items:flex-end; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
}
.hero-bg img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1.05); animation: heroZoom 14s ease-out forwards;
}
@keyframes heroZoom {
  from { transform: scale(1.06); }
  to   { transform: scale(1.0); }
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(to top,
    rgba(10,22,40,0.92) 0%,
    rgba(10,22,40,0.50) 40%,
    rgba(10,22,40,0.10) 80%,
    transparent 100%);
}
.hero-content {
  position:relative; z-index:2;
  padding-bottom:clamp(3rem,7vh,6rem);
  width:100%;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(201,168,92,.15); border:1px solid rgba(201,168,92,.4);
  border-radius:2rem; padding:.4rem 1rem;
  color:var(--gold-light); margin-bottom:1.5rem;
}
.hero-badge span { font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }

.hero-title { color:var(--white); margin-bottom:.6rem; max-width:860px; }
.hero-title span { color:var(--gold); }
.hero-subtitle {
  font-size:clamp(1rem,2vw,1.25rem); color:rgba(255,255,255,.75);
  max-width:560px; line-height:1.7; margin-bottom:2.5rem; font-weight:300;
}
.hero-actions { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }

.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:0.85rem 2rem; border-radius:var(--radius-sm);
  font-size:.85rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:none;
  transition: all var(--transition);
}
.btn-gold {
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  color:var(--navy);
  box-shadow: 0 4px 20px rgba(201,168,92,.35);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(201,168,92,.50); }
.btn-outline {
  background:transparent; color:var(--white);
  border:1.5px solid rgba(255,255,255,.5);
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

.hero-stats {
  position:absolute; bottom:clamp(2rem,5vh,4rem); right:clamp(1rem,4vw,4rem); z-index:3;
  display:flex; gap:2rem;
}
.hero-stat {
  text-align:right; padding:1rem 1.4rem;
  background:rgba(10,22,40,.6); backdrop-filter:blur(10px);
  border-radius:var(--radius-md); border:1px solid rgba(201,168,92,.2);
}
.hero-stat-num { font-family:var(--font-head); font-size:2rem; color:var(--gold); line-height:1; }
.hero-stat-lbl { font-size:.62rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:.3rem; }

/* ── SECTION COMMONS ─────────────────────────── */
section { padding:clamp(4rem,8vw,8rem) 0; }

.section-header { text-align:center; margin-bottom:4rem; }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:.6rem;
  color:var(--gold); margin-bottom:1rem;
}
.eyebrow-line { width:32px; height:1.5px; background:var(--gold); }
.section-title { color:var(--navy); margin-bottom:1rem; }
.section-desc { color:var(--gray-600); max-width:560px; margin:0 auto; line-height:1.7; }

/* ── ABOUT STRIP ─────────────────────────────── */
#about {
  background: var(--navy);
  padding: 4rem 0;
}
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:4rem; align-items:center;
}
.about-text h2 { color:var(--white); margin-bottom:1.2rem; }
.about-text p  { color:rgba(255,255,255,.7); line-height:1.8; font-size:.95rem; margin-bottom:1rem; }
.about-text p:last-child { margin-bottom:0; }
.about-tags { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.5rem; }
.about-tag {
  padding:.35rem .9rem; border-radius:2rem;
  background:rgba(201,168,92,.1); border:1px solid rgba(201,168,92,.3);
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-light);
}
.about-image { border-radius:var(--radius-lg); overflow:hidden; position:relative; }
.about-image img { width:100%; height:400px; object-fit:cover; display:block; }
.about-image-badge {
  position:absolute; bottom:1.5rem; left:1.5rem;
  background:var(--navy); border:1px solid var(--gold); border-radius:var(--radius-md);
  padding:.8rem 1.2rem; color:var(--white);
}
.about-image-badge .num { font-family:var(--font-head); font-size:2rem; color:var(--gold); }
.about-image-badge .lbl { font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.6); }

/* ── PROJECT STATS ───────────────────────────── */
#stats { background:var(--off-white); }
.stats-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:2rem;
}
.stat-card {
  background:var(--white); border-radius:var(--radius-md);
  padding:2rem 1.5rem; text-align:center;
  box-shadow:var(--shadow-card);
  border-top:3px solid var(--gold);
  transition:transform var(--transition), box-shadow var(--transition);
}
.stat-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,0,0,.14); }
.stat-num {
  font-family:var(--font-head); font-size:2.8rem;
  color:var(--navy); line-height:1; margin-bottom:.3rem;
}
.stat-unit { font-size:1.2rem; color:var(--gold); }
.stat-lbl { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gray-400); margin-top:.5rem; }

/* ── PROGRAM ─────────────────────────────────── */
#program { background:var(--navy); }
#program .section-title { color:var(--white); }
#program .section-desc  { color:rgba(255,255,255,.6); }
.program-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem;
}
.program-card {
  background:var(--navy-light); border-radius:var(--radius-md);
  overflow:hidden; transition:transform var(--transition);
}
.program-card:hover { transform:translateY(-4px); }
.program-card img { width:100%; height:220px; object-fit:cover; }
.program-card-body { padding:1.8rem; }
.program-card-eyebrow { font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.program-card-title { font-family:var(--font-head); font-size:1.5rem; color:var(--white); margin-bottom:.8rem; }
.program-card-desc { font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.7; margin-bottom:1.2rem; }
.program-list { list-style:none; }
.program-list li {
  display:flex; align-items:center; gap:.6rem;
  font-size:.82rem; color:rgba(255,255,255,.75);
  padding:.35rem 0; border-bottom:1px solid rgba(255,255,255,.07);
}
.program-list li:last-child { border-bottom:none; }
.program-list li::before { content:'→'; color:var(--gold); font-size:.7rem; flex-shrink:0; }

/* ── PHASES ──────────────────────────────────── */
#phases { background:var(--gray-100); }
.phases-timeline { position:relative; padding-left:2rem; }
.phases-timeline::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:2px; background:linear-gradient(to bottom, var(--gold) 0%, rgba(201,168,92,.1) 100%);
}
.phase-item {
  position:relative; padding-left:2.5rem; padding-bottom:3rem;
}
.phase-item:last-child { padding-bottom:0; }
.phase-dot {
  position:absolute; left:-2.5rem; top:.25rem;
  width:1rem; height:1rem; border-radius:50%;
  background:var(--gold); border:3px solid var(--off-white);
  box-shadow: 0 0 0 4px rgba(201,168,92,.25);
}
.phase-label { font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; }
.phase-title { font-family:var(--font-head); font-size:1.7rem; color:var(--navy); margin-bottom:.5rem; }
.phase-desc { font-size:.88rem; color:var(--gray-600); line-height:1.7; max-width:480px; margin-bottom:1.2rem; }
.phase-kpis { display:flex; gap:1.5rem; flex-wrap:wrap; }
.phase-kpi {
  background:var(--white); border-radius:var(--radius-sm);
  padding:.6rem 1rem; border-left:3px solid var(--gold);
}
.phase-kpi-num { font-family:var(--font-head); font-size:1.4rem; color:var(--navy); }
.phase-kpi-lbl { font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gray-400); }

/* ── LOCATION ─────────────────────────────────── */
#location { background:var(--white); }
.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.location-map {
  border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-card); border:1px solid var(--gray-200);
}
.location-map iframe { width:100%; height:420px; border:none; display:block; }
.location-points { display:flex; flex-direction:column; gap:1.2rem; }
.location-point {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1.2rem; border-radius:var(--radius-md);
  background:var(--gray-100); border:1px solid var(--gray-200);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.location-point:hover { border-color:var(--gold); box-shadow:0 4px 16px rgba(201,168,92,.12); }
.location-icon {
  width:42px; height:42px; border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; flex-shrink:0;
}
.location-point-title { font-weight:700; font-size:.9rem; color:var(--navy); margin-bottom:.2rem; }
.location-point-desc  { font-size:.8rem; color:var(--gray-600); line-height:1.5; }

/* ── GALLERY ─────────────────────────────────── */
#gallery { background:var(--navy); padding:clamp(3rem,6vw,6rem) 0; }
.gallery-track {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:1rem;
}
.gallery-item { overflow:hidden; border-radius:var(--radius-md); cursor:pointer; }
.gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s ease; }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-item:first-child { grid-row:1/3; }
.gallery-item:not(:first-child) { height:240px; }

/* ── INVESTORS CTA ───────────────────────────── */
#investors-cta {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 60%, rgba(201,168,92,.08) 100%);
  text-align:center; position:relative; overflow:hidden;
}
#investors-cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(201,168,92,.12) 0%, transparent 70%);
}
.investors-cta-inner { position:relative; z-index:1; max-width:700px; margin:0 auto; }
.investors-cta-inner h2 { color:var(--white); margin-bottom:1rem; }
.investors-cta-inner p { color:rgba(255,255,255,.7); margin-bottom:2.5rem; font-size:1.05rem; line-height:1.7; }
.cta-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn-navy {
  background:var(--navy-mid); color:var(--white);
  border:1.5px solid rgba(255,255,255,.2);
}
.btn-navy:hover { border-color:var(--gold); color:var(--gold); }

/* ── CONTACT ─────────────────────────────────── */
#contact { background:var(--off-white); }
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; align-items:start; }
.contact-info h3 { color:var(--navy); margin-bottom:1rem; }
.contact-info p { color:var(--gray-600); line-height:1.7; margin-bottom:2rem; font-size:.92rem; }
.contact-details { display:flex; flex-direction:column; gap:.8rem; }
.contact-item { display:flex; align-items:center; gap:.8rem; }
.contact-item-icon {
  width:36px; height:36px; border-radius:var(--radius-sm);
  background:var(--navy); display:flex; align-items:center; justify-content:center;
  font-size:.9rem; color:var(--gold); flex-shrink:0;
}
.contact-item-text { font-size:.85rem; color:var(--gray-600); }
.contact-item-text strong { color:var(--navy); display:block; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }

.contact-form {
  background:var(--white); border-radius:var(--radius-lg);
  padding:2.5rem; box-shadow:var(--shadow-card);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-group { margin-bottom:1rem; display:flex; flex-direction:column; gap:.4rem; }
.form-group label { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-600); }
.form-group input, .form-group select, .form-group textarea {
  padding:.75rem 1rem; border-radius:var(--radius-sm);
  border:1.5px solid var(--gray-200);
  font-family:var(--font-body); font-size:.9rem; color:var(--text);
  background:var(--gray-100); outline:none;
  transition:border-color var(--transition);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color:var(--gold); background:var(--white);
}
.form-group textarea { resize:vertical; min-height:100px; }

/* ── FOOTER ──────────────────────────────────── */
footer {
  background:var(--navy); padding:3rem 0 1.5rem;
  border-top:1px solid rgba(201,168,92,.15);
}
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand p { color:rgba(255,255,255,.5); font-size:.84rem; line-height:1.7; margin-top:1rem; max-width:320px; }
.footer-col h4 { color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin-bottom:1rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.footer-col ul a { font-size:.84rem; color:rgba(255,255,255,.5); text-decoration:none; transition:color var(--transition); }
.footer-col ul a:hover { color:var(--gold); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.07); padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { font-size:.75rem; color:rgba(255,255,255,.35); }

/* ── LIGHTBOX ─────────────────────────────────── */
#lightbox {
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,.9); align-items:center; justify-content:center;
}
#lightbox.active { display:flex; }
#lightbox img { max-width:90vw; max-height:90vh; object-fit:contain; border-radius:var(--radius-md); }
#lightbox-close {
  position:absolute; top:1.5rem; right:1.5rem;
  background:rgba(255,255,255,.1); border:none; color:var(--white);
  width:44px; height:44px; border-radius:50%; font-size:1.2rem;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
}

/* ── SCROLL REVEAL ───────────────────────────── */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ──────────────────────────────── */
@media(max-width:1024px){
  .about-grid,
  .location-grid,
  .contact-grid { grid-template-columns:1fr; gap:2.5rem; }
  .program-grid { grid-template-columns:1fr; }
  .gallery-track { grid-template-columns:1fr 1fr; }
  .gallery-item:first-child { grid-row:auto; }
  .gallery-item:not(:first-child){ height:200px; }
  .gallery-item:first-child { grid-column:1/3; }
  .gallery-item:first-child img { height:300px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .hero-stats { flex-direction:column; gap:1rem; }
}
@media(max-width:768px){
  .nav-menu { display:none; }
  .nav-toggle { display:flex; }
  .nav-menu.open {
    display:flex; flex-direction:column; align-items:flex-start;
    position:fixed; top:0; right:0; width:280px; height:100vh;
    background:var(--navy); padding:5rem 2rem 2rem;
    gap:1.5rem; z-index:999;
  }
  .hero-stats { bottom:1rem; right:1rem; flex-direction:row; gap:.8rem; }
  .hero-stat { padding:.6rem .9rem; }
  .hero-stat-num { font-size:1.4rem; }
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .gallery-track { grid-template-columns:1fr; }
  .gallery-item:first-child { grid-column:auto; }
  .gallery-item { height:220px!important; }
}

/* ── INVESTORS PAGE specific ─────────────────── */
.investors-hero {
  height:45vh; min-height:380px; position:relative;
  display:flex; align-items:flex-end; overflow:hidden;
}
.investors-hero-bg { position:absolute; inset:0; }
.investors-hero-bg img { width:100%; height:100%; object-fit:cover; filter:brightness(.4); }
.investors-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,22,40,.9) 0%, rgba(10,22,40,.3) 100%);
}
.investors-hero-content { position:relative; z-index:2; padding-bottom:3rem; }
.access-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(201,168,92,.2); border:1px solid var(--gold);
  border-radius:2rem; padding:.35rem 1rem; color:var(--gold);
  font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  margin-bottom:1rem;
}

/* Metric cards */
.metrics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.5rem; margin-bottom:3rem; }
.metric-card {
  background:var(--white); border-radius:var(--radius-md);
  padding:1.8rem 1.5rem; border-left:4px solid var(--gold);
  box-shadow:var(--shadow-card); transition:transform var(--transition);
}
.metric-card:hover { transform:translateY(-3px); }
.metric-label { font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gray-400); margin-bottom:.5rem; }
.metric-value { font-family:var(--font-head); font-size:2.2rem; color:var(--navy); line-height:1; }
.metric-sub { font-size:.75rem; color:var(--gray-400); margin-top:.3rem; }
.metric-card.positive .metric-value { color:#1A7A4A; }
.metric-card.warning .metric-value { color:#B8860B; }

/* Scenario selector */
.scenario-tabs { display:flex; gap:.5rem; margin-bottom:2rem; }
.scenario-tab {
  padding:.6rem 1.4rem; border-radius:var(--radius-sm);
  font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  cursor:pointer; border:1.5px solid var(--gray-200); background:var(--white);
  color:var(--gray-600); transition:all var(--transition);
}
.scenario-tab.active { background:var(--navy); border-color:var(--navy); color:var(--white); }
.scenario-tab.active.cons  { background:#B8860B; border-color:#B8860B; }
.scenario-tab.active.base  { background:var(--navy); border-color:var(--navy); }
.scenario-tab.active.aggr  { background:#1A7A4A; border-color:#1A7A4A; }

/* Charts area */
.charts-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:2rem; }
.chart-box {
  background:var(--white); border-radius:var(--radius-md);
  padding:2rem; box-shadow:var(--shadow-card);
}
.chart-title { font-family:var(--font-head); font-size:1.2rem; color:var(--navy); margin-bottom:.3rem; }
.chart-subtitle { font-size:.75rem; color:var(--gray-400); margin-bottom:1.5rem; }
.chart-container { height:260px; position:relative; }

/* Sensitivity table */
.sens-table-wrap { overflow-x:auto; }
.sens-table { width:100%; border-collapse:collapse; font-size:.78rem; }
.sens-table th, .sens-table td {
  padding:.6rem .8rem; text-align:center;
  border:1px solid var(--gray-200);
}
.sens-table th { background:var(--navy); color:var(--white); font-weight:700; letter-spacing:.05em; }
.sens-table td { background:var(--white); color:var(--text); }
.cell-green { background:#d4edda!important; color:#155724!important; font-weight:700; }
.cell-yellow { background:#fff3cd!important; color:#856404!important; font-weight:700; }
.cell-red    { background:#f8d7da!important; color:#721c24!important; font-weight:700; }
.cell-highlight { outline:3px solid var(--navy); outline-offset:-1px; }

/* Term sheet */
.term-sheet { background:var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow-card); overflow:hidden; }
.term-sheet-header { background:var(--navy); padding:1.5rem 2rem; }
.term-sheet-header h3 { color:var(--white); font-size:1.1rem; }
.term-sheet-header p  { color:rgba(255,255,255,.5); font-size:.8rem; margin-top:.2rem; }
.term-sheet table { width:100%; border-collapse:collapse; }
.term-sheet tr { border-bottom:1px solid var(--gray-200); }
.term-sheet tr:last-child { border-bottom:none; }
.term-sheet td { padding:.9rem 1.5rem; font-size:.85rem; vertical-align:top; }
.term-sheet td:first-child { font-weight:700; color:var(--navy); width:40%; background:var(--gray-100); font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.term-sheet td:last-child { color:var(--gray-600); }

/* Slider panel */
.slider-panel { background:var(--white); border-radius:var(--radius-md); padding:2rem; box-shadow:var(--shadow-card); }
.slider-panel h3 { color:var(--navy); margin-bottom:1.5rem; }
.slider-group { margin-bottom:1.5rem; }
.slider-group label { display:flex; justify-content:space-between; align-items:center; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gray-600); margin-bottom:.5rem; }
.slider-group label span { font-family:var(--font-mono); font-size:.88rem; color:var(--navy); font-weight:700; }
input[type=range] {
  width:100%; height:4px; border-radius:2px; outline:none; cursor:pointer;
  -webkit-appearance:none;
  background:linear-gradient(to right, var(--gold) var(--pct,50%), var(--gray-200) var(--pct,50%));
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance:none; width:18px; height:18px; border-radius:50%;
  background:var(--gold); border:3px solid var(--white); box-shadow:0 2px 6px rgba(0,0,0,.2);
}

/* Go/No-Go badge */
.verdict-badge {
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.8rem 1.8rem; border-radius:2rem;
  font-size:.85rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
}
.verdict-go     { background:#d4edda; color:#155724; }
.verdict-cond   { background:#fff3cd; color:#856404; }
.verdict-nogo   { background:#f8d7da; color:#721c24; }

/* ── SCROLL PROGRESS BAR ──────────────────────── */
#progress-bar {
  position:fixed; top:0; left:0; height:3px; z-index:2000;
  background:linear-gradient(to right, var(--gold), var(--gold-light));
  width:0%; transition:width .1s linear;
}

/* ── BACK TO TOP ─────────────────────────────── */
#back-top {
  position:fixed; bottom:2rem; right:2rem; z-index:500;
  width:46px; height:46px; border-radius:50%;
  background:var(--navy); border:1.5px solid var(--gold);
  color:var(--gold); font-size:1rem;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:0; pointer-events:none;
  transition:opacity var(--transition), transform var(--transition);
  text-decoration:none;
}
#back-top.visible { opacity:1; pointer-events:all; }
#back-top:hover { transform:translateY(-3px); }
