:root{--primary:#0e7c83;--primary-dark:#075a62;--aqua:#35b8bc;--orange:#d95f16;--yellow:#ffc857;--ink:#17333b;--muted:#60777c;--cream:#fff8ef;--border:#d7e5e3;--white:#fff;--danger:#a9362a;--shadow:0 18px 60px rgba(7,90,98,.12);--radius:24px;--font-scale:1}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale))}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body),sans-serif;line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a{transition:transform .2s,background .2s,color .2s,box-shadow .2s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}h1,h2,h3{font-family:var(--font-heading),serif;line-height:1.08;margin:0 0 .6em}h1{font-size:clamp(3rem,7vw,6.3rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.035em}h3{font-size:1.45rem}p{margin:.4em 0 1em}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:96px 0}.section.compact{padding:0 0 40px}.demo-bar{background:var(--ink);color:white;text-align:center;padding:7px 20px;font-size:.78rem;letter-spacing:.02em}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{min-height:78px;display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:baseline;text-decoration:none;font-size:1.45rem;letter-spacing:-.06em}.brand span{font-weight:800;color:var(--primary)}.brand b{font-family:var(--font-heading);font-style:italic;color:var(--orange);font-size:1.25em}.brand.inverse span{color:white}.header-inner nav{display:flex;gap:26px;margin-left:auto}.header-inner nav a{text-decoration:none;font-size:.9rem;font-weight:700}.header-inner nav a:hover{color:var(--primary)}.a11y-controls{display:flex;gap:6px}.a11y-controls button{border:1px solid var(--border);background:white;color:var(--ink);border-radius:12px;padding:8px;display:flex;gap:5px;align-items:center;cursor:pointer}.a11y-controls svg{width:18px}.a11y-controls span{font-size:.72rem}.a11y-controls button[aria-pressed=true]{background:var(--ink);color:white}.hero{background:radial-gradient(circle at 70% 10%,#dcf5f2 0,transparent 28%),var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;min-height:610px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;margin-bottom:24px}.hero h1 em{color:var(--primary);font-weight:500}.hero-lead,.large-copy{font-size:1.17rem;color:var(--muted);max-width:650px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;padding:0 25px;border:0;text-decoration:none;font-weight:800;cursor:pointer}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{opacity:.67;cursor:not-allowed}.button-primary{background:var(--primary);color:white;box-shadow:0 10px 25px rgba(14,124,131,.22)}.button-primary:hover{background:var(--primary-dark)}.button-ghost{border:1px solid var(--border);background:white}.button-light{background:white;color:var(--primary-dark)}.inline-checks{list-style:none;padding:0;display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem;font-weight:700}.inline-checks li{display:flex;align-items:center;gap:6px}.inline-checks svg{width:17px;color:var(--primary)}.hero-art{position:relative;height:500px}.hero-person{position:absolute;width:330px;height:400px;border-radius:48% 48% 38% 38%;background:var(--primary);left:90px;bottom:10px;box-shadow:inset -45px -40px 0 var(--primary-dark)}.hero-person:before{content:"";position:absolute;width:172px;height:172px;background:#f5b38e;border-radius:48% 48% 44% 44%;left:79px;top:52px}.hero-person:after{content:"";position:absolute;width:142px;height:68px;background:var(--ink);border-radius:80px 80px 10px 10px;left:94px;top:31px;transform:rotate(-5deg)}.hero-person span{position:absolute;z-index:2;left:140px;top:123px;color:var(--ink);font-family:var(--font-heading);font-weight:800}.speech{position:absolute;background:white;padding:14px 22px;border-radius:20px;box-shadow:var(--shadow);font-weight:800;z-index:3}.speech-one{left:0;top:45px;transform:rotate(-5deg)}.speech-two{right:0;top:155px;transform:rotate(5deg);color:var(--primary)}.lesson-card{position:absolute;z-index:4;bottom:0;right:-10px;background:white;padding:18px;border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:45px auto;column-gap:12px;min-width:220px}.lesson-card .lesson-icon{grid-row:span 2;width:43px;height:43px;border-radius:13px;background:#d8f3ef;display:grid;place-items:center;color:var(--primary)}.lesson-card small{color:var(--muted)}.lesson-card div{grid-column:2;margin-top:9px}.lesson-card i{display:inline-block;width:25px;height:4px;border-radius:4px;background:var(--yellow);margin-right:4px}.star{position:absolute;color:var(--orange);fill:var(--orange)}.star-one{right:25px;top:60px}.star-two{left:35px;bottom:80px}.stats{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;background:white;display:grid;grid-template-columns:repeat(3,1fr);padding:28px}.stats div{display:flex;flex-direction:column;align-items:center;border-right:1px solid var(--border)}.stats div:last-child{border:0}.stats strong{font-family:var(--font-heading);font-size:2rem;color:var(--primary)}.stats span{font-size:.82rem;color:var(--muted)}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.program-card{padding:34px;border-radius:var(--radius);min-height:340px;display:flex;flex-direction:column}.program-card.aqua{background:#dff5f2}.program-card.orange{background:#fff0e6}.program-card.yellow{background:#fff5d8}.program-card>span{font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.program-card h3{font-size:2rem;margin-top:55px}.program-card p{color:#3e5b62}.program-card a{margin-top:auto;display:flex;align-items:center;gap:8px;font-weight:800}.program-card svg{width:18px}.data-note{color:var(--muted);font-size:.8rem;margin-top:20px}.warm{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.quote{display:flex;gap:16px;background:white;border-radius:18px;padding:22px;margin-top:35px}.quote svg{color:var(--orange);flex:none}.quote p{margin:0;font-family:var(--font-heading);font-weight:700}.quote small{display:block;color:var(--muted);font-family:var(--font-body);font-weight:500}.benefit-list article{display:flex;gap:22px;border-bottom:1px solid #e8ddd0;padding:0 0 28px;margin-bottom:28px}.benefit-list article>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);font-weight:800;flex:none}.benefit-list h3{margin:0 0 8px}.benefit-list p{margin:0;color:var(--muted)}.final-cta{background:var(--primary-dark);color:white;border-radius:32px;padding:58px;display:flex;align-items:center;justify-content:space-between;gap:50px}.final-cta>div{max-width:700px}.final-cta h2{font-size:clamp(2rem,4vw,3.6rem)}.final-cta p{color:#c8e5e3}.eyebrow.light{color:var(--yellow)}.site-footer{background:var(--ink);color:#d8e5e5;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}.footer-grid h2{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow)}.footer-grid a,.footer-grid p{display:block;margin:.5em 0;font-size:.86rem}.footer-bottom{border-top:1px solid #355057;margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;font-size:.75rem}.page-hero{padding:72px 0 48px;background:var(--cream)}.page-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);max-width:940px}.page-hero p{max-width:760px;color:var(--muted);font-size:1.1rem}.breadcrumbs{display:flex;gap:8px;list-style:none;padding:0;font-size:.8rem;color:var(--muted)}.breadcrumbs li+li:before{content:"/";margin-right:8px}.disclosure-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:60px;align-items:start}.side-nav{position:sticky;top:110px;border:1px solid var(--border);border-radius:18px;padding:12px;background:white}.side-nav a{display:block;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:.82rem;font-weight:650}.side-nav a:hover,.side-nav a.active{background:#e3f5f3;color:var(--primary-dark)}.legal-content h2{font-size:2rem}.facts{display:grid;gap:10px;margin:30px 0}.fact{border:1px solid var(--border);border-radius:14px;padding:18px;display:grid;grid-template-columns:minmax(150px,32%) 1fr;gap:20px}.fact dt{font-size:.78rem;color:var(--muted);font-weight:800}.fact dd{margin:0}.notice{border-left:5px solid var(--yellow);background:#fff7db;border-radius:10px;padding:18px 22px;margin:24px 0}.section-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.section-card{border:1px solid var(--border);border-radius:16px;padding:22px;text-decoration:none}.section-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.section-card b{display:block;font-family:var(--font-heading);font-size:1.25rem}.section-card span{font-size:.82rem;color:var(--muted)}.document-list{display:grid;gap:12px;margin-top:28px}.document-card{border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.document-card a{font-weight:800;color:var(--primary)}.document-card small{display:block;color:var(--muted)}.empty-docs{border:1px dashed var(--border);border-radius:14px;color:var(--muted);padding:25px}.ui-section{padding:55px 0;border-bottom:1px solid var(--border)}.token-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.token{border:1px solid var(--border);border-radius:14px;overflow:hidden}.token i{display:block;height:90px}.token div{padding:12px;font-size:.75rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field label{font-size:.8rem;font-weight:800}.field input,.field select,.field textarea{border:1px solid #a9bfbd;border-radius:12px;padding:13px;background:white;color:var(--ink)}.field small{color:var(--muted)}.admin-shell{max-width:760px}.admin-card{border:1px solid var(--border);box-shadow:var(--shadow);padding:32px;border-radius:20px}.error{color:var(--danger);font-weight:700}.success{color:var(--primary-dark);font-weight:700}.admin-doc{border:1px solid var(--border);padding:20px;border-radius:14px;margin:12px 0}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.button-small{min-height:40px;padding:0 17px}.button-danger{background:#fff0ee;color:var(--danger);border:1px solid #e4b5af}.high-contrast{--primary:#00545b;--primary-dark:#002f34;--muted:#334b50;--border:#758988;--cream:#fff}.large-text{--font-scale:1.18}.high-contrast .hero-art,.high-contrast .star{display:none}@media(max-width:900px){.header-inner nav{display:none}.header-inner{gap:14px}.a11y-controls{margin-left:auto}.hero-grid,.split,.disclosure-layout{grid-template-columns:1fr}.hero-art{height:420px;max-width:500px}.program-grid{grid-template-columns:1fr}.side-nav{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.section-cards{grid-template-columns:1fr}.token-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.section{padding:68px 0}.demo-bar{font-size:.65rem}.a11y-controls span{display:none}.hero-grid{gap:20px}.hero-art{transform:scale(.75);transform-origin:left top;margin-bottom:-100px;width:130%}.stats{grid-template-columns:1fr;gap:16px}.stats div{border:0;border-bottom:1px solid var(--border);padding-bottom:12px}.final-cta{padding:34px 25px;display:block}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.fact{grid-template-columns:1fr;gap:5px}.side-nav{grid-template-columns:1fr}.token-grid,.form-grid{grid-template-columns:1fr 1fr}.document-card{display:block}.document-card a{display:block;margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.brand.inverse b{color:var(--yellow)}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/manrope-cyrillic.woff2') format('woff2')}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/manrope-latin.woff2') format('woff2')}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/lora-cyrillic.woff2') format('woff2')}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/lora-latin.woff2') format('woff2')}:root{--font-body:Manrope,Arial,sans-serif;--font-heading:Lora,Georgia,serif}
/* Mobile forms use one minmax(0, 1fr) track so native file inputs cannot expand the page beyond its viewport. */
@media(max-width:600px){.form-grid{grid-template-columns:minmax(0,1fr)}.field,.field input,.field select,.field textarea{min-width:0;max-width:100%;width:100%}.admin-card{padding:24px 18px}.admin-doc{padding:18px 14px}.admin-actions .button{width:100%}.token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Form examples align from their top edge: helper text must not stretch the adjacent select or file control to the full grid-row height. */
.form-grid{align-items:start}.field{align-content:start}.field input:not([type=file]),.field select{height:54px}
/* Supplied idiom artwork shares the program-card geometry so it enriches the curriculum block without becoming a separate gallery. */
.learning-poster{margin:0;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);box-shadow:0 14px 38px rgba(7,90,98,.11)}.learning-poster img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}@media(max-width:900px){.learning-poster{width:min(100%,520px);margin-inline:auto}}
/* Contrast mode keeps the hero composition visible; only non-informative stars are intentionally suppressed. */
.high-contrast .hero-art{display:block}
/* The educator portrait is a compact identity card, not a gallery. Its fixed
   crop keeps the legal fact list near the fold while preserving the supplied
   portrait's face and upper-body composition on desktop and mobile. */
.educator-profile{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:clamp(22px,4vw,38px);max-width:680px;margin:28px 0 40px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,#e5f6f4 0%,var(--cream) 100%);box-shadow:0 14px 38px rgba(7,90,98,.1);overflow:hidden}.educator-profile img{display:block;width:180px;height:240px;object-fit:cover;object-position:center 24%;border-radius:16px;background:var(--primary-dark)}.educator-profile figcaption{min-width:0}.educator-profile figcaption span{display:block;margin-bottom:10px;color:var(--primary-dark);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.educator-profile figcaption strong{display:block;font-family:var(--font-heading),serif;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.08}.educator-profile figcaption p{margin:12px 0 0;color:var(--muted);font-weight:700}@media(max-width:600px){.educator-profile{grid-template-columns:minmax(0,1fr);padding:12px;gap:18px}.educator-profile img{width:100%;height:320px}.educator-profile figcaption{padding:2px 6px 10px}}
.brand{gap:.18em;white-space:nowrap}
.educator-profile img{background:#e5f6f4}
