/* Home-only design tokens: one rhythm, one control shape, one surface system. */
html body.premium-home.home-page {
  --bg:#ffffff; --surface:#ffffff; --surface-alt:#f2f6f5;
  --text:#263631; --muted:#596b65; --text-soft:#6b7d75;
  --primary:#197263; --primary-dark:#12584c; --border:#dce5e1;
  --glass:rgba(255,255,255,.96); --home-radius:8px; --home-gap:24px;
  --home-section-space:80px; --home-heading:2.5rem;
  --home-accent-coral:#fce5df; --home-accent-mint:#d7f1e5;
  --home-accent-blue:#dcecf9; --home-accent-yellow:#fff0bd;
  background:var(--bg); color:var(--text);
}
html[data-theme="dark"] body.premium-home.home-page {
  --bg:#171d1b; --surface:#222b27; --surface-alt:#1c2420;
  --text:#edf5f0; --muted:#b6c9bf; --text-soft:#a0b7aa;
  --primary:#a0dfc6; --primary-dark:#bfefdb; --border:#394a41;
  --glass:rgba(23,29,27,.96);
  --home-accent-coral:#513b36; --home-accent-mint:#2b493a;
  --home-accent-blue:#2c404d; --home-accent-yellow:#48432c;
}
body.premium-home.home-page * { letter-spacing:0; }
.home-page .scene-atmosphere { background:none; }
.home-page .scene-atmosphere::after { display:none; }
.premium-home.home-page .container { width:min(1280px,calc(100% - 64px)); }
.premium-home.home-page .site-header {
  --primary:#6846bc; --primary-dark:#50328f; --text:#302a43; --muted:#655f75;
  --surface:#fff; --surface-alt:#f2edfc; --border:#e7e3ef;
  padding:0; background:var(--surface); border-bottom:1px solid var(--border);
}
.premium-home.home-page.dark .site-header {
  --primary:#d3bdff; --primary-dark:#e4d7ff; --text:#f4f0fc; --muted:#c4bdd2;
  --surface:#211f29; --surface-alt:#373043; --border:#40394e;
}
.premium-home.home-page .nav-wrap {
  width:min(1440px,calc(100% - 48px)); min-height:80px;
  border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none;
}
.premium-home.home-page .brand-name strong { font-size:1.25rem; }
.premium-home.home-page .brand-logo { width:46px; height:46px; flex-basis:46px; }
.premium-home.home-page .main-nav { border-radius:var(--home-radius); }
.premium-home.home-page :is(.main-nav>a,.theme-toggle,.menu-toggle,.language-toggle) { border-radius:var(--home-radius); }
.premium-home.home-page .main-nav>a.active { background:var(--surface-alt); color:var(--primary); box-shadow:none; }
.premium-home.home-page .site-header .btn-outline { color:var(--primary); }
.premium-home.home-page .site-header .btn:not(.btn-outline) { color:#fff; }
.premium-home.home-page.dark .site-header .btn:not(.btn-outline) { color:#281d40; }
html.has-home-header { scroll-padding-top:var(--home-header-offset,100px)!important; }
@media(min-width:1321px) {
  .premium-home.home-page .nav-wrap { grid-template-columns:auto minmax(0,1fr) auto!important; gap:18px!important; padding:8px 0!important; }
  .premium-home.home-page .nav-wrap>.brand { grid-column:1; grid-row:1; }
  .premium-home.home-page .main-nav { grid-column:2; grid-row:1; border:0; padding:0; gap:2px; }
  .premium-home.home-page .nav-actions { grid-column:3; grid-row:1; }
  .premium-home.home-page .main-nav>a { flex:0 1 auto; padding:10px 9px!important; font-size:.86rem!important; white-space:normal; text-align:center; line-height:1.5; }
  .premium-home.home-page .main-nav .nav-section-icon { display:none; }
  .premium-home.home-page .main-nav>a.active::after { display:block; content:""; position:absolute; height:3px; inset-inline:12px; bottom:2px; background:var(--primary); border-radius:2px; }
}
.premium-home.home-page .section {
  padding-block:var(--home-section-space); background:var(--bg);
  border:0; border-top:1px solid var(--border); isolation:isolate;
}
.premium-home.home-page .creative-section { background:transparent; }
.premium-home.home-page :is(#learning,#parents,#features) { background:var(--surface-alt); }
.premium-home.home-page .section-heading { display:block; margin:0 0 32px; max-width:none; text-align:start; }
.premium-home.home-page :is(.section-heading,.creative-copy) h2 {
  font-family:var(--display-font); font-size:var(--home-heading);
  line-height:1.35; letter-spacing:0; margin:0 0 16px; max-width:none;
}
.premium-home.home-page .section-heading p,.home-page .creative-copy>p {
  max-width:700px; margin:0; font-size:1rem; line-height:1.9; color:var(--muted);
}
.premium-home.home-page .eyebrow { font-size:.8rem; line-height:1.6; margin:0 0 12px; letter-spacing:0; color:var(--muted); }
.home-page .chapter-number,.home-page .home-section-icon { display:none; }
.premium-home.home-page .hero-copy h1 { font-size:4.5rem; letter-spacing:0; line-height:1.2; }
.premium-home.home-page .hero-copy h1 .hero-title-accent { background:none; color:var(--primary); -webkit-text-fill-color:currentColor; }
.premium-home.home-page .hero-kicker { border-radius:var(--home-radius); }
.premium-home.home-page .hero-copy>p { font-size:1rem; line-height:1.9; }
.premium-home.home-page .stats { padding-block:32px; }
.premium-home.home-page .stats-grid { gap:var(--home-gap); }
.premium-home.home-page .stat-item {
  border:1px solid var(--border); border-radius:var(--home-radius);
  background:var(--surface); padding:24px; box-shadow:none; transform:none;
}
.premium-home.home-page .stat-icon { width:48px; height:48px; flex-basis:48px; border-radius:var(--home-radius); background:var(--home-accent-mint); }
.home-page .stat-happy .stat-icon { background:var(--home-accent-yellow); }
.home-page .stat-support .stat-icon { background:var(--home-accent-blue); }
.premium-home.home-page .stat-icon svg { width:32px; height:32px; }
.premium-home.home-page .stat-copy span { color:var(--muted); }
.premium-home.home-page .stat-copy strong { font-size:2rem; }
.premium-home.home-page :is(.courses-grid,.pricing-grid,.hub-grid,.home-feature-grid) { gap:var(--home-gap); }
.premium-home.home-page :is(.course-card,.pricing-card,.path-card,.student-class,.student-exam,.home-feature-grid article,.parent-path-item,.parent-list-item,.parent-overview article) {
  border:1px solid var(--border); border-radius:var(--home-radius);
  background:var(--surface); padding:24px; box-shadow:none; min-width:0;
}
.premium-home.home-page :is(.course-card,.pricing-card,.path-card):hover { transform:translateY(-3px); border-color:var(--primary); box-shadow:0 6px 18px #172d2410; }
.home-page .course-card::before { display:none; }
.premium-home.home-page .pricing-card.featured { background:var(--surface); border:2px solid var(--primary); padding:23px; }
.premium-home.home-page .course-card h3 { font-size:1.5rem; line-height:1.4; letter-spacing:0; }
.premium-home.home-page :is(.pricing-card,.home-feature-grid article,.home-account-gate) h3 { font-size:1.3rem; line-height:1.5; margin:0 0 12px; }
.premium-home.home-page .course-card>p,.home-page .home-feature-grid p { font-size:.95rem; line-height:1.9; color:var(--muted); }
.premium-home.home-page .course-symbol { width:48px; height:48px; transform:none; }
.home-page .course-symbol svg { width:40px; height:40px; }
.premium-home.home-page :is(.course-index,.plan-tier,.eyebrow-label,.parent-age,.shape-switcher,.shape-switcher button) { border-radius:var(--home-radius); letter-spacing:0; }
.premium-home.home-page .btn {
  min-height:48px; border-radius:var(--home-radius); padding:12px 20px;
  background:var(--primary); color:#fff; border:1px solid var(--primary);
  box-shadow:none; gap:12px; font-size:.9rem; line-height:1.5;
}
.premium-home.home-page.dark .btn { color:#143c2c; }
.premium-home.home-page .btn:hover { background:var(--primary-dark); border-color:var(--primary-dark); box-shadow:none; transform:translateY(-1px); }
.premium-home.home-page .btn-outline,.premium-home.home-page .pricing-whatsapp {
  background:transparent; color:var(--primary); border-color:var(--primary); box-shadow:none;
}
.premium-home.home-page.dark .btn-outline,.premium-home.home-page.dark .pricing-whatsapp { color:var(--primary); }
.premium-home.home-page .pricing-card.featured .pricing-whatsapp { background:var(--primary); color:#fff; }
.premium-home.home-page.dark .pricing-card.featured .pricing-whatsapp { color:#143c2c; }
.premium-home.home-page .btn-outline:hover,.premium-home.home-page .pricing-whatsapp:hover { background:var(--surface-alt); color:var(--text); }
.premium-home.home-page .nav-actions .btn { min-height:40px; padding:8px 12px; font-size:.8rem; }
.premium-home.home-page :is(input,select,textarea) { border-radius:var(--home-radius); }
.home-page .home-account-gate { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; padding:0; border:0; }
.home-page .home-account-gate p { color:var(--muted); margin:0; line-height:1.9; }
.home-page .home-account-gate .btn { flex-shrink:0; }
.home-page .home-learning-columns { display:grid; grid-template-columns:1fr 1fr; gap:var(--home-gap); margin:32px 0; }
.home-page .home-learning-columns>section { min-width:0; margin:0; padding:0; }
.home-page .home-learning-columns h3,.home-page .home-parents h3 { font-size:1.3rem; line-height:1.5; margin:0 0 16px; }
.home-page .home-learning-columns :is(.classes-grid,.student-exam-list) { grid-template-columns:1fr; }
.home-page .home-parents .parent-dashboard {
  max-width:1280px; padding:0; background:none;
  --parent-surface:var(--surface); --parent-text:var(--text);
  --parent-muted:var(--muted); --parent-border:var(--border);
  --parent-soft:var(--surface-alt); --parent-link:var(--primary);
}
.home-page .home-parents .parent-state { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; border:0; border-radius:0; background:none; color:var(--text); padding:0; margin:0; }
.home-page .home-parents .parent-state .btn { margin:0; flex-shrink:0; }
.home-page .home-parents .parent-welcome { margin-top:24px; }
/* Account entry points share a layout, with distinct accents from the brand artwork. */
.premium-home.home-page .home-space {
  --text:#302a43; --muted:#686176; --primary:#6846bc; --primary-dark:#50328f;
  --border:#e4dfed; --surface:#fff; --surface-alt:#f6f3fc; --space-ink:#fff;
  --space-tile:#eee6ff; --space-tile-two:#e4f2fc; --space-tile-three:#fff0d7;
  padding-block:64px;
}
.premium-home.home-page #learning { background:var(--surface-alt); }
.premium-home.home-page #parents {
  --primary:#186e85; --primary-dark:#10576a; --border:#dce9ed; --surface-alt:#f0f8fb;
  --space-tile:#fce9e6; --space-tile-two:#fff2d5; --space-tile-three:#def3f3;
  background:var(--surface);
}
.premium-home.home-page.dark .home-space {
  --text:#f4f0fc; --muted:#c4bdd2; --primary:#d3bdff; --primary-dark:#e4d7ff;
  --border:#433a52; --surface:#26222e; --surface-alt:#201d28; --space-ink:#281d40;
  --space-tile:#3a2d50; --space-tile-two:#283c4e; --space-tile-three:#453b2a;
}
.premium-home.home-page.dark #parents {
  --primary:#9cdde9; --primary-dark:#c3eef5; --border:#354b50; --surface:#1e292d;
  --surface-alt:#1b2529; --space-ink:#173139;
  --space-tile:#493336; --space-tile-two:#453e29; --space-tile-three:#27464c;
}
.home-page .home-space-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:64px; align-items:center; }
.home-page .home-space-copy { min-width:0; }
.premium-home.home-page .home-space .section-heading { margin-bottom:24px; }
.premium-home.home-page .home-space .section-heading h2 { font-size:2rem; margin-bottom:12px; color:var(--text); }
.premium-home.home-page .home-space .eyebrow { color:var(--primary); font-weight:800; margin-bottom:8px; }
.premium-home.home-page .home-space .section-heading p { max-width:480px; font-size:.95rem; }
.premium-home.home-page .home-space .btn { background:var(--primary); border-color:var(--primary); color:var(--space-ink); }
.premium-home.home-page .home-space .btn:hover { background:var(--primary-dark); border-color:var(--primary-dark); }
.home-page .home-account-gate p,.home-page .home-parents .parent-state p { font-size:.8rem; color:var(--muted); margin:0; }
.home-page .home-space-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-page .space-shortcut {
  display:flex; flex-direction:column; align-items:flex-start; gap:16px;
  min-width:0; min-height:190px; padding:24px 20px 18px; border:1px solid var(--border);
  border-radius:8px; border-bottom:3px solid var(--primary); background:var(--surface);
  color:var(--text); text-align:start; font:inherit; font-size:.95rem; font-weight:800;
  cursor:pointer; transition:transform .18s,box-shadow .18s;
}
.home-page .space-shortcut>svg { width:64px; height:64px; padding:8px; border-radius:8px; background:var(--space-tile); flex-shrink:0; }
.home-page .space-shortcut:nth-child(2)>svg { background:var(--space-tile-two); }
.home-page .space-shortcut:nth-child(3)>svg { background:var(--space-tile-three); }
.home-page .space-shortcut>span:not(.space-arrow) { line-height:1.6; overflow-wrap:anywhere; }
.home-page .space-shortcut .space-arrow { margin-top:auto; align-self:flex-end; color:var(--primary); font-size:1.25rem; line-height:1; }
.home-page .space-shortcut:hover { transform:translateY(-4px); box-shadow:0 8px 18px #302a4312; }
.home-page .space-shortcut:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
html[dir="ltr"] .home-page .space-arrow { transform:scaleX(-1); }
.home-page #homeLearningContent:not([hidden]),.home-page #parentContent:not([hidden]) { margin-top:40px; padding-top:32px; border-top:1px solid var(--border); }
@media(max-width:1100px) {
  .home-page .home-space-layout { gap:32px; }
  .home-page .home-space-shortcuts { gap:10px; }
  .home-page .space-shortcut { padding:20px 12px 16px; }
}
@media(max-width:900px) {
  .home-page .home-space-layout { grid-template-columns:1fr; gap:28px; }
  .home-page .space-shortcut { min-height:160px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .space-shortcut { transition:none; }
  .home-page .space-shortcut:hover { transform:none; }
}
.home-page .home-about-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:64px; align-items:center; }
.home-page .home-about-layout .section-heading { margin:0; }
.home-page .home-about-image { width:100%; max-height:360px; aspect-ratio:1; object-fit:contain; border-radius:var(--home-radius); }
.home-page .home-inline-link { display:inline-flex; gap:16px; align-items:center; margin-top:20px; color:var(--primary); font-weight:800; text-decoration:none; min-height:44px; }
.home-page .home-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--home-gap); list-style:none; margin:32px 0 0; padding:32px 0 0; border-top:1px solid var(--border); }
.home-page .home-journey li { position:relative; padding-inline-start:52px; }
.home-page .home-journey li>span { position:absolute; inset-inline-start:0; top:0; color:var(--primary); font-size:1.5rem; font-weight:800; }
.home-page .home-journey h3 { font-size:1.3rem; margin:0 0 12px; }
.home-page .home-journey p { color:var(--muted); font-size:.95rem; line-height:1.9; margin:0; }
.home-page .home-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-page .home-feature-icon { width:48px; height:48px; display:grid; place-items:center; background:var(--home-accent-coral); border-radius:var(--home-radius); margin-bottom:24px; }
.home-page .home-feature-icon svg { width:32px; height:32px; }
.home-page .home-feature-grid article:nth-child(2) .home-feature-icon { background:var(--home-accent-blue); }
.home-page .home-feature-grid article:nth-child(3) .home-feature-icon { background:var(--home-accent-mint); }
.home-page .home-feature-grid article:nth-child(4) .home-feature-icon { background:var(--home-accent-yellow); }
.premium-home.home-page .feedback-section>.container { grid-template-columns:1fr 1fr; gap:64px; }
.premium-home.home-page .feedback-form { border-radius:var(--home-radius); padding:24px; background:var(--surface); }
.premium-home.home-page .feedback-section .section-heading { margin:0; }
.premium-home.home-page .site-footer { background:#1c3029; padding:40px 0 0; border-top:1px solid var(--border); }
.premium-home.home-page .footer-shell { border:0; border-radius:0; background:none; }
.home-page .footer-launch { padding:0 0 32px; }
.home-page .footer-launch h2 { font-size:2.5rem; letter-spacing:0; }
.premium-home.home-page .footer-grid { padding:32px 0; }
.home-page .footer-bottom { margin:0; }
.premium-home.home-page :is(.footer-contact-link,.footer-contact-icon,.back-to-top>span:last-child) { border-radius:var(--home-radius); }
.premium-home.home-page .footer-explore { background:#a0dfc6; border-color:#a0dfc6; color:#143c2c; }
.premium-home.home-page .footer-explore:hover { background:#bfefdb; color:#143c2c; }
@media(max-width:1100px) {
  .home-page .home-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .home-about-layout { gap:32px; }
  .home-page .home-learning-columns { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  html body.premium-home.home-page { --home-section-space:56px; --home-heading:2rem; --home-gap:16px; }
  .premium-home.home-page .container { width:calc(100% - 32px); }
  .premium-home.home-page .hero-copy h1 { font-size:3rem; }
  .premium-home.home-page .hero-copy>p { font-size:.95rem; }
  .premium-home.home-page .nav-wrap { width:calc(100% - 32px); min-height:72px; padding:8px 0; }
  .premium-home.home-page .brand-name strong { font-size:1.1rem; }
  .premium-home.home-page .brand-logo { width:38px; height:38px; flex-basis:38px; }
  .premium-home.home-page .home-space { padding-block:40px; }
  .premium-home.home-page .home-space .section-heading h2 { font-size:1.8rem; }
  .home-page .home-account-gate,.home-page .home-parents .parent-state { gap:12px; }
  .home-page .home-about-layout { grid-template-columns:1fr; gap:32px; }
  .home-page .home-about-image { max-height:280px; }
  .home-page .home-journey { grid-template-columns:1fr; gap:24px; }
  .premium-home.home-page .feedback-section>.container { grid-template-columns:1fr; gap:32px; }
  .home-page .footer-launch h2 { font-size:2rem; }
  .premium-home.home-page :is(.course-card,.pricing-card,.path-card,.home-feature-grid article) { padding:20px; }
  .premium-home.home-page .pricing-card.featured { padding:19px; }
}
@media(max-width:480px) {
  html body.premium-home.home-page { --home-heading:1.8rem; }
  .home-page .home-feature-grid { grid-template-columns:1fr; }
  .premium-home.home-page .hero-copy h1 { font-size:2.5rem; }
  .home-page .home-space-shortcuts { grid-template-columns:1fr; gap:10px; }
  .home-page .space-shortcut { flex-direction:row; align-items:center; min-height:76px; padding:12px 16px; gap:16px; border-bottom-width:1px; border-inline-start:3px solid var(--primary); }
  .home-page .space-shortcut>svg { width:48px; height:48px; padding:6px; }
  .home-page .space-shortcut .space-arrow { margin:0; margin-inline-start:auto; align-self:center; }
}
