/* Palette inspired by the school building: mint walls, terracotta trim, indigo windows. */
:root{
 --building-mint:#edf3e5;
 --building-cream:#f4f7ec;
 --building-terracotta:#d16c4b;
 --building-accent:#a43c25;
 --building-indigo:#343359;
 --building-ink:#262943;
 --building-text:#3f4b46;
 --building-border:#d8dfcd;
 --green:var(--building-indigo);
 --cream:var(--building-cream);
 --gold:var(--building-terracotta);
 --ink:var(--building-ink);
 --muted:var(--building-text);
 --navy:var(--building-indigo);
 --copper:var(--building-accent);
 --line:var(--building-border);
 --surface:var(--building-mint);
}
.school-site header{border-bottom:3px solid var(--building-terracotta);background:#fff}
.school-site .header-main .brand>span{color:var(--building-indigo)}
.school-site .header-main .brand small{color:#3f4b46}
.school-site .utility{background:#2b2c4c}
.school-site .navigation-row{border-top-color:var(--building-border)}
.school-site header .button.small{background:var(--building-indigo)}
.school-site .hero-split{background:var(--building-cream)}
.school-site .hero-visual figcaption{border-left:4px solid var(--building-terracotta);background:#fafcf5f5}
.school-site .hero-note-line{background:var(--building-terracotta)}
.school-site .button.gold{background:var(--building-accent)}
.school-site .button.gold:hover{background:#852e1d}
.school-site .home-shortcuts{background:var(--building-indigo);border-bottom:4px solid var(--building-terracotta)}
.school-site .announcement{background:var(--building-mint)}
.school-site .intro-stamp,.school-site .facts{background:var(--building-mint)}
.school-site .intro-stamp{border-color:#fff}
.school-site .program{background:#fafcf6;border-color:var(--building-border)}
.school-site .program:hover{background:#edf3e5;border-color:#aebfa2}
.school-site .life{background:var(--building-indigo)}
.school-site .life-photo:after{background:linear-gradient(transparent,#252642b3)}
.school-site .school-community{background:#f1f5e9}
.school-site .principal-home{border-top-color:var(--building-terracotta)}
.school-site .school-resources,.school-site .page-hero{background:var(--building-mint)}
.school-site .admissions{background:#f9eee5;border-top:4px solid var(--building-terracotta)}
.school-site .admission-details{background:#fffaf4;border-color:#e6cbbd}
.school-site footer{background:#2b2c4c;border-top-color:var(--building-terracotta)}
.school-site .page-sidebar,.school-site .contact-form-panel,.school-site .filter-bar,.school-site .principal-profile,.school-site .story-layout aside{background:#f1f5e9;border-color:var(--building-border)}
.school-site .principal-profile{border-left-color:var(--building-terracotta)}
.school-site .resources-grid>a{background:#f7faf2;border-color:var(--building-border)}
.school-site .resources-grid>a:hover{background:#edf3e5;border-color:#aebfa2}
.school-site .notice:not(.error):not(.success){background:#edf3e5;border-left-color:#7c936b}
.school-site .person-initials{background:#edf3e5;color:#41466b}
.school-site .person-card>img{background:#f1f5e9}
.school-site .nav-group>div{border-top-color:var(--building-terracotta)}
.school-site .nav-group>div a:hover,.school-site .nav-group>div a[aria-current=page]{background:#edf3e5;color:var(--building-accent)}
.school-site .page-mark{color:#34335908}
.school-site input:focus,.school-site textarea:focus,.school-site select:focus{outline-color:#53547c}
.admin-body{background:#f1f5e9}
.admin-sidebar{background:var(--building-indigo)}
.admin-sidebar nav a[aria-current]{border-color:var(--building-terracotta)}
.dashboard-stats a{border-top-color:var(--building-terracotta)}
.dashboard-stats a:first-child{background:var(--building-indigo);border-top-color:#f4c2aa}
.admin-panel{border-color:var(--building-border)}
.management-grid>a{background:#f5f8ef;border-color:var(--building-border)}
.management-grid>a:hover{background:#edf3e5}
.editor-main{border-top-color:var(--building-terracotta)}
.login-body{background:#343359}
.login-card{border-top-color:var(--building-terracotta)}
.login-card .brand>span{color:var(--building-indigo)}
#lightbox{background:#252642}
@media(max-width:720px){.school-site .nav-group>div{border-left-color:var(--building-terracotta);border-top:0}}
/* Compact navigation while retaining readable labels and mobile touch targets. */
@media(min-width:721px){
 .school-site .navigation-row{min-height:44px}
 .school-site header nav>a,.school-site header .nav-group summary{padding:8px 0;line-height:1.6}
 .school-site .nav-group>div{top:calc(100% + 2px)}
}
@media(max-width:720px){
 .school-site header nav{padding:14px 6%;gap:8px}
 .school-site header nav>a,.school-site header .nav-group summary{min-height:44px;padding:7px 0;line-height:1.7}
 .school-site .nav-group>div{margin-top:7px}
 .school-site .nav-group>div a{padding:8px 12px}
}
/* On scroll, school identity stays in the dark bar; the large masthead scrolls away. */
.school-site .utility{position:sticky;top:0;z-index:50;min-height:46px;height:var(--school-bar-height,auto);box-sizing:border-box;align-items:center}
.school-site header{position:relative;top:auto}
.school-site .scroll-school-name,.school-site .compact-menu-toggle{display:none}
.school-site.header-compact .utility-motto,.school-site.header-compact .utility-links{display:none}
.school-site.header-compact .scroll-school-name{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;line-height:1.3}
.school-site .scroll-school-name strong{font-size:18px;letter-spacing:.3px;font-weight:750}
.school-site .scroll-school-name>span{font-size:12px;color:#edf0e7;letter-spacing:1px}
.school-site.header-compact .compact-menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid #ffffff66;border-radius:3px;background:transparent;color:#fff;padding:5px 12px;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;min-height:34px}
.school-site.header-compact header nav:not(.open){display:none}
.school-site.header-compact header nav.open{display:flex;position:fixed;top:var(--school-bar-height,46px);left:0;right:0;width:100%;z-index:40;background:white;box-shadow:0 12px 25px #25264220;border-bottom:3px solid var(--building-terracotta);padding:18px 7%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;max-height:calc(100dvh - var(--school-bar-height,46px));overflow-y:auto}
.school-site.header-compact header nav>a,.school-site.header-compact header .nav-group summary{padding:9px 0;min-height:42px;font-size:16px;line-height:1.5}
.school-site.header-compact .nav-group>div{position:static;width:auto;box-shadow:none;border:0;border-left:2px solid var(--building-terracotta);margin:5px 0 10px 8px;padding:0 12px}
.school-site.header-compact .nav-group>div a{padding:10px 12px;font-size:15px}
.school-site.header-compact .nav-group-wide[open]>div{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:720px){
 .school-site .utility{align-items:flex-start}
 .school-site.header-compact .utility{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px}
 .school-site.header-compact .scroll-school-name{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:1;min-width:0}
 .school-site .scroll-school-name strong{font-size:17px}
 .school-site .scroll-school-name>span{font-size:11px;letter-spacing:.8px}
 .school-site.header-compact .compact-menu-toggle{font-size:13px;padding:6px 10px;gap:8px}
 .school-site.header-compact .nav-group-wide[open]>div{display:block}
}
/* Shorter homepage quick-links bar. */
.school-site .home-shortcuts>a{padding-top:9px;padding-bottom:9px}
@media(max-width:720px){.school-site .home-shortcuts>a{padding-top:7px;padding-bottom:7px}}

/* Rebalanced school information bar: wider columns for longer labels. */
.school-site .facts{
 width:calc(100% - 14%);
 max-width:1320px;
 margin:0 auto 15px;
 padding:28px 0;
 display:grid;
 grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,1.5fr);
 gap:0;
 align-items:stretch;
}
.school-site .facts>div{min-width:0;padding:4px 22px;text-align:center;border-left:1px solid #ccd6c4;display:flex;flex-direction:column;justify-content:center;gap:9px}
.school-site .facts>div:first-child{padding-left:22px;border-left:0}
.school-site .facts strong{font-size:28px;line-height:1.3;letter-spacing:-.5px;text-wrap:balance}
.school-site .facts span{display:block;margin:0;font-size:14px;line-height:1.65;text-wrap:balance}
@media(max-width:1050px){
 .school-site .facts{width:88%;max-width:none;grid-template-columns:1fr 1fr;padding:0;margin:0 auto 15px}
 .school-site .facts>div,.school-site .facts>div:first-child{padding:24px 20px;border-left:0}
 .school-site .facts>div:nth-child(even){border-left:1px solid #ccd6c4}
 .school-site .facts>div:nth-child(n+3){border-top:1px solid #ccd6c4}
}
@media(max-width:480px){
 .school-site .facts>div,.school-site .facts>div:first-child{padding:20px 12px}
 .school-site .facts strong{font-size:22px;line-height:1.4;letter-spacing:-.5px}
 .school-site .facts span{font-size:14px;line-height:1.7}
}
