@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,600&display=swap');
:root{--ink:#152735;--blue:#174bc5;--cream:#f6f2e9;--paper:#fffdf7;--line:#c8c9c0;--rose:#ef9b82;--lime:#d5e1a1;--muted:#52616b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 'DM Sans',sans-serif}a{color:var(--blue)}a:hover{text-decoration-thickness:2px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.skip{position:absolute;left:-9999px;top:0;background:var(--paper);padding:12px;z-index:99}.skip:focus{left:12px}header{background:var(--cream);border-bottom:1px solid var(--ink);position:relative;z-index:10}.nav{max-width:1400px;margin:auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:var(--ink);text-decoration:none;font:600 22px/1 Fraunces,Georgia,serif;letter-spacing:-.04em}.brand em{font-style:normal;color:var(--blue)}.links{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.links a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700;padding:10px 12px}.links a:hover,.links a[aria-current]{text-decoration:underline;text-underline-offset:6px}.links .nav-cta{border:1px solid var(--ink);margin-left:8px;background:var(--lime)}.wrap{max-width:1260px;margin:auto;padding:0 28px}.hero{overflow:hidden;border-bottom:1px solid var(--ink);background:var(--paper)}.hero-grid{display:grid;grid-template-columns:1.28fr .72fr;min-height:650px}.hero-copy{padding:70px 7vw 80px 0;align-self:center}.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--blue)}h1,h2,h3,blockquote{font-family:Fraunces,Georgia,serif;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(3.7rem,7vw,7.4rem);font-weight:400;margin:24px 0}h2{font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:400;margin:15px 0 25px}h3{font-size:1.7rem;font-weight:600;margin:12px 0}.lead{font-size:clamp(1.2rem,2vw,1.52rem);line-height:1.5;max-width:730px}.hero-side{background:var(--blue);color:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px 34px 32px;overflow:hidden;border-left:1px solid var(--ink)}.hero-side:before{content:'?';font:400 570px/.8 Fraunces,serif;color:#d6e2ff;position:absolute;right:-20px;top:70px;transform:rotate(-13deg)}.hero-side>*{position:relative}.hero-side .side-top{font-size:13px;text-transform:uppercase;letter-spacing:.14em}.hero-side .side-bottom{font-family:Fraunces,serif;font-size:29px;line-height:1.2;max-width:290px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border:1px solid var(--ink);text-decoration:none;color:var(--ink);background:var(--lime);font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{color:var(--ink);transform:translate(-3px,-3px);box-shadow:4px 4px var(--ink)}.button.white{background:var(--paper)}.button.blue{background:var(--blue);color:#fff}.button.blue:hover{color:#fff}.ribbon{border-bottom:1px solid var(--ink);background:var(--lime);overflow:hidden}.ribbon .wrap{display:flex;gap:45px;white-space:nowrap;padding-top:12px;padding-bottom:12px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.ribbon span:before{content:'✳';padding-right:45px;color:var(--blue)}.section{padding:95px 0;border-bottom:1px solid var(--ink)}.section.paper{background:var(--paper)}.section.blue{background:var(--blue);color:#fff}.section.blue .eyebrow{color:var(--lime)}.section.blue p{color:#e6edff}.section.tight{padding:65px 0}.section-intro{max-width:790px;margin-bottom:40px}.section-intro p{font-size:1.2rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--ink);background:var(--ink)}.card{background:var(--paper);padding:34px;min-height:280px}.card .index{font-size:13px;color:var(--blue);font-weight:700;letter-spacing:.15em}.card p{color:var(--muted)}.card a{font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.note{border:1px solid var(--ink);background:var(--lime);padding:35px;transform:rotate(1.5deg);box-shadow:8px 8px var(--ink)}.note small{font-size:13px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.note h3{font-size:2.5rem}.note li{margin:12px 0}.pagehead{background:var(--paper);border-bottom:1px solid var(--ink);padding:88px 0 76px;position:relative;overflow:hidden}.pagehead:after{content:'✳';position:absolute;right:4%;top:-90px;font-size:400px;line-height:1;color:var(--lime)}.pagehead .wrap{position:relative;z-index:1}.pagehead h1{max-width:950px;font-size:clamp(3.5rem,6vw,6.5rem)}.pagehead p{max-width:720px;font-size:1.25rem}.row-list{border-top:1px solid var(--ink)}.row{display:grid;grid-template-columns:210px 1fr;gap:45px;border-bottom:1px solid var(--ink);padding:35px 0}.row .label{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:700}.row p{max-width:780px;margin:0}.project{border:1px solid var(--ink);background:var(--paper);margin-bottom:22px;display:grid;grid-template-columns:180px 1fr}.project .stamp{border-right:1px solid var(--ink);background:var(--lime);padding:30px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.project .body{padding:30px 40px}.project .body p{max-width:800px}.project.featured .stamp{background:var(--rose)}.project a{font-weight:700}.tag{display:inline-block;border:1px solid var(--ink);padding:6px 12px;margin:4px 4px 0 0;font-size:14px;background:var(--paper)}.quote{font-size:clamp(2rem,4vw,4.5rem);max-width:950px;margin:0 0 32px}.footer{background:var(--ink);color:#f5f4ef;padding:55px 0}.footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer a{color:#e4e9b3}.footer .brand{color:#fff}.footer p{max-width:420px}.small{font-size:14px;color:var(--muted)}.footer .small{color:#c5d2d4}.contact-box{border:1px solid var(--ink);padding:44px;background:var(--paper);max-width:820px}.contact-box h2{margin-top:0}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.field{border:1px solid var(--ink);background:var(--paper);padding:26px;display:flex;flex-direction:column;min-height:330px}.field .number{color:var(--blue);font-weight:700;letter-spacing:.15em;font-size:13px}.field h3{margin:25px 0 10px}.field p{margin:0 0 20px}.field button{margin-top:auto;align-self:start;border:0;border-bottom:2px solid var(--blue);color:var(--blue);background:none;padding:4px 0;font-weight:700}.field .answer{display:none;border-top:1px solid var(--line);padding-top:16px;color:var(--muted)}.field.open .answer{display:block}.prompt-box{background:var(--lime);border:1px solid var(--ink);padding:35px;max-width:850px}.prompt-box p{font-family:Fraunces,serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.25;margin:18px 0}.prompt-box button{background:var(--paper);border:1px solid var(--ink);padding:10px 15px;font-weight:700}@media(max-width:850px){.hero-grid,.split{grid-template-columns:1fr}.hero-copy{padding:65px 0}.hero-side{min-height:280px;border-left:0;border-top:1px solid var(--ink)}.hero-side:before{font-size:360px;top:0}.card-grid,.field-grid{grid-template-columns:1fr 1fr}.nav{align-items:flex-start;flex-direction:column}.links{gap:0}}@media(max-width:620px){body{font-size:16px}.wrap{padding:0 20px}.nav{padding:16px 20px}.links a{padding:8px 8px 8px 0;margin-right:10px}.links .nav-cta{margin-left:0;padding:8px}.card-grid,.field-grid{grid-template-columns:1fr}.row,.project{grid-template-columns:1fr;gap:0}.project .stamp{border-right:0;border-bottom:1px solid var(--ink)}.section{padding:65px 0}.pagehead{padding:60px 0}.pagehead:after{right:-110px;font-size:300px}.note{transform:none;box-shadow:5px 5px var(--ink)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Homepage multilingual greeting */
body[data-page="Home"] .hero{position:relative;padding-top:100px}
.welcome-corner{position:absolute;top:20px;right:max(28px,calc((100vw - 1260px)/2 + 28px));display:flex;align-items:center;gap:18px;padding:12px 18px;background:var(--lime);border:1px solid var(--ink);max-width:calc(100% - 40px)}
.welcome-words{display:flex;flex-direction:column;min-width:180px;text-align:right}
#welcome-word{font-family:'DM Sans',system-ui,sans-serif;font-size:24px;line-height:1.8;overflow-wrap:anywhere}
#welcome-language{font-size:14px;color:var(--muted)}
#welcome-toggle{background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:7px 12px;min-height:44px;font-size:14px}
@media(max-width:600px){.welcome-corner{right:20px;gap:12px}.welcome-words{min-width:140px}#welcome-word{font-size:20px}}

.package-table{overflow-x:auto;margin:24px 0}.package-table table{border-collapse:collapse;width:100%;font-size:18px}.package-table caption{text-align:left;margin-bottom:12px}.package-table th,.package-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left}.package-table th{background:var(--lime)}

.language-bar{max-width:1400px;margin:auto;padding:10px 28px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);font-size:14px}.language-bar label{font-weight:700}.language-bar select,.language-bar button{font:inherit;min-height:44px;max-width:100%;padding:8px 12px;background:var(--paper);border:1px solid var(--ink);color:var(--ink)}.language-bar a{font-weight:700}.classroom-actions{margin:20px 0}.practice-answer{margin:20px 0;padding:16px;background:var(--lime);border:1px solid var(--ink)}
