html { font-size: 16px; }
body[data-reference-shell] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow-x: clip !important;
  overflow-y: auto !important;
}
html::-webkit-scrollbar, body[data-reference-shell]::-webkit-scrollbar { width: 8px !important; }
englixia-site-header, englixia-site-footer {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  float: none !important;
  transform: none !important;
}
englixia-site-header { height: 112px !important; position: static !important; }
englixia-site-footer { position: relative !important; isolation: isolate; }
body[data-reference-shell] > main[data-shell-content] { padding-top: 0 !important; margin-top: 0 !important; }
body[data-reference-shell] { padding-top: 0 !important; }
html[data-reference-menu-open], body[data-reference-menu-open], body[data-reference-shell].overflow-hidden, body[data-reference-shell].enx-locked { overflow: hidden !important; }
[data-shell-compatibility] { display: none !important; }
body[data-reference-shell] .reveal-up:not([data-page-reveal]),
body[data-reference-shell] [data-aos]:not(.aos-init):not([data-page-reveal]) { opacity: 1 !important; transform: none !important; }
body[data-reference-shell] [data-page-reveal][data-aos] { transition: opacity 600ms ease, transform 600ms ease; }
@media (prefers-reduced-motion: reduce) {
  body[data-reference-shell] .reveal-up,
  body[data-reference-shell] [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
body[data-reference-menu-open] #tidio-chat,
body[data-reference-menu-open] .tidio-launcher,
body[data-reference-menu-open] iframe[title*="Tidio"],
body[data-reference-menu-open] iframe[src*="tidio"] { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Restore explicit light-on-dark surfaces overridden by the legacy theme. */
body[data-reference-shell] .ea-card-dark,
body[data-page="b1-b2-certification"] .lux-card.bg-navy { background: #0b1220 !important; color: #fff; }
body[data-reference-shell] .ea-card-dark :is(h2, h3, strong),
body[data-page="b1-b2-certification"] .lux-card.bg-navy h3,
body[data-page="a1-a2-certification"] :is(.ea-hero h1, .ea-panel h3, .ea-cta h3),
body[data-page="new-page-starter"] h1 { color: #fff !important; }
body[data-reference-shell] .ea-card-dark .ea-title { color: #fff !important; }
body[data-reference-shell] .ea-card-dark :is(.ea-list li, .ea-meta-row span) { color: #cbd5e1; }
body[data-reference-shell] :is(section, article, div).text-white :is(h1, h2, h3, h4) { color: inherit; }
body[data-reference-shell] :is(h1, h2, h3, h4).text-white { color: #fff !important; }
body[data-reference-shell] :is(.ea-btn-ghost, .enx-btn-ghost) { color: #0f172a !important; }
body[data-reference-shell] .ea-cta .ea-btn-ghost { color: #fff !important; background: transparent !important; }
body:is([data-page="enroll-now"], [data-page="japanese"]) .ea-cta .ea-btn-ghost { color: #0f172a !important; background: #fff !important; }
body:is([data-page="enroll-now"], [data-page="japanese"]) .ea-cta .ea-btn-ghost:hover { color: #fff !important; background: #2563eb !important; }
body[data-page="our-methodology"] .enx-btn-ghost { background: #0b1220 !important; }
body[data-page="english-speaking-kids-age-by-age"] .upx-btn-primary { background: #2563eb; color: #fff; }
body[data-reference-shell] .eca-hero-caption { background: #0b1220; color: #fff; padding: 12px 16px; }
body[data-page="404"] .btn { color: #0f172a; border-color: #cbd5e1; background: #fff; }
body[data-page="404"] .btn.primary { color: #fff; background: #2563eb; }
body[data-page="404"] main a:not(.btn) { color: #1d4ed8; }
body[data-page="landingpage"] { background: #050505; color: #fafafa; }
body[data-page="landingpage"] main p { color: #a1a1aa; }
body[data-page="landingpage"] main :is(h1, h2, h3) { color: #fff; }
body[data-page="japanese"] .ea-hero h1 span { color: #1d4ed8; }
body[data-page="demo-now"] .bg-brand-navy :is(h2, .text-brand-navy) { color: #fff !important; }
body[data-page="demo-now"] .hero-floating-note .text-brand-navy { color: #fff !important; }

@media (max-width: 768px) {
  body[data-reference-shell] :is([data-aos="fade-left"], [data-aos="fade-right"]) { transform: translate3d(0, 20px, 0); }
  body[data-reference-shell] :is([data-aos="fade-left"], [data-aos="fade-right"]).aos-animate { transform: none; }
  body[data-reference-shell] :is(.ea-hero-grid, .ea-grid-2, .ea-grid-3, .upx-hero, .upx-ceo-grid, .upx-grid-2, .upx-transform) {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-reference-shell] :is(.grid, .flex, .ea-hero-grid, .ea-grid-2, .ea-grid-3, .ea-metrics, .upx-hero, .upx-ceo-grid, .upx-grid-2, .upx-transform) > * { min-width: 0; }
  body[data-reference-shell] :is(h1, h2, h3, h4, p, li, label, a, button, summary) { overflow-wrap: anywhere; }
  body[data-reference-shell] :is(.ea-btn, .upx-btn, .enx-btn) { max-width: 100%; white-space: normal; }
  body[data-reference-shell] :is(.ea-panel, .ea-card, .upx-panel, .upx-transform-box) { min-width: 0; padding: 24px; }
  body[data-reference-shell] .ea-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body[data-reference-shell] .ea-metric { min-width: 0; padding: 14px; }
  body[data-reference-shell] .ea-meta-row { flex-wrap: wrap; gap: 8px 16px; padding: 16px; }
  body[data-reference-shell] .ea-hero-actions { flex-wrap: wrap; }
  body[data-reference-shell] .ea-chip { font-size: 12px; line-height: 1.5; letter-spacing: 0; }
  body[data-reference-shell] .ea-hero h1 { font-size: 32px; line-height: 1.2; letter-spacing: 0; }
  body[data-reference-shell] .ea-title { font-size: 28px; line-height: 1.2; letter-spacing: 0; }
  body[data-reference-shell] :is(.upx-hero, .upx-transform, .upx-ceo-grid) > * { min-width: 0; }
  body[data-reference-shell] .upx-cert-info { min-width: 0; }
  body[data-page="business-english-elite"] h1 { font-size: 36px; }
  body[data-page="business-english-elite"] .bg-navy.p-12 { padding: 28px 24px; }
  body[data-page="business-english-elite"] .bg-navy h3 { font-size: 28px; }
  body[data-page="contact-us"] #enx-final-root { width: 100%; max-width: 100%; margin-inline: 0 !important; }
  body[data-page="contact-us"] #enx-final-root .enx-container { width: 100%; }
  body[data-page="our-methodology"] :is(.enx-meth-grid-2, .enx-meth-grid-3, .enx-meth-grid-4) { grid-template-columns: minmax(0, 1fr); }
  body[data-page="our-methodology"] :is(.enx-meth-grid-2, .enx-meth-grid-3, .enx-meth-grid-4) > * { min-width: 0; }
  body[data-page="our-methodology"] .enx-meth-step-card { grid-column: auto !important; padding: 24px; }
  body[data-page="our-methodology"] #enx-methodology-wrapper { width: 100%; margin-inline: 0; }
  body[data-page="sales-personality"] .ea-grid-2 > * { min-width: 0; }
  body[data-page="trading-suite"] .ts-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="trading-suite"] .ts-stat-item { min-width: 0; padding: 20px 10px; }
  body[data-page="trading-suite"] .ts-stat-val { font-size: 28px; }
  body[data-page="trading-suite"] :is(.ts-edge-grid, .ts-curriculum-grid) { grid-template-columns: minmax(0, 1fr); }
  body[data-page="career-studio"] :is(.hero-container, .corp-container, .job-ready-hero) { grid-template-columns: minmax(0, 1fr); }
  body[data-page="career-studio"] :is(.corp-container, .job-ready-hero) > * { min-width: 0; }
  body[data-page="career-studio"] :is(.section-title, .jr-content h2) { font-size: 30px; line-height: 1.2; letter-spacing: 0; }
  body[data-page="career-studio"] .job-ready-hero { padding: 28px 24px; gap: 28px; }
  body[data-page="career-studio"] .jr-features { padding: 24px 0 0; }
  body[data-page="career-studio"] .jr-price { font-size: 44px; }
  body[data-page="career-studio"] .sel-result-price { flex-wrap: wrap; font-size: 36px; }
  body[data-page="career-studio"] .corp-form > form > div[style*="grid"] { grid-template-columns: minmax(0, 1fr) !important; }
  body[data-page="landingpage"] #checkout .flex.items-center.justify-center { flex-wrap: wrap; }
  body[data-page="refund-policy"] #enx-refund-page .enx-container { width: 100%; padding-inline: 0; }
  body[data-page="refund-policy"] #enx-refund-page :is(.enx-columns, .enx-form-row, .enx-pillars, .enx-statutes li) { grid-template-columns: minmax(0, 1fr); }
  body[data-page="refund-policy"] #enx-refund-page :is(.enx-columns, .enx-form-row) > * { min-width: 0; }
  body[data-page="refund-policy"] #enx-refund-page .enx-form-card { padding: 24px 20px; }
  body[data-page="refund-policy"] #enx-refund-page :is(input, select, textarea) { min-width: 0; max-width: 100%; }
  body[data-page="admission-desk"] .enx-seo-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page="admission-desk"] .enx-price-new { font-size: 40px; }
}

/* Affiliate portal: compact mobile workspace, with one bottom navigation. */
body[data-page="affiliate"] [class~="bg-[var(--primary-gradient)]"] { background: #2563eb; color: #fff; }
body[data-page="affiliate"] #appShell { width: 100%; }
@media (max-width: 768px) {
  body[data-page="affiliate"] :is(#appShell, #authScreen) :is(h1, h2, h3) { font-family: Inter, sans-serif; }
  body[data-page="affiliate"] #appShell { height: calc(100dvh - 112px); min-height: 0; }
  body[data-page="affiliate"] .main-wrapper { height: 100%; min-height: 0; min-width: 0; }
  body[data-page="affiliate"] .main-content { min-height: 0; padding: 16px 16px calc(96px + env(safe-area-inset-bottom)); }
  body[data-page="affiliate"] .main-content > [id^="view-"] { margin-top: 0; }
  body[data-page="affiliate"] #view-dashboard > * + * { margin-top: 20px; }
  body[data-page="affiliate"] .main-content .panel { border-radius: 8px; }
  body[data-page="affiliate"] .main-content .panel:not(.p-0),
  body[data-page="affiliate"] .main-content .panel.p-0 > :is(.p-8, .p-10, .p-12) { padding: 20px; }
  body[data-page="affiliate"] .main-content [id^="view-"]:not(#view-dashboard) :is(h2, h3) { font-family: Inter, sans-serif; font-size: 24px; line-height: 1.3; letter-spacing: 0; }
  body[data-page="affiliate"] .main-content :is(.btn-primary, .btn-soft) { white-space: normal; height: auto; min-height: 48px; padding: 12px 16px; line-height: 1.4; letter-spacing: 0; }
  body[data-page="affiliate"] .main-content :is(.btn-primary, .btn-soft) svg { flex-shrink: 0; }
  body[data-page="affiliate"] .main-content .input { min-width: 0; font-size: 16px; }
  body[data-page="affiliate"] #ceoMessage { font-size: 16px; padding: 20px; }
  body[data-page="affiliate"] .dashboard-hero { padding: 20px; border-radius: 8px; box-shadow: 0 8px 24px rgb(15 23 42 / 12%); }
  body[data-page="affiliate"] .dashboard-hero > .relative { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body[data-page="affiliate"] .affiliate-status { gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
  body[data-page="affiliate"] .affiliate-status .badge { font-size: 10px; padding: 5px 9px; letter-spacing: 0; }
  body[data-page="affiliate"] .dashboard-hero p { letter-spacing: 0; }
  body[data-page="affiliate"] #heroWalletBalance { font-size: 40px; line-height: 1.15; letter-spacing: 0; }
  body[data-page="affiliate"] .affiliate-wallet-actions { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 8px; margin-top: 20px; }
  body[data-page="affiliate"] .affiliate-wallet-actions button { min-width: 0; height: auto; min-height: 44px; padding: 10px; font-size: 11px; line-height: 1.4; letter-spacing: 0; border-radius: 8px; }
  body[data-page="affiliate"] .affiliate-wallet-actions svg { width: 16px; height: 16px; flex-shrink: 0; }
  body[data-page="affiliate"] .affiliate-wallet-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 16px; border-top: 1px solid rgb(255 255 255 / 12%); }
  body[data-page="affiliate"] .hero-metric { grid-column: auto; display: block; min-width: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none; }
  body[data-page="affiliate"] .hero-metric p { font-size: 10px; line-height: 1.5; margin-bottom: 8px; }
  body[data-page="affiliate"] .hero-metric h3 { color: #fff; font-size: 22px; line-height: 1.2; letter-spacing: 0; }
  body[data-page="affiliate"] .hero-metric .w-20 { display: none; }
  body[data-page="affiliate"] .affiliate-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body[data-page="affiliate"] .stat-card { min-width: 0; padding: 12px; border-radius: 8px !important; }
  body[data-page="affiliate"] .stat-card > .flex,
  body[data-page="affiliate"] .stat-card > .relative.flex { flex-direction: column; gap: 8px; margin-bottom: 12px; }
  body[data-page="affiliate"] .stat-card .badge { font-size: 9px; padding: 0; background: none; border: 0; box-shadow: none; white-space: normal; line-height: 1.4; letter-spacing: 0; }
  body[data-page="affiliate"] .stat-card h3 { font-size: 26px; }
  body[data-page="affiliate"] .stat-card p { font-size: 11px; line-height: 1.5; margin-top: 8px; }
  body[data-page="affiliate"] .stat-card .p-4 { padding: 8px; border-radius: 8px; }
  body[data-page="affiliate"] .stat-card svg { width: 18px; height: 18px; flex-shrink: 0; }
  body[data-page="affiliate"] .affiliate-chart-panel { min-height: 240px; padding: 20px; border-radius: 8px; }
  body[data-page="affiliate"] .affiliate-chart-heading { flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; }
  body[data-page="affiliate"] .affiliate-chart-heading h3 { font-size: 20px; gap: 8px; }
  body[data-page="affiliate"] .affiliate-chart-heading > span { font-size: 10px; padding: 6px 10px; letter-spacing: 0; }
  body[data-page="affiliate"] #mobileUserName { max-width: 210px; overflow-wrap: anywhere; line-height: 1.3; font-family: Inter, sans-serif; font-size: 18px; letter-spacing: 0; }
  body[data-page="affiliate"] #desktopUserName { font-size: 28px; line-height: 1.3; letter-spacing: 0; }
  body[data-page="affiliate"] #bottomNav { height: calc(72px + env(safe-area-inset-bottom)); padding-top: 8px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
  body[data-page="affiliate"] .hover-lift:hover { transform: none; }
  body[data-page="affiliate"] #authScreen { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  body[data-page="affiliate"] .auth-art { height: auto; min-height: 0; max-height: none; padding: 20px; background: #fff; color: #0f172a; border-radius: 0; box-shadow: none; border-bottom: 1px solid #e2e8f0; }
  body[data-page="affiliate"] .auth-art::before { display: none; }
  body[data-page="affiliate"] .auth-art > div:first-child { margin: 0; align-items: flex-start; text-align: left; }
  body[data-page="affiliate"] .auth-art .brand-mark { display: none; }
  body[data-page="affiliate"] .auth-art > div:first-child > .font-serif { color: #0f172a; font-family: Inter, sans-serif; font-size: 22px; line-height: 1.3; letter-spacing: 0; filter: none; }
  body[data-page="affiliate"] .auth-art p { margin-top: 8px; color: #64748b; font-size: 14px; line-height: 1.5; letter-spacing: 0; }
  body[data-page="affiliate"] .auth-form-wrapper { height: auto; min-height: 0; padding: 20px 20px 32px; }
  body[data-page="affiliate"] .auth-panel { margin-top: 0; max-width: 440px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
  body[data-page="affiliate"] .affiliate-auth-tabs { margin-bottom: 24px; padding: 4px; border-radius: 8px; }
  body[data-page="affiliate"] .affiliate-auth-tabs button { height: 44px; padding: 8px; font-size: 13px; letter-spacing: 0; border-radius: 6px; }
  body[data-page="affiliate"] .affiliate-auth-heading { margin-bottom: 24px; text-align: left; }
  body[data-page="affiliate"] #authTitle { font-size: 28px; line-height: 1.2; letter-spacing: 0; }
  body[data-page="affiliate"] #authSub { font-size: 14px; line-height: 1.6; }
  body[data-page="affiliate"] .auth-panel .input { height: 48px; padding: 12px 14px; font-size: 16px; border-radius: 8px; }
  body[data-page="affiliate"] .auth-panel #authPassword { padding-right: 48px; }
  body[data-page="affiliate"] .auth-panel .space-y-5 { display: grid; gap: 12px; }
  body[data-page="affiliate"] .auth-panel .space-y-5 > * { margin: 0 !important; }
  body[data-page="affiliate"] .affiliate-auth-options { flex-wrap: wrap; gap: 12px; margin-block: 20px; }
  body[data-page="affiliate"] .affiliate-auth-options :is(label, button) { font-size: 12px; letter-spacing: 0; }
  body[data-page="affiliate"] #authSubmit { height: 48px; font-size: 14px; letter-spacing: 0; }
  body[data-page="affiliate"] .affiliate-auth-trust { gap: 14px; margin-top: 24px; font-size: 10px; letter-spacing: 0; }
  body[data-page="affiliate"] #authMessage { margin-top: 16px; }
}
