/* Shared visual tokens for the public school site. */
:root{--brand:#155b3f;--deep:#103f30;--accent:#d5ed87;--yellow:#ffce48;--ink:#173d30;--muted:#5b6d63;--bg:#f8faf7;--surface:#fff;--subtle:#edf2e9;--line:#dce4d9;--shadow:0 12px 40px #173d300b;--radius:24px;--radius-sm:14px;--space:8px;--font:'DM Sans',sans-serif;--heading:'Manrope',sans-serif;--section-space:104px;--green:var(--brand);--cream:var(--subtle);color-scheme:light}
:root[data-theme=dark]{--ink:#eef5e9;--muted:#b0c2b5;--bg:#101b16;--surface:#18271f;--subtle:#20342a;--line:#345042;--brand:#b5dc95;--shadow:0 12px 40px #0002;color-scheme:dark}
body{background:var(--bg)}h1,h2,h3{font-weight:600}.wrap{max-width:1328px;padding-inline:40px}.section{padding-block:var(--section-space)}h2{font-size:clamp(38px,4.2vw,62px)}h2 em,h1 em,.intro h2 em,.team h2 em,.community h2 em{color:var(--brand)}.eyebrow{letter-spacing:.1em;font-weight:600}.header{background:var(--bg);padding-top:16px;border:0;backdrop-filter:none}.nav-wrap{min-height:83px;background:var(--surface);border:1px solid var(--line);border-radius:100px;max-width:1248px;padding-inline:26px;box-shadow:var(--shadow);gap:28px}.brand{gap:10px;flex-shrink:0}.brand img{width:43px;height:43px;border-radius:50%}.brand strong{font-size:25px}.brand>span{font-size:7px}.header nav{margin-left:auto;gap:26px;font-weight:500}.header .portal-link{background:var(--deep);color:#fff;padding:12px 20px;border-radius:100px}.nav-actions{display:flex;align-items:center;gap:12px}.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:22px}.skip{background:var(--surface)}
.hero{color:var(--ink);background:transparent;padding-block:34px 24px}.hero-inner{grid-template-columns:1.1fr 1fr;gap:45px;min-height:602px}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:40px}.hero .eyebrow{color:var(--muted);gap:8px;font-size:10px;letter-spacing:.06em}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}.hero h1{font-size:clamp(56px,5.4vw,80px);font-weight:600;letter-spacing:-.065em}.hero h1 em{position:relative;display:inline-block;z-index:0}.hero h1 em:after{position:absolute;content:'';inset:49% -4px -5px;background:var(--accent);z-index:-1;transform:rotate(-3deg);border-radius:5px}.hero-description{color:var(--muted);font-size:16px;max-width:430px;margin-top:27px}.button{border-radius:100px;font-size:13px;font-weight:600;min-height:54px;padding:15px 23px;gap:35px;transition:transform .18s,box-shadow .18s}.button:hover{filter:none;transform:translateY(-2px);box-shadow:var(--shadow)}.hero .button{background:var(--deep);color:white}.hero .text-link{color:var(--ink);border:0}.text-link{font-size:13px}.hero-footnote{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-top:54px}.hero-footnote span{margin:0}.hero-mini-sun{font-size:35px;line-height:1;color:var(--brand)}.hero-visual{min-height:600px;margin:0;border-radius:160px var(--radius) var(--radius) var(--radius);overflow:hidden;background:var(--accent)}.photo-window{border-radius:0;background-size:205% auto;background-position:100% 28%}.photo-sticker{bottom:28px;left:24px;right:24px;transform:none;display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fffffff2;color:#173d30;border-radius:18px;font-size:10px}.photo-sticker>span{position:static;font-size:10px}.photo-sticker strong{display:block;font-size:22px;font-family:var(--heading);letter-spacing:-.04em;line-height:1.4}.photo-sticker .sticker-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--accent);font-size:25px;order:2;margin-left:auto}.image-credit{top:22px;bottom:auto;right:25px;padding:5px 10px;border-radius:30px}.quick-access{gap:14px;padding-block:12px;border:0}.quick-access>a{padding:22px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);gap:14px}.quick-access>a:hover{background:var(--subtle)}.access-icon{width:40px;height:40px;background:var(--subtle);border:0;font-size:22px}.quick-access a:hover .access-icon{background:var(--subtle);color:var(--brand)}.intro{gap:110px;align-items:center}.intro h2{font-size:clamp(40px,4.5vw,64px)}.lead{font-size:23px}.values{gap:8px;margin-top:28px}.values span{background:var(--subtle);border:0;padding:6px 14px;font-size:11px;color:var(--muted)}
.stage-grid{gap:18px}.stage{padding:28px;border-radius:var(--radius);background:var(--surface);border-color:var(--line);min-height:340px}.stage:hover{background:var(--surface);border-color:var(--brand)}.stage:nth-child(2){background:var(--deep);color:white;border-color:var(--deep)}.stage-number{font-size:10px;font-weight:500;letter-spacing:.08em}.stage-drawing{font-size:65px;line-height:1;margin-block:25px;color:var(--brand)}.stage:nth-child(2) .stage-drawing{color:var(--accent)}.stage h3{font-size:29px}.stage:nth-child(2) p{color:#d1e1d5}.stage a{font-size:12px;border-color:var(--line);padding-top:18px}.stage:nth-child(2) a{border-color:#ffffff30}.city,.city-overlay{min-height:460px}.city-overlay{padding-block:70px}.city h2{font-size:54px}.team{gap:100px}.rector-photo{margin:0;max-width:470px}.rector-photo>img{height:550px;border-radius:var(--radius)}.rector-photo>span{bottom:20px;left:20px;right:20px;border-radius:var(--radius-sm);background:var(--yellow);color:#173d30}.team-roles>div{font-size:12px;grid-template-columns:115px 1fr;padding-block:13px}.admissions h2 em{color:var(--accent)}.admission-layout{grid-template-columns:1fr 340px}.year-badge{border-color:#ffffff40;background:#ffffff12;color:#fff}.admission-steps li>span{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#ffffff14;color:var(--accent);font-size:11px;flex-shrink:0}.admission-steps h3{font-size:22px;font-weight:500}.admission-note{font-size:11px}.requirements-link{font-size:12px}.qr-card{background:var(--surface);border-radius:var(--radius)}.qr-card img{border-radius:12px;background:white}.qr-card p,.download-qr{font-size:12px}.qr-label{font-size:9px}.community-notes article{padding:24px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:12px}.community-notes article:first-child{padding-top:24px}.community-notes article>span{color:var(--brand)}.faq-grid{gap:12px 22px}.faq details{padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-self:start}.faq summary{font-size:14px}.contact{background:var(--accent);color:#173d30}.contact h2{font-size:46px}.contact .button{background:var(--deep);color:white}.contact p,.contact a:not(.button){font-size:13px}.footer{background:var(--surface)}.footer-name{font-size:40px}.footer p,.footer>.wrap>div a{font-size:12px}.credits{font-size:10px}.side-shortcuts{display:none}
.bunny-launch{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}.bunny-launch>span:not(.bunny-plus){font-size:10px}.bunny-launch strong{font-size:13px}.bunny-panel{width:370px;background:var(--surface);border-radius:var(--radius)}.bunny-panel>header{background:var(--deep);padding:18px}.bunny-panel h2{font-size:18px}.bunny-panel header button{width:40px;height:40px;background:#ffffff15;border-radius:50%}.chat-log{background:var(--subtle);max-height:250px}.chat-log p{font-size:13px;border-radius:var(--radius-sm)}.bot-message{background:var(--surface);border-color:var(--line)}.user-message{background:var(--accent);color:#173d30}.chat-questions button{background:var(--surface);color:var(--brand);border-color:var(--line);padding:8px 12px;font-size:11px}.chat-questions button:hover{background:var(--subtle)}.bunny-panel form{border-color:var(--line);border-radius:var(--radius-sm)}.bunny-panel input{background:var(--surface);color:var(--ink);font-size:13px}.bunny-panel form button{background:var(--deep)}.chat-note{font-size:10px}.is-loading{height:32px;width:90%;border-radius:8px;background:linear-gradient(90deg,#ffffff12,#ffffff30,#ffffff12);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{to{background-position:-200% 0}}:root[data-theme=dark] .hero h1 em{color:var(--accent)}:root[data-theme=dark] .hero h1 em:after{background:#385132}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--brand)}
@media(min-width:1600px){.hero-inner,.hero-visual{min-height:640px}}
@media(max-width:1100px){.header{padding-inline:24px}.nav-wrap{gap:18px;padding-inline:20px}.header nav{gap:18px;font-size:11px}.hero-inner{gap:25px;min-height:540px}.hero-visual{min-height:540px}.hero h1{font-size:60px}.wrap{padding-inline:30px}.hero-description{font-size:14px}.quick-access>a{padding:18px 12px;gap:10px}.intro,.team,.community{gap:50px}.admission-layout{gap:50px}.stage{padding:25px}}
@media(max-width:900px){.header nav{display:none;position:absolute;top:95px;inset-inline:24px;margin:0;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.header nav.open{display:flex;align-items:stretch;flex-direction:column;gap:6px}.header .portal-link{text-align:center}.nav-actions{margin-left:auto}.menu-toggle{display:flex;gap:10px;padding:9px 14px;border:1px solid var(--line);border-radius:100px;background:var(--surface);color:var(--ink);font-size:12px}.hero h1{font-size:53px}.hero-visual{min-height:530px}.quick-access{grid-template-columns:1fr 1fr}.quick-access>a{padding:20px}.stage-grid{gap:12px}.stage{padding:22px}.stage h3{font-size:24px}.admission-layout{grid-template-columns:1fr 290px;gap:35px}.qr-card{padding:24px}.team{gap:40px}.rector-photo>img{height:490px}.team-roles>div{grid-template-columns:95px 1fr}}
@media(max-width:760px) and (min-width:641px){.hero-inner{display:grid;grid-template-columns:1fr 1fr}.hero-visual{height:auto}.stage-grid{grid-template-columns:repeat(3,1fr)}.stage-drawing{position:static}.stage p{max-width:100%}.intro,.team,.community{grid-template-columns:1fr 1fr}.stage h3{font-size:22px}}
@media(max-width:640px){:root{--section-space:64px;--radius:22px}.wrap{padding-inline:22px}.header{padding:12px 14px 0}.nav-wrap{min-height:70px;padding-inline:14px;gap:10px}.brand img{width:35px;height:35px}.brand strong{font-size:21px}.brand>span{font-size:6px}.brand{gap:8px}.nav-actions{gap:7px}.theme-toggle{width:35px;height:35px;font-size:20px}.menu-toggle{font-size:11px;padding:8px 11px;gap:7px}.header nav{top:92px;inset-inline:14px}.hero{padding-block:16px 15px}.hero-inner{display:flex;flex-direction:column;gap:24px;min-height:0}.hero-copy{padding-block:27px 0}.hero .eyebrow{font-size:9px;gap:6px;margin-bottom:22px;letter-spacing:.02em}.hero h1{font-size:clamp(45px,10.6vw,66px)}.hero-description{font-size:14px;margin-top:22px}.button-row{gap:20px;margin-top:25px}.button{font-size:12px;gap:25px;padding:13px 20px;min-height:50px}.text-link{font-size:12px;gap:12px}.hero-footnote{margin-top:27px;font-size:10px}.hero-mini-sun{font-size:28px}.hero-visual{min-height:0;height:400px;margin:0;border-top-left-radius:95px}.photo-window{background-size:185% auto;background-position:100% 28%}.photo-sticker{left:16px;right:16px;bottom:16px;padding:14px 17px}.photo-sticker strong{font-size:20px}.photo-sticker .sticker-icon{width:37px;height:37px;font-size:23px}.image-credit{right:16px;top:15px;font-size:7px}.quick-access{gap:10px;padding-block:8px}.quick-access>a{padding:15px 12px;gap:9px}.access-icon{width:30px;height:30px;font-size:20px}.quick-access strong{font-size:12px}.quick-access small{font-size:9px}.intro,.team,.community{grid-template-columns:1fr;gap:30px}.intro h2{font-size:44px}.lead{font-size:20px}.stage-grid{grid-template-columns:1fr;gap:14px}.stage{min-height:0;padding:25px}.stage-drawing{position:absolute;right:26px;top:20px;margin:0;font-size:48px}.stage h3{font-size:29px;margin-top:25px}.stage p{font-size:13px;max-width:85%}.city,.city-overlay{min-height:400px}.city h2{font-size:43px}.rector-photo{width:100%;max-width:100%;margin:0}.rector-photo>img{height:430px;object-position:center 27%;border-radius:var(--radius)}.team-roles>div{grid-template-columns:105px 1fr;font-size:12px}.admission-layout{grid-template-columns:1fr;gap:35px}.admission-steps li{gap:16px}.admission-steps h3{font-size:21px}.qr-card{width:100%;max-width:360px;margin:auto;padding:28px}.community-notes article{padding:22px}.faq-grid{grid-template-columns:1fr;gap:12px}.faq details{padding:20px}.contact .wrap{display:grid;gap:24px}.contact h2{font-size:44px}.footer-name{font-size:38px}.credits{font-size:10px;padding-bottom:78px}}
.admission-layout>*{min-width:0}.qr-card{max-width:100%;width:100%}.qr-card h3 br{display:initial}.image-credit{color:#fff}
@media(prefers-reduced-motion:reduce){.is-loading{animation:none}}
