/* ══════════════════════════════════════════════════════════════
   bullsnbrainsacademy — NEON TERMINAL v3
   Unmistakably redesigned. Animated. Bold.
   ══════════════════════════════════════════════════════════════ */

/* ── TOKENS ────────────────────────────────────────────────── */
:root {
  --bg:          #04070F;
  --surface:     rgba(6, 12, 28, 0.75);
  --surface-2:   rgba(10, 20, 44, 0.88);
  --border:      rgba(0, 212, 255, 0.15);
  --border-mid:  rgba(0, 212, 255, 0.35);
  --border-gold: rgba(255, 200, 50, 0.25);
  --text:        #F0F6FF;
  --text-2:      #A8C0D6;
  --muted:       #607A94;
  --cyan:        #00D4FF;
  --cyan-2:      #00AADD;
  --gold:        #FFC832;
  --green:       #00FF94;
  --purple:      #BB86FC;
  --red:         #FF5370;
  --glow-cyan:   0 0 30px rgba(0,212,255,0.45), 0 0 80px rgba(0,212,255,0.2);
  --glow-gold:   0 0 30px rgba(255,200,50,0.4),  0 0 80px rgba(255,200,50,0.15);
  --glow-green:  0 0 20px rgba(0,255,148,0.5);
  --shadow:      0 20px 60px rgba(0,0,0,0.6);
  --r-sm: 10px; --r-md: 16px; --r-lg: 22px; --r-xl: 30px; --r-pill: 999px;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --pad: max(1.5rem, calc((100% - 1260px)/2 + 1.5rem));
  /* legacy compat */
  --accent: #00D4FF; --accent-soft: rgba(0,212,255,0.12);
  --accent-strong: #00AADD; --gold-dark: #E6B000; --green-dark: #00CC77;
  --pointer-x: 50vw; --pointer-y: 40vh;
}

/* ── RESET ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  font-family:"Space Grotesk",system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-width:320px;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,textarea{font-family:inherit;font-size:inherit}

/* ── ANIMATED GRADIENT BLOBS (background) ──────────────────── */
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-10;
  background:
    radial-gradient(ellipse 70% 55% at 15% 10%, rgba(0,212,255,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 55% 45% at 85% 15%, rgba(187,134,252,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 50% 95%, rgba(0,255,148,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 80% 80% at 50% 50%, rgba(4,7,15,1) 0%, #04070F 100%);
  pointer-events:none;
}

/* Moving neon blobs */
.blob-1,.blob-2,.blob-3{
  position:fixed;pointer-events:none;border-radius:50%;filter:blur(90px);z-index:-9;
}
.blob-1{
  width:600px;height:600px;
  background:radial-gradient(circle, rgba(0,212,255,0.18) 0%, transparent 70%);
  top:-150px;left:-150px;
  animation:blob-drift-1 12s ease-in-out infinite alternate;
}
.blob-2{
  width:500px;height:500px;
  background:radial-gradient(circle, rgba(187,134,252,0.16) 0%, transparent 70%);
  top:-100px;right:-100px;
  animation:blob-drift-2 15s ease-in-out infinite alternate;
}
.blob-3{
  width:400px;height:400px;
  background:radial-gradient(circle, rgba(255,200,50,0.10) 0%, transparent 70%);
  bottom:-100px;left:40%;
  animation:blob-drift-3 10s ease-in-out infinite alternate;
}

/* Dot grid overlay */
body::after{
  content:"";
  position:fixed;inset:0;z-index:-8;pointer-events:none;
  background-image:radial-gradient(circle,rgba(0,212,255,0.18) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 85%);
  animation:grid-breathe 6s ease-in-out infinite alternate;
}

/* Particle canvas */
#particles-canvas{
  position:fixed;inset:0;z-index:-7;pointer-events:none;opacity:0.8;
}

/* ── CURSOR ─────────────────────────────────────────────────── */
.cursor-dot,.cursor-ring{display:none}
@media(pointer:fine){
  .cursor-dot,.cursor-ring{
    display:block;position:fixed;border-radius:50%;
    pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  }
  .cursor-dot{
    width:7px;height:7px;background:var(--cyan);
    box-shadow:0 0 12px var(--cyan),0 0 24px rgba(0,212,255,0.5);
    transition:transform 0.08s var(--ease),background 0.2s;
  }
  .cursor-ring{
    width:34px;height:34px;
    border:1.5px solid rgba(0,212,255,0.55);
    background:rgba(0,212,255,0.04);
    transition:transform 0.16s var(--ease),width 0.3s var(--ease),height 0.3s var(--ease);
  }
  .cursor-ring.is-hovering{width:54px;height:54px;border-color:var(--cyan);background:rgba(0,212,255,0.08)}
}

/* ── SCROLL PROGRESS ────────────────────────────────────────── */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:3px;background:rgba(255,255,255,0.04);pointer-events:none;
}
.scroll-progress-bar{
  display:block;width:100%;height:100%;
  transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--gold));
  box-shadow:0 0 20px rgba(0,212,255,0.8);
}
.ambient{display:none}

/* ── PAGE SHELL ─────────────────────────────────────────────── */
.page-shell{position:relative;z-index:1}

/* ══════════════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════════════ */
.site-header{position:relative}

.topbar{
  position:fixed;top:1.2rem;left:0;right:0;
  z-index:100;display:flex;align-items:center;gap:1.5rem;
  width:min(1240px, calc(100vw - 2rem));
  margin-inline:auto;
  padding:0.55rem 1rem 0.55rem 0.8rem;
  background:rgba(4,7,15,0.85);
  backdrop-filter:blur(32px) saturate(180%);
  -webkit-backdrop-filter:blur(32px) saturate(180%);
  border:1px solid rgba(0,212,255,0.18);
  border-radius:var(--r-pill);
  box-shadow:0 8px 32px rgba(0,0,0,0.5),
             0 0 0 1px rgba(0,212,255,0.05),
             inset 0 1px 0 rgba(255,255,255,0.06);
  max-width:calc(100vw - 2rem);white-space:nowrap;
  transition:padding 0.4s var(--ease),box-shadow 0.4s;
  animation:nav-drop-in 0.7s var(--ease) 0.1s both;
}
.topbar.compact{padding:0.4rem 0.9rem;box-shadow:0 4px 24px rgba(0,0,0,0.7)}

.brand{display:flex;align-items:center;gap:0.6rem;color:var(--text);flex-shrink:0}
.brand-mark{
  display:grid;place-items:center;width:36px;height:36px;
  border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--cyan),var(--cyan-2));
  color:var(--bg);font-size:0.7rem;font-weight:900;
  box-shadow:var(--glow-cyan);flex-shrink:0;
  animation:mark-pulse 3s ease-in-out infinite;
}
.brand-copy{display:flex;flex-direction:column;line-height:1.2}
.brand-copy strong{font-size:0.82rem;font-weight:800;letter-spacing:-0.01em}
.brand-copy small{font-size:0.6rem;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis}

.topbar-links{display:flex;align-items:center;gap:0.1rem;margin-left:auto}
.topbar-links a{
  position:relative;font-size:0.8rem;font-weight:600;color:var(--muted);
  padding:0.38rem 0.65rem;border-radius:var(--r-sm);
  transition:color 0.2s,background 0.2s;
}
.topbar-links a::after{
  content:"";position:absolute;bottom:3px;left:50%;width:0;height:1.5px;
  background:var(--cyan);border-radius:2px;
  transition:width 0.28s var(--ease),left 0.28s var(--ease);
}
.topbar-links a:hover{color:var(--text);background:rgba(0,212,255,0.07)}
.topbar-links a:hover::after{width:calc(100% - 1.3rem);left:0.65rem}
.topbar-links .nav-cta{
  display:inline-flex;align-items:center;gap:0.3rem;
  padding:0.42rem 1rem;margin-left:0.4rem;
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-2) 100%);
  color:var(--bg);border-radius:var(--r-pill);
  font-size:0.8rem;font-weight:800;letter-spacing:0.01em;
  box-shadow:0 0 24px rgba(0,212,255,0.4);
  transition:transform 0.22s var(--ease),box-shadow 0.22s;
}
.topbar-links .nav-cta::after{display:none}
.topbar-links .nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(0,212,255,0.65)}

/* ══════════════════════════════════════════════════════════════
   MARKET TICKER — redesigned, taller, prices inline
   ══════════════════════════════════════════════════════════════ */
.market-ticker-band{
  display:flex;align-items:stretch;height:52px;
  background:rgba(3,5,14,0.97);
  border-bottom:1px solid rgba(0,212,255,0.18);
  border-top:1px solid rgba(0,212,255,0.06);
  overflow:hidden;position:relative;z-index:50;
  margin-top:5.4rem;
  box-shadow:0 4px 24px rgba(0,0,0,0.5),inset 0 -1px 0 rgba(0,212,255,0.08);
}

/* "MARKET PULSE" badge on the left */
.market-ticker-badge{
  display:flex;align-items:center;gap:0.55rem;
  padding:0 1.4rem;flex-shrink:0;
  background:linear-gradient(135deg,rgba(0,212,255,0.12) 0%,rgba(0,212,255,0.04) 100%);
  border-right:1px solid rgba(0,212,255,0.18);
  position:relative;
}
.market-ticker-badge::after{
  content:"";position:absolute;right:-1px;top:20%;bottom:20%;
  width:1px;background:linear-gradient(180deg,transparent,var(--cyan),transparent);
}

/* Live dot */
.market-ticker-badge::before{
  content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:var(--green);
  box-shadow:0 0 0 2px rgba(0,255,148,0.25),var(--glow-green);
  animation:pulse-dot 1.6s ease-in-out infinite;
}

/* Badge label */
.market-ticker-badge-label{
  display:flex;flex-direction:column;gap:0.05rem;
}
.market-ticker-badge-label strong{
  font-size:0.72rem;font-weight:900;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--cyan);line-height:1;
}
.market-ticker-badge-label span{
  font-size:0.58rem;font-weight:600;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--green);opacity:0.85;
}

/* Scrolling window */
.market-ticker-window{flex:1;overflow:hidden;display:flex;align-items:center}
.market-ticker-marquee{
  display:flex;width:max-content;
  animation:ticker-run 55s linear infinite;
  align-items:center;
}
.market-ticker-track{display:flex;align-items:center;height:52px}

/* Individual stock item — horizontal: NAME · PRICE · CHANGE */
.market-ticker-item{
  display:inline-flex;align-items:center;gap:0.55rem;
  padding:0 1.4rem;height:100%;
  border-right:1px solid rgba(0,212,255,0.07);
  white-space:nowrap;cursor:default;
  transition:background 0.2s;
}
.market-ticker-item:hover{background:rgba(0,212,255,0.04)}

/* Name */
.ti-name{
  font-size:0.76rem;font-weight:800;letter-spacing:0.02em;
  color:var(--text-2);text-transform:uppercase;
}

/* Price */
.ti-price{
  font-size:0.82rem;font-weight:700;
  color:var(--text);letter-spacing:0.01em;
  font-variant-numeric:tabular-nums;
}

/* Change badge */
.ti-chg{
  display:inline-flex;align-items:center;gap:0.2rem;
  font-size:0.72rem;font-weight:800;
  padding:0.15rem 0.5rem;border-radius:var(--r-pill);
  letter-spacing:0.02em;
}
.market-ticker-item.is-up   .ti-chg{ background:rgba(0,255,148,0.1); color:var(--green); border:1px solid rgba(0,255,148,0.2); }
.market-ticker-item.is-down .ti-chg{ background:rgba(255,83,112,0.1); color:var(--red);   border:1px solid rgba(255,83,112,0.2); }
.market-ticker-item.is-neutral .ti-chg{ background:rgba(255,255,255,0.05); color:var(--muted); border:1px solid rgba(255,255,255,0.08); }

/* Dot separator between items */
.ti-sep{
  width:3px;height:3px;border-radius:50%;
  background:rgba(0,212,255,0.25);flex-shrink:0;
}

/* Legacy compat (remove old structure styles if still referenced) */
.market-ticker-symbol{display:none}

/* ══════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════ */
.hero{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:2.5rem;align-items:center;
  min-height:calc(100vh - 52px);
  padding:4rem var(--pad) 5rem;
  position:relative;overflow:hidden;
}

/* Scanning line effect */
.hero::before{
  content:"";position:absolute;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(0,212,255,0.5),rgba(187,134,252,0.4),transparent);
  animation:scan-line 8s linear infinite;
  pointer-events:none;z-index:1;
}

/* Hero left */
.hero-copy{
  display:flex;flex-direction:column;gap:1.75rem;
  position:relative;z-index:2;
  animation:hero-copy-in 1s var(--ease) 0.3s both;
}

.eyebrow{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.72rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--cyan);padding:0.28rem 0.85rem;
  border:1px solid rgba(0,212,255,0.28);border-radius:var(--r-pill);
  background:rgba(0,212,255,0.06);width:fit-content;
  box-shadow:0 0 20px rgba(0,212,255,0.1);
}
.eyebrow::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--cyan);box-shadow:var(--glow-cyan);
  animation:pulse-dot 2s ease-in-out infinite;
}

.hero-signal-row{display:flex;flex-wrap:wrap;gap:0.5rem}
.hero-signal-chip{
  display:inline-flex;align-items:center;gap:0.4rem;
  padding:0.26rem 0.7rem;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-pill);font-size:0.74rem;color:var(--text-2);font-weight:500;
}
.hero-signal-chip-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--green);box-shadow:var(--glow-green);
  animation:pulse-dot 2.5s ease-in-out infinite;
}

/* HERO H1 — massive, gradient, glowing */
.hero-copy h1{
  font-size:clamp(2rem,3.8vw,3.4rem);
  font-weight:900;line-height:1.12;letter-spacing:-0.035em;
  background:linear-gradient(135deg,#FFFFFF 0%,#E0F4FF 30%,var(--cyan) 60%,var(--purple) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 40px rgba(0,212,255,0.25));
}

.hero-text{font-size:0.95rem;color:var(--text-2);line-height:1.75;max-width:540px}
.hero-motto{font-size:0.86rem;color:var(--muted);font-style:italic;line-height:1.6}

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

/* PROOF STATS */
.hero-proof{
  display:flex;gap:2rem;flex-wrap:wrap;
  padding-top:1rem;border-top:1px solid rgba(0,212,255,0.12);
}
.hero-proof article{display:flex;flex-direction:column;gap:0.1rem}
.hero-proof article span{
  font-size:2rem;font-weight:900;letter-spacing:-0.04em;line-height:1;
  background:linear-gradient(135deg,var(--gold),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 16px rgba(0,212,255,0.3));
}
.hero-proof article p{font-size:0.73rem;color:var(--muted);font-weight:500}

/* ── HERO STAGE (right) ─────────────────────────────────────── */
.hero-stage{
  position:relative;display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;gap:1rem;z-index:2;
  animation:hero-stage-in 1s var(--ease) 0.5s both;
}
.hero-stage-orbit{display:none}
.hero-stage-tag{display:none}

/* Glass card base */
.stage-card{
  background:rgba(6,12,28,0.7);
  backdrop-filter:blur(28px) saturate(150%);
  -webkit-backdrop-filter:blur(28px) saturate(150%);
  border:1px solid var(--border);
  border-radius:var(--r-xl);padding:1.5rem;
  position:relative;overflow:hidden;
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;
  box-shadow:0 16px 48px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.05);
}
/* Animated gradient border on hover */
.stage-card::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;
  background:linear-gradient(var(--gradient-angle,135deg),var(--cyan),var(--purple),var(--gold),var(--cyan));
  z-index:-1;opacity:0;
  transition:opacity 0.4s;
  animation:border-rotate 4s linear infinite paused;
}
.stage-card:hover{
  border-color:transparent;
  box-shadow:0 20px 60px rgba(0,0,0,0.6),0 0 40px rgba(0,212,255,0.12);
  transform:translateY(-4px);
}
.stage-card:hover::before{
  opacity:1;
  animation-play-state:running;
}
/* Inner fill over gradient border */
.stage-card::after{
  content:"";position:absolute;inset:1px;border-radius:calc(var(--r-xl) - 1px);
  background:rgba(6,12,28,0.92);z-index:0;
}
.stage-card > *{position:relative;z-index:1}

.stage-card-large{grid-column:1/-1;animation:float-card 7s ease-in-out infinite}
.stage-card-stat{display:flex;flex-direction:column;gap:0.5rem;animation:float-card 8s ease-in-out infinite reverse}
.stage-card-stat strong{
  font-size:1.6rem;font-weight:900;letter-spacing:-0.04em;
  background:linear-gradient(135deg,var(--cyan),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stage-card-stat p{font-size:0.74rem;color:var(--muted);line-height:1.5}
.stage-card-chart{display:flex;flex-direction:column;gap:0.75rem;animation:float-card 9s ease-in-out infinite}

.stage-kicker{
  display:block;font-size:0.65rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.12em;color:var(--cyan);margin-bottom:0.3rem;
}
.stage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.6rem}

.live-pill{
  display:inline-flex;align-items:center;gap:0.3rem;
  padding:0.2rem 0.6rem;
  background:rgba(0,255,148,0.1);border:1px solid rgba(0,255,148,0.3);
  border-radius:var(--r-pill);font-size:0.62rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.07em;color:var(--green);
}
.live-pill::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--green);animation:pulse-dot 1.5s ease-in-out infinite;
}

.stage-card-large h2{
  font-size:1.05rem;font-weight:800;letter-spacing:-0.02em;
  color:var(--text);margin-bottom:0.5rem;line-height:1.3;
}
.stage-card-large p{font-size:0.78rem;color:var(--muted);margin-bottom:1rem}

.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem}
.stage-grid article{
  padding:0.8rem;background:rgba(0,212,255,0.04);
  border:1px solid rgba(0,212,255,0.1);border-radius:var(--r-md);
  transition:border-color 0.25s,transform 0.25s var(--ease);
}
.stage-grid article:hover{border-color:var(--border-mid);transform:translateY(-2px)}
.stage-grid article strong{font-size:0.74rem;font-weight:800;color:var(--text);display:block;margin-bottom:0.2rem}
.stage-grid article span{font-size:0.66rem;color:var(--muted);line-height:1.5}

.chart-header{margin-bottom:0.6rem}
.chart-header strong{font-size:0.82rem;font-weight:700;color:var(--text)}
.chart-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.chart-insight-grid article{
  padding:0.6rem;background:rgba(255,255,255,0.03);
  border-radius:var(--r-sm);border:1px solid rgba(255,255,255,0.05);
}
.chart-insight-grid article span{display:block;font-size:0.6rem;color:var(--muted);margin-bottom:0.18rem}
.chart-insight-grid article strong{font-size:0.7rem;font-weight:700;color:var(--text)}

/* Animated chart bars */
.chart-lines{
  display:flex;gap:4px;align-items:flex-end;height:44px;
  padding:0.3rem 0;
}
.chart-lines span{
  flex:1;border-radius:3px;
  background:linear-gradient(180deg,rgba(0,212,255,0.5),rgba(0,212,255,0.1));
  border:1px solid rgba(0,212,255,0.25);transform-origin:bottom;
}
.chart-lines span:nth-child(1){height:40%;animation:bar-breathe 2.5s ease-in-out infinite}
.chart-lines span:nth-child(2){height:75%;animation:bar-breathe 2.5s ease-in-out infinite 0.4s}
.chart-lines span:nth-child(3){height:55%;animation:bar-breathe 2.5s ease-in-out infinite 0.8s}

.ticker-row{display:flex;gap:0.4rem;flex-wrap:wrap}
.ticker-row span{
  padding:0.18rem 0.5rem;font-size:0.58rem;font-weight:800;
  letter-spacing:0.1em;border-radius:var(--r-xs, 4px);
  color:var(--muted);background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
}

/* ══════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════ */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
  padding:0.78rem 1.8rem;border-radius:var(--r-pill);
  font-size:0.88rem;font-weight:800;letter-spacing:0.02em;
  cursor:pointer;text-decoration:none;position:relative;overflow:hidden;
  transition:transform 0.22s var(--ease),box-shadow 0.22s;
}
.button::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent);
  opacity:0;transition:opacity 0.22s;border-radius:inherit;
}
.button:hover::before{opacity:1}
.button:hover{transform:translateY(-2px)}
.button:active{transform:translateY(0)}

.button-primary{
  background:linear-gradient(135deg,var(--cyan) 0%,var(--cyan-2) 100%);
  color:var(--bg);
  box-shadow:0 0 28px rgba(0,212,255,0.45),0 6px 20px rgba(0,0,0,0.4);
}
.button-primary:hover{
  box-shadow:0 0 50px rgba(0,212,255,0.7),0 8px 28px rgba(0,0,0,0.5);
}

.button-secondary{
  background:transparent;color:var(--text);
  border:1px solid var(--border-mid);
  backdrop-filter:blur(10px);
}
.button-secondary:hover{
  border-color:var(--cyan);background:rgba(0,212,255,0.07);
  box-shadow:0 0 24px rgba(0,212,255,0.2);
}

/* ══════════════════════════════════════════════════════════════
   SECTIONS — BASE
   ══════════════════════════════════════════════════════════════ */
.section{
  padding:clamp(5rem,10vw,9rem) var(--pad);
  position:relative;
}
.section-intro{margin-bottom:3.5rem;max-width:680px}
.section-intro h2{
  font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:900;
  letter-spacing:-0.03em;line-height:1.18;color:var(--text);margin-top:0.7rem;
}
.split-intro{
  display:flex;gap:3rem;align-items:flex-start;
  max-width:100%;margin-bottom:3.5rem;
}
.split-intro>div{flex:0 0 55%}
.split-intro>div h2{
  font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:900;
  letter-spacing:-0.03em;line-height:1.2;color:var(--text);margin-top:0.7rem;
}
.section-note{flex:1;font-size:0.9rem;color:var(--muted);line-height:1.75;padding-top:2.4rem}
.mini-label{
  display:block;font-size:0.66rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);margin-bottom:0.5rem;
}

/* ── REVEAL ─────────────────────────────────────────────────── */
.reveal{
  opacity:0;transform:translateY(50px);
  transition:opacity 0.9s var(--ease),transform 0.9s var(--ease);
}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ══════════════════════════════════════════════════════════════
   MANIFESTO
   ══════════════════════════════════════════════════════════════ */
.manifesto-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.25rem}

.manifesto-card{
  padding:2rem;
  background:rgba(6,12,28,0.7);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--r-xl);
  position:relative;overflow:hidden;
  transition:border-color 0.3s,box-shadow 0.3s,transform 0.3s var(--ease);
  cursor:default;
}
.manifesto-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:0;transition:opacity 0.35s;
}
.manifesto-card:hover{
  border-color:var(--border-mid);
  box-shadow:0 20px 60px rgba(0,0,0,0.5),0 0 40px rgba(0,212,255,0.08);
  transform:translateY(-5px);
}
.manifesto-card:hover::before{opacity:1}
.manifesto-card-accent{
  background:linear-gradient(135deg,rgba(0,212,255,0.09) 0%,rgba(187,134,252,0.06) 60%,rgba(6,12,28,0.7) 100%);
  border-color:rgba(0,212,255,0.2);
}
.manifesto-card h3{
  font-size:1.15rem;font-weight:900;letter-spacing:-0.02em;
  color:var(--text);margin-bottom:0.75rem;
}
.manifesto-card p{font-size:0.87rem;color:var(--muted);line-height:1.72}

/* ══════════════════════════════════════════════════════════════
   VENUE
   ══════════════════════════════════════════════════════════════ */
.venue .venue-shell{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.venue-media{
  border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;
  background:linear-gradient(135deg,rgba(0,212,255,0.08),rgba(187,134,252,0.06),rgba(6,12,28,0.9));
  border:1px solid var(--border);box-shadow:var(--shadow),0 0 60px rgba(0,212,255,0.06);
  position:relative;
}
.venue-media.is-fallback{position:relative}
.venue-photo{width:100%;height:100%;object-fit:cover}
.venue-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  justify-content:flex-end;padding:2rem;
  background:linear-gradient(to top,rgba(4,7,15,0.92) 0%,transparent 65%);
}
.venue-overlay h3{
  font-size:1.4rem;font-weight:900;letter-spacing:-0.02em;
  color:var(--text);margin:0.4rem 0 0.5rem;
}
.venue-overlay p{font-size:0.82rem;color:var(--text-2);line-height:1.6}
.venue-copy h2{
  font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;
  letter-spacing:-0.03em;line-height:1.25;color:var(--text);margin:0.7rem 0 1rem;
}
.venue-copy>p{font-size:0.9rem;color:var(--muted);line-height:1.72;margin-bottom:1.5rem}
.venue-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.venue-details article{
  padding:1rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-md);
  transition:border-color 0.25s,transform 0.25s var(--ease);
}
.venue-details article:hover{border-color:var(--border-mid);transform:translateY(-2px)}
.venue-details article span{
  display:block;font-size:0.65rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.1em;color:var(--cyan);margin-bottom:0.4rem;
}
.venue-details article p{font-size:0.79rem;color:var(--muted);line-height:1.6}

/* ══════════════════════════════════════════════════════════════
   PROGRAMS
   ══════════════════════════════════════════════════════════════ */
.programs .program-shell{display:grid;grid-template-columns:270px 1fr;gap:2rem;align-items:start}
.programs .program-shell.single-course{grid-template-columns:260px 1fr}
.program-sidebar{position:sticky;top:6rem}
.program-points{display:flex;flex-direction:column;gap:0.75rem}
.program-points article{
  padding:1rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-md);
  transition:border-color 0.25s;
}
.program-points article:hover{border-color:var(--border-mid)}
.program-points article span{
  display:block;font-size:0.63rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.1em;color:var(--cyan);margin-bottom:0.35rem;
}
.program-points article p{font-size:0.78rem;color:var(--muted);line-height:1.6}
.program-spotlight{display:flex;flex-direction:column;gap:1rem}
.program-card{
  padding:2rem;background:rgba(6,12,28,0.7);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--r-xl);
  transition:border-color 0.3s,box-shadow 0.3s;position:relative;overflow:hidden;
}
.program-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--gold));
  border-radius:2px 2px 0 0;opacity:0;transition:opacity 0.3s;
}
.program-card.is-visible{border-color:var(--border-mid);box-shadow:var(--shadow),0 0 40px rgba(0,212,255,0.07)}
.program-card.is-visible::before{opacity:1}
.program-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}
.program-headline h3{
  font-size:1.35rem;font-weight:900;letter-spacing:-0.02em;
  color:var(--text);line-height:1.25;margin-top:0.4rem;
}
.program-badges{display:flex;flex-direction:column;gap:0.4rem;flex-shrink:0}
.program-badges span{
  padding:0.22rem 0.7rem;background:rgba(0,212,255,0.08);
  border:1px solid rgba(0,212,255,0.22);border-radius:var(--r-pill);
  font-size:0.66rem;font-weight:800;color:var(--cyan);white-space:nowrap;
}
.program-summary{font-size:0.87rem;color:var(--muted);line-height:1.72;margin-bottom:1.5rem}
.program-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.program-list{display:flex;flex-direction:column;gap:0.6rem}
.program-list li{
  display:flex;align-items:flex-start;gap:0.6rem;
  font-size:0.81rem;color:var(--text-2);line-height:1.55;
}
.program-list li::before{
  content:"";flex-shrink:0;width:5px;height:5px;border-radius:50%;
  background:var(--cyan);margin-top:0.45em;
  box-shadow:0 0 8px rgba(0,212,255,0.7);
}
.program-outcome{
  padding:1.25rem;
  background:linear-gradient(135deg,rgba(0,212,255,0.07),rgba(187,134,252,0.05));
  border:1px solid var(--border-mid);border-radius:var(--r-lg);
}
.program-outcome strong{
  display:block;font-size:0.9rem;font-weight:800;
  color:var(--text);line-height:1.35;margin:0.4rem 0 0.6rem;
}
.program-outcome p{font-size:0.79rem;color:var(--muted);line-height:1.65}

/* ══════════════════════════════════════════════════════════════
   CURRICULUM
   ══════════════════════════════════════════════════════════════ */
.curriculum .curriculum-shell{display:grid;grid-template-columns:270px 1fr;gap:2.5rem;align-items:start}
.curriculum-sidebar{position:sticky;top:6rem;display:flex;flex-direction:column;gap:1.5rem}
.curriculum-summary{
  padding:1.5rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-xl);
}
.curriculum-summary strong{
  display:block;font-size:0.95rem;font-weight:800;
  color:var(--text);line-height:1.35;margin:0.4rem 0 0.75rem;
}
.curriculum-summary p{font-size:0.79rem;color:var(--muted);line-height:1.65}
.curriculum-track{display:flex;flex-direction:column;gap:0.75rem}
.curriculum-track article{
  display:flex;gap:0.75rem;align-items:flex-start;
  padding:0.9rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-md);
  transition:border-color 0.25s,transform 0.25s var(--ease);
}
.curriculum-track article:hover{border-color:var(--border-mid);transform:translateX(4px)}
.curriculum-track article span{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:rgba(0,212,255,0.1);border:1px solid var(--border-mid);
  font-size:0.63rem;font-weight:900;color:var(--cyan);flex-shrink:0;
}
.curriculum-track article p{font-size:0.77rem;color:var(--muted);line-height:1.5}

.curriculum-tabs{
  display:flex;gap:0.35rem;flex-wrap:wrap;padding:0.35rem;
  background:rgba(255,255,255,0.025);border:1px solid var(--border);
  border-radius:var(--r-lg);margin-bottom:1.5rem;
}
.curriculum-tab{
  flex:1;min-width:fit-content;padding:0.52rem 0.88rem;
  background:transparent;border:1px solid transparent;border-radius:var(--r-md);
  font-size:0.77rem;font-weight:700;color:var(--muted);cursor:pointer;
  transition:all 0.25s var(--ease);white-space:nowrap;
}
.curriculum-tab:hover{color:var(--text);background:rgba(255,255,255,0.04)}
.curriculum-tab.is-active{
  background:rgba(6,12,28,0.9);border-color:var(--border-mid);
  color:var(--cyan);box-shadow:0 2px 12px rgba(0,0,0,0.4),0 0 16px rgba(0,212,255,0.1);
}
.curriculum-panels{position:relative}
.curriculum-panel{animation:panel-fade-in 0.4s var(--ease) both}
.curriculum-panel[hidden]{display:none}
.curriculum-panel-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;
}
.curriculum-panel-head h3{font-size:1.2rem;font-weight:900;letter-spacing:-0.02em;color:var(--text);margin-top:0.35rem}
.curriculum-panel-badges{display:flex;gap:0.4rem;flex-wrap:wrap}
.curriculum-panel-badges span{
  padding:0.2rem 0.6rem;background:rgba(187,134,252,0.1);
  border:1px solid rgba(187,134,252,0.28);border-radius:var(--r-pill);
  font-size:0.63rem;font-weight:800;color:var(--purple);
}
.curriculum-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.curriculum-topic-grid article{
  padding:1.25rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-lg);
  transition:border-color 0.25s,transform 0.25s var(--ease);
}
.curriculum-topic-grid article:hover{border-color:var(--border-mid);transform:translateY(-3px)}
.curriculum-topic-grid article strong{
  display:block;font-size:0.87rem;font-weight:800;color:var(--text);margin-bottom:0.4rem;
}
.curriculum-topic-grid article p{font-size:0.77rem;color:var(--muted);line-height:1.6}

/* ══════════════════════════════════════════════════════════════
   EXPERIENCE
   ══════════════════════════════════════════════════════════════ */
.experience .experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.experience-card{
  padding:2rem;background:rgba(6,12,28,0.7);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--r-xl);
  transition:border-color 0.3s,box-shadow 0.3s,transform 0.3s var(--ease);
}
.experience-card:hover{
  border-color:var(--border-mid);
  box-shadow:var(--shadow),0 0 30px rgba(0,212,255,0.07);transform:translateY(-4px);
}
.timeline-list{display:flex;flex-direction:column;gap:0;margin-top:1rem;position:relative}
.timeline-list::before{
  content:"";position:absolute;left:13px;top:20px;bottom:20px;width:1px;
  background:linear-gradient(180deg,var(--cyan),var(--purple),transparent);
}
.timeline-list li{display:flex;gap:1rem;padding:0.8rem 0;position:relative}
.timeline-list li::before{
  content:"";flex-shrink:0;width:27px;height:27px;border-radius:50%;
  background:var(--bg);border:2px solid var(--border-mid);
  position:relative;z-index:1;transition:border-color 0.25s,box-shadow 0.25s;
}
.timeline-list li:hover::before{border-color:var(--cyan);box-shadow:0 0 16px rgba(0,212,255,0.5)}
.timeline-list li strong{display:block;font-size:0.9rem;font-weight:800;color:var(--text);margin-bottom:0.25rem}
.timeline-list li p{font-size:0.79rem;color:var(--muted);line-height:1.55}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.studio-grid div{
  padding:1rem;background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-md);
  transition:border-color 0.25s,transform 0.25s var(--ease);
}
.studio-grid div:hover{border-color:var(--border-mid);transform:translateY(-2px)}
.studio-grid div strong{display:block;font-size:0.85rem;font-weight:800;color:var(--text);margin-bottom:0.25rem}
.studio-grid div p{font-size:0.77rem;color:var(--muted);line-height:1.55}

.classroom-gallery{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-top:0.35rem;
}
.classroom-shot{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  aspect-ratio:16/10;
  border:1px solid var(--border);
  background:linear-gradient(135deg,rgba(0,212,255,0.08),rgba(187,134,252,0.07),rgba(6,12,28,0.9));
  box-shadow:var(--shadow),0 0 40px rgba(0,212,255,0.06);
}
.classroom-shot::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(4,7,15,0.88) 0%,transparent 62%);
  pointer-events:none;
}
.classroom-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1);
  transition:transform 0.4s var(--ease);
}
.classroom-shot:hover .classroom-photo{transform:scale(1.03)}
.classroom-shot figcaption{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:0.9rem;
  z-index:1;
  font-size:0.78rem;
  color:var(--text-2);
  line-height:1.45;
  font-weight:600;
}
.classroom-shot.is-fallback figcaption{color:var(--text)}

/* ══════════════════════════════════════════════════════════════
   CERTIFICATION
   ══════════════════════════════════════════════════════════════ */
.certification .certificate-shell{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.certificate-copy h2{
  font-size:clamp(1.4rem,2.2vw,2rem);font-weight:900;
  letter-spacing:-0.03em;color:var(--text);line-height:1.25;margin:0.7rem 0 1rem;
}
.certificate-copy>p{font-size:0.9rem;color:var(--muted);line-height:1.72;margin-bottom:1.5rem}
.certificate-points{display:flex;flex-direction:column;gap:0.6rem}
.certificate-points li{
  display:flex;align-items:flex-start;gap:0.6rem;
  font-size:0.84rem;color:var(--text-2);line-height:1.5;
}
.certificate-points li::before{
  content:"✓";display:flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:rgba(0,255,148,0.1);border:1px solid rgba(0,255,148,0.3);
  color:var(--green);font-size:0.65rem;font-weight:900;
  flex-shrink:0;margin-top:0.05em;
}
.certificate-frame{display:flex;align-items:center;justify-content:center}
.certificate-paper{
  width:100%;max-width:380px;padding:2.5rem;text-align:center;
  background:linear-gradient(135deg,rgba(12,20,40,0.95),rgba(8,14,30,0.95));
  border:1px solid var(--border-gold);border-radius:var(--r-xl);
  position:relative;overflow:hidden;
  box-shadow:var(--shadow),var(--glow-gold);
  animation:cert-glow 4s ease-in-out infinite alternate;
}
.certificate-paper::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,200,50,0.06),rgba(0,212,255,0.04),transparent);
  pointer-events:none;
}
.certificate-paper::after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--cyan),transparent);
}
.certificate-tag{
  display:inline-block;font-size:0.63rem;font-weight:900;
  text-transform:uppercase;letter-spacing:0.17em;color:var(--gold);
  margin-bottom:1rem;padding:0.22rem 0.7rem;
  border:1px solid rgba(255,200,50,0.32);border-radius:var(--r-pill);
  background:rgba(255,200,50,0.07);
}
.certificate-paper h3{
  font-size:1.35rem;font-weight:900;letter-spacing:-0.02em;
  color:var(--text);margin-bottom:0.75rem;line-height:1.2;
}
.certificate-paper>p{font-size:0.79rem;color:var(--muted);line-height:1.6;margin-bottom:1.5rem}
.certificate-meta{display:flex;justify-content:center;gap:1rem}
.certificate-meta span{
  padding:0.28rem 0.75rem;background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);border-radius:var(--r-pill);
  font-size:0.7rem;font-weight:600;color:var(--muted);
}

/* ══════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════ */
.faq .faq-shell{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start}
.faq-copy h2{
  font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:900;
  letter-spacing:-0.03em;color:var(--text);line-height:1.3;margin:0.7rem 0 1rem;
}
.faq-copy>p{font-size:0.87rem;color:var(--muted);line-height:1.72;margin-bottom:1.5rem}
.faq-highlights{display:flex;flex-direction:column;gap:0.45rem}
.faq-highlights span{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.77rem;font-weight:700;color:var(--text-2);
}
.faq-highlights span::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 8px rgba(0,212,255,0.6);flex-shrink:0;
}
.faq-list{display:flex;flex-direction:column;gap:0.55rem}
.faq-item{
  padding:1.2rem 1.4rem;background:rgba(6,12,28,0.7);
  border:1px solid var(--border);border-radius:var(--r-lg);
  cursor:pointer;transition:border-color 0.25s,box-shadow 0.25s;overflow:hidden;
}
.faq-item[open]{border-color:var(--border-mid);box-shadow:0 0 24px rgba(0,212,255,0.08)}
.faq-item summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;font-size:0.88rem;font-weight:800;color:var(--text);cursor:pointer;user-select:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;
  border-radius:50%;background:rgba(0,212,255,0.08);border:1px solid var(--border-mid);
  color:var(--cyan);font-size:1rem;font-weight:400;transition:transform 0.3s var(--ease);
}
.faq-item[open] summary::after{content:"−";transform:rotate(180deg)}
.faq-item p{font-size:0.83rem;color:var(--muted);line-height:1.72;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}

/* ══════════════════════════════════════════════════════════════
   ENQUIRY
   ══════════════════════════════════════════════════════════════ */
.enquire .enquire-shell{display:grid;grid-template-columns:360px 1fr;gap:3rem;align-items:start}
.enquire-copy h2{
  font-size:clamp(1.4rem,2.2vw,2rem);font-weight:900;
  letter-spacing:-0.03em;color:var(--text);line-height:1.25;margin:0.7rem 0 1rem;
}
.enquire-copy>p{font-size:0.88rem;color:var(--muted);line-height:1.72;margin-bottom:1.5rem}
.enquire-highlights{display:flex;flex-direction:column;gap:0.5rem}
.enquire-highlights span{
  display:flex;align-items:center;gap:0.5rem;
  font-size:0.79rem;font-weight:700;color:var(--text-2);
}
.enquire-highlights span::before{content:"→";color:var(--cyan);font-weight:800}

.enquiry-form{
  display:flex;flex-direction:column;gap:1rem;padding:2rem;
  background:rgba(6,12,28,0.75);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border:1px solid var(--border);border-radius:var(--r-xl);
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.enquiry-form::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple),var(--gold));
}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:0.45rem}
.field span{
  font-size:0.72rem;font-weight:800;text-transform:uppercase;
  letter-spacing:0.07em;color:var(--muted);
}
.field input,.field textarea{
  width:100%;padding:0.72rem 1rem;
  background:rgba(255,255,255,0.03);border:1px solid var(--border);
  border-radius:var(--r-md);color:var(--text);font-size:0.87rem;
  transition:border-color 0.22s,box-shadow 0.22s,background 0.22s;outline:none;resize:vertical;
}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field textarea:focus{
  border-color:var(--border-mid);background:rgba(0,212,255,0.04);
  box-shadow:0 0 0 3px rgba(0,212,255,0.1),0 0 20px rgba(0,212,255,0.1);
}
.static-field{
  padding:0.72rem 1rem;background:rgba(255,255,255,0.02);
  border:1px solid var(--border);border-radius:var(--r-md);
  font-size:0.87rem;color:var(--muted);font-weight:500;
}
.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:0.5rem}
.form-status{font-size:0.82rem;font-weight:700}
.form-status.is-success{color:var(--green)}
.form-status.is-error{color:var(--red)}

/* ══════════════════════════════════════════════════════════════
   WHATSAPP
   ══════════════════════════════════════════════════════════════ */
.whatsapp-float{
  position:fixed;right:1.5rem;bottom:1.5rem;z-index:90;
  display:inline-flex;align-items:center;gap:0.7rem;
  padding:0.6rem 1.1rem 0.6rem 0.6rem;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;border-radius:var(--r-pill);text-decoration:none;
  box-shadow:0 8px 28px rgba(18,140,126,0.4);
  animation:whatsapp-bounce 3.5s ease-in-out infinite;
  transition:transform 0.22s var(--ease),box-shadow 0.22s;
}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 12px 40px rgba(18,140,126,0.6)}
.whatsapp-float-icon{
  display:grid;place-items:center;width:40px;height:40px;
  border-radius:50%;background:rgba(255,255,255,0.2);flex-shrink:0;
}
.whatsapp-svg{width:22px;height:22px}
.whatsapp-float-badge{font-size:0.82rem;font-weight:800;white-space:nowrap}

/* ══════════════════════════════════════════════════════════════
   EXTRA ANIMATIONS LAYER
   ══════════════════════════════════════════════════════════════ */

/* ── MOUSE TRAIL ─────────────────────────────────────────────── */
.trail-dot{
  position:fixed;border-radius:50%;pointer-events:none;z-index:9997;
  transform:translate(-50%,-50%) scale(1);mix-blend-mode:screen;
  transition:transform 0.45s ease,opacity 0.45s ease;
  will-change:transform,opacity;
}

/* ── SPLIT TEXT REVEAL ───────────────────────────────────────── */
.word-wrap{
  display:inline-block;overflow:hidden;
  vertical-align:bottom;line-height:1.2;
}
.word{
  display:inline-block;
  transform:translateY(105%);opacity:0;
  transition:transform 0.75s var(--ease),opacity 0.55s ease;
  will-change:transform;
}
.word.word-in{transform:translateY(0);opacity:1}

/* ── GLITCH HEADING ──────────────────────────────────────────── */
.glitch-heading{position:relative}
.glitch-heading.is-glitching{animation:glitch-main 0.55s steps(2,end) both}
.glitch-heading.is-glitching::before,
.glitch-heading.is-glitching::after{
  content:attr(data-text);
  position:absolute;left:0;top:0;width:100%;
  background:inherit;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.glitch-heading.is-glitching::before{
  color:var(--cyan);
  animation:glitch-top 0.55s steps(2,end) both;
}
.glitch-heading.is-glitching::after{
  color:var(--purple);
  animation:glitch-bot 0.55s steps(2,end) both;
}

/* ── BUTTON RIPPLE ───────────────────────────────────────────── */
.button{overflow:hidden}
.ripple-wave{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,0.28);
  transform:scale(0);pointer-events:none;
  animation:ripple-grow 0.65s linear forwards;
  will-change:transform,opacity;
}

/* ── CARD SPOTLIGHT (cursor-tracking radial glow) ─────────────── */
.has-spotlight{
  --spot-x:50%;--spot-y:50%;
  background:
    radial-gradient(280px circle at var(--spot-x) var(--spot-y),rgba(0,212,255,0.07) 0%,transparent 70%),
    rgba(6,12,28,0.7) !important;
  transition:background 0.1s;
}

/* ── NEON SECTION SEPARATOR ──────────────────────────────────── */
.neon-sep{
  height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--cyan) 30%,var(--purple) 70%,transparent 100%);
  opacity:0.22;position:relative;margin:0;overflow:hidden;
}
.neon-sep::after{
  content:"";position:absolute;top:0;left:-100%;right:100%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.9),transparent);
  animation:sep-sweep 3.5s ease-in-out infinite;
}

/* ── ANIMATED UNDERLINE FOR HEADINGS ─────────────────────────── */
.underline-anim{
  display:inline;
  background-image:linear-gradient(var(--cyan),var(--cyan));
  background-repeat:no-repeat;
  background-size:0% 2px;
  background-position:0 100%;
  transition:background-size 0.7s var(--ease);
}
.underline-anim.visible{background-size:100% 2px}

/* ── FLOATING BADGE ──────────────────────────────────────────── */
.float-badge{
  display:inline-flex;align-items:center;gap:0.4rem;
  padding:0.3rem 0.8rem;
  background:rgba(0,212,255,0.08);
  border:1px solid rgba(0,212,255,0.25);
  border-radius:var(--r-pill);
  font-size:0.7rem;font-weight:800;
  letter-spacing:0.07em;color:var(--cyan);
  box-shadow:0 0 16px rgba(0,212,255,0.15);
  animation:float-badge 4s ease-in-out infinite;
}
.float-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--green);box-shadow:0 0 8px var(--green);
  animation:pulse-dot 1.8s ease-in-out infinite;
}

/* ── NEON PROGRESS BAR ───────────────────────────────────────── */
.neon-bar-track{
  height:3px;background:rgba(255,255,255,0.06);
  border-radius:var(--r-pill);overflow:hidden;margin-top:0.5rem;
}
.neon-bar-fill{
  height:100%;width:0%;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  box-shadow:0 0 8px rgba(0,212,255,0.6);
  transition:width 1.4s var(--ease);
}

/* ── HERO SCAN GRID ──────────────────────────────────────────── */
.hero-grid-overlay{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(0,212,255,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,212,255,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 10%,transparent 90%);
  animation:grid-drift 20s linear infinite;
}

/* ── GLOW PULSE RING ─────────────────────────────────────────── */
.glow-ring{
  position:absolute;border-radius:50%;pointer-events:none;
  border:1px solid rgba(0,212,255,0.2);
  animation:ring-expand 3s ease-out infinite;
}
.glow-ring:nth-child(2){animation-delay:1s}
.glow-ring:nth-child(3){animation-delay:2s}

/* ── TICKER SPEED STATE ──────────────────────────────────────── */
.market-ticker-marquee.is-fast{animation-duration:20s}
.market-ticker-marquee.is-paused{animation-play-state:paused}

/* ── SECTION COUNT-UP ACCENT ─────────────────────────────────── */
.stat-accent{
  position:relative;
  display:inline-block;
}
.stat-accent::after{
  content:"";
  position:absolute;left:0;bottom:-4px;right:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  transform:scaleX(0);transform-origin:left;
  transition:transform 1s var(--ease);
  border-radius:2px;
}
.stat-accent.visible::after{transform:scaleX(1)}

/* ── NEW KEYFRAMES ───────────────────────────────────────────── */
@keyframes glitch-main{
  0%,100%{transform:translate(0)}
  15%{transform:translate(-4px,2px)}
  30%{transform:translate(4px,-2px)}
  45%{transform:translate(-3px,3px)}
  60%{transform:translate(3px,-1px)}
  75%{transform:translate(-2px,2px)}
}
@keyframes glitch-top{
  0%,100%{transform:translate(0);clip-path:inset(0 0 75% 0)}
  25%{transform:translate(5px,0);clip-path:inset(15% 0 60% 0)}
  50%{transform:translate(-5px,0);clip-path:inset(5% 0 80% 0)}
  75%{transform:translate(4px,0);clip-path:inset(20% 0 55% 0)}
}
@keyframes glitch-bot{
  0%,100%{transform:translate(0);clip-path:inset(75% 0 0 0)}
  25%{transform:translate(-5px,0);clip-path:inset(60% 0 15% 0)}
  50%{transform:translate(5px,0);clip-path:inset(70% 0 5% 0)}
  75%{transform:translate(-4px,0);clip-path:inset(55% 0 20% 0)}
}
@keyframes ripple-grow{
  to{transform:scale(5);opacity:0}
}
@keyframes sep-sweep{
  0%{left:-100%;right:100%}
  100%{left:100%;right:-100%}
}
@keyframes float-badge{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
@keyframes grid-drift{
  from{background-position:0 0}
  to{background-position:60px 60px}
}
@keyframes ring-expand{
  0%{transform:scale(0.6);opacity:0.6}
  100%{transform:scale(2.5);opacity:0}
}
@keyframes text-clip-in{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0% 0 0)}
}
@keyframes count-ring-fill{
  from{stroke-dashoffset:283}
  to{stroke-dashoffset:var(--ring-end,71)}
}
@keyframes line-draw{
  from{stroke-dashoffset:1000}
  to{stroke-dashoffset:0}
}
@keyframes neon-flicker{
  0%,100%{opacity:1}
  92%{opacity:1}
  93%{opacity:0.4}
  94%{opacity:1}
  96%{opacity:0.3}
  97%{opacity:1}
}

/* ── Admin / Members compat ─────────────────────────────────── */
.ambient{display:none}
.admin-table{width:100%;border-collapse:collapse;font-size:0.85rem}
.admin-table th{
  padding:0.75rem 1rem;background:rgba(255,255,255,0.04);
  border-bottom:1px solid var(--border);font-size:0.68rem;font-weight:800;
  text-transform:uppercase;letter-spacing:0.09em;color:var(--muted);text-align:left;
}
.admin-table td{padding:0.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text-2)}
.admin-table tr:hover td{background:rgba(255,255,255,0.02)}
.auth-panel,.member-panel{
  max-width:460px;margin:10rem auto;padding:2.5rem;
  background:var(--surface);backdrop-filter:blur(24px);
  border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow);
}
.auth-panel h2,.member-panel h2{font-size:1.5rem;font-weight:900;letter-spacing:-0.02em;color:var(--text);margin-bottom:0.5rem}

/* ══════════════════════════════════════════════════════════════
   @KEYFRAMES
   ══════════════════════════════════════════════════════════════ */
@keyframes blob-drift-1{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(80px,60px) scale(1.2)}
}
@keyframes blob-drift-2{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(-60px,80px) scale(1.15)}
}
@keyframes blob-drift-3{
  from{transform:translate(0,0) scale(1)}
  to{transform:translate(40px,-60px) scale(1.1)}
}
@keyframes grid-breathe{
  from{opacity:0.4}
  to{opacity:0.8}
}
@keyframes nav-drop-in{
  from{opacity:0;transform:translateY(-20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mark-pulse{
  0%,100%{box-shadow:0 0 16px rgba(0,212,255,0.5)}
  50%{box-shadow:0 0 30px rgba(0,212,255,0.9),0 0 60px rgba(0,212,255,0.3)}
}
@keyframes hero-copy-in{
  from{opacity:0;transform:translateX(-40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes hero-stage-in{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes scan-line{
  0%{top:-2px;opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{top:100%;opacity:0}
}
@keyframes border-rotate{
  from{--gradient-angle:0deg}
  to{--gradient-angle:360deg}
}
@keyframes float-card{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes bar-breathe{
  0%,100%{transform:scaleY(1);opacity:0.6}
  50%{transform:scaleY(1.3);opacity:1}
}
@keyframes pulse-dot{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.4;transform:scale(0.7)}
}
@keyframes ticker-run{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes panel-fade-in{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes cert-glow{
  from{box-shadow:var(--shadow),0 0 30px rgba(255,200,50,0.15)}
  to{box-shadow:var(--shadow),0 0 60px rgba(255,200,50,0.35),0 0 120px rgba(0,212,255,0.1)}
}
@keyframes whatsapp-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes counter-pop{
  from{opacity:0;transform:translateY(14px) scale(0.9)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:9rem;gap:3rem}
  .hero-stage{grid-template-columns:1fr 1fr}
  .manifesto-grid{grid-template-columns:1fr 1fr}
  .programs .program-shell,.programs .program-shell.single-course{grid-template-columns:1fr}
  .program-sidebar{position:static}
  .curriculum .curriculum-shell{grid-template-columns:1fr}
  .curriculum-sidebar{position:static}
  .venue .venue-shell{grid-template-columns:1fr}
  .certification .certificate-shell{grid-template-columns:1fr}
  .faq .faq-shell{grid-template-columns:1fr}
  .enquire .enquire-shell{grid-template-columns:1fr}
}
@media(max-width:900px){
  .topbar-links a:not(.nav-cta){display:none}
  .hero-stage{grid-template-columns:1fr}
  .stage-card-large{grid-column:1}
  .stage-grid{grid-template-columns:1fr}
  .experience .experience-grid{grid-template-columns:1fr}
  .classroom-gallery{grid-template-columns:1fr}
  .split-intro{flex-direction:column;gap:1rem}
  .split-intro>div{flex:none}
  .section-note{padding-top:0}
}
@media(max-width:640px){
  :root{--pad:1.25rem}
  .brand-copy{display:none}
  .hero{padding-top:7rem;padding-bottom:3rem}
  .hero-proof{gap:1.25rem}
  .manifesto-grid{grid-template-columns:1fr}
  .venue-details{grid-template-columns:1fr}
  .program-layout{grid-template-columns:1fr}
  .curriculum-tabs{flex-direction:column}
  .curriculum-tab{flex:none}
  .curriculum-topic-grid{grid-template-columns:1fr}
  .studio-grid{grid-template-columns:1fr}
  .field-grid{grid-template-columns:1fr}
  .enquiry-form{padding:1.5rem}
  .whatsapp-float-badge{display:none}
  .whatsapp-float{padding:0.75rem}
}
