:root{--sand:#f8f4e8;--paper:#fffdf7;--ink:#121b2a;--muted:#627084;--line:#ded6c5;--green:#00853f;--green-dark:#075b35;--gold:#f3c849;--red:#d91f3a;--navy:#13243e;--shadow:0 22px 60px rgba(18,27,42,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.6 Manrope,system-ui,sans-serif}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.hidden{display:none!important}.wrap{width:min(1140px,calc(100% - 32px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:40;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--green) 0 33%,var(--gold) 33% 66%,var(--red) 66%) 1;border-bottom:1px solid rgba(222,214,197,.8);background:rgba(248,244,232,.88);backdrop-filter:blur(18px)}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;min-width:0;gap:10px;align-items:center;font:800 17px Sora}.brand-text{white-space:nowrap}.brand small{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font:700 10px Manrope;letter-spacing:.11em;text-transform:uppercase}.mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:11px;background:var(--ink);color:var(--gold);font:800 19px Sora}.mark:before{content:"";position:absolute;inset:5px;border:2px solid var(--green);border-radius:7px}.mark span{position:relative}.nav-links{display:flex;gap:22px;color:var(--muted);font-weight:700;font-size:14px}.nav-links button{border:0;background:none;color:inherit;cursor:pointer;padding:10px 0}.nav-links button:hover,.nav-links button.active{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:8px}
.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);padding:10px 18px;font-weight:800;cursor:pointer;transition:.2s transform,.2s background,.2s border-color}.button:hover{transform:translateY(-1px);border-color:#bdb39f}.button.primary{border-color:var(--green);background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.ghost{background:transparent;border-color:transparent}.button.small{min-height:38px;padding:7px 13px;font-size:14px}.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:10px;font-size:23px}.mobile-menu{display:none;padding:0 16px 16px}.mobile-menu button{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:13px 4px;text-align:left;color:var(--muted);font-weight:800}
.proverb-strip{border-bottom:1px solid rgba(243,200,73,.35);padding:9px 16px;text-align:center;font-size:14px}.proverb-strip b{color:#8c6606;font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin-right:10px}.proverb-strip em{font-weight:700}
.hero{padding:24px 0 54px}.hero-panel{position:relative;overflow:hidden;min-height:540px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(113deg,#fffdf9 0 47%,#e1f0e7 47% 72%,rgba(243,200,73,.45) 100%);box-shadow:var(--shadow)}.hero-panel:after{content:"";position:absolute;right:-7%;top:-18%;width:55%;aspect-ratio:1;border:72px double rgba(0,133,63,.12);border-radius:50%;transform:rotate(16deg)}.hero-panel:before{content:"";position:absolute;right:15%;bottom:-18%;width:260px;height:260px;background:repeating-linear-gradient(45deg,rgba(217,31,58,.13) 0 9px,transparent 9px 22px);border-radius:45% 55% 40% 60%}
.hero-copy{position:relative;z-index:2;max-width:715px;padding:82px 62px}.eyebrow{margin:0;color:var(--green);font:800 12px Sora;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{font-family:Sora;margin-top:0}h1{font-size:clamp(43px,6vw,70px);line-height:1.04;margin:15px 0 18px;letter-spacing:-.035em}h2{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.025em}h3{line-height:1.25}.hero-wolof{font:800 21px Sora;margin:0}.hero-translation{color:var(--muted);margin:2px 0 17px}.hero-lead{max-width:630px;color:#46546a;font-size:18px}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:27px;color:var(--muted);font-size:14px}.proof strong{color:var(--ink)}
.section{padding:72px 0}.section.alt{background:#f0ebdd}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:27px}.section-head h2{margin:7px 0 0}.section-head>p{max-width:550px;margin:0;color:var(--muted)}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.course-card{position:relative;display:flex;min-height:250px;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:21px;overflow:hidden;transition:.2s}.course-card:hover{border-color:#bcb19a;transform:translateY(-2px);box-shadow:0 13px 30px rgba(18,27,42,.07)}.course-number{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e0efe6;color:var(--green);font:800 14px Sora}.course-card h3{margin:28px 0 6px;font-size:18px}.course-card p{margin:0;color:var(--muted);font-size:14px}.course-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:21px;color:var(--muted);font-size:12px;font-weight:700}.progress-line{height:4px;background:#e7e0d1;border-radius:9px;overflow:hidden;margin-top:11px}.progress-line span{display:block;height:100%;background:var(--green);border-radius:inherit}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border-top:3px solid var(--gold);padding:22px 4px}.feature-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--navy);color:#fff;font-size:21px}.feature h3{margin:18px 0 5px}.feature p{margin:0;color:var(--muted)}
.culture-card{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--navy);color:#fff}.culture-copy{padding:54px}.culture-copy .eyebrow{color:var(--gold)}.culture-copy h2{margin:9px 0 14px}.culture-copy p{color:#d5dceb}.culture-visual{position:relative;min-height:420px;background:linear-gradient(145deg,#087447,#043b2b);overflow:hidden}.culture-visual img{position:absolute;right:8%;bottom:0;width:min(78%,360px);border-radius:22px 22px 0 0;box-shadow:0 15px 45px #0006}.culture-visual:before{content:"WAXIN • COSAAN • WAXTAAN";position:absolute;inset:22px;color:#ffffff24;font:800 48px/1.25 Sora;writing-mode:vertical-rl}
.workspace{min-height:calc(100vh - 71px);background:#edf0ed;padding:22px 0 48px}.workspace-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px}.sidebar{position:sticky;top:94px;height:max-content;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:16px}.sidebar h2{margin:2px 8px 15px;font-size:18px}.side-nav{display:grid;gap:5px}.side-nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:10px;background:none;padding:11px 12px;color:var(--muted);text-align:left;font-weight:800;cursor:pointer}.side-nav button.active,.side-nav button:hover{background:#e1efe6;color:var(--green-dark)}.side-progress{margin-top:18px;border-top:1px solid var(--line);padding:18px 8px 3px}.side-progress strong{display:flex;justify-content:space-between}.main-panel{min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-head h1{font-size:clamp(30px,4vw,46px);margin:0}.streak{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:9px 14px;font-weight:800}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.resume-card{position:relative;overflow:hidden;border-radius:22px;background:var(--navy);color:#fff;padding:32px}.resume-card .eyebrow{color:var(--gold)}.resume-card h2{margin:11px 0 8px;font-size:31px}.resume-card p{max-width:600px;color:#d7dfeb}.resume-card .button{margin-top:14px}.resume-card:after{content:"Ñ";position:absolute;right:-12px;bottom:-85px;color:#ffffff0f;font:800 250px Sora}.stat-stack{display:grid;gap:12px}.stat{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:20px}.stat b{display:block;font:800 31px Sora}.stat span{color:var(--muted);font-size:14px}
.lesson-list{display:grid;gap:10px;margin-top:18px}.lesson-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:14px;cursor:pointer}.lesson-row:hover{border-color:#aeb9af}.lesson-row .num{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e4efe8;color:var(--green-dark);font-weight:900}.lesson-row h3{margin:0;font-size:16px}.lesson-row p{margin:1px 0 0;color:var(--muted);font-size:13px}.pill{border-radius:999px;background:#ebe6d7;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:800}.pill.done{background:#d9eee1;color:var(--green-dark)}
.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.game-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:24px;cursor:pointer}.game-card:hover{border-color:var(--green)}.game-card .icon{font-size:28px}.game-card h3{margin:12px 0 4px}.game-card p{margin:0;color:var(--muted)}.quiz{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:28px}.quiz-top{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:14px;font-weight:800}.quiz h2{font-size:30px;margin:26px 0 8px}.quiz .prompt{color:var(--muted);margin-bottom:22px}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.answer{min-height:62px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px;text-align:left;font-weight:800;cursor:pointer}.answer:hover{border-color:var(--green)}.answer.correct{background:#dbf1e2;border-color:var(--green);color:var(--green-dark)}.answer.wrong{background:#f8dfe3;border-color:var(--red);color:#8f1a2c}.feedback{min-height:28px;margin:17px 0 0;font-weight:800}.speak-card{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:36px;text-align:center}.speak-card .phrase{font:800 clamp(38px,7vw,72px) Sora}.sound-button{display:grid;place-items:center;width:68px;height:68px;margin:22px auto;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:28px;cursor:pointer}
.tutor-layout{display:grid;grid-template-columns:1fr 280px;gap:18px}.chat{display:flex;min-height:580px;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden}.messages{flex:1;display:flex;flex-direction:column;gap:12px;padding:24px;overflow:auto;max-height:560px}.message{max-width:78%;border-radius:15px 15px 15px 4px;background:#e6ece8;padding:12px 15px}.message.user{align-self:flex-end;border-radius:15px 15px 4px 15px;background:var(--navy);color:#fff}.message small{display:block;margin-top:5px;color:var(--muted)}.chat-form{display:flex;gap:9px;border-top:1px solid var(--line);padding:13px}.chat-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px 14px;font-size:16px}.suggestions{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:20px}.suggestions h3{font-size:16px}.suggestions button{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 11px;margin:5px 0;text-align:left;color:var(--muted);font-weight:700;cursor:pointer}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.resource{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:20px}.resource .cover{height:150px;border-radius:12px;background:linear-gradient(135deg,var(--navy),#1e6b54);display:grid;place-items:center;overflow:hidden;color:#fff;font:800 40px Sora}.resource .cover img{width:100%;height:100%;object-fit:contain;background:#fff}.resource h3{margin:16px 0 4px;font-size:16px}.resource p{margin:0;color:var(--muted);font-size:13px}
.nav-group{padding:12px 12px 3px;color:#8b95a3;font:800 10px Sora;letter-spacing:.14em;text-transform:uppercase}.lesson-listen{margin-top:16px}.listen-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px}.audio-lab,.track-list,.phrase-shelf,.flash-stage,.match-board,.builder,.progress-dashboard,.source-note{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:26px}.audio-lab h2{margin:9px 0 5px}.audio-lab>p{color:var(--muted)}.audio-lab audio{display:block;width:100%;margin:20px 0}.audio-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.audio-tools label{font-weight:800}.audio-tools select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px}.record-panel{margin-top:24px;border-radius:15px;background:#edf4ef;padding:18px}.record-panel h3,.record-panel p{margin:0 0 8px}.record-panel audio{margin:14px 0 0}.track-list{display:flex;flex-direction:column;gap:7px}.track-list h3{margin-bottom:7px}.track-list button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;text-align:left;font-weight:700;cursor:pointer}.track-list button span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e5ede7;color:var(--green-dark);font-size:12px}.track-list button.active{border-color:var(--green);background:#e4f2e9;color:var(--green-dark)}.track-list small{margin-top:10px;color:var(--muted)}.phrase-shelf{margin-top:18px}.phrase-shelf h2{margin:7px 0 18px}.phrase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.phrase-grid article{border:1px solid var(--line);border-radius:12px;padding:13px}.phrase-grid strong,.phrase-grid span{display:block}.phrase-grid span{color:var(--muted);font-size:14px}.flash-stage{display:grid;place-items:center;min-height:520px}.flashcard{display:flex;width:min(560px,100%);min-height:310px;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--green);border-radius:26px;background:linear-gradient(145deg,#fff,#e3f0e8);padding:30px;cursor:pointer;box-shadow:var(--shadow)}.flashcard.flipped{border-color:var(--gold);background:linear-gradient(145deg,#fff,#fff2bf)}.flashcard strong{font:800 clamp(34px,6vw,62px) Sora;margin:24px 0 8px;text-align:center}.flashcard small{color:var(--muted)}.match-board>p{color:var(--muted)}.match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.match-grid button{min-height:76px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;font-weight:800;cursor:pointer}.match-grid button.selected{border-color:var(--gold);background:#fff5cd}.match-grid button.matched{border-color:var(--green);background:#daf0e2;color:var(--green-dark);opacity:.65}.match-grid button.miss{border-color:var(--red);background:#f8e1e5}.builder h2{margin:10px 0 20px}.build-zone{min-height:84px;border:2px dashed #aeb9af;border-radius:14px;background:#f6f8f5;padding:24px;font:700 20px Sora}.word-bank{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.word-bank button{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 15px;font-weight:800;cursor:pointer}.word-bank button:disabled{opacity:.35}.progress-dashboard{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:28px}.progress-ring{width:150px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) calc(var(--p)*1%),#dfe6df 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--paper)}.progress-ring strong,.progress-ring span{position:absolute;z-index:1}.progress-ring strong{font:800 30px Sora;transform:translateY(-9px)}.progress-ring span{color:var(--muted);font-size:12px;transform:translateY(21px)}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.achievement-grid article{border:1px solid var(--line);border-radius:14px;padding:18px}.achievement-grid b,.achievement-grid span{display:block}.achievement-grid b{font:800 30px Sora}.achievement-grid span{color:var(--muted);font-size:13px}.source-note{margin-top:18px}.source-note h2{font-size:24px}.source-note p{color:var(--muted)}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(9,16,27,.6);padding:16px}.modal-card{position:relative;width:min(800px,100%);max-height:90vh;overflow:auto;border-radius:22px;background:var(--paper);padding:30px;box-shadow:0 30px 90px #0006}.modal-close{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;border-radius:10px;background:#eee8db;font-size:22px;cursor:pointer}.lesson-head{padding-right:44px}.lesson-head h2{margin:8px 0}.lesson-section{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.vocab-table{width:100%;border-collapse:collapse}.vocab-table td{border-bottom:1px solid var(--line);padding:10px 6px}.vocab-table td:first-child{font-weight:900}.dialogue{border-radius:14px;background:#e7efe9;padding:17px}.lesson-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.toast{position:fixed;right:18px;bottom:18px;z-index:120;max-width:350px;border-radius:12px;background:var(--ink);color:#fff;padding:13px 17px;box-shadow:var(--shadow);font-weight:700}footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:14px}.footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.flag-rule{display:flex;width:78px;height:6px;overflow:hidden;border-radius:10px}.flag-rule i{flex:1}.flag-rule i:nth-child(1){background:var(--green)}.flag-rule i:nth-child(2){background:var(--gold)}.flag-rule i:nth-child(3){background:var(--red)}
@media(max-width:980px){.course-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.sidebar{position:static}.side-nav{grid-template-columns:repeat(5,1fr)}.side-nav .nav-group{display:none}.side-nav button{justify-content:center}.side-nav button span{display:none}.dashboard-grid,.tutor-layout,.listen-layout{grid-template-columns:1fr}.culture-card{grid-template-columns:1fr}.culture-visual{min-height:320px}.resource-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.nav-links,.nav-actions{display:none}.menu-button{display:block}.mobile-menu.open{display:block}.proverb-strip b{display:block;margin:0}.hero-copy{padding:55px 25px}.hero-panel{min-height:600px}.hero-panel:after{right:-60%;top:47%;width:120%}.proof{gap:12px 20px}.section{padding:54px 0}.section-head{display:block}.features-grid,.game-grid{grid-template-columns:1fr}.culture-copy{padding:34px 25px}.course-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start}.streak{font-size:13px}.side-nav{grid-template-columns:repeat(3,1fr)}.lesson-row{grid-template-columns:46px 1fr}.lesson-row .pill{grid-column:2}.answers{grid-template-columns:1fr}.resource-grid,.phrase-grid,.match-grid,.achievement-grid,.progress-dashboard{grid-template-columns:1fr}.tutor-layout{display:block}.suggestions{margin-top:14px}.message{max-width:90%}.footer-row{display:block}.flag-rule{margin-top:14px}.audio-lab,.track-list,.phrase-shelf,.flash-stage,.match-board,.builder,.progress-dashboard{padding:19px}.match-grid button{min-height:58px}}
