:root{
  --black:#090908;
  --black-soft:#131210;
  --card:#161410;
  --line:#2a2419;
  --line-soft:#211d15;
  --gold:#e07a1f;
  --gold-bright:#ff9d42;
  --gold-dim:#8a4614;
  --grad-orange:radial-gradient(circle at 8% 10%, rgba(255,157,66,.45) 0%, rgba(224,122,31,.18) 20%, transparent 45%);
  --cream:#f4efe4;
  --muted:#a89c85;
  --muted-dim:#6b6353;
  --sage:#7ba98e;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;
  --shadow-card:0 24px 48px -16px rgba(0,0,0,.55);
  --header-bg:rgba(9,9,8,0.82);
  --dropdown-bg:rgba(9,9,8,.98);
  --logo-gold:#d6a628;
  --logo-panel:#100f0c;
}
body.light-theme{
  --black:#faf7f1;
  --black-soft:#f1ebdd;
  --card:#ffffff;
  --line:#e5dcc6;
  --line-soft:#ede5d2;
  --gold-dim:#c98a3f;
  --cream:#1c1712;
  --muted:#6b6353;
  --muted-dim:#948a72;
  --shadow-card:0 24px 48px -16px rgba(30,20,10,.12);
  --header-bg:rgba(250,247,241,0.88);
  --dropdown-bg:rgba(250,247,241,.98);
  --logo-gold:#b07f0e;
  --logo-panel:#fffdf8;
}
body.light-theme .lang-toggle:hover,
body.light-theme .theme-toggle:hover{color:#fff;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--cream);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.1px;
  overflow-x:hidden;
  transition:background .3s ease, color .3s ease;
}
/* Khmer mode uses Hanuman consistently across every label, button, and heading. */
body.lang-km,body.lang-km *{font-family:'Hanuman',serif !important;}
::selection{background:var(--gold);color:#0a0a09;}
a{color:inherit;text-decoration:none;}
.serif{font-family:'Space Grotesk',sans-serif;}
.mono{font-family:'IBM Plex Mono',monospace;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 100px;}
@media(max-width:1100px){.wrap{padding:0 60px;}}
@media(max-width:700px){.wrap{padding:0 24px;}}

/* ===================== FIXED CHROME ===================== */
.side-social{
  position:fixed;left:36px;top:50%;transform:translateY(-50%);
  z-index:40;display:flex;flex-direction:column;align-items:center;gap:18px;
}
.side-social::before,.side-social::after{
  content:'';width:1px;height:60px;background:var(--line);
}
.side-social a{
  color:var(--muted);display:flex;align-items:center;justify-content:center;
  transition:color .25s, transform .25s;
}
.side-social a svg{width:15px;height:15px;}
.side-social a:hover{color:var(--gold-bright);transform:translateY(-2px);}
@media(max-width:900px){.side-social{display:none;}}

.side-progress{
  position:fixed;right:36px;top:50%;transform:translateY(-50%);
  z-index:40;display:flex;flex-direction:column;align-items:center;gap:8px;
}
.side-progress .track{
  width:1px;height:140px;background:var(--line-soft);position:relative;overflow:hidden;
}
.side-progress .fill{
  position:absolute;left:0;top:0;width:100%;height:0%;background:var(--gold);
  transition:height .1s linear;
}
.side-progress .pct{
  font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--muted-dim);letter-spacing:1px;
}
@media(max-width:900px){.side-progress{display:none;}}

/* ===================== NAV ===================== */
header{
  position:sticky;top:0;z-index:50;
  background:var(--header-bg);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:16px;flex-wrap:nowrap;}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;}
.logo .mark{
  width:42px;height:42px;position:relative;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.logo .mark img{width:100%;height:100%;object-fit:contain;display:block;}
.logo .word{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-0.2px;white-space:nowrap;word-break:keep-all;display:block;}
.logo .word span{color:var(--logo-gold);}
.logo .mark{width:46px;height:40px;}
/* theme-aware images: dark-mode art by default, light-mode art when body.light-theme */
.only-light{display:none !important;}
body.light-theme .only-dark{display:none !important;}
body.light-theme .only-light{display:block !important;}

.nav-links{display:flex;justify-content:flex-end;gap:0;flex:1;min-width:0;font-size:11px;letter-spacing:0.35px;white-space:nowrap;}
.nav-links a{
  position:relative;padding:8px 9px;color:var(--muted);
  text-transform:uppercase;transition:color .25s;
}
.nav-links a.active{color:var(--gold-bright);}
.nav-links a.active::after{
  content:'';position:absolute;left:9px;right:9px;bottom:2px;height:1px;background:var(--gold);
}
.nav-links a:hover{color:var(--cream);}
.lang-toggle{
  margin-left:0;padding:7px 9px;flex-shrink:0;border:1px solid var(--gold-dim);border-radius:100px;
  background:transparent;color:var(--gold-bright);font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:.8px;cursor:pointer;transition:all .25s;
}
.lang-toggle:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.theme-toggle{
  margin-left:8px;width:30px;height:30px;flex-shrink:0;border:1px solid var(--gold-dim);border-radius:100px;
  background:transparent;color:var(--gold-bright);font-size:13px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;
}
.theme-toggle:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.nav-right{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);letter-spacing:0.5px;
  display:flex;align-items:center;gap:8px;
}
.nav-right .dot{width:6px;height:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 8px var(--sage);}
@media(max-width:1000px){.nav-links{display:none;}}
@media(max-width:700px){.logo .word{font-size:16px;}}

/* ===================== MOBILE NAV TOGGLE ===================== */
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;
  width:36px;height:36px;background:transparent;border:none;cursor:pointer;
  flex-shrink:0;padding:0;
}
.nav-toggle span{
  display:block;width:100%;height:2px;border-radius:2px;background:var(--cream);
  transition:transform .3s ease, opacity .25s ease, width .25s ease;
}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);width:100%;}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:100%;}

@media(max-width:1000px){
  .nav-toggle{display:flex;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--dropdown-bg);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
    padding:8px 24px 20px;white-space:normal;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:13px 2px;font-size:13px;border-bottom:1px solid var(--line-soft);}
  .nav-links a:last-child{border-bottom:none;}
  .nav-links a.active::after{display:none;}
  .nav-links a.active{color:var(--gold-bright);}
}

/* ===================== reveal helpers ===================== */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
[data-reveal="fade"]{transform:none;}
[data-reveal-delay="1"]{transition-delay:.08s;}
[data-reveal-delay="2"]{transition-delay:.16s;}
[data-reveal-delay="3"]{transition-delay:.24s;}
[data-reveal-delay="4"]{transition-delay:.32s;}

.eyebrow{
  font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--gold-dim);}

/* ===================== HERO (HOME) ===================== */
.hero{
  position:relative;min-height:680px;
  display:flex;flex-direction:column;
  background:var(--grad-orange),linear-gradient(90deg,rgba(9,9,8,.7) 0%, rgba(9,9,8,.4) 45%, rgba(9,9,8,.15) 100%),url('assets/images/milestone-photo.jpg');
  background-size:cover;background-position:center 32%;
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
  padding-top:110px;
}
.hero-main{flex:1;display:flex;align-items:center;}
@media(max-width:700px){.hero{min-height:600px;padding-top:90px;}}
.hero-text{max-width:600px;}
.hero-text .role{
  font-family:'Inter',sans-serif;font-weight:700;font-size:20px;letter-spacing:2.5px;color:var(--gold-bright);
  text-transform:uppercase;margin-bottom:22px;
  text-shadow:0 2px 14px rgba(0,0,0,0.7);
}
.hero-text h1{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(56px,7.4vw,104px);
  line-height:0.92;letter-spacing:-2.5px;margin-bottom:26px;
}
.hero-text h1 span{color:var(--gold);}
.hero-text p{font-size:15px;line-height:1.8;color:var(--muted);max-width:440px;}

.hero-bottom-row{
  position:relative;z-index:2;
  display:flex;justify-content:space-between;align-items:center;
  padding-top:26px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,0.1);
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--muted-dim);
}
.scroll-cue{display:flex;align-items:center;gap:10px;}
.scroll-cue .chev{
  display:inline-block;animation:bob 1.8s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ===================== PAGE HERO (SUB-PAGES) ===================== */
.page-hero{
  position:relative;padding:150px 0 90px;border-bottom:1px solid var(--line-soft);
  background-size:cover;background-position:center 25%;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:var(--grad-orange),linear-gradient(160deg,rgba(9,9,8,.55),rgba(9,9,8,.45));
}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero .crumb{
  font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;color:var(--gold-dim);
  text-transform:uppercase;margin-bottom:20px;
}
.page-hero .crumb a{color:var(--muted);transition:color .2s;}
.page-hero .crumb a:hover{color:var(--gold-bright);}
.page-hero h1{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(42px,6.4vw,78px);
  line-height:0.98;letter-spacing:-2px;margin-bottom:22px;max-width:720px;
}
.page-hero h1 em{font-style:normal;font-weight:700;color:var(--gold-bright);}
.page-hero p{font-size:15px;line-height:1.8;color:var(--muted);max-width:520px;}
.page-hero.bg-suit{background-image:linear-gradient(160deg,rgba(9,9,8,.15),rgba(9,9,8,.4)),url('assets/images/hero-photo.jpg');}
.page-hero.bg-heli{background-image:linear-gradient(160deg,rgba(9,9,8,.25),rgba(9,9,8,.5)),url('assets/images/milestone-photo.jpg');}
.page-hero.bg-award{background-image:linear-gradient(160deg,rgba(9,9,8,.2),rgba(9,9,8,.45)),url('assets/images/award-photo.jpg');}

/* ===================== STATS ===================== */
section.block{padding:110px 0;border-bottom:1px solid var(--line-soft);position:relative;}
section.block#about{
  background:linear-gradient(155deg,rgba(10,9,8,.92),rgba(10,9,8,.82)),url('assets/images/hero-photo.jpg');
  background-size:cover;background-position:center 12%;background-attachment:fixed;
}
@media(max-width:900px){section.block#about{background-attachment:scroll;}}
.stats-grid{display:grid;grid-template-columns:0.6fr 1.4fr;gap:80px;align-items:center;}
@media(max-width:850px){.stats-grid{grid-template-columns:1fr;gap:40px;}}
.big-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:120px;line-height:1;letter-spacing:-3px;color:var(--cream);display:flex;align-items:flex-start;}
.big-num .dot{color:var(--gold);}
.big-num-label{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.6;max-width:180px;}
.stats-right h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(28px,3.2vw,38px);letter-spacing:-0.8px;line-height:1.1;margin-bottom:14px;}
.stats-right h2 em{font-style:normal;font-weight:700;color:var(--gold-bright);}
.stats-right>p{font-size:13.5px;color:var(--muted);line-height:1.75;max-width:460px;margin-bottom:38px;}

.skill{margin-bottom:26px;}
.skill:last-child{margin-bottom:0;}
.skill-top{display:flex;justify-content:space-between;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:9px;text-transform:uppercase;}
.skill-top b{color:var(--cream);font-weight:600;}
.skill-bar{height:2px;background:var(--line-soft);position:relative;overflow:hidden;}
.skill-bar .fill{position:absolute;left:0;top:0;height:100%;width:0%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));transition:width 1.4s cubic-bezier(.2,.7,.2,1);}

/* ===================== MINI STAT ROW (reusable) ===================== */
.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:transparent;border:none;margin-top:60px;}
@media(max-width:750px){.mini-stats{grid-template-columns:repeat(2,1fr);}}
.mini-stat{background:var(--card);padding:30px 26px;border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;}
.mini-stat:hover{transform:translateY(-5px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.mini-stat .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:42px;letter-spacing:-1px;color:var(--gold-bright);}
.mini-stat .lbl{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;margin-top:8px;}

/* ===================== TIMELINE (About page) ===================== */
.timeline{margin-top:70px;border-top:1px solid var(--line-soft);}
.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line-soft);}
@media(max-width:700px){.timeline-row{grid-template-columns:1fr;gap:10px;}}
.timeline-row .yr{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold-dim);letter-spacing:1.5px;padding-top:4px;}
.timeline-row h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:21px;letter-spacing:-0.4px;margin-bottom:8px;}
.timeline-row p{font-size:13.5px;color:var(--muted);line-height:1.75;max-width:520px;}

/* ===================== MILESTONE CAROUSEL ===================== */
.milestone-section{padding:0;border-bottom:1px solid var(--line-soft);}
.milestone{
  position:relative;min-height:560px;
  background:linear-gradient(90deg,rgba(10,9,8,.88) 0%, rgba(10,9,8,.55) 45%, rgba(10,9,8,.35) 100%),url('assets/images/milestone-photo.jpg');
  background-size:cover;background-position:center 30%;
  overflow:hidden;
  display:flex;align-items:center;
}
.milestone .bg-num{
  position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:340px;color:rgba(201,162,76,0.05);
  line-height:1;pointer-events:none;user-select:none;
}
.milestone-content{position:relative;z-index:2;padding:70px 100px;width:100%;}
@media(max-width:1100px){.milestone-content{padding:70px 60px;}}
@media(max-width:700px){.milestone-content{padding:60px 24px;}}
.milestone-slide{display:none;}
.milestone-slide.active{display:block;animation:slideIn .6s cubic-bezier(.2,.7,.2,1);}
@keyframes slideIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
.milestone-stage{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px;}
.milestone-slide h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(32px,4.2vw,50px);letter-spacing:-1.2px;line-height:1.05;margin-bottom:18px;max-width:520px;}
.milestone-slide p{font-size:14px;line-height:1.8;color:var(--muted);max-width:440px;margin-bottom:32px;}
.milestone-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold);color:#0a0a09;padding:14px 26px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
  transition:all .25s;border:none;border-radius:100px;cursor:pointer;
}
.milestone-btn:hover{background:var(--gold-bright);}
.milestone-dots{display:flex;gap:10px;margin-top:44px;}
.milestone-dots button{
  width:9px;height:9px;border-radius:50%;border:1px solid var(--gold-dim);background:transparent;
  cursor:pointer;transition:all .3s;padding:0;
}
.milestone-dots button.active{background:var(--gold);border-color:var(--gold);width:24px;border-radius:5px;}

/* ===================== ACHIEVEMENT LIST (all stages, static) ===================== */
.stage-list{margin-top:20px;}
.stage-row{
  display:grid;grid-template-columns:70px 1fr auto;gap:28px;align-items:center;
  padding:26px 24px;margin-bottom:14px;background:var(--card);border:1px solid var(--line-soft);
  border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;
}
.stage-row:hover{transform:translateY(-4px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
@media(max-width:700px){.stage-row{grid-template-columns:1fr;gap:10px;}}
.stage-row .idx{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:32px;color:var(--gold-dim);}
.stage-row .body .stage-eyebrow{font-family:'Inter',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:1.8px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:8px;}
.stage-row .body h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-0.4px;margin-bottom:8px;}
.stage-row .body p{font-size:13.5px;color:var(--muted);line-height:1.7;max-width:520px;}
.stage-row .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.5px;color:var(--muted-dim);text-transform:uppercase;white-space:nowrap;}

/* ===================== LEARNING CENTER CARDS ===================== */
.lc-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:40px;flex-wrap:wrap;}
h2.section-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,3.6vw,46px);line-height:1.08;max-width:560px;letter-spacing:-1.2px;}
h2.section-title em{font-style:normal;font-weight:700;color:var(--gold-bright);}
.head-note{font-size:13.5px;color:var(--muted);max-width:300px;line-height:1.7;padding-bottom:4px;}

.lc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:transparent;border:none;}
@media(max-width:900px){.lc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lc-grid{grid-template-columns:1fr;}}
.lc-card{background:var(--card);padding:34px 28px;border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden;}
.lc-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.lc-card .ico{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--gold);font-size:14px;transition:all .3s;}
.lc-card:hover .ico{border-color:var(--gold);background:var(--gold);color:#0a0a09;}
.lc-card h4{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;letter-spacing:-0.3px;margin-bottom:10px;}
.lc-card p{font-size:12.5px;color:var(--muted);line-height:1.65;margin-bottom:20px;}
.lc-card .go{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.5px;color:var(--gold-bright);display:flex;align-items:center;gap:6px;opacity:0;transform:translateX(-6px);transition:all .3s;}
.lc-card:hover .go{opacity:1;transform:translateX(0);}

/* ===================== TESTIMONIAL SLIDER ===================== */
.testi-section{
  position:relative;padding:0;border-bottom:1px solid var(--line-soft);
  background:linear-gradient(160deg,rgba(20,18,16,.93),rgba(10,9,8,.9)),url('assets/images/award-photo.jpg');
  background-size:cover;background-position:center 20%;background-attachment:fixed;
}
@media(max-width:900px){.testi-section{background-attachment:scroll;}}
.testi-inner{padding:100px;position:relative;}
@media(max-width:1100px){.testi-inner{padding:80px 60px;}}
@media(max-width:700px){.testi-inner{padding:70px 24px;}}
.testi-mark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:80px;color:var(--gold-dim);line-height:1;margin-bottom:8px;}
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:800px){.testi-grid{grid-template-columns:1fr;gap:24px;}}
.testi-grid h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(27px,3.4vw,38px);letter-spacing:-0.8px;line-height:1.2;max-width:440px;}
.testi-slide{display:none;}
.testi-slide.active{display:block;animation:fadeIn .6s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.testi-slide blockquote{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:24px;}
.testi-who b{display:block;font-size:14px;color:var(--cream);font-weight:600;}
.testi-who span{font-family:'Inter',sans-serif;font-weight:600;font-size:10.5px;color:var(--muted-dim);letter-spacing:1px;text-transform:uppercase;}
.testi-controls{display:flex;gap:12px;margin-top:34px;}
.testi-controls button{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--cream);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;
}
.testi-controls button:hover{border-color:var(--gold);color:var(--gold-bright);}

/* ===================== PARTNERS ===================== */
.broker-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border:none;}
@media(max-width:750px){.broker-row{grid-template-columns:repeat(2,1fr);}}
.broker-cell{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:38px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;transition:transform .3s,border-color .3s,box-shadow .3s;}
.broker-cell:hover{transform:translateY(-5px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.broker-cell .glyph{font-family:'Space Grotesk',sans-serif;font-weight:700;font-style:normal;font-size:20px;letter-spacing:-0.3px;color:var(--muted);transition:color .25s;}
.broker-cell:hover .glyph{color:var(--gold-bright);}
.broker-cell .role-badge{font-family:'Inter',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:1.5px;color:var(--gold-dim);text-transform:uppercase;}

/* ===================== PARTNER BENEFITS ===================== */
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:transparent;border:none;margin-top:60px;}
@media(max-width:850px){.benefit-grid{grid-template-columns:1fr;}}
.benefit-card{background:var(--card);padding:34px 30px;border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;}
.benefit-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.benefit-card .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;color:var(--gold-dim);letter-spacing:1px;margin-bottom:16px;}
.benefit-card h4{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:700;letter-spacing:-0.3px;margin-bottom:10px;}
.benefit-card p{font-size:12.5px;color:var(--muted);line-height:1.65;}

/* ===================== NEWS / LEARNING FEED ===================== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:850px){.news-grid{grid-template-columns:1fr;}}
.news-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:transform .35s, border-color .35s, box-shadow .35s;}
.news-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.news-img{height:200px;background:linear-gradient(140deg,#1b1710,#0c0b09);position:relative;overflow:hidden;}
.news-img svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.news-body{padding:22px 22px 26px;}
.news-tag{font-family:'Inter',sans-serif;font-weight:700;font-size:9.5px;letter-spacing:1.5px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:10px;}
.news-body h4{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;letter-spacing:-0.3px;line-height:1.3;}

/* ===================== BLOG ===================== */
.blog-feature{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--card);}
@media(max-width:800px){.blog-feature{grid-template-columns:1fr;}}
.blog-feature-visual{min-height:330px;background:radial-gradient(circle at 70% 30%,rgba(201,162,76,.28),transparent 30%),linear-gradient(135deg,#211b10,#0b0a08);position:relative;overflow:hidden;}
.blog-feature-visual::before{content:'';position:absolute;inset:18% 10%;border:1px solid rgba(201,162,76,.45);transform:skewY(-12deg);}
.blog-feature-visual::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(201,162,76,.08) 49px 50px);}
.blog-feature-copy{padding:52px 46px;display:flex;flex-direction:column;justify-content:center;}
.blog-meta{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.3px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:18px;}
.blog-feature-copy h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-1px;margin-bottom:16px;}
.blog-feature-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:28px;}
.text-link{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:.7px;color:var(--gold-bright);text-transform:uppercase;}
.text-link:hover{color:var(--cream);}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:850px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{padding:30px 28px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;}
.blog-card:hover{transform:translateY(-5px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.blog-card h3{font-family:'Space Grotesk',sans-serif;font-size:22px;letter-spacing:-.5px;line-height:1.2;margin-bottom:12px;}
.blog-card p{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:24px;}

/* ===================== CONTACT ===================== */
.contact-grid{display:grid;grid-template-columns:0.75fr 1.25fr;gap:0;border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;}
@media(max-width:850px){.contact-grid{grid-template-columns:1fr;}}
.contact-left{padding:56px 44px;border-right:1px solid var(--line-soft);position:relative;overflow:hidden;background:linear-gradient(160deg,#141210,#0a0908);}
.contact-left h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:32px;letter-spacing:-0.8px;margin-bottom:14px;}
.contact-left>p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:34px;max-width:260px;}
.contact-info{margin-bottom:8px;}
.contact-info .l{font-family:'Inter',sans-serif;font-weight:700;font-size:10px;letter-spacing:1.5px;color:var(--muted-dim);text-transform:uppercase;margin-bottom:6px;}
.contact-info .v{font-size:14.5px;color:var(--cream);font-weight:600;margin-bottom:24px;}
.contact-visual{margin-top:30px;height:130px;position:relative;border:1px solid var(--line-soft);overflow:hidden;}
.contact-visual svg{position:absolute;inset:0;width:100%;height:100%;}

.contact-right{padding:56px 50px;}
.contact-right h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(23px,2.8vw,30px);letter-spacing:-0.6px;margin-bottom:36px;line-height:1.3;}
.contact-right h3 em{font-style:normal;font-weight:700;color:var(--gold-bright);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}
.field label{display:block;font-family:'Inter',sans-serif;font-weight:700;font-size:10px;letter-spacing:1.5px;color:var(--muted-dim);text-transform:uppercase;margin-bottom:8px;}
.field input, .field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--cream);font-family:'Inter',sans-serif;font-size:14.5px;padding:10px 0;outline:none;
  transition:border-color .25s;resize:none;
}
.field input:focus, .field textarea:focus{border-color:var(--gold);}
.field{margin-bottom:20px;}
.submit-btn{
  margin-top:14px;background:var(--gold);color:#0a0a09;border:none;padding:16px 30px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:all .25s;
}
.submit-btn:hover{background:var(--gold-bright);}

/* ===================== CONTACT DETAILS GRID (contact page extra) ===================== */
.contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:transparent;border:none;margin-bottom:70px;}
@media(max-width:850px){.contact-methods{grid-template-columns:1fr;}}
.contact-method{background:var(--card);padding:30px 26px;border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;}
.contact-method:hover{transform:translateY(-5px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.contact-method .ico{font-family:'Inter',sans-serif;font-weight:700;font-size:10px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:14px;}
.contact-method .v{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;letter-spacing:-0.3px;}

/* ===================== HOME TEASER GRID ===================== */
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:transparent;border:none;}
@media(max-width:900px){.teaser-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.teaser-grid{grid-template-columns:1fr;}}
.teaser-card{background:var(--card);padding:36px 30px;border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%;}
.teaser-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.teaser-card .eyebrow{margin-bottom:16px;}
.teaser-card h4{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;letter-spacing:-0.4px;margin-bottom:12px;}
.teaser-card p{font-size:12.5px;color:var(--muted);line-height:1.65;margin-bottom:24px;flex-grow:1;}
.teaser-card .go{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.5px;color:var(--gold-bright);display:flex;align-items:center;gap:6px;}

/* ===================== CTA BAND ===================== */
.cta-band{padding:90px 0;text-align:center;border-bottom:1px solid var(--line-soft);}
.cta-band h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,4.2vw,48px);letter-spacing:-1px;margin-bottom:22px;}
.cta-band h2 em{font-style:normal;font-weight:700;color:var(--gold-bright);}
.cta-band p{font-size:13.5px;color:var(--muted);max-width:440px;margin:0 auto 34px;line-height:1.7;}
.cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gold);color:#0a0a09;padding:17px 32px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
  border-radius:100px;transition:all .25s;
}
.cta-btn:hover{background:var(--gold-bright);}

/* ===================== FOOTER ===================== */
footer{padding:44px 0;}
.foot-row{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted-dim);flex-wrap:wrap;gap:14px;}
.foot-row .fb-links{display:flex;gap:22px;}
.foot-row a:hover{color:var(--gold-bright);}

/* ===================== PARTNER CARDS (partners.html) ===================== */
.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:850px){.partner-grid{grid-template-columns:1fr;}}
.partner-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);
  border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s;
}
.partner-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.partner-logo{
  height:150px;display:flex;align-items:center;justify-content:center;padding:28px 40px;
  background:var(--logo-panel);border-bottom:1px solid var(--line-soft);position:relative;
}
.partner-logo img{max-height:84px;max-width:min(300px,100%);width:auto;height:auto;object-fit:contain;}
.partner-logo .role-badge{
  position:absolute;top:16px;left:18px;font-family:'Inter',sans-serif;font-weight:700;font-size:9.5px;
  letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;
}
.partner-body{padding:30px 30px 28px;display:flex;flex-direction:column;flex:1;}
.partner-body h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;letter-spacing:-.6px;margin-bottom:4px;}
.partner-body .since{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:1.3px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px;}
.partner-body>p{font-size:13.5px;color:var(--muted);line-height:1.75;margin-bottom:22px;flex:1;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.chip{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.4px;color:var(--cream);
  padding:6px 11px;border:1px solid var(--line);border-radius:100px;white-space:nowrap;
}
.chip b{color:var(--gold-bright);font-weight:600;}
.partner-body .go{font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.6px;color:var(--gold-bright);text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.partner-card:hover .go .arr{transform:translateX(4px);}
.go .arr{transition:transform .25s;display:inline-block;}

/* ===================== BROKER DETAIL PAGES ===================== */
.broker-hero{padding:120px 0 80px;border-bottom:1px solid var(--line-soft);background:var(--grad-orange);}
.broker-hero .crumb{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:28px;}
.broker-hero .crumb a{color:var(--muted);transition:color .2s;}
.broker-hero .crumb a:hover{color:var(--gold-bright);}
.broker-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
@media(max-width:900px){.broker-hero-grid{grid-template-columns:1fr;gap:36px;}}
.broker-hero h1{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-2px;margin-bottom:20px;}
.broker-hero h1 em{font-style:normal;color:var(--gold-bright);}
.broker-hero .lede{font-size:15px;line-height:1.8;color:var(--muted);max-width:520px;margin-bottom:30px;}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;}
.ghost-btn{
  display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border:1px solid var(--line);border-radius:100px;
  font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--cream);transition:all .25s;
}
.ghost-btn:hover{border-color:var(--gold);color:var(--gold-bright);}
.logo-panel{
  background:var(--logo-panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  min-height:280px;display:flex;align-items:center;justify-content:center;padding:44px;box-shadow:var(--shadow-card);
}
.logo-panel img{max-width:100%;max-height:170px;width:auto;height:auto;object-fit:contain;}
.overview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:start;}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr;gap:40px;}}
.prose p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:18px;}
.prose p:last-child{margin-bottom:0;}
.spec-table{border:1px solid var(--line-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--card);}
.spec-row{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 22px;border-bottom:1px solid var(--line-soft);}
.spec-row:last-child{border-bottom:none;}
@media(max-width:480px){.spec-row{grid-template-columns:1fr;gap:4px;}}
.spec-row .k{font-family:'Inter',sans-serif;font-weight:700;font-size:10px;letter-spacing:1.5px;color:var(--muted-dim);text-transform:uppercase;padding-top:3px;}
.spec-row .v{font-size:13.5px;line-height:1.6;color:var(--cream);}
.acct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.acct-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:28px 26px;transition:transform .3s,border-color .3s;}
.acct-card:hover{transform:translateY(-4px);border-color:var(--gold-dim);}
.acct-card h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;margin-bottom:14px;}
.acct-card ul{list-style:none;}
.acct-card li{font-size:13px;color:var(--muted);padding:8px 0;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:12px;}
.acct-card li b{color:var(--cream);font-weight:600;text-align:right;}
.notice{
  margin-top:40px;padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius-sm);
  font-size:12.5px;line-height:1.75;color:var(--muted);background:var(--card);
}
.notice b{color:var(--cream);}
.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:800px){.other-grid{grid-template-columns:1fr;}}
.other-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:var(--card);
  border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:transform .3s,border-color .3s;
}
.other-card:hover{transform:translateY(-4px);border-color:var(--gold-dim);}
.other-card img{height:34px;width:auto;max-width:150px;object-fit:contain;}
.other-card .arr{color:var(--gold-bright);font-weight:700;}

/* ===================== COMMUNITY SOCIAL CARDS ===================== */
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:1000px){.social-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.social-grid{grid-template-columns:1fr;}}
.social-card{
  --brand:#26A5E4;position:relative;display:flex;flex-direction:column;gap:18px;padding:30px 26px 26px;
  background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;
  transition:transform .3s,border-color .3s,box-shadow .3s;isolation:isolate;
}
.social-card::before{
  content:'';position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .35s;
  background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--brand) 26%,transparent),transparent 60%);
}
.social-card:hover{transform:translateY(-6px);border-color:var(--brand);box-shadow:var(--shadow-card);}
.social-card:hover::before{opacity:1;}
.social-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
.social-ico{
  width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--brand);color:#fff;box-shadow:0 10px 24px -10px var(--brand);
}
.social-ico svg{width:28px;height:28px;}
.social-card h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.4px;margin-bottom:6px;}
.social-card .handle{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted-dim);letter-spacing:.5px;}
.social-card p{font-size:13px;color:var(--muted);line-height:1.65;flex:1;}
.social-card .go{
  display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line-soft);
  font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--cream);
}
.social-card:hover .go{color:var(--brand);}
.social-card .go .arr{transition:transform .25s;}
.social-card:hover .go .arr{transform:translate(3px,-3px);}
.social-card.tg{--brand:#26A5E4;}
.social-card.fb{--brand:#0866FF;}
.social-card.tt{--brand:#FE2C55;}
.social-card.yt{--brand:#FF0000;}
.social-card.tt .social-ico{background:#111;box-shadow:-3px -3px 0 -1px #25F4EE inset,3px 3px 0 -1px #FE2C55 inset,0 10px 24px -10px #FE2C55;}
body.light-theme .social-card.tt .social-ico{background:#111;}

/* ===================== SMALL-SCREEN HEADER FIT ===================== */
@media(max-width:520px){
  nav{gap:8px;}
  .logo{gap:8px;}
  .logo .mark{width:34px;height:30px;}
  .logo .word{font-size:14px;}
  .lang-toggle{padding:6px 7px;font-size:9px;}
  .theme-toggle{margin-left:4px;width:28px;height:28px;}
  .nav-toggle{width:30px;}
}
@media(max-width:360px){.logo .word{font-size:12.5px;}}

/* Photo heroes stay dark in light mode so the headline stays readable */
body.light-theme .page-hero h1{color:#f4efe4;}
body.light-theme .page-hero p,body.light-theme .page-hero .crumb a{color:#d9cfbb;}
body.light-theme .hero-text h1{color:#f4efe4;}
body.light-theme .hero-text p{color:#d9cfbb;}

/* ===================== ATHIKA LAB (community.html) ===================== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.lab-hero{
  padding:80px 0 90px;border-bottom:1px solid var(--line-soft);text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 50% 18%,rgba(16,214,146,.16),transparent 55%),var(--black);
}
.lab-hero .crumb{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:24px;}
.lab-hero .crumb a{color:var(--muted);}
.lab-hero .crumb a:hover{color:var(--gold-bright);}
.lab-logo{display:flex;justify-content:center;margin:0 auto 26px;}
.lab-logo img{width:min(220px,56vw);height:auto;}
.lab-sub{font-size:15px;line-height:1.8;color:var(--muted);max-width:540px;margin:0 auto 56px;}
.lab-hero .social-grid{text-align:left;}

/* ===================== LEARNING CATEGORIES ===================== */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.cat-card{grid-column:span 2;}
.cat-card:nth-child(4),.cat-card:nth-child(5){grid-column:span 3;}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr);}.cat-card,.cat-card:nth-child(4){grid-column:span 1;}.cat-card:nth-child(5){grid-column:span 2;}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr;}.cat-card,.cat-card:nth-child(4),.cat-card:nth-child(5){grid-column:span 1;}}
.cat-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);
  padding:30px 28px 26px;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden;
}
.cat-card::after{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,157,66,.16),transparent 70%);opacity:0;transition:opacity .35s;}
.cat-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:var(--shadow-card);}
.cat-card:hover::after{opacity:1;}
.cat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;}
.cat-ico{width:46px;height:46px;border-radius:14px;border:1px solid var(--gold-dim);display:inline-flex;align-items:center;justify-content:center;color:var(--gold-bright);transition:all .3s;flex-shrink:0;}
.cat-card:hover .cat-ico{background:var(--gold);border-color:var(--gold);color:#0a0a09;}
.cat-num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:14px;color:var(--muted-dim);}
.cat-card h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.4px;margin-bottom:10px;}
.cat-card p{font-size:13px;color:var(--muted);line-height:1.7;flex:1;margin-bottom:22px;}
.cat-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.cat-meta span{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--cream);padding:5px 10px;border:1px solid var(--line);border-radius:100px;}
.cat-card .go{font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--gold-bright);display:flex;gap:8px;}
.cat-card:hover .go .arr{transform:translateX(4px);}

/* ===================== LEARNING CATEGORY PAGES ===================== */
.learn-hero{padding:110px 0 80px;}
.learn-hero h1{max-width:760px;}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:#0b0a08;box-shadow:var(--shadow-card);}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;
  background:radial-gradient(circle at 50% 40%,rgba(255,157,66,.18),transparent 55%),repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,255,255,.03) 60px),#0b0a08;color:#f4efe4;}
.video-placeholder .play{width:76px;height:76px;border-radius:50%;background:#ff0000;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px -10px rgba(255,0,0,.6);margin-bottom:6px;}
.video-placeholder .play svg{width:32px;height:32px;margin-left:4px;}
.video-placeholder b{font-family:'Space Grotesk',sans-serif;font-size:20px;}
.video-placeholder a{font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:#ff9d42;}
.course-list{display:flex;flex-direction:column;gap:14px;}
.course{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:border-color .3s;}
.course[open],.course:hover{border-color:var(--gold-dim);}
.course summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:16px;padding:22px 24px;}
.course summary::-webkit-details-marker{display:none;}
.c-idx{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;color:var(--gold-dim);}
.c-main{display:flex;flex-direction:column;gap:4px;}
.c-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20px;letter-spacing:-.3px;}
.c-meta{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:1px;color:var(--muted-dim);text-transform:uppercase;}
.c-plus{width:24px;height:24px;position:relative;}
.c-plus::before,.c-plus::after{content:'';position:absolute;left:5px;right:5px;top:11px;height:2px;background:var(--gold-bright);transition:transform .3s;}
.c-plus::after{transform:rotate(90deg);}
.course[open] .c-plus::after{transform:rotate(0);}
.lesson-list{list-style:none;margin:0 24px;border-top:1px solid var(--line-soft);padding:8px 0 4px;}
.lesson-list li{display:flex;gap:16px;align-items:baseline;padding:11px 0;font-size:14px;color:var(--cream);border-bottom:1px dashed var(--line-soft);}
.lesson-list li:last-child{border-bottom:none;}
.lesson-list .ln{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gold-dim);min-width:22px;}
.c-watch{display:inline-block;margin:10px 24px 22px;}
@media(max-width:560px){.course summary{grid-template-columns:38px 1fr 24px;padding:18px;gap:12px;}.lesson-list{margin:0 18px;}.c-watch{margin:10px 18px 18px;}}
.other-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:10px;}
@media(max-width:900px){.other-cats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.other-cats{grid-template-columns:1fr;}}
.other-cat{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-md);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:15px;transition:transform .3s,border-color .3s;}
.other-cat .cat-ico{width:38px;height:38px;border-radius:11px;}
.other-cat .arr{margin-left:auto;color:var(--gold-bright);}
.other-cat:hover{transform:translateY(-3px);border-color:var(--gold-dim);}

/* ===================== COURSE PLAYER (learn-*.html) ===================== */
.player-section{padding:56px 0 90px;border-bottom:1px solid var(--line-soft);}
.back-link{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:14px;transition:color .2s;}
.back-link:hover{color:var(--gold-bright);}
.player-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,4vw,44px);letter-spacing:-1px;margin-bottom:28px;}
.player-grid{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start;}
@media(max-width:900px){.player-grid{grid-template-columns:1fr;}.player-card{order:-1;}}
.lesson-nav{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 14px;position:sticky;top:100px;}
.lesson-nav-head{display:flex;justify-content:space-between;align-items:center;padding:0 8px 12px;font-size:12px;color:var(--muted);}
.progress-count{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gold-bright);}
.lesson-items{list-style:none;display:flex;flex-direction:column;gap:8px;}
.lesson-item{
  width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:13px 12px;cursor:pointer;
  background:transparent;border:1px solid transparent;border-radius:14px;color:var(--cream);
  font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;line-height:1.45;transition:background .2s,border-color .2s;
}
.lesson-item:hover{background:var(--black-soft);}
.lesson-item.active{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:var(--gold-dim);}
.l-num{flex-shrink:0;width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:12px;border:1px solid var(--line);color:var(--muted);}
.lesson-item.active .l-num{background:var(--gold);border-color:var(--gold);color:#0a0a09;}
.lesson-item.done .l-num{background:var(--sage);border-color:var(--sage);color:#0a0a09;}
.l-title{padding-top:4px;}
.player-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 16px 24px;}
.player-video{border-radius:16px;box-shadow:none;}
.lesson-badge{display:inline-block;margin:20px 8px 10px;padding:5px 12px;border-radius:100px;font-size:12px;font-weight:700;
  background:color-mix(in srgb,var(--sage) 22%,transparent);color:var(--sage);border:1px solid color-mix(in srgb,var(--sage) 45%,transparent);}
.lesson-heading{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.5px;line-height:1.3;margin:0 8px 22px;}
.player-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 8px;}
.pager{display:flex;gap:10px;}
.btn-outline,.btn-next{padding:12px 22px;border-radius:100px;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s;}
.btn-outline{background:transparent;border:1px solid var(--line);color:var(--cream);}
.btn-outline:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright);}
.btn-next{background:var(--gold);border:1px solid var(--gold);color:#0a0a09;}
.btn-next:hover:not(:disabled){background:var(--gold-bright);}
.btn-outline:disabled,.btn-next:disabled{opacity:.35;cursor:default;}
.mark-done.is-done{background:var(--sage);border-color:var(--sage);color:#0a0a09;}

/* =====================================================================
   MOTION LAYER — home hero, ticker, marquee, staggered reveals, spotlight
   ===================================================================== */
@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
body{animation:pageIn .6s ease both;}
header{transition:background .3s,box-shadow .3s,height .3s;}
header.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.6);}
header.scrolled nav{height:68px;}
nav{transition:height .3s ease;}

/* ---------- hero ---------- */
.hero-motion{min-height:760px;isolation:isolate;}
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
@media(max-width:980px){.hero-split{grid-template-columns:1fr;}.hero-visual{max-width:520px;}}
.hero-orbs{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.hero-orbs span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:orb 16s ease-in-out infinite alternate;}
.hero-orbs span:nth-child(1){width:420px;height:420px;left:-120px;top:-80px;background:rgba(255,140,40,.45);}
.hero-orbs span:nth-child(2){width:360px;height:360px;right:-80px;top:30%;background:rgba(214,166,40,.35);animation-duration:20s;animation-delay:-6s;}
.hero-orbs span:nth-child(3){width:300px;height:300px;left:40%;bottom:-140px;background:rgba(123,169,142,.28);animation-duration:24s;animation-delay:-12s;}
@keyframes orb{0%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,40px) scale(1.15);}100%{transform:translate(-40px,70px) scale(.95);}}
.hero-grid-lines{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(ellipse at 70% 50%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000 10%,transparent 70%);
  animation:gridMove 30s linear infinite;}
@keyframes gridMove{to{background-position:64px 64px,64px 64px;}}
.anim-in{opacity:0;transform:translateY(22px);animation:riseIn .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d,0s);}
@keyframes riseIn{to{opacity:1;transform:none;}}
.hero-text .role{display:flex;align-items:center;gap:12px;font-size:15px;}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 0 rgba(123,169,142,.7);animation:livePulse 2s infinite;flex-shrink:0;}
@keyframes livePulse{70%{box-shadow:0 0 0 10px rgba(123,169,142,0);}100%{box-shadow:0 0 0 0 rgba(123,169,142,0);}}
.split-title{display:flex;overflow:hidden;padding-bottom:.08em;}
.split-title .ch{display:inline-block;transform:translateY(110%);animation:chUp .9s cubic-bezier(.2,.8,.2,1) forwards;}
.split-title .ch:nth-child(1){animation-delay:.25s}.split-title .ch:nth-child(2){animation-delay:.31s}.split-title .ch:nth-child(3){animation-delay:.37s}
.split-title .ch:nth-child(4){animation-delay:.43s}.split-title .ch:nth-child(5){animation-delay:.49s}.split-title .ch:nth-child(6){animation-delay:.55s}
.split-title .ch.dot{color:var(--gold);animation-delay:.68s;}
@keyframes chUp{to{transform:none;}}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;}
.hero-ctas .ghost-btn{color:#f4efe4;border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px);}
/* shine sweep on primary buttons */
.shine{position:relative;overflow:hidden;}
.shine::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite;}
@keyframes shine{0%,60%{left:-60%;}100%{left:130%;}}
/* chart card */
.chart-card{position:relative;background:rgba(14,13,11,.62);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:20px 20px 14px;
  backdrop-filter:blur(14px);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);transform-style:preserve-3d;transition:transform .25s ease;will-change:transform;}
.chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#a89c85;letter-spacing:1px;}
.chart-head .pair{color:#f4efe4;font-weight:600;font-size:13px;}
.hero-chart{width:100%;height:auto;aspect-ratio:480/300;display:block;overflow:visible;}
.hc-grid line{stroke:rgba(255,255,255,.06);stroke-dasharray:4 6;}
.candle{opacity:0;transform-box:fill-box;transform-origin:center bottom;animation:candleIn .5s ease forwards;animation-delay:calc(.9s + var(--i) * 60ms);}
.candle line{stroke-width:1.4;}
.candle.up line{stroke:#7ba98e;} .candle.up rect{fill:#7ba98e;}
.candle.dn line{stroke:#c9574a;} .candle.dn rect{fill:#c9574a;}
@keyframes candleIn{from{opacity:0;transform:scaleY(.2);}to{opacity:.55;transform:none;}}
.hc-line{fill:none;stroke:#ff9d42;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s 1.1s cubic-bezier(.6,.1,.3,1) forwards;filter:drop-shadow(0 0 6px rgba(255,157,66,.6));}
@keyframes draw{to{stroke-dashoffset:0;}}
.hc-area{opacity:0;animation:fadeUp 1.2s 2.6s ease forwards;}
@keyframes fadeUp{to{opacity:1;}}
.hc-pulse{fill:#ff9d42;opacity:0;animation:fadeUp .3s 3.4s forwards,ring 1.8s 3.4s infinite;transform-box:fill-box;transform-origin:center;}
@keyframes ring{0%{stroke:rgba(255,157,66,.7);stroke-width:0;}100%{stroke:rgba(255,157,66,0);stroke-width:22;}}
.float-badge{position:absolute;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:16px;
  background:rgba(20,18,15,.82);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 20px 40px -18px rgba(0,0,0,.7);
  animation:floatY 5s ease-in-out infinite;transform:translateZ(40px);}
.float-badge b{font-family:'Space Grotesk',sans-serif;font-size:18px;color:#ff9d42;}
.float-badge span{font-size:11px;color:#a89c85;}
.fb-1{left:-28px;bottom:38px;}
.fb-2{right:-22px;top:56px;animation-delay:-2.5s;}
@media(max-width:600px){.fb-1{left:8px;bottom:-22px;}.fb-2{right:8px;top:-20px;}}
@keyframes floatY{0%,100%{translate:0 0;}50%{translate:0 -10px;}}
.scroll-cue .mouse{width:16px;height:24px;border:1.5px solid currentColor;border-radius:10px;display:inline-flex;justify-content:center;padding-top:4px;}
.scroll-cue .mouse span{width:2px;height:5px;border-radius:2px;background:currentColor;animation:wheel 1.6s ease-in-out infinite;}
@keyframes wheel{0%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(8px);}}
body.light-theme .hero-text .role{color:#ffb066;}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;border-bottom:1px solid var(--line-soft);background:var(--black-soft);padding:14px 0;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ticker-track{display:flex;gap:28px;width:max-content;animation:marquee 40s linear infinite;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.ticker-track i{color:var(--gold);font-style:normal;font-size:8px;align-self:center;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ---------- partner logo marquee ---------- */
.partner-strip{padding:70px 0 80px;border-bottom:1px solid var(--line-soft);}
.logo-marquee{overflow:hidden;margin-top:18px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.logo-track{display:flex;gap:22px;width:max-content;animation:marquee3 36s linear infinite;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
@keyframes marquee3{to{transform:translateX(calc(-100% / 3));}}
.logo-chip{display:flex;align-items:center;justify-content:center;width:240px;height:96px;padding:18px 28px;border:1px solid var(--line-soft);border-radius:20px;background:var(--card);
  filter:grayscale(1) opacity(.65);transition:filter .35s,border-color .35s,transform .35s;}
.logo-chip:hover{filter:none;border-color:var(--gold-dim);transform:translateY(-4px);}
.logo-chip img{max-height:52px;max-width:100%;width:auto;object-fit:contain;}

/* ---------- stats ---------- */
.stat-glow .mini-stat{position:relative;overflow:hidden;}
.stat-glow .mini-stat::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:conic-gradient(from var(--ang,0deg),transparent 0 70%,var(--gold-bright) 85%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:spin 6s linear infinite;opacity:.7;pointer-events:none;}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes spin{to{--ang:360deg;}}

/* ---------- staggered reveal for grids ---------- */
[data-stagger]>*{opacity:0;transform:translateY(30px) scale(.98);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--si,0) * 90ms);}
[data-stagger].is-visible>*{opacity:1;transform:none;}
[data-stagger].is-visible>*:hover{transition-delay:0s;}

/* ---------- mouse spotlight on cards ---------- */
.spot{position:relative;}
.spot::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,157,66,.13),transparent 45%);z-index:0;}
.spot:hover::before{opacity:1;}
.spot>*{position:relative;z-index:1;}
.teaser-card .go{transition:gap .25s;}
.teaser-card:hover .go{gap:12px;}

/* ---------- news svg draw ---------- */
.draw-lines .news-img svg *{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2s ease .3s;}
.draw-lines.is-visible .news-img svg *{stroke-dashoffset:0;}
.draw-lines .news-img svg rect{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform 1s cubic-bezier(.2,.7,.2,1) .4s;}
.draw-lines.is-visible .news-img svg rect{transform:none;}
.news-card:hover .news-img svg{opacity:.85;transform:scale(1.04);}
.news-img svg{transition:opacity .4s,transform .6s;}

/* ---------- animated CTA band ---------- */
.cta-animated{position:relative;overflow:hidden;isolation:isolate;}
.cta-animated::before{content:'';position:absolute;inset:-40%;z-index:-1;
  background:conic-gradient(from 0deg at 50% 50%,transparent 0 25%,rgba(255,157,66,.14) 35%,transparent 50%,rgba(214,166,40,.12) 75%,transparent 90%);
  animation:rotate 18s linear infinite;}
@keyframes rotate{to{transform:rotate(360deg);}}

/* ---------- respect reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .anim-in,.split-title .ch,.candle,.hc-area,.hc-pulse{opacity:1 !important;transform:none !important;}
  .hc-line{stroke-dashoffset:0 !important;}
  .ticker-track,.logo-track{animation:none !important;}
}
.split-title .ch{color:inherit;}.split-title .ch.dot{color:var(--gold);}
.hero > .wrap{width:100%;}
.hero-motion{background:var(--grad-orange),linear-gradient(90deg,rgba(9,9,8,.88) 0%,rgba(9,9,8,.62) 48%,rgba(9,9,8,.4) 100%),url('assets/images/milestone-photo.jpg');background-size:cover;background-position:center 32%;}
.chart-card{background:rgba(12,11,9,.86);}
@keyframes candleIn{from{opacity:0;transform:scaleY(.2);}to{opacity:.8;transform:none;}}
.hero-motion .hero-bottom-row{color:#8d826d;}
@media(max-width:980px){.hero-visual{margin-top:40px;}.hero-motion{padding-bottom:20px;}}
@media(max-width:600px){.hero-text .role{font-size:12.5px;letter-spacing:1.8px;}.fb-2{top:-26px;right:10px;}}

/* ===================== HERO: SUNSET FOLLOW-THE-MOUSE ===================== */
.hero-motion{--sx:78%;--sy:64%;cursor:default;background-position:calc(50% + var(--px,0px)) calc(32% + var(--py,0px));}
.hero-motion .hero-main{position:relative;z-index:2;}
.hero-motion .hero-bottom-row{z-index:2;}
.hero-sun{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
/* warm wash across the whole photo, strongest around the sun */
.hero-sun::before{content:'';position:absolute;inset:0;mix-blend-mode:soft-light;
  background:radial-gradient(1300px circle at var(--sx) var(--sy),rgba(255,150,50,.85),rgba(255,90,30,.35) 35%,rgba(60,20,60,.25) 70%,transparent 100%);transition:opacity .6s;}
/* horizon glow band */
.hero-sun::after{content:'';position:absolute;left:0;right:0;top:calc(var(--sy) - 120px);height:240px;mix-blend-mode:screen;
  background:radial-gradient(ellipse 60% 50% at var(--sx) 50%,rgba(255,170,80,.28),transparent 70%);}
.sun-core{position:absolute;left:var(--sx);top:var(--sy);width:640px;height:640px;transform:translate(-50%,-50%);border-radius:50%;mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(255,236,190,.95) 0,rgba(255,196,110,.75) 5%,rgba(255,150,60,.42) 14%,rgba(240,100,40,.18) 32%,transparent 62%);
  animation:sunBreath 6s ease-in-out infinite;}
@keyframes sunBreath{0%,100%{scale:1;}50%{scale:1.06;}}
.sun-flare{position:absolute;left:var(--fx,50%);top:var(--fy,50%);transform:translate(-50%,-50%);border-radius:50%;mix-blend-mode:screen;opacity:.75;}
.sun-flare.f1{width:90px;height:90px;--fx:var(--f1x);--fy:var(--f1y);background:radial-gradient(circle,rgba(255,200,120,.35),transparent 70%);}
.sun-flare.f2{width:46px;height:46px;--fx:var(--f2x);--fy:var(--f2y);background:radial-gradient(circle,transparent 45%,rgba(255,170,90,.35) 60%,transparent 72%);}
.sun-flare.f3{width:150px;height:150px;--fx:var(--f3x);--fy:var(--f3y);background:radial-gradient(circle,rgba(255,130,60,.16),transparent 65%);}
@media (prefers-reduced-motion: reduce){.sun-core{animation:none;}}

/* ===================== HOME TEASER CARDS: ICON + BUTTON ===================== */
.teaser-card{position:relative;overflow:hidden;padding:30px 28px 28px;}
.teaser-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright),var(--logo-gold));
  transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.teaser-card:hover::after{transform:scaleX(1);}
.tc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
.tc-ico{width:52px;height:52px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--gold-bright);
  background:color-mix(in srgb,var(--gold) 10%,transparent);border:1px solid var(--gold-dim);
  transition:transform .45s cubic-bezier(.3,1.6,.5,1),background .3s,color .3s,box-shadow .3s;}
.tc-ico svg{width:24px;height:24px;}
.teaser-card:hover .tc-ico{transform:rotate(-8deg) scale(1.1);background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#0a0a09;border-color:transparent;
  box-shadow:0 12px 26px -10px var(--gold);}
.tc-tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);
  padding:6px 11px;border:1px solid var(--line);border-radius:100px;transition:color .3s,border-color .3s;}
.teaser-card:hover .tc-tag{color:var(--gold-bright);border-color:var(--gold-dim);}
.card-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 18px;border:1px solid var(--line);border-radius:100px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--cream);
  transition:background .3s,color .3s,border-color .3s,padding .3s;}
.cb-arrow{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#0a0a09;
  transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .3s,color .3s;}
.cb-arrow svg{width:15px;height:15px;}
.teaser-card:hover .card-btn{background:var(--gold);border-color:var(--gold);color:#0a0a09;padding-left:22px;}
.teaser-card:hover .cb-arrow{background:#0a0a09;color:var(--gold-bright);transform:rotate(-45deg);}
.teaser-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
/* sunset tuning: softer wash, keep text crisp */
.hero-sun::before{opacity:.6;background:radial-gradient(1100px circle at var(--sx) var(--sy),rgba(255,150,50,.75),rgba(255,90,30,.25) 38%,transparent 75%);}
.sun-core{width:520px;height:520px;background:radial-gradient(circle,rgba(255,236,190,.85) 0,rgba(255,196,110,.55) 5%,rgba(255,150,60,.28) 15%,rgba(240,100,40,.1) 32%,transparent 60%);}
.hero-motion .hero-text h1,.hero-motion .hero-text p,.hero-motion .hero-text .role{text-shadow:0 2px 18px rgba(0,0,0,.55);}
.hero-motion .hero-text p{color:#d6cbb6;}

/* ===================== DESIGNED PAGE HEROES (no full-bleed photo) ===================== */
.page-hero.designed{--sx:80%;--sy:40%;background:var(--black);overflow:hidden;isolation:isolate;padding:130px 0 100px;}
.page-hero.designed::before{background:var(--grad-orange);opacity:.8;}
.page-hero.designed .hero-sun{z-index:0;}
.page-hero.designed .hero-sun::before{opacity:.45;}
.page-hero.designed .sun-core{width:460px;height:460px;opacity:.55;}
.page-hero.designed .hero-grid-lines{z-index:0;opacity:.6;}
body.light-theme .page-hero.designed .hero-grid-lines{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);}
body.light-theme .page-hero.designed .sun-core{opacity:.35;}
body.light-theme .page-hero.designed h1{color:var(--cream);}
body.light-theme .page-hero.designed p{color:var(--muted);}
body.light-theme .page-hero.designed .crumb a{color:var(--muted);}
.page-hero.designed .wrap{position:relative;z-index:2;}

/* split: text left, framed photo right */
.ph-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;}
@media(max-width:900px){.ph-grid{grid-template-columns:1fr;gap:48px;}.ph-photo{max-width:380px;}}
.page-hero.split{padding:110px 0 90px;}
.page-hero.split h1{font-size:clamp(40px,5.2vw,68px);}
.ph-photo{position:relative;margin:0;justify-self:end;width:100%;max-width:400px;}
@media(max-width:900px){.ph-photo{justify-self:start;}}
.ph-photo::before{content:'';position:absolute;inset:-14px -14px 14px 14px;border:1px solid var(--gold-dim);border-radius:30px;opacity:.6;transition:transform .5s;}
.ph-photo:hover::before{transform:translate(-6px,6px);}
.ph-frame{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 0 0 6px color-mix(in srgb,var(--gold) 7%,transparent);transition:transform .25s ease;will-change:transform;}
.ph-frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
.ph-photo:hover .ph-frame img{transform:scale(1.05);}
.ph-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(9,9,8,.45));pointer-events:none;}
.ph-badge{position:absolute;left:-30px;bottom:34px;display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:18px;
  background:rgba(18,16,13,.86);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 22px 44px -18px rgba(0,0,0,.7);animation:floatY 5s ease-in-out infinite;}
.ph-badge b{font-family:'Space Grotesk',sans-serif;font-size:22px;color:#ff9d42;line-height:1.1;}
.ph-badge span{font-size:11.5px;color:#cfc4ae;}
@media(max-width:520px){.ph-badge{left:12px;bottom:16px;}}
.page-hero.designed .sun-flare{opacity:.35;}
@media(max-width:900px){.ph-photo{max-width:340px;justify-self:center;margin-right:14px;}.ph-photo::before{inset:-10px -10px 10px 10px;}}

/* ===================== LEARNER SIGN-IN / REGISTRATION ===================== */
.learn-gate{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding:150px 16px 40px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--black) 55%,transparent),color-mix(in srgb,var(--black) 85%,transparent));backdrop-filter:blur(6px);}
html[data-gate="locked"] .player-grid,html[data-gate="pending"] .player-grid{filter:saturate(.6);pointer-events:none;user-select:none;}
.gate-card{width:100%;max-width:460px;padding:34px 30px 28px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:26px;
  box-shadow:var(--shadow-card);animation:riseIn .5s cubic-bezier(.2,.7,.2,1) both;}
.gate-ico{display:inline-flex;width:58px;height:58px;border-radius:18px;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px;
  background:color-mix(in srgb,var(--gold) 14%,transparent);border:1px solid var(--gold-dim);}
.gate-card h3{font-family:'Space Grotesk',sans-serif;font-size:24px;letter-spacing:-.4px;margin-bottom:10px;}
.gate-card>p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:22px;}
.gate-spin{width:34px;height:34px;margin:10px auto;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:rotate 1s linear infinite;}
.gate-msg{min-height:18px;margin-top:12px;font-size:13px;color:#ff6b66;}
.gate-link{background:none;border:none;color:var(--gold-bright);font:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:6px;}
.gate-link:hover{text-decoration:underline;}
.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:14px;background:#fff;color:#1f1f1f;
  border:1px solid #dadce0;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:box-shadow .2s,transform .2s;}
.google-btn:hover{box-shadow:0 8px 24px -10px rgba(0,0,0,.45);transform:translateY(-1px);}
.google-btn svg{width:22px;height:22px;}
.google-btn.small{width:auto;padding:9px 16px;font-size:13.5px;border-radius:100px;}
.google-btn.small svg{width:18px;height:18px;}
.reg-form{text-align:left;}
.reg-form .gate-ico,.reg-form h3{display:flex;margin-left:auto;margin-right:auto;justify-content:center;}
.reg-form h3{text-align:center;}
.reg-who{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:20px;}
.reg-who img{width:24px;height:24px;border-radius:50%;}
.reg-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.reg-field>span:first-child{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.3px;}
.reg-field input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--black-soft);color:var(--cream);
  font-family:'Inter',sans-serif;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s;}
.reg-field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent);}
.tg-input{display:flex;align-items:center;gap:6px;padding-left:12px;border:1px solid var(--line);border-radius:12px;background:var(--black-soft);transition:border-color .2s,box-shadow .2s;}
.tg-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent);}
.tg-input svg{width:18px;height:18px;color:#26A5E4;flex-shrink:0;}
.tg-input b{color:var(--muted);font-weight:600;}
.tg-input input{border:none;background:transparent;padding-left:0;box-shadow:none !important;}
.reg-field .err{display:none;font-size:12px;color:#ff6b66;}
.reg-field.invalid .err{display:block;}
.reg-field.invalid input,.reg-field.invalid .tg-input{border-color:#d9534f;}
.reg-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.55;margin:6px 0 18px;cursor:pointer;}
.reg-consent input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex-shrink:0;}
.reg-submit{width:100%;justify-content:center;border:none;cursor:pointer;}
.reg-submit:disabled{opacity:.6;cursor:wait;}
.reg-form .gate-link{display:block;margin:8px auto 0;}
.video-placeholder .play.locked{background:var(--card);border:1px solid var(--line);font-size:28px;box-shadow:none;}
.learner-bar,.learner-strip{margin:-10px 0 22px;}
.learner-strip{margin:34px 0 -40px;}
.ls-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--card);font-size:13.5px;color:var(--muted);}
.ls-inner img,.ls-av{width:28px;height:28px;border-radius:50%;}
.ls-av{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#0a0a09;font-weight:700;}
.ls-inner b{color:var(--cream);}
.ls-text{flex:1;min-width:200px;}
.ls-inner .gate-link{margin:0;}
@media(max-width:600px){.learn-gate{padding-top:110px;}.gate-card{padding:28px 20px 22px;}}
html[data-gate="locked"] .player-section,html[data-gate="pending"] .player-section{min-height:940px;}
