@import url('brand.css');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap');
@import url('auth-modal.css');
@import url('stepper-nav.css');
:root{--ink:#173b3a;--ink-2:#0f2d2c;--cream:#f5f0e6;--paper:#fbfaf6;--coral:#ef715f;--mint:#a7d8c8;--line:rgba(23,59,58,.17);--muted:#687b78;--shadow:0 24px 70px rgba(15,45,44,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.6}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:.75rem;z-index:99}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:92px;padding:0 clamp(1.25rem,5vw,5.5rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,250,246,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--coral);color:white;font-family:"Source Serif 4",serif;font-size:1.65rem;font-weight:700;border-radius:3px 13px 3px 3px;box-shadow:5px 5px 0 var(--mint)}.brand strong,.brand small{display:block;line-height:1.05}.brand strong{font-size:.9rem;letter-spacing:.16em}.brand small{font-size:.58rem;letter-spacing:.28em;margin-top:.35rem}.top-nav{display:flex;gap:2rem;font-size:.84rem;font-weight:700}.top-nav a:hover{color:var(--coral)}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;background:var(--coral);color:white;padding:1rem 1.35rem;font-weight:800;font-size:.82rem;letter-spacing:.02em;border:0;cursor:pointer;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px);background:#df5e4c}.button-small{padding:.7rem 1rem}.hero{min-height:690px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(3rem,7vw,8rem);padding:5rem clamp(1.25rem,7vw,8rem);background:linear-gradient(105deg,var(--cream) 0 63%,var(--ink) 63%);overflow:hidden}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800;text-transform:uppercase;display:flex;align-items:center;gap:.7rem}.eyebrow>span{width:28px;height:2px;background:var(--coral)}h1,h2{font-family:"Source Serif 4",Georgia,serif;line-height:1.02;letter-spacing:-.035em;margin:.75rem 0 1.5rem}h1{font-size:clamp(3.2rem,6vw,6.4rem);max-width:850px}h1 em,h2 em{color:var(--coral);font-weight:600}.hero-copy>p{font-size:1.05rem;max-width:610px;color:#49625f}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}.text-link{font-size:.84rem;font-weight:800;border-bottom:1px solid var(--ink);padding:.6rem 0}.hero-stats{display:flex;gap:3.5rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:560px}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-family:"Source Serif 4",serif;font-size:1.55rem}.hero-stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.hero-panel{background:var(--paper);padding:1.6rem;box-shadow:var(--shadow);transform:rotate(1.5deg);position:relative}.hero-panel:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--mint);z-index:-1}.panel-top{display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.14em;font-weight:800}.status-dot{color:#3e927d}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#3e927d;border-radius:50%;margin-right:6px}.level-orbit{display:flex;justify-content:space-between;align-items:center;margin:1.8rem 0}.level-orbit span{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.72rem}.level-orbit .active{width:68px;height:68px;background:var(--coral);color:white;border:8px solid #fbded7;box-shadow:0 0 0 1px var(--coral)}.sample-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem;background:#eef4f0}.sample-icon{width:45px;height:45px;background:var(--ink);color:white;display:grid;place-items:center;font-family:serif}.sample-card small,.sample-card strong,.sample-card span{display:block}.sample-card small{font-size:.55rem;letter-spacing:.12em}.sample-card strong{font-size:.86rem}.sample-card div>span{font-size:.67rem;color:var(--muted)}.sample-card>b{font-family:serif}.progress{height:5px;background:#dce7e2}.progress i{display:block;height:100%;background:var(--coral)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.mini-grid>div{display:flex;gap:.7rem;align-items:center;border:1px solid var(--line);padding:.8rem;font-size:.7rem;font-weight:700}.mini-grid b{font-size:1.1rem;color:var(--coral)}.mini-grid small{font-weight:500;color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:7rem clamp(1.25rem,7vw,8rem);border-bottom:1px solid var(--line)}.section-number{font-size:.67rem;font-weight:800;letter-spacing:.17em;color:var(--coral)}h2{font-size:clamp(2.7rem,4.5vw,5rem)}.intro p{max-width:600px}.intro .accent-copy{font-family:"Source Serif 4",serif;font-size:1.45rem;line-height:1.4;color:var(--coral);border-left:3px solid var(--coral);padding-left:1.4rem;margin-top:2rem}.features{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(1.25rem,5vw,5.5rem);background:var(--ink);color:white}.features article{padding:3.5rem 2rem;border-right:1px solid rgba(255,255,255,.15);min-height:330px}.features article:last-child{border:0}.features small{float:right;color:var(--mint)}.feature-icon{font-family:serif;font-size:2.4rem;color:var(--coral)}.features h3{font-family:"Source Serif 4",serif;font-size:1.45rem;margin:3.2rem 0 .8rem}.features p{font-size:.82rem;color:#c8d7d5}.languages-section{padding:7rem clamp(1.25rem,7vw,8rem)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading p{max-width:480px;color:var(--muted)}.language-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.language-card{min-height:205px;padding:1.7rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s;background:var(--paper)}.language-card:hover{background:var(--cream);transform:translateY(-3px);box-shadow:var(--shadow);z-index:1}.language-card-head{display:flex;justify-content:space-between}.flag{font-size:1.5rem}.arrow{font-size:1.2rem;color:var(--coral)}.language-card h3{font-family:"Source Serif 4",serif;font-size:1.75rem;margin:.8rem 0 0}.language-card p{font-size:.72rem;color:var(--muted);margin:.2rem 0}.level-tags{display:flex;gap:.35rem}.level-tags span{font-size:.55rem;font-weight:800;border:1px solid var(--line);padding:.2rem .45rem}.content-strip{display:flex;gap:1.7rem;justify-content:center;align-items:center;overflow:hidden;white-space:nowrap;padding:1.2rem;background:var(--mint);font-size:.65rem;letter-spacing:.18em;font-weight:800}.content-strip i{color:var(--coral)}.final-cta{background:var(--ink);color:white;text-align:center;padding:7rem 1.25rem}.final-cta .eyebrow{justify-content:center}.final-cta h2{font-size:clamp(3rem,5vw,5.6rem)}.button-light{background:var(--cream);color:var(--ink)}footer{display:flex;align-items:center;justify-content:space-between;padding:2rem clamp(1.25rem,5vw,5.5rem);font-size:.7rem;background:var(--ink-2);color:#b9ceca;border-top:1px solid rgba(255,255,255,.1)}.brand-footer .brand-mark{width:32px;height:32px;font-size:1.2rem}.brand-footer strong{color:white}.reveal{animation:rise .65s both}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
/* Language landing pages */
.language-hero{padding:4.5rem clamp(1.25rem,7vw,8rem);background:var(--cream);display:grid;grid-template-columns:1fr .7fr;gap:5rem;align-items:end}.breadcrumb{font-size:.7rem;font-weight:700;color:var(--muted)}.language-hero h1{font-size:clamp(3.6rem,7vw,7rem);margin:1.4rem 0 .6rem}.language-hero p{max-width:600px}.language-symbol{font-family:"Source Serif 4",serif;font-size:clamp(7rem,15vw,13rem);line-height:.8;color:var(--coral);text-align:center;opacity:.85}.level-section{padding:5rem clamp(1.25rem,7vw,8rem)}.level-section-head{text-align:center;max-width:730px;margin:auto}.level-section-head h2{font-size:clamp(2.4rem,4vw,4rem)}.level-tabs{display:flex;justify-content:center;gap:.75rem;margin:2.5rem 0}.level-tab{border:1px solid var(--line);background:white;padding:.85rem 1.5rem;font-weight:800;color:var(--ink);cursor:pointer}.level-tab:hover,.level-tab.active{background:var(--coral);border-color:var(--coral);color:white}.learning-panel{max-width:1120px;margin:auto;background:white;border:1px solid var(--line);padding:2rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1.3rem;margin-bottom:1.5rem}.panel-heading h3{font-family:"Source Serif 4",serif;font-size:1.65rem;margin:0}.panel-heading span{font-size:.68rem;color:var(--muted)}.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.material-card{border:1px solid var(--line);padding:1.3rem;min-height:165px;background:var(--paper);cursor:pointer;text-align:left;color:var(--ink);transition:.2s}.material-card:hover{border-color:var(--coral);transform:translateY(-2px)}.material-card.active{border-color:var(--coral);background:#fff3ef;box-shadow:inset 0 0 0 1px var(--coral)}.material-card b{display:block;color:var(--coral);font-size:1.4rem;margin-bottom:1.5rem}.material-card strong{display:block;font-family:"Source Serif 4",serif;font-size:1.15rem}.material-card span{font-size:.68rem;color:var(--muted)}.material-detail{margin-top:1rem;padding:1.4rem;background:var(--cream);border-left:3px solid var(--coral);scroll-margin-top:112px}.material-grid>.material-detail{grid-column:1/-1;margin-top:0;animation:materialReveal .22s ease-out}.material-detail[hidden]{display:none}.material-detail h4{margin:0 0 .4rem;font-family:"Source Serif 4",serif;font-size:1.2rem}.material-detail p{margin:0;color:var(--muted);font-size:.8rem}.coming-soon{display:inline-block;margin-top:.8rem;font-size:.62rem;font-weight:800;letter-spacing:.1em;color:var(--coral)}.material-open{margin-top:1rem;padding:.7rem 1rem}.material-card-wide{grid-column:1/-1;min-height:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.4rem 1.8rem;background:linear-gradient(135deg,var(--paper) 0%,#fffaf7 100%)}.material-card-wide .material-card-main{display:flex;align-items:center;gap:1.25rem}.material-card-wide b{font-size:1.6rem;margin-bottom:0}.material-card-wide strong{font-size:1.25rem}.material-card-wide span{font-size:.72rem}.material-card-tag{font-size:.75rem;font-weight:700;color:var(--coral);display:flex;align-items:center;gap:.5rem;background:white;padding:.6rem 1rem;border:1px solid var(--line);border-radius:6px;flex-shrink:0}.test-subsections-preview{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.test-sub-pill{display:flex;align-items:center;gap:.7rem;background:white;border:1px solid var(--line);padding:.6rem .8rem;border-radius:6px;text-align:left}.test-sub-pill strong{font-family:Manrope,sans-serif;font-size:.8rem;font-weight:700;display:block}.test-sub-pill small{font-size:.65rem;color:var(--muted);display:block}.pill-badge{width:28px;height:28px;border-radius:8px;background:var(--coral);color:#ffffff!important;font-weight:800;font-size:.76rem;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px rgba(239,113,95,.25)}.test-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}.test-sub-box{background:white;border:1px solid var(--line);padding:1.25rem;border-radius:4px}.test-sub-box-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem;border-bottom:1px solid var(--line);padding-bottom:.6rem}.test-sub-box-head h5{margin:0;font-family:"Source Serif 4",serif;font-size:1.15rem;color:var(--ink)}.test-sub-box-head span{font-size:.65rem;color:var(--coral);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.test-sub-box p{margin:0 0 .9rem;font-size:.78rem;color:var(--muted);line-height:1.45}.test-sub-actions{display:flex;flex-wrap:wrap;gap:.6rem}@keyframes materialReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.top-nav{display:none}.hero{grid-template-columns:1fr;background:var(--cream);padding-top:4rem}.hero-panel{max-width:560px}.intro,.language-hero{grid-template-columns:1fr;gap:1rem}.features{grid-template-columns:1fr 1fr}.language-grid{grid-template-columns:1fr 1fr}.material-grid{grid-template-columns:1fr 1fr}.material-card-wide{flex-direction:column;align-items:flex-start;gap:1.1rem;padding:1.2rem}.material-card-tag{width:100%;justify-content:space-between}.section-heading{align-items:start;flex-direction:column}.language-symbol{text-align:left}.site-header .button-small{display:none}}
@media(max-width:600px){.site-header{height:76px}.hero{padding:3rem 1.25rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-stats{gap:1.5rem}.features,.language-grid{grid-template-columns:1fr}.material-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.material-card{min-height:140px;padding:1rem}.material-card-wide{grid-column:1 / -1}.test-subsections-preview{grid-template-columns:1fr}.test-sections-grid{grid-template-columns:1fr}.features article{min-height:auto}.intro,.languages-section,.level-section{padding-top:4rem;padding-bottom:4rem}.level-tabs{display:grid;grid-template-columns:1fr 1fr}.learning-panel{padding:1rem}.panel-heading{align-items:flex-start;flex-direction:column}.mini-grid{grid-template-columns:1fr}footer{gap:1rem;flex-direction:column;text-align:center}}
.site-footer{display:block;padding:0 clamp(1.25rem,5vw,5.5rem);text-align:left}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4rem;width:100%;padding:3.5rem 0}.footer-main>div:first-child>p{margin:1.2rem 0 0}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-contact strong{color:white;text-transform:uppercase;letter-spacing:.13em;margin-bottom:.5rem}.footer-contact a:hover{color:white}.official-link{color:var(--mint);font-weight:800;margin-top:.55rem}.footer-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0}.language-header-links{display:flex;align-items:center;gap:1.5rem;font-size:.75rem;font-weight:700}
.student-benefit{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(3rem,8vw,9rem);align-items:center;padding:6rem clamp(1.25rem,9vw,10rem);background:var(--mint);position:relative;overflow:hidden}.student-benefit:after{content:"BABYLONIA";position:absolute;right:-1rem;bottom:-5rem;font-family:"Source Serif 4",serif;font-size:clamp(6rem,15vw,14rem);font-weight:700;color:rgba(255,255,255,.22);line-height:1;pointer-events:none}.benefit-seal{width:min(290px,75vw);aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1;box-shadow:0 0 0 13px var(--mint),0 0 0 14px rgba(23,59,58,.25)}.benefit-seal:before,.benefit-seal:after{content:"✦";position:absolute;color:var(--coral);font-size:1.2rem}.benefit-seal:before{top:2rem}.benefit-seal:after{bottom:2rem}.benefit-seal span,.benefit-seal small{font-size:.64rem;font-weight:800;letter-spacing:.16em}.benefit-seal strong{font-family:"Source Serif 4",serif;font-size:3rem;line-height:1.1;color:var(--coral)}.benefit-copy{position:relative;z-index:1}.benefit-copy h2{font-size:clamp(2.8rem,4.8vw,5.2rem)}.benefit-copy>p{max-width:720px;font-size:1rem}.benefit-points{display:flex;flex-wrap:wrap;gap:.7rem 1.7rem;margin:1.8rem 0}.benefit-points span{font-size:.75rem;font-weight:800}.benefit-copy .text-link{display:inline-block}
@media(max-width:900px){.student-benefit{grid-template-columns:1fr}.benefit-seal{width:230px}}
@media(max-width:600px){.site-footer{display:block;text-align:left}.footer-main{grid-template-columns:1fr;gap:2rem;padding:2.5rem 0}.footer-bottom{gap:.5rem;flex-direction:column;align-items:flex-start}.language-header-links>a:first-child{display:inline-flex;padding:.35rem .7rem;background:var(--cream);border-radius:8px;font-size:.72rem}.student-benefit{padding-top:4rem;padding-bottom:4rem}.benefit-seal{width:200px}.benefit-seal strong{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}*{transition:none!important}}
.student-benefit:after{bottom:0}

/* Enterprise enquiry card */
.enterprise-section{padding:4rem clamp(1.25rem,7vw,8rem);background:var(--paper)}
.enterprise-card{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:clamp(1.5rem,4vw,4rem);background:var(--ink);color:var(--paper);border:1px solid var(--muted)}
.enterprise-copy{max-width:760px;min-width:0}
.enterprise-label{display:block;color:var(--mint);font-size:.7rem;font-weight:800;letter-spacing:.14em}
.enterprise-copy h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;margin:1rem 0}
.enterprise-copy p{color:#c8d7d5;font-size:.95rem;margin:0;line-height:1.8}
.enterprise-button{display:inline-flex;align-items:center;justify-content:center;gap:1.25rem;flex-shrink:0;padding:1rem 1.4rem;background:var(--mint);color:var(--ink-2);font-size:.85rem;font-weight:800;white-space:nowrap}
.enterprise-button:hover{background:var(--paper)}
.enterprise-button:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
@media(max-width:900px){.enterprise-card{flex-direction:column;align-items:flex-start;gap:1.75rem}}
@media(max-width:600px){.enterprise-section{padding-top:2.5rem;padding-bottom:2.5rem}.enterprise-button{width:100%}}

/* Mobile and tablet navigation */
.menu-toggle{display:none;width:46px;height:46px;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;cursor:pointer;place-content:center;gap:5px}
.menu-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){.menu-toggle{display:grid;margin-left:auto}.top-nav{position:absolute;top:calc(100% + 1px);left:clamp(1rem,4vw,2rem);right:clamp(1rem,4vw,2rem);display:flex;flex-direction:column;gap:0;padding:.55rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 45px rgba(15,45,44,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.top-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.top-nav a{padding:.9rem 1rem;border-bottom:1px solid var(--line)}.top-nav a:last-child{border-bottom:0;color:var(--coral)}.top-nav a:hover{background:var(--cream)}}

/* Language landing: prevent long greeting words from widening mobile pages. */
.language-hero>*{min-width:0}
.language-symbol{max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.language-hero h1{max-width:100%;font-size:clamp(2.5rem,12vw,4rem);overflow-wrap:anywhere}.language-symbol{font-size:clamp(3rem,14vw,4.75rem);line-height:.95}}
