html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.stay-ahead-logo { display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.stay-ahead-logo__mark { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--kidearn-base, #F25334); font-size:24px; box-shadow:0 8px 20px rgba(242,83,52,.25); }
.stay-ahead-logo__text { color:var(--kidearn-black, #2a254d); font-family:var(--kidearn-heading-font, "Fredoka", serif); font-size:25px; line-height:.9; letter-spacing:-.8px; }
.stay-ahead-logo__text span { display:block; color:var(--kidearn-base, #F25334); font-size:17px; letter-spacing:2px; margin-top:6px; text-transform:uppercase; }
.stay-ahead-logo--footer .stay-ahead-logo__text,.stay-ahead-logo--mobile .stay-ahead-logo__text { color:#fff; }
.stay-ahead-logo--mobile .stay-ahead-logo__mark { width:46px; height:46px; }

.main-header__inner { min-height:94px; }
.main-menu .main-menu__list > li > a { font-weight:700; }
.topbar-one__text i { color:#fff; }

.hero-kicker { position:relative; z-index:3; display:inline-block; padding:8px 17px; border-radius:99px; margin:0 0 14px; color:#fff; background:rgba(42,37,77,.82); font-weight:700; }
.stay-ahead-hero .banner-one__content__title { font-size:clamp(48px,6.2vw,88px); }
.stay-ahead-hero .banner-one__item { min-height:690px; }

.learning-lanes { padding-top:110px; }
.section-heading { max-width:760px; margin-inline:auto; }
.section-heading p { font-size:18px; margin:18px auto 0; }
.learning-lanes .service-one__item { height:100%; }
.learning-lanes .service-one__item p { margin:12px auto 0; max-width:255px; }
.learning-step { display:inline-grid; place-items:center; width:42px; height:42px; margin:24px 0 10px; border-radius:50%; color:#fff; background:var(--accent-color); font-weight:800; }

.subject-section { padding:110px 0; }
.subject-section--spelling { background:#fff7ef; }
.skill-chip-list { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 32px; }
.skill-chip-list span { display:inline-flex; align-items:center; min-height:42px; padding:9px 16px; border-radius:99px; background:#eef8e7; color:#3f7220; font-weight:700; }
.skill-chip-list--orange span { background:#fff0e5; color:#b95123; }
.subject-image-card { position:relative; padding:30px; }
.subject-image-card .about-one__image__one { width:100%; max-width:520px; margin:auto; }
.subject-image-card .about-one__image__one img { width:100%; min-height:500px; object-fit:cover; border-radius:48% 52% 50% 50% / 42% 45% 55% 58%; }
.subject-badge { position:absolute; right:15px; bottom:55px; min-width:220px; padding:22px; border-radius:22px; background:#fff; box-shadow:0 18px 50px rgba(35,31,67,.17); display:grid; grid-template-columns:52px 1fr; column-gap:14px; align-items:center; }
.subject-badge i { grid-row:1/3; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#75C137; font-size:22px; }
.subject-badge strong { font-family:var(--kidearn-heading-font, "Fredoka", serif); color:var(--kidearn-black); font-size:22px; }
.subject-badge span { font-size:13px; }
.subject-image-card--orange .subject-badge i { background:#F25334; }

.progress-preview { padding:110px 0; background:#f4fbfa; position:relative; }
.progress-feature-list { margin-top:28px; }
.progress-feature-list li { display:flex; gap:12px; align-items:center; margin:14px 0; color:var(--kidearn-black); font-weight:700; }
.progress-feature-list i { color:#75C137; }
.dashboard-mockup { background:#fff; border-radius:28px; padding:34px; box-shadow:0 25px 65px rgba(42,37,77,.12); border:1px solid rgba(38,166,161,.12); }
.dashboard-mockup__top { display:flex; justify-content:space-between; align-items:center; padding-bottom:25px; border-bottom:1px solid #ecebf2; }
.dashboard-mockup__top div { display:flex; flex-direction:column; }
.dashboard-mockup__top span { color:#77728b; }
.dashboard-mockup__top strong { color:var(--kidearn-black); font-size:24px; font-family:var(--kidearn-heading-font, "Fredoka", serif); }
.dashboard-status { padding:8px 13px; border-radius:99px; color:#39861c !important; background:#eff9ea; font-weight:700; }
.dashboard-status i { font-size:9px; margin-right:6px; }
.student-progress-row { display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:17px; padding:26px 0; border-bottom:1px solid #ecebf2; }
.student-avatar { width:58px; height:58px; border-radius:18px; display:grid; place-items:center; color:#fff; font-family:var(--kidearn-heading-font, "Fredoka", serif); font-size:22px; }
.student-avatar--green { background:#75C137; }.student-avatar--orange { background:#F25334; }
.student-progress-copy { display:grid; gap:5px; }.student-progress-copy strong { color:var(--kidearn-black); }.student-progress-copy span { font-size:13px; }
.student-progress-copy .progress { height:9px; border-radius:99px; background:#ecebf2; }.student-progress-copy .progress-bar { background:#26A6A1; border-radius:99px; }
.student-score { color:var(--kidearn-black); font-weight:800; font-size:20px; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-top:28px; }
.dashboard-metrics div { text-align:center; padding:18px 8px; border-radius:16px; background:#faf9fd; }
.dashboard-metrics i { display:block; color:#F25334; margin-bottom:8px; }.dashboard-metrics strong { display:block; color:var(--kidearn-black); font-size:22px; }.dashboard-metrics span { font-size:12px; }

.student-login-cta { padding:90px 0; }
.student-login-cta .cta-one__inner { overflow:hidden; border-radius:32px; padding:55px 60px; background:#26A6A1; position:relative; }
.student-login-cta .cta-one__shape { position:absolute; inset:0; opacity:.16; background-repeat:no-repeat; background-position:right center; }
.student-login-cta .row { position:relative; z-index:2; }
.cta-eyebrow { color:#fff; font-family:var(--kidearn-special-font, "Schoolbell", cursive); font-size:24px; }
.student-login-cta .cta-one__title { color:#fff; margin:8px 0 0; max-width:740px; }

.footer-about { color:#d7d5e6; max-width:430px; }
.footer-widget__links li + li { margin-top:9px; }
.footer-widget__links a { color:#d7d5e6; }
.footer-widget__links a:hover { color:#fff; }

@media (max-width: 1199px) { .main-header__btn { display:none; } }
@media (max-width: 991px) { .stay-ahead-hero .banner-one__item { min-height:610px; }.subject-section,.progress-preview { padding:85px 0; }.student-login-cta .cta-one__inner { padding:45px 35px; } }
@media (max-width: 767px) { .topbar-one { display:none; }.stay-ahead-logo__text { font-size:21px; }.stay-ahead-logo__mark { width:46px; height:46px; }.stay-ahead-hero .banner-one__item { min-height:570px; }.stay-ahead-hero .banner-one__content__title { font-size:46px; }.subject-image-card .about-one__image__one img { min-height:390px; }.subject-badge { position:relative; right:auto; bottom:auto; margin:-55px auto 0; max-width:280px; }.dashboard-mockup { padding:22px; }.dashboard-metrics { grid-template-columns:1fr; }.student-progress-row { grid-template-columns:50px 1fr; }.student-score { grid-column:2; }.student-login-cta .cta-one__inner { padding:38px 24px; } }

/* Student login and private course dashboard */
.student-auth-section,
.student-courses-section,
.course-detail-section { padding: 110px 0; background: #fffaf3; }
.student-auth-card,
.student-welcome-card,
.student-course-card,
.course-detail-card { background: #fff; border-radius: 28px; box-shadow: 0 18px 50px rgba(38, 33, 61, .10); }
.student-auth-card { padding: 46px; }
.student-auth-icon,
.student-course-card__icon,
.course-detail-card__icon { width: 78px; height: 78px; border-radius: 24px; display: grid; place-items: center; background: #ffecdc; color: #f47b20; font-size: 31px; }
.student-auth-eyebrow,
.student-dashboard-kicker { color: #f47b20; font-family: 'Schoolbell', cursive; font-size: 22px; margin-bottom: 4px; }
.student-auth-card h1,
.student-welcome-card h1,
.course-detail-card h1 { font-family: 'Fredoka', sans-serif; color: #253050; }
.demo-login-note { margin-top: 24px; padding: 16px 18px; border-radius: 16px; background: #f4f8ff; color: #4d5876; font-size: 14px; }
.student-dashboard-hero { padding: 90px 0 35px; background: linear-gradient(135deg,#fff6e8,#eef8ff); }
.student-welcome-card { padding: 38px 42px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.student-dashboard-badge { min-width: 165px; padding: 18px; border-radius: 22px; background: #eef8f1; color: #267a49; text-align: center; }
.student-dashboard-badge i { display:block; font-size: 27px; margin-bottom: 7px; }
.student-course-card { height: 100%; padding: 30px; display: flex; gap: 22px; border: 1px solid #f1e9dd; }
.student-course-card__content { flex: 1; }
.student-course-card__subject { color: #f47b20; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .05em; }
.student-course-card h3 { margin: 8px 0 12px; font-family: 'Fredoka', sans-serif; color: #253050; font-size: 25px; }
.student-course-card__next { margin: 18px 0; padding: 12px 14px; border-radius: 14px; background: #f7f7fb; }
.student-progress-row { display:flex; justify-content:space-between; font-size:14px; margin-bottom:7px; }
.student-course-progress { height: 10px; border-radius: 99px; background: #ececf3; }
.student-course-progress .progress-bar { background: #f47b20; border-radius: 99px; }
.course-detail-card { max-width: 820px; margin: 30px auto 0; padding: 48px; }
.course-detail-card__icon { margin-bottom: 25px; }
.course-next-panel { margin-top: 30px; padding: 26px; border-radius: 22px; background: #f4f8ff; }
.course-next-panel small,
.course-next-panel strong { display:block; }
.course-next-panel strong { margin-top:5px; font-size:22px; color:#253050; }
.course-back-link { color:#253050; font-weight:700; }
@media (max-width: 767px) {
  .student-auth-section,.student-courses-section,.course-detail-section { padding:70px 0; }
  .student-auth-card,.course-detail-card { padding:28px; }
  .student-welcome-card { padding:28px; display:block; }
  .student-dashboard-badge { margin-top:20px; }
  .student-course-card { display:block; }
  .student-course-card__icon { margin-bottom:20px; }
}

/* Phase 3 course hierarchy */
.structure-course-card { align-items:center; }
.structure-counts { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 22px; }
.structure-counts span { padding:9px 12px; border-radius:12px; background:#f4f8ff; }
.structure-unit { margin-bottom:24px; padding:22px; background:#fff; border:1px solid #eadfce; border-radius:22px; box-shadow:0 10px 30px rgba(38,33,61,.06); }
.structure-edit-form { padding:14px; border-radius:14px; background:#fff8ef; }
.structure-lessons { margin:18px 0 0 25px; padding-left:18px; border-left:3px solid #f47b20; }
.structure-lesson { margin:14px 0; padding:16px; border-radius:16px; background:#f8fbff; }
.structure-label { display:block; margin-bottom:3px; color:#6d7486; font-size:12px; font-weight:700; text-transform:uppercase; }
.structure-activities { margin:12px 0 0 22px; }
.structure-activity,.structure-add-row { display:grid; grid-template-columns:1.2fr .7fr 1.5fr 80px auto auto auto; gap:7px; align-items:center; margin:8px 0; }
.structure-add-row { grid-template-columns:1.2fr 1.2fr 80px auto; padding-top:8px; }
.structure-lesson .structure-add-row { grid-template-columns:1fr .7fr 1.2fr 80px auto; }
.structure-order { max-width:80px; }
details summary { cursor:pointer; color:#253050; font-weight:700; }
.student-course-outline { margin-top:35px; }
.student-course-outline h2 { margin-bottom:18px; color:#253050; }
.student-unit { margin:12px 0; padding:18px; border:1px solid #e6eaf2; border-radius:16px; }
.student-unit summary span { display:inline-block; margin-right:8px; color:#f47b20; }
.student-lessons { padding:12px 0 0 20px; }
.student-lesson { padding:13px 0; border-top:1px solid #edf0f5; }
.student-lesson small { display:block; }
.student-activities { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.student-activities span { padding:6px 10px; border-radius:99px; background:#eef8f1; color:#267a49; font-size:13px; }
.student-activities a { padding:6px 10px; border-radius:99px; background:#fff0e4; color:#b84f08; font-size:13px; font-weight:700; }
@media(max-width:991px){.structure-activity,.structure-add-row,.structure-lesson .structure-add-row{grid-template-columns:1fr 1fr}.structure-lessons,.structure-activities{margin-left:0}.structure-order{max-width:none}}

/* Phase 4 math practice */
.math-practice-section{min-height:75vh;padding:90px 0;background:linear-gradient(135deg,#fff7eb,#eff8ff)}
.math-practice-card{max-width:850px;margin:auto;padding:45px;background:#fff;border-radius:28px;box-shadow:0 18px 50px rgba(38,33,61,.1)}
.practice-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0 18px}.practice-heading span,.question-number{color:#f47b20;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.practice-heading h1{margin:4px 0;color:#253050}.practice-score{padding:15px 20px;border-radius:18px;background:#eef8f1;color:#267a49;text-align:center;font-weight:800}.practice-score small{font-weight:500}
.question-form,.answer-result,.practice-complete{margin-top:30px;padding:32px;border-radius:22px;background:#f8fbff}.question-form h2{margin:10px 0 25px;color:#253050}.choice-option{display:block;position:relative;margin:11px 0;cursor:pointer}.choice-option input{position:absolute;opacity:0}.choice-option span{display:block;padding:15px 18px;border:2px solid #dde5ef;border-radius:14px;background:#fff;font-weight:700}.choice-option input:checked+span{border-color:#f47b20;background:#fff3e9;color:#a84605}.practice-answer{margin-top:8px;padding:15px;font-size:18px}.answer-result h2,.practice-complete h2{color:#253050}.answer-correct{background:#eefaf1;border:2px solid #87d59d}.answer-incorrect{background:#fff4ef;border:2px solid #f4a58b}.practice-complete{text-align:center}.practice-complete>i{font-size:55px;color:#f5aa22;margin-bottom:12px}
@media(max-width:767px){.math-practice-card{padding:25px}.practice-heading{display:block}.practice-score{margin-top:15px}.question-form,.answer-result,.practice-complete{padding:22px}}

/* Phase 5 spelling practice */
.spelling-practice-section{min-height:75vh;padding:90px 0;background:linear-gradient(135deg,#fff5ec,#f2fff3)}
.spelling-practice-card .progress-bar{background:#75c137}.study-word-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.study-word-grid article{padding:24px;border:1px solid #e4eadf;border-radius:20px;background:#fbfff8}.study-word-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.study-word-grid h2{margin:0;color:#253050}.study-word-grid p{margin:12px 0 0}.speak-word{border:0;border-radius:99px;padding:10px 13px;background:#eef8e7;color:#3f7220;font-weight:800}.speak-word--large{margin:0 0 22px;padding:12px 18px}.spelling-prompt{padding:17px;border-left:4px solid #75c137;border-radius:8px;background:#fff;font-size:18px;color:#38415b}
@media(max-width:767px){.study-word-grid{grid-template-columns:1fr}}

/* Phase 6 progress reporting */
.progress-report-section{padding:90px 0;background:#f5fafc}.progress-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.progress-stat-grid article,.progress-panel,.parent-progress-card{background:#fff;border:1px solid #e6edf2;border-radius:24px;box-shadow:0 14px 38px rgba(38,33,61,.07)}.progress-stat-grid article{padding:28px;text-align:center}.progress-stat-grid i{display:block;color:#f47b20;font-size:28px;margin-bottom:10px}.progress-stat-grid strong{display:block;color:#253050;font:700 34px 'Fredoka',sans-serif}.progress-stat-grid span{color:#6d7486}.progress-panel{padding:30px}.progress-panel h3,.difficult-topics h3{color:#253050;font-size:21px;margin-bottom:20px}.skill-progress-row,.activity-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #edf0f3}.skill-progress-row div,.activity-row div{display:grid}.skill-progress-row div span,.activity-row div span{font-size:13px;color:#798093}.score-pill{flex:none;padding:7px 11px;border-radius:99px;background:#eef8f1;color:#267a49;font-weight:800}.parent-progress-card{padding:34px}.parent-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.parent-progress-heading span{color:#f47b20;font-weight:700}.parent-progress-heading h2{margin:3px 0;color:#253050}.parent-progress-card>.progress{height:12px}.parent-progress-card>.progress .progress-bar{background:#26a6a1}.parent-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.parent-metric-grid div{padding:20px;border-radius:18px;background:#f8fbfd;text-align:center}.parent-metric-grid i{display:block;color:#f47b20;margin-bottom:8px}.parent-metric-grid strong{display:block;color:#253050;font-size:24px}.parent-metric-grid span{font-size:12px;color:#70798c}.difficult-topics{padding:22px;border-radius:18px;background:#fff8ef}.difficult-topics span{display:inline-block;margin:5px 7px 5px 0;padding:8px 12px;border-radius:99px;background:#fff;color:#6a4b31}
@media(max-width:991px){.parent-metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.progress-stat-grid,.parent-metric-grid{grid-template-columns:1fr}.parent-progress-heading{display:block}.parent-progress-heading .btn{margin-top:14px}.progress-panel,.parent-progress-card{padding:23px}}

/* Admin math problem management */
.math-admin-section{min-height:75vh;padding:45px 0;background:linear-gradient(135deg,#fff8ef,#f1f9ff)}.math-admin-section h1,.math-question-panel h2,.math-question-editor h1{color:#253050}.math-path-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:24px;margin-bottom:28px;background:#fff;border:1px solid #e7ebf1;border-radius:22px;box-shadow:0 12px 35px rgba(38,33,61,.06)}.math-path-picker label{display:block;margin-bottom:6px;color:#4d5876;font-weight:800}.math-question-panel,.math-question-editor{padding:30px;background:#fff;border:1px solid #e7ebf1;border-radius:24px;box-shadow:0 15px 40px rgba(38,33,61,.07)}.math-question-editor{max-width:900px;margin:auto}.question-type-pill{display:inline-block;padding:6px 9px;border-radius:99px;background:#fff0e4;color:#a84605;font-size:12px;font-weight:800}.empty-admin-state{text-align:center;padding:50px 20px;border:2px dashed #dce4ed;border-radius:20px}.empty-admin-state>i{font-size:45px;color:#f47b20;margin-bottom:15px}.preview-answer{margin-top:18px;padding:15px;border-radius:14px;background:#eef8f1;color:#267a49}@media(max-width:991px){.math-path-picker{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.math-path-picker{grid-template-columns:1fr}.math-question-panel,.math-question-editor{padding:20px}}
.ai-import-panel{margin-top:28px;padding:30px;background:#fff;border:1px solid #dce8f2;border-radius:24px;box-shadow:0 15px 40px rgba(38,33,61,.07)}.ai-import-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.ai-import-heading h2{margin:9px 0 5px;color:#253050}.ai-prompt-box{background:#f8fbff;font-family:Consolas,"Courier New",monospace;font-size:13px}@media(max-width:600px){.ai-import-panel{padding:20px}.ai-import-heading{display:block}.ai-import-heading .btn{margin-top:12px}}
.spelling-word-list{display:grid;gap:14px}.spelling-word-admin-row{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:18px;border:1px solid #e5eaf0;border-radius:18px;background:#fbfdff}.spelling-word-order{text-align:center;color:#253050}.spelling-word-fields{display:grid;grid-template-columns:.7fr 1fr 1.4fr auto;gap:12px;align-items:end}.spelling-word-fields label{display:block;margin-bottom:5px;color:#4d5876;font-size:13px;font-weight:800}.spelling-word-actions{display:flex;gap:6px;padding-bottom:1px}@media(max-width:991px){.spelling-word-fields{grid-template-columns:1fr 1fr}.spelling-word-actions{grid-column:1/-1}}@media(max-width:600px){.spelling-word-admin-row{grid-template-columns:1fr}.spelling-word-order{text-align:left}.spelling-word-fields{grid-template-columns:1fr}}
