/* =========================================================
   TRADING TIMES ACADEMY — SHARED SITE DESIGN SYSTEM
   Single source of truth for typography, navbar, footer,
   cards, buttons, reviews + blog layout and responsiveness.
   Loaded LAST on every page so it stays consistent site-wide.
   ========================================================= */

/* ---------- 1. TOKENS ---------- */
:root{
  --ink:#FFFFFF;
  --paper:#FFFFFF;
  --paper-2:#F7F9FC;
  --panel:#F7F9FC;

  --navy:#0B1220;
  --navy-2:#12203A;

  --accent:#2FA36B;
  --accent-dark:#1E7C52;
  --accent-soft:#E8F7EF;
  --gold:#C9A227;
  --risk:#B3261E;

  --text-lt:#0B1220;
  --text-lt-dim:#3C4657;
  --text-dk:#0B1220;
  --text-dk-dim:#3C4657;
  --text-muted:#5A6577;

  --rule:#E2E8F0;
  --rule-lt:#E7ECF3;

  --radius:14px;
  --radius-lg:18px;
  --radius-pill:999px;

  --shadow-sm:0 2px 8px rgba(11,18,32,.05);
  --shadow-md:0 10px 26px rgba(11,18,32,.08);
  --shadow-lg:0 18px 44px rgba(11,18,32,.12);

  --nav-h:74px;

  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Manrope', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}

/* ---------- 2. BASE / TYPOGRAPHY ---------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--text-dk);
  line-height:1.7;
  font-weight:500;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body,html{max-width:100%;}
img,svg,video,iframe{max-width:100%;}
img{height:auto;}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display) !important;
  color:var(--text-dk);
  line-height:1.22;
  letter-spacing:-.015em;
  overflow-wrap:anywhere;
}
h1{font-weight:700;}
h2,h3{font-weight:700;}
h4,h5,h6{font-weight:600;}
h1{font-size:clamp(30px,4.2vw,50px);}
h2{font-size:clamp(24px,3vw,36px);}
h3{font-size:clamp(20px,2.2vw,26px);}
h4{font-size:clamp(16px,1.4vw,19px);}
h5{font-size:14px;letter-spacing:.06em;text-transform:uppercase;}

p,li,td,th,dd,dt,label,figcaption{
  font-weight:500;
  color:var(--text-dk);
  overflow-wrap:break-word;
}
p{max-width:74ch;}
small{font-weight:500;color:var(--text-muted);}
strong,b{font-weight:700;color:var(--text-dk);}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;width:100%;}

.eyebrow{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-dark) !important;
}

/* readable dim text everywhere (was too light / too heavy) */
.lead,
.hero p.lead{color:var(--text-lt-dim) !important;font-weight:500 !important;font-size:17px;}
.card p,
.trust span,
.hero-badge span,
.video-card span,
.course-card .meta,
.course-card ul,
.review-note{color:var(--text-dk-dim) !important;}

/* content should never depend on JS to appear */
[data-reveal],
[data-reveal].reveal-armed,
[data-reveal].reveal-armed.is-visible{opacity:1 !important;visibility:visible !important;transform:none !important;}

/* ---------- 3. BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;
  border-radius:var(--radius-pill);
  font-family:var(--font-body);
  font-weight:700;
  font-size:15px;
  line-height:1.2;
  cursor:pointer;
  border:1px solid transparent;
  text-align:center;
  max-width:100%;
  white-space:normal;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease,border-color .16s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:#FFFFFF !important;box-shadow:0 8px 20px rgba(47,163,107,.24);}
.btn-primary:hover{background:var(--accent-dark);color:#FFFFFF !important;}
.btn-ghost,
.btn-ghost-dark{background:transparent;border-color:var(--rule);color:var(--text-dk) !important;}
.btn-ghost:hover,
.btn-ghost-dark:hover{border-color:var(--accent);color:var(--accent-dark) !important;background:var(--accent-soft);}

/* ---------- 4. TICKER ---------- */
.ticker{
  background:var(--navy) !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  overflow:hidden;white-space:nowrap;padding:8px 0;
}
.ticker-track{
  display:inline-flex;gap:44px;
  font-family:var(--font-mono);
  font-size:12.5px;font-weight:500;
  color:rgba(255,255,255,.82) !important;
  animation:scroll-left 34s linear infinite;
}
.ticker-track span{color:#5FD39B !important;font-weight:600;}

/* ---------- 5. MASTER NAVBAR (identical on every page) ---------- */
header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:rgba(11,18,32,.97) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  width:100%;
}
.nav-wrap{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  min-height:var(--nav-h) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:10px 24px !important;
  position:relative;
}
.logo,
.logo:hover,
.logo:focus,
.logo:active{
  color:#FFFFFF !important;
  font-family:var(--font-display) !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:-.01em;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-width:0;
  flex:0 1 auto;
  text-decoration:none !important;
  background:transparent !important;
  transform:none !important;
  box-shadow:none !important;
}
.logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.logo-mark{
  width:82px !important;height:72px !important;min-width:82px !important;
  border-radius:0 !important;
  object-fit:contain !important;
  background:transparent !important;
  display:block !important;
  border:0 !important;
}
nav#main-nav ul,
header nav ul{
  display:flex !important;align-items:center !important;
  gap:26px !important;margin:0 !important;padding:0 !important;list-style:none !important;
}
header nav a{
  color:rgba(255,255,255,.80) !important;
  font-family:var(--font-body) !important;
  font-size:14.5px !important;
  font-weight:600 !important;
  white-space:nowrap;
  position:relative;
  padding:4px 0;
  transition:color .18s ease;
}
header nav a:hover,
header nav a:focus-visible{color:#FFFFFF !important;}
header nav a.nav-active{color:#FFFFFF !important;}
header nav a.nav-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;
  height:3px;border-radius:99px;background:var(--accent);
}
.nav-cta{display:flex !important;align-items:center !important;gap:12px !important;flex-shrink:0;}
.nav-cta .btn-primary{padding:10px 18px !important;font-size:13.5px !important;white-space:nowrap;}
.hamburger{
  display:none !important;
  width:44px;height:42px;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  background:transparent !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:10px !important;cursor:pointer;
}
.hamburger span{display:block;width:20px;height:2px;background:#FFFFFF !important;border-radius:2px;}

/* tablet + mobile nav */
@media (max-width:1000px){
  .nav-wrap{padding:10px 18px !important;}
  header nav#main-nav,
  header nav{display:none !important;}
  .nav-cta .btn-primary{display:none !important;}
  .hamburger{display:flex !important;}

  header nav#main-nav.nav-open,
  header nav.nav-open{
    display:block !important;
    position:absolute !important;
    top:100% !important;left:0 !important;right:0 !important;
    background:#0B1220 !important;
    padding:8px 20px 20px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 20px 34px rgba(0,0,0,.28);
    max-height:calc(100vh - var(--nav-h));
    overflow-y:auto;
  }
  header nav#main-nav.nav-open ul,
  header nav.nav-open ul{
    display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:0 !important;
  }
  header nav#main-nav.nav-open a,
  header nav.nav-open a{
    display:block !important;
    padding:14px 2px !important;
    font-size:15px !important;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  header nav.nav-open a.nav-active{color:#5FD39B !important;}
  header nav.nav-open a.nav-active::after{display:none !important;}
}
@media (max-width:520px){
  .nav-wrap{padding:8px 14px !important;}
  .logo,.logo:hover{font-size:15.5px !important;}
  .logo span{max-width:180px;}
  .logo-mark{width:70px !important;height:60px !important;min-width:70px !important;}
  .ticker-track{gap:24px;font-size:11px;}
}

/* ---------- 6. SECTIONS / CARDS ---------- */
section{padding:80px 0;}
@media(max-width:900px){section{padding:60px 0;}}
@media(max-width:600px){section{padding:46px 0;}}
.section-head{max-width:680px;margin-bottom:44px;}
.section-head h2{margin-top:10px;}

.card{
  background:#FFFFFF;
  border:1px solid var(--rule-lt);
  border-radius:var(--radius-lg) !important;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-color:#CFE7DA;
  box-shadow:var(--shadow-md);
}
.card h4{margin-bottom:8px;}
.card p{font-size:14.5px;line-height:1.7;}
.card strong,.card b{color:var(--accent-dark);}

.who-card,.video-card,.course-card,.candle-card,.faq-item{border-radius:var(--radius-lg) !important;}

/* price emphasis (kept from existing brand treatment) */
.price-new,.detail-new-price,.course-price .new,.new-price{
  color:#C2251C !important;font-weight:800 !important;
}
.price-saving{color:#B91C1C !important;font-weight:700 !important;}
.price-highlight,.detail-price-box{border-radius:var(--radius-lg) !important;}

mark,.highlight,.text-highlight,.key-point{
  background:#FFF3B0 !important;color:#111827 !important;
  border-radius:6px;padding:2px 7px;font-weight:700;
}

/* ---------- 7. REVIEWS PAGE ---------- */
.review-intro-grid{
  display:grid;
  grid-template-columns:1.45fr .85fr;
  gap:26px;align-items:stretch;
  margin:0 0 34px;
}
.review-highlight-box{
  background:linear-gradient(160deg,#F2FBF6,#E8F7EF);
  border:1px solid #C7E8D6;
  border-radius:20px;
  padding:26px;
  display:flex;flex-direction:column;justify-content:center;gap:8px;
  box-shadow:var(--shadow-sm);
}
.review-highlight-box strong{font-size:18px !important;color:var(--accent-dark) !important;}
.review-highlight-box span:not(.review-quote-icon){color:#2E4A3F !important;font-size:14px;line-height:1.7;}
.review-quote-icon{
  font-family:Georgia,serif;font-size:54px;line-height:.65;
  color:var(--accent) !important;display:block;
}

.review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.review-card{
  background:#FFFFFF;
  border:1px solid #CFE7DA;
  border-top:5px solid var(--accent);
  border-radius:20px;
  padding:26px 26px 22px;
  box-shadow:0 12px 30px rgba(47,163,107,.10),var(--shadow-md);
  display:flex;flex-direction:column;
  height:100%;min-height:0;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.review-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:#C7E8D6;
  border-top-color:var(--accent-dark);
}
.review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.review-icon{
  width:58px;height:58px;flex-shrink:0;
  border-radius:17px;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-soft);color:var(--accent-dark) !important;font-size:22px;
  border:2px solid #9BD6B7;
  box-shadow:0 0 0 5px rgba(47,163,107,.08),0 8px 16px rgba(47,163,107,.14);
}
.review-tag{
  font-family:var(--font-mono);
  font-size:11px !important;font-weight:600 !important;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-dark) !important;
  background:#F2FBF6;border:1px solid #CFE7DA;border-radius:var(--radius-pill);
  padding:5px 10px;white-space:nowrap;
}
.review-stars{
  color:#D8A82A !important;
  letter-spacing:4px;font-size:20px;line-height:1;
  margin-bottom:14px;
}
.review-card blockquote{
  margin:0;padding:0;border:0;
  color:#26303F !important;
  font-size:14.8px;line-height:1.8;font-weight:500;
  flex:1 1 auto;max-width:none;overflow:visible;
}
.review-person{
  border-top:1px solid var(--rule);
  margin-top:18px;padding-top:15px;
  display:flex;flex-direction:column;gap:2px;
}
.review-person strong{font-size:15px !important;color:var(--text-dk) !important;font-weight:700 !important;}
.review-person span{font-size:12.5px !important;color:var(--text-muted) !important;font-weight:500 !important;}

.review-themes{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;
}
.review-themes div{
  border:1px solid var(--rule-lt);border-radius:16px;padding:16px;
  background:#FFFFFF;box-shadow:var(--shadow-sm);
  display:flex;align-items:center;gap:11px;min-width:0;
  transition:transform .18s ease,box-shadow .18s ease;
}
.review-themes div:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.review-themes i{
  width:44px;height:44px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:2px solid #9BD6B7;border-radius:13px;
  color:var(--accent-dark);font-size:19px;
  background:var(--accent-soft);
  box-shadow:0 0 0 5px rgba(47,163,107,.08),0 7px 14px rgba(47,163,107,.14);
}
.review-themes div:nth-child(2) i{color:#9A6900;background:#FFF7D6;border-color:#E6C867;box-shadow:0 0 0 5px rgba(201,162,39,.10),0 7px 14px rgba(201,162,39,.16);}
.review-themes div:nth-child(3) i{color:#24558A;background:#EAF3FC;border-color:#A9C9E8;box-shadow:0 0 0 5px rgba(36,85,138,.08),0 7px 14px rgba(36,85,138,.14);}
.review-themes div:nth-child(4) i{color:#A64B25;background:#FFF0E8;border-color:#E7B08D;box-shadow:0 0 0 5px rgba(166,75,37,.08),0 7px 14px rgba(166,75,37,.14);}
.review-themes span{font-size:13px;font-weight:600;color:var(--text-dk);min-width:0;}
.review-note{
  margin-top:26px;max-width:900px;
  font-size:13px;line-height:1.7;color:var(--text-muted) !important;
  background:var(--paper-2);border:1px solid var(--rule-lt);border-radius:14px;padding:16px 18px;
}
.review-note strong{color:var(--accent-dark) !important;}

/* ---------- REVIEWS ICON STYLE ---------- */
body[data-page="reviews"] .review-icon{
  position:relative;
  width:62px;height:62px;
  border:0 !important;
  border-radius:50%;
  color:#FFFFFF !important;
  font-size:23px;
  background:linear-gradient(145deg,#3FC383,#18794E) !important;
  box-shadow:0 0 0 6px rgba(47,163,107,.11),0 10px 22px rgba(47,163,107,.24);
  transition:transform .22s ease,box-shadow .22s ease;
}
body[data-page="reviews"] .review-icon::after{
  content:"";
  position:absolute;inset:5px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
}
body[data-page="reviews"] .review-icon i{position:relative;z-index:1;}
body[data-page="reviews"] .review-card:hover .review-icon{
  transform:rotate(-8deg) scale(1.1);
  box-shadow:0 0 0 8px rgba(47,163,107,.14),0 14px 28px rgba(47,163,107,.32);
}
body[data-page="reviews"] .review-card:nth-child(3n + 2) .review-icon{
  background:linear-gradient(145deg,#E2B84B,#A66D08) !important;
  box-shadow:0 0 0 6px rgba(201,162,39,.12),0 10px 22px rgba(201,162,39,.25);
}
body[data-page="reviews"] .review-card:nth-child(3n) .review-icon{
  background:linear-gradient(145deg,#5A9BD6,#24558A) !important;
  box-shadow:0 0 0 6px rgba(36,85,138,.11),0 10px 22px rgba(36,85,138,.24);
}
body[data-page="reviews"] .review-themes i{
  width:50px;height:50px;
  border:0;
  border-radius:15px;
  color:#FFFFFF;
  font-size:21px;
  background:linear-gradient(145deg,#3FC383,#18794E);
  box-shadow:0 6px 16px rgba(47,163,107,.22);
  transition:transform .2s ease,box-shadow .2s ease;
}
body[data-page="reviews"] .review-themes div:hover i{
  transform:rotate(-6deg) scale(1.08);
  box-shadow:0 9px 20px rgba(47,163,107,.3);
}
body[data-page="reviews"] .review-themes div:nth-child(2) i{background:linear-gradient(145deg,#E2B84B,#A66D08);box-shadow:0 6px 16px rgba(201,162,39,.24);}
body[data-page="reviews"] .review-themes div:nth-child(3) i{background:linear-gradient(145deg,#5A9BD6,#24558A);box-shadow:0 6px 16px rgba(36,85,138,.24);}
body[data-page="reviews"] .review-themes div:nth-child(4) i{background:linear-gradient(145deg,#E18A5C,#A64B25);box-shadow:0 6px 16px rgba(166,75,37,.24);}

@media(max-width:1000px){
  .review-intro-grid{grid-template-columns:1fr;}
  .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .review-themes{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .review-grid{grid-template-columns:1fr;}
  .review-card{padding:22px 20px 20px;}
  .review-icon{width:56px;height:56px;font-size:21px;}
}
@media(max-width:480px){
  .review-themes{grid-template-columns:1fr;}
}

/* ---------- REVIEWS PAGE TYPOGRAPHY ---------- */
body[data-page="reviews"] > section p,
body[data-page="reviews"] > section li,
body[data-page="reviews"] > section span,
body[data-page="reviews"] > section blockquote,
body[data-page="reviews"] > section figcaption,
body[data-page="reviews"] > .disclaimer .container{
  font-weight:700 !important;
}

/* ---------- ABOUT PAGE TYPOGRAPHY + ICONS ---------- */
body[data-page="about"] > section p,
body[data-page="about"] > section li,
body[data-page="about"] > section span,
body[data-page="about"] > section figcaption,
body[data-page="about"] > section a,
body[data-page="about"] > section button,
body[data-page="about"] > .trust b,
body[data-page="about"] > .trust span,
body[data-page="about"] > .trust a,
body[data-page="about"] > .disclaimer .container{
  font-weight:700 !important;
}
body[data-page="about"] .card .ic{
  width:48px !important;height:48px !important;
  border:2px solid #9BD6B7 !important;
  border-radius:14px !important;
  background:var(--accent-soft) !important;
  color:var(--accent-dark) !important;
  font-size:20px !important;
  box-shadow:0 0 0 5px rgba(47,163,107,.08),0 8px 16px rgba(47,163,107,.14);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
body[data-page="about"] .card:hover .ic{
  transform:none !important;
  background:var(--accent-soft) !important;
  color:var(--accent-dark) !important;
  box-shadow:0 0 0 5px rgba(47,163,107,.08),0 8px 16px rgba(47,163,107,.14) !important;
}
body[data-page="about"] .vision-mission-grid .card:nth-child(2) .ic,
body[data-page="about"] .vision-mission-grid .card:nth-child(2):hover .ic{
  color:#24558A !important;background:#EAF3FC !important;border-color:#A9C9E8 !important;
  box-shadow:0 0 0 5px rgba(36,85,138,.08),0 8px 16px rgba(36,85,138,.14);
}

/* ---------- 8. BLOG PAGE ---------- */
body[data-page="blog"] .cards-4{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch;
}
body[data-page="blog"] .cards-4 > .card{
  display:flex;flex-direction:column;
  padding:0 !important;
  overflow:hidden !important;
  background:#FFFFFF;
  border:1px solid var(--rule-lt);
  border-radius:20px !important;
  box-shadow:var(--shadow-sm);
  height:100%;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
body[data-page="blog"] .cards-4 > .card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:#CFE7DA;
}
/* cover / thumbnail block (first child div) */
body[data-page="blog"] .cards-4 > .card > div:first-child{
  position:relative;
  aspect-ratio:16/9 !important;
  background:linear-gradient(135deg,#12203A 0%,#0B1220 60%,#123A2A 100%) !important;
  overflow:hidden;
}
body[data-page="blog"] .cards-4 > .card > div:first-child::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:34px 34px;
}
body[data-page="blog"] .cards-4 > .card > div:first-child::before{
  content:"\f201";
  font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:18px;bottom:14px;z-index:1;
  font-size:26px;color:rgba(95,211,155,.55);
}
/* body of the card */
body[data-page="blog"] .cards-4 > .card > div:last-child{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:22px !important;gap:2px;
}
body[data-page="blog"] .cards-4 > .card .eyebrow{
  display:inline-block;
  font-size:11px !important;
  color:var(--accent-dark) !important;
  background:var(--accent-soft);
  border-radius:var(--radius-pill);
  padding:5px 11px;
  margin-bottom:12px;
  align-self:flex-start;
}
body[data-page="blog"] .cards-4 > .card h4{
  font-size:18px !important;
  line-height:1.35;
  margin:0 0 10px !important;
  color:var(--text-dk) !important;
  transition:color .18s ease;
}
body[data-page="blog"] .cards-4 > .card:hover h4{color:var(--accent-dark) !important;}
body[data-page="blog"] .cards-4 > .card p{
  font-size:14.5px !important;
  line-height:1.75;
  color:var(--text-dk-dim) !important;
  margin:0 0 18px !important;
  max-width:none;
  flex:1 1 auto;
}
/* meta row: author + read time */
body[data-page="blog"] .cards-4 > .card > div:last-child > div:last-child{
  display:flex !important;align-items:center;justify-content:space-between !important;
  gap:10px;flex-wrap:wrap;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid var(--rule-lt);
  font-family:var(--font-mono) !important;
  font-size:11.5px !important;
  letter-spacing:.03em;
  color:var(--text-muted) !important;
  min-width:0;
}
body[data-page="blog"] .cards-4 > .card > div:last-child > div:last-child span{
  color:var(--text-muted) !important;font-weight:600;min-width:0;overflow-wrap:anywhere;
}
@media(max-width:1000px){
  body[data-page="blog"] .cards-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:680px){
  body[data-page="blog"] .cards-4{grid-template-columns:1fr !important;gap:20px !important;}
}

/* ---------- 9. FOOTER (identical on every page) ---------- */
footer{
  background:#0B1220 !important;
  color:rgba(255,255,255,.78) !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  padding:56px 0 26px !important;
}
footer .foot-grid{
  display:grid !important;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr !important;
  gap:30px !important;
  align-items:start;
}
footer .logo,
footer .logo:hover{
  color:#FFFFFF !important;
  font-size:17px !important;
  margin-bottom:14px !important;
}
footer .logo span{color:#FFFFFF !important;}
footer .logo-mark{
  width:82px !important;height:72px !important;min-width:82px !important;
  border:0 !important;
}
footer p,
footer li,
footer .social-label{
  color:rgba(255,255,255,.72) !important;
  font-size:13.5px !important;
  font-weight:500 !important;
  line-height:1.75;
}
footer h5{
  color:#FFFFFF !important;
  font-family:var(--font-display) !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:14px !important;
}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px;padding:0;margin:0;}
footer a{color:rgba(255,255,255,.72) !important;transition:color .16s ease;}
footer a:hover{color:#5FD39B !important;}
footer .btn-ghost-dark{
  border-color:rgba(255,255,255,.28) !important;
  color:#FFFFFF !important;
}
footer .btn-ghost-dark:hover{
  background:var(--accent) !important;border-color:var(--accent) !important;color:#FFFFFF !important;
}
footer .social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
footer .social-link{
  width:40px;height:40px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#FFFFFF !important;font-size:16px;
  transition:all .18s ease;
}
footer .social-link:hover{
  background:var(--accent) !important;border-color:var(--accent) !important;
  color:#FFFFFF !important;transform:translateY(-2px);
}
footer .foot-bottom{
  margin-top:36px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;
  font-size:12.5px;
}
footer .foot-bottom,
footer .foot-bottom span{color:rgba(255,255,255,.65) !important;font-weight:500 !important;}

@media(max-width:1000px){
  footer .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:26px !important;}
}
@media(max-width:680px){
  footer{padding:44px 0 22px !important;}
  footer .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  footer .foot-bottom{flex-direction:column;text-align:left;}
}
@media(max-width:420px){
  footer .foot-grid{grid-template-columns:1fr !important;}
}

/* disclaimer strip */
.disclaimer{
  background:var(--paper-2);
  border-top:1px solid var(--rule-lt);
  border-bottom:1px solid var(--rule-lt);
  padding:18px 0;
  font-size:12.5px;line-height:1.7;
  color:var(--text-muted) !important;
}
.disclaimer .container{max-width:1180px;}

/* ---------- 10. FLOATING WHATSAPP ---------- */
.wa-float{z-index:9998;}
.wa-float svg{fill:#FFFFFF;}

/* ---------- 11. GLOBAL RESPONSIVE / OVERFLOW SAFETY ---------- */
*{min-width:0;}
table{display:block;width:100%;overflow-x:auto;}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere;}
.hero,.hero-inner,.container,section{max-width:100%;}
.hero-ctas{flex-wrap:wrap;}
.hero-badges{gap:22px;}
@media(max-width:600px){
  .btn{width:auto;font-size:14.5px;padding:12px 18px;}
  .hero-ctas .btn{flex:1 1 auto;}
  .hero-badges{gap:16px;}
  .container{padding:0 16px;}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* ---------- 12. PAGE-COMPONENT CONTRAST FIXES ----------
   These components were authored for a dark background but the site now
   renders on white — text was effectively invisible. Colors realigned. */
.meta-badge{
  background:var(--paper-2) !important;
  border:1px solid var(--rule-lt) !important;
  color:var(--text-dk) !important;
  font-weight:600 !important;
  font-size:11.5px !important;
  padding:7px 11px !important;
  border-radius:var(--radius-pill) !important;
}
.meta-badge i{color:var(--accent-dark) !important;}
.price-gst,
.price-note{
  color:var(--text-muted) !important;
  font-size:12px !important;
  font-weight:500 !important;
}
.price-label,.detail-price-label{color:var(--text-muted) !important;}
.price-old,.course-price .old,.detail-old-price{color:#8A93A3 !important;}

/* icon chips on light cards */
.card .ic,
.exp-item .ic,
.mentor-stat .ic{
  background:var(--accent-soft) !important;
  color:var(--accent-dark) !important;
}
.card:hover .ic{background:var(--accent) !important;color:#FFFFFF !important;}
.contact-info .ic,
.video-thumb .play{background:var(--accent) !important;color:#FFFFFF !important;}
.social-link:hover{color:#FFFFFF !important;background:var(--accent) !important;border-color:var(--accent) !important;}
.wa-tooltip{background:#0B1220 !important;color:#FFFFFF !important;}

/* credential / chip lists */
.cred-item,.tag,.mentor-tags span,.chip{
  background:var(--paper-2) !important;
  border:1px solid var(--rule-lt) !important;
  color:var(--text-dk) !important;
}
.cred-item i,.chip i{color:var(--accent-dark) !important;}

/* legal / policy pages: keep long-form copy readable */
.policy,.policy p,.policy li,.legal-body p,.legal-body li{
  color:var(--text-dk) !important;font-size:15px;line-height:1.85;
}

/* dark inverse sections keep light text */
.courses-wrap.is-dark,.section-dark{background:var(--navy) !important;}
.section-dark,.section-dark p,.section-dark li,.section-dark h2,.section-dark h3{color:#FFFFFF !important;}

/* Mentor profile color key: market, learning, technology, and partners. */
.mentor-stat .ic,
.cred-item .dot,
.exp-item .ic,
.mentor-partners .partner-icon{border:1px solid currentColor !important;}
.mentor-stat .ic,.mentor-stat b{color:#4EA1FF !important;background:rgba(78,161,255,.16) !important;}
.stat-market .ic,.stat-market b{color:#42C98A !important;background:rgba(66,201,138,.16) !important;}
.stat-teaching .ic,.stat-teaching b{color:#F2B84B !important;background:rgba(242,184,75,.16) !important;}
.stat-students .ic,.stat-students b{color:#F07862 !important;background:rgba(240,120,98,.16) !important;}
.cred-item .dot{color:#6C8CFF !important;background:rgba(108,140,255,.16) !important;}
.cred-advisory .dot,.cred-portfolio .dot{color:#42C98A !important;background:rgba(66,201,138,.16) !important;}
.cred-equity .dot,.cred-research .dot{color:#4EA1FF !important;background:rgba(78,161,255,.16) !important;}
.cred-commodity .dot,.cred-fund .dot{color:#F2B84B !important;background:rgba(242,184,75,.16) !important;}
.cred-planner .dot{color:#F07862 !important;background:rgba(240,120,98,.16) !important;}
.exp-item .ic{color:#fff !important;}
.exp-fintech .ic,.exp-python .ic,.exp-data .ic{background:#29A9C7 !important;}
.exp-ai .ic,.exp-series .ic{background:#8A72D8 !important;}
.exp-risk .ic,.exp-portfolio .ic{background:#E46B5D !important;}
.exp-strategy .ic,.exp-analysis .ic{background:#D39A2C !important;}
.mentor-partners span{border-color:rgba(255,255,255,.2) !important;}
.partner-alice .partner-icon{color:#4EA1FF !important;}
.partner-angel .partner-icon{color:#42C98A !important;}
.partner-zebu .partner-icon{color:#F2B84B !important;}
.partner-zerodha .partner-icon{color:#F07862 !important;}
.partner-goodwill .partner-icon{color:#8A72D8 !important;}

/* contrast polish: gold/star + muted price text on light surfaces */
.review-stars,.stars,.star-row{color:#B4830E !important;}
.price-old,.course-price .old,.detail-old-price,.old{color:#5F6875 !important;}

/* ==========================================================================
   BODY CONTENT TEXT OVERRIDE — black + bold on body content only
   Navbar, footer, and dark buttons remain unchanged.
   Remove this block to go back to the previous typography.
   ========================================================================== */
section, main, article, .policy, .legal-body,
section *, main *, article *, .policy *, .legal-body *:not(i):not(svg):not(path) {
  color: #000 !important;
  font-weight: 700 !important;
}

/* Keep dark sections, navbar, footer, and dark buttons readable. */
.section-dark, .section-dark *,
.courses-wrap.is-dark, .courses-wrap.is-dark *,
#main-nav, #main-nav *,
header, header *,
footer, footer *,
.btn-primary, .btn-primary *,
.dark-section, .dark-section * {
  color: #fff !important;
}

/* ---------- COURSES PAGE ICONS + PRICE MOTION ---------- */
body[data-page="courses"] section p,
body[data-page="courses"] section li,
body[data-page="courses"] section span,
body[data-page="courses"] section a,
body[data-page="courses"] section button,
body[data-page="courses"] .disclaimer .container{
  font-weight:700 !important;
}
body[data-page="courses"] .course-meta .meta-badge i{
  width:40px;height:40px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;
  color:#FFFFFF !important;
  background:linear-gradient(145deg,#3FC383,#18794E) !important;
  font-size:18px;
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 0 0 4px rgba(47,163,107,.10),0 7px 15px rgba(47,163,107,.24);
}
body[data-page="courses"] .course-meta .meta-badge:nth-child(1) i{
  background:linear-gradient(145deg,#67A9E3,#24558A) !important;
  box-shadow:0 0 0 4px rgba(36,85,138,.10),0 7px 15px rgba(36,85,138,.24);
}
body[data-page="courses"] .course-meta .meta-badge:nth-child(2) i{
  background:linear-gradient(145deg,#3FC383,#18794E) !important;
  box-shadow:0 0 0 4px rgba(47,163,107,.10),0 7px 15px rgba(47,163,107,.24);
}
body[data-page="courses"] .course-meta .meta-badge:nth-child(3) i{
  background:linear-gradient(145deg,#E2B84B,#A66D08) !important;
  box-shadow:0 0 0 4px rgba(201,162,39,.10),0 7px 15px rgba(201,162,39,.24);
}
body[data-page="courses"] .course-meta .meta-badge i.fa-user-tie{
  background:linear-gradient(145deg,#E18A5C,#A64B25) !important;
  box-shadow:0 0 0 4px rgba(166,75,37,.10),0 7px 15px rgba(166,75,37,.24);
}
body[data-page="courses"] .price-highlight{
  isolation:isolate;
  animation:course-price-pulse 3.8s ease-in-out infinite;
}
body[data-page="courses"] .price-highlight::after{
  content:"";
  position:absolute;
  top:0;bottom:0;left:-35%;width:18%;
  z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
  transform:skewX(-18deg);
  animation:course-price-sheen 4.8s ease-in-out infinite;
}
body[data-page="courses"] .price-new{
  display:inline-block;
  animation:course-price-pop 2.8s ease-in-out infinite;
}
body[data-page="courses"] .price-new,
body[data-page="courses"] .detail-new-price,
body[data-page="courses"] .price-saving{
  color:#C2251C !important;
}
body[data-page="courses"] .price-saving{
  animation:red-price-tag-pulse 2.8s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(194,37,28,0);
}
body[data-page="courses"] .price-new,
body[data-page="courses"] .detail-new-price{
  text-shadow:0 0 0 rgba(194,37,28,0);
  animation:red-price-value-pulse 2.8s ease-in-out infinite;
}
@keyframes course-price-pulse{
  0%,100%{box-shadow:0 0 0 rgba(47,163,107,0),0 2px 8px rgba(11,18,32,.04);}
  50%{box-shadow:0 0 0 5px rgba(47,163,107,.09),0 12px 24px rgba(47,163,107,.16);}
}
@keyframes course-price-sheen{
  0%,35%{left:-35%;opacity:0;}
  45%{opacity:1;}
  70%,100%{left:125%;opacity:0;}
}
@keyframes course-price-pop{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.045);}
}
@keyframes red-price-tag-pulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(194,37,28,0);}
  50%{transform:scale(1.06);box-shadow:0 0 0 5px rgba(194,37,28,.12);}
}
@keyframes red-price-value-pulse{
  0%,100%{transform:scale(1);text-shadow:0 0 0 rgba(194,37,28,0);}
  50%{transform:scale(1.045);text-shadow:0 4px 12px rgba(194,37,28,.22);}
}
@media(prefers-reduced-motion:reduce){
  body[data-page="courses"] .price-highlight,
  body[data-page="courses"] .price-highlight::after,
  body[data-page="courses"] .price-new,
  body[data-page="courses"] .detail-new-price,
  body[data-page="courses"] .price-saving{animation:none !important;}
}

/* ---------- HOME PROFESSIONAL ICONS ---------- */
body[data-page="home"] .mentor-stat .ic,
body[data-page="home"] .cred-item .dot,
body[data-page="home"] .exp-item .ic,
body[data-page="home"] .mfeat .ic{
  width:44px !important;height:44px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center;justify-content:center;
  font-size:18px !important;
  border:2px solid currentColor !important;
  box-shadow:0 0 0 4px rgba(47,163,107,.08),0 7px 16px rgba(11,18,32,.18);
}
body[data-page="home"] .mentor-stat .ic{margin:0 auto 8px;}
body[data-page="home"] .cred-item .dot{margin-top:0;}
body[data-page="home"] .exp-item .ic,
body[data-page="home"] .mfeat .ic{margin:0 auto 9px;}
body[data-page="home"] .mentor-partners > span{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px !important;
  border-radius:11px !important;
}
body[data-page="home"] .mentor-partners .partner-icon{
  width:32px;height:32px;margin-right:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:2px solid currentColor !important;
  border-radius:9px;
  object-fit:contain;
  padding:4px;
  background:#FFFFFF;
}
body[data-page="home"] .partner-alice{border-color:#4EA1FF !important;color:#4EA1FF !important;background:rgba(78,161,255,.10) !important;}
body[data-page="home"] .partner-alice .partner-icon{background:rgba(78,161,255,.18);}
body[data-page="home"] .partner-angel{border-color:#42C98A !important;color:#42C98A !important;background:rgba(66,201,138,.10) !important;}
body[data-page="home"] .partner-angel .partner-icon{background:rgba(66,201,138,.18);}
body[data-page="home"] .partner-zebu{border-color:#F2B84B !important;}
body[data-page="home"] .partner-zerodha{border-color:#F07862 !important;}
body[data-page="home"] .partner-goodwill{border-color:#8A72D8 !important;}
