/* ══ HOME PAGE SPECIFIC ══ */

/* HERO */
.hero {
  min-height: 100vh;
  background: var(--navy);
  display: grid;
  grid-template-columns: 1fr 440px;
  align-items: center;
  gap: 4rem;
  padding: 100px 5rem 3rem;
  position: relative;
  overflow: hidden;
}
#heroCanvas { position:absolute;inset:0;width:100%;height:100%;opacity:.4;pointer-events:none; }

.hero-content { position:relative;z-index:2; }

.hero-tag {
  display:inline-flex;align-items:center;gap:.75rem;
  font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,0.35);margin-bottom:2.5rem;
}
.hero-tag-dot { width:6px;height:6px;border-radius:50%;background:var(--gold-light);animation:pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.8)} }

.hero-h1 { display:flex;flex-direction:column;gap:.2rem;margin-bottom:2rem; }
.hero-line {
  font-family:'Playfair Display',serif;
  font-size:clamp(3.5rem,6.5vw,6.5rem);
  font-weight:400;line-height:1.0;color:#FFF;
  display:block;
}
.hero-line em { font-style:italic;color:var(--gold-light); }

.hero-sub {
  font-size:.97rem;color:rgba(255,255,255,.42);
  max-width:50ch;line-height:1.9;font-weight:300;margin-bottom:2.5rem;
}

.hero-actions { display:flex;gap:1rem;flex-wrap:wrap; }

.hbtn {
  display:inline-flex;align-items:center;gap:.65rem;
  font-family:'IBM Plex Mono',monospace;font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;
  padding:.95rem 2rem;text-decoration:none;cursor:pointer;border:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;
}
.hbtn span { transition:transform .25s; }
.hbtn:hover span { transform:translateX(5px); }
.hbtn-gold { background:var(--gold-light);color:var(--navy); }
.hbtn-gold:hover { background:#C8940F; }
.hbtn-ghost { background:transparent;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.18); }
.hbtn-ghost:hover { border-color:var(--gold-light);color:var(--gold-light); }

/* Hero reveal */
.reveal-hero { opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1); }
.reveal-hero.delay-1{transition-delay:.12s} .reveal-hero.delay-2{transition-delay:.24s}
.reveal-hero.delay-3{transition-delay:.36s} .reveal-hero.delay-4{transition-delay:.48s}
.reveal-hero.delay-5{transition-delay:.6s}
.reveal-hero.visible{opacity:1;transform:translateY(0)}

/* HERO PANEL */
.hero-panel {
  position:relative;z-index:2;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}
.hp-header {
  display:flex;align-items:center;gap:.65rem;padding:1.1rem 1.5rem;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-family:'IBM Plex Mono',monospace;font-size:.56rem;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(255,255,255,.3);
}
.hp-dot { width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2.5s ease infinite; }
.hp-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.06); }
.hp-metric { background:rgba(0,0,0,.15);padding:1.25rem 1.25rem; }
.hp-val { font-family:'Playfair Display',serif;font-size:1.5rem;color:rgba(255,255,255,.85);line-height:1;margin-bottom:.3rem; }
.hp-val.pos{color:#6EE7A0} .hp-val.gld{color:var(--gold-light)}
.hp-lbl { font-family:'IBM Plex Mono',monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.25); }
.hp-chart-wrap { padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.07); }

/* SCROLL HINT */
.hero-scroll-hint {
  position:absolute;bottom:2.5rem;left:5rem;z-index:2;
  display:flex;align-items:center;gap:1rem;
  font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.2);
}
.scroll-line {
  width:40px;height:1px;background:rgba(255,255,255,.2);
  animation:scrollPulse 2s ease infinite;
}
@keyframes scrollPulse { 0%,100%{transform:scaleX(1);opacity:.2} 50%{transform:scaleX(.5);opacity:.6} }

/* METRICS BAND */
.metrics-band {
  display:flex;align-items:center;justify-content:center;
  padding:2.5rem 5rem;background:var(--white);
  border-bottom:1px solid var(--border);
}
.mb-item { display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;padding:0 2rem; }
.mb-num { font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy);line-height:1;margin-bottom:.4rem; }
.mb-lbl { font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim); }
.mb-sep { width:1px;height:36px;background:var(--border);flex-shrink:0; }

/* MANIFESTO */
.manifesto-section { background:var(--white);padding:7rem 5rem; }
.manifesto-grid { display:grid;grid-template-columns:1fr 1.2fr;gap:7rem;align-items:start; }
.manifesto-title { font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.08;margin-top:1rem; }
.manifesto-text { font-size:.97rem;color:var(--muted);line-height:1.95;margin-bottom:1.25rem;font-weight:300; }
.manifesto-text em { color:var(--navy);font-style:italic; }
.manifesto-actions { display:flex;gap:1rem;margin-top:2.5rem; }

/* PILLARS */
.pillars-header { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem; }
.pillars-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border); }
.pillar-card {
  background:var(--white);padding:3rem 2.5rem;
  text-decoration:none;color:inherit;
  position:relative;overflow:hidden;
  transition:background .25s,transform .3s;
  display:flex;flex-direction:column;gap:1rem;
}
.pillar-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1); }
.pillar-card:hover { background:#FAFAF8;transform:translateY(-3px); }
.pillar-card:hover::after { transform:scaleX(1); }
.pillar-num { font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.2em;color:var(--dim); }
.pillar-icon { font-size:1.6rem;color:var(--gold); }
.pillar-card h3 { font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--navy);line-height:1.3; }
.pillar-card p { font-size:.88rem;color:var(--muted);line-height:1.8;flex:1; }
.pillar-link { font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);transition:letter-spacing .2s; }
.pillar-card:hover .pillar-link { letter-spacing:.22em; }

/* CRISIS SECTION */
.crisis-section {
  background:var(--navy);padding:7rem 5rem;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.crisis-stats { display:flex;flex-direction:column;gap:1.1rem;margin-top:2.5rem; }
.cs-item { display:grid;grid-template-columns:110px 70px 1fr;gap:1rem;align-items:center; }
.cs-year { font-family:'IBM Plex Mono',monospace;font-size:.65rem;color:rgba(255,255,255,.35); }
.cs-ret { font-family:'Playfair Display',serif;font-size:.95rem;text-align:right; }
.pos-text{color:#6EE7A0} .neg-text{color:rgba(192,57,43,.8)}
.cs-bar-wrap { height:4px;background:rgba(255,255,255,.08);overflow:hidden; }
.cs-bar { height:100%;background:var(--gold-light);width:0;transition:width 1.2s cubic-bezier(.4,0,.2,1); }
.cs-bar.neg { background:rgba(192,57,43,.7); }
.crisis-chart-card { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:2rem; }

/* SIMULATOR CTA */
.sim-cta-section {
  background:var(--off);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:7rem 5rem;text-align:center;
}
.sim-cta-inner { max-width:680px;margin:0 auto; }
.sim-cta-badge {
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);background:var(--gold-pale);border:1px solid #DDD0A0;
  padding:.3rem .9rem;margin-bottom:2rem;
}
.sim-cta-inner h2 { font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:1rem; }
.sim-cta-inner h2 em{font-style:italic;color:var(--gold)}
.sim-cta-inner p { font-size:.95rem;color:var(--muted);line-height:1.9; }

/* FOUNDER STRIP */
.founder-strip {
  background:var(--navy);padding:0 5rem;
  display:grid;grid-template-columns:320px 1fr;gap:5rem;align-items:center;
  min-height:420px;
}
.fs-photo { align-self:stretch;overflow:hidden; }
.fs-photo img { width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(20%);opacity:.85;transition:filter .5s,opacity .5s; }
.fs-photo:hover img{filter:grayscale(0%);opacity:1}
.fs-content { display:flex;flex-direction:column;padding:4rem 0; }

@media(max-width:1100px){
  .hero{grid-template-columns:1fr;padding:100px 1.5rem 3rem;}
  .hero-panel{display:none;}
  .hero-scroll-hint{display:none;}
}
@media(max-width:960px){
  .metrics-band{flex-wrap:wrap;padding:2rem 1.5rem;gap:1.5rem;} .mb-sep{display:none;}
  .manifesto-grid,.crisis-section,.pillars-grid{grid-template-columns:1fr;}
  .pillars-header{flex-direction:column;gap:1rem;align-items:flex-start;}
  .founder-strip{grid-template-columns:1fr;padding:3rem 1.5rem;} .fs-photo{height:300px;}
  .sim-cta-section{padding:4rem 1.5rem;}
}

/* ─── MOBILE FIXES ─── */
@media (max-width: 768px) {
  /* Hero */
  .hero {
    grid-template-columns: 1fr;
    padding: 88px 1.5rem 3rem;
    min-height: auto;
  }
  .hero-h1 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .hero-sub { font-size: .9rem; }
  .hero-panel { display: none; }
  .hero-scroll-hint { display: none; }

  /* Metrics band */
  .metrics-band {
    flex-wrap: wrap;
    padding: 2rem 1.5rem;
    gap: 1.5rem;
    justify-content: flex-start;
  }
  .mb-item { flex: 0 0 calc(50% - 1rem); align-items: flex-start; text-align: left; }
  .mb-sep { display: none; }

  /* Manifesto */
  .manifesto-section { padding: 4rem 1.5rem; }
  .manifesto-grid { grid-template-columns: 1fr; gap: 3rem; }
  .manifesto-actions { flex-wrap: wrap; }

  /* Pillars */
  .pillars-header { flex-direction: column; gap: 1rem; align-items: flex-start; }
  .pillars-grid { grid-template-columns: 1fr; }

  /* CRISIS SECTION — main fix */
  .crisis-section {
    grid-template-columns: 1fr !important;
    padding: 4rem 1.5rem !important;
    gap: 3rem !important;
    overflow: hidden !important;
  }
  .cs-item {
    grid-template-columns: 90px 60px 1fr !important;
    gap: .75rem !important;
  }
  .crisis-chart-card { overflow: hidden; }
  .crisis-chart-card canvas { max-width: 100% !important; }

  /* Simulator CTA */
  .sim-cta-section { padding: 4rem 1.5rem; }

  /* Founder strip */
  .founder-strip {
    grid-template-columns: 1fr !important;
    padding: 0 1.5rem !important;
    min-height: auto !important;
  }
  .fs-photo { height: 280px; }
  .fs-content { padding: 2.5rem 0 3rem; }

  /* General overflow fix */
  body { overflow-x: hidden; }
  section, div { max-width: 100vw; }
}

/* Extra small phones */
@media (max-width: 380px) {
  .hero-h1 { font-size: 2.4rem; }
  .cs-item { grid-template-columns: 80px 55px 1fr !important; }
}
