@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#092c67;--blue:#1256ad;--ink:#132d50;--muted:#617086;--gold:#f2ca45;--cream:#faf9f5;--line:#e0e6ed;--pale:#eef4fb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:'DM Sans','Segoe UI',sans-serif;color:var(--ink);background:#fff;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,summary,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bc8800;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.topbar{background:var(--navy);color:#e2eaf6;font-size:11px;letter-spacing:.035em;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between}.topbar a{color:#fff}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:22px;font-weight:800;letter-spacing:.06em;line-height:1.3}.brand img{width:49px;height:56px;object-fit:cover;border-radius:5px}.brand small{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:.23em;margin-top:4px}nav{display:flex;align-items:center;gap:23px;font-size:12px;font-weight:600}nav a{padding:12px 0;position:relative}nav a[aria-current=page]:not(.nav-apply):after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:3px;background:var(--gold)}nav a:hover{color:var(--blue)}nav .nav-apply{padding:12px 17px;background:var(--navy);color:white;border-radius:5px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:15px;background:white;padding:14px;z-index:100}.skip:focus{top:10px}
h1,h2,h3,h4{font-family:Manrope,'Segoe UI',sans-serif;line-height:1.18;margin:0;font-weight:800;letter-spacing:-.035em}h1{font-size:clamp(40px,4.6vw,65px)}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:22px}p{margin:16px 0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow:before{content:'';width:24px;height:2px;background:var(--gold)}.hero{background:var(--cream);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;min-height:586px;align-items:center;gap:72px;padding-top:58px;padding-bottom:68px}.hero h1 span{color:var(--blue)}.hero .lead{max-width:440px;font-size:16px;margin:24px 0 28px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:13px 22px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:5px;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #092c6724;background:#154780}.btn.secondary{background:transparent;color:var(--navy);border-color:#bcc6d2}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.hero-note{font-size:10px;display:flex;gap:8px;align-items:center;margin-top:25px;color:var(--muted)}.hero-note i{width:6px;height:6px;background:var(--blue);border-radius:50%}
.crest-stage{height:435px;border-radius:120px 14px 14px 14px;background:linear-gradient(140deg,#163e8a,#071f53);position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;box-shadow:0 20px 45px #17356418}.crest-stage:before,.crest-stage:after{content:'';position:absolute;width:315px;height:315px;border:1px solid #ffffff20;border-radius:50%;z-index:-1}.crest-stage:before{transform:translate(50px,-20px)}.crest-stage:after{transform:translate(-40px,40px)}.crest-art{width:245px;height:260px;object-fit:cover;border:7px solid #ffffff10;border-radius:14px;transform:rotate(-4deg);box-shadow:0 20px 40px #0004;animation:float 7s ease-in-out infinite}.stage-label{position:absolute;top:27px;right:25px;font-size:9px;color:#cedaf5;letter-spacing:.16em}.stage-bottom{position:absolute;bottom:25px;left:26px;font-size:10px;letter-spacing:.17em;color:#fff}.star{position:absolute;right:25px;bottom:50px;color:var(--gold);font-size:55px}.crest-note{position:absolute;left:-30px;bottom:65px;background:white;padding:15px 22px;box-shadow:0 8px 25px #0002;border-left:3px solid var(--gold);transform:rotate(-3deg);font-size:12px;font-weight:700}.crest-note small{display:block;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.05em}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:8px;margin-top:-27px;position:relative;z-index:2;box-shadow:0 8px 28px #0b2d6510}.quick-links a{display:flex;align-items:center;gap:16px;padding:25px;border-right:1px solid var(--line);transition:background .2s}.quick-links a:last-child{border:0}.quick-links a:hover{background:var(--pale)}.quick-links strong{font-size:12px;display:block}.quick-links small{font-size:10px;color:var(--muted)}.icon{font-size:24px;color:var(--blue)}.arrow{margin-left:auto}
.section{padding:84px 0}.section.soft{background:var(--cream)}.section.blue-soft{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:32px}.section-heading p{max-width:430px}.text-link{font-size:12px;font-weight:700;color:var(--blue);white-space:nowrap}.text-link:hover{text-decoration:underline}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.intro-copy p{font-size:14px}.values-line{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;gap:25px;font-size:11px;font-weight:700}.editorial-panel{min-height:300px;background:var(--navy);border-radius:7px;padding:38px;color:#fff;position:relative;overflow:hidden}.editorial-panel .large-mark{position:absolute;right:10px;bottom:-30px;font:800 200px Manrope;color:#ffffff08;line-height:1}.editorial-panel h3{font-size:30px;max-width:320px}.editorial-panel p{color:#c8d7ee;position:relative}.editorial-panel .eyebrow{color:var(--gold)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.card{border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #18375a0e}.card-body{padding:27px}.card p{font-size:13px}.card h3{font-size:20px}.card-visual{height:170px;display:flex;justify-content:space-between;align-items:center;padding:30px;background:#e9f0fb;position:relative;overflow:hidden}.card-visual .visual-symbol{font-family:Georgia,serif;font-size:85px;color:#174d91;line-height:1;transform:rotate(-10deg)}.card-visual .visual-caption{font-size:10px;letter-spacing:.15em;writing-mode:vertical-rl}.card:nth-child(2) .card-visual{background:#f7efcf}.card:nth-child(3) .card-visual{background:#e7f0e9}.tag{display:inline-block;font-size:9px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;padding:5px 9px;border-radius:3px;background:var(--pale);color:var(--blue);margin-bottom:13px}.tag.draft{background:#fcf3d6;color:#755d15}.notice{border-left:3px solid var(--gold);padding:14px 18px;background:#fff9e7;color:#705c28;font-size:12px;margin:22px 0}.news-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.notice-row{display:flex;align-items:start;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.notice-row:first-child{padding-top:0}.notice-date{font-size:11px;min-width:50px;color:var(--blue);font-weight:700}.notice-row h3{font-size:17px}.notice-row p{font-size:12px;margin:8px 0}.event-panel{background:var(--pale);border-radius:8px;padding:28px}.event-panel h3{font-size:22px}.event-empty{padding:28px 0;color:var(--muted);font-size:13px}.cta{background:linear-gradient(115deg,#092c67,#1558a4);padding:48px;border-radius:9px;color:white;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}.cta h2{font-size:32px}.cta p{color:#d5e0f2;font-size:13px;margin-bottom:0}.cta .btn{flex-shrink:0}
.page-hero{background:var(--cream);padding:52px 0 58px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:28px}.breadcrumb a{color:var(--blue)}.page-hero h1{font-size:48px}.page-hero p{max-width:610px;margin-bottom:0}.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}.fact-list{padding:10px 25px;background:var(--pale);border-radius:8px}.fact-list div{padding:18px 0;border-bottom:1px solid #d3deeb}.fact-list div:last-child{border:0}.fact-list dt{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.fact-list dd{margin:6px 0 0;font-size:14px;overflow-wrap:anywhere}.subsection{margin-top:50px}.subsection h2{font-size:30px;margin-bottom:24px}.steps{counter-reset:steps;display:grid;gap:20px}.step{counter-increment:steps;display:flex;gap:22px;border-bottom:1px solid var(--line);padding-bottom:22px}.step:before{content:'0' counter(steps);font-size:22px;font-weight:700;color:var(--blue)}.step h3{font-size:18px}.step p{font-size:13px;margin-bottom:0}.checklist{display:grid;gap:12px;font-size:13px;margin:20px 0}.checklist label{display:flex;gap:12px;align-items:start}.checklist input{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600;font-size:14px}details p{font-size:13px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.chip{border:1px solid var(--line);border-radius:30px;background:white;color:var(--ink);padding:9px 18px;font-size:12px}.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.search-field{display:block;width:100%;padding:15px 18px;border:1px solid #bcc8d7;border-radius:6px;margin:8px 0 20px;background:white;color:var(--ink)}.resource-row{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:23px 0}.resource-row h3{font-size:17px}.resource-row p{font-size:12px;margin:5px 0}.resource-row .tag{margin:0;flex-shrink:0}.calendar{border:1px solid var(--line);border-radius:8px;padding:25px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-head h3{font-size:19px}.calendar-head button{width:36px;height:36px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--navy)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.calendar-grid span{padding:9px 2px;font-size:12px}.calendar-grid .weekday{font-size:10px;font-weight:700;color:var(--muted)}.calendar-grid .today{background:var(--navy);color:white;border-radius:50%;font-weight:700}.calendar-caption{font-size:11px}.contact-form{border:1px solid var(--line);padding:30px;border-radius:8px}.field{display:block;margin:18px 0;font-size:12px;font-weight:700}.field input,.field select,.field textarea{display:block;width:100%;padding:12px;border:1px solid #bfcbda;border-radius:5px;margin-top:7px;background:white;color:var(--ink)}.field textarea{resize:vertical;min-height:120px}.contact-details{font-size:14px}.contact-details a{overflow-wrap:anywhere;color:var(--blue)}.contact-details h3{margin-top:28px;font-size:17px}.location-panel{background:var(--pale);border:1px solid var(--line);padding:28px;border-radius:8px;margin-top:25px}.location-panel p{font-size:13px}.gallery-placeholders{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-placeholder{padding:35px 20px;background:var(--pale);border-radius:7px;text-align:center}.gallery-placeholder span{font-size:38px;color:var(--blue)}.gallery-placeholder p{font-size:12px}.empty{padding:35px;background:var(--cream);border-radius:8px}.privacy-copy{max-width:800px}.privacy-copy h2{font-size:24px;margin-top:36px}.privacy-copy p{font-size:14px}
footer{background:#082553;color:#fff;padding:55px 0 0;font-size:12px}footer .brand{font-size:20px}footer p{color:#c2cfe2;font-size:12px}footer h3{font-size:12px;letter-spacing:.02em;margin:6px 0 18px}footer a:not(.brand){display:block;color:#d1dced;margin-bottom:9px}footer a:hover{color:var(--gold)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:60px;padding-bottom:40px}.motto{font-size:10px;color:var(--gold);letter-spacing:.18em}.footer-bottom{border-top:1px solid #ffffff20;padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#b4c4dc;font-size:10px}.footer-bottom a{margin:0!important}#back-top{position:fixed;bottom:25px;right:22px;width:42px;height:42px;background:var(--navy);color:white;border:1px solid #fff7;border-radius:50%;z-index:15}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:var(--navy);color:white;border-radius:6px;padding:0;z-index:30;font-size:13px}#toast:not(:empty){padding:15px 25px}.page-enter{animation:fadeUp .5s both}.reveal{animation:fadeUp .65s both}.reveal:nth-child(2){animation-delay:.1s}.reveal:nth-child(3){animation-delay:.18s}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(-2deg)}}
@media(min-width:1450px){.hero-grid{min-height:640px}}@media(max-width:1100px){nav{gap:14px;font-size:11px}.brand{font-size:18px}.brand small{font-size:8px}.wrap{width:calc(100% - 48px)}.hero-grid{gap:45px}.crest-stage{height:400px}.quick-links a{padding:20px 16px}.quick-links .icon{font-size:20px}.intro-grid{gap:45px}}@media(max-width:900px){.menu-toggle{display:flex;gap:20px;padding:10px 15px;border:1px solid var(--line);background:white;border-radius:5px;color:var(--navy);font-size:12px}.header-inner{min-height:78px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 24px;box-shadow:0 15px 25px #0001;max-height:calc(100vh - 90px);overflow:auto}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.hero-grid{gap:30px}.crest-stage{height:350px}.crest-art{width:200px;height:215px}.crest-note{left:-12px;bottom:45px}.hero h1{font-size:44px}.quick-links{grid-template-columns:repeat(2,1fr)}.quick-links a:nth-child(2){border-right:0}.quick-links a:nth-child(-n+2){border-bottom:1px solid var(--line)}.grid3{gap:15px}.card-body{padding:21px}.intro-grid{gap:35px}.detail-grid{grid-template-columns:1.25fr 1fr}.footer-grid{gap:30px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.topbar{font-size:9px}.topbar .wrap>a{display:none}.hero-grid{grid-template-columns:1fr;padding-top:40px;padding-bottom:55px;gap:32px}.hero h1{font-size:44px}.hero .lead{font-size:14px}.hero-note{margin-top:20px}.crest-stage{height:310px;margin:0 8px 0 14px;border-top-left-radius:85px}.crest-art{width:185px;height:198px}.crest-note{bottom:40px;font-size:11px}.stage-label{font-size:8px}.star{font-size:40px}.quick-links a{gap:11px;padding:18px 14px}.quick-links strong{font-size:11px}.quick-links small{font-size:9px}.quick-links .arrow{display:none}.section{padding:52px 0}.section-heading{align-items:start;flex-direction:column;gap:17px}.section-heading h2{font-size:31px}.intro-grid,.grid3,.grid2,.news-layout,.detail-grid{grid-template-columns:1fr;gap:25px}.intro-grid .editorial-panel{order:2}.card-visual{height:145px}.cta{padding:30px 24px;align-items:start;flex-direction:column}.cta h2{font-size:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding:34px 0 40px}.page-hero h1{font-size:37px}.page-hero p{font-size:14px}.breadcrumb{margin-bottom:18px}.resource-row{gap:15px;align-items:start}.resource-row h3{font-size:15px}.resource-row .tag{font-size:8px}.gallery-placeholders{grid-template-columns:1fr}.gallery-placeholder{padding:20px}.contact-form{padding:22px}.values-line{gap:16px}.btn{padding:12px 18px}.calendar{padding:18px}.editorial-panel{min-height:260px}h2{font-size:30px}}
[hidden]{display:none!important}.cta .btn{background:var(--gold);border-color:var(--gold);color:var(--navy)}
html:not(.js) .filters,html:not(.js) #resource-search,html:not(.js) label[for="resource-search"],html:not(.js) .menu-toggle{display:none}
button:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:900px){html:not(.js) .header-inner{flex-wrap:wrap;padding:16px 0}html:not(.js) nav{display:flex;position:static;flex-wrap:wrap;box-shadow:none;padding:0;max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* White-first school theme, inspired by May Learning Hub. */
:root {
  --navy: #002b5e;
  --blue: #0756ab;
  --ink: #183451;
  --muted: #52647a;
  --gold: #f2d23f;
  --cream: #fff;
  --pale: #f5f9ff;
}
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 17px; }
h1, h2, h3, h4, .brand { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.site-header { border-bottom: 1px solid #dce7f1; box-shadow: 0 4px 18px #002b5e08; }
.header-inner { gap: 20px; }
.brand { font-size: 23px; }
.brand small { font: 600 11px 'Segoe UI', sans-serif; letter-spacing: .17em; }
nav { font-size: 15px; gap: 16px; }
nav a { white-space: nowrap; }
nav .nav-apply, .btn:not(.secondary):not(.gold) {
  background: linear-gradient(125deg, #002b5e, #0862b4);
  border-color: #0756ab;
  border-radius: 9px;
}
.hero, .page-hero {
  background: radial-gradient(ellipse at 96% 14%, #f5d83d14, transparent 42%),
    radial-gradient(ellipse at 70% 0%, #1766bd0c, transparent 55%), #fff;
}
.hero h1 { font-size: clamp(43px, 4.6vw, 65px); }
.hero h1 span { color: #0756ab; }
.hero .lead { font-size: 19px; max-width: 490px; }
.eyebrow { font-size: 12px; letter-spacing: .13em; }
.hero-note { font-size: 12px; }
.btn, .text-link, .chip, .menu-toggle { font-size: 15px; }
.btn { gap: 15px; }
.crest-stage {
  background: radial-gradient(circle at 90% 15%, #f4d63b22, transparent 50%),
    linear-gradient(145deg, #f3f8ff, #fff 65%);
  border: 1px solid #dce7f1;
  border-radius: 25px;
  box-shadow: 0 14px 35px #002b5e0a;
}
.crest-stage:before, .crest-stage:after { border-color: #0756ab10; }
.stage-label, .stage-bottom { color: #31587d; font-size: 11px; }
.crest-art { border-color: #fff; box-shadow: 0 12px 30px #002b5e16; }
.crest-note { font-size: 15px; border-radius: 8px; box-shadow: 0 8px 24px #002b5e12; }
.crest-note small { font-size: 12px; }
.star { color: #a88a00; }
.quick-links { border-radius: 13px; }
.quick-links strong { font-size: 16px; }
.quick-links small { font-size: 13px; }
.section.soft, .section.blue-soft { background: #fff; border-top: 1px solid #edf1f6; }
.intro-copy p, .card p, .step p, details p, .privacy-copy p, .contact-details,
.location-panel p, .event-empty, .gallery-placeholder p { font-size: 17px; }
.values-line { font-size: 14px; flex-wrap: wrap; }
.card { border-radius: 13px; border-color: #dce7f1; box-shadow: 0 4px 15px #002b5e06; }
.card:hover { box-shadow: 0 12px 25px #002b5e12; }
.card h3 { font-size: 23px; }
.card-visual { background: linear-gradient(135deg, #eaf3ff, #fff 85%); }
.card:nth-child(2) .card-visual { background: linear-gradient(135deg, #fff7d6, #fff 85%); }
.card:nth-child(3) .card-visual { background: linear-gradient(135deg, #edf4ff, #fffef4 85%); }
.card-visual .visual-caption { font-size: 12px; }
.tag { font-size: 11px; letter-spacing: .06em; }
.notice { font-size: 15px; background: linear-gradient(110deg, #fff9e7, #fff); border-radius: 0 9px 9px 0; }
.notice-row h3, .resource-row h3, .step h3, .contact-details h3 { font-size: 20px; }
.notice-row p, .resource-row p { font-size: 16px; }
.notice-date, .breadcrumb { font-size: 14px; }
.event-panel, .fact-list, .location-panel, .gallery-placeholder, .empty {
  background: linear-gradient(135deg, #f5f9ff, #fff 80%);
  border: 1px solid #dce7f1;
  border-radius: 13px;
}
.editorial-panel, .cta {
  background: radial-gradient(ellipse at 100% 0%, #f2d23f21, transparent 60%),
    linear-gradient(125deg, #f3f8ff, #fff 70%);
  color: var(--ink);
  border: 1px solid #dce7f1;
  border-radius: 13px;
}
.editorial-panel p, .cta p { color: var(--muted); font-size: 17px; }
.editorial-panel .large-mark { color: #0756ab09; }
.editorial-panel .eyebrow { color: var(--blue); }
.cta .btn { color: #fff; }
.fact-list dt, .calendar-caption { font-size: 13px; }
.fact-list dd, .checklist, summary, .field { font-size: 16px; }
.calendar-grid span { font-size: 15px; }
.calendar-grid .weekday { font-size: 12px; }
.contact-form small { font-size: 14px; color: var(--muted); }
footer {
  background: linear-gradient(115deg, #f4f8fe, #fff 55%, #fffdf3);
  color: var(--ink);
  border-top: 1px solid #dce7f1;
  font-size: 15px;
}
footer h3 { font-size: 17px; }
footer p { color: var(--muted); font-size: 15px; }
footer a:not(.brand) { color: var(--navy); }
footer a:hover { color: var(--blue); text-decoration: underline; }
footer .motto { color: #725d00; font-size: 12px; }
.footer-bottom { color: var(--muted); border-color: #dce7f1; font-size: 13px; }
.school-location { font-size: 14px; }
@media (max-width: 1150px) {
  .menu-toggle { display: flex; gap: 20px; padding: 10px 15px; border: 1px solid var(--line); background: #fff; border-radius: 8px; color: var(--navy); }
  .header-inner { min-height: 86px; }
  nav { display: none; position: absolute; top: 86px; left: 0; right: 0; background: #fff; padding: 20px 24px; box-shadow: 0 15px 25px #002b5e10; max-height: calc(100dvh - 100px); overflow: auto; }
  nav.open { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 25px; }
  html:not(.js) .header-inner { flex-wrap: wrap; padding: 16px 0; }
  html:not(.js) nav { display: flex; position: static; flex-wrap: wrap; box-shadow: none; padding: 0; max-height: none; }
}
@media (max-width: 650px) {
  .brand { font-size: 21px; }
  .hero .lead, .page-hero p { font-size: 17px; }
  .hero h1 { font-size: clamp(36px, 9vw, 46px); }
  .page-hero h1 { font-size: 39px; }
  .crest-stage { border-radius: 20px; }
  .crest-note { font-size: 13px; }
  .crest-note small, .stage-label, .stage-bottom { font-size: 10px; }
  .quick-links strong { font-size: 14px; }
  .quick-links small { font-size: 12px; }
  .quick-links a { padding: 18px 12px; }
  .resource-row { flex-wrap: wrap; }
  .resource-row .tag { font-size: 11px; }
  .text-link { white-space: normal; }
  .calendar-grid span { padding: 9px 0; }
  .footer-grid { gap: 25px; }
}

/* Homepage welcome without a large illustration panel. */
.hero-welcome {
  grid-template-columns: 1fr;
  min-height: 0;
  padding-top: 72px;
  padding-bottom: 86px;
  text-align: center;
}
.hero-welcome > .reveal { width: 100%; max-width: 940px; margin-inline: auto; }
.hero-welcome h1 { max-width: 940px; margin-inline: auto; text-wrap: balance; }
.hero-welcome .lead { max-width: 680px; margin: 25px auto 30px; }
.hero-welcome .eyebrow, .hero-welcome .buttons, .hero-welcome .hero-note { justify-content: center; }
@media (max-width: 650px) {
  .hero-welcome { padding-top: 44px; padding-bottom: 64px; }
  .hero-welcome .eyebrow { font-size: 11px; letter-spacing: .08em; }
}
