@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#152338;background:#f4f6f5;font-size:16px;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a:focus-visible,button:focus-visible,input:focus-visible+span{outline:3px solid #31a9a0;outline-offset:4px}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{background:#0c1829;color:#f8f9f5;border-bottom:1px solid #304052}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:800;font-size:1.42rem;letter-spacing:-.055em;display:inline-flex;align-items:center;gap:10px}.brand-mark{background:#e2f16c;color:#0c1829;border-radius:9px;padding:3px 8px;font-size:1.3rem;letter-spacing:-.07em}.brand-mark span,.footer-dot{color:#72b8aa}.site-header nav{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:600}.site-header nav a{opacity:.8}.site-header nav a:hover{opacity:1;color:#e2f16c}.site-header nav .nav-quiz{border:1px solid #657887;border-radius:50px;padding:10px 17px;opacity:1}.nav-quiz span{padding-left:8px}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:485px;align-items:stretch;padding-top:47px;padding-bottom:47px;gap:35px}.hero-copy{padding:48px 0 35px}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.16em;color:#316969;display:flex;align-items:center;gap:10px;margin:0 0 23px}.eyebrow-line{display:inline-block;width:25px;height:2px;background:currentColor}.hero h1{font-size:clamp(3.7rem,7.2vw,6.5rem);line-height:1.04;letter-spacing:-.08em;margin:0 0 24px;font-weight:800}.hero h1 em{color:#438a80;font-style:normal}.hero-text{font-size:1.06rem;line-height:1.85;max-width:530px;color:#4b5c66;margin:0 0 30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-radius:7px;padding:16px 21px;font-size:.94rem;font-weight:800;min-height:54px}.button span,.book-link span{font-size:1.2rem}.button.primary{background:#0c1829;color:#fff}.button.primary:hover{background:#284957}.text-link{font-weight:700;border-bottom:1px solid #4b5c66;padding-bottom:4px}.text-link span{margin-left:12px}.hero-display{background:#0c1829;color:#e2f16c;border-radius:11px;padding:35px 38px;display:flex;flex-direction:column;justify-content:space-between;min-height:420px;overflow:hidden}.hero-kicker,.hero-caption{font-size:.74rem;font-weight:800;letter-spacing:.17em}.hero-numeral{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(8rem,17vw,15rem);font-weight:700;line-height:.9;letter-spacing:-.1em;white-space:nowrap;align-self:center}.hero-numeral span{color:#79b9a8;font-size:.35em;vertical-align:middle;position:relative;top:-.1em;letter-spacing:0}.hero-caption{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #536251;padding-top:18px;color:#c3d2b3}.books-section{padding:80px 0 94px;background:#e9eeeb}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.section-heading h2,.guide-copy h2,.quiz-intro h2{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.13;letter-spacing:-.06em;margin:0;font-weight:800}.section-heading>p{color:#586971;line-height:1.7;max-width:350px;margin:0 0 2px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.book-card{background:#fff;border:1px solid #d7e1db;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.book-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #15233813}.book-art{height:205px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.book-art>span,.book-art small{font-size:.61rem;font-weight:800;letter-spacing:.12em}.book-art strong{font-size:6.4rem;letter-spacing:-.12em;line-height:1;font-weight:800;align-self:center}.art-one{background:#cfedd6;color:#153a3e}.art-two{background:#c8dbe9;color:#1b3459}.art-three{background:#d7d1ed;color:#342d63}.art-four{background:#e2f16c;color:#19332f}.book-content{padding:23px 21px 21px;display:flex;flex-direction:column;flex:1}.book-meta{display:flex;justify-content:space-between;gap:8px;font-weight:800;color:#427873;font-size:.76rem;letter-spacing:.04em}.book-content h3{font-size:1.15rem;line-height:1.35;letter-spacing:-.04em;margin:18px 0 10px}.book-content p{font-size:.88rem;line-height:1.7;color:#5c6b74;margin:0 0 23px;flex:1}.book-link{border-top:1px solid #e5eae8;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:.88rem;font-weight:800}.book-link:hover{color:#267d76}.guide-section{padding-top:82px;padding-bottom:82px}.guide-card{display:grid;grid-template-columns:37% 1fr;background:#0c1829;border-radius:11px;color:white;overflow:hidden}.guide-symbol{color:#e2f16c;font-size:clamp(5rem,12vw,10rem);font-weight:800;letter-spacing:-.14em;display:flex;align-items:center;justify-content:center;white-space:nowrap;border-right:1px solid #35465a}.guide-symbol span{font-size:.35em;letter-spacing:0;color:#83c5b5;margin:0 .06em}.guide-copy{padding:45px 55px 47px}.guide-copy .eyebrow{color:#adcdba}.guide-copy h2{font-size:clamp(2rem,3.2vw,3.1rem)}.guide-copy p:not(.eyebrow){color:#c6d0d0;line-height:1.8;max-width:600px;margin:19px 0 25px}.button.light{background:#e2f16c;color:#0c1829}.button.light:hover{background:#eff9a0}.quiz-section{background:#e9eeeb;padding:88px 0 105px}.quiz-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.quiz-intro h2{margin-bottom:22px}.quiz-intro>p:not(.eyebrow){color:#566970;line-height:1.85;max-width:450px}.test-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.test-facts span{border:1px solid #becdc6;border-radius:30px;padding:7px 10px;font-size:.74rem;font-weight:800}.quiz-intro .test-note{font-size:.81rem;line-height:1.7;margin-top:27px}.quiz-panel{background:#fff;min-height:405px;border:1px solid #d3ded7;border-radius:11px;box-shadow:0 14px 35px #1523380c;padding:31px}.quiz-overline{font-size:.76rem;font-weight:800;letter-spacing:.13em;color:#39756e;text-transform:uppercase}.quiz-panel h3{font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.4;letter-spacing:-.045em;margin:16px 0 16px}.quiz-panel p{color:#566870;line-height:1.75}.quiz-panel .button{border:0;margin-top:18px}.progress-head{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#39756e;font-weight:800;font-size:.82rem}.progress-track{height:7px;background:#e6eee8;border-radius:20px;overflow:hidden;margin:13px 0 28px}.progress-fill{height:100%;background:#438a80;transition:width .2s ease}.question-context{background:#eff4f1;border-left:3px solid #67a397;padding:15px 18px;line-height:1.75;color:#263b43;margin-bottom:19px;font-size:.93rem;white-space:pre-line}.question-title{font-size:1.22rem!important;line-height:1.55!important;margin-bottom:18px!important}.option-list{display:grid;gap:9px;border:0;margin:0;padding:0}.option-list legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.option{display:block;position:relative}.option input{position:absolute;opacity:0;inset:0}.option span{display:block;padding:13px 17px;border:1px solid #d4dfd9;border-radius:6px;line-height:1.55;transition:background .2s,border .2s}.option:hover span{border-color:#73a89f}.option input:checked+span{border-color:#206b64;background:#ecf7ef;box-shadow:inset 4px 0 #438a80}.quiz-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.quiz-controls .button{margin:0}.back-button{border:0;background:none;color:#3f6365;font-weight:800;padding:12px 0}.back-button:hover{text-decoration:underline}.error-message{color:#a13833!important;font-size:.85rem;margin:14px 0 0!important}.result-score{display:inline-flex;gap:8px;align-items:baseline;background:#e2f16c;color:#0c1829;padding:10px 15px;border-radius:7px;font-weight:800;font-size:1.8rem;margin:12px 0}.result-score small{font-size:.9rem}.result-note{font-size:.83rem}.review-details{border-top:1px solid #dfe7e3;margin-top:22px;padding-top:18px}.review-details summary{cursor:pointer;font-weight:800;color:#225b59}.review-list{margin:18px 0 0;padding-left:20px;max-height:390px;overflow:auto}.review-list li{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #e6eeea;line-height:1.55}.review-list li strong{color:#21554e}.review-list li p{font-size:.84rem;margin:5px 0}.site-footer{background:#0c1829;color:#d3dfdc;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.82rem}.footer-brand{color:white}.footer-inner a:hover{color:#e2f16c}@media(max-width:1000px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-numeral{font-size:clamp(7rem,16vw,12rem)}}@media(max-width:700px){.shell{width:min(100% - 32px,1180px)}.header-inner{min-height:68px}.site-header nav{gap:14px}.site-header nav a{font-size:.77rem}.site-header nav a:first-child,.site-header nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr;gap:10px;padding-top:20px;padding-bottom:50px}.hero-copy{padding:30px 0 0}.hero h1{font-size:clamp(3.7rem,13vw,5.4rem)}.hero-text{font-size:.97rem}.hero-display{min-height:235px;padding:22px 25px}.hero-numeral{font-size:clamp(7.3rem,29vw,11rem)}.hero-caption{font-size:.58rem}.books-section,.quiz-section{padding:62px 0}.section-heading{display:block}.section-heading>p{margin-top:16px}.guide-section{padding:55px 0}.guide-card{grid-template-columns:1fr}.guide-symbol{border-right:0;border-bottom:1px solid #35465a;min-height:135px}.guide-copy{padding:32px 25px 36px}.quiz-layout{grid-template-columns:1fr;gap:35px}.quiz-panel{padding:23px}.footer-inner{flex-wrap:wrap}.footer-inner>span:nth-child(2){order:3;width:100%}}@media(max-width:480px){.book-grid{grid-template-columns:1fr}.book-art{height:175px}.hero-actions{gap:17px}.button{width:100%}.quiz-controls .button{width:auto;min-width:135px}.quiz-panel h3{font-size:1.3rem}.site-header nav .nav-quiz{padding:8px 12px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Day / night control */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid #657887;border-radius:50px;color:#f8f9f5;font-size:.88rem;font-weight:700;padding:10px 15px;min-height:42px;white-space:nowrap}.theme-toggle:hover{border-color:#e2f16c;color:#e2f16c}.theme-toggle .theme-icon{font-size:1.15rem;line-height:1}
:root[data-theme="dark"]{color-scheme:dark;background:#101c2b;color:#e8eee9}
[data-theme="dark"] .books-section,[data-theme="dark"] .quiz-section{background:#152538}
[data-theme="dark"] .hero-text,[data-theme="dark"] .section-heading>p,[data-theme="dark"] .quiz-intro>p:not(.eyebrow){color:#b7c7cb}
[data-theme="dark"] .eyebrow,[data-theme="dark"] .book-meta,[data-theme="dark"] .quiz-overline,[data-theme="dark"] .progress-head{color:#92d6c9}
[data-theme="dark"] .hero h1 em{color:#9dd7c8}
[data-theme="dark"] .book-card,[data-theme="dark"] .quiz-panel{background:#1e3144;border-color:#3d5262;box-shadow:none}
[data-theme="dark"] .book-content p,[data-theme="dark"] .quiz-panel p{color:#b7c7cb}
[data-theme="dark"] .book-link,[data-theme="dark"] .review-details{border-color:#425669}
[data-theme="dark"] .book-link:hover,[data-theme="dark"] .review-details summary{color:#aff1dc}
[data-theme="dark"] .guide-section{background:#101c2b}
[data-theme="dark"] .guide-card{border:1px solid #3d5262}
[data-theme="dark"] .test-facts span,[data-theme="dark"] .option span{border-color:#627687}
[data-theme="dark"] .question-context{background:#263d4b;border-color:#77c7af;color:#e6f0eb}
[data-theme="dark"] .option input:checked+span{background:#285548;border-color:#a0e4c4;box-shadow:inset 4px 0 #9ee6bf}
[data-theme="dark"] .option:hover span{border-color:#a0e4c4}
[data-theme="dark"] .progress-track{background:#375064}
[data-theme="dark"] .progress-fill{background:#9ee6bf}
[data-theme="dark"] .back-button{color:#c4e6dd}
[data-theme="dark"] .review-list li{border-color:#425669}
[data-theme="dark"] .review-list li strong{color:#a6e8d7}
[data-theme="dark"] .text-link{border-color:#a9cac8}
[data-theme="dark"] .error-message{color:#ffa3a0!important}
@media(max-width:700px){.site-header nav{gap:9px}.theme-toggle{padding:8px 11px;min-width:41px;justify-content:center}.theme-toggle .theme-label{display:none}}

/* Separate bilingual reading title */
.reading-section{background:#f4f6f5;padding:0 0 88px}.reading-heading{padding-top:8px}.reading-card{display:grid;grid-template-columns:minmax(250px,37%) 1fr;border:1px solid #cfddd8;border-radius:11px;overflow:hidden;background:#fff}.reading-cover{min-height:290px;background:#d8e3e7;color:#243c50;padding:26px 30px;display:flex;flex-direction:column;justify-content:space-between}.reading-cover>span,.reading-cover small{font-size:.72rem;font-weight:800;letter-spacing:.16em}.reading-pair{display:flex;align-items:center;justify-content:center;gap:20px}.reading-pair strong{font-size:clamp(3.7rem,7vw,6.5rem);letter-spacing:-.1em;line-height:1}.reading-pair i{height:78px;width:1px;background:#6b8993}.reading-copy{padding:38px clamp(28px,5vw,70px);display:flex;flex-direction:column;align-items:start;justify-content:center}.reading-category{font-size:.75rem!important;font-weight:800;letter-spacing:.15em;color:#367469!important;margin:0 0 15px!important}.reading-copy h3{font-size:clamp(2rem,3.4vw,3.3rem);letter-spacing:-.065em;line-height:1.17;margin:0}.reading-copy h3 span{font-size:.58em;letter-spacing:-.02em;color:#59717b}.reading-copy>p:not(.reading-category){line-height:1.75;color:#586971;max-width:530px;margin:18px 0 20px}.reading-copy .button{margin-top:0}
[data-theme="dark"] .reading-section{background:#101c2b}
[data-theme="dark"] .reading-card{background:#1e3144;border-color:#3d5262}
[data-theme="dark"] .reading-cover{background:#263f50;color:#e3ebd8}
[data-theme="dark"] .reading-pair i{background:#819fa9}
[data-theme="dark"] .reading-category{color:#92d6c9!important}
[data-theme="dark"] .reading-copy h3 span,[data-theme="dark"] .reading-copy>p:not(.reading-category){color:#b7c7cb}
@media(max-width:1050px){.site-header nav{gap:15px;font-size:.82rem}.site-header nav .nav-quiz{padding:9px 12px}.theme-toggle{font-size:.82rem;padding:9px 12px}}
@media(max-width:700px){.reading-section{padding:0 0 60px}.reading-card{grid-template-columns:1fr}.reading-cover{min-height:190px;padding:19px 23px}.reading-pair strong{font-size:clamp(3.5rem,14vw,5rem)}.reading-pair i{height:55px}.reading-copy{padding:30px 24px 34px}.site-header nav a:nth-child(3){display:none}}

.listening-book-link{color:#276f68;border-top:0;padding-top:12px;margin-top:0}.guide-actions{display:flex;flex-wrap:wrap;gap:12px}.guide-actions .button{margin-top:0}.button.outline{border:1px solid #a2beb6;color:#fff;background:transparent}.button.outline:hover{background:#254353}[data-theme="dark"] .listening-book-link{color:#9ce4d2}

/* The free test leads the page on narrow screens too. */
@media(max-width:700px){.site-header nav a{display:none}.site-header nav a.nav-quiz{display:inline-flex}.quiz-section{padding-top:52px}}

/* Timed bilingual placement exams */
.track-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}
.track-card{border:1px solid #d3ded7;border-radius:9px;padding:20px;background:#f6f9f7}
.track-card h4{font-size:1.2rem;line-height:1.3;letter-spacing:-.04em;margin:9px 0}
.track-card p{font-size:.83rem;min-height:70px;margin:0 0 12px}
.track-card .button{width:100%;margin:0}
.quiz-layout.exam-mode{grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:5%}
.exam-mode .quiz-intro{position:sticky;top:20px}
.exam-top{display:flex;justify-content:space-between;align-items:start;gap:20px}
.exam-top h3{margin:7px 0 9px}
.exam-timer{background:#0c1829;color:#e2f16c;border-radius:8px;padding:10px 13px;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.exam-timer.urgent{background:#a13833;color:#fff}
.exam-instruction{font-size:.88rem;margin:0 0 25px}
.exam-section-heading{font-size:1rem;letter-spacing:.04em;color:#236e66;border-top:2px solid #d7e5dc;padding-top:20px;margin:33px 0 20px}
.placement-audio{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:10px 18px;background:#eaf2ee;border:1px solid #d1e0d8;border-radius:9px;padding:16px;margin:12px 0 17px}
.placement-audio strong,.placement-audio small{display:block}.placement-audio small{color:#536a70;line-height:1.5;margin-top:4px}
.placement-audio audio{width:100%;min-width:0}.placement-audio .audio-error{grid-column:1/-1;font-size:.83rem;color:#a13833;margin:0}
.exam-question{border-bottom:1px solid #e2eae5;padding:17px 0 21px}
.exam-question-title{display:flex;align-items:start;gap:11px;font-weight:800;line-height:1.6}
.exam-question-title p{margin:0 0 13px;color:#152338}
.exam-question-title .number{display:inline-grid;place-items:center;min-width:27px;height:27px;background:#0c1829;color:#fff;border-radius:5px;font-size:.8rem}
.exam-question .option-list{margin-left:38px}
.exam-question .option span{font-size:.9rem;padding:10px 13px}
.exam-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 6px}
.exam-bottom .button{margin:0}
.result-breakdown{list-style:none;padding:0;margin:15px 0;display:grid;gap:7px}
.result-breakdown li{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e4ebe7;padding:8px 0}
.result-actions{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.result-actions .button{margin:0}
.exam-transcripts{border-top:1px solid #dae5dd;margin-top:26px;padding-top:13px}
.exam-transcripts h4{font-size:1rem}.exam-transcripts details{border-top:1px solid #e1eae3;padding:13px 0}
.exam-transcripts summary{cursor:pointer;font-weight:800;color:#236e66}
.exam-transcripts p{line-height:1.85}
#quiz-panel .review-list{max-height:none;overflow:visible}
#quiz-panel .review-list li.wrong{border-left:3px solid #c87b64;padding-left:12px}
#quiz-panel .review-list li.right{border-left:3px solid #6dab83;padding-left:12px}
#quiz-panel [hidden]{display:none!important}
[data-theme="dark"] .track-card{background:#263d4b;border-color:#4c6574}
[data-theme="dark"] .exam-question,[data-theme="dark"] .result-breakdown li,[data-theme="dark"] .exam-transcripts,[data-theme="dark"] .exam-transcripts details{border-color:#425669}
[data-theme="dark"] .exam-question-title p{color:#e8eee9}
[data-theme="dark"] .exam-section-heading,[data-theme="dark"] .exam-transcripts summary{color:#9bdcca;border-color:#425669}
[data-theme="dark"] .placement-audio{background:#263d4b;border-color:#425669}
[data-theme="dark"] .placement-audio small{color:#b7c7cb}
[data-theme="dark"] .placement-audio .audio-error{color:#ffa3a0}
@media(max-width:950px){.quiz-layout.exam-mode{grid-template-columns:1fr}.exam-mode .quiz-intro{position:static}.track-card p{min-height:0}}
@media(max-width:560px){.track-list,.placement-audio{grid-template-columns:1fr}.exam-top{align-items:center}.exam-timer{font-size:1.15rem}.exam-question .option-list{margin-left:0}.exam-bottom{display:block}.exam-bottom .button{width:100%;margin-top:12px}}

.learning-note,.hero-quote{border-left:3px solid #438a80;padding-left:15px;margin:25px 0 0}.learning-note span,.learning-note small,.hero-quote span,.hero-quote small{display:block}.learning-note span,.hero-quote span{font-weight:800;font-size:1.03rem;line-height:1.5;color:#1d5554}.learning-note small,.hero-quote small{font-size:.83rem;line-height:1.7;color:#566970}[data-theme="dark"] .learning-note span,[data-theme="dark"] .hero-quote span{color:#a4dece}[data-theme="dark"] .learning-note small,[data-theme="dark"] .hero-quote small{color:#b7c7cb}
