/* ============================================================
   Web3-Academy — Modern Theme
   ============================================================ */
:root{
  --bg:#05060e;
  --bg-2:#0a0c1c;
  --surface:rgba(255,255,255,.045);
  --surface-2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.10);
  --border-2:rgba(255,255,255,.18);
  --txt:#eef1ff;
  --txt-dim:#a6adcc;
  --txt-mute:#7c84a8;
  --p1:#6d5efc;      /* violet */
  --p2:#22d3ee;      /* cyan   */
  --p3:#f59e0b;      /* amber  */
  --p4:#22c55e;      /* green  */
  --grad:linear-gradient(120deg,#8b7cff 0%,#22d3ee 55%,#5eead4 100%);
  --grad-warm:linear-gradient(120deg,#f59e0b,#f472b6);
  --r:18px;
  --r-lg:26px;
  --shadow:0 24px 70px -24px rgba(0,0,0,.75);
  --ring:0 0 0 1px rgba(255,255,255,.08), 0 1px 0 rgba(255,255,255,.05) inset;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);color:var(--txt);line-height:1.65;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{padding-left:1.15rem}
li{margin:.25rem 0}
::selection{background:rgba(109,94,252,.45)}

.wrap{width:min(1180px,92vw);margin-inline:auto}

/* ---------- Background FX ---------- */
.fx{position:fixed;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(1200px 700px at 15% -10%,rgba(109,94,252,.20),transparent 60%),
  radial-gradient(1000px 600px at 90% 5%,rgba(34,211,238,.14),transparent 55%),
  linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%);}
.fx-grid{position:absolute;inset:-2px;background-image:
  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 80%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000 10%,transparent 80%);}
.fx-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.g1{width:520px;height:520px;background:#6d5efc;top:-140px;left:-120px;animation:float1 18s ease-in-out infinite}
.g2{width:460px;height:460px;background:#22d3ee;bottom:-160px;right:-100px;animation:float2 22s ease-in-out infinite}
.g3{width:380px;height:380px;background:#f59e0b;top:45%;left:55%;opacity:.14;animation:float1 26s ease-in-out infinite reverse}
@keyframes float1{50%{transform:translate3d(60px,50px,0) scale(1.12)}}
@keyframes float2{50%{transform:translate3d(-70px,-40px,0) scale(1.1)}}
#particles{position:absolute;inset:0;width:100%;height:100%}

/* ---------- Navbar ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;transition:.35s}
.nav-inner{display:flex;align-items:center;gap:1.2rem;padding:.9rem 0}
.nav.scrolled{backdrop-filter:blur(16px);background:rgba(8,9,20,.72);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:-.02em}
.brand-logo{
  width:44px;height:44px;display:block;flex:none;
  filter:drop-shadow(0 8px 22px rgba(34,211,238,.45));
  transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.07)}
.brand-txt{font-size:1.05rem}
.brand-txt em{color:var(--p2);font-style:normal}
.nav-links{display:flex;gap:.35rem;margin-left:auto}
.nav-links a{
  padding:.5rem .85rem;border-radius:999px;font-size:.9rem;font-weight:500;
  color:var(--txt-dim);transition:.25s}
.nav-links a:hover{color:var(--txt);background:var(--surface-2)}
.nav-cta{margin-left:.3rem}
.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:.4rem}
.burger span{width:24px;height:2px;background:var(--txt);border-radius:2px;transition:.3s}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.5rem;border-radius:999px;font-weight:700;font-size:.94rem;
  border:1px solid transparent;cursor:pointer;transition:.3s;white-space:nowrap;
  position:relative;overflow:hidden}
.btn-primary{background:var(--grad);color:#06101d;box-shadow:0 16px 40px -16px rgba(34,211,238,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 50px -16px rgba(109,94,252,.85)}
.btn-primary .ico{transition:.3s}
.btn-primary:hover .ico{transform:translateX(4px)}
.btn-ghost{background:var(--surface-2);color:var(--txt);border-color:var(--border-2)}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-sm{padding:.6rem 1.1rem;font-size:.85rem}
.btn-block{width:100%;margin-top:.75rem}

/* ---------- Glass ---------- */
.glass{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--ring),var(--shadow);
}

/* ---------- Hero ---------- */
.hero{padding:9.5rem 0 4rem}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.arabic{
  font-family:'Amiri',serif;font-size:1.02rem;color:var(--p2);
  opacity:.85;margin:.15rem 0;direction:rtl;text-align:right}
.pill{
  display:inline-flex;gap:.4rem;align-items:center;margin:1.2rem 0 .8rem;
  padding:.45rem 1rem;border-radius:999px;font-size:.82rem;color:var(--txt-dim);
  background:var(--surface-2);border:1px solid var(--border-2)}
.pill b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.08;letter-spacing:-.035em;font-weight:800;margin:.4rem 0 1rem}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.05rem;color:var(--txt-dim);max-width:60ch}
.lead b{color:var(--txt)}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1.4rem}
.hero-tags{display:flex;gap:.5rem;flex-wrap:wrap}
.hero-tags span{
  padding:.35rem .8rem;border-radius:999px;font-size:.78rem;color:var(--txt-mute);
  border:1px dashed var(--border-2)}

.hero-card{position:relative;display:grid;gap:1rem;padding:1rem}
.profile{display:flex;align-items:center;gap:1rem;padding:1.2rem}
.avatar-img{
  width:62px;height:62px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid rgba(255,255,255,.22);
  box-shadow:0 12px 30px -12px rgba(34,211,238,.9)}
.profile h3{font-size:1rem;font-weight:700}
.profile p{font-size:.83rem;color:var(--txt-mute)}
.hero-metric{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem}
.hero-metric b{display:block;font-size:1.05rem}
.hero-metric span{font-size:.85rem;color:var(--txt-dim)}
.mini-cta{
  flex:none;padding:.5rem .9rem;border-radius:999px;font-size:.8rem;font-weight:700;
  background:var(--grad-warm);color:#2a1400}
.hero-orbit{position:absolute;inset:0;pointer-events:none}
.orb{
  position:absolute;padding:.35rem .8rem;border-radius:999px;font-size:.75rem;font-weight:700;
  background:rgba(8,9,20,.8);border:1px solid var(--border-2);backdrop-filter:blur(8px);
  animation:bob 6s ease-in-out infinite}
.o1{top:-14px;right:8%;color:var(--p2)}
.o2{bottom:-10px;left:4%;color:var(--p3);animation-delay:-2s}
.o3{top:42%;right:-18px;color:var(--p1);animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-12px)}}

/* ---------- Marquee ---------- */
.marquee{
  overflow:hidden;border-block:1px solid var(--border);
  background:rgba(255,255,255,.025);padding:.85rem 0;margin-top:1rem}
.marquee-track{display:flex;gap:2.5rem;width:max-content;animation:slide 28s linear infinite}
.marquee-track span{font-weight:700;font-size:.85rem;letter-spacing:.14em;color:var(--txt-mute);white-space:nowrap}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- Founder ---------- */
.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.8rem;align-items:center}
.founder-photo{position:relative;margin:0}
.founder-photo img{
  width:100%;display:block;border-radius:var(--r-lg);
  border:1px solid var(--border-2);box-shadow:var(--shadow)}
.founder-badge{
  position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);
  width:max-content;max-width:94%;text-align:center;padding:.7rem 1.3rem;
  border-radius:999px;background:rgba(8,9,20,.84);
  border:1px solid var(--border-2);backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.founder-badge b{display:block;font-size:.95rem;line-height:1.3}
.founder-badge span{font-size:.75rem;color:var(--txt-mute)}
.founder-copy h2{margin-bottom:1rem}
.founder-copy p{color:var(--txt-dim);margin-bottom:1.2rem}
.founder-banner{
  margin:0 0 1.4rem;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--border-2);box-shadow:var(--shadow)}
.founder-banner img{width:100%;display:block}

/* ---------- Sections ---------- */
.sec{padding:5.5rem 0}
.sec.alt{background:linear-gradient(180deg,transparent,rgba(255,255,255,.022) 20%,rgba(255,255,255,.022) 80%,transparent)}
.sec-head{text-align:center;max-width:760px;margin:0 auto 3rem}
.kicker{
  display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--p2);margin-bottom:.7rem}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.18;letter-spacing:-.025em;font-weight:800}
.sec-head p{color:var(--txt-dim);margin-top:.8rem}

/* ---------- Cards 3 ---------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.card{padding:2rem 1.7rem;transition:.35s;position:relative;overflow:hidden;
  display:block;color:inherit;text-decoration:none;cursor:pointer}
.card h3{color:var(--txt)}
.card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(140deg,rgba(109,94,252,.6),transparent 45%,rgba(34,211,238,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:.35s}
.card:hover{transform:translateY(-6px)}
.card:hover::after{opacity:1}
.card-ico{font-size:1.8rem;margin-bottom:.9rem}
.card h3{font-size:1.15rem;margin-bottom:.5rem}
.card p{color:var(--txt-dim);font-size:.93rem}
.card-link{display:inline-block;margin-top:1rem;font-weight:700;font-size:.88rem;color:var(--p2)}
.card:hover .card-link{color:var(--txt)}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:start}
.step{padding:1.9rem 1.6rem;position:relative}
.step-no{
  font-size:2rem;font-weight:800;letter-spacing:-.04em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.4rem}
.step h3{font-size:1.08rem;margin-bottom:1rem}
.box{background:rgba(0,0,0,.22);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem;font-size:.9rem;color:var(--txt-dim)}
.box p{margin:.4rem 0}
.box .box-title{font-weight:700;color:var(--txt)}
.box ul,.box ol{margin:.4rem 0}
.box a{color:var(--p2);font-weight:600}
.box a:hover{text-decoration:underline}
.hl{margin-top:.9rem;padding:.8rem;border-radius:12px;background:rgba(34,211,238,.09);border:1px solid rgba(34,211,238,.28);color:var(--txt)}

/* ---------- Kelas ---------- */
.kelas-visual{margin:0 0 1.6rem;padding:1.4rem;text-align:center}
.kelas-visual img{
  width:100%;max-width:540px;margin-inline:auto;display:block;
  border-radius:var(--r);border:1px solid var(--border)}
.kelas-visual figcaption{margin-top:1rem;font-size:.85rem;color:var(--txt-mute)}
.kelas-card{padding:2.2rem;display:grid;grid-template-columns:1.35fr .85fr;gap:2rem}
.rows{display:grid;gap:1rem}
.row-item{background:rgba(0,0,0,.22);border:1px solid var(--border);border-radius:var(--r);padding:1.1rem 1.2rem;transition:.3s}
.row-item:hover{border-color:var(--border-2);transform:translateX(4px)}
.row-badge{
  display:inline-block;margin-bottom:.5rem;padding:.25rem .7rem;border-radius:999px;
  font-size:.73rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  background:rgba(109,94,252,.16);color:#c7c1ff;border:1px solid rgba(109,94,252,.35)}
.row-item p{font-size:.9rem;color:var(--txt-dim)}
.row-item b{color:var(--txt)}
.total{background:linear-gradient(160deg,rgba(34,211,238,.10),rgba(109,94,252,.10));border:1px solid var(--border-2);border-radius:var(--r-lg);padding:1.5rem;align-self:start}
.total-line{font-size:1.05rem;font-weight:600;margin-bottom:1rem}
.total-line b{font-size:1.3rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.chips{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}
.chip{padding:.5rem .8rem;border-radius:12px;background:rgba(0,0,0,.25);font-size:.85rem;color:var(--txt-dim)}
.chip b{color:var(--txt)}
.note{font-size:.8rem;color:var(--txt-mute);font-style:italic}
.bonus{margin-top:1.2rem;padding:1rem;border-radius:var(--r);background:var(--grad-warm);color:#2a1400;text-align:center}
.bonus span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em}
.bonus b{display:block;font-size:2rem;line-height:1.2}
.bonus em{font-size:.82rem;font-style:normal;font-weight:700}

/* ---------- Two col ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-items:center}
.col-text{padding:2rem}
.col-text .big{font-size:1.15rem;font-weight:700;margin-bottom:.8rem}
.col-text p{color:var(--txt-dim);margin-bottom:1.2rem}
.col-visual{display:grid;place-items:center;min-height:320px;margin:0}
.col-visual img{
  width:100%;max-width:420px;display:block;
  border-radius:var(--r-lg);border:1px solid var(--border-2);box-shadow:var(--shadow)}

/* ---------- Pilar band ---------- */
.pilar-band{display:flex;justify-content:space-between;align-items:center;gap:2.4rem;padding:2.4rem;flex-wrap:wrap}
.pilar-band h2{margin-bottom:.4rem}
.pilar-band p{color:var(--txt-dim);max-width:56ch}
.pilar-band .btn{margin-top:1.2rem}
.pilar-figure{flex:0 0 320px;max-width:320px;margin:0}
.pilar-figure img{width:100%;display:block;border-radius:var(--r);border:1px solid var(--border-2)}

/* ---------- Metaverse ---------- */
.mv-banner{
  margin:0 0 1.6rem;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--border-2);box-shadow:var(--shadow)}
.mv-banner img{width:100%;height:auto;display:block}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.4rem}
.mv{padding:1.8rem}
.mv h3{font-size:1.1rem;margin-bottom:.7rem;color:var(--p2)}
.mv p{color:var(--txt-dim);font-size:.93rem}
.mv-closing{padding:2rem}
.mv-closing p{color:var(--txt-dim);margin-bottom:1rem}
.mv-closing p:last-child{margin-bottom:0}
.mv-closing b{color:var(--txt)}

/* ---------- Sedekah ---------- */
.sedekah{padding:2.6rem;text-align:center;max-width:960px;margin-inline:auto;
  background:linear-gradient(160deg,rgba(34,211,238,.08),rgba(109,94,252,.08))}
.sedekah h2{margin-bottom:1.2rem}
.sedekah p{color:var(--txt-dim);margin-bottom:1rem;max-width:80ch;margin-inline:auto}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.stat{padding:2rem 1.5rem;text-align:center;transition:.35s}
.stat:hover{transform:translateY(-6px)}
.stat b{display:block;font-size:2.4rem;font-weight:800;letter-spacing:-.03em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:.88rem;color:var(--txt-dim)}

/* ---------- Slider ---------- */
.slider{position:relative;padding:0 3rem}
.slider-viewport{overflow:hidden}
.slider-track{display:flex;gap:1.4rem;transition:transform .55s cubic-bezier(.6,.05,.2,1)}
.t-card{flex:0 0 calc(33.333% - .94rem);padding:1.8rem;display:flex;flex-direction:column;gap:1.2rem}
.t-card blockquote{font-size:.93rem;color:var(--txt-dim);font-style:italic;flex:1}
.t-card figcaption{display:flex;align-items:center;gap:.7rem;font-weight:700}
.t-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;
  border:1px solid var(--border-2);box-shadow:0 8px 20px -10px rgba(0,0,0,.85)}
.slider-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);
  background:rgba(8,9,20,.85);color:var(--txt);font-size:1.5rem;line-height:1;
  cursor:pointer;transition:.3s;backdrop-filter:blur(8px)}
.slider-btn:hover{background:var(--grad);color:#06101d}
.prev{left:0}.next{right:0}
.dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.6rem}
.dot{width:9px;height:9px;border-radius:50%;border:0;background:var(--border-2);cursor:pointer;transition:.3s;padding:0}
.dot.active{background:var(--grad);width:26px;border-radius:999px}

/* ---------- Daftar ---------- */
.daftar-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.6rem;align-items:start}
.daftar-copy{padding:2rem}
.daftar-copy p{color:var(--txt-dim);margin-bottom:1rem}
.urgent{margin-top:1.2rem;padding:1rem;border-radius:var(--r);font-weight:700;
  background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35)}
.urgent span{display:block;font-weight:500;font-size:.85rem;color:var(--txt-dim);margin-top:.3rem}
.daftar-form{padding:2rem;text-align:center}
.daftar-form h3{font-size:1.3rem;margin-bottom:1rem}
.form-hint{font-size:.82rem;color:var(--txt-mute);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:.8rem}
.wa-format{margin:.6rem 0;padding:.9rem;border-radius:12px;background:rgba(0,0,0,.3);
  border:1px dashed var(--border-2);font-size:.88rem;color:var(--txt);word-break:break-word}
.btn-copy{margin-top:.3rem;font-size:.82rem;padding:.55rem 1rem}
.phone{display:block;font-size:1.5rem;font-weight:800;margin:.4rem 0;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.form-note{font-size:.82rem;color:var(--txt-mute);margin-top:1rem}

/* ---------- CTA boxes ---------- */
.cta-box{padding:2.2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.cta-box h2{font-size:1.5rem}
.cta-box p{color:var(--txt-dim)}
.vboost{position:relative;background:linear-gradient(160deg,rgba(245,158,11,.10),rgba(244,114,182,.08))}
.badge-new{position:absolute;top:1rem;right:1rem;padding:.25rem .7rem;border-radius:999px;
  font-size:.72rem;font-weight:800;background:var(--grad-warm);color:#2a1400}
.tools{margin-top:1.1rem;padding:.7rem 1rem;display:flex;gap:.45rem;align-items:center;
  flex-wrap:wrap;justify-content:center;background:rgba(255,255,255,.028);
  border-radius:var(--r);box-shadow:none}
.tools-label{font-size:.72rem;color:var(--txt-mute);font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;margin-right:.15rem}
.tools a{display:inline-flex;align-items:center;gap:.3rem;padding:.26rem .6rem;
  border-radius:999px;background:rgba(255,255,255,.045);border:1px solid var(--border);
  font-size:.76rem;font-weight:600;color:var(--txt-dim);transition:.25s;line-height:1.5;
  white-space:nowrap}
.tools a svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.8;transition:.25s}
.tools a:hover{background:var(--grad);color:#06101d;border-color:transparent;transform:translateY(-1px)}
.tools a:hover svg{opacity:1}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.contact-card{padding:1.8rem;text-align:center;transition:.35s}
.contact-card:hover{transform:translateY(-6px)}
.c-ico{font-size:1.6rem;margin-bottom:.6rem}
.contact-card h3{font-size:1rem;margin-bottom:.6rem}
.contact-card p,.contact-card a{font-size:.9rem;color:var(--txt-dim)}
.contact-card a:hover{color:var(--p2)}

/* ---------- Organik ---------- */
.organik{padding:2.6rem;text-align:center;
  background:linear-gradient(160deg,rgba(34,197,94,.10),rgba(34,211,238,.06))}
.organik h2{margin-bottom:.7rem}
.organik p{color:var(--txt-dim);margin-bottom:1.2rem}
.mid{margin-top:1rem;font-size:.85rem;color:var(--txt-mute)}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--border);background:rgba(5,6,14,.8);padding:2.4rem 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.copy{color:var(--txt-mute);font-size:.88rem}
.foot-links{display:flex;gap:1.2rem}
.foot-links a{font-size:.88rem;color:var(--txt-dim)}
.foot-links a:hover{color:var(--p2)}

/* ---------- FAB ---------- */
.fab{
  position:fixed;right:1.4rem;bottom:1.4rem;z-index:50;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;
  background:var(--grad);box-shadow:0 16px 40px -12px rgba(34,211,238,.85);
  transition:.3s;animation:bob 4s ease-in-out infinite}
.fab:hover{transform:scale(1.08)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .hero-inner,.kelas-card,.daftar-grid,.two-col,.founder-grid{grid-template-columns:1fr}
  .founder-photo{max-width:420px;margin-inline:auto}
  .pilar-figure{flex:1 1 100%;max-width:100%}
  .cards-3,.steps,.contact-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .t-card{flex:0 0 calc(50% - .7rem)}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:rgba(8,9,20,.97);border-bottom:1px solid var(--border);
    padding:1rem;gap:.3rem;display:none}
  .nav-links.open{display:flex}
  .burger{display:flex;margin-left:auto}
  .nav-cta{display:none}
}
@media (max-width:640px){
  .sec{padding:4rem 0}
  .hero{padding:8rem 0 3rem}
  .brand-logo{width:38px;height:38px}
  .brand-txt{font-size:.98rem}
  .founder-badge{position:static;transform:none;width:auto;margin-top:.8rem;border-radius:var(--r)}
  .kelas-visual{padding:.9rem}
  .cards-3,.steps,.contact-grid,.stats,.mv-grid{grid-template-columns:1fr}
  .t-card{flex:0 0 100%}
  .slider{padding:0 2.6rem}
  .kelas-card{padding:1.4rem}
  .pilar-band{padding:1.8rem}
}
@media (max-width:920px){
  .tools{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}
  .tools-label{grid-column:1/-1;text-align:center;margin:0 0 .15rem}
  .tools a{justify-content:center;padding:.3rem .5rem}
}
@media (max-width:560px){
  .tools{grid-template-columns:repeat(2,1fr)}
  .tools a{font-size:.72rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
