body {
    background:#f8f5ed;
    color:#192d45;
}
.legal-header p, .shot-grid figcaption, .video-fallback, .last-updated { color:#556172; }
body.dark-mode .shot-grid figcaption,
body.dark-mode .video-fallback,
body.dark-mode .last-updated { color:#bbc4cc; }
.feature-card h3 { margin:0 0 12px; font-size:15.5px; }
.school-nav {
    max-width:1100px;
    margin:auto;
    padding:27px 25px;
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    border-bottom:1px solid #deded2;
}
.school-nav>div {
    display:flex;
    align-items:center;
    gap:28px;
}
.school-nav a {
    font-size:13px;
    text-decoration:none;
    color:#192d45;
    font-weight:600;
}
.school-nav .koby-wordmark {
    font-size:39px;
    color:#174dc5;
}
.school-nav .school-open {
    background:#174dc5;
    color:white;
    border-radius:8px;
    padding:12px 18px;
}
.school-nav .public-language { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:600; color:#192d45; }
.school-nav .public-lang-picker { max-width:118px; padding:9px 6px; border:1px solid #cbd3d8; border-radius:8px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.school-nav .public-lang-picker:focus-visible { outline:3px solid #174dc5; outline-offset:4px; }
.school-nav .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.legal-container {
    max-width:1000px;
    padding-top:30px;
}
.school-mascot {
    height:180px;
    width:140px;
    object-fit:contain;
    margin:0 auto 22px;
}
.legal-header h1 {
    font:400 clamp(40px,6vw,66px)/1.1 Georgia,serif;
    letter-spacing:-2px;
    color:#192d45;
}
.legal-header {
    margin-bottom:55px;
}
.legal-section {
    margin-bottom:65px;
}
.legal-section h2 {
    font:400 34px/1.2 Georgia,serif;
    border-bottom:1px solid #deded2;
    padding-bottom:20px;
    letter-spacing:-.5px;
}
.feature-card {
    padding:23px;
    background:#eeeee3;
    border-color:#deded2;
}
.feature-card:nth-child(3n + 2) {
    background:#e7edee;
}
.feature-card:nth-child(3n) {
    background:#f2e7d7;
}
.feature-card h4 {
    margin-bottom:12px;
}
.cta-btn {
    border-radius:8px;
}
.highlight-box,.contact-info {
    background:#e7edee;
    border-color:#ced8dd;
}
.school-skip {
    position:absolute;
    top:-100px;
    background:#192d45;
    color:white;
    padding:12px;
    z-index:10;
}
.school-skip:focus {
    top:10px;
}
a:focus-visible {
    outline:3px solid #174dc5;
    outline-offset:5px;
}
body.dark-mode .school-nav a {
    color:#dce5f4;
}
body.dark-mode .school-nav {
    border-color:#394350;
}
body.dark-mode .school-nav .school-open {
    color:white;
}
body.dark-mode .school-nav .public-language { color:#dce5f4; }
@media(max-width:600px) {
    .school-nav {
        padding:22px 20px;
        gap:15px;
        flex-wrap:wrap;
    }
    .school-nav>div {
        gap:14px;
        flex-wrap:wrap;
    }
    .school-nav a {
        font-size:12px;
    }
    .school-nav .school-open {
        padding:10px;
    }
    .school-nav .public-lang-picker { max-width:105px; }
    .legal-section h2 {
        font-size:29px;
    }
    .legal-container {
        padding-inline:20px;
    }
    .school-mascot {
        height:145px;
    }
    .legal-header p {
        font-size:16px;
    }
}
.school-mascot {
    display:block;
    height:150px;
}
.legal-header h1 {
    margin-top:0;
}
/* Schools: visual overview, returning staff entry, and progressive detail. */
.school-mascot-wrap { text-align:center; margin-bottom:22px; }
.school-mascot-wrap .school-mascot { margin-bottom:8px; }
.motion-control { font:inherit; font-size:12px; color:#556172; background:transparent; border:1px solid #b7bdc1; border-radius:20px; padding:7px 14px; cursor:pointer; }
.motion-control[hidden] { display:none; }
.legal-header .school-returning { font-size:14px; max-width:490px; margin:20px auto 0; }
.school-returning a, .school-text-link { color:#174dc5; text-underline-offset:4px; }
.school-eyebrow { font-size:12px; letter-spacing:.13em; font-weight:700; }
.journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0 !important; }
.journey-grid li { border-radius:20px; padding:22px; background:#eeeee3; }
.journey-grid li:nth-child(2) { background:#e7edee; }
.journey-grid li:nth-child(3) { background:#f2e7d7; }
.journey-grid h3 { margin:18px 0 10px; }
.journey-grid p { font-size:15px; margin:0; }
.journey-art { height:105px; display:flex; align-items:center; justify-content:center; gap:9px; }
.art-books span { height:78px; width:39px; background:#174dc5; border:3px solid #192d45; border-radius:4px 9px 9px 4px; box-shadow:inset 5px 0 #ffffff66; transform:rotate(-9deg); }
.art-books span:nth-child(2) { background:#e9b957; height:90px; transform:rotate(2deg); }
.art-books span:nth-child(3) { background:#7aaba5; transform:rotate(12deg); }
.art-seats span { display:grid; place-items:center; width:48px; height:56px; border-radius:22px 22px 10px 10px; background:#fff9ed; border:2px solid #192d45; font-size:17px; font-weight:700; color:#192d45; }
.art-seats span:nth-child(2) { transform:translateY(-12px); background:#f1cb78; }
.art-sound span { width:10px; height:25px; border-radius:10px; background:#174dc5; }
.art-sound span:nth-child(2n) { height:55px; }
.art-sound span:nth-child(3n) { height:82px; }
.shot-grid { gap:24px; }
.shot-grid figure { padding:16px; background:#eeeee3; border:1px solid #deded2; border-radius:18px; }
.shot-grid img { display:block; }
.school-detail { border-top:1px solid #c5cbc8; }
.school-detail:last-child { border-bottom:1px solid #c5cbc8; }
.school-detail summary { cursor:pointer; padding:22px 8px; font-size:18px; font-weight:600; color:#192d45; }
.school-detail[open] summary { color:#174dc5; }
.school-detail-body { padding:0 10px 20px; }
.school-detail-body h3 { margin-top:16px; }
.school-detail-body p,.school-detail-body li { font-size:15px; }
button:focus-visible, summary:focus-visible { outline:3px solid #174dc5; outline-offset:5px; }
body.dark-mode .journey-grid li,body.dark-mode .shot-grid figure { background:#1b2633; border-color:#394350; }
body.dark-mode .school-detail summary,body.dark-mode .motion-control { color:#dce5f4; }
body.dark-mode .school-detail { border-color:#394350; }
body.dark-mode .school-returning a,body.dark-mode .school-text-link { color:#a5c7ff; }
@media(max-width:650px) {
    .journey-grid { grid-template-columns:1fr; }
    .journey-grid li { padding:18px 22px; }
    .journey-art { height:95px; }
    .school-nav>div { flex-wrap:wrap; gap:14px; }
    .school-detail summary { font-size:17px; }
}
