.star-page {
  --star-ink: #203257;
  --star-muted: #59687a;
  --star-blue: #2e66ed;
  --star-blue-soft: #edf2fe;
  --star-yellow: #faba21;
  --star-yellow-dark: #dfa000;
  --star-yellow-soft: #fef6e3;
  --star-orange: #ed863f;
  --star-navy: #101827;
  --star-paper: #fff;
  --star-soft: #f3f1f4;
  --star-warm: #faf8f4;
  --star-line: #e5e5e8;
  --star-shadow: 0 22px 60px -36px rgba(16, 24, 39, .45);
  color: var(--star-ink);
  font-family: "Noto Sans", Inter, system-ui, sans-serif;
  line-height: 1.6;
  overflow: clip;
}
.star-page *, .star-page *::before, .star-page *::after { box-sizing: border-box; }
.star-page img { display: block; max-width: 100%; }
.star-page h1, .star-page h2, .star-page h3, .star-page p { margin-top: 0; }
.star-page h1, .star-page h2, .star-page h3 { color: var(--star-ink); font-family: "Noto Sans", Inter, system-ui, sans-serif; line-height: 1.12; }
.star-page h1 { font-size: clamp(2.25rem, 5.3vw, 4.35rem); font-weight: 800; letter-spacing: -.045em; margin-bottom: 22px; }
.star-page h1 span { color: var(--star-blue); }
.star-page h2 { font-size: clamp(1.8rem, 3.6vw, 3rem); font-weight: 750; letter-spacing: -.035em; margin-bottom: 18px; }
.star-page h3 { font-size: 1.22rem; font-weight: 750; margin-bottom: 9px; }
.star-wrap { margin-inline: auto; width: calc(100% - (2 * var(--x-pad))); }
.star-section { padding-block: clamp(64px, 8vw, 112px); position: relative; }
.star-section-head { margin-bottom: 42px; max-width: 720px; }
.star-section-head .star-lead { margin-bottom: 0; }
.star-eyebrow { color: var(--star-orange); font-size: .8rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 12px; text-transform: uppercase; }
.star-lead { color: var(--star-muted); font-size: clamp(1.02rem, 1.5vw, 1.22rem); max-width: 66ch; }
.star-soft { background: var(--star-soft); }
.star-warm { background: var(--star-warm); }

.star-hero { background: radial-gradient(900px 500px at 92% 0, var(--star-blue-soft), transparent 64%), radial-gradient(650px 380px at 0 100%, var(--star-yellow-soft), transparent 62%), #fff; }
.star-hero-grid { align-items: center; display: grid; gap: clamp(38px, 6vw, 76px); grid-template-columns: 1.08fr .92fr; min-height: 720px; padding-block: clamp(56px, 7vw, 92px); }
.star-badge { align-items: center; background: #fff; border: 1px solid rgba(32, 50, 87, .06); border-radius: 999px; box-shadow: var(--star-shadow); display: inline-flex; font-size: .88rem; font-weight: 700; gap: 8px; margin-bottom: 24px; padding: 9px 15px; }
.star-badge span { align-items: center; background: var(--star-yellow-soft); border-radius: 50%; color: var(--star-yellow-dark); display: inline-flex; height: 28px; justify-content: center; width: 28px; }
.star-hero-text { margin-bottom: 30px; max-width: 48ch; }
.star-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 34px; }
.star-btn { align-items: center; border: 0; border-radius: 999px; cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; justify-content: center; min-height: 52px; padding: 13px 26px; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.star-btn:hover { transform: translateY(-2px); }
.star-btn-primary { background: var(--star-yellow); box-shadow: 0 16px 34px -18px rgba(250, 186, 33, .9); color: #302706; }
.star-btn-primary:hover { background: var(--star-yellow-dark); color: #fff; }
.star-btn-ghost { background: #fff; box-shadow: inset 0 0 0 1.5px #d9e1ee; color: var(--star-ink); }
.star-btn-ghost:hover { box-shadow: inset 0 0 0 1.5px var(--star-blue); color: var(--star-blue); }
.star-facts { display: grid; gap: 20px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.star-fact { align-items: flex-start; display: flex; gap: 12px; }
.star-icon { align-items: center; background: var(--star-blue-soft); border-radius: 12px; display: inline-flex; flex: 0 0 40px; font-size: 1rem; height: 40px; justify-content: center; }
.star-fact strong, .star-fact span { display: block; }
.star-fact strong { font-size: .98rem; line-height: 1.3; }
.star-fact div > span { color: var(--star-muted); font-size: .86rem; line-height: 1.4; margin-top: 3px; }
.star-hero-visual { border-radius: 30px; box-shadow: 0 32px 70px -38px rgba(16, 24, 39, .58); min-height: 535px; overflow: visible; position: relative; }
.star-hero-visual > img, .star-brand-placeholder { border-radius: inherit; height: 535px; object-fit: cover; width: 100%; }
.star-brand-placeholder { align-items: center; background: linear-gradient(145deg, #d9e5ff, #fff4d8); color: var(--star-blue); display: flex; flex-direction: column; justify-content: center; text-align: center; }
.star-brand-placeholder strong { font-size: clamp(2.5rem, 6vw, 5rem); letter-spacing: -.06em; line-height: 1; }
.star-brand-placeholder span { color: var(--star-ink); font-size: 1rem; font-weight: 700; margin-top: 14px; }
.star-float { align-items: baseline; background: #fff; border-radius: 18px; bottom: -20px; box-shadow: var(--star-shadow); display: flex; gap: 8px; left: -22px; padding: 18px 22px; position: absolute; }
.star-float strong { color: var(--star-orange); font-size: 1.8rem; line-height: 1; }
.star-float span { color: var(--star-muted); font-weight: 700; }

.star-network { background: var(--star-soft); }
.star-location-grid { display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.star-location-card { background: #fff; border-radius: 20px; box-shadow: var(--star-shadow); color: inherit; display: flex; flex-direction: column; min-height: 215px; padding: 26px 22px; position: relative; text-decoration: none; transition: transform .2s, box-shadow .2s; }
a.star-location-card:hover { box-shadow: 0 28px 60px -34px rgba(16, 24, 39, .62); transform: translateY(-4px); }
.star-location-card.is-current { outline: 2px solid var(--star-yellow); }
.star-current { background: var(--star-yellow); border-radius: 999px; color: #302706; font-size: .72rem; font-weight: 800; padding: 4px 10px; position: absolute; right: 15px; top: 15px; }
.star-city { color: var(--star-blue); font-size: .91rem; font-weight: 750; }
.star-location-card p { color: var(--star-muted); font-size: .92rem; margin: 14px 0 0; }
.star-link { color: var(--star-blue); font-size: .9rem; font-weight: 800; margin-top: auto; padding-top: 16px; }

.star-split { align-items: center; display: grid; gap: clamp(38px, 6vw, 78px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.star-split.is-reverse .star-copy { order: 2; }
.star-feature-media { align-items: center; aspect-ratio: 5/4; background: linear-gradient(145deg, var(--star-blue-soft), var(--star-yellow-soft)); border-radius: 28px; box-shadow: var(--star-shadow); display: flex; font-size: clamp(4rem, 10vw, 8rem); justify-content: center; overflow: hidden; }
.star-feature-media img { height: 100%; object-fit: cover; width: 100%; }
.star-checks { display: grid; gap: 14px; list-style: none; margin: 26px 0; padding: 0; }
.star-checks li { align-items: flex-start; color: var(--star-ink); display: flex; gap: 12px; }
.star-checks li span { align-items: center; background: var(--star-yellow-soft); border-radius: 50%; color: var(--star-yellow-dark); display: inline-flex; flex: 0 0 25px; font-size: .85rem; font-weight: 900; height: 25px; justify-content: center; }
.star-inline-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.star-inline-links a { color: var(--star-blue); font-weight: 750; text-decoration: none; }

.star-trust { background: var(--star-navy); color: #dbe7f3; }
.star-trust h2 { color: #fff; }
.star-trust .star-eyebrow { color: var(--star-yellow); }
.star-trust .star-lead { color: #aebfd0; }
.star-stats { display: grid; gap: 28px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 44px; }
.star-stats strong { color: #fff; display: block; font-size: clamp(2rem, 4vw, 3.15rem); letter-spacing: -.04em; line-height: 1; }
.star-stats p { color: #99acbf; font-size: .94rem; margin: 10px 0 0; }
.star-trust-badges { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 44px; }
.star-trust-badges span { align-items: center; background: rgba(255, 255, 255, .08); border-radius: 13px; display: inline-flex; gap: 9px; padding: 11px 16px; }
.star-trust-badges b { color: var(--star-yellow); }

.star-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.star-card { background: #fff; border-radius: 20px; box-shadow: var(--star-shadow); color: inherit; display: flex; flex-direction: column; min-height: 230px; padding: 27px 25px; text-decoration: none; transition: transform .2s, box-shadow .2s; }
a.star-card:hover { box-shadow: 0 30px 62px -36px rgba(16, 24, 39, .62); transform: translateY(-4px); }
.star-card-icon { align-items: center; background: var(--star-blue-soft); border-radius: 15px; display: inline-flex; font-size: 1.45rem; height: 52px; justify-content: center; margin-bottom: 18px; width: 52px; }
.star-card p { color: var(--star-muted); font-size: .94rem; }
.star-card .star-link { margin-top: auto; }
.star-schedule { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.star-schedule .star-card { min-height: 245px; }

.star-video { align-items: center; aspect-ratio: 16/9; background: linear-gradient(135deg, #264866, var(--star-navy)) center/cover; border: 0; border-radius: 28px; box-shadow: var(--star-shadow); cursor: pointer; display: flex; justify-content: center; overflow: hidden; padding: 0; width: 100%; }
.star-play { background: #fff; border-radius: 50%; box-shadow: 0 20px 50px -18px #000; display: block; height: 82px; position: relative; transition: transform .2s; width: 82px; }
.star-play::after { border-color: transparent transparent transparent var(--star-orange); border-style: solid; border-width: 14px 0 14px 22px; content: ""; left: 33px; position: absolute; top: 27px; }
.star-video:hover .star-play, .star-review-media:hover .star-play { transform: scale(1.06); }
.star-video iframe, .star-review-media iframe { border: 0; height: 100%; width: 100%; }
.star-review-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.star-review { background: #fff; border-radius: 20px; box-shadow: var(--star-shadow); overflow: hidden; }
.star-review-media, .star-review > img { align-items: center; aspect-ratio: 4/3; background: linear-gradient(145deg, var(--star-blue-soft), var(--star-yellow-soft)) center/cover; border: 0; cursor: pointer; display: flex; justify-content: center; padding: 0; width: 100%; }
.star-review-media .star-play { height: 58px; width: 58px; }
.star-review-media .star-play::after { border-width: 10px 0 10px 16px; left: 24px; top: 19px; }
.star-review > div { padding: 19px 20px 22px; }
.star-review strong, .star-review span { display: block; }
.star-review span, .star-review p { color: var(--star-muted); font-size: .9rem; }
.star-review p { margin: 10px 0 0; }

.star-gallery { display: grid; gap: 15px; grid-auto-rows: 210px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.star-gallery-item { border: 0; border-radius: 17px; cursor: zoom-in; overflow: hidden; padding: 0; }
.star-gallery-item.is-large { grid-column: span 2; grid-row: span 2; }
.star-gallery-item img { height: 100%; object-fit: cover; transition: transform .35s; width: 100%; }
.star-gallery-item:hover img { transform: scale(1.035); }

.star-faq-wrap { max-width: 900px; }
.star-faq-wrap .star-section-head { margin-inline: auto; text-align: center; }
.star-faq-item { border-bottom: 1px solid var(--star-line); }
.star-faq-item > button { align-items: center; background: transparent; border: 0; color: var(--star-ink); cursor: pointer; display: flex; font: inherit; font-size: 1.06rem; font-weight: 750; justify-content: space-between; padding: 23px 0; text-align: left; width: 100%; }
.star-faq-item > button span { color: var(--star-orange); font-size: 1.55rem; transition: transform .25s; }
.star-faq-item > div { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.star-faq-item > div > p { color: var(--star-muted); margin: 0; overflow: hidden; }
.star-faq-item.is-open > div { grid-template-rows: 1fr; }
.star-faq-item.is-open > div > p { padding-bottom: 23px; }
.star-faq-item.is-open > button span { transform: rotate(45deg); }

.star-enroll { background: radial-gradient(700px 330px at 92% 0, var(--star-blue-soft), transparent 65%), var(--star-soft); }
.star-enroll-card { align-items: center; background: #fff; border-radius: 28px; box-shadow: var(--star-shadow); display: grid; gap: clamp(32px, 6vw, 76px); grid-template-columns: 1.15fr .85fr; padding: clamp(30px, 5vw, 58px); }
.star-enroll-action { background: var(--star-navy); border-radius: 22px; color: #dbe7f3; padding: 30px; }
.star-enroll-action strong { color: #fff; display: block; font-size: 1.35rem; margin-bottom: 8px; }
.star-enroll-action p { color: #aebfd0; margin-bottom: 22px; }
.star-enroll-action .star-btn { width: 100%; }
.star-seo { background: var(--star-warm); }
.star-seo .seo-text-container { width: 100%; }
.star-mobile-cta { display: none; }

.star-lightbox { align-items: center; background: rgba(16, 24, 39, .92); display: flex; inset: 0; justify-content: center; padding: 50px 24px 24px; position: fixed; z-index: 99999; }
.star-lightbox[hidden] { display: none; }
.star-lightbox > button { background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 2.4rem; position: absolute; right: 24px; top: 12px; }
.star-lightbox > div { max-height: 86vh; max-width: 1080px; }
.star-lightbox img { max-height: 86vh; object-fit: contain; }

.star-reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.star-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .star-reveal { opacity: 1; transform: none; transition: none; } }

@media (max-width: 1000px) {
  .star-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .star-hero-visual { margin-inline: auto; max-width: 560px; width: 100%; }
  .star-location-grid, .star-stats, .star-schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .star-split { grid-template-columns: 1fr; }
  .star-split.is-reverse .star-copy { order: 0; }
  .star-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .star-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .star-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .star-enroll-card { grid-template-columns: 1fr; }
  .star-mobile-cta { background: rgba(255, 255, 255, .96); border-top: 1px solid var(--star-line); bottom: 0; box-shadow: 0 -14px 34px -26px #000; display: flex; gap: 10px; left: 0; padding: 10px 14px; position: fixed; right: 0; z-index: 80; }
  .star-mobile-cta .star-btn { flex: 1; min-height: 48px; padding: 10px; }
}
@media (max-width: 620px) {
  .star-section { padding-block: 62px; }
  .star-hero-grid { padding-block: 44px 62px; }
  .star-facts, .star-location-grid, .star-stats, .star-card-grid, .star-schedule, .star-review-grid, .star-gallery { grid-template-columns: 1fr; }
  .star-hero-visual, .star-hero-visual > img, .star-brand-placeholder { min-height: 390px; height: 390px; }
  .star-float { bottom: -14px; left: 12px; }
  .star-gallery-item.is-large { grid-column: auto; grid-row: auto; }
  .star-gallery { grid-auto-rows: 240px; }
}
