/* Structured subpages: active theme colors, content-relative typography and consistent spacing. */
[data-edu-content-surface]{font-size:var(--edu-content-font,22px);--content-gap:var(--edu-content-gap,16px);min-width:0;min-height:0;overflow:hidden;container-type:inline-size}
.school-sheet{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--content-gap);height:100%;width:100%;padding:0}
.school-intro{display:flex;align-items:stretch;justify-content:space-between;gap:var(--content-gap);flex:none;min-height:0}
.school-intro-copy{flex:1;min-width:0;align-self:center}.school-photo{display:block;width:28%;height:3.5em;object-fit:cover;object-position:center;border-radius:min(var(--ev-control-radius),.45em);align-self:center}
.school-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--content-gap);flex:1;min-height:0;align-content:stretch}.school-card{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.4em;padding:.7em .85em;background:var(--ev-surface);color:var(--ev-text);border:1px solid var(--ev-border);border-radius:var(--ev-card-radius)}.school-card-wide{grid-column:1/-1}.school-card h3{font-size:1.15em;font-weight:600;line-height:1.2;margin:0;color:var(--ev-primary)}.school-text,.school-contact{font-size:1em;line-height:1.4;white-space:pre-line;overflow-wrap:break-word;margin:0}.school-detail-label{font-size:1em;color:var(--ev-muted)}.school-card .edu-navigation-button{align-self:flex-start;margin-top:.35em;font-size:.75em;padding:.45em .7em;min-height:0}
.page-content-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--content-gap);padding:0;box-sizing:border-box}.edu-paged-stage>.page-content-sheet{height:100%;grid-auto-rows:minmax(min-content,1fr)}
.page-content-row{display:flex;align-items:stretch;gap:calc(var(--content-gap)*.65);min-width:0;min-height:7em}.page-content-row:only-child{grid-column:1/-1}.page-content-row>:not(.page-image-box){flex:1;min-width:0;margin:0}.page-section{position:relative;display:flex;flex-direction:column;justify-content:center;padding:.75em .85em;background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:var(--ev-card-radius)}.page-section:has(.page-section-link){padding-right:2.5em}.page-section h2{margin:0 0 .4em;font-size:1.15em;font-weight:600;line-height:1.2;color:var(--ev-primary)}.page-section p{margin:0;font-size:1em;line-height:1.45;white-space:pre-line;overflow-wrap:break-word}.page-image-box{position:relative;flex:0 0 30%;align-self:center;height:7em;max-height:100%;min-width:0;margin:0;overflow:hidden;background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:var(--ev-card-radius)}.page-image-box:only-child{aspect-ratio:4/3}.page-image-box[hidden]{display:none}.page-section-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.page-section-link{position:absolute;top:.6em;right:.6em;display:grid;place-items:center;width:1.6em;height:1.6em;padding:.15em;border:1px solid var(--ev-border);border-radius:var(--ev-control-radius);background:var(--ev-secondary);color:var(--ev-secondary-text);font-size:1em;cursor:pointer}.page-section-link:focus-visible{outline:2px solid var(--ev-accent);outline-offset:2px}
[data-content-shape=portrait] .school-cards{grid-template-columns:minmax(0,1fr)}[data-content-shape=portrait] .school-card-wide{grid-column:auto}[data-content-shape=portrait] .school-photo{width:30%;height:5em}[data-content-shape=portrait] .page-content-sheet,[data-content-shape=square] .page-content-sheet{grid-template-columns:minmax(0,1fr)}
[data-edu-content-surface] .edu-pagination-button{font-size:.65em;padding:.5em .8em;min-height:0}[data-edu-content-surface] .edu-pagination-status{font-size:.6em}

body.subpage #tiles{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4em;flex:0 0 auto;max-height:none;margin-top:.5em;font-size:clamp(16px,2.4vmin,56px);overflow:hidden}
body.subpage #tiles:empty{display:none}
body.subpage #tiles .tile{font:500 1em/1.2 var(--edu-admin-font,system-ui);flex:0 1 auto;max-width:min(20em,calc(50% - .4em));min-height:2.2em;flex-direction:row;gap:.4em;padding:.45em .7em}
body.subpage #tiles .tile .app-icon{width:1.5em;height:1.5em;padding:.15em}
body.subpage #tiles .tile strong{font-size:1em;line-height:1.2}
body.subpage #tiles.action-pages{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.page-action-group{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}


body.subpage .edu-content-navigation .edu-navigation-button{font-size:clamp(14px,1.7vmin,34px);padding:.45em .7em}

/* The page heading and school identity share one visual and typographic contract. */
.edu-content-heading{padding:.7em .85em;border-radius:min(var(--ev-card-radius),1em);background:var(--ev-primary);color:var(--ev-primary-text)}.edu-content-heading :is(.edu-navigation-title,h2){margin:0;font-size:1.55em;font-weight:600;line-height:1.15;overflow-wrap:break-word}.edu-content-heading :is(.edu-navigation-subtitle,.school-motto){margin:.5em 0 0;font-size:.8em;line-height:1.4;white-space:pre-line}.edu-content-navigation{font-size:var(--edu-page-font,clamp(16px,3vmin,68px))}.edu-content-navigation>.edu-content-heading{flex:1;min-width:0}

/* One body-text size throughout school information, independent of semantic markup. */
[data-edu-content-surface] :is(.school-text,.school-contact,.school-detail-label,.school-motto,.school-card .edu-navigation-button){font-size:var(--edu-content-font,22px)!important;line-height:1.4!important}

/* School facts share one text contract, including labels and contact values. */
html[data-kiosk-app="kiosk"][data-output-mode] #schoolContent :is(.school-text,.school-contact,.school-detail-label){
 font-family:inherit!important;font-size:var(--edu-content-font,18px)!important;font-weight:400!important;line-height:1.4!important;
}
html[data-kiosk-app="kiosk"][data-output-mode] :is(.school-card,.page-section){justify-content:flex-start!important}
html[data-kiosk-app="kiosk"][data-output-mode] #pageContent .page-content-row{align-items:stretch!important}
html[data-kiosk-app="kiosk"][data-output-mode] #pageContent .page-image-box{
 align-self:stretch!important;height:auto!important;min-height:7em;max-height:none!important;
 background:var(--ev-secondary);flex:0 0 30%!important;
}
html[data-kiosk-app="kiosk"][data-output-mode] #pageContent .page-section-image{object-fit:var(--page-image-fit,cover)!important}
