/* TaTa School — additive styles. Reuses main.css variables & base. */
:root { --blue-glow: #8fb8ff; --blue-dim: rgba(143, 184, 255, 0.55); }

/* nav active state */
#nav-links a.active span { color: #fff; }
#nav-links a.active { position: relative; }
#nav-links a.active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
  background: var(--blue-glow); border-radius: 2px;
  box-shadow: 0 0 12px var(--blue-dim);
}

/* pale blue glowing text */
.glow-blue {
  color: #dbe9ff;
  text-shadow: 0 0 18px rgba(143, 184, 255, 0.45), 0 0 46px rgba(143, 184, 255, 0.18);
}

/* image placeholders */
.img-ph {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 220px; padding: 28px;
  border: 1px dashed rgba(143, 184, 255, 0.35); border-radius: 16px;
  background: rgba(143, 184, 255, 0.04);
  color: var(--ink-3); font-size: 13px; letter-spacing: 0.04em;
}
.img-ph::before { content: attr(data-ph); max-width: 420px; line-height: 1.7; }
.img-ph.tall { min-height: 420px; }
.img-ph.wide { min-height: 180px; margin-top: 36px; }
.img-ph.badge {
  min-height: 150px; width: 150px; margin: 0 auto;
  border: 1px solid var(--blue-glow); border-style: solid; border-radius: 50%;
  box-shadow: 0 0 24px rgba(143, 184, 255, 0.25), inset 0 0 24px rgba(143, 184, 255, 0.08);
}

/* hero */
.sch-hero { position: relative; min-height: 92vh; display: flex; align-items: center; overflow: hidden; }
.sch-hero-bg { position: absolute; inset: 0; }
.sch-hero-bg .img-ph { height: 100%; min-height: 100%; border: none; border-radius: 0; }
.sch-hero-inner { position: relative; text-align: center; padding-top: 120px; }
.sch-title {
  font-size: clamp(52px, 9vw, 110px); font-weight: 800; letter-spacing: -0.02em;
  margin: 22px 0 18px; font-family: var(--font-cn);
}
.sch-sub { font-size: clamp(15px, 2.2vw, 20px); color: var(--ink-2); max-width: 720px; margin: 0 auto 36px; line-height: 1.7; }
.sch-cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* split layout */
.sch-split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
}
.sch-para { color: var(--ink-2); line-height: 1.85; margin: 0 0 16px; font-size: 15.5px; }

/* frosted glass cards */
.glass-card {
  background: var(--glass);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid var(--line); border-radius: 18px;
  padding: 26px 28px;
}

/* curriculum */
.sch-modules { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.sch-modules .glass-card { display: flex; gap: 18px; align-items: flex-start; transition: border-color 0.25s, transform 0.25s; }
.sch-modules .glass-card:hover { border-color: rgba(143, 184, 255, 0.4); transform: translateY(-3px); }
.mod-no {
  font-family: var(--font-cn); font-weight: 800; font-size: 15px; color: var(--blue-glow);
  border: 1px solid rgba(143, 184, 255, 0.4); border-radius: 10px;
  min-width: 52px; height: 38px; display: flex; align-items: center; justify-content: center;
  text-shadow: 0 0 12px var(--blue-dim);
}
.sch-modules p { margin: 0; color: var(--ink-2); line-height: 1.7; font-size: 14.5px; padding-top: 8px; }

/* pricing */
.sch-price-card {
  max-width: 640px; margin: 0 auto; text-align: center;
  border-color: rgba(143, 184, 255, 0.3);
  box-shadow: 0 0 60px rgba(143, 184, 255, 0.07);
}
.sch-price-main { margin-top: 26px; }
.sch-price { font-size: clamp(44px, 6vw, 64px); font-weight: 800; color: #fff; }
.sch-price span { font-size: 20px; color: var(--ink-2); font-weight: 600; }
.sch-license { color: var(--blue-glow); letter-spacing: 0.14em; text-transform: uppercase; font-size: 13px; margin: 6px 0 22px; text-shadow: 0 0 12px var(--blue-dim); }
.sch-benefits { list-style: none; padding: 0; margin: 0 0 20px; text-align: left; display: inline-block; }
.sch-benefits li { color: var(--ink-2); padding: 7px 0; font-size: 15px; }
.sch-note { font-size: 13px; color: var(--ink-3); margin: 0 0 24px; }

/* instructor */
.sch-name { font-size: clamp(28px, 4vw, 40px); font-weight: 800; margin: 14px 0 8px; }
.sch-role { color: var(--ink); font-size: 16px; margin: 0 0 14px; }

/* faq */
.sch-faq { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.sch-faq h4 { margin: 0 0 10px; font-size: 16px; color: #fff; }
.sch-faq p { margin: 0; color: var(--ink-2); line-height: 1.75; font-size: 14.5px; }

/* responsive */
@media (max-width: 860px) {
  .sch-split { grid-template-columns: 1fr; gap: 32px; }
  .sch-split-media { order: -1; }
  .img-ph.tall { min-height: 280px; }
  .sch-hero { min-height: 84vh; }
  .sch-hero-bg .img-ph::before { font-size: 11px; opacity: 0.7; }
  .sch-hero-inner { padding-top: 140px; }
}
