/* ═══════════════════════════════════════════════════════
   iTIM.ai — Cinematic NVIDIA × Alpha School aesthetic
   Dark. Precise. Emotionally intelligent. Unforgettable.
═══════════════════════════════════════════════════════ */
:root {
  --black:    #000000;
  --ink:      #080810;
  --deep:     #0A0A14;
  --surface:  #0F0F1C;
  --panel:    #141428;
  --border:   rgba(255,255,255,0.07);
  --white:    #FFFFFF;
  --off-white:#F0EFE8;
  --gray:     #6B6B8A;
  --gray-lt:  #9999BB;
  --blue:     #0EA5E9;
  --blue-dk:  #0369A1;
  --electric: #38BDF8;
  --violet:   #818CF8;
  --gold:     #D4A537;
  --gold-lt:  #F5C842;
  --accent:   #6366F1;
  --glow:     rgba(14,165,233,0.18);
  --font-d:   'Cormorant Garamond', Georgia, serif;
  --font-b:   'Outfit', system-ui, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-b);background:var(--black);color:var(--white);overflow-x:hidden;line-height:1.6;}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:var(--blue-dk);border-radius:2px;}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(36px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px var(--glow);}50%{box-shadow:0 0 60px rgba(14,165,233,0.4);}}
@keyframes scanLine{0%{transform:translateY(-100%);}100%{transform:translateY(100vh);}}
@keyframes starFloat{0%{transform:translate(0,0);}33%{transform:translate(6px,-10px);}66%{transform:translate(-4px,6px);}100%{transform:translate(0,0);}}
@keyframes gradientShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;};}
@keyframes typewriter{from{width:0;}to{width:100%;}}
@keyframes borderGlow{0%,100%{border-color:rgba(14,165,233,0.3);}50%{border-color:rgba(14,165,233,0.8);}}
@keyframes numberCount{from{opacity:0;transform:scale(0.8);}to{opacity:1;transform:scale(1);}}
@keyframes ripple{0%{transform:scale(1);opacity:1;}100%{transform:scale(4);opacity:0;}}
@keyframes spin{to{transform:rotate(360deg);}}

.fu{opacity:0;transform:translateY(36px);transition:opacity.7s cubic-bezier(.4,0,.2,1),transform.7s cubic-bezier(.4,0,.2,1);}
.fu.in{opacity:1;transform:translateY(0);}
.fu.d1{transition-delay:.1s;}.fu.d2{transition-delay:.2s;}
.fu.d3{transition-delay:.3s;}.fu.d4{transition-delay:.4s;}
.fi{opacity:0;transition:opacity.7s ease;}.fi.in{opacity:1;}

/* ── LAYOUT ── */
.w{max-width:1200px;margin:0 auto;padding:0 32px;}
.wl{max-width:1400px;margin:0 auto;padding:0 32px;}
.ws{max-width:820px;margin:0 auto;padding:0 32px;}

/* ── TYPE ── */
.display{font-family:var(--font-d);font-weight:300;line-height:1.06;letter-spacing:-.5px;}
.display em{font-style:italic;color:var(--electric);}
.display .gold{color:var(--gold-lt);}
.label{font-family:var(--font-b);font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:block;}
.label.gd{color:var(--gold);}
.label.vi{color:var(--violet);}

/* ── NAV ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;transition:all.4s;}
#nav::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.9) 0%,transparent 100%);transition:opacity.4s;}
#nav.scrolled::before{opacity:0;}
#nav.scrolled{background:rgba(8,8,16,.95);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);}
.nav-in{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:72px;}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo img{height:60px;width:auto;object-fit:contain;transform:translateY(8px);}
.nav-links{display:flex;gap:0;align-items:center;}
.nl{font-size:13px;font-weight:500;color:rgba(255,255,255,.6);text-decoration:none;padding:8px 16px;border-radius:8px;transition:all.2s;background:none;border:none;cursor:pointer;font-family:var(--font-b);}
.nl:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav-btn{background:var(--blue);color:#fff;border:none;border-radius:8px;padding:9px 22px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-b);transition:all.2s;text-decoration:none;display:inline-block;margin-left:14px;box-shadow:0 0 24px rgba(14,165,233,.3);}
.nav-btn:hover{background:var(--electric);box-shadow:0 0 40px rgba(56,189,248,.5);transform:translateY(-1px);}
.hbg{display:none;background:none;border:none;cursor:pointer;color:#fff;font-size:22px;}
.mob-nav{display:none;background:rgba(8,8,16,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:16px 32px 24px;}
.mob-nav.open{display:block;}
.mob-lnk{display:block;padding:13px 0;color:rgba(255,255,255,.7);font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--border);}

/* ══════════ HERO ══════════ */
#hero{
  min-height:100vh;display:flex;align-items:center;
  background:var(--black);position:relative;overflow:hidden;
  padding:100px 0 80px;
}
/* grid lines */
.hero-grid-bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(14,165,233,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.04) 1px,transparent 1px);
  background-size:80px 80px;
}
/* scan line */
.scan{
  position:absolute;left:0;right:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--electric),transparent);
  animation:scanLine 6s linear infinite;opacity:.15;
}
/* glow orbs */
.gorb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(120px);}
.gorb-1{width:800px;height:800px;background:rgba(14,165,233,.12);top:-300px;right:-200px;animation:floatY 10s ease-in-out infinite;}
.gorb-2{width:500px;height:500px;background:rgba(99,102,241,.08);bottom:-100px;left:-100px;animation:floatY 14s ease-in-out infinite reverse;}
.gorb-3{width:400px;height:400px;background:rgba(212,165,55,.06);top:40%;left:30%;animation:floatY 18s ease-in-out infinite 3s;}

/* particles */
.stars{position:absolute;inset:0;pointer-events:none;}
.star{position:absolute;border-radius:50%;background:#fff;}

.hero-inner{position:relative;z-index:2;}
.hero-content{max-width:760px;}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.25);
  border-radius:100px;padding:8px 20px;margin-bottom:32px;
  font-size:12px;font-weight:700;color:var(--electric);
  text-transform:uppercase;letter-spacing:2px;font-family:var(--font-b);
}
.kicker-dot{width:6px;height:6px;background:var(--electric);border-radius:50%;animation:pulseGlow 2s ease-in-out infinite;}
.hero-h1{font-family:var(--font-d);font-size:clamp(52px,7vw,96px);font-weight:300;line-height:1.02;letter-spacing:-2px;margin-bottom:24px;color:var(--white);}
.hero-h1 em{font-style:italic;
  background:linear-gradient(135deg,var(--electric),var(--violet));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-tagline{
  font-size:clamp(18px,2.5vw,26px);font-weight:700;color:var(--gold-lt);
  margin-bottom:18px;letter-spacing:-.3px;font-family:var(--font-b);
  line-height:1.3;
}
.hero-mission{font-size:17px;color:rgba(255,255,255,.55);line-height:1.85;max-width:580px;margin-bottom:44px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px;}

/* ── BUTTONS ── */
.btn{display:inline-block;font-family:var(--font-b);font-weight:700;text-decoration:none;border-radius:10px;transition:all.25s ease;border:none;cursor:pointer;font-size:15px;}
.btn-blue{background:var(--blue);color:#fff;padding:15px 32px;box-shadow:0 0 30px rgba(14,165,233,.3);}
.btn-blue:hover{background:var(--electric);box-shadow:0 0 60px rgba(56,189,248,.5);transform:translateY(-2px);}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.25);padding:15px 32px;}
.btn-outline:hover{border-color:var(--electric);color:var(--electric);box-shadow:0 0 24px rgba(14,165,233,.2);}
.btn-gold{background:var(--gold);color:var(--black);padding:15px 32px;}
.btn-gold:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 0 40px rgba(212,165,55,.4);}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;padding:12px 22px;font-size:13px;border:1px solid var(--border);width:100%;}
.btn-ghost:hover{background:rgba(14,165,233,.15);border-color:var(--blue);}

/* ── hero stats ── */
.hero-metrics{display:flex;gap:48px;flex-wrap:wrap;}
.hm{border-left:2px solid rgba(14,165,233,.4);padding-left:20px;}
.hm-val{font-family:var(--font-d);font-size:36px;font-weight:300;color:var(--white);line-height:1;}
.hm-lab{font-size:11px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;margin-top:4px;}

/* ── right side floating card ── */
.hero-float{
  position:absolute;right:32px;top:30%;transform:translateY(-50%);
  width:340px;animation:floatY 6s ease-in-out infinite;
  display:flex;flex-direction:column;gap:14px;
  background:rgba(15,15,28,.8);backdrop-filter:blur(16px);
  border:1px solid var(--border);border-radius:20px;padding:28px 24px;
  box-shadow:0 40px 80px rgba(0,0,0,.6),0 0 60px var(--glow);
}
.hf-label{font-size:11px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:2px;margin-bottom:6px;}
.hf-title{font-family:var(--font-d);font-size:22px;color:#fff;margin-bottom:16px;line-height:1.2;}
.aud-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  border:1px solid rgba(255,255,255,.07);border-radius:10px;cursor:pointer;
  transition:all.25s;background:rgba(255,255,255,.03);
}
.aud-row.active,.aud-row:hover{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.3);}
.aud-row.active .aud-arrow{color:var(--electric);}
.aud-ico{font-size:20px;flex-shrink:0;}
.aud-txt{flex:1;}
.aud-nm{font-size:13px;font-weight:600;color:#fff;margin-bottom:1px;}
.aud-ds{font-size:11px;color:var(--gray);}
.aud-arrow{color:rgba(255,255,255,.2);font-size:14px;transition:all.2s;}
.aud-row:hover .aud-arrow,.aud-row.active .aud-arrow{transform:translateX(3px);}

/* ══════════ VISION SECTION ══════════ */
#vision{background:var(--ink);padding:100px 0;}
.vision-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.vision-text h2{font-family:var(--font-d);font-size:clamp(36px,4vw,56px);font-weight:300;line-height:1.1;margin-bottom:24px;}
.vision-text h2 em{font-style:italic;color:var(--electric);}
.vision-text p{font-size:16px;color:rgba(255,255,255,.6);line-height:1.85;margin-bottom:18px;}
.vision-text strong{color:var(--white);font-weight:600;}
.vis-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:20px;padding:40px 36px;position:relative;overflow:hidden;
}
.vis-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--electric),transparent);
}
/* ── Video embed (replaces the algebra walkthrough; click-to-play) ── */
.demo-embed{
  background:#000;border:1px solid var(--border);
  border-radius:20px;position:relative;overflow:hidden;
  aspect-ratio:16 / 9;height:auto;
}
.demo-embed::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--electric),transparent);
  z-index:2;pointer-events:none;
}
.demo-embed video{
  width:100%;height:100%;border:0;display:block;background:#000;
  object-fit:contain;
}
@media (max-width:900px){
  .demo-embed{aspect-ratio:16 / 9;}
}
.vis-quote{font-family:var(--font-d);font-size:20px;font-style:italic;color:rgba(255,255,255,.75);line-height:1.7;margin-bottom:24px;}
.vis-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vs{
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:12px;padding:20px 16px;text-align:center;transition:all.3s;
}
.vs:hover{border-color:rgba(14,165,233,.3);background:rgba(14,165,233,.05);}
.vs-n{font-family:var(--font-d);font-size:38px;font-weight:300;color:var(--electric);line-height:1;margin-bottom:6px;}
.vs-l{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;}
.equation-box{
  margin-top:32px;padding:24px;
  background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(99,102,241,.08));
  border:1px solid rgba(14,165,233,.2);border-radius:14px;text-align:center;
}
.eq-text{font-family:var(--font-d);font-size:22px;color:#fff;letter-spacing:1px;}
.eq-text .op{color:var(--blue);margin:0 12px;font-style:italic;}
.eq-text .res{color:var(--gold-lt);font-weight:600;}

/* ══════════ SOCRATIC METHOD ══════════ */
#method{background:var(--deep);padding:100px 0;}
.method-header{text-align:center;margin-bottom:72px;}
.method-header h2{font-family:var(--font-d);font-size:clamp(38px,5vw,62px);font-weight:300;line-height:1.08;margin-bottom:20px;}
.method-header h2 em{font-style:italic;color:var(--electric);}
.method-header p{font-size:17px;color:rgba(255,255,255,.55);max-width:640px;margin:0 auto;line-height:1.8;}
/* 5 steps arc */
.steps-arc{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:64px;}
.step-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:32px 20px;text-align:center;position:relative;transition:all.35s;
  overflow:hidden;
}
.step-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--violet));
  transform:scaleX(0);transform-origin:left;transition:transform.35s ease;
}
.step-card:hover{transform:translateY(-8px);border-color:rgba(14,165,233,.3);box-shadow:0 20px 60px rgba(14,165,233,.12);}
.step-card:hover::after{transform:scaleX(1);}
.step-num{
  position:absolute;top:16px;left:16px;width:28px;height:28px;
  background:rgba(14,165,233,.15);border:1px solid rgba(14,165,233,.3);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:var(--electric);font-family:var(--font-b);
}
.step-ico{font-size:36px;margin:8px 0 16px;}
.step-ttl{font-family:var(--font-d);font-size:18px;margin-bottom:10px;color:#fff;line-height:1.2;}
.step-txt{font-size:13px;color:var(--gray);line-height:1.65;}
/* quote accent */
.bloom-quote{
  background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(99,102,241,.06));
  border:1px solid rgba(14,165,233,.18);border-radius:20px;padding:44px 52px;
  text-align:center;position:relative;overflow:hidden;
}
.bloom-quote::before{
  content:'“';position:absolute;top:-20px;left:40px;
  font-family:var(--font-d);font-size:200px;color:rgba(14,165,233,.06);
  line-height:1;pointer-events:none;
}
.bq-text{font-family:var(--font-d);font-size:clamp(20px,2.5vw,28px);font-weight:300;font-style:italic;color:rgba(255,255,255,.85);line-height:1.65;max-width:760px;margin:0 auto 20px;}
.bq-attr{font-size:13px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:2px;}

/* ══════════ PROGRAMS ══════════ */
#programs{background:var(--ink);padding:100px 0;}
.prog-header{text-align:center;margin-bottom:64px;}
.prog-header h2{font-family:var(--font-d);font-size:clamp(36px,4.5vw,58px);font-weight:300;line-height:1.1;margin-bottom:18px;}
.prog-header h2 em{font-style:italic;color:var(--gold-lt);}
.prog-header p{font-size:17px;color:rgba(255,255,255,.55);max-width:580px;margin:0 auto;}
.prog-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:48px;flex-wrap:wrap;}
.ptab{
  padding:10px 24px;border-radius:100px;font-size:13px;font-weight:600;
  cursor:pointer;transition:all.25s;background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.5);border:1px solid var(--border);font-family:var(--font-b);
}
.ptab.active,.ptab:hover{background:rgba(14,165,233,.15);color:var(--electric);border-color:rgba(14,165,233,.3);}
.prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
/* Center the last card if it lands alone in a new row (e.g. 4 cards in 3-col grid). */
.prog-grid > .prog-card:last-child:nth-child(3n+1){grid-column:2 / 3;}
.prog-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:36px 28px;display:flex;flex-direction:column;gap:18px;transition:all.3s;
  position:relative;overflow:hidden;
}
.prog-card.featured{
  background:linear-gradient(145deg,rgba(14,165,233,.12),rgba(99,102,241,.08));
  border-color:rgba(14,165,233,.25);
  box-shadow:0 0 60px rgba(14,165,233,.1);
}
.prog-card:hover{transform:translateY(-6px);border-color:rgba(14,165,233,.25);box-shadow:0 20px 60px rgba(14,165,233,.1);}
.pc-badge{
  position:absolute;top:18px;right:18px;background:var(--gold);color:var(--black);
  font-size:10px;font-weight:800;padding:4px 12px;border-radius:100px;
  font-family:var(--font-b);text-transform:uppercase;letter-spacing:1px;
}
.pc-ico{font-size:42px;}
.pc-ttl{font-family:var(--font-d);font-size:24px;color:#fff;}
.pc-desc{font-size:14px;color:var(--gray);line-height:1.75;flex:1;}
.pc-features{list-style:none;display:flex;flex-direction:column;gap:8px;}
.pc-features li{display:flex;gap:10px;font-size:13px;color:rgba(255,255,255,.65);align-items:flex-start;line-height:1.4;}
.pc-features li::before{content:"\2713";color:var(--blue);font-weight:800;flex-shrink:0;margin-top:1px;}
.pc-price{font-family:var(--font-d);font-size:32px;color:var(--electric);line-height:1;}
.pc-period{font-size:12px;color:var(--gray);font-family:var(--font-b);}
.prog-card.featured .pc-price{color:var(--gold-lt);}

/* ══════════ PRICING ══════════ */
#pricing{background:var(--deep);padding:100px 0;}
.price-header{text-align:center;margin-bottom:56px;}
.price-header h2{font-family:var(--font-d);font-size:clamp(36px,4.5vw,56px);font-weight:300;line-height:1.1;margin-bottom:18px;}
.price-header h2 em{font-style:italic;color:var(--electric);}
.price-header p{font-size:17px;color:rgba(255,255,255,.55);max-width:540px;margin:0 auto;}
.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.prc{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:32px 18px;text-align:center;
  position:relative;transition:all.3s;
}
.prc:hover{transform:translateY(-7px);box-shadow:0 20px 60px rgba(14,165,233,.12);border-color:rgba(14,165,233,.3);}
.prc.feat{
  background:linear-gradient(145deg,rgba(14,165,233,.15),rgba(99,102,241,.1));
  border-color:rgba(14,165,233,.3);box-shadow:0 0 60px rgba(14,165,233,.15);
}
.prc-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--blue);color:#fff;font-size:10px;font-weight:800;
  padding:4px 14px;border-radius:100px;font-family:var(--font-b);
  text-transform:uppercase;letter-spacing:1px;white-space:nowrap;
}
.prc-ico{font-size:32px;margin-bottom:14px;}
.prc-amt{font-family:var(--font-d);font-size:40px;font-weight:300;color:var(--electric);line-height:1;margin-bottom:4px;}
.prc.feat .prc-amt{color:var(--gold-lt);}
.prc-custom{font-family:var(--font-d);font-size:26px;color:var(--electric);line-height:1;padding:8px 0;}
.prc-mo{font-size:11px;color:var(--gray);margin-bottom:10px;font-weight:600;}
.prc-nm{font-size:14px;font-weight:700;color:#fff;margin-bottom:7px;font-family:var(--font-b);}
.prc-desc{font-size:12px;color:var(--gray);line-height:1.6;margin-bottom:20px;}
.prc-btn{
  width:100%;padding:11px 14px;border-radius:8px;border:1px solid rgba(14,165,233,.25);
  background:rgba(14,165,233,.08);color:var(--electric);font-weight:700;font-size:13px;
  cursor:pointer;font-family:var(--font-b);transition:all.2s;
}
.prc-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.prc.feat .prc-btn{background:var(--gold);color:var(--black);border-color:transparent;}
.prc.feat .prc-btn:hover{background:var(--gold-lt);}
.price-note{text-align:center;margin-top:24px;font-size:13px;color:var(--gray);}

/* ══════════ ABOUT / FOUNDER ══════════ */
#about{background:var(--surface);padding:100px 0;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.about-text h2{font-family:var(--font-d);font-size:clamp(36px,4vw,54px);font-weight:300;line-height:1.1;margin-bottom:24px;}
.about-text h2 em{font-style:italic;color:var(--electric);}
.about-text p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.85;margin-bottom:18px;}
.about-text strong{color:var(--white);font-weight:600;}
.founder-card{
  background:var(--panel);border:1px solid var(--border);border-radius:20px;
  padding:40px 36px;position:relative;overflow:hidden;
}
.founder-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.founder-avatar{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-d);font-size:28px;font-style:italic;color:#fff;
  margin-bottom:20px;border:2px solid rgba(14,165,233,.3);
}
.founder-name{font-family:var(--font-d);font-size:26px;color:#fff;margin-bottom:4px;}
.founder-title{font-size:12px;color:var(--blue);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;}
.founder-quote{
  font-family:var(--font-d);font-size:17px;font-style:italic;
  color:rgba(255,255,255,.75);line-height:1.75;margin-bottom:24px;
  border-left:2px solid var(--gold);padding-left:18px;
}
.founder-credentials{display:flex;flex-direction:column;gap:10px;}
.cred{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:10px;padding:12px 14px;transition:all.25s;
}
.cred:hover{border-color:rgba(14,165,233,.2);background:rgba(14,165,233,.05);}
.cred-ico{font-size:20px;flex-shrink:0;}
.cred-txt{font-size:13px;color:rgba(255,255,255,.65);line-height:1.4;}
.mandela-quote{
  margin-top:36px;background:rgba(212,165,55,.06);border:1px solid rgba(212,165,55,.2);
  border-radius:14px;padding:24px 28px;
}
.mq-text{font-family:var(--font-d);font-size:17px;font-style:italic;color:rgba(255,255,255,.8);line-height:1.65;margin-bottom:8px;}
.mq-attr{font-size:12px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;}

/* ══════════ CHARITY ══════════ */
#charity{background:var(--ink);padding:100px 0;}
.charity-inner{
  max-width:900px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.charity-text h2{font-family:var(--font-d);font-size:clamp(32px,4vw,50px);font-weight:300;line-height:1.1;margin-bottom:20px;}
.charity-text h2 em{font-style:italic;color:var(--gold-lt);}
.charity-text p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.85;margin-bottom:24px;}
.charity-visual{
  background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px 32px;
  text-align:center;position:relative;overflow:hidden;
}
.charity-visual::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.charity-pct{font-family:var(--font-d);font-size:80px;font-weight:300;color:var(--gold-lt);line-height:1;}
.charity-pct-label{font-size:16px;font-weight:700;color:#fff;margin-bottom:16px;}
.charity-pct-sub{font-size:13px;color:var(--gray);line-height:1.65;}
.charity-logos{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;}
.clog{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:8px;padding:10px 16px;font-size:12px;color:var(--gray);
  font-family:var(--font-b);transition:all.2s;cursor:pointer;
}
.clog:hover{border-color:rgba(212,165,55,.3);color:var(--gold);}

/* ══════════ TESTIMONIALS ══════════ */
#testimonials{background:var(--deep);padding:100px 0;}
.tes-header{text-align:center;margin-bottom:60px;}
.tes-header h2{font-family:var(--font-d);font-size:clamp(34px,4vw,54px);font-weight:300;line-height:1.1;margin-bottom:16px;}
.tes-header h2 em{font-style:italic;color:var(--electric);}
.tes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.tes{
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:28px 22px;display:flex;flex-direction:column;gap:16px;transition:all.3s;
}
.tes:hover{border-color:rgba(14,165,233,.25);transform:translateY(-4px);box-shadow:0 16px 48px rgba(14,165,233,.08);}
.tes-stars{color:var(--gold-lt);font-size:14px;letter-spacing:2px;}
.tes-q{font-family:var(--font-d);font-size:15px;font-style:italic;color:rgba(255,255,255,.72);line-height:1.75;flex:1;}
.tes-auth{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:16px;}
.tes-av{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--violet));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:13px;flex-shrink:0;font-family:var(--font-b);
}
.tes-nm{font-weight:700;color:#fff;font-size:13px;font-family:var(--font-b);}
.tes-rl{font-size:11px;color:var(--gray);}

/* ══════════ COMMUNITY ══════════ */
#community{background:var(--ink);padding:100px 0;}
.comm-header{text-align:center;margin-bottom:60px;}
.comm-header h2{font-family:var(--font-d);font-size:clamp(34px,4vw,54px);font-weight:300;line-height:1.1;margin-bottom:16px;}
.comm-header h2 em{font-style:italic;color:var(--violet);}
.comm-header p{font-size:17px;color:rgba(255,255,255,.55);max-width:560px;margin:0 auto;}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:48px;}
.soc-card{
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:28px 20px;text-align:center;transition:all.3s;cursor:pointer;
}
.soc-card:hover{transform:translateY(-6px);}
.soc-card.instagram:hover{border-color:#E1306C;box-shadow:0 16px 48px rgba(225,48,108,.15);}
.soc-card.tiktok:hover{border-color:#69C9D0;box-shadow:0 16px 48px rgba(105,201,208,.15);}
.soc-card.youtube:hover{border-color:#FF0000;box-shadow:0 16px 48px rgba(255,0,0,.15);}
.soc-card.linkedin:hover{border-color:#0A66C2;box-shadow:0 16px 48px rgba(10,102,194,.15);}
.soc-card.facebook:hover{border-color:#1877F2;box-shadow:0 16px 48px rgba(24,119,242,.15);}
.soc-card.twitter:hover{border-color:#1DA1F2;box-shadow:0 16px 48px rgba(29,161,242,.15);}
.soc-card.discord:hover{border-color:#5865F2;box-shadow:0 16px 48px rgba(88,101,242,.15);}
.soc-card.podcast:hover{border-color:#8B5CF6;box-shadow:0 16px 48px rgba(139,92,246,.15);}
.soc-ico{font-size:36px;margin-bottom:12px;}
.soc-nm{font-size:14px;font-weight:700;color:#fff;margin-bottom:4px;font-family:var(--font-b);}
.soc-ds{font-size:12px;color:var(--gray);}
/* newsletter */
.newsletter-box{
  background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(99,102,241,.08));
  border:1px solid rgba(14,165,233,.2);border-radius:20px;padding:44px 52px;
  text-align:center;max-width:700px;margin:0 auto;
}
.nl-h{font-family:var(--font-d);font-size:32px;color:#fff;margin-bottom:12px;}
.nl-p{font-size:15px;color:rgba(255,255,255,.6);margin-bottom:28px;line-height:1.7;}
.nl-form{display:flex;gap:12px;max-width:500px;margin:0 auto;flex-wrap:wrap;}
.nl-inp{
  flex:1 1 240px;padding:14px 18px;border-radius:10px;
  border:1px solid rgba(14,165,233,.25);background:rgba(255,255,255,.05);
  color:#fff;font-size:14px;font-family:var(--font-b);outline:none;
}
.nl-inp::placeholder{color:rgba(255,255,255,.3);}
.nl-inp:focus{border-color:var(--electric);}
.nl-btn{background:var(--blue);color:#fff;border:none;border-radius:10px;padding:14px 28px;font-weight:700;font-size:14px;cursor:pointer;font-family:var(--font-b);transition:all.2s;}
.nl-btn:hover{background:var(--electric);box-shadow:0 0 40px rgba(56,189,248,.4);}
.nl-suc{
  background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.3);
  border-radius:10px;padding:14px 24px;color:var(--electric);font-size:14px;font-weight:600;margin-top:16px;
}

/* ══════════ IMPACT ══════════ */
#impact{background:var(--surface);padding:80px 0;}
.impact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-radius:20px;overflow:hidden;border:1px solid var(--border);}
.imp-cell{padding:44px 28px;text-align:center;border-right:1px solid var(--border);}
.imp-cell:last-child{border-right:none;}
.imp-n{font-family:var(--font-d);font-size:56px;font-weight:300;color:var(--electric);line-height:1;margin-bottom:8px;}
.imp-l{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;}

/* ══════════ FAQ ══════════ */
#faq{background:var(--ink);padding:100px 0;}
.faq-hdr{text-align:center;margin-bottom:52px;}
.faq-hdr h2{font-family:var(--font-d);font-size:clamp(34px,4vw,52px);font-weight:300;margin-bottom:14px;}
.faq-hdr h2 em{font-style:italic;color:var(--electric);}
.faq-list{max-width:760px;margin:0 auto;}
.fq{border-bottom:1px solid var(--border);}
.fq-tr{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:22px 0;background:none;border:none;cursor:pointer;text-align:left;
}
.fq-q{font-size:16px;font-weight:600;color:#fff;font-family:var(--font-b);padding-right:16px;}
.fq-ic{font-size:20px;color:var(--blue);transition:transform.3s;flex-shrink:0;}
.fq-ic.open{transform:rotate(45deg);}
.fq-bd{max-height:0;overflow:hidden;transition:max-height.4s ease;}
.fq-bd.open{max-height:300px;}
.fq-bd p{font-size:15px;color:rgba(255,255,255,.58);line-height:1.8;padding-bottom:24px;}

/* ══════════ CTA ══════════ */
#cta{
  background:var(--black);padding:120px 0;
  position:relative;overflow:hidden;text-align:center;
}
#cta::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(14,165,233,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px);
  background-size:60px 60px;
}
.cta-orb{position:absolute;width:800px;height:800px;border-radius:50%;filter:blur(120px);top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(14,165,233,.12),transparent 70%);}
.cta-in{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:0 32px;}
.cta-h{font-family:var(--font-d);font-size:clamp(38px,5.5vw,72px);font-weight:300;color:#fff;line-height:1.04;margin-bottom:20px;}
.cta-h em{font-style:italic;background:linear-gradient(135deg,var(--electric),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cta-tag{font-size:clamp(18px,2.5vw,26px);font-weight:700;color:var(--gold-lt);margin-bottom:16px;letter-spacing:-.2px;}
.cta-sub{font-size:17px;color:rgba(255,255,255,.55);line-height:1.8;margin-bottom:44px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}

/* ══════════ FOOTER ══════════ */
footer{background:var(--ink);padding:72px 0 36px;border-top:1px solid var(--border);}
.ft-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px;margin-bottom:56px;}
.ft-logo img{height:48px;width:auto;object-fit:contain;opacity:.95;margin-bottom:14px;}
.ft-tag{font-size:13px;color:rgba(255,255,255,.38);line-height:1.75;max-width:210px;margin-bottom:14px;}
.ft-mission{font-size:12px;color:var(--gold);font-weight:600;line-height:1.6;}
.ft-socs{display:flex;gap:10px;margin-top:18px;}
.ft-soc{
  width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:13px;color:rgba(255,255,255,.5);transition:all.2s;
}
.ft-soc:hover{background:rgba(14,165,233,.2);color:var(--electric);}
.ft-hd{font-size:11px;color:rgba(14,165,233,.8);text-transform:uppercase;letter-spacing:2.5px;margin-bottom:18px;font-weight:700;}
.ft-lk{font-size:13px;color:rgba(255,255,255,.35);margin-bottom:11px;cursor:pointer;transition:color.2s;}
.ft-lk:hover{color:#fff;}
.ft-bar{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.ft-copy{color:rgba(255,255,255,.2);font-size:12px;}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .hero-float{display:none;}
  .prog-grid{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:repeat(3,1fr);}
  .tes-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .nav-links{display:none;}.hbg{display:block;}
  .hero-h1{font-size:clamp(42px,8vw,72px);}
  .vision-layout,.about-grid{grid-template-columns:1fr;gap:48px;}
  .steps-arc{grid-template-columns:repeat(3,1fr);}
  .impact-strip{grid-template-columns:repeat(2,1fr);}
  .imp-cell{border-right:none;border-bottom:1px solid var(--border);}
  .social-grid{grid-template-columns:repeat(2,1fr);}
  .charity-inner{grid-template-columns:1fr;gap:48px;}
  .ft-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .price-grid{grid-template-columns:1fr 1fr;}
  .prog-grid{grid-template-columns:1fr;}
  .tes-grid{grid-template-columns:1fr;}
  .steps-arc{grid-template-columns:1fr 1fr;}
  .ft-grid{grid-template-columns:1fr;}
  .hero-metrics{gap:28px;}
  .nl-form{flex-direction:column;}
}

/* ══════════════════════════════════════════════════════════
   FULL-PAGE OVERLAYS — used by Vision, TSM, About, Pricing
   Driven by [data-page-trigger="X"] buttons + [data-page-overlay] divs
══════════════════════════════════════════════════════════ */

/* Force page triggers to be clickable above any potential overlay */
[data-page-trigger] {
  position: relative !important;
  z-index: 1000 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

@keyframes vpSlideUp { from {opacity:0; transform:translateY(40px);} to {opacity:1; transform:translateY(0);} }

[data-page-overlay] {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 99999;
  background: radial-gradient(ellipse at top, #0F0F1C 0%, #000000 60%);
  overflow-y: auto;
  display: none;
  opacity: 0;
  transition: opacity .35s ease;
}
[data-page-overlay].open {
  opacity: 1;
}
[data-page-overlay]::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(14,165,233,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,165,233,.04) 1px, transparent 1px);
  background-size: 80px 80px;
}
[data-page-overlay]::after {
  content: ''; position: absolute;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(14,165,233,.10) 0%, transparent 70%);
  top: -200px; right: -200px; pointer-events: none; filter: blur(80px);
}

.vp-bar {
  position: sticky; top: 0; z-index: 5;
  background: rgba(8,8,16,.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 18px 32px;
  display: flex; align-items: center; justify-content: space-between;
}
.vp-brand {
  font-family: var(--font-b);
  font-size: 12px; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: var(--electric);
}
.vp-close {
  background: transparent;
  border: 1px solid var(--border);
  color: rgba(255,255,255,.7);
  border-radius: 100px;
  padding: 9px 20px 9px 16px;
  font-family: var(--font-b);
  font-size: 13px; font-weight: 600;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all .2s ease;
}
.vp-close:hover {
  border-color: var(--electric);
  color: #fff;
  background: rgba(14,165,233,.08);
}
.vp-close-x {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: rgba(255,255,255,.08);
  font-size: 16px; line-height: 1;
}

.vp-wrap {
  position: relative; z-index: 2;
  max-width: 820px;
  margin: 0 auto;
  padding: 80px 32px 120px;
  animation: vpSlideUp .6s cubic-bezier(.4,0,.2,1) .1s both;
}
.vp-eyebrow {
  display: inline-block;
  font-family: var(--font-b);
  font-size: 11px; font-weight: 700; letter-spacing: 3.5px;
  text-transform: uppercase; color: var(--electric);
  background: rgba(14,165,233,.08);
  border: 1px solid rgba(14,165,233,.25);
  padding: 7px 16px; border-radius: 100px;
  margin-bottom: 28px;
}
.vp-h1 {
  font-family: var(--font-d);
  font-size: clamp(44px, 6vw, 72px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -1.5px;
  color: #fff;
  margin-bottom: 16px;
}
.vp-h2 {
  font-family: var(--font-d);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22px, 2.6vw, 30px);
  color: var(--gray-lt);
  margin-bottom: 40px;
  letter-spacing: -.2px;
}
.vp-rule {
  width: 72px; height: 3px;
  background: linear-gradient(90deg, var(--electric), var(--gold));
  border-radius: 2px;
  margin-bottom: 48px;
}
.vp-body p {
  font-family: var(--font-b);
  font-size: 18px;
  line-height: 1.9;
  color: rgba(255,255,255,.78);
  margin-bottom: 26px;
}
.vp-body p strong {
  color: #fff;
  font-weight: 700;
}
.vp-body p em {
  font-style: italic;
  color: var(--electric);
}
.vp-tagline {
  text-align: center;
  margin-top: 64px;
  padding-top: 40px;
  border-top: 1px solid var(--border);
}
.vp-tagline .t1 {
  font-family: var(--font-b);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  color: var(--electric);
  letter-spacing: .5px;
  margin-bottom: 4px;
}
.vp-tagline .t2 {
  font-family: var(--font-b);
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  color: var(--gold-lt);
  letter-spacing: .5px;
}

@media (max-width: 720px) {
  .vp-bar { padding: 14px 20px; }
  .vp-wrap { padding: 50px 22px 90px; }
  .vp-body p { font-size: 16px; line-height: 1.8; }
}


/* ===================================================================
   Inline-style extraction (CSP hardening: removes need for style-src 'unsafe-inline')
   Each .x-* class replaces a former inline style= attribute.
   =================================================================== */
.x-72f80e{cursor:pointer !important;}
.x-5bf9c1{cursor:pointer !important; text-align:left; width:100%;}
.x-58aba5{cursor:pointer;}
.x-1efd74{margin-top:16px;}
.x-f6f808{color:var(--electric);}
.x-e21515{font-size:18px;}
.x-820f9f{font-size:13px; padding:11px 20px;}
.x-ff9ec5{font-size:20px;}
.x-344eab{margin-top:14px; background:rgba(14,165,233,.06); border-color:rgba(14,165,233,.2);}
.x-cc2d0c{color:var(--gold-lt);}
.x-b31caf{font-size:40px;}
.x-779154{margin-top:28px; padding-top:24px; border-top:1px solid var(--border);}
.x-febb76{font-size:13px; color:var(--gold); font-weight:700; margin-bottom:7px;}
.x-b24746{font-size:12px; color:var(--gray); line-height:1.65;}
.x-ce23e1{background:var(--deep); padding:100px 0;}
.x-93b8ea{display:none;}
.x-d9d806{display:block; text-align:center; margin-bottom:20px;}
.x-fcf307{font-size:13px; color:rgba(255,255,255,.3); margin-top:20px;}
.x-5022fd{font-family:var(--font-d); font-size:clamp(22px,2.6vw,28px); font-weight:500; color:#fff; margin:48px 0 16px; letter-spacing:-.3px;}
.x-f72989{font-style:italic; color:var(--electric); font-family:var(--font-d); font-size:clamp(19px,2.2vw,22px); text-align:center; margin:48px 0; padding:0 24px;}
.x-823ba6{font-style:italic; color:var(--electric); font-family:var(--font-d); font-size:clamp(20px,2.4vw,24px); text-align:center; margin:32px 0; padding:0 24px;}
.x-26f888{list-style:none; padding:0; margin:0;}
.x-9cc68f{position:relative; padding-left:28px; margin-bottom:24px; font-size:18px; line-height:1.7; color:rgba(255,255,255,.78);}
.x-83baf6{position:absolute; left:0; top:8px; width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg, var(--electric), var(--gold));}
.x-163750{margin:48px 0; padding:32px 28px; border-left:3px solid var(--electric); background:linear-gradient(90deg, rgba(14,165,233,.06), transparent); border-radius:0 12px 12px 0;}
.x-9648b0{font-family:var(--font-d); font-size:clamp(20px,2.4vw,26px); font-style:italic; line-height:1.55; color:#fff; margin-bottom:18px;}
.x-73911b{color:var(--electric); font-style:normal; font-weight:500;}
.x-9140a3{font-family:var(--font-b); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--electric); margin:0;}
.x-b96ab6{text-transform:none; letter-spacing:0; color:rgba(255,255,255,.7); font-weight:400;}
.x-de3c2e{margin:36px 0; padding:24px 28px; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:14px;}
.x-6a1508{font-family:var(--font-d); font-size:clamp(18px,2.1vw,22px); font-style:italic; line-height:1.6; color:rgba(255,255,255,.85); margin-bottom:14px;}
.x-95cb8b{font-family:var(--font-b); font-size:12px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold); margin:0;}
.x-d163c3{margin:40px 0; padding:28px 32px; border-left:3px solid var(--electric); background:linear-gradient(90deg, rgba(14,165,233,.06), transparent); border-radius:0 12px 12px 0;}
.x-2ef554{font-family:var(--font-d); font-size:clamp(22px,2.8vw,30px); font-style:italic; line-height:1.4; color:#fff; margin:0; letter-spacing:-.3px;}
.x-9e82c4{font-family:var(--font-d); font-size:clamp(28px,4vw,42px); font-style:italic; text-align:center; color:var(--gold); margin:56px 0; letter-spacing:-.5px; font-weight:300;}
.x-db4b22{margin:48px 0 24px; padding:32px 32px; background:rgba(212,165,55,.06); border:1px solid rgba(212,165,55,.2); border-radius:16px;}
.x-cc3f9e{font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
.x-4613d6{font-size:17px; line-height:1.8; color:rgba(255,255,255,.85); margin-bottom:0;}
.x-a2f71e{color:var(--gold); font-weight:700;}
.x-b59271{color:#fff;}
