/**
 * AMA Speaking - clear, solid surfaces (loads last).
 * Writing is black on solid white or solid gold. Colour lives in borders, stripes and icon badges.
 * Copyright (c) 2026 Soukaina (Teacher Souka). All rights reserved.
 */

/* - - Running line: three ideas on solid white, blue and red - - */
.site-header .ama-site-ticker {
 position: relative !important;
 z-index: 2 !important;
 display: block !important;
 background: #c8102e !important;
 border: 0 !important;
 border-bottom: 3px solid #0b1f4d !important;
 box-shadow: none !important;
 padding: 7px 0 !important;
 overflow: hidden !important;
 contain: layout paint;
}
.site-header .ama-site-ticker::before,
.site-header .ama-site-ticker::after { display: none !important; }
.site-header .ama-site-ticker__track {
 display: flex !important;
 flex-direction: row !important;
 flex-wrap: nowrap !important;
 width: max-content !important;
 padding: 0 14px 0 0 !important;
 margin: 0 !important;
 gap: 14px !important;
 align-items: center !important;
 white-space: nowrap !important;
 animation: ama-tk-run 60s linear infinite !important;
 will-change: transform;
}
@keyframes ama-tk-run { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@media (prefers-reduced-motion: reduce) {
 .site-header .ama-site-ticker__track { animation-duration: 140s !important; }
}
.site-header .ama-site-ticker__item.ama-tk {
 display: inline-flex !important;
 align-items: center !important;
 gap: 9px !important;
 white-space: nowrap !important;
 font: 900 0.86rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 letter-spacing: 0.05em !important;
 text-transform: uppercase !important;
 padding: 8px 18px 8px 8px !important;
 border-radius: 999px !important;
 border: 2px solid transparent !important;
 opacity: 1 !important;
}
.site-header .ama-tk i {
 width: 26px; height: 26px;
 display: inline-grid !important; place-items: center;
 border-radius: 50%;
 font-size: 0.8rem !important;
}
.site-header .ama-tk--white { background: #ffffff !important; color: #000000 !important; -webkit-text-fill-color: #000000 !important; border-color: #ffffff !important; }
.site-header .ama-tk--white i { background: #0b1f4d; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.site-header .ama-tk--blue { background: #0a3a9e !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; border-color: #ffffff !important; }
.site-header .ama-tk--blue i { background: #ffffff; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
.site-header .ama-tk--red { background: #ef2b36 !important; color: #000000 !important; -webkit-text-fill-color: #000000 !important; border-color: #ffffff !important; }
.site-header .ama-tk--red i { background: #000000; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.site-header .ama-site-ticker__dot {
 font-size: 0.7rem !important;
 width: auto !important; height: auto !important;
 background: none !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 padding: 0 !important;
 flex: 0 0 auto !important;
}

/* - - Official name in the top bar - - */
.site-header .brand-text-block { display: flex !important; flex-direction: column !important; gap: 3px !important; }
#topbar .brand-program {
 font: 800 clamp(1.15rem, 3.4vw, 1.6rem)/1.05 "Playfair Display", Georgia, "Times New Roman", serif !important;
 letter-spacing: 0.01em !important;
 text-transform: none !important;
 color: #0b1f4d !important;
 -webkit-text-fill-color: #0b1f4d !important;
 white-space: nowrap;
}
#topbar .brand-teacher.brand-founder {
 display: block !important;
 font: italic 800 clamp(1.25rem, 3.4vw, 1.85rem)/1.12 "Playfair Display", Georgia, "Times New Roman", serif !important;
 letter-spacing: 0.01em !important;
 color: #d7192a !important;
 -webkit-text-fill-color: #d7192a !important;
 white-space: nowrap;
 border: 0 !important;
 padding: 2px 0 0 !important;
 margin-top: 3px !important;
 background: none !important;
 text-shadow: none !important;
 filter: none !important;
 opacity: 1 !important;
}

/* - - Home: the writing sits above the photo, the photo stays clean - - */
.ama-hero-head {
 background: #ffffff;
 border: 2px solid #0b1f4d;
 border-left: 8px solid #d7192a;
 border-radius: 16px;
 padding: 14px 18px;
 margin: 0 0 12px;
 box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.ama-hero-head__title {
 margin: 0 0 10px !important;
 font: 800 clamp(1.35rem, 3.6vw, 2rem)/1.15 "Playfair Display", Georgia, "Times New Roman", serif !important;
 color: #000000 !important;
 letter-spacing: 0.01em;
}
.ama-hero-head__list {
 list-style: none;
 margin: 0;
 padding: 0;
 display: flex;
 flex-wrap: wrap;
 gap: 8px 10px;
}
.ama-hero-head__list li {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 padding: 5px 12px 5px 5px;
 border-radius: 999px;
 background: #ffffff;
 border: 2px solid #0b1f4d;
 color: #000000;
 font: 800 0.92rem/1 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.ama-hero-head__list li span { color: #000000 !important; }
.ama-hero-head__list li i {
 display: inline-grid;
 place-items: center;
 width: 30px;
 height: 30px;
 border-radius: 50%;
 color: #ffffff !important;
 background: #d7192a;
 font-size: 0.85rem;
}
.ama-hero-head__list li:nth-child(5n + 2) i { background: #0a3a9e; }
.ama-hero-head__list li:nth-child(5n + 3) i { background: #b8860b; }
.ama-hero-head__list li:nth-child(5n + 4) i { background: #1e7a46; }
.ama-hero-head__list li:nth-child(5n) i { background: #6a2c91; }

.ama-home-hero--ref .ama-home-hero__photo {
 background-image: url("../assets/home/home-hero-clean.jpg?v=7.1.4") !important;
 background-position: 50% 40% !important;
 background-size: cover !important;
}
.ama-home-hero--ref .ama-home-hero__shade,
.ama-home-hero--ref .ama-home-hero__content {
 display: none !important;
}

/* - - Course tool tiles (IELTS and Pre-IELTS): solid white, black labels, solid icon badges - - */
#app-main .ama-pre-studio,
body.ama-ielts-campus .wrap.foundation-campus,
body.ama-ielts-campus .ama-pre-studio.ama-ielts-studio {
 background: #eef1f6 !important;
 color: #000000 !important;
}
#app-main .ama-pre-studio__hint,
body.ama-ielts-campus .ama-pre-studio__hint {
 color: #000000 !important;
 font-weight: 700 !important;
 opacity: 1 !important;
}
#app-main .ama-pre-tiles .ama-pre-tile,
body.ama-ielts-campus .ama-campus-tiles--ielts .ama-pre-tile,
body.ama-ielts-campus .ama-campus-studio .ama-pre-tile,
body.ama-ielts-campus .ama-ielts-studio .ama-pre-tile {
 background: #ffffff !important;
 background-image: none !important;
 border: 2px solid #0b1f4d !important;
 border-radius: 14px !important;
 color: #000000 !important;
 opacity: 1 !important;
 filter: none !important;
 box-shadow: 0 3px 0 #0b1f4d !important;
 display: flex !important;
 flex-direction: column !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 8px !important;
 min-height: 92px !important;
 padding: 12px 8px !important;
 transition: transform 0.12s ease, box-shadow 0.12s ease !important;
}
#app-main .ama-pre-tiles .ama-pre-tile:hover,
#app-main .ama-pre-tiles .ama-pre-tile:focus-visible {
 transform: translateY(-2px) !important;
 box-shadow: 0 5px 0 #d7192a !important;
 border-color: #d7192a !important;
 outline: none !important;
}
#app-main .ama-pre-tiles .ama-pre-tile:active {
 transform: translateY(1px) !important;
 box-shadow: 0 1px 0 #0b1f4d !important;
}
#app-main .ama-pre-tiles .ama-pre-tile span,
body.ama-ielts-campus .ama-pre-tile span {
 color: #000000 !important;
 font: 800 0.9rem/1.15 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 opacity: 1 !important;
 text-shadow: none !important;
 text-align: center !important;
}
#app-main .ama-pre-tiles .ama-pre-tile small,
body.ama-ielts-campus .ama-pre-tile small {
 color: #000000 !important;
 font-weight: 700 !important;
 opacity: 1 !important;
}
#app-main .ama-pre-tiles .ama-pre-tile i,
body.ama-ielts-campus .ama-pre-tile i,
body.ama-ielts-campus .ama-pre-tile--lead i {
 display: inline-grid !important;
 place-items: center !important;
 width: 44px !important;
 height: 44px !important;
 border-radius: 12px !important;
 font-size: 1.2rem !important;
 color: #ffffff !important;
 background: #0a3a9e !important;
 opacity: 1 !important;
 filter: none !important;
}
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 1) i { background: #d7192a !important; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 2) i { background: #0a3a9e !important; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 3) i { background: #b8860b !important; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 4) i { background: #1e7a46 !important; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n) i { background: #6a2c91 !important; }
#app-main .ama-pre-tiles .ama-pre-tile--lead {
 border-width: 3px !important;
}

/* - - The book door above the IELTS tiles: solid, black writing - - */
#app-main .ama-ielts-book-door {
 background: #ffffff !important;
 background-image: none !important;
 border: 2px solid #0b1f4d !important;
 border-left: 8px solid #d7192a !important;
 color: #000000 !important;
}
#app-main .ama-ielts-book-door__text strong,
#app-main .ama-ielts-book-door__text em,
#app-main .ama-ielts-book-door__go {
 color: #000000 !important;
}
#app-main .ama-ielts-book-door__icon {
 background: #d7192a !important;
 color: #ffffff !important;
}
#app-main .ama-ielts-book-door__icon i { color: #ffffff !important; }
#app-main .ama-ielts-book-door__go {
 background: #f5c400 !important;
 border-radius: 999px !important;
 padding: 6px 14px !important;
 font-weight: 800 !important;
}

/* Speak-to-type status: always visible, black on white */
#app-main .ama-dictate-wrap .ama-dictate-hint:not(:empty),
.ama-home-search .ama-dictate-wrap .ama-dictate-hint:not(:empty) {
 display: block !important;
 position: absolute !important;
 left: 0;
 right: 0;
 top: calc(100% + 8px);
 z-index: 50;
 text-align: left;
 box-shadow: 0 4px 14px rgba(0,0,0,.18);
 padding: 6px 12px;
 background: #ffffff;
 color: #000000 !important;
 -webkit-text-fill-color: #000000 !important;
 border: 2px solid #0a3a9e;
 border-radius: 10px;
 font-weight: 700;
 font-size: 0.95rem;
 line-height: 1.35;
}
.ama-dictate-wrap.is-listening .ama-dictate-hint:not(:empty) {
 border-color: #d7192a !important;
}
.ama-dictate-mic.is-listening {
 background: #d7192a !important;
 color: #ffffff !important;
 animation: ama-mic-pulse 1.2s ease-in-out infinite;
}
.ama-dictate-mic.is-listening i { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
@keyframes ama-mic-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(215,25,42,.55); } 50% { box-shadow: 0 0 0 8px rgba(215,25,42,0); } }
/* - - Premium tile icons, both courses: colour matches meaning - - */
#app-main .ama-pre-tiles .ama-pre-tile { --ic: #0a3a9e; position: relative !important; overflow: hidden !important; min-height: 118px !important; border-top: 6px solid var(--ic) !important; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 1) { --ic: #d7192a; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 2) { --ic: #0a3a9e; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 3) { --ic: #a8730a; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n + 4) { --ic: #1e7a46; }
#app-main .ama-pre-tiles .ama-pre-tile:nth-child(5n) { --ic: #6a2c91; }
#app-main .ama-pre-tile:has(i.fa-microphone, i.fa-microphone-lines, i.fa-microphone-alt, i.fa-comments, i.fa-comment-dots, i.fa-person-chalkboard) { --ic: #d7192a; }
#app-main .ama-pre-tile:has(i.fa-book, i.fa-book-open, i.fa-book-open-reader, i.fa-layer-group, i.fa-graduation-cap, i.fa-house) { --ic: #0a3a9e; }
#app-main .ama-pre-tile:has(i.fa-film, i.fa-video, i.fa-circle-play, i.fa-play, i.fa-youtube, i.fa-clapperboard, i.fa-tv) { --ic: #6a2c91; }
#app-main .ama-pre-tile:has(i.fa-ear-listen, i.fa-headphones, i.fa-volume-high, i.fa-headset) { --ic: #00796b; }
#app-main .ama-pre-tile:has(i.fa-wave-square, i.fa-music, i.fa-chart-line, i.fa-signal, i.fa-arrow-trend-up) { --ic: #c2185b; }
#app-main .ama-pre-tile:has(i.fa-book-open, i.fa-globe, i.fa-font, i.fa-pen-nib, i.fa-wand-magic-sparkles, i.fa-book-atlas) { --ic: #a8730a; }
#app-main .ama-pre-tile:has(i.fa-stopwatch, i.fa-clipboard-check, i.fa-award, i.fa-trophy, i.fa-medal, i.fa-list-check, i.fa-file-signature, i.fa-door-open) { --ic: #1e7a46; }
#app-main .ama-pre-tile:has(i.fa-lightbulb, i.fa-brain, i.fa-sitemap, i.fa-diagram-project, i.fa-puzzle-piece) { --ic: #d35400; }
#app-main .ama-pre-tile:has(i.fa-dumbbell, i.fa-gamepad, i.fa-dice, i.fa-bolt, i.fa-fire) { --ic: #b71c1c; }
#app-main .ama-pre-tile:has(i.fa-book-open) i { font-weight: 900 !important; }

#app-main .ama-pre-tiles .ama-pre-tile i,
body.ama-ielts-campus .ama-pre-tile i,
body.ama-ielts-campus .ama-pre-tile--lead i {
 width: 60px !important;
 height: 60px !important;
 border-radius: 18px !important;
 font-size: 1.55rem !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 background: var(--ic) !important;
 background-image: linear-gradient(160deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 48%) !important;
 background-color: var(--ic) !important;
 border: 3px solid #ffffff !important;
 box-shadow: 0 0 0 2px var(--ic), 0 6px 14px rgba(0,0,0,.22) !important;
 transition: transform .16s ease !important;
}
#app-main .ama-pre-tiles .ama-pre-tile:hover i,
#app-main .ama-pre-tiles .ama-pre-tile:focus-visible i { transform: scale(1.08) rotate(-4deg) !important; }
#app-main .ama-pre-tiles .ama-pre-tile:hover,
#app-main .ama-pre-tiles .ama-pre-tile:focus-visible {
 border-color: var(--ic) !important;
 box-shadow: 0 6px 0 var(--ic) !important;
 transform: translateY(-3px) !important;
}
#app-main .ama-pre-tiles .ama-pre-tile:active {
 transform: translateY(2px) scale(.98) !important;
 box-shadow: 0 1px 0 var(--ic) !important;
}
#app-main .ama-pre-tiles .ama-pre-tile span { font-size: 1rem !important; font-weight: 900 !important; }
/* - - Official footers: separate navy panel, white writing - - */
#app-main .ama-home-foot.ama-official-foot {
 margin: 28px 0 8px !important;
 padding: 26px 22px 20px !important;
 background: #0b1f4d !important;
 border-top: 6px solid #c8102e !important;
 border-radius: 20px !important;
 text-align: center !important;
 color: #ffffff !important;
 display: grid !important;
 gap: 14px !important;
 justify-items: center !important;
 box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
}
.ama-official-foot p { margin: 0 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; opacity: 1 !important; }
.ama-official-foot__brand { display: flex; align-items: center; gap: 14px; text-align: left; }
.ama-official-foot__brand img { width: 70px; height: auto; background: #ffffff; border-radius: 10px; padding: 5px; }
.ama-official-foot .ama-official-foot__name { font: 800 1.45rem/1.1 "Playfair Display", Georgia, serif !important; }
.ama-official-foot .ama-official-foot__founder { font: italic 800 1.05rem/1.2 "Playfair Display", Georgia, serif !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.ama-official-foot .ama-official-foot__text { max-width: 560px; font: 600 .98rem/1.55 system-ui, -apple-system, "Segoe UI", sans-serif !important; }
.ama-official-foot__links { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ama-official-foot__links a {
 display: inline-flex; align-items: center; gap: 8px;
 padding: 9px 16px; border-radius: 999px;
 background: #ffffff; color: #000000 !important; -webkit-text-fill-color: #000000 !important;
 font: 800 .88rem/1 system-ui, -apple-system, "Segoe UI", sans-serif; text-decoration: none;
}
.ama-official-foot__links a i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
.ama-official-foot .ama-official-foot__copy { padding-top: 12px; border-top: 1px solid rgba(255,255,255,.35); width: 100%; font: 700 .85rem/1.4 system-ui, sans-serif !important; letter-spacing: .03em; }
.ama-staff-row {
 display: flex; justify-content: space-between; align-items: center; gap: 12px;
 margin: 18px 0 12px; padding: 0 2px;
}
.ama-staff-row__btn {
 display: inline-flex; align-items: center; gap: 8px;
 padding: 10px 18px; border-radius: 999px;
 background: linear-gradient(180deg, #ecd089, #d6b36a); color: #0b1733 !important; -webkit-text-fill-color: #0b1733 !important;
 font: 800 .88rem/1 system-ui, -apple-system, "Segoe UI", sans-serif; text-decoration: none;
 box-shadow: 0 4px 12px rgba(0,0,0,.18); border: 1px solid rgba(140,104,30,.35);
 transition: transform .15s ease, box-shadow .15s ease;
}
.ama-staff-row__btn:hover, .ama-staff-row__btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.24); }
.ama-staff-row__btn i { color: #0b1733 !important; -webkit-text-fill-color: #0b1733 !important; }
@media (max-width: 560px) {
 .ama-staff-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
 .ama-staff-row__btn { flex-direction: column; justify-content: center; gap: 5px; padding: 10px 6px; border-radius: 16px; font-size: .78rem; text-align: center; line-height: 1.1; }
 .ama-staff-row__btn i { font-size: 1.05rem; }
}

html .site-foot,
html .site-foot--teen {
 background: #0b1f4d !important;
 background-image: none !important;
 border-top: 5px solid #c8102e !important;
 color: #ffffff !important;
}
.site-foot .ama-signature {
 display: flex !important; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 6px 14px;
 margin: 0 !important; text-align: center;
 color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; opacity: 1 !important;
}
.site-foot .ama-signature__name { font: 800 1.1rem/1.2 "Playfair Display", Georgia, serif; }
.site-foot .ama-signature__founder { font: italic 800 1rem/1.2 "Playfair Display", Georgia, serif; }
.site-foot .ama-signature__copy { font: 700 .82rem/1.4 system-ui, sans-serif; }
.site-foot .ama-signature a { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; text-decoration: underline; }
.site-foot .site-foot__nav button {
 background: #ffffff !important; color: #000000 !important; -webkit-text-fill-color: #000000 !important;
 border: 0 !important; font-weight: 800 !important;
}
.site-foot .site-foot__nav button i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
.site-foot .site-foot__owner { color: #ffffff !important; background: transparent !important; border: 1px solid rgba(255,255,255,.4) !important; }
/* - - Phone layout: clean top bar and an even five-button tab bar - - */
@media (max-width: 640px) {
 .site-header .ama-site-ticker { padding: 5px 0 !important; }
 .site-header .ama-site-ticker__item.ama-tk { font-size: 0.74rem !important; padding: 6px 14px 6px 6px !important; }
 .site-header .ama-tk i { width: 22px; height: 22px; font-size: 0.7rem !important; }

 .ama-topbar__inner { gap: 6px !important; padding-left: 8px !important; padding-right: 8px !important; }
 .ama-topbar__start { min-width: 0 !important; flex: 1 1 auto !important; gap: 6px !important; }
 #ama-menus-toggle-top { display: none !important; }
 .site-header .brand { min-width: 0 !important; gap: 8px !important; }
 #topbar .brand-logo-frame { width: 46px !important; height: 46px !important; flex: none !important; }
 .site-header .brand-logo { width: 100% !important; height: 100% !important; object-fit: contain !important; }
 .site-header .brand-text-block { min-width: 0 !important; }
 #topbar .brand-program { font-size: 1.04rem !important; white-space: nowrap !important; }
 #topbar .brand-teacher.brand-founder { font-size: clamp(1.15rem, 3vw, 1.7rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; }
 .ama-topbar-actions { flex: none !important; gap: 6px !important; }

 html body .top-main-nav-wrap nav.ama-course-nav.main-nav-strip {
 display: grid !important;
 grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
 gap: 6px !important;
 padding: 8px !important;
 overflow: visible !important;
 flex-wrap: nowrap !important;
 }
 html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill {
 position: relative !important;
 display: flex !important;
 flex-direction: column !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 4px !important;
 min-width: 0 !important;
 width: 100% !important;
 height: 54px !important;
 margin: 0 !important;
 padding: 6px 2px !important;
 border-radius: 12px !important;
 font: 800 0.68rem/1.05 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 letter-spacing: 0 !important;
 white-space: nowrap !important;
 overflow: hidden !important;
 text-overflow: ellipsis !important;
 }
 html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill i { font-size: 1.05rem !important; margin: 0 !important; }
 .ama-course-nav .ama-nav-pill .nav-feedback-dot,
 .ama-course-nav .ama-nav-pill [class*="badge"],
 .ama-course-nav .ama-nav-pill [class*="dot"] {
 position: absolute !important;
 top: 4px !important;
 right: 6px !important;
 width: 10px !important;
 height: 10px !important;
 min-width: 0 !important;
 padding: 0 !important;
 font-size: 0 !important;
 border: 2px solid #ffffff !important;
 }

 #app-main .ama-home-foot.ama-official-foot { padding: 22px 16px 18px !important; border-radius: 16px !important; }
 .ama-official-foot__brand { flex-direction: column; text-align: center; }
 .ama-official-foot .ama-official-foot__name { font-size: 1.25rem !important; }
}
@media (max-width: 360px) {
 #topbar .brand-logo-frame { display: none !important; }
 .ama-course-nav .ama-nav-pill { font-size: 0.6rem !important; }
}
/* - - Bigger official name in the top bar - - */
#topbar .brand-program { font-size: clamp(1.3rem, 3.6vw, 2.15rem) !important; }
#topbar .brand-teacher.brand-founder { font-size: clamp(1.25rem, 3.4vw, 1.85rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; font-style: italic !important; font-weight: 800 !important; }
#topbar .brand-logo-frame { width: 64px !important; height: 64px !important; }
@media (max-width: 640px) {
 #topbar .brand-program { font-size: 1.16rem !important; }
 #topbar .brand-teacher.brand-founder { font-size: clamp(1.2rem, 3.2vw, 1.75rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; }
 #topbar .brand-logo-frame { width: 46px !important; height: 46px !important; }
}
@media (max-width: 380px) {
 #topbar .brand-program { font-size: 1.04rem !important; }
 #topbar .brand-teacher.brand-founder { font-size: clamp(1.15rem, 3vw, 1.7rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; }
}
.ama-official-foot .ama-official-foot__director {
 display: grid;
 gap: 4px;
 justify-items: center;
 margin: 10px 0 4px !important;
 padding: 0;
 border: 0;
 text-align: center;
}
.ama-official-foot .ama-official-foot__director-lead {
 font: italic 600 .9rem/1.3 "Playfair Display", Georgia, serif !important;
 color: rgba(255, 255, 255, .85) !important;
 -webkit-text-fill-color: rgba(255, 255, 255, .85) !important;
}
.ama-official-foot .ama-official-foot__director-name {
 font: italic 800 1.25rem/1.25 "Playfair Display", Georgia, serif !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
}
/* - - Homework badge sits on the corner, never over the label - - */
html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill { position: relative !important; overflow: visible !important; }
html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill .nav-feedback-dot,
html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill [class*="badge"],
html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill [class*="dot"] {
 position: absolute !important;
 top: -4px !important;
 right: -4px !important;
 left: auto !important;
 width: 12px !important;
 height: 12px !important;
 min-width: 0 !important;
 padding: 0 !important;
 margin: 0 !important;
 font-size: 0 !important;
 border-radius: 50% !important;
 border: 2px solid #ffffff !important;
}
/* - - Top bar v2: compact name, big centred action buttons - - */
#topbar .ama-topbar__inner {
 display: grid !important;
 grid-template-columns: auto minmax(0, 1fr) !important;
 align-items: center !important;
 gap: 10px 22px !important;
 padding: 10px 18px !important;
 flex-wrap: nowrap !important;
}
#topbar .ama-topbar__start { min-width: 0 !important; flex: none !important; gap: 10px !important; }
#topbar .brand { gap: 10px !important; }
#topbar .brand-logo-frame { width: 50px !important; height: 50px !important; }
#topbar .brand-program { font-size: clamp(1.1rem, 1.9vw, 1.5rem) !important; line-height: 1.12 !important; white-space: nowrap !important; }
#topbar .brand-teacher.brand-founder { font-size: clamp(1.25rem, 3.4vw, 1.85rem) !important; line-height: 1.12 !important; white-space: nowrap !important; margin-top: 3px !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; font-style: italic !important; font-weight: 800 !important; }

#topbar .ama-topbar-actions {
 display: flex !important;
 flex-wrap: wrap !important;
 justify-content: center !important;
 align-items: center !important;
 gap: 10px !important;
 min-width: 0 !important;
}
#topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
#topbar .ama-topbar-actions > .ama-topbar-signin {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 9px !important;
 min-height: 46px !important;
 padding: 0 18px 0 8px !important;
 border-radius: 14px !important;
 background: #ffffff !important;
 color: #0b1f4d !important;
 -webkit-text-fill-color: #0b1f4d !important;
 border: 1.5px solid #c5d4e8 !important;
 box-shadow: 0 2px 8px rgba(11, 31, 77, .08) !important;
 font: 700 .96rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
 white-space: nowrap !important;
 cursor: pointer !important;
 transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
#topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle):hover,
#topbar .ama-topbar-actions > .ama-topbar-signin:hover {
 transform: translateY(-2px) !important;
 border-color: #0a3a9e !important;
 box-shadow: 0 6px 16px rgba(11, 31, 77, .16) !important;
}
#topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle):active,
#topbar .ama-topbar-actions > .ama-topbar-signin:active { transform: scale(.96) !important; }
#topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle) > i,
#topbar .ama-topbar-actions > .ama-topbar-signin > i {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 32px !important;
 height: 32px !important;
 flex: none !important;
 border-radius: 10px !important;
 background: var(--tb-ic, #0a3a9e) !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 font-size: .95rem !important;
 margin: 0 !important;
}
#topbar #ama-menus-toggle-top { --tb-ic: #0a3a9e; }
#topbar #ama-study-focus-top { --tb-ic: #5b33c0; }
#topbar #ama-easy-listen-toggle { --tb-ic: #0b7a6c; }
#topbar #vi-guide-toggle { --tb-ic: #a8481a; }
#topbar #app-refresh-btn { --tb-ic: #33415c; }
#topbar .ama-topbar-actions > .ama-topbar-signin {
 --tb-ic: #c8102e;
 background: #0a3a9e !important;
 border-color: #0a3a9e !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
}
#topbar .ama-topbar-actions > .ama-topbar-signin > i { background: #ffffff !important; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#topbar .ama-topbar-actions > .ama-topbar-signin span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
#topbar .ama-topbar-actions [aria-pressed="true"]:not(#ama-menus-toggle-top) { border-color: var(--tb-ic) !important; box-shadow: 0 0 0 3px rgba(10, 58, 158, .14) !important; }

@media (max-width: 1220px) {
 #topbar .ama-topbar__inner { grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; padding: 8px 14px 10px !important; }
 #topbar .ama-topbar__start { justify-content: center !important; }
 #topbar .ama-topbar-actions { width: 100% !important; }
}

@media (max-width: 640px) {
 #topbar .ama-topbar__inner { gap: 8px !important; padding: 8px 10px 10px !important; }
 #topbar .brand-logo-frame { width: 42px !important; height: 42px !important; }
 #topbar .brand-program { font-size: 1.12rem !important; }
 #topbar .brand-teacher.brand-founder { font-size: clamp(1.2rem, 3vw, 1.7rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; }
 #topbar .ama-topbar-actions {
 display: grid !important;
 grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
 gap: 6px !important;
 }
 #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
 #topbar .ama-topbar-actions > .ama-topbar-signin {
 flex-direction: column !important;
 gap: 4px !important;
 min-height: 58px !important;
 width: 100% !important;
 padding: 6px 2px !important;
 font-size: .74rem !important;
 border-radius: 12px !important;
 }
 #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle) > i,
 #topbar .ama-topbar-actions > .ama-topbar-signin > i { width: 26px !important; height: 26px !important; font-size: .82rem !important; border-radius: 8px !important; }
}
@media (max-width: 380px) {
 #topbar .brand-program { font-size: 1rem !important; }
 #topbar .brand-teacher.brand-founder { font-size: clamp(1.15rem, 3vw, 1.65rem) !important; color: #d7192a !important; -webkit-text-fill-color: #d7192a !important; }
}#topbar .ama-topbar-actions > [hidden] { display: none !important; }
@media (max-width: 640px) {
 #topbar .ama-topbar-actions > #ama-menus-toggle-top { display: none !important; }
}
/* - - Top bar v2: labels always visible; course tabs centred and bigger - - */
#topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle) > span:not(.app-sync-dot),
#topbar .ama-topbar-actions > .ama-topbar-signin > span {
 display: inline !important;
 position: static !important;
 width: auto !important;
 height: auto !important;
 clip: auto !important;
 overflow: visible !important;
 opacity: 1 !important;
 font-size: inherit !important;
 color: #0b1f4d !important;
 -webkit-text-fill-color: #0b1f4d !important;
}
#topbar .ama-topbar-actions > .ama-topbar-signin > span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
@media (min-width: 641px) {
 html body .top-main-nav-wrap nav.ama-course-nav.main-nav-strip {
 display: flex !important;
 justify-content: center !important;
 flex-wrap: wrap !important;
 gap: 12px !important;
 padding: 10px 14px !important;
 }
 html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill {
 min-height: 48px !important;
 padding: 0 22px 0 14px !important;
 gap: 10px !important;
 border-radius: 14px !important;
 font: 800 1rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 }
 html body .top-main-nav-wrap nav.ama-course-nav .ama-nav-pill i { font-size: 1.15rem !important; }
}
.ama-quick-nav .ama-quick-nav__btn {
 width: 48px !important;
 height: 48px !important;
 border-radius: 14px !important;
 background: #0a3a9e !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 border: 2px solid #ffffff !important;
 box-shadow: 0 6px 16px rgba(0, 0, 0, .28) !important;
 opacity: 1 !important;
}
.ama-quick-nav .ama-quick-nav__btn i { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-size: 1.1rem !important; }
.ama-quick-nav .ama-quick-nav__btn:disabled { background: #8a9bbd !important; box-shadow: none !important; }@media (min-width: 641px) and (max-width: 1220px) {
 #topbar .ama-topbar-actions { gap: 8px !important; flex-wrap: nowrap !important; }
 #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
 #topbar .ama-topbar-actions > .ama-topbar-signin { min-height: 42px !important; padding: 0 12px 0 6px !important; gap: 7px !important; font-size: .88rem !important; }
 #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle) > i,
 #topbar .ama-topbar-actions > .ama-topbar-signin > i { width: 28px !important; height: 28px !important; font-size: .85rem !important; }
}
.ama-quick-nav .ama-quick-nav__btn:disabled { opacity: .55 !important; }
/* - - Power saver: decorative motion rests when idle or hidden - - */
html.ama-motion-rest .ama-site-ticker__track,
html.ama-motion-rest .homework-reminder__bell,
html.ama-motion-rest .ama-chat-fab--pulse,
html.ama-motion-rest .ama-hero__wave span,
html.ama-motion-rest .ama-tile--hero .ama-tile__icon,
html.ama-motion-rest .student-feedback-notify:not([hidden]) { animation-play-state: paused !important; }
.site-header .ama-site-ticker__track { will-change: auto !important; }
.ama-quick-nav .ama-quick-nav__btn { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* - - Side menu drawer - - */
#ama-course-menu.ama-drawer {
 position: fixed !important;
 inset: 0 !important;
 z-index: 12000 !important;
 display: block !important;
 padding: 0 !important;
 margin: 0 !important;
 background: transparent !important;
 overflow: hidden !important;
 pointer-events: none;
 visibility: hidden;
 transition: visibility 0s linear .3s;
}
#ama-course-menu.ama-drawer.is-open { pointer-events: auto; visibility: visible; transition: none; }
.ama-drawer__scrim { position: absolute; inset: 0; background: rgba(5, 15, 40, .45); opacity: 0; transition: opacity .25s ease; }
.ama-drawer.is-open .ama-drawer__scrim { opacity: 1; }
.ama-drawer__panel {
 position: absolute;
 top: 0; left: 0; bottom: 0;
 width: min(330px, 86vw);
 display: flex;
 flex-direction: column;
 background: #ffffff;
 border-right: 4px solid #c8102e;
 box-shadow: 12px 0 40px rgba(0, 0, 0, .3);
 transform: translateX(-104%);
 transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}
.ama-drawer.is-open .ama-drawer__panel { transform: none; }
.ama-drawer__head {
 display: flex;
 align-items: center;
 gap: 12px;
 padding: 16px 14px;
 background: #0b1f4d;
 color: #ffffff;
}
.ama-drawer__head img { width: 44px; height: 44px; border-radius: 10px; background: #ffffff; padding: 3px; object-fit: contain; flex: none; }
.ama-drawer__head h2 { margin: 0; font: 800 1.08rem/1.2 "Playfair Display", Georgia, serif; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.ama-drawer__head p { margin: 2px 0 0; font-size: .82rem; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.ama-drawer__head > div { flex: 1; min-width: 0; }
.ama-drawer__x {
 width: 42px; height: 42px; flex: none;
 display: grid; place-items: center;
 border-radius: 12px;
 border: 0;
 background: #ffffff;
 color: #0b1f4d;
 font-size: 1.2rem;
 cursor: pointer;
}
.ama-drawer__list.ama-course-menu__grid {
 flex: 1;
 display: flex !important;
 flex-direction: column;
 gap: 4px !important;
 padding: 8px 10px 24px;
 overflow-y: auto;
 overscroll-behavior: contain;
 -webkit-overflow-scrolling: touch;
}
.ama-drawer__group {
 margin: 12px 6px 4px;
 font: 800 .72rem/1 system-ui, sans-serif;
 letter-spacing: .12em;
 text-transform: uppercase;
 color: #0b1f4d !important;
}
.ama-drawer__list.ama-course-menu__grid button {
 display: flex !important;
 align-items: center;
 gap: 12px;
 width: 100%;
 min-height: 48px;
 padding: 6px 10px !important;
 border: 0 !important;
 border-radius: 12px !important;
 background: #ffffff !important;
 color: #000000 !important;
 -webkit-text-fill-color: #000000 !important;
 font: 700 .98rem/1.2 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 text-align: left;
 cursor: pointer;
 transition: background .15s ease;
}
.ama-drawer__list.ama-course-menu__grid button:hover,
.ama-drawer__list.ama-course-menu__grid button:focus-visible { background: #eef3fb !important; }
.ama-drawer__list.ama-course-menu__grid button i {
 width: 34px; height: 34px; flex: none;
 display: grid; place-items: center;
 border-radius: 10px;
 background: var(--dc, #0a3a9e);
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 font-size: .95rem;
}
#topbar #ama-topbar-menu { width: 46px !important; height: 46px !important; border-radius: 14px !important; }
/* - - Top bar v3: Focus + Sign In in their own top-right area - - */
#topbar .ama-topbar__inner {
 grid-template-columns: auto minmax(0, 1fr) auto !important;
 grid-template-areas: "start tools pro" !important;
}
#topbar .ama-topbar__start { grid-area: start; }
#topbar .ama-topbar-actions { grid-area: tools; }
#topbar .ama-topbar-pro {
 grid-area: pro;
 display: flex;
 align-items: center;
 gap: 10px;
 padding-left: 16px;
 border-left: 2px solid #e1e8f3;
}
#topbar .ama-topbar-pro > .ama-util-btn,
#topbar .ama-topbar-pro > .ama-topbar-signin {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 9px !important;
 min-height: 46px !important;
 padding: 0 18px 0 8px !important;
 border-radius: 14px !important;
 font: 800 .96rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 letter-spacing: 0 !important;
 text-transform: none !important;
 white-space: nowrap !important;
 cursor: pointer !important;
 transition: transform .15s ease, box-shadow .15s ease !important;
}
#topbar .ama-topbar-pro > .ama-util-btn {
 background: #ffffff !important;
 color: #0b1f4d !important;
 -webkit-text-fill-color: #0b1f4d !important;
 border: 2px solid #5b33c0 !important;
 box-shadow: none !important;
}
#topbar .ama-topbar-pro > .ama-topbar-signin {
 background: #0a3a9e !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 border: 2px solid #0a3a9e !important;
 box-shadow: 0 4px 14px rgba(10, 58, 158, .3) !important;
}
#topbar .ama-topbar-pro > *:hover { transform: translateY(-2px) !important; }
#topbar .ama-topbar-pro > *:active { transform: scale(.96) !important; }
#topbar .ama-topbar-pro > * > i {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 32px !important;
 height: 32px !important;
 border-radius: 10px !important;
 font-size: .95rem !important;
 margin: 0 !important;
}
#topbar .ama-topbar-pro > .ama-util-btn > i { background: #5b33c0 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
#topbar .ama-topbar-pro > .ama-topbar-signin > i { background: #ffffff !important; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#topbar .ama-topbar-pro > .ama-util-btn > span { color: #0b1f4d !important; -webkit-text-fill-color: #0b1f4d !important; }
#topbar .ama-topbar-pro > .ama-topbar-signin > span { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

@media (max-width: 1220px) {
 #topbar .ama-topbar__inner {
 grid-template-columns: minmax(0, 1fr) auto !important;
 grid-template-areas: "start pro" "tools tools" !important;
 justify-items: stretch !important;
 }
 #topbar .ama-topbar__start { justify-content: flex-start !important; }
}
@media (max-width: 640px) {
 #topbar .ama-topbar__inner {
 grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
 grid-template-areas: none !important;
 }
 #topbar .ama-topbar__start { grid-column: 1 / -1 !important; grid-area: auto !important; justify-content: center !important; }
 #topbar .ama-topbar-actions,
 #topbar .ama-topbar-pro { display: contents !important; }
 #topbar .ama-topbar-actions > #ama-menus-toggle-top,
 #topbar .ama-topbar-actions > .nav-toggle { display: none !important; }
 #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
 #topbar .ama-topbar-pro > .ama-util-btn,
 #topbar .ama-topbar-pro > .ama-topbar-signin {
 flex-direction: column !important;
 gap: 4px !important;
 min-height: 58px !important;
 width: 100% !important;
 padding: 6px 2px !important;
 font-size: .74rem !important;
 border-radius: 12px !important;
 }
 #topbar .ama-topbar-pro > * > i { width: 26px !important; height: 26px !important; font-size: .82rem !important; border-radius: 8px !important; }
}

/* - - Full Focus: only the lesson stays, bigger and wider - - */
html:has(body.ama-focus-full) { font-size: 112.5%; }
body.ama-focus-full #topbar,
body.ama-focus-full .site-header,
body.ama-focus-full .top-main-nav-wrap,
body.ama-focus-full .ama-official-foot,
body.ama-focus-full .site-foot,
body.ama-focus-full #mobile-bottom-nav,
body.ama-focus-full .desktop-sidebar,
body.ama-focus-full .practice-focus-bar,
body.ama-focus-full .mobile-install-bar,
body.ama-focus-full .class-chat-fab,
body.ama-focus-full .ama-chat-fab { display: none !important; }
body.ama-focus-full #app-main { max-width: 100% !important; padding-top: 64px !important; }
body.ama-focus-full .view--active > .wrap,
body.ama-focus-full .ielts-wrap,
body.ama-focus-full .ama-pre-studio { max-width: min(1200px, 100%) !important; }
.ama-focus-exit {
 position: fixed;
 top: 12px;
 right: 12px;
 z-index: 13000;
 display: inline-flex;
 align-items: center;
 gap: 8px;
 min-height: 44px;
 padding: 0 18px 0 12px;
 border: 2px solid #ffffff;
 border-radius: 999px;
 background: #c8102e;
 color: #ffffff;
 font: 800 .95rem/1 system-ui, -apple-system, "Segoe UI", sans-serif;
 box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
 cursor: pointer;
}
.ama-focus-exit[hidden] { display: none !important; }
/* - - Footer founder line - - */
.ama-official-foot .ama-official-foot__founded {
 font: italic 800 1.25rem/1.25 "Playfair Display", Georgia, serif !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 margin-top: 4px !important;
}

/* - - IELTS Speaking Book: big, clear entrance - - */
html body #view-ielts-campus .ama-ielts-book-door {
 display: flex !important;
 align-items: center !important;
 gap: 22px !important;
 width: 100% !important;
 min-height: 140px !important;
 margin: 6px 0 20px !important;
 padding: 22px 26px !important;
 border: 0 !important;
 border-radius: 22px !important;
 background: linear-gradient(120deg, #0a3a9e 0%, #0b1f4d 100%) !important;
 border-bottom: 6px solid #c8102e !important;
 box-shadow: 0 14px 34px rgba(10, 58, 158, .35) !important;
 text-align: left !important;
 cursor: pointer !important;
 transition: transform .18s ease, box-shadow .18s ease !important;
}
html body #view-ielts-campus .ama-ielts-book-door:hover { transform: translateY(-3px) !important; box-shadow: 0 20px 42px rgba(10, 58, 158, .45) !important; }
html body #view-ielts-campus .ama-ielts-book-door:active { transform: scale(.98) !important; }
html body #view-ielts-campus .ama-ielts-book-door__icon {
 width: 84px !important;
 height: 84px !important;
 flex: none !important;
 display: grid !important;
 place-items: center !important;
 border-radius: 20px !important;
 background: #ffffff !important;
 box-shadow: 0 6px 16px rgba(0, 0, 0, .25) !important;
}
html body #view-ielts-campus .ama-ielts-book-door__icon i { font-size: 2.4rem !important; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
html body #view-ielts-campus .ama-ielts-book-door__text { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
html body #view-ielts-campus .ama-ielts-book-door__text strong {
 font: 800 clamp(1.4rem, 3vw, 2rem)/1.15 "Playfair Display", Georgia, serif !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
}
html body #view-ielts-campus .ama-ielts-book-door__text em {
 font: 600 1rem/1.45 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 font-style: normal !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
}
html body #view-ielts-campus .ama-ielts-book-door__go {
 flex: none !important;
 display: inline-flex !important;
 align-items: center !important;
 gap: 10px !important;
 min-height: 52px !important;
 padding: 0 24px !important;
 border-radius: 14px !important;
 background: #ffffff !important;
 color: #0b1f4d !important;
 -webkit-text-fill-color: #0b1f4d !important;
 font: 800 1.05rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
html body #view-ielts-campus .ama-ielts-book-door__go i { color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
@media (max-width: 640px) {
 html body #view-ielts-campus .ama-ielts-book-door { flex-wrap: wrap !important; gap: 14px !important; padding: 18px !important; min-height: 0 !important; }
 html body #view-ielts-campus .ama-ielts-book-door__icon { width: 64px !important; height: 64px !important; }
 html body #view-ielts-campus .ama-ielts-book-door__icon i { font-size: 1.8rem !important; }
 html body #view-ielts-campus .ama-ielts-book-door__text { flex: 1 1 60% !important; }
 html body #view-ielts-campus .ama-ielts-book-door__go { width: 100% !important; justify-content: center !important; }
}#topbar .ama-topbar-pro > .ama-util-btn > span,
#topbar .ama-topbar-pro > .ama-topbar-signin > span {
 display: inline !important;
 position: static !important;
 width: auto !important;
 height: auto !important;
 clip: auto !important;
 overflow: visible !important;
 opacity: 1 !important;
 font-size: inherit !important;
}@media (max-width: 640px) {
 #topbar .ama-topbar__inner > .ama-topbar__start { grid-area: 1 / 1 / 2 / -1 !important; justify-content: center !important; }
}
/* - - Labelled Menu button next to the logo - - */
#topbar #ama-topbar-menu.ama-topbar-menu {
 display: inline-flex !important;
 flex-direction: row !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 8px !important;
 width: auto !important;
 height: 46px !important;
 min-width: 0 !important;
 padding: 0 16px 0 12px !important;
 border-radius: 14px !important;
 border: 0 !important;
 background: #0b1f4d !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
 box-shadow: 0 4px 12px rgba(11, 31, 77, .25) !important;
 cursor: pointer !important;
 transition: transform .15s ease !important;
}
#topbar #ama-topbar-menu.ama-topbar-menu:hover { transform: translateY(-2px) !important; }
#topbar #ama-topbar-menu.ama-topbar-menu:active { transform: scale(.96) !important; }
#topbar #ama-topbar-menu.ama-topbar-menu i { font-size: 1.1rem !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; margin: 0 !important; }
#topbar #ama-topbar-menu .ama-topbar-menu__label {
 display: inline !important;
 font: 800 .98rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
 letter-spacing: .02em !important;
 color: #ffffff !important;
 -webkit-text-fill-color: #ffffff !important;
}
@media (max-width: 640px) {
 #topbar #ama-topbar-menu.ama-topbar-menu {
 flex-direction: column !important;
 gap: 2px !important;
 height: 50px !important;
 padding: 0 10px !important;
 border-radius: 12px !important;
 }
 #topbar #ama-topbar-menu.ama-topbar-menu i { font-size: 1rem !important; }
 #topbar #ama-topbar-menu .ama-topbar-menu__label { font-size: .7rem !important; }
}
/* - - Menu button: same design as Sign In - - */
#topbar #ama-topbar-menu.ama-topbar-menu {
 padding: 0 18px 0 8px !important;
 gap: 9px !important;
 background: #0a3a9e !important;
 border: 2px solid #0a3a9e !important;
 box-shadow: 0 4px 14px rgba(10, 58, 158, .3) !important;
}
#topbar #ama-topbar-menu.ama-topbar-menu i {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 32px !important;
 height: 32px !important;
 border-radius: 10px !important;
 background: #ffffff !important;
 color: #0a3a9e !important;
 -webkit-text-fill-color: #0a3a9e !important;
 font-size: .95rem !important;
}
#topbar #ama-topbar-menu .ama-topbar-menu__label { font: 800 .96rem/1 system-ui, -apple-system, "Segoe UI", sans-serif !important; }
@media (max-width: 640px) {
 #topbar #ama-topbar-menu.ama-topbar-menu { padding: 4px 8px !important; }
 #topbar #ama-topbar-menu.ama-topbar-menu i { width: 26px !important; height: 26px !important; font-size: .82rem !important; border-radius: 8px !important; }
}

/* - - Focus: slim top bar, full page for the lesson - - */
html:has(body.ama-focus-full) { font-size: 100%; }
body.ama-focus-full #topbar,
body.ama-focus-full .site-header { display: block !important; }
body.ama-focus-full .ama-site-ticker,
body.ama-focus-full .top-main-nav-wrap,
body.ama-focus-full #topbar .brand-founder { display: none !important; }
body.ama-focus-full #app-main { padding-top: 8px !important; }
body.ama-focus-full #topbar .ama-topbar__inner {
 display: flex !important;
 flex-wrap: nowrap !important;
 align-items: center !important;
 gap: 8px !important;
 padding: 6px 12px !important;
}
body.ama-focus-full #topbar .ama-topbar__start { flex: 1 1 auto !important; min-width: 0 !important; justify-content: flex-start !important; gap: 8px !important; }
body.ama-focus-full #topbar .ama-topbar-actions,
body.ama-focus-full #topbar .ama-topbar-pro { display: flex !important; flex: none !important; width: auto !important; gap: 6px !important; padding-left: 0 !important; border-left: 0 !important; flex-wrap: nowrap !important; }
body.ama-focus-full #topbar .brand-logo-frame { width: 34px !important; height: 34px !important; }
body.ama-focus-full #topbar .brand-program { font-size: 1rem !important; }
body.ama-focus-full #topbar #ama-topbar-menu.ama-topbar-menu,
body.ama-focus-full #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
body.ama-focus-full #topbar .ama-topbar-pro > * {
 flex-direction: row !important;
 height: 38px !important;
 min-height: 38px !important;
 width: auto !important;
 padding: 0 12px 0 5px !important;
 gap: 6px !important;
 font-size: .82rem !important;
 border-radius: 11px !important;
}
body.ama-focus-full #topbar #ama-topbar-menu.ama-topbar-menu i,
body.ama-focus-full #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle) > i,
body.ama-focus-full #topbar .ama-topbar-pro > * > i { width: 26px !important; height: 26px !important; font-size: .8rem !important; border-radius: 8px !important; }
body.ama-focus-full #topbar #ama-topbar-menu .ama-topbar-menu__label { font-size: .82rem !important; }
@media (max-width: 760px) {
 body.ama-focus-full #topbar .brand-text-block,
 body.ama-focus-full #topbar .ama-topbar-actions > .ama-util-btn > span,
 body.ama-focus-full #topbar .ama-topbar-pro > .ama-topbar-signin > span,
 body.ama-focus-full #topbar #ama-topbar-menu .ama-topbar-menu__label { display: none !important; }
 body.ama-focus-full #topbar #ama-topbar-menu.ama-topbar-menu,
 body.ama-focus-full #topbar .ama-topbar-actions > .ama-util-btn:not(.nav-toggle),
 body.ama-focus-full #topbar .ama-topbar-pro > .ama-topbar-signin { padding: 0 5px !important; }
}body.ama-focus-full #topbar .brand-logo-frame { display: none !important; }
body.ama-focus-full #topbar .brand,
body.ama-focus-full #topbar .brand-text-block { min-width: 0 !important; overflow: hidden !important; }
body.ama-focus-full #topbar .brand-program { overflow: hidden !important; text-overflow: ellipsis !important; }
@media (max-width: 1000px) {
 body.ama-focus-full #topbar .brand-text-block { display: none !important; }
}
@media (max-width: 760px) {
 html body.ama-focus-full #topbar .ama-topbar__inner .ama-topbar-actions > .ama-util-btn > span,
 html body.ama-focus-full #topbar .ama-topbar__inner .ama-topbar-pro > * > span,
 html body.ama-focus-full #topbar .ama-topbar__inner #ama-topbar-menu > span { display: none !important; }
 html body.ama-focus-full #topbar .ama-topbar__inner #ama-topbar-menu,
 html body.ama-focus-full #topbar .ama-topbar__inner .ama-topbar-actions > .ama-util-btn,
 html body.ama-focus-full #topbar .ama-topbar__inner .ama-topbar-pro > * { width: 40px !important; min-width: 40px !important; max-width: 40px !important; padding: 0 !important; justify-content: center !important; }
 html body.ama-focus-full #topbar .ama-topbar__inner { justify-content: space-between !important; }
}
/* ── Question answer kit: brainstorm -> O-R-E-C steps -> final model answer ── */
html body .q-acc-head { cursor: pointer; }
html body .q-acc-item.open .q-acc-body { padding: 16px 18px 20px !important; background: #fff !important; }
html body .qm { display: grid; gap: 14px; }
html body .qm-step { background: #fff; border: 2px solid #dbe4f3; border-radius: 16px; padding: 16px 18px; }
html body .qm-step h5 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 10px; font-size: 1.05rem; color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
html body .qm-n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #0a3a9e; color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: .95rem; font-weight: 800; flex: none; }
html body .qm-lead { margin: 0 0 10px; color: #1f2937 !important; -webkit-text-fill-color: #1f2937 !important; font-size: .92rem; }
html body .qm-ideas { display: flex; flex-wrap: wrap; gap: 8px; }
html body .qm-idea { background: #eef3ff; border: 1.5px solid #0a3a9e; border-radius: 999px; padding: 6px 14px; font-weight: 700; font-size: .9rem; color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
html body .qm-orec { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
html body .qm-row { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: #f8fafc; border-left: 6px solid #0a3a9e; }
html body .qm-row--o { border-left-color: #c8102e; }
html body .qm-row--r { border-left-color: #0a3a9e; }
html body .qm-row--e { border-left-color: #0f7a4a; }
html body .qm-row--c { border-left-color: #6b21a8; }
html body .qm-letter { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff !important; -webkit-text-fill-color: #fff !important; font-weight: 900; flex: none; background: #0a3a9e; }
html body .qm-row--o .qm-letter { background: #c8102e; }
html body .qm-row--e .qm-letter { background: #0f7a4a; }
html body .qm-row--c .qm-letter { background: #6b21a8; }
html body .qm-label { margin: 0 0 4px; font-size: .85rem; color: #374151 !important; -webkit-text-fill-color: #374151 !important; }
html body .qm-label strong { color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
html body .qm-line { margin: 0; font-size: 1rem; line-height: 1.55; color: #000 !important; -webkit-text-fill-color: #000 !important; }
html body .qm-final { background: #0a3a9e; border-color: #0a3a9e; }
html body .qm-final h5 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body .qm-final .qm-n { background: #fff; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
html body .qm-time { margin-left: auto; background: #c8102e; color: #fff !important; -webkit-text-fill-color: #fff !important; border-radius: 999px; padding: 4px 12px; font-size: .8rem; font-weight: 800; }
html body .qm-answer { margin: 0 0 12px; background: #fff; border-radius: 12px; padding: 14px 16px; font-size: 1.05rem; line-height: 1.7; color: #000 !important; -webkit-text-fill-color: #000 !important; }
html body .qm-listen { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
html body .qm-tip { margin: 0; font-weight: 700; font-size: .9rem; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body .qm-final .vi-reveal { color: #fff !important; -webkit-text-fill-color: #fff !important; }
@media (max-width: 640px) {
 html body .q-acc-item.open .q-acc-body { padding: 12px 10px 16px !important; }
 html body .qm-step { padding: 14px 12px; }
 html body .qm-row { padding: 10px; gap: 10px; }
 html body .qm-time { margin-left: 0; }
}html body .qm-listen .speak-btn { background: #fff !important; border: 2px solid #fff !important; }
html body .qm-listen .speak-btn, html body .qm-listen .speak-btn span { color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
html body .qm-listen .speak-btn i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
/* ── First Steps (Bước đầu tiên) - beginner zone ── */
html body .ama-fs-door { display: flex; align-items: center; gap: 16px; width: 100%; margin: 0 0 22px; padding: 18px 22px; border: 0; border-radius: 20px; background: linear-gradient(120deg, #0f7a4a, #0a3a9e); border-bottom: 5px solid #c8102e; box-shadow: 0 14px 30px rgba(10,58,158,.22); cursor: pointer; text-align: left; transition: transform .15s ease; }
html body .ama-fs-door:hover { transform: translateY(-2px); }
html body .ama-fs-door * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body .ama-fs-door__icon { flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: #fff; font-size: 1.6rem; }
html body .ama-fs-door__icon i { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }
html body .ama-fs-door__text { flex: 1; display: grid; gap: 4px; }
html body .ama-fs-door__text strong { font-size: 1.2rem; font-weight: 800; }
html body .ama-fs-door__text span { font-size: .95rem; font-weight: 600; }
html body .ama-fs-door__cta { flex: none; background: #fff; border-radius: 999px; padding: 10px 18px; font-weight: 800; }
html body .ama-fs-door__cta, html body .ama-fs-door__cta i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
@media (max-width: 640px) { html body .ama-fs-door { flex-wrap: wrap; padding: 16px; } html body .ama-fs-door__cta { width: 100%; text-align: center; } }

#view-first-steps { padding: 18px 16px 60px; background: #f4f7fc; }
#fs-root { max-width: 980px; margin: 0 auto; }
#fs-root, #fs-root p, #fs-root h2, #fs-root h3, #fs-root li, #fs-root strong, #fs-root span, #fs-root label { color: #0b1b3f; -webkit-text-fill-color: #0b1b3f; }
#fs-root .fs-wrap { display: grid; gap: 18px; }
#fs-root .fs-en { margin: 0; font-size: 1.12rem; font-weight: 700; color: #000 !important; -webkit-text-fill-color: #000 !important; line-height: 1.45; }
#fs-root .fs-vi { margin: 2px 0 0; font-size: .92rem; color: #374151 !important; -webkit-text-fill-color: #374151 !important; font-weight: 500; }
#fs-root .fs-muted { margin: 0 0 12px; color: #374151 !important; -webkit-text-fill-color: #374151 !important; font-size: .95rem; line-height: 1.5; }
#fs-root .fs-card { background: #fff; border: 2px solid #dbe4f3; border-radius: 20px; padding: 20px; box-shadow: 0 6px 18px rgba(15,23,42,.05); }
#fs-root .fs-card h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 1.2rem; }
#fs-root .fs-n { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #0a3a9e; color: #fff !important; -webkit-text-fill-color: #fff !important; font-weight: 800; }

#fs-root .fs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 12px; border: 2px solid transparent; font-weight: 800; font-size: .92rem; cursor: pointer; font-family: inherit; }
#fs-root .fs-btn--big { min-height: 52px; padding: 0 22px; font-size: 1rem; }
#fs-root .fs-btn--blue { background: #0a3a9e; }
#fs-root .fs-btn--red { background: #c8102e; }
#fs-root .fs-btn--blue, #fs-root .fs-btn--blue *, #fs-root .fs-btn--red, #fs-root .fs-btn--red * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-btn--soft { background: #eef3ff; border-color: #c7d5f2; }
#fs-root .fs-btn--soft, #fs-root .fs-btn--soft * { color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
#fs-root .fs-btn--white { background: #fff; }
#fs-root .fs-btn--white, #fs-root .fs-btn--white * { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-btn--outline-white { background: transparent; border-color: #fff; }
#fs-root .fs-btn--outline-white, #fs-root .fs-btn--outline-white * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-btn--live { animation: fsPulse 1s ease-in-out infinite; }
@keyframes fsPulse { 50% { box-shadow: 0 0 0 6px rgba(200,16,46,.25); } }
#fs-root .fs-listen, #fs-root .fs-rec { display: inline-flex; flex-wrap: wrap; gap: 8px; }

#fs-root .fs-hero { border-radius: 24px; padding: 28px 26px; background: linear-gradient(130deg, #0a3a9e 0%, #0f7a4a 100%); border-bottom: 6px solid #c8102e; }
#fs-root .fs-hero * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-hero .fs-btn--white, #fs-root .fs-hero .fs-btn--white * { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-hero__badge { display: inline-flex; gap: 8px; align-items: center; margin: 0 0 10px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.16); font-weight: 700; font-size: .85rem; }
#fs-root .fs-hero h2 { margin: 0 0 8px; font-size: clamp(1.8rem, 4vw, 2.6rem); font-family: 'Playfair Display', Georgia, serif; }
#fs-root .fs-hero h2 span { display: block; font-size: .55em; font-family: inherit; font-weight: 600; }
#fs-root .fs-hero__lead { margin: 0 0 16px; font-size: 1.02rem; line-height: 1.55; max-width: 640px; }
#fs-root .fs-progress { margin: 0 0 18px; max-width: 460px; }
#fs-root .fs-progress__bar { height: 12px; border-radius: 99px; background: rgba(255,255,255,.25); overflow: hidden; }
#fs-root .fs-progress__bar span { display: block; height: 100%; background: #fff; border-radius: 99px; min-width: 6px; }
#fs-root .fs-progress p { margin: 6px 0 0; font-size: .9rem; }
#fs-root .fs-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; }

#fs-root .fs-sos { border-color: #c8102e; }
#fs-root .fs-sos h3 i { color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-sos__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
#fs-root .fs-sos__item { display: grid; gap: 8px; align-content: start; padding: 14px; border-radius: 14px; background: #fff5f6; border: 1.5px solid #f3c2ca; }

#fs-root .fs-stage__head { display: flex; gap: 14px; align-items: center; margin: 6px 0 12px; }
#fs-root .fs-stage__head h3 { margin: 0; font-size: 1.25rem; }
#fs-root .fs-stage__head p { margin: 2px 0 0; color: #374151 !important; -webkit-text-fill-color: #374151 !important; font-size: .92rem; }
#fs-root .fs-stage__num { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #c8102e; color: #fff !important; -webkit-text-fill-color: #fff !important; font-weight: 900; font-size: 1.2rem; }
#fs-root .fs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
#fs-root .fs-lesson { display: grid; gap: 4px; justify-items: start; text-align: left; padding: 16px; border-radius: 18px; background: #fff; border: 2px solid #dbe4f3; cursor: pointer; font-family: inherit; transition: transform .15s ease, border-color .15s ease; }
#fs-root .fs-lesson:hover { transform: translateY(-2px); border-color: #0a3a9e; }
#fs-root .fs-lesson__emoji { font-size: 2rem; line-height: 1; margin-bottom: 4px; }
#fs-root .fs-lesson__num { font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-lesson strong { font-size: 1.08rem; }
#fs-root .fs-lesson__vi { font-size: .9rem; color: #374151 !important; -webkit-text-fill-color: #374151 !important; }
#fs-root .fs-lesson__state { margin-top: 8px; padding: 5px 12px; border-radius: 999px; background: #0a3a9e; font-size: .8rem; font-weight: 800; }
#fs-root .fs-lesson__state, #fs-root .fs-lesson__state i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-lesson.is-done { border-color: #0f7a4a; background: #f2fbf6; }
#fs-root .fs-lesson.is-done .fs-lesson__state { background: #0f7a4a; }
#fs-root .fs-next { display: grid; gap: 10px; justify-items: start; }
#fs-root .fs-next p { margin: 0; }

#fs-root .fs-lhead { display: grid; gap: 12px; justify-items: start; }
#fs-root .fs-lhead__title { display: flex; gap: 14px; align-items: center; }
#fs-root .fs-lhead__emoji { font-size: 2.6rem; }
#fs-root .fs-lhead__num { margin: 0; font-weight: 800; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-lhead h2 { margin: 0; font-size: clamp(1.4rem, 3.4vw, 1.9rem); }
#fs-root .fs-lhead h2 span { font-weight: 600; color: #374151 !important; -webkit-text-fill-color: #374151 !important; font-size: .75em; }
#fs-root .fs-goal { margin: 0; padding: 10px 14px; border-radius: 12px; background: #fff; border-left: 5px solid #c8102e; font-size: .95rem; }
#fs-root .fs-goal i { color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }

#fs-root .fs-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
#fs-root .fs-steps button { width: 100%; display: grid; justify-items: center; gap: 6px; padding: 10px 4px; border-radius: 14px; border: 2px solid #dbe4f3; background: #fff; cursor: pointer; font-family: inherit; }
#fs-root .fs-steps__dot { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #eef3ff; }
#fs-root .fs-steps__dot i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-steps__label { font-size: .8rem; font-weight: 800; text-align: center; line-height: 1.25; }
#fs-root .fs-steps__label small { display: block; font-weight: 600; color: #374151 !important; -webkit-text-fill-color: #374151 !important; }
#fs-root .fs-steps__item.is-now button { border-color: #0a3a9e; background: #0a3a9e; }
#fs-root .fs-steps__item.is-now .fs-steps__label, #fs-root .fs-steps__item.is-now .fs-steps__label small { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-steps__item.is-now .fs-steps__dot { background: #fff; }
#fs-root .fs-steps__item.is-past .fs-steps__dot { background: #0f7a4a; }
#fs-root .fs-steps__item.is-past .fs-steps__dot i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
@media (max-width: 640px) { #fs-root .fs-steps__label small { display: none; } #fs-root .fs-steps__label { font-size: .68rem; } }

#fs-root .fs-words { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
#fs-root .fs-word { position: relative; display: grid; justify-items: center; gap: 4px; padding: 16px 10px; border-radius: 16px; background: #fff; border: 2px solid #c7d5f2; cursor: pointer; font-family: inherit; }
#fs-root .fs-word:hover { border-color: #0a3a9e; background: #f5f8ff; }
#fs-root .fs-word__emoji { font-size: 2.2rem; line-height: 1.1; }
#fs-root .fs-word strong { font-size: 1.1rem; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-word__icon { position: absolute; top: 10px; right: 10px; font-size: .85rem; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }

#fs-root .fs-frame { margin: 0 0 14px; padding: 14px 16px; border-radius: 14px; background: #0a3a9e; }
#fs-root .fs-frame * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-frame__tag { display: inline-block; margin-bottom: 6px; padding: 3px 10px; border-radius: 999px; background: #c8102e; font-size: .75rem; font-weight: 800; }
#fs-root .fs-frame .fs-en { font-size: 1.3rem; }
#fs-root .fs-phrases { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#fs-root .fs-phrase { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 14px; border-radius: 14px; background: #f8fafc; border-left: 6px solid #0f7a4a; }
#fs-root .fs-phrase__tools { display: flex; flex-wrap: wrap; gap: 8px; }

#fs-root .fs-build__vi { margin: 0 0 10px; font-weight: 700; color: #0b1b3f !important; }
#fs-root .fs-build__line { display: flex; flex-wrap: wrap; gap: 8px; min-height: 64px; padding: 12px; margin-bottom: 12px; border-radius: 14px; border: 3px dashed #c7d5f2; background: #f8fafc; align-items: center; }
#fs-root .fs-build__line.is-solved { border-style: solid; border-color: #0f7a4a; background: #f2fbf6; }
#fs-root .fs-build__hint { color: #6b7280 !important; -webkit-text-fill-color: #6b7280 !important; font-weight: 600; }
#fs-root .fs-build__pool { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
#fs-root .fs-tile { min-height: 46px; padding: 0 18px; border-radius: 12px; border: 2px solid #0a3a9e; background: #fff; font-size: 1.08rem; font-weight: 800; cursor: pointer; font-family: inherit; color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
#fs-root .fs-tile--placed { background: #0a3a9e; color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-win { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px; padding: 14px; border-radius: 14px; background: #f2fbf6; border: 2px solid #0f7a4a; }
#fs-root .fs-win > p { flex: 1 1 100%; margin: 0; font-weight: 800; }
#fs-root .fs-win > p i { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }
#fs-root .fs-retry { margin: 0; font-weight: 800; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }

#fs-root .fs-chat { display: grid; gap: 12px; }
#fs-root .fs-bubble { display: grid; gap: 6px; justify-items: start; max-width: 620px; padding: 14px 16px; border-radius: 18px; }
#fs-root .fs-bubble__who { font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
#fs-root .fs-bubble--ava { background: #0a3a9e; border-bottom-left-radius: 4px; }
#fs-root .fs-bubble--ava > .fs-bubble__who, #fs-root .fs-bubble--ava > .fs-en, #fs-root .fs-bubble--ava > .fs-vi { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-bubble--big .fs-en { font-size: 1.5rem; }
#fs-root .fs-bubble--me { justify-self: end; background: #fff; border: 2px solid #0f7a4a; border-bottom-right-radius: 4px; }
#fs-root .fs-bubble--me .fs-bubble__who { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }
#fs-root .fs-hint { margin: 0; font-weight: 700; }
#fs-root .fs-hint i { color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; }
#fs-root .fs-choose { margin: 4px 0 0; font-weight: 800; }
#fs-root .fs-choices { display: grid; gap: 8px; }
#fs-root .fs-choice { display: grid; gap: 2px; text-align: left; padding: 14px 16px; border-radius: 14px; border: 2px solid #0f7a4a; background: #fff; cursor: pointer; font-family: inherit; }
#fs-root .fs-choice:hover { background: #f2fbf6; }
#fs-root .fs-nav { display: flex; justify-content: space-between; gap: 10px; }

#fs-root .fs-done { text-align: center; display: grid; gap: 10px; justify-items: center; }
#fs-root .fs-done__badge { font-size: 3.4rem; }
#fs-root .fs-done h3 { justify-content: center; font-size: 1.5rem; }
#fs-root .fs-done p { margin: 0; }
#fs-root .fs-can { list-style: none; margin: 4px 0; padding: 0; display: grid; gap: 8px; text-align: left; width: 100%; max-width: 520px; }
#fs-root .fs-can label { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: #f2fbf6; border: 1.5px solid #9fd8b8; cursor: pointer; }
#fs-root .fs-can input { width: 22px; height: 22px; accent-color: #0f7a4a; flex: none; margin-top: 2px; }
#fs-root .fs-done__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 6px; }

#fs-root .fs-test { display: grid; gap: 14px; }
#fs-root .fs-clock { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-radius: 12px; background: #c8102e; font-weight: 800; }
#fs-root .fs-clock, #fs-root .fs-clock * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-clock__time { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
#fs-root .fs-test__help { display: flex; flex-wrap: wrap; gap: 8px; }

#fs-root + .fs-toast, #fs-root .fs-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; z-index: 9999; max-width: 90vw; padding: 12px 18px; border-radius: 12px; background: #0b1b3f; font-weight: 700; transition: all .25s ease; }
#fs-root .fs-toast { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 640px) {
 #view-first-steps { padding: 12px 10px 50px; }
 #fs-root .fs-hero { padding: 22px 18px; }
 #fs-root .fs-card { padding: 16px 14px; }
 #fs-root .fs-hero__cta .fs-btn { width: 100%; }
 #fs-root .fs-words { grid-template-columns: repeat(2, 1fr); }
}
/* ── Speak Up Starter v2 ── */
#fs-root .fs-vi { display: none; }
#fs-root .fs-vi-on .fs-vi, #fs-root .fs-tr.is-vi .fs-vi { display: block; }
#fs-root .fs-vi-on span.fs-vi, #fs-root .fs-tr.is-vi span.fs-vi, #fs-root .fs-vi-on small.fs-vi, #fs-root .fs-tr.is-vi small.fs-vi { display: block; }
#fs-root .fs-tr { position: relative; }
#fs-root .fs-trbtn { display: inline-grid; place-items: center; min-width: 40px; height: 32px; padding: 0 8px; border-radius: 8px; border: 2px solid #c8102e; background: #fff; font-weight: 900; font-size: .78rem; letter-spacing: .04em; cursor: pointer; font-family: inherit; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-tr.is-vi > .fs-trbtn, #fs-root .fs-tr.is-vi .fs-row > .fs-trbtn { background: #c8102e; color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-vi-on .fs-trbtn { display: none; }
#fs-root .fs-hero > .fs-trbtn, #fs-root .fs-lhead > .fs-trbtn, #fs-root .fs-guide > .fs-trbtn, #fs-root .fs-stage__head > .fs-trbtn { position: absolute; top: 12px; right: 12px; }
#fs-root .fs-hero > .fs-trbtn { border-color: #fff; background: transparent; }
#fs-root .fs-hero > .fs-trbtn, #fs-root .fs-hero.is-vi > .fs-trbtn { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#fs-root .fs-row--end { justify-content: flex-end; }
#fs-root .fs-vi { color: #7a1020 !important; -webkit-text-fill-color: #7a1020 !important; font-style: italic; }
#fs-root .fs-hero .fs-vi, #fs-root .fs-bubble--ava .fs-vi { color: #fff !important; -webkit-text-fill-color: #fff !important; }

#fs-root .fs-bar { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; background: #fff; border: 2px solid #dbe4f3; }
#fs-root .fs-bar__brand { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; cursor: pointer; font-family: inherit; font-weight: 900; font-size: 1.05rem; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-bar__brand i { color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-vi-switch { display: inline-flex; align-items: center; gap: 10px; padding: 6px 8px 6px 6px; border-radius: 999px; border: 2px solid #c8102e; background: #fff; cursor: pointer; font-family: inherit; }
#fs-root .fs-vi-switch__flag { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #c8102e; font-weight: 900; font-size: .78rem; color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-vi-switch__text { display: grid; text-align: left; font-weight: 800; font-size: .88rem; line-height: 1.15; color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
#fs-root .fs-vi-switch__text small { font-weight: 700; font-size: .78rem; color: #374151 !important; -webkit-text-fill-color: #374151 !important; }
#fs-root .fs-vi-switch__knob { position: relative; width: 44px; height: 24px; border-radius: 99px; background: #cbd5e1; transition: background .2s; }
#fs-root .fs-vi-switch__knob::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: left .2s; }
#fs-root .fs-vi-switch.is-on { background: #c8102e; }
#fs-root .fs-vi-switch.is-on .fs-vi-switch__flag { background: #fff; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-vi-switch.is-on .fs-vi-switch__text, #fs-root .fs-vi-switch.is-on .fs-vi-switch__text small { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-vi-switch.is-on .fs-vi-switch__knob { background: #0f7a4a; }
#fs-root .fs-vi-switch.is-on .fs-vi-switch__knob::after { left: 23px; }

#fs-root .fs-hero { position: relative; }
#fs-root .fs-hero h2 { font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.01em; }
#fs-root .fs-hero__tag { margin: 0 0 10px; font-size: 1.15rem; font-weight: 800; }
#fs-root .fs-hero__how { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 18px; padding: 0; }
#fs-root .fs-hero__how li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); font-weight: 700; font-size: .85rem; }
#fs-root .fs-stage__head { position: relative; padding-right: 54px; }
#fs-root .fs-lesson__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #eef3ff; margin-bottom: 4px; font-size: 1.3rem; }
#fs-root .fs-lesson__icon i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-lesson.is-done .fs-lesson__icon { background: #0f7a4a; }
#fs-root .fs-lesson.is-done .fs-lesson__icon i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-lesson__meta { font-size: .82rem; font-weight: 700; color: #374151 !important; -webkit-text-fill-color: #374151 !important; }
#fs-root .fs-lesson .fs-vi { font-size: .88rem; }

#fs-root .fs-lhead { position: relative; padding-right: 54px; }
#fs-root .fs-lhead__icon { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 16px; background: #0a3a9e; font-size: 1.5rem; }
#fs-root .fs-lhead__icon i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-goal { display: flex; gap: 10px; align-items: flex-start; }
#fs-root .fs-goal p { margin: 0; }
#fs-root .fs-steps { grid-template-columns: repeat(7, 1fr); }
#fs-root .fs-guide { display: flex; gap: 12px; align-items: flex-start; padding: 14px 60px 14px 16px; border-radius: 14px; background: #fff8e6; border: 2px solid #f0c75e; }
#fs-root .fs-guide > i { font-size: 1.3rem; margin-top: 2px; color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; }
#fs-root .fs-guide p { margin: 0; color: #000 !important; -webkit-text-fill-color: #000 !important; line-height: 1.45; }
#fs-root .fs-guide .fs-vi { color: #7a1020 !important; -webkit-text-fill-color: #7a1020 !important; margin-top: 4px; }
#fs-root .fs-stage-body { display: grid; gap: 18px; }
#fs-root .fs-count { margin-left: auto; padding: 3px 10px; border-radius: 999px; background: #eef3ff; font-size: .8rem; font-weight: 800; }
#fs-root .fs-link { border: 0; background: none; padding: 4px 0; cursor: pointer; font-family: inherit; font-weight: 800; font-size: .88rem; text-decoration: underline; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }

#fs-root .fs-qwords { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
#fs-root .fs-qword { display: grid; gap: 6px; align-content: start; padding: 16px; border-radius: 16px; background: #f5f8ff; border: 2px solid #c7d5f2; border-top: 6px solid #0a3a9e; }
#fs-root .fs-qword__w { margin: 0; font-size: 1.5rem; font-weight: 900; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-qword__mean { margin: 0; font-weight: 700; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-qword .fs-btn { white-space: normal; text-align: left; min-height: 40px; padding: 8px 12px; height: auto; }

#fs-root .fs-quiz { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
#fs-root .fs-quiz__item { padding: 14px; border-radius: 16px; background: #fff; border: 2px solid #dbe4f3; }
#fs-root .fs-quiz__item.is-ok { border-color: #0f7a4a; background: #f2fbf6; }
#fs-root .fs-quiz__q { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
#fs-root .fs-quiz__text { font-weight: 800; font-size: 1.05rem; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-play { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #0a3a9e; cursor: pointer; font-size: 1rem; }
#fs-root .fs-play i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-quiz__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
#fs-root .fs-opt { display: grid; gap: 2px; text-align: left; padding: 12px 14px; border-radius: 12px; border: 2px solid #c7d5f2; background: #fff; cursor: pointer; font-family: inherit; font-weight: 800; }
#fs-root .fs-opt:hover:not([disabled]) { border-color: #0a3a9e; }
#fs-root .fs-opt[disabled] { cursor: default; }
#fs-root .fs-opt.is-right { background: #0f7a4a; border-color: #0f7a4a; }
#fs-root .fs-opt.is-right span, #fs-root .fs-opt.is-right small { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-opt.is-wrong { border-color: #c8102e; background: #fff5f6; text-decoration: line-through; }
#fs-root .fs-opt .fs-vi { font-size: .82rem; font-weight: 600; }

#fs-root .fs-word { padding: 12px 10px 10px; cursor: default; }
#fs-root .fs-word__main { display: grid; justify-items: center; gap: 6px; width: 100%; border: 0; background: none; cursor: pointer; font-family: inherit; padding: 4px; }
#fs-root .fs-word__main i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-word__main strong { text-align: center; line-height: 1.3; }
#fs-root .fs-word .fs-vi { text-align: center; }
#fs-root .fs-word .fs-trbtn { height: 26px; min-width: 34px; font-size: .7rem; }

#fs-root .fs-patterns { display: grid; gap: 14px; }
#fs-root .fs-pattern { display: grid; gap: 10px; padding: 16px; border-radius: 16px; background: #f8fafc; border: 2px solid #dbe4f3; }
#fs-root .fs-pattern__row { display: grid; gap: 6px; justify-items: start; padding: 12px 14px; border-radius: 12px; background: #fff; }
#fs-root .fs-pattern__row--q { border-left: 6px solid #0a3a9e; }
#fs-root .fs-pattern__row--a { border-left: 6px solid #0f7a4a; }
#fs-root .fs-tag { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .74rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
#fs-root .fs-tag--blue { background: #0a3a9e; }
#fs-root .fs-tag--green { background: #0f7a4a; }
#fs-root .fs-tag--blue, #fs-root .fs-tag--green { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-pattern__ex { display: grid; gap: 6px; padding: 12px 14px; border-radius: 12px; background: #fff; border: 2px dashed #c7d5f2; }
#fs-root .fs-pattern__label { margin: 0; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-ex-q, #fs-root .fs-ex-a { margin: 0; font-weight: 700; font-size: 1.02rem; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-ex-q i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-ex-a i { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }

#fs-root .fs-qf { display: grid; gap: 14px; }
#fs-root .fs-clock { background: #0a3a9e; }
#fs-root .fs-test .fs-clock, #fs-root .fs-clock.is-low { background: #c8102e; }
#fs-root .fs-done__badge { display: grid; place-items: center; width: 80px; height: 80px; border-radius: 50%; background: #0f7a4a; font-size: 2.2rem; }
#fs-root .fs-done__badge i { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-can label span { display: grid; gap: 2px; }

@media (max-width: 760px) {
 #fs-root .fs-steps { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
 #fs-root .fs-steps button { padding: 8px 2px; border-radius: 10px; }
 #fs-root .fs-steps__dot { width: 32px; height: 32px; }
 #fs-root .fs-steps__label { display: none; }
 #fs-root .fs-steps__item.is-now .fs-steps__label { display: none; }
 #fs-root .fs-vi-switch__text { font-size: .8rem; }
 #fs-root .fs-nav .fs-btn { flex: 1; padding: 0 12px; font-size: .9rem; }
 #fs-root .fs-quiz__opts { grid-template-columns: 1fr; }
 #fs-root .fs-bar__brand { font-size: .95rem; }
}
#fs-root .fs-guide__step { font-size: .78rem !important; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; margin-bottom: 4px !important; }

html body .ama-fs-door, #fs-root, #fs-root button, #fs-root input { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; }
#fs-root .fs-hero h2 { font-family: 'Playfair Display', Georgia, serif; }
#fs-root h2, #fs-root h3, #fs-root p, #fs-root span, #fs-root strong, #fs-root li, #fs-root label, #fs-root small { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; }
html body #fs-root .fs-hero h2 { font-family: 'Playfair Display', Georgia, serif; }

/* ── Speak Up Starter: answer ladder + elegant type ── */
#fs-root .fs-ladder { display: grid; gap: 8px; width: 100%; margin: 4px 0 6px; }
#fs-root .fs-ladder__row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #fff; border-left: 5px solid #0a3a9e; }
#fs-root .fs-ladder__row--reason { border-left-color: #c8102e; background: #fff7f8; }
#fs-root .fs-ladder__row--example { border-left-color: #0f7a4a; background: #f3fbf6; }
#fs-root .fs-ladder__row--result { border-left-color: #6b21a8; background: #faf5ff; }
#fs-root .fs-ladder__row--detail { border-left-color: #475569; background: #f8fafc; }
#fs-root .fs-ladder__s { margin: 0; font-family: 'Times New Roman', Times, Georgia, serif !important; font-size: 1.16rem; line-height: 1.5; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-chip { flex: none; display: inline-block; min-width: 74px; text-align: center; padding: 4px 10px; border-radius: 999px; font-size: .72rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: #fff !important; -webkit-text-fill-color: #fff !important; background: #0a3a9e; margin-top: 3px; }
#fs-root .fs-chip--reason { background: #c8102e; }
#fs-root .fs-chip--example { background: #0f7a4a; }
#fs-root .fs-chip--result { background: #6b21a8; }
#fs-root .fs-chip--detail { background: #475569; }
#fs-root .fs-ladder__meta { margin: 2px 0 0; font-size: .85rem; font-weight: 800; font-style: italic; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-bubble--model { max-width: 760px; width: 100%; justify-self: stretch; background: #fdfdfb; }

#fs-root .fs-grow { position: relative; display: grid; gap: 8px; padding: 14px 60px 14px 16px; border-radius: 16px; background: linear-gradient(120deg, #fffdf5, #fff); border: 2px dashed #c8102e; }
#fs-root .fs-grow__title { margin: 0; font-weight: 800; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-grow__title em { font-family: 'Times New Roman', Georgia, serif !important; font-size: 1.12em; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-grow__title i { color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-grow__parts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#fs-root .fs-grow__parts > i { font-size: .75rem; color: #475569 !important; -webkit-text-fill-color: #475569 !important; }
#fs-root .fs-grow__note { margin: 0; font-style: italic; font-family: Georgia, 'Times New Roman', serif !important; color: #1f2937 !important; -webkit-text-fill-color: #1f2937 !important; }
#fs-root .fs-grow > .fs-trbtn { position: absolute; top: 12px; right: 12px; }

#fs-root .fs-hero__ladder { margin: 12px 0 4px; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); max-width: 640px; }
#fs-root .fs-hero__ladder p { margin: 0 0 8px; font-family: Georgia, 'Times New Roman', serif !important; font-size: 1.05rem; }
#fs-root .fs-hero__ladder ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
#fs-root .fs-hero__ladder li { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
#fs-root .fs-hero__ladder li strong { min-width: 110px; }
#fs-root .fs-hero__ladder li span { font-family: 'Times New Roman', Georgia, serif !important; font-style: italic; font-size: 1.05rem; }
#fs-root .fs-hero__ladder li:nth-child(2) { padding-left: 14px; }
#fs-root .fs-hero__ladder li:nth-child(3) { padding-left: 28px; }

#fs-root .fs-hero__tag { font-family: Georgia, 'Times New Roman', serif !important; font-style: italic; font-size: 1.35rem !important; font-weight: 600 !important; }
#fs-root .fs-lhead h2, #fs-root .fs-stage__head h3, #fs-root .fs-done h3, #fs-root .fs-card > h3 { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important; letter-spacing: -.01em; }
#fs-root .fs-goal p { font-style: italic; font-family: Georgia, 'Times New Roman', serif !important; font-size: 1.02rem; }
#fs-root .fs-goal p strong { font-style: normal; font-family: system-ui, 'Segoe UI', sans-serif !important; }
#fs-root .fs-bubble--ava > .fs-en, #fs-root .fs-pattern__row--q .fs-en, #fs-root .fs-ex-q, #fs-root .fs-quiz__text { font-family: Georgia, 'Times New Roman', serif !important; font-style: italic; }
#fs-root .fs-bubble--ava > .fs-en { font-size: 1.3rem; }
#fs-root .fs-bubble--big > .fs-en { font-size: 1.6rem; }
#fs-root .fs-ex-a, #fs-root .fs-pattern__row--a .fs-en, #fs-root .fs-choice, #fs-root .fs-build__line .fs-tile { font-family: 'Times New Roman', Times, Georgia, serif !important; }
#fs-root .fs-choice { font-size: 1.08rem; line-height: 1.45; color: #000 !important; -webkit-text-fill-color: #000 !important; }
#fs-root .fs-qword__w { font-family: 'Playfair Display', Georgia, serif !important; font-style: italic; }
#fs-root .fs-qword__mean { font-family: Georgia, 'Times New Roman', serif !important; }
#fs-root .fs-sos__item .fs-en { font-family: Georgia, 'Times New Roman', serif !important; font-style: italic; }
#fs-root .fs-lesson strong { font-family: 'Playfair Display', Georgia, serif !important; font-size: 1.15rem; }
#fs-root .fs-muted { font-style: italic; }
@media (max-width: 640px) {
 #fs-root .fs-ladder__row { flex-direction: column; gap: 6px; }
 #fs-root .fs-ladder__s { font-size: 1.08rem; }
 #fs-root .fs-hero__ladder li:nth-child(n) { padding-left: 0; }
}

/* Foundation answer kits: elegant model answers */
html body .qm .qm-answer { font-family: 'Times New Roman', Times, Georgia, serif !important; font-size: 1.18rem !important; line-height: 1.6 !important; }
html body .qm .qm-line { font-family: 'Times New Roman', Times, Georgia, serif !important; font-size: 1.08rem !important; }
html body .qm .qm-lead, html body .qm .qm-tip { font-family: Georgia, 'Times New Roman', serif !important; font-style: italic; }
html body .qm .qm-label strong { font-family: 'Playfair Display', Georgia, serif !important; }
html body .qm .qm-idea { font-style: italic; font-family: Georgia, 'Times New Roman', serif !important; }
html body .q-acc-q { font-family: Georgia, 'Times New Roman', serif !important; font-style: italic; }
/* Speak Up Starter - record, hear back, write, save to account */
#fs-root .fs-bar__recs { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 2px solid #0a3a9e; background: #fff; cursor: pointer; font-family: inherit; font-weight: 800; font-size: .88rem; color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-bar__recs i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-recbox { display: block; width: 100%; margin: 10px 0 4px; }
#fs-root .fs-rec { align-items: center; }
#fs-root .fs-rec__clock { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
#fs-root .fs-rec__clock i { font-size: .6rem; animation: fsBlink 1s steps(2) infinite; color: #c8102e !important; -webkit-text-fill-color: #c8102e !important; }
@keyframes fsBlink { 50% { opacity: 0; } }
#fs-root .fs-take__live { margin: 10px 0 0; padding: 10px 14px; border-radius: 12px; background: #fff5f6; border: 2px dashed #f2b8c1; font-family: 'Times New Roman', Georgia, serif; font-style: italic; font-size: 1.05rem; line-height: 1.5; color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
#fs-root .fs-take { margin-top: 12px; padding: 14px 16px; border-radius: 16px; background: #fff; border: 2px solid #c7d5f2; box-shadow: 0 6px 18px rgba(10,58,158,.08); text-align: left; }
#fs-root .fs-take * { color: #0b1b3f !important; -webkit-text-fill-color: #0b1b3f !important; }
#fs-root .fs-take__title { display: flex; justify-content: space-between; align-items: center; margin: 0 0 8px; font-weight: 900; }
#fs-root .fs-take__title i { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; }
#fs-root .fs-take__audio { display: block; width: 100%; height: 44px; margin: 0 0 12px; }
#fs-root .fs-take__label { display: block; margin: 0 0 6px; font-weight: 800; font-size: .92rem; }
#fs-root .fs-take__label small { font-weight: 600; color: #3b4a63 !important; -webkit-text-fill-color: #3b4a63 !important; }
#fs-root .fs-take__text { display: block; box-sizing: border-box; width: 100%; min-height: 76px; padding: 10px 12px; border-radius: 12px; border: 2px solid #c7d5f2; background: #fff; font-family: 'Times New Roman', Georgia, serif; font-style: italic; font-size: 1.05rem; line-height: 1.5; resize: vertical; }
#fs-root .fs-take__text:focus { outline: none; border-color: #0a3a9e; }
#fs-root .fs-take__checks ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
#fs-root .fs-take__checks li { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border-radius: 10px; font-size: .92rem; line-height: 1.35; }
#fs-root .fs-take__checks li.is-ok { background: #e9f8ef; }
#fs-root .fs-take__checks li.is-ok i { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }
#fs-root .fs-take__checks li.is-miss { background: #fff4e5; }
#fs-root .fs-take__checks li.is-miss i { color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; }
#fs-root .fs-take__checks .fs-muted { margin: 8px 0 0; }
#fs-root .fs-take__model { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: #eef3ff; border-left: 4px solid #0a3a9e; }
#fs-root .fs-take__model p { margin: 0 0 6px; }
#fs-root .fs-take__model .fs-en { font-family: 'Times New Roman', Georgia, serif; font-style: italic; font-size: 1.05rem; line-height: 1.5; }
#fs-root .fs-take__save { margin-top: 10px; }
#fs-root .fs-save { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: #f4f6fb; font-weight: 700; font-size: .92rem; }
#fs-root .fs-save--ok { background: #e9f8ef; }
#fs-root .fs-save--ok > i { color: #0f7a4a !important; -webkit-text-fill-color: #0f7a4a !important; }
#fs-root .fs-save--warn { background: #fff4e5; }
#fs-root .fs-take .fs-btn--blue, #fs-root .fs-take .fs-btn--blue * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
#fs-root .fs-take .fs-link { color: #0a3a9e !important; -webkit-text-fill-color: #0a3a9e !important; text-decoration: underline; }
.ama-rec__said { margin: 6px 0 0; font-family: 'Times New Roman', Georgia, serif; font-style: italic; font-size: .95rem; line-height: 1.45; color: #0b1b3f; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ama-rec__said i { color: #0a3a9e; font-size: .8em; }
@media (max-width: 560px) { #fs-root .fs-bar__recs { margin-left: 0; } }
/* Pre-IELTS: Foundation 1 / Foundation 2 class switch */
html body .ama-book-switch__label { margin: 4px 0 10px; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #2b3192 !important; }
html body .ama-book-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; }
html body #pre-book-switch .ama-book-switch__btn { position: relative; display: flex; align-items: center; gap: 14px; padding: 18px 18px; border-radius: 18px; border: 2px solid rgba(43, 49, 146, .18); background: #fff; cursor: pointer; text-align: left; font: inherit; box-shadow: 0 8px 22px rgba(11, 23, 51, .08); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
html body #pre-book-switch .ama-book-switch__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11, 23, 51, .14); }
html body #pre-book-switch .ama-book-switch__num { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; font-size: 1.7rem; font-weight: 900; font-family: "Playfair Display", Georgia, serif; background: #eef0fb; color: #2b3192 !important; }
html body #pre-book-switch .ama-book-switch__btn--mindset1 .ama-book-switch__num { background: #fdecec; color: #c8161b !important; }
html body #pre-book-switch .ama-book-switch__text { flex: 1; display: grid; gap: 2px; min-width: 0; }
html body #pre-book-switch .ama-book-switch__text strong { font-size: 1.15rem; font-weight: 800; color: #111 !important; }
html body #pre-book-switch .ama-book-switch__text em { font-style: normal; font-size: .9rem; font-weight: 700; color: #2b3192 !important; }
html body #pre-book-switch .ama-book-switch__btn--mindset1 .ama-book-switch__text em { color: #c8161b !important; }
html body #pre-book-switch .ama-book-switch__text small { font-size: .78rem; color: #444 !important; }
html body #pre-book-switch .ama-book-switch__check { flex: none; font-size: 1.4rem; color: rgba(17, 17, 17, .2) !important; }
html body #pre-book-switch .ama-book-switch__check i { color: inherit !important; }
html body #pre-book-switch .ama-book-switch__btn.is-active { background: linear-gradient(150deg, #3a41ad, #2b3192 60%, #1f2470); border-color: #2b3192; box-shadow: 0 14px 30px rgba(43, 49, 146, .32); }
html body #pre-book-switch .ama-book-switch__btn--mindset1.is-active { background: linear-gradient(150deg, #f0343a, #e8181c 60%, #b5121a); border-color: #e8181c; box-shadow: 0 14px 30px rgba(232, 24, 28, .3); }
html body #pre-book-switch .ama-book-switch__btn.is-active .ama-book-switch__num { background: #fff; }
html body #pre-book-switch .ama-book-switch__btn.is-active .ama-book-switch__text strong,
html body #pre-book-switch .ama-book-switch__btn.is-active .ama-book-switch__text em,
html body #pre-book-switch .ama-book-switch__btn.is-active .ama-book-switch__text small,
html body #pre-book-switch .ama-book-switch__btn.is-active .ama-book-switch__check { color: #fff !important; }
@media (max-width: 560px) {
 html body .ama-book-switch { gap: 10px; }
 html body #pre-book-switch .ama-book-switch__btn { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
 html body #pre-book-switch .ama-book-switch__num { width: 44px; height: 44px; font-size: 1.35rem; }
 html body #pre-book-switch .ama-book-switch__text strong { font-size: 1rem; }
 html body #pre-book-switch .ama-book-switch__text em { font-size: .8rem; }
 html body #pre-book-switch .ama-book-switch__check { position: absolute; top: 12px; right: 12px; }
}

/* Final brand + founder - nearly same size; logo a bit larger */
html body #topbar .brand-logo-frame {
 display: flex !important;
 width: 76px !important;
 height: 76px !important;
 flex: none !important;
 align-items: center !important;
 justify-content: center !important;
}
html body #topbar .brand-logo {
 width: 100% !important;
 height: 100% !important;
 max-height: none !important;
 object-fit: contain !important;
}
html body #topbar .brand-program {
 display: block !important;
 font-weight: 800 !important;
 font-size: clamp(1.28rem, 3.5vw, 1.92rem) !important;
 line-height: 1.12 !important;
 letter-spacing: 0.04em !important;
 white-space: nowrap !important;
}
html body #topbar .brand-teacher.brand-founder {
 display: block !important;
 font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
 font-style: italic !important;
 font-weight: 800 !important;
 font-size: clamp(1.3rem, 3.6vw, 1.95rem) !important;
 line-height: 1.12 !important;
 letter-spacing: 0.01em !important;
 color: #d7192a !important;
 -webkit-text-fill-color: #d7192a !important;
 background: none !important;
 -webkit-background-clip: initial !important;
 background-clip: initial !important;
 white-space: nowrap !important;
 margin-top: 3px !important;
 opacity: 1 !important;
}
@media (max-width: 640px) {
 html body #topbar .brand-logo-frame { width: 58px !important; height: 58px !important; }
}