﻿:root {
  --navy: #031126 !important;
  --navy-2: #061b35 !important;
  --cyan: #00d9ff !important;
  --blue: #1c75ff !important;
  --lime: #d8ff00 !important;
  --gold: #b98926 !important;
  --ink: #071a3a !important;
  --white: #fff !important;
  --header-height: 84px !important;
}

* { box-sizing: border-box !important; }
html { scroll-behavior: smooth !important; }
body { margin: 0 !important; overflow-x: hidden !important; font-family: "Noto Sans JP", sans-serif !important; }
a { color: inherit !important; text-decoration: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.site-header {
  position: sticky !important;
  z-index: 100 !important;
  top: 0 !important;
  height: var(--header-height) !important;
  border-bottom: 1px solid !important;
}

.header-frame {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: min(100% - 48px, 1440px) !important;
  height: 100% !important;
  margin: auto !important;
}

.brand { display: flex !important; flex: 0 0 auto !important; align-items: center !important; gap: 13px !important; }
.brand-mark { position: relative !important; display: grid !important; width: 46px !important; height: 52px !important; place-items: center !important; }
.brand-mark::before { position: absolute !important; width: 30px !important; height: 30px !important; border-radius: 50% !important; content: "" !important; opacity: .16 !important; filter: blur(12px) !important; }
.brand-mark svg { position: relative !important; z-index: 1 !important; width: 100% !important; height: 100% !important; overflow: visible !important; }
.brand-mark .mark-shell { fill: rgba(0,217,255,.08) !important; stroke: currentColor !important; stroke-width: 1.6 !important; }
.brand-mark .mark-shield { fill: rgba(3,17,38,.9) !important; stroke: currentColor !important; stroke-width: 1.2 !important; }
.brand-mark .mark-letter { fill: currentColor !important; }
.brand-copy { display: grid !important; line-height: 1 !important; }
.brand-copy strong { font: 700 25px/1 "Rajdhani", sans-serif !important; letter-spacing: .035em !important; }
.brand-copy small { margin-top: 5px !important; font-size: 9px !important; font-weight: 700 !important; letter-spacing: .08em !important; }

.global-nav { display: flex !important; align-items: center !important; gap: clamp(14px, 1.7vw, 28px) !important; height: 100% !important; }
.global-nav > a:not(.page-switch):not(.header-cta) { position: relative !important; font-size: 12px !important; font-weight: 700 !important; white-space: nowrap !important; }
.global-nav > a:not(.page-switch):not(.header-cta)::after { position: absolute !important; right: 0 !important; bottom: -9px !important; left: 0 !important; height: 2px !important; content: "" !important; transform: scaleX(0) !important; transition: transform .25s ease !important; }
.global-nav > a:hover::after { transform: scaleX(1) !important; }

.page-switch, .header-cta { display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important; }
.page-switch:hover, .header-cta:hover { transform: translateY(-2px) !important; }
.page-switch { min-height: 43px !important; padding: 0 15px !important; gap: 9px !important; font-size: 12px !important; font-weight: 800 !important; white-space: nowrap !important; }
.page-switch svg { width: 19px !important; fill: none !important; stroke: currentColor !important; stroke-linecap: round !important; stroke-linejoin: round !important; stroke-width: 1.8 !important; }
.mobile-page-switch { display: none !important; }
.header-cta { min-width: 200px !important; min-height: 54px !important; padding: 7px 13px 7px 18px !important; gap: 13px !important; border: 0 !important; font-size: 13px !important; font-weight: 900 !important; line-height: 1.25 !important; white-space: nowrap !important; }
.header-cta span { display: grid !important; }
.header-cta small { font-size: 9px !important; font-weight: 700 !important; }
.header-cta svg { width: 20px !important; fill: none !important; stroke: currentColor !important; stroke-linecap: round !important; stroke-linejoin: round !important; stroke-width: 2.4 !important; }

.menu-button { display: none !important; width: 44px !important; height: 44px !important; padding: 10px !important; border: 0 !important; background: transparent !important; }
.menu-button > span:not(.sr-only) { display: block !important; height: 2px !important; margin: 5px 0 !important; background: currentColor !important; transition: transform .2s ease, opacity .2s ease !important; }

.theme-course { color: var(--white) !important; background: var(--navy) !important; }
.theme-course .site-header { border-color: rgba(0,217,255,.3) !important; background: rgba(2,12,29,.94) !important; box-shadow: 0 8px 32px rgba(0,0,0,.28) !important; backdrop-filter: blur(14px) !important; }
.theme-course .brand-mark { color: var(--cyan) !important; filter: drop-shadow(0 0 4px rgba(0,217,255,.32)) !important; }
.theme-course .brand-mark::before { background: var(--cyan) !important; }
.theme-course .brand-copy small { color: #7feeff !important; }
.theme-course .global-nav > a::after { background: var(--cyan) !important; box-shadow: 0 0 8px var(--cyan) !important; }
.theme-course .page-switch { color: var(--cyan) !important; border-color: rgba(0,217,255,.7) !important; background: rgba(0,217,255,.05) !important; box-shadow: inset 0 0 16px rgba(0,217,255,.06) !important; }
.theme-course .page-switch:hover { background: rgba(0,217,255,.13) !important; box-shadow: 0 0 20px rgba(0,217,255,.18) !important; }
.theme-course .menu-button { color: var(--cyan) !important; border: 1px solid rgba(0,217,255,.55) !important; border-radius: 4px !important; background: rgba(0,217,255,.1) !important; box-shadow: inset 0 0 12px rgba(0,217,255,.08), 0 0 10px rgba(0,217,255,.08) !important; }
.theme-course .menu-button > span:not(.sr-only) { box-shadow: 0 0 5px rgba(0,217,255,.75) !important; }
.theme-course .header-cta { color: var(--navy) !important; background: var(--lime) !important; box-shadow: 0 0 20px rgba(216,255,0,.16) !important; }
.theme-course .header-cta:hover { box-shadow: 0 6px 24px rgba(216,255,0,.28) !important; }
.theme-course .page-stage { min-height: calc(100vh - var(--header-height)) !important; background-image: linear-gradient(rgba(0,217,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0,217,255,.025) 1px, transparent 1px) !important; background-size: 48px 48px !important; }

.theme-parents { color: var(--ink) !important; background: #f8f7f3 !important; }
.theme-parents .site-header { border-color: rgba(185,137,38,.42) !important; background: rgba(255,255,255,.96) !important; box-shadow: 0 5px 24px rgba(7,26,58,.08) !important; backdrop-filter: blur(14px) !important; }
.theme-parents .brand-mark { color: #087ca3 !important; }
.theme-parents .brand-mark::before { background: #087ca3 !important; opacity: .14 !important; }
.theme-parents .brand-mark .mark-shield { fill: #fff !important; }
.theme-parents .brand-copy small { color: #7b8390 !important; }
.theme-parents .global-nav > a::after { background: var(--gold) !important; }
.theme-parents .page-switch { color: #075b80 !important; border-color: rgba(7,91,128,.48) !important; background: #f5fbfd !important; }
.theme-parents .page-switch:hover { box-shadow: 0 5px 18px rgba(7,91,128,.15) !important; }
.theme-parents .header-cta { color: #fff !important; background: linear-gradient(135deg, #c99a36, #9f6c12) !important; box-shadow: 0 6px 18px rgba(159,108,18,.22) !important; }
.theme-parents .header-cta:hover { box-shadow: 0 8px 24px rgba(159,108,18,.3) !important; }
.theme-parents .page-stage { min-height: calc(100vh - var(--header-height)) !important; background: linear-gradient(120deg, #fff, #f7f3ea) !important; }

/* Parents first view */
.parent-hero { position: relative !important; min-height: clamp(500px, calc(100svh - var(--header-height) - 165px), 650px) !important; overflow: hidden !important; isolation: isolate !important; background: #f8fafc !important; }
.parent-hero-visual { position: absolute !important; z-index: -3 !important; inset: 0 !important; background: #f8fafc url("assets/parents-hero-bg.png") center center / cover no-repeat !important; }
.parent-hero-shade { position: absolute !important; z-index: -2 !important; inset: 0 !important; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 35%, rgba(255,255,255,.52) 49%, rgba(255,255,255,0) 68%) !important; }
.parent-hero-inner { width: min(100% - 48px, 1440px) !important; margin: auto !important; padding: clamp(35px, 5vh, 62px) 0 22px !important; }
.parent-hero-title { margin: 0 !important; color: #071d48 !important; font-family: "Noto Sans JP", sans-serif !important; font-size: clamp(25px, 2.75vw, 43px) !important; font-weight: 900 !important; line-height: 1.38 !important; letter-spacing: .045em !important; }
.parent-hero-title span { font: inherit !important; }
.parent-course-name { margin: 24px 0 13px !important; color: #071d48 !important; font-size: clamp(24px, 2.6vw, 39px) !important; font-weight: 900 !important; line-height: 1.25 !important; letter-spacing: .035em !important; }
.parent-skill-tags { display: flex !important; margin: 0 !important; padding: 0 !important; gap: 7px !important; list-style: none !important; }
.parent-skill-tags li { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 32px !important; padding: 4px 11px !important; border: 1px solid rgba(173,119,17,.6) !important; border-radius: 3px !important; color: #986a15 !important; background: rgba(255,253,246,.88) !important; font-size: 11px !important; font-weight: 800 !important; white-space: nowrap !important; }
.parent-hero-description { margin: 16px 0 18px !important; color: #313c4e !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.7 !important; letter-spacing: .03em !important; }
.parent-hero-cta { display: flex !important; align-items: center !important; justify-content: center !important; width: min(100%, 430px) !important; min-height: 78px !important; padding: 10px 24px !important; border-radius: 8px !important; color: #fff !important; background: linear-gradient(135deg, #c89c3a, #a46d0c) !important; box-shadow: 0 8px 22px rgba(117,75,7,.27) !important; font-size: 21px !important; font-weight: 900 !important; line-height: 1.25 !important; letter-spacing: .035em !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.parent-hero-cta:hover { transform: translateY(-3px) !important; box-shadow: 0 11px 27px rgba(117,75,7,.34) !important; }
.parent-hero-cta span { display: grid !important; text-align: center !important; }
.parent-hero-cta small { margin-bottom: 4px !important; font-size: 12px !important; font-weight: 700 !important; }

.parent-proof { color: #fff !important; background: linear-gradient(100deg, #061b3d, #00265a 55%, #061b3d) !important; border-top: 1px solid rgba(194,150,48,.7) !important; }
.parent-proof-inner { width: min(100% - 48px, 1440px) !important; margin: auto !important; padding: 11px 0 12px !important; }
.parent-proof h2 { margin: 0 0 8px !important; color: #e7c259 !important; font-family: Georgia, "Yu Mincho", serif !important; font-size: 19px !important; font-weight: 700 !important; text-align: center !important; letter-spacing: .08em !important; }
.parent-proof-list { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
.parent-proof-item { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 60px !important; gap: 12px !important; border-left: 1px solid rgba(255,255,255,.12) !important; }
.parent-proof-item:first-child { border-left: 0 !important; }
.parent-proof-item strong { font-size: 13px !important; text-align: center !important; letter-spacing: .06em !important; }

/* Parents why section */
.parent-why { color: #071a3a !important; background: linear-gradient(180deg, #fff 0%, #f7f3ea 100%) !important; }
.parent-why-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 108px) 0 clamp(72px, 7vw, 112px) !important; }
.parent-section-heading { text-align: center !important; }
.parent-section-heading > span { color: #b98926 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.parent-section-heading h2 { margin: 10px 0 14px !important; font-size: clamp(28px, 3vw, 42px) !important; font-weight: 900 !important; letter-spacing: .055em !important; }
.parent-section-heading p { max-width: 780px !important; margin: 0 auto !important; color: #536070 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.9 !important; }
.parent-why-lead { max-width: 980px !important; margin: 42px auto 0 !important; padding: clamp(24px, 3vw, 34px) !important; border: 1px solid rgba(185,137,38,.22) !important; border-radius: 14px !important; background: rgba(255,255,255,.82) !important; box-shadow: 0 14px 34px rgba(113,82,26,.08) !important; }
.parent-why-lead p { margin: 0 !important; color: #36445a !important; font-size: 15px !important; font-weight: 600 !important; line-height: 2 !important; }
.parent-why-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; margin-top: 28px !important; gap: 18px !important; }
.parent-why-card { position: relative !important; display: flex !important; min-width: 0 !important; min-height: 320px !important; flex-direction: column !important; padding: 30px 26px 24px !important; overflow: hidden !important; border: 1px solid #e4d8bd !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 16px 36px rgba(113,82,26,.08) !important; }
.parent-why-card::before { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; height: 4px !important; content: "" !important; background: linear-gradient(90deg, #c99a36, #087ca3) !important; }
.parent-why-card-highlight::before { background: linear-gradient(90deg, #087ca3, #c99a36) !important; }
.parent-why-number { display: grid !important; width: 46px !important; height: 46px !important; margin-bottom: 18px !important; border-radius: 50% !important; place-items: center !important; color: #fff !important; background: linear-gradient(135deg, #c99a36, #9f6c12) !important; font: 700 20px/1 "Rajdhani", sans-serif !important; box-shadow: 0 10px 20px rgba(159,108,18,.18) !important; }
.parent-why-card h3 { margin: 0 0 12px !important; font-size: 20px !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: .045em !important; }
.parent-why-card p { margin: 0 !important; color: #526077 !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.9 !important; }
.parent-why-card a { display: inline-flex !important; width: fit-content !important; margin-top: auto !important; padding-top: 18px !important; color: #087ca3 !important; font-size: 11px !important; font-weight: 800 !important; line-height: 1.6 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }

/* Parents learning */
.parent-learning { color: #071a3a !important; background: #fff !important; }
.parent-learning-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 108px) 0 clamp(50px, 5vw, 72px) !important; }
.parent-learning-overview { display: grid !important; grid-template-columns: .82fr 1.18fr !important; align-items: center !important; margin-top: clamp(38px, 5vw, 62px) !important; gap: clamp(28px, 5vw, 66px) !important; }
.parent-learning-copy { padding: clamp(24px, 3vw, 34px) !important; border: 1px solid #e4d8bd !important; border-radius: 16px !important; background: linear-gradient(135deg, #fff, #fbf7ee) !important; box-shadow: 0 16px 36px rgba(113,82,26,.08) !important; }
.parent-learning-copy h3 { margin: 0 0 15px !important; color: #087ca3 !important; font-size: clamp(22px, 2.2vw, 32px) !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: .04em !important; }
.parent-learning-copy p { margin: 0 !important; color: #46556b !important; font-size: 14px !important; font-weight: 500 !important; line-height: 2 !important; }
.parent-learning-diagram { padding: 24px !important; border: 1px solid #d5e8f1 !important; border-radius: 16px !important; background: linear-gradient(135deg, #f6fbfe, #fff) !important; box-shadow: 0 16px 36px rgba(7,76,130,.08) !important; }
.parent-learning-diagram ol { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; margin: 0 !important; padding: 0 !important; gap: 12px !important; list-style: none !important; }
.parent-learning-diagram li { position: relative !important; display: grid !important; min-height: 116px !important; padding: 18px 10px 15px !important; border: 1px solid #cde2ed !important; border-radius: 14px !important; place-items: center !important; background: #fff !important; text-align: center !important; }
.parent-learning-diagram li:not(:last-child)::after { position: absolute !important; top: 50% !important; right: -13px !important; z-index: 2 !important; width: 14px !important; height: 2px !important; content: "" !important; background: #c99a36 !important; }
.parent-learning-diagram span { display: grid !important; width: 42px !important; height: 42px !important; margin-bottom: 10px !important; border-radius: 50% !important; place-items: center !important; color: #fff !important; background: linear-gradient(135deg, #087ca3, #0a4f9a) !important; font: 700 18px/1 "Rajdhani", sans-serif !important; }
.parent-learning-diagram b { font-size: 12px !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: .04em !important; }
.parent-learning-grid { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; margin-top: 24px !important; gap: 14px !important; }
.parent-learning-grid article { min-width: 0 !important; padding: 24px 18px 22px !important; border: 1px solid #e4d8bd !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 14px 32px rgba(113,82,26,.07) !important; }
.parent-learning-icon { display: grid !important; width: 58px !important; height: 58px !important; margin-bottom: 16px !important; border-radius: 16px !important; place-items: center !important; }
.parent-learning-icon img { display: block !important; width: 58px !important; height: 58px !important; }
.parent-learning-grid h3 { margin: 0 0 10px !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: .04em !important; }
.parent-learning-grid p { margin: 0 !important; color: #526077 !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.85 !important; }
.parent-learning-note { margin-top: 28px !important; padding: 24px clamp(22px, 3vw, 34px) !important; border: 1px solid rgba(8,124,163,.18) !important; border-radius: 14px !important; background: #f3fbfe !important; }
.parent-learning-note strong { display: block !important; margin-bottom: 8px !important; color: #087ca3 !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: .04em !important; }
.parent-learning-note p { margin: 0 !important; color: #46556b !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.9 !important; }

/* Parents features */
.parent-features { color: #071a3a !important; background: #fff !important; }
.parent-features-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(46px, 5vw, 72px) 0 clamp(76px, 7vw, 116px) !important; }
.parent-feature-list { display: grid !important; margin-top: clamp(42px, 5vw, 64px) !important; gap: clamp(22px, 3vw, 34px) !important; }
.parent-feature-card { display: grid !important; grid-template-columns: .9fr 1.1fr !important; align-items: center !important; gap: clamp(28px, 5vw, 70px) !important; padding: clamp(24px, 3vw, 38px) !important; border: 1px solid #e4d8bd !important; border-radius: 18px !important; background: linear-gradient(135deg, #fff, #fbf7ee) !important; box-shadow: 0 18px 42px rgba(113,82,26,.08) !important; }
.parent-feature-card-reverse { grid-template-columns: 1.1fr .9fr !important; background: linear-gradient(135deg, #f6fbfe, #fff) !important; }
.parent-feature-card-reverse .parent-feature-image { order: 2 !important; }
.parent-feature-card-reverse .parent-feature-copy { order: 1 !important; }
.parent-feature-image { overflow: hidden !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 14px 30px rgba(7,76,130,.08) !important; }
.parent-feature-image img { display: block !important; width: 100% !important; aspect-ratio: 16 / 10 !important; height: auto !important; object-fit: cover !important; }
.parent-feature-copy span { color: #b98926 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .18em !important; }
.parent-feature-copy h3 { margin: 10px 0 16px !important; font-size: clamp(23px, 2.4vw, 34px) !important; font-weight: 900 !important; line-height: 1.42 !important; letter-spacing: .045em !important; }
.parent-feature-copy p { margin: 13px 0 0 !important; color: #46556b !important; font-size: 14px !important; font-weight: 500 !important; line-height: 2 !important; }
.parent-training-results { margin-top: clamp(54px, 6vw, 82px) !important; padding: clamp(34px, 4vw, 48px) !important; border: 1px solid #e6eef5 !important; border-radius: 22px !important; background: #fff !important; box-shadow: 0 20px 50px rgba(7,76,130,.08) !important; }
.training-results-heading { max-width: 820px !important; margin: 0 auto clamp(30px, 4vw, 46px) !important; text-align: center !important; }
.training-results-heading span { color: #b98926 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.training-results-heading h3 { margin: 12px 0 14px !important; color: #071a3a !important; font-size: clamp(26px, 2.7vw, 38px) !important; font-weight: 900 !important; line-height: 1.4 !important; letter-spacing: .06em !important; }
.training-results-heading p { margin: 0 !important; color: #526177 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.9 !important; }
.training-results-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
.training-result-card { overflow: hidden !important; display: flex !important; min-width: 0 !important; flex-direction: column !important; border: 1px solid #dfeaf2 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 15px 34px rgba(7,76,130,.08) !important; }
.training-result-logo { display: grid !important; min-height: 122px !important; padding: 22px 24px 18px !important; place-items: center !important; background: linear-gradient(180deg, #fff, #f7fbfe) !important; }
.training-result-logo img { display: block !important; width: min(100%, 260px) !important; height: 86px !important; object-fit: contain !important; }
.training-result-body { position: relative !important; flex: 1 !important; padding: 24px 24px 26px !important; }
.training-result-body::before { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; height: 5px !important; background: linear-gradient(135deg, #f0c765 0%, #c89c3a 42%, #a46d0c 100%) !important; content: "" !important; }
.training-org { margin: 0 0 10px !important; color: #087ca3 !important; font-size: 12px !important; font-weight: 900 !important; letter-spacing: .12em !important; }
.training-result-body h4 { margin: 0 0 14px !important; color: #071a3a !important; font-size: 17px !important; font-weight: 900 !important; line-height: 1.55 !important; letter-spacing: .025em !important; }
.training-result-body p { margin: 0 !important; color: #46556b !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.9 !important; }
.training-result-text a, .training-result-body p a { color: #087ca3 !important; font-weight: 800 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }

/* Parents fit */
.parent-fit { color: #fff !important; background: linear-gradient(100deg, #061b3d, #00265a 55%, #061b3d) !important; border-top: 1px solid rgba(194,150,48,.52) !important; border-bottom: 1px solid rgba(194,150,48,.52) !important; }
.parent-fit-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(66px, 6vw, 94px) 0 clamp(76px, 7vw, 108px) !important; }
.parent-fit-heading { margin-bottom: clamp(34px, 4vw, 50px) !important; text-align: center !important; }
.parent-fit-heading span { color: #e7c259 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.parent-fit-heading h2 { margin: 12px 0 0 !important; color: #fff !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 900 !important; line-height: 1.35 !important; letter-spacing: .08em !important; }
.parent-fit-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: clamp(18px, 2vw, 26px) !important; }
.parent-fit-card { overflow: hidden !important; min-width: 0 !important; border: 1px solid rgba(231,194,89,.28) !important; border-radius: 16px !important; background: rgba(255,255,255,.96) !important; box-shadow: 0 20px 42px rgba(0,0,0,.22) !important; }
.parent-fit-card img { display: block !important; width: 100% !important; aspect-ratio: 16 / 9 !important; height: auto !important; object-fit: cover !important; background: #f4fbff !important; }
.parent-fit-card h3 { display: grid !important; min-height: 104px !important; margin: 0 !important; padding: 22px 18px 24px !important; place-items: center !important; color: #071a3a !important; font-size: clamp(13px, 1.28vw, 20px) !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: .02em !important; text-align: center !important; white-space: nowrap !important; }

/* Parents voices */
.parent-voices { color: #071a3a !important; background: linear-gradient(180deg, #f7f3ea 0%, #fff 100%) !important; }
.parent-voices-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 108px) 0 clamp(76px, 7vw, 116px) !important; }
.parent-voice-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; margin-top: clamp(36px, 4vw, 54px) !important; gap: 18px !important; }
.parent-voice-card { position: relative !important; min-width: 0 !important; padding: 28px 26px 26px !important; border: 1px solid #e4d8bd !important; border-radius: 16px !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 16px 38px rgba(113,82,26,.08) !important; }
.parent-voice-card::before { position: absolute !important; top: 22px !important; right: 24px !important; color: rgba(185,137,38,.18) !important; content: "“" !important; font: 900 74px/1 Georgia, serif !important; }
.parent-voice-profile { position: relative !important; z-index: 1 !important; display: flex !important; align-items: center !important; gap: 14px !important; margin-bottom: 20px !important; }
.parent-voice-profile img { width: 62px !important; height: 62px !important; flex: 0 0 62px !important; border-radius: 50% !important; box-shadow: 0 8px 18px rgba(7,26,58,.1) !important; }
.parent-voice-profile h3 { margin: 0 !important; font-size: 18px !important; font-weight: 900 !important; letter-spacing: .05em !important; }
.parent-voice-profile p { margin: 5px 0 0 !important; color: #9f6c12 !important; font-size: 12px !important; font-weight: 800 !important; }
.parent-voice-card blockquote { position: relative !important; z-index: 1 !important; margin: 0 !important; }
.parent-voice-card blockquote p { margin: 13px 0 0 !important; color: #46556b !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.95 !important; }
.parent-voice-card blockquote p:first-child { margin-top: 0 !important; }

@media (max-width: 980px) {
  .parent-hero { min-height: 560px !important; }
  .parent-hero-visual { background-position: 58% center !important; }
  .parent-hero-shade { background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.87) 43%, rgba(255,255,255,.08) 82%) !important; }
  .parent-hero-inner { width: min(100% - 40px, 1440px) !important; padding-top: 38px !important; }
  .parent-hero-title { font-size: clamp(24px, 3.7vw, 34px) !important; }
  .parent-course-name { margin-top: 13px !important; font-size: clamp(25px, 3.6vw, 34px) !important; }
  .parent-why-grid { grid-template-columns: 1fr !important; }
  .parent-why-card { min-height: 0 !important; }
  .parent-learning-overview { grid-template-columns: 1fr !important; }
  .parent-learning-diagram ol { grid-template-columns: 1fr !important; overflow-x: visible !important; padding-bottom: 0 !important; gap: 8px !important; }
  .parent-learning-diagram li { display: grid !important; grid-template-columns: 46px 1fr !important; min-height: 0 !important; padding: 12px 14px !important; justify-items: start !important; text-align: left !important; }
  .parent-learning-diagram li:not(:last-child)::after { top: auto !important; right: auto !important; bottom: -9px !important; left: 34px !important; width: 2px !important; height: 10px !important; }
  .parent-learning-diagram span { width: 36px !important; height: 36px !important; margin: 0 !important; font-size: 15px !important; }
  .parent-learning-diagram b { align-self: center !important; font-size: 13px !important; }
  .parent-learning-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .parent-learning-grid article:last-child { grid-column: 1 / -1 !important; }
  .parent-feature-card, .parent-feature-card-reverse { grid-template-columns: 1fr !important; }
  .parent-feature-card-reverse .parent-feature-image, .parent-feature-card-reverse .parent-feature-copy { order: initial !important; }
  .training-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .parent-fit-grid { grid-template-columns: minmax(0, 720px) !important; justify-content: center !important; }
  .parent-fit-card { width: 100% !important; max-width: none !important; margin: 0 !important; }
  .parent-voice-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
  .parent-hero { min-height: 0 !important; }
  .parent-hero-visual { background-position: 68% center !important; background-size: auto 100% !important; }
  .parent-hero-shade { background: linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.77) 68%, rgba(255,255,255,.22)), linear-gradient(0deg, rgba(255,255,255,.86), transparent 55%) !important; }
  .parent-hero-inner { width: calc(100% - 32px) !important; padding: 28px 0 20px !important; }
  .parent-hero-title { font-size: clamp(22px, 5.7vw, 31px) !important; line-height: 1.38 !important; }
  .parent-course-name { margin: 10px 0 !important; font-size: clamp(23px, 6vw, 31px) !important; }
  .parent-skill-tags { display: grid !important; grid-template-columns: repeat(2, max-content) !important; max-width: 470px !important; }
  .parent-skill-tags li { min-height: 29px !important; padding: 3px 8px !important; font-size: 10px !important; }
  .parent-hero-description { margin: 12px 0 14px !important; font-size: 10px !important; }
  .parent-hero-cta { width: min(100%, 390px) !important; min-height: 62px !important; border-radius: 5px !important; font-size: 17px !important; }
  .parent-proof-inner { width: 100% !important; padding-top: 13px !important; }
  .parent-proof h2 { font-size: 16px !important; }
  .parent-proof-list { grid-template-columns: repeat(2, 1fr) !important; }
  .parent-proof-item { min-height: 74px !important; border-top: 1px solid rgba(255,255,255,.1) !important; }
  .parent-why-inner { width: min(100% - 32px, 1320px) !important; padding: 58px 0 74px !important; }
  .parent-section-heading p { font-size: 13px !important; }
  .parent-why-lead { margin-top: 32px !important; padding: 23px 20px !important; }
  .parent-why-lead p { font-size: 13px !important; line-height: 1.9 !important; }
  .parent-why-card { padding: 26px 22px 22px !important; }
  .parent-learning-inner { width: min(100% - 32px, 1320px) !important; padding: 54px 0 46px !important; }
  .parent-learning-overview { margin-top: 30px !important; gap: 18px !important; }
  .parent-learning-copy, .parent-learning-diagram { padding: 22px !important; }
  .parent-learning-copy p { font-size: 13px !important; line-height: 1.9 !important; }
  .parent-learning-grid { gap: 12px !important; }
  .parent-learning-grid article { padding: 20px 15px 18px !important; }
  .parent-learning-note { margin-top: 18px !important; }
  .parent-features-inner { width: min(100% - 32px, 1320px) !important; padding: 42px 0 76px !important; }
  .parent-feature-list { margin-top: 34px !important; }
  .parent-feature-card { padding: 22px !important; border-radius: 14px !important; gap: 24px !important; }
  .parent-feature-copy p { font-size: 13px !important; line-height: 1.9 !important; }
  .parent-training-results { padding: 30px 22px !important; }
  .training-results-grid { grid-template-columns: 1fr !important; }
  .training-result-logo { min-height: 112px !important; padding: 18px 20px 15px !important; }
  .training-result-body { padding: 22px 20px 24px !important; }
  .training-result-body h4 { font-size: 16px !important; }
  .parent-fit-inner { width: min(100% - 32px, 1320px) !important; padding: 58px 0 76px !important; }
  .parent-fit-heading h2 { white-space: nowrap !important; font-size: clamp(25px, 5vw, 34px) !important; letter-spacing: .03em !important; }
  .parent-fit-card h3 { min-height: 88px !important; padding: 18px 10px 20px !important; font-size: clamp(15px, 3.7vw, 19px) !important; letter-spacing: 0 !important; }
  .parent-voices-inner { width: min(100% - 32px, 1320px) !important; padding: 58px 0 76px !important; }
  .parent-voice-card { padding: 24px 22px !important; }
}

@media (max-width: 420px) {
  .parent-hero-visual { background-position: 65% center !important; }
  .parent-hero-inner { width: calc(100% - 24px) !important; padding-top: 22px !important; }
  .parent-hero-title { font-size: clamp(19px, 5.4vw, 23px) !important; letter-spacing: 0 !important; }
  .parent-course-name { font-size: 22px !important; }
  .parent-skill-tags { gap: 5px !important; }
  .parent-skill-tags li { font-size: 9px !important; }
  .parent-hero-description br { display: none !important; }
  .parent-hero-cta { min-height: 58px !important; padding: 8px 12px !important; font-size: 15px !important; }
  .parent-hero-cta small { font-size: 10px !important; }
  .parent-why-inner { width: min(100% - 24px, 1320px) !important; padding-top: 50px !important; }
  .parent-section-heading h2 { font-size: 25px !important; }
  .parent-why-card h3 { font-size: 18px !important; }
  .parent-why-card p { font-size: 12px !important; }
  .parent-learning-inner { width: min(100% - 24px, 1320px) !important; padding: 48px 0 38px !important; }
  .parent-learning-copy h3 { font-size: 21px !important; }
  .parent-learning-copy, .parent-learning-diagram { padding: 16px !important; }
  .parent-learning-diagram ol { grid-template-columns: 1fr !important; gap: 8px !important; }
  .parent-learning-diagram li { grid-template-columns: 40px 1fr !important; padding: 11px 12px !important; }
  .parent-learning-diagram span { width: 32px !important; height: 32px !important; font-size: 14px !important; }
  .parent-learning-diagram b { font-size: 12px !important; }
  .parent-learning-grid { grid-template-columns: 1fr !important; }
  .parent-learning-grid article:last-child { grid-column: auto !important; }
  .parent-learning-icon { width: 52px !important; height: 52px !important; }
  .parent-features-inner { width: min(100% - 24px, 1320px) !important; padding-top: 36px !important; }
  .parent-feature-card { padding: 18px !important; }
  .parent-feature-copy h3 { font-size: 22px !important; }
  .parent-feature-copy p { font-size: 12px !important; }
  .parent-training-results { margin-top: 42px !important; padding: 26px 16px !important; border-radius: 16px !important; }
  .training-results-heading h3 { font-size: 22px !important; }
  .training-results-heading p { font-size: 12px !important; }
  .training-result-logo img { height: 76px !important; }
  .training-result-body { padding: 20px 17px 22px !important; }
  .training-result-body h4 { font-size: 15px !important; }
  .training-result-body p { font-size: 11px !important; }
  .parent-fit-inner { width: min(100% - 24px, 1320px) !important; padding-top: 50px !important; }
  .parent-fit-heading h2 { font-size: clamp(21px, 5.5vw, 25px) !important; letter-spacing: 0 !important; white-space: nowrap !important; }
  .parent-fit-card h3 { min-height: 78px !important; padding: 16px 6px 18px !important; font-size: clamp(13px, 3.55vw, 16px) !important; letter-spacing: 0 !important; }
  .parent-voices-inner { width: min(100% - 24px, 1320px) !important; padding-top: 50px !important; }
  .parent-voice-profile img { width: 56px !important; height: 56px !important; flex-basis: 56px !important; }
  .parent-voice-profile h3 { font-size: 16px !important; }
  .parent-voice-card blockquote p { font-size: 12px !important; }
}

/* Course first view */
.theme-course .page-stage { min-height: calc(100vh - var(--header-height)) !important; }
.course-hero { position: relative !important; min-height: clamp(560px, 43vw, 720px) !important; overflow: hidden !important; isolation: isolate !important; background: #020d20 !important; }
.hero-visual { position: absolute !important; z-index: -3 !important; inset: 0 !important; background: #03152b url("assets/course-hero-bg.png") center 42% / cover no-repeat !important; transform: scale(1.01) !important; }
.hero-vignette { position: absolute !important; z-index: -2 !important; inset: 0 !important; background: linear-gradient(90deg, rgba(1,9,24,.98) 0%, rgba(1,10,26,.84) 24%, rgba(1,10,26,.18) 51%, rgba(0,9,24,.08) 72%, rgba(0,7,20,.4) 100%), linear-gradient(0deg, rgba(0,8,24,.72) 0%, transparent 36%, rgba(0,7,20,.18) 100%) !important; }
.course-hero::after { position: absolute !important; right: 0 !important; bottom: 0 !important; left: 0 !important; height: 1px !important; content: "" !important; background: linear-gradient(90deg, transparent, var(--cyan), transparent) !important; box-shadow: 0 0 12px rgba(0,217,255,.6) !important; }
.hero-content { width: min(100% - 48px, 1440px) !important; margin: auto !important; padding: clamp(30px, 4.5vh, 56px) 0 20px !important; }
.hero-lead { margin: 0 !important; color: #fff !important; font-size: clamp(31px, 3.15vw, 54px) !important; font-weight: 900 !important; line-height: 1.3 !important; letter-spacing: .04em !important; text-shadow: 0 3px 18px rgba(0,0,0,.65) !important; }
.hero-audience { margin: 14px 0 7px !important; color: #fff !important; font-size: clamp(12px, 1.1vw, 16px) !important; font-weight: 800 !important; line-height: 1.7 !important; letter-spacing: .04em !important; }
.hero-name { margin: 0 !important; color: #fff !important; font: 700 clamp(43px, 5.2vw, 78px)/1 "Rajdhani", sans-serif !important; letter-spacing: -.025em !important; text-shadow: 0 4px 22px rgba(0,0,0,.7) !important; }
.hero-name span { color: #08aef7 !important; }
.hero-versus { display: flex !important; align-items: center !important; justify-content: center !important; width: min(100%, 365px) !important; min-height: 45px !important; margin: 8px 0 13px !important; gap: 16px !important; border: 1px solid #c8e600 !important; background: rgba(1,9,24,.65) !important; font-size: clamp(16px, 1.45vw, 22px) !important; font-weight: 900 !important; letter-spacing: .08em !important; box-shadow: inset 0 0 18px rgba(0,217,255,.05) !important; }
.hero-versus b { color: #eaff00 !important; font-size: 1.08em !important; }
.hero-note { margin: 0 !important; color: rgba(255,255,255,.9) !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.65 !important; letter-spacing: .05em !important; }
.hero-actions { display: grid !important; grid-template-columns: repeat(2, 250px) !important; width: min(100%, 514px) !important; margin-top: 20px !important; gap: 14px !important; }
.hero-action { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; min-height: 52px !important; padding: 8px 38px !important; border-radius: 3px !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: .04em !important; text-align: center !important; white-space: nowrap !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.hero-action:hover { transform: translateY(-3px) !important; }
.hero-action svg { position: absolute !important; left: 15px !important; width: 22px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.5 !important; }
.hero-action b { position: absolute !important; right: 15px !important; font-size: 25px !important; font-weight: 500 !important; }
.hero-action-parent { color: #07306f !important; background: #fff !important; box-shadow: 0 8px 24px rgba(0,0,0,.22) !important; }
.hero-action-student { color: #fff !important; background: linear-gradient(135deg, #00a9eb, #0088ed) !important; box-shadow: 0 8px 24px rgba(0,141,238,.25) !important; text-align: center !important; }
.hero-action-student:hover { box-shadow: 0 10px 28px rgba(0,174,247,.4) !important; }

.achievement-strip { position: relative !important; background: linear-gradient(100deg, #03152f, #001b3f 52%, #03152f) !important; border-bottom: 1px solid rgba(0,217,255,.22) !important; }
.achievement-inner { display: grid !important; grid-template-columns: 1.35fr repeat(5, 1fr) !important; width: min(100% - 48px, 1440px) !important; min-height: 138px !important; margin: auto !important; }
.achievement-heading { display: flex !important; flex-direction: column !important; justify-content: center !important; padding-right: 26px !important; }
.achievement-heading strong { color: #fff !important; font-size: clamp(17px, 1.7vw, 24px) !important; font-weight: 900 !important; line-height: 1.15 !important; letter-spacing: .04em !important; }
.achievement-heading em { color: #f4de49 !important; font-style: normal !important; }
.achievement-heading p { margin: 9px 0 0 !important; color: rgba(255,255,255,.82) !important; font-size: clamp(8px, .75vw, 10px) !important; font-weight: 600 !important; line-height: 1.6 !important; }
.achievement-card { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; min-width: 0 !important; border-left: 1px solid rgba(55,138,219,.35) !important; color: #fff !important; }
.achievement-card strong { margin-top: 7px !important; font-size: 13px !important; letter-spacing: .06em !important; }
.achievement-link { margin-top: 2px !important; color: rgba(255,255,255,.72) !important; font-size: 9px !important; font-weight: 700 !important; white-space: nowrap !important; transition: color .2s ease !important; }
.achievement-link:hover { color: var(--cyan) !important; }
.achievement-link b { margin-left: 3px !important; color: var(--cyan) !important; font-size: 13px !important; }
.achievement-emblem { position: relative !important; display: grid !important; width: 56px !important; height: 56px !important; flex: 0 0 56px !important; place-items: center !important; }
.achievement-emblem img { display: block !important; width: 56px !important; height: 56px !important; object-fit: contain !important; }
.placeholder-icon { border: 1px solid rgba(0,217,255,.72) !important; border-radius: 50% !important; color: #fff !important; background: radial-gradient(circle, rgba(0,174,247,.2), rgba(0,40,91,.35)) !important; box-shadow: inset 0 0 14px rgba(0,217,255,.12), 0 0 9px rgba(0,217,255,.12) !important; font: 800 24px/1 "Rajdhani", sans-serif !important; }

/* Course about */
.course-about { color: #071a3a !important; background: #fff !important; }
.course-about-inner { width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 108px) 0 clamp(72px, 7vw, 110px) !important; }
.course-section-heading { text-align: center !important; }
.course-section-heading > span, .course-learning-heading > span { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .18em !important; }
.course-section-heading h2 { margin: 10px 0 15px !important; font-size: clamp(28px, 3vw, 42px) !important; font-weight: 900 !important; letter-spacing: .055em !important; }
.course-section-heading i { display: block !important; width: 64px !important; height: 3px !important; margin: auto !important; background: linear-gradient(90deg, #06b6ed, #1358b8) !important; }
.course-overview { display: grid !important; grid-template-columns: 1.12fr .88fr !important; margin-top: 48px !important; gap: clamp(34px, 5vw, 72px) !important; }
.course-overview-copy { align-self: center !important; }
.course-overview-copy > p:not(.course-overview-lead) { margin: 16px 0 0 !important; color: #40506a !important; font-size: 14px !important; font-weight: 500 !important; line-height: 2 !important; }
.course-overview-lead { margin: 0 0 25px !important; font-size: clamp(22px, 2.35vw, 34px) !important; font-weight: 800 !important; line-height: 1.55 !important; letter-spacing: .035em !important; }
.course-overview-lead strong { color: #087fc5 !important; background: linear-gradient(transparent 70%, rgba(0,191,239,.15) 0) !important; }
.blue-hacker-note { position: relative !important; padding: 40px clamp(27px, 3vw, 44px) 34px !important; overflow: hidden !important; border: 1px solid #c9e3f5 !important; border-radius: 8px !important; background: linear-gradient(145deg, #f7fcff, #edf7fd) !important; box-shadow: 0 14px 35px rgba(7,76,130,.1) !important; }
.blue-hacker-note::after { position: absolute !important; right: -35px !important; bottom: -55px !important; width: 170px !important; height: 170px !important; border: 24px solid rgba(0,154,222,.055) !important; border-radius: 50% !important; content: "" !important; }
.blue-hacker-note-label { color: #188ccf !important; font: 700 11px/1 "Rajdhani", sans-serif !important; letter-spacing: .16em !important; }
.blue-hacker-note h3 { position: relative !important; margin: 10px 0 15px !important; font-size: clamp(21px, 2vw, 28px) !important; font-weight: 900 !important; white-space: nowrap !important; }
.blue-hacker-note h3::before { display: inline-grid !important; width: 31px !important; height: 31px !important; margin-right: 10px !important; border-radius: 50% !important; place-items: center !important; color: #fff !important; background: linear-gradient(135deg, #07b7eb, #1764c5) !important; content: "?" !important; font-family: "Rajdhani", sans-serif !important; vertical-align: 2px !important; }
.blue-hacker-note p { position: relative !important; margin: 0 !important; color: #40506a !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.9 !important; }
.blue-hacker-values { position: relative !important; display: flex !important; align-items: center !important; flex-wrap: nowrap !important; margin-top: 23px !important; gap: 10px !important; }
.blue-hacker-values span { display: grid !important; min-width: 0 !important; min-height: 34px !important; padding: 5px 11px !important; border: 1px solid #8fcceb !important; border-radius: 18px !important; place-items: center !important; color: #075b91 !important; background: #fff !important; font-size: 12px !important; font-weight: 800 !important; white-space: nowrap !important; }
.blue-hacker-values b { color: #19a5dc !important; font-size: 14px !important; }
.course-learning { margin-top: clamp(70px, 7vw, 100px) !important; }
.course-learning-heading { text-align: center !important; }
.course-learning-heading h3 { margin: 9px 0 10px !important; font-size: clamp(25px, 2.6vw, 36px) !important; font-weight: 900 !important; letter-spacing: .05em !important; }
.course-learning-heading p { margin: 0 !important; color: #627087 !important; font-size: 13px !important; line-height: 1.8 !important; }
.learning-card-grid { display: grid !important; grid-template-columns: repeat(6, 1fr) !important; margin-top: 35px !important; gap: 12px !important; }
.learning-card { position: relative !important; min-width: 0 !important; padding: 27px 15px 24px !important; overflow: hidden !important; border: 1px solid #dce5ed !important; border-radius: 7px !important; background: #fff !important; box-shadow: 0 7px 20px rgba(8,43,79,.07) !important; text-align: center !important; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important; }
.learning-card::before { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; height: 3px !important; content: "" !important; background: linear-gradient(90deg, #09c0ec, #155fc4) !important; transform: scaleX(0) !important; transition: transform .25s ease !important; }
.learning-card:hover { transform: translateY(-6px) !important; border-color: #a5d7ef !important; box-shadow: 0 14px 30px rgba(8,75,129,.13) !important; }
.learning-card:hover::before { transform: scaleX(1) !important; }
.learning-icon { display: grid !important; width: 78px !important; height: 68px !important; margin: 0 auto 14px !important; border-radius: 50% !important; place-items: center !important; background: radial-gradient(circle, #f1f9ff, #e6f4fd) !important; }
.learning-icon svg { width: 52px !important; height: 52px !important; fill: none !important; stroke: #0b68bb !important; stroke-linecap: round !important; stroke-linejoin: round !important; stroke-width: 2.5 !important; }
.learning-icon text { fill: #5d2bc1 !important; stroke: none !important; font: 800 16px/1 "Rajdhani", sans-serif !important; text-anchor: middle !important; }
.learning-card:nth-child(5) .learning-icon svg { stroke: #087d77 !important; }
.learning-card:nth-child(6) .learning-icon svg { stroke: #692bc3 !important; }
.learning-card h4 { margin: 0 !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1.45 !important; }
.learning-card p { margin: 9px 0 0 !important; color: #526077 !important; font-size: 10px !important; font-weight: 500 !important; line-height: 1.75 !important; }
.course-recommend { margin-top: clamp(56px, 6vw, 82px) !important; }
.course-recommend-heading { margin-bottom: clamp(30px, 4vw, 46px) !important; text-align: center !important; }
.course-recommend-heading span { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .18em !important; }
.course-recommend-heading h3 { margin: 9px 0 0 !important; color: #071a3a !important; font-size: clamp(25px, 2.6vw, 36px) !important; font-weight: 900 !important; letter-spacing: .05em !important; }
.course-recommend-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(18px, 2vw, 26px) !important; }
.course-recommend-card { overflow: hidden !important; min-width: 0 !important; border: 1px solid #dce8f1 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 18px 42px rgba(7,76,130,.1) !important; }
.course-recommend-card img { display: block !important; width: 100% !important; aspect-ratio: 16 / 9 !important; height: auto !important; object-fit: cover !important; background: #061b3d !important; }
.course-recommend-card h4 { display: grid !important; min-height: 104px !important; margin: 0 !important; padding: 22px 18px 24px !important; place-items: center !important; color: #071a3a !important; font-size: clamp(13px, 1.08vw, 18px) !important; font-weight: 900 !important; line-height: 1.45 !important; letter-spacing: 0 !important; text-align: center !important; white-space: normal !important; overflow-wrap: anywhere !important; }

/* Course curriculum */
.course-curriculum { position: relative !important; overflow: hidden !important; color: #fff !important; background: radial-gradient(circle at 50% 0%, rgba(0,174,247,.22), transparent 34%), linear-gradient(135deg, #020916 0%, #03152f 46%, #001b3f 100%) !important; }
.course-curriculum::before { position: absolute !important; inset: 0 !important; content: "" !important; background-image: linear-gradient(rgba(0,217,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(0,217,255,.045) 1px, transparent 1px) !important; background-size: 46px 46px !important; mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.25)) !important; pointer-events: none !important; }
.course-curriculum::after { position: absolute !important; right: -160px !important; top: 90px !important; width: 430px !important; height: 430px !important; border: 1px solid rgba(0,217,255,.18) !important; border-radius: 50% !important; content: "" !important; box-shadow: inset 0 0 45px rgba(0,217,255,.06), 0 0 45px rgba(0,217,255,.05) !important; pointer-events: none !important; }
.course-curriculum-inner { position: relative !important; z-index: 1 !important; width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(70px, 7vw, 112px) 0 clamp(76px, 8vw, 124px) !important; }
.curriculum-heading { text-align: center !important; }
.curriculum-heading span { color: var(--cyan) !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; text-shadow: 0 0 14px rgba(0,217,255,.38) !important; }
.curriculum-heading h2 { margin: 10px 0 12px !important; font-size: clamp(30px, 3.1vw, 46px) !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.curriculum-heading p { margin: 0 !important; color: rgba(255,255,255,.72) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.8 !important; }
.curriculum-flow { margin: clamp(34px, 4vw, 54px) auto 42px !important; padding: 20px clamp(14px, 2vw, 24px) !important; border: 1px solid rgba(0,217,255,.22) !important; border-radius: 12px !important; background: rgba(2,13,32,.72) !important; box-shadow: inset 0 0 28px rgba(0,217,255,.045), 0 18px 45px rgba(0,0,0,.18) !important; }
.curriculum-flow ol { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; margin: 0 !important; padding: 0 !important; gap: 18px !important; list-style: none !important; }
.curriculum-flow li { position: relative !important; display: grid !important; min-height: 100px !important; padding: 18px 10px 15px !important; border: 1px solid rgba(0,217,255,.32) !important; border-radius: 10px !important; place-items: center !important; background: linear-gradient(180deg, rgba(0,174,247,.14), rgba(4,24,54,.88)) !important; text-align: center !important; box-shadow: inset 0 0 18px rgba(0,217,255,.055) !important; }
.curriculum-flow li:not(:last-child)::after { position: absolute !important; top: 50% !important; right: -18px !important; width: 18px !important; height: 1px !important; content: "" !important; background: linear-gradient(90deg, var(--cyan), rgba(0,217,255,.1)) !important; box-shadow: 0 0 8px rgba(0,217,255,.5) !important; }
.curriculum-flow li:not(:last-child)::before { position: absolute !important; top: calc(50% - 4px) !important; right: -19px !important; width: 8px !important; height: 8px !important; border-top: 1px solid var(--cyan) !important; border-right: 1px solid var(--cyan) !important; content: "" !important; transform: rotate(45deg) !important; }
.curriculum-flow b { color: var(--lime) !important; font: 700 21px/1 "Rajdhani", sans-serif !important; letter-spacing: .05em !important; }
.curriculum-flow span { margin-top: 7px !important; color: rgba(255,255,255,.92) !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1.45 !important; letter-spacing: .04em !important; }
.curriculum-levels { display: grid !important; gap: 24px !important; }
.curriculum-level { position: relative !important; overflow: hidden !important; padding: clamp(24px, 3vw, 38px) !important; border: 1px solid rgba(0,217,255,.2) !important; border-radius: 14px !important; background: linear-gradient(145deg, rgba(5,25,57,.94), rgba(1,12,29,.9)) !important; box-shadow: 0 20px 44px rgba(0,0,0,.22) !important; }
.curriculum-level::before { position: absolute !important; top: 0 !important; right: 0 !important; left: 0 !important; height: 3px !important; content: "" !important; background: linear-gradient(90deg, var(--cyan), #1764c5, var(--lime)) !important; opacity: .88 !important; }
.curriculum-level-header { display: flex !important; align-items: baseline !important; gap: 14px !important; margin-bottom: 13px !important; }
.curriculum-level-header span { color: var(--cyan) !important; font: 700 22px/1 "Rajdhani", sans-serif !important; letter-spacing: .05em !important; }
.curriculum-level-header h3 { margin: 0 !important; font-size: clamp(20px, 2vw, 28px) !important; font-weight: 900 !important; letter-spacing: .055em !important; }
.curriculum-lead { max-width: 1020px !important; margin: 0 !important; color: rgba(255,255,255,.84) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.9 !important; }
.curriculum-lead-sub { margin-top: 9px !important; }
.curriculum-detail-grid { display: grid !important; grid-template-columns: 1fr 1.35fr 1fr !important; margin-top: 22px !important; gap: 14px !important; }
.curriculum-detail-grid-two { grid-template-columns: repeat(2, 1fr) !important; }
.curriculum-detail { min-width: 0 !important; padding: 18px 18px 16px !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 10px !important; background: rgba(255,255,255,.045) !important; }
.curriculum-detail h4 { display: inline-flex !important; align-items: center !important; margin: 0 0 10px !important; gap: 7px !important; color: #8beeff !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.curriculum-detail h4::before { width: 7px !important; height: 7px !important; border-radius: 50% !important; content: "" !important; background: var(--lime) !important; box-shadow: 0 0 9px rgba(216,255,0,.6) !important; }
.curriculum-detail ul, .curriculum-detail ol { display: grid !important; margin: 0 !important; padding-left: 1.25em !important; gap: 7px !important; color: rgba(255,255,255,.8) !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.65 !important; }
.curriculum-steps ol { counter-reset: step !important; padding-left: 0 !important; list-style: none !important; }
.curriculum-steps li { position: relative !important; padding-left: 30px !important; }
.curriculum-steps li::before { position: absolute !important; top: .12em !important; left: 0 !important; display: grid !important; width: 20px !important; height: 20px !important; border: 1px solid rgba(0,217,255,.55) !important; border-radius: 50% !important; place-items: center !important; color: var(--cyan) !important; content: counter(step) !important; counter-increment: step !important; font: 700 11px/1 "Rajdhani", sans-serif !important; }

/* Course events */
.course-events { position: relative !important; overflow: hidden !important; color: #fff !important; background: radial-gradient(circle at 16% 0%, rgba(28,117,255,.2), transparent 34%), linear-gradient(180deg, #001b3f 0%, #020916 100%) !important; border-top: 1px solid rgba(0,217,255,.18) !important; }
.course-events::before { position: absolute !important; inset: 0 !important; content: "" !important; background-image: linear-gradient(rgba(0,217,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,217,255,.035) 1px, transparent 1px) !important; background-size: 52px 52px !important; pointer-events: none !important; }
.course-events-inner { position: relative !important; z-index: 1 !important; width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(66px, 7vw, 104px) 0 clamp(74px, 7vw, 112px) !important; }
.events-heading { text-align: center !important; }
.events-heading span { color: var(--cyan) !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; text-shadow: 0 0 14px rgba(0,217,255,.38) !important; }
.events-heading h2 { margin: 10px 0 12px !important; font-size: clamp(30px, 3.1vw, 46px) !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.events-heading p { margin: 0 !important; color: rgba(255,255,255,.72) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.8 !important; }
.event-card-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: clamp(34px, 4vw, 52px) !important; gap: clamp(18px, 2.5vw, 32px) !important; }
.event-card-grid-single { grid-template-columns: minmax(0, 680px) !important; justify-content: center !important; }
.event-card { overflow: hidden !important; border: 1px solid rgba(0,217,255,.22) !important; border-radius: 16px !important; background: linear-gradient(145deg, rgba(5,25,57,.94), rgba(1,12,29,.92)) !important; box-shadow: 0 22px 48px rgba(0,0,0,.24) !important; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important; }
.event-card:hover { transform: translateY(-6px) !important; border-color: rgba(0,217,255,.46) !important; box-shadow: 0 28px 60px rgba(0,0,0,.32), 0 0 24px rgba(0,217,255,.08) !important; }
.event-thumbnail { position: relative !important; aspect-ratio: 15 / 8 !important; min-height: clamp(190px, 18vw, 260px) !important; overflow: hidden !important; background: #020916 !important; }
.event-thumbnail img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .35s ease, filter .35s ease !important; }
.event-card:hover .event-thumbnail img { transform: scale(1.04) !important; filter: brightness(1.08) !important; }
.event-card-body { display: flex !important; flex-direction: column !important; padding: clamp(24px, 3vw, 34px) !important; }
.event-label { display: inline-flex !important; align-self: flex-start !important; width: fit-content !important; margin: 0 0 12px !important; padding: 5px 12px !important; border: 1px solid rgba(216,255,0,.5) !important; border-radius: 999px !important; color: var(--lime) !important; background: rgba(216,255,0,.06) !important; font-size: 11px !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.event-card h3 { margin: 0 !important; font-size: clamp(20px, 2vw, 28px) !important; font-weight: 900 !important; line-height: 1.42 !important; letter-spacing: .045em !important; }
.event-description { margin: 14px 0 20px !important; color: rgba(255,255,255,.76) !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.9 !important; }
.event-schedule { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; margin: 0 0 24px !important; gap: 10px !important; }
.event-schedule div { min-width: 0 !important; padding: 13px 14px !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 10px !important; background: rgba(255,255,255,.045) !important; }
.event-schedule dt { margin: 0 0 5px !important; color: #8beeff !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .12em !important; }
.event-schedule dd { margin: 0 !important; color: rgba(255,255,255,.94) !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1.45 !important; }
.event-button { display: inline-flex !important; align-items: center !important; align-self: center !important; justify-content: center !important; min-width: 210px !important; min-height: 50px !important; padding: 9px 22px !important; gap: 14px !important; border-radius: 4px !important; color: #021025 !important; background: var(--lime) !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: .05em !important; box-shadow: 0 0 22px rgba(216,255,0,.14) !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.event-button:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 28px rgba(216,255,0,.28) !important; }
.event-button b { font-size: 21px !important; font-weight: 600 !important; line-height: 1 !important; }

/* Parent guide on course page */
.course-parent-guide { position: relative !important; overflow: hidden !important; color: #071a3a !important; background: linear-gradient(180deg, #fff 0%, #f4f9fd 100%) !important; }
.course-parent-guide::before { position: absolute !important; top: -120px !important; right: -120px !important; width: 360px !important; height: 360px !important; border-radius: 50% !important; content: "" !important; background: radial-gradient(circle, rgba(0,174,247,.12), transparent 68%) !important; }
.course-parent-guide-inner { position: relative !important; z-index: 1 !important; display: grid !important; grid-template-columns: .95fr 1.05fr !important; width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 106px) 0 !important; gap: clamp(34px, 5vw, 72px) !important; }
.parent-guide-copy { align-self: center !important; }
.parent-guide-kicker { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.parent-guide-copy h2 { margin: 10px 0 14px !important; font-size: clamp(30px, 3.1vw, 44px) !important; font-weight: 900 !important; letter-spacing: .07em !important; }
.parent-guide-lead { margin: 0 0 18px !important; color: #087fc5 !important; font-size: clamp(20px, 2.2vw, 30px) !important; font-weight: 900 !important; line-height: 1.55 !important; letter-spacing: .035em !important; }
.parent-guide-copy > p:not(.parent-guide-lead) { margin: 0 !important; color: #40506a !important; font-size: 14px !important; font-weight: 500 !important; line-height: 2 !important; }
.parent-guide-button { display: flex !important; align-items: center !important; justify-content: center !important; width: fit-content !important; min-width: 270px !important; min-height: 56px !important; margin: 28px auto 0 !important; padding: 10px 24px !important; gap: 15px !important; border-radius: 4px !important; color: #fff !important; background: linear-gradient(135deg, #087fc5, #1259ba) !important; font-size: 14px !important; font-weight: 900 !important; letter-spacing: .05em !important; box-shadow: 0 12px 26px rgba(8,127,197,.22) !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.parent-guide-button:hover { transform: translateY(-3px) !important; box-shadow: 0 16px 34px rgba(8,127,197,.3) !important; }
.parent-guide-button b { font-size: 24px !important; font-weight: 500 !important; line-height: 1 !important; }
.parent-guide-points { display: grid !important; gap: 16px !important; }
.parent-guide-points article { position: relative !important; min-height: 132px !important; padding: 26px 28px 24px 92px !important; overflow: hidden !important; border: 1px solid #dce8f1 !important; border-radius: 12px !important; background: rgba(255,255,255,.9) !important; box-shadow: 0 14px 32px rgba(7,76,130,.08) !important; }
.parent-guide-points article::before { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 0 !important; width: 4px !important; content: "" !important; background: linear-gradient(180deg, #06b6ed, #1358b8) !important; }
.parent-guide-points span { position: absolute !important; top: 28px !important; left: 28px !important; display: grid !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; place-items: center !important; color: #fff !important; background: linear-gradient(135deg, #07b7eb, #1764c5) !important; font: 700 20px/1 "Rajdhani", sans-serif !important; box-shadow: 0 10px 20px rgba(8,127,197,.18) !important; }
.parent-guide-points h3 { margin: 0 0 8px !important; font-size: 19px !important; font-weight: 900 !important; letter-spacing: .05em !important; }
.parent-guide-points p { margin: 0 !important; color: #526077 !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.85 !important; }

/* Counseling CTA */
.course-counseling { position: relative !important; overflow: hidden !important; color: #071a3a !important; background: linear-gradient(135deg, #ecf8ff 0%, #fff 46%, #f7fbff 100%) !important; }
.course-counseling::before { position: absolute !important; inset: 0 !important; content: "" !important; background-image: radial-gradient(circle at 16% 24%, rgba(0,174,247,.16), transparent 28%), radial-gradient(circle at 92% 18%, rgba(216,255,0,.16), transparent 22%) !important; pointer-events: none !important; }
.course-counseling-inner { position: relative !important; z-index: 1 !important; display: grid !important; grid-template-columns: .95fr 1.05fr !important; align-items: center !important; width: min(100% - 48px, 1320px) !important; margin: auto !important; padding: clamp(68px, 7vw, 106px) 0 !important; gap: clamp(34px, 5vw, 70px) !important; }
.counseling-visual { position: relative !important; overflow: hidden !important; border: 1px solid #d4e8f4 !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 22px 48px rgba(7,76,130,.12) !important; }
.counseling-visual::after { position: absolute !important; inset: 0 !important; border: 1px solid rgba(255,255,255,.55) !important; border-radius: inherit !important; content: "" !important; pointer-events: none !important; }
.counseling-visual img { display: block !important; width: 100% !important; aspect-ratio: 16 / 11 !important; object-fit: cover !important; }
.counseling-copy { min-width: 0 !important; }
.counseling-kicker { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.counseling-copy h2 { margin: 10px 0 16px !important; font-size: clamp(29px, 3vw, 43px) !important; font-weight: 900 !important; line-height: 1.35 !important; letter-spacing: .055em !important; }
.counseling-lead { margin: 0 0 18px !important; color: #087fc5 !important; font-size: clamp(19px, 2vw, 28px) !important; font-weight: 900 !important; line-height: 1.55 !important; letter-spacing: .03em !important; }
.counseling-copy > p:not(.counseling-lead) { margin: 0 !important; color: #40506a !important; font-size: 14px !important; font-weight: 500 !important; line-height: 2 !important; }
.counseling-button { display: flex !important; align-items: center !important; justify-content: center !important; width: fit-content !important; min-width: 300px !important; min-height: 58px !important; margin: 30px auto 0 !important; padding: 10px 26px !important; gap: 16px !important; border-radius: 4px !important; color: #021025 !important; background: var(--lime) !important; font-size: 14px !important; font-weight: 900 !important; letter-spacing: .05em !important; box-shadow: 0 13px 30px rgba(130,153,0,.22) !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.counseling-button:hover { transform: translateY(-3px) !important; box-shadow: 0 18px 38px rgba(130,153,0,.3) !important; }
.counseling-button b { font-size: 24px !important; font-weight: 600 !important; line-height: 1 !important; }

/* FAQ */
.course-faq { color: #071a3a !important; background: #fff !important; }
.course-faq-inner { width: min(100% - 48px, 980px) !important; margin: auto !important; padding: clamp(62px, 6vw, 92px) 0 clamp(64px, 6vw, 92px) !important; }
.faq-heading { margin-bottom: 34px !important; text-align: center !important; }
.faq-heading span { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.faq-heading h2 { margin: 10px 0 14px !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 900 !important; line-height: 1.35 !important; letter-spacing: .08em !important; }
.faq-heading p { margin: 0 !important; color: #526177 !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.9 !important; }
.faq-list { display: grid !important; gap: 14px !important; }
.faq-item { overflow: hidden !important; border: 1px solid #dce8f1 !important; border-radius: 14px !important; background: linear-gradient(180deg, #fff 0%, #f8fcff 100%) !important; box-shadow: 0 16px 36px rgba(7,76,130,.07) !important; }
.faq-item summary { position: relative !important; display: flex !important; align-items: center !important; min-height: 72px !important; padding: 20px 64px 20px 26px !important; color: #071a3a !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.6 !important; letter-spacing: .035em !important; cursor: pointer !important; list-style: none !important; }
.faq-item summary::-webkit-details-marker { display: none !important; }
.faq-item summary::before { flex: 0 0 auto !important; display: grid !important; width: 30px !important; height: 30px !important; margin-right: 14px !important; place-items: center !important; border-radius: 999px !important; color: #fff !important; background: linear-gradient(135deg, #00aef7, #087fc5) !important; content: "Q" !important; font: 800 15px/1 "Rajdhani", sans-serif !important; }
.faq-item summary::after { position: absolute !important; top: 50% !important; right: 24px !important; display: grid !important; width: 30px !important; height: 30px !important; place-items: center !important; border: 1px solid #cde3f2 !important; border-radius: 999px !important; color: #087fc5 !important; background: #fff !important; content: "+" !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1 !important; transform: translateY(-50%) !important; transition: transform .2s ease, color .2s ease, background .2s ease !important; }
.faq-item[open] summary::after { color: #021025 !important; background: var(--lime) !important; content: "−" !important; }
.faq-answer { padding: 0 28px 24px 70px !important; color: #34435a !important; font-size: 14px !important; font-weight: 600 !important; line-height: 2 !important; }
.faq-answer p { margin: 0 !important; }
.faq-answer a { display: inline-block !important; margin: 2px 0 !important; color: #087fc5 !important; font-weight: 900 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }

/* Requirements */
.course-requirements { color: #071a3a !important; background: #fff !important; }
.course-requirements-inner { width: min(100% - 48px, 980px) !important; margin: auto !important; padding: clamp(62px, 6vw, 92px) 0 clamp(70px, 7vw, 104px) !important; }
.requirements-heading { margin-bottom: 34px !important; text-align: center !important; }
.requirements-heading span { color: #1688d4 !important; font: 700 13px/1 "Rajdhani", sans-serif !important; letter-spacing: .2em !important; }
.requirements-heading h2 { margin: 10px 0 0 !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.requirements-list { overflow: hidden !important; margin: 0 !important; border: 1px solid #dce8f1 !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 18px 42px rgba(7,76,130,.08) !important; }
.requirements-list div { display: grid !important; grid-template-columns: 190px 1fr !important; border-top: 1px solid #e6eef5 !important; }
.requirements-list div:first-child { border-top: 0 !important; }
.requirements-list dt { display: flex !important; align-items: center !important; margin: 0 !important; padding: 22px 26px !important; color: #087fc5 !important; background: #f2f9fd !important; font-size: 14px !important; font-weight: 900 !important; letter-spacing: .08em !important; }
.requirements-list dd { margin: 0 !important; padding: 22px 28px !important; color: #243247 !important; font-size: 15px !important; font-weight: 800 !important; line-height: 1.75 !important; }
.requirements-list small { color: #647086 !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.7 !important; }

.site-footer { display: grid !important; min-height: 54px !important; place-items: center !important; color: rgba(255,255,255,.78) !important; background: #02050a !important; }
.site-footer p { margin: 0 !important; padding: 14px 18px !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .04em !important; text-align: center !important; }

/* Fixed counseling CTA */
.theme-parents { padding-bottom: 84px !important; }
.fixed-counseling-cta { position: fixed !important; z-index: 120 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; min-height: 76px !important; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important; border-top: 1px solid rgba(231,194,89,.34) !important; background: linear-gradient(90deg, rgba(3,17,38,.82), rgba(6,27,61,.72) 48%, rgba(3,17,38,.82)), radial-gradient(circle at 50% 0%, rgba(200,156,58,.28), transparent 54%) !important; box-shadow: 0 -16px 38px rgba(0,0,0,.25) !important; backdrop-filter: blur(16px) saturate(135%) !important; -webkit-backdrop-filter: blur(16px) saturate(135%) !important; }
.fixed-counseling-cta a { display: flex !important; align-items: center !important; justify-content: center !important; width: min(100%, 430px) !important; min-height: 52px !important; padding: 12px 28px !important; border: 1px solid rgba(255,229,151,.46) !important; border-radius: 999px !important; color: #fff !important; background: linear-gradient(135deg, #f0c765 0%, #c89c3a 42%, #a46d0c 100%) !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: .06em !important; text-shadow: 0 1px 0 rgba(74,43,0,.22) !important; box-shadow: 0 14px 30px rgba(117,75,7,.28), inset 0 1px 0 rgba(255,255,255,.32) !important; transition: transform .2s ease, box-shadow .2s ease !important; }
.fixed-counseling-cta a:hover { transform: translateY(-2px) !important; box-shadow: 0 18px 38px rgba(117,75,7,.38), inset 0 1px 0 rgba(255,255,255,.36) !important; }
.theme-course { padding-bottom: 84px !important; }
.fixed-trial-cta { position: fixed !important; z-index: 120 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; min-height: 76px !important; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important; border-top: 1px solid rgba(0,217,255,.28) !important; background: linear-gradient(90deg, rgba(1,8,24,.86), rgba(0,34,77,.74) 50%, rgba(1,8,24,.86)), radial-gradient(circle at 50% 0%, rgba(0,217,255,.34), transparent 56%) !important; box-shadow: 0 -16px 40px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06) !important; backdrop-filter: blur(16px) saturate(145%) !important; -webkit-backdrop-filter: blur(16px) saturate(145%) !important; }
.fixed-trial-cta::before { position: absolute !important; inset: 0 !important; background-image: linear-gradient(90deg, transparent, rgba(0,217,255,.16), transparent), linear-gradient(rgba(0,217,255,.04) 1px, transparent 1px) !important; background-size: 420px 100%, 100% 12px !important; content: "" !important; pointer-events: none !important; opacity: .7 !important; }
.fixed-trial-cta a { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; width: min(100%, 440px) !important; min-height: 54px !important; padding: 12px 30px !important; border: 1px solid rgba(126,238,255,.65) !important; border-radius: 999px !important; color: #fff !important; background: linear-gradient(135deg, #00d9ff 0%, #0088ed 48%, #174dff 100%) !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: .07em !important; text-shadow: 0 1px 8px rgba(0,20,50,.42) !important; box-shadow: 0 0 0 1px rgba(0,217,255,.14), 0 0 26px rgba(0,217,255,.3), 0 16px 34px rgba(0,72,190,.28), inset 0 1px 0 rgba(255,255,255,.36) !important; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important; }
.fixed-trial-cta a::after { display: none !important; margin-left: 12px !important; color: var(--lime) !important; content: "" !important; font-size: 25px !important; font-weight: 800 !important; line-height: 1 !important; filter: drop-shadow(0 0 8px rgba(216,255,0,.5)) !important; }
.fixed-trial-cta a:hover { filter: brightness(1.05) !important; transform: translateY(-2px) !important; box-shadow: 0 0 0 1px rgba(0,217,255,.2), 0 0 34px rgba(0,217,255,.42), 0 20px 42px rgba(0,72,190,.36), inset 0 1px 0 rgba(255,255,255,.42) !important; }

@media (max-width: 1100px) {
  .learning-card-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; }
  .course-recommend-grid { grid-template-columns: 1fr !important; justify-content: center !important; }
  .course-recommend-card { width: 100% !important; max-width: 720px !important; margin: 0 auto !important; }
  .learning-card { padding-right: 22px !important; padding-left: 22px !important; }
  .curriculum-flow ol { grid-template-columns: repeat(5, minmax(132px, 1fr)) !important; overflow-x: auto !important; padding-bottom: 6px !important; }
  .curriculum-detail-grid { grid-template-columns: 1fr !important; }
  .curriculum-detail-grid-two { grid-template-columns: 1fr !important; }
  .event-card-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
  .course-about-inner { width: min(100% - 32px, 1320px) !important; padding: 58px 0 70px !important; }
  .course-overview { grid-template-columns: 1fr !important; margin-top: 36px !important; gap: 30px !important; }
  .course-overview-copy > p:not(.course-overview-lead) { font-size: 13px !important; line-height: 1.9 !important; }
  .blue-hacker-note { padding: 30px 24px 27px !important; }
  .course-learning { margin-top: 65px !important; }
  .course-learning-heading p { font-size: 12px !important; }
  .learning-card-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .learning-card { padding: 22px 13px 20px !important; }
  .course-recommend { margin-top: 54px !important; }
  .course-recommend-card h4 { min-height: 88px !important; padding: 18px 10px 20px !important; font-size: clamp(15px, 3.7vw, 19px) !important; letter-spacing: 0 !important; }
  .course-curriculum-inner { width: min(100% - 32px, 1320px) !important; padding: 62px 0 76px !important; }
  .curriculum-flow { margin-bottom: 32px !important; }
  .curriculum-level { padding: 24px 18px !important; border-radius: 10px !important; }
  .curriculum-level-header { display: grid !important; gap: 6px !important; }
  .curriculum-level-header h3 { font-size: 21px !important; }
  .curriculum-lead { font-size: 12px !important; line-height: 1.85 !important; }
  .curriculum-detail { padding: 16px 14px !important; }
  .course-events-inner { width: min(100% - 32px, 1320px) !important; padding: 60px 0 76px !important; }
  .event-thumbnail { min-height: 188px !important; }
  .event-card-body { padding: 24px 20px !important; }
  .event-description { font-size: 12px !important; }
  .course-parent-guide-inner { grid-template-columns: 1fr !important; width: min(100% - 32px, 1320px) !important; padding: 58px 0 70px !important; gap: 34px !important; }
  .parent-guide-copy { text-align: center !important; }
  .parent-guide-copy > p:not(.parent-guide-lead) { font-size: 13px !important; line-height: 1.9 !important; text-align: left !important; }
  .parent-guide-points article { min-height: 0 !important; padding: 24px 22px 22px 82px !important; }
  .course-counseling-inner { grid-template-columns: 1fr !important; width: min(100% - 32px, 1320px) !important; padding: 58px 0 72px !important; gap: 34px !important; }
  .counseling-copy { text-align: center !important; }
  .counseling-copy > p:not(.counseling-lead) { font-size: 13px !important; line-height: 1.9 !important; text-align: left !important; }
  .counseling-button { margin-right: auto !important; margin-left: auto !important; }
  .course-faq-inner { width: min(100% - 32px, 980px) !important; padding: 56px 0 72px !important; }
  .faq-item summary { min-height: 66px !important; padding: 18px 58px 18px 20px !important; font-size: 14px !important; }
  .faq-answer { padding: 0 22px 22px 64px !important; font-size: 13px !important; }
  .course-requirements-inner { width: min(100% - 32px, 980px) !important; padding: 56px 0 72px !important; }
  .requirements-list div { grid-template-columns: 1fr !important; }
  .requirements-list dt { padding: 15px 20px !important; }
  .requirements-list dd { padding: 18px 20px 22px !important; font-size: 14px !important; }
}

@media (max-width: 420px) {
  .course-about-inner { width: min(100% - 24px, 1320px) !important; padding-top: 48px !important; }
  .course-section-heading h2 { font-size: 25px !important; }
  .course-overview-lead { font-size: 20px !important; }
  .blue-hacker-note { padding: 26px 18px 24px !important; }
  .blue-hacker-note h3 { font-size: clamp(18px, 5vw, 22px) !important; }
  .blue-hacker-note h3::before { width: 27px !important; height: 27px !important; margin-right: 7px !important; }
  .blue-hacker-values { gap: 5px !important; }
  .blue-hacker-values span { min-width: 0 !important; min-height: 28px !important; padding: 4px clamp(4px, 1.3vw, 7px) !important; font-size: clamp(7px, 2.2vw, 11px) !important; }
  .blue-hacker-values b { font-size: clamp(8px, 2.4vw, 12px) !important; }
  .course-learning-heading h3 { font-size: 23px !important; }
  .learning-card h4 { font-size: 12px !important; }
  .learning-card p { font-size: 9px !important; }
  .learning-icon { width: 64px !important; height: 60px !important; }
  .learning-icon svg { width: 45px !important; height: 45px !important; }
  .course-recommend-heading h3 { font-size: 23px !important; }
  .course-recommend-card h4 { min-height: 78px !important; padding: 16px 6px 18px !important; font-size: clamp(13px, 3.55vw, 16px) !important; letter-spacing: 0 !important; }
  .course-curriculum-inner { width: min(100% - 24px, 1320px) !important; padding-top: 54px !important; }
  .curriculum-heading h2 { font-size: 27px !important; }
  .curriculum-flow { padding: 14px !important; }
  .curriculum-flow ol { grid-template-columns: repeat(5, 118px) !important; gap: 14px !important; }
  .curriculum-flow li { min-height: 86px !important; padding: 14px 8px !important; }
  .curriculum-flow b { font-size: 18px !important; }
  .curriculum-flow span { font-size: 10px !important; }
  .curriculum-detail ul, .curriculum-detail ol { font-size: 11px !important; }
  .course-events-inner { width: min(100% - 24px, 1320px) !important; padding-top: 54px !important; }
  .event-thumbnail { min-height: 156px !important; }
  .event-card h3 { font-size: 19px !important; }
  .event-schedule { grid-template-columns: 1fr !important; }
  .event-button { width: 100% !important; min-width: 0 !important; }
  .course-parent-guide-inner { width: min(100% - 24px, 1320px) !important; padding-top: 50px !important; }
  .parent-guide-copy h2 { font-size: 27px !important; }
  .parent-guide-lead { font-size: 19px !important; }
  .parent-guide-button { width: 100% !important; min-width: 0 !important; }
  .parent-guide-points article { padding: 22px 18px !important; text-align: center !important; }
  .parent-guide-points span { position: static !important; margin: 0 auto 14px !important; }
  .course-counseling-inner { width: min(100% - 24px, 1320px) !important; padding-top: 50px !important; }
  .counseling-copy h2 { font-size: 26px !important; }
  .counseling-lead { font-size: 18px !important; }
  .counseling-button { width: 100% !important; min-width: 0 !important; }
  .course-faq-inner { width: min(100% - 24px, 980px) !important; padding-top: 50px !important; }
  .faq-heading h2 { font-size: 27px !important; }
  .faq-heading p { font-size: 12px !important; }
  .faq-item summary { align-items: flex-start !important; padding: 17px 52px 17px 16px !important; font-size: 13px !important; }
  .faq-item summary::before { width: 26px !important; height: 26px !important; margin-top: 1px !important; margin-right: 10px !important; font-size: 13px !important; }
  .faq-item summary::after { right: 16px !important; width: 26px !important; height: 26px !important; font-size: 20px !important; }
  .faq-answer { padding: 0 18px 20px 52px !important; font-size: 12px !important; line-height: 1.9 !important; }
  .fixed-counseling-cta a { width: min(86vw, 340px) !important; min-height: 48px !important; padding: 10px 20px !important; font-size: 14px !important; }
  .fixed-trial-cta a { width: min(86vw, 350px) !important; min-height: 48px !important; padding: 10px 20px !important; font-size: 14px !important; letter-spacing: .04em !important; }
  .fixed-trial-cta a::after { margin-left: 9px !important; font-size: 22px !important; }
  .course-requirements-inner { width: min(100% - 24px, 980px) !important; padding-top: 50px !important; }
  .requirements-heading h2 { font-size: 27px !important; }
  .requirements-list dt { font-size: 13px !important; }
  .requirements-list dd { font-size: 13px !important; }
  .requirements-list small { font-size: 11px !important; }
}

@media (max-width: 980px) {
  .course-hero { min-height: clamp(520px, 60vw, 580px) !important; }
  .hero-visual { background-position: 58% center !important; }
  .hero-vignette { background: linear-gradient(90deg, rgba(1,9,24,.96), rgba(1,10,26,.67) 48%, rgba(0,7,20,.15) 80%), linear-gradient(0deg, rgba(0,8,24,.7), transparent 45%) !important; }
  .hero-content { width: min(100% - 40px, 1440px) !important; padding-top: 38px !important; }
  .hero-lead { font-size: clamp(30px, 4.8vw, 43px) !important; }
  .hero-name { font-size: clamp(45px, 7.4vw, 64px) !important; }
  .achievement-inner { grid-template-columns: 1.2fr repeat(5, 1fr) !important; width: min(100% - 24px, 1440px) !important; }
  .achievement-heading { padding-right: 12px !important; }
  .achievement-heading strong { font-size: clamp(15px, 2vw, 18px) !important; letter-spacing: .01em !important; }
  .achievement-heading p { font-size: clamp(7px, 1vw, 9px) !important; }
}

@media (max-width: 760px) {
  .course-hero { min-height: 0 !important; }
  .hero-visual { background-position: 63% center !important; background-size: auto 100% !important; }
  .hero-vignette { background: linear-gradient(90deg, rgba(1,9,24,.96) 0%, rgba(1,10,26,.72) 48%, rgba(0,7,20,.22) 100%), linear-gradient(0deg, rgba(0,8,24,.92) 0%, transparent 45%, rgba(0,7,20,.42) 100%) !important; }
  .hero-content { width: calc(100% - 32px) !important; padding: 28px 0 18px !important; }
  .hero-lead { font-size: clamp(27px, 7.2vw, 38px) !important; line-height: 1.24 !important; }
  .hero-audience { margin-top: 10px !important; font-size: clamp(11px, 2.6vw, 14px) !important; line-height: 1.55 !important; }
  .hero-name { font-size: clamp(40px, 11.5vw, 56px) !important; }
  .hero-versus { width: min(100%, 335px) !important; min-height: 41px !important; margin-top: 6px !important; font-size: clamp(15px, 3.6vw, 19px) !important; }
  .hero-note { font-size: 10px !important; line-height: 1.55 !important; }
  .hero-actions { position: static !important; width: min(100%, 514px) !important; margin-top: 14px !important; }
  .hero-action { min-height: 52px !important; padding: 8px 32px !important; font-size: 11px !important; }
  .hero-action svg { width: 18px !important; }
  .achievement-inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; width: 100% !important; overflow: visible !important; }
  .achievement-heading { grid-column: 1 / -1 !important; align-items: center !important; min-height: 112px !important; padding: 20px 22px !important; text-align: center !important; }
  .achievement-heading strong { font-size: 21px !important; }
  .achievement-heading p { font-size: 10px !important; }
  .achievement-card { min-height: 118px !important; border-top: 1px solid rgba(55,138,219,.35) !important; }
  .achievement-card-linked strong { margin: 6px 0 0 !important; line-height: 1 !important; }
  .achievement-card-linked .achievement-link { margin-top: 2px !important; line-height: 1 !important; }
  .achievement-card:nth-of-type(even) { border-right: 1px solid rgba(55,138,219,.35) !important; }
  .achievement-card-wide-mobile { grid-column: 1 / -1 !important; }
}

@media (max-width: 560px) {
  .course-hero { min-height: 0 !important; }
  .hero-visual { background-position: 61% center !important; }
  .hero-vignette { background: linear-gradient(90deg, rgba(1,9,24,.96), rgba(1,10,26,.62) 82%, rgba(0,7,20,.34)), linear-gradient(0deg, rgba(0,8,24,.96), transparent 52%, rgba(0,7,20,.46)) !important; }
  .hero-actions { grid-template-columns: 1fr !important; gap: 8px !important; }
  .hero-action { width: 100% !important; font-size: 12px !important; }
}

@media (max-width: 420px) {
  .course-hero { min-height: 0 !important; }
  .hero-content { width: calc(100% - 24px) !important; padding: 22px 0 14px !important; }
  .hero-lead { font-size: clamp(25px, 8.2vw, 32px) !important; }
  .hero-name { font-size: clamp(37px, 12vw, 48px) !important; }
  .hero-audience { font-size: 11px !important; }
  .hero-versus { width: min(100%, 285px) !important; min-height: 38px !important; gap: 10px !important; font-size: 15px !important; }
  .hero-note { font-size: 10px !important; }
  .hero-action svg { display: none !important; }
  .achievement-heading { min-height: 100px !important; padding: 17px 16px !important; }
  .achievement-heading strong { font-size: 19px !important; }
  .achievement-card { min-height: 108px !important; }
}

@media (max-width: 980px) {
  :root { --header-height: 68px !important; }
  .header-frame { width: min(100% - 32px, 1440px) !important; }
  .brand { gap: 9px !important; }
  .brand-mark { width: 38px !important; height: 44px !important; }
  .brand-copy strong { font-size: 21px !important; }
  .brand-copy small { font-size: 8px !important; }
  .mobile-page-switch { display: flex !important; margin-left: auto !important; margin-right: 10px !important; }
  .menu-button { position: relative !important; z-index: 3 !important; display: block !important; }
  .menu-button[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
  .menu-button[aria-expanded="true"] > span:nth-child(2) { opacity: 0 !important; }
  .menu-button[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }
  .global-nav { position: fixed !important; z-index: 2 !important; top: var(--header-height) !important; right: 0 !important; left: 0 !important; display: grid !important; height: auto !important; max-height: 0 !important; padding: 0 20px !important; gap: 0 !important; overflow: hidden !important; opacity: 0 !important; transition: max-height .35s ease, padding .35s ease, opacity .2s ease !important; }
  .global-nav.is-open { max-height: calc(100vh - var(--header-height)) !important; padding: 18px 20px 24px !important; opacity: 1 !important; }
  .global-nav > a:not(.page-switch):not(.header-cta) { display: block !important; padding: 14px 4px !important; border-bottom: 1px solid !important; }
  .global-nav .page-switch { display: none !important; }
  .header-cta { min-width: 0 !important; }
  .theme-course .global-nav { background: rgba(2,12,29,.98) !important; }
  .theme-course .global-nav > a:not(.page-switch):not(.header-cta) { border-color: rgba(0,217,255,.15) !important; }
  .theme-parents .global-nav { background: rgba(255,255,255,.99) !important; box-shadow: 0 16px 30px rgba(7,26,58,.12) !important; }
  .theme-parents .global-nav > a:not(.page-switch):not(.header-cta) { border-color: rgba(7,26,58,.1) !important; }
}

@media (max-width: 520px) {
  .header-frame { width: calc(100% - 20px) !important; }
  .brand { gap: 6px !important; }
  .brand-mark { width: 32px !important; height: 38px !important; }
  .brand-copy strong { font-size: 17px !important; }
  .brand-copy small { margin-top: 3px !important; font-size: 7px !important; letter-spacing: .02em !important; }
  .mobile-page-switch { min-height: 38px !important; margin-right: 3px !important; padding: 0 8px !important; gap: 4px !important; font-size: 10px !important; }
  .mobile-page-switch svg { width: 14px !important; }
  .menu-button { width: 39px !important; padding: 8px !important; }
}

@media (max-width: 370px) {
  .brand-copy strong { font-size: 15px !important; }
  .brand-copy small { font-size: 6px !important; }
  .mobile-page-switch { font-size: 9px !important; }
  .mobile-page-switch svg { display: none !important; }
}

