/*
Theme Name: Smarten School
Version: 1.0.0
Description: Custom school theme with a responsive editorial design.
*/

:root{--navy:#153c58;--blue:#276783;--cream:#f6f5ef;--ink:#193446;--muted:#60737e;--gold:#e9c36b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 'Segoe UI',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #c88a00;outline-offset:5px}.draft{padding:7px 24px;background:#fff3d6;text-align:center;font-size:12px;letter-spacing:.04em}.top{padding:8px 6%;background:var(--navy);color:white;display:flex;justify-content:space-between;font-size:12px}header{display:flex;align-items:center;justify-content:space-between;padding:23px 6%;gap:28px;border-bottom:1px solid #e7ebed}header img{width:270px;max-width:100%;height:auto}nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:600}.button{display:inline-block;background:var(--navy);color:white;padding:13px 24px;border-radius:6px;font-size:14px;font-weight:600}.button.gold{background:var(--gold);color:var(--navy)}.arrow{margin-left:18px}main{overflow:hidden}.hero{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:600px}.hero-copy{padding:80px 10% 64px 12%}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);margin:0 0 22px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}h1{font-size:clamp(45px,4.5vw,70px)}h1 em{color:var(--blue)}.intro{font-size:17px;color:var(--muted);max-width:440px;margin:26px 0 30px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid var(--navy);padding-bottom:4px}.hero-art{position:relative;margin:34px 6% 34px 0;border-radius:100px 8px 8px 8px;overflow:hidden;min-height:440px;background:var(--navy)}.hero-art img{height:100%;width:100%;object-fit:cover;position:absolute}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#102f49cc)}.caption{position:absolute;z-index:1;left:30px;bottom:28px;color:#fff}.caption small{font-size:10px;letter-spacing:.16em}.caption p{font-family:Georgia,serif;font-size:28px;margin:5px 0}.facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:1160px;margin:auto;padding:30px 0;border-bottom:1px solid #e5e9e9}.facts>div{padding:0 35px;border-right:1px solid #e5e9e9}.facts>div:last-child{border:0}.facts strong{display:block;font:27px Georgia,serif}.facts span{font-size:12px;color:var(--muted)}section{padding:80px 6%;max-width:1440px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px;gap:20px}h2{font-size:44px}h3{font-size:22px;font-weight:500;margin:10px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{color:var(--muted);margin:0 0 24px}.programs{background:var(--cream)}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.program{border-top:2px solid #a1b9c3;padding-top:20px}.number{font-size:12px;color:var(--blue)}.program p{font-size:14px;color:var(--muted);max-width:310px}.program a{font-size:14px;font-weight:600}.life-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.life-grid a{position:relative;min-height:300px;overflow:hidden;border-radius:8px;background:var(--navy)}.life-grid img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .3s}.life-grid a:hover img{transform:scale(1.03)}.life-grid span{position:absolute;bottom:0;left:0;right:0;padding:50px 20px 20px;color:#fff;background:linear-gradient(transparent,#102f49e6);font:24px Georgia,serif}.news{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border-top:1px solid #e5e9e9}.notice{display:block;padding:22px 0;border-bottom:1px solid #e5e9e9}.notice small{font-size:11px;color:var(--muted)}.notice p{font-size:18px;margin:6px 0}.cta{margin:0 6% 70px;max-width:none;background:var(--navy);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px}.cta h2{font-size:38px}.cta p{color:#d0dce3}footer{background:var(--cream);padding:48px 6% 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;font-size:14px}footer h3{font-size:14px;font-weight:700}footer p{color:var(--muted)}footer a{display:block;margin:8px 0}.copyright{border-top:1px solid #dce2e3;margin-top:36px;padding-top:20px;font-size:11px;color:var(--muted)}.menu{display:none;border:1px solid #cbd7dc;background:white;border-radius:5px;padding:8px 12px;color:var(--navy)}@media(max-width:1000px){nav{gap:13px;font-size:12px}header img{width:220px}.hero-copy{padding:60px 10%}.hero-art{min-height:440px}.about{gap:35px}}@media(max-width:760px){.top span:last-child{display:none}.top{justify-content:center}.draft{font-size:10px}header{padding:20px 6%;flex-wrap:wrap}.menu{display:block}nav{display:none;width:100%;flex-direction:column;align-items:start;padding:14px 0;font-size:15px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 6% 30px}h1{font-size:48px}.hero-art{min-height:330px;margin:0 6% 30px;border-top-left-radius:65px}.facts{padding:22px 0}.facts>div{padding:0 12px}.facts strong{font-size:21px}.facts span{font-size:10px}section{padding:50px 6%}h2{font-size:35px}.about,.news{grid-template-columns:1fr;gap:24px}.program-grid{grid-template-columns:1fr;gap:30px}.program p{max-width:none}.life-grid{grid-template-columns:1fr}.life-grid a{min-height:260px}.section-head{align-items:start;flex-direction:column}.cta{margin-bottom:40px;padding:30px;display:block}.cta h2{font-size:32px}.footer-grid{grid-template-columns:1fr;gap:20px}}

.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:#fff;padding:15px;z-index:100}.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none;padding:10px 0;display:inline-flex;align-items:center;gap:8px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"";display:block;flex:0 0 14px;width:14px;height:14px;margin:0;background:center/14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23193446' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.nav-group[open] summary:after{transform:rotate(180deg)}.nav-panel{position:absolute;top:100%;right:0;min-width:230px;padding:12px;background:white;box-shadow:0 12px 40px #153c5822;border:1px solid #e5e9e9;border-radius:8px;z-index:20}.nav-panel a{display:block;padding:9px 12px;border-radius:4px}.nav-panel a:hover{background:var(--cream)}.page-banner{background:var(--cream);max-width:none;padding:55px 6%}.page-banner h1{font-size:clamp(36px,5vw,60px)}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:65px;max-width:1280px;margin:auto;padding:60px 6%}.page-content{min-width:0;overflow-wrap:anywhere}.page-content p{margin:0 0 22px;color:#485d69}.page-content h2{font-size:32px;margin:35px 0 18px}.page-content h3{margin:28px 0 14px}.page-content h4,.page-content h5{font-size:18px}.page-content img{height:auto;max-width:100%;border-radius:6px;margin:12px 0}.page-content a{color:#175e7c;text-decoration:underline;text-underline-offset:3px}.page-content .button{color:white;text-decoration:none}.page-content table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.page-content td,.page-content th{padding:14px;border:1px solid #dbe3e6;min-width:90px;text-align:left}.page-content tr:nth-child(even){background:var(--cream)}.page-content blockquote{border-left:3px solid var(--gold);padding-left:25px;font:24px/1.5 Georgia,serif}.sidebar{border-left:1px solid #e0e6e9;padding-left:28px;align-self:start;position:sticky;top:25px}.sidebar a{display:block;padding:10px 0;font-size:14px}.sidebar p{margin-top:28px}.content-list{margin:40px 0}.content-list article{padding:30px 0;border-bottom:1px solid #e0e6e9}.content-list h2{font-size:28px}.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.album-tile{text-decoration:none!important;display:block}.album-tile img{aspect-ratio:4/3;object-fit:cover;width:100%}.album-tile h2{font-size:23px;margin-top:12px}.document-list a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #dbe3e6}.contact-panel{padding:24px;background:var(--cream);margin-top:36px;border-radius:8px}.contact-panel h2{margin-top:0}.contact-panel a{margin:10px 10px 10px 0}.page-content ul,.page-content ol{padding-left:24px}.page-content li{margin:8px 0}.wp-block-gallery{display:flex;flex-wrap:wrap;gap:16px}.wp-block-gallery figure{flex:1 1 230px;margin:0}.wp-block-gallery img{width:100%}.page-content>img{max-height:650px;object-fit:contain}.life-grid a{min-height:330px}.page-content iframe{width:100%;max-width:100%}@media(max-width:1000px){header img{width:220px}nav{gap:20px}.page-layout{gap:32px}}@media(max-width:760px){.page-layout{grid-template-columns:1fr;padding:35px 6%}.sidebar{position:static;border-left:0;border-top:1px solid #ddd;padding:25px 0}.nav-group{width:100%}.nav-panel{position:static;box-shadow:none;border:0;padding-left:15px}.nav-group summary{padding:8px 0}.album-grid{grid-template-columns:1fr}.page-banner{padding:35px 6%}.page-content table{font-size:12px}.page-content td{padding:9px}.contact-panel .button{font-size:13px}}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.photo-grid>p:has(a img){margin:0}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0}.photo-grid>h2,.photo-grid>h3{grid-column:1/-1}.photo-grid>p:not(:has(img)){grid-column:1/-1}@media(max-width:760px){.photo-grid{grid-template-columns:1fr}}

footer .copyright{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}footer .copyright .design-credit a{display:inline;margin:0;color:var(--navy);text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){footer .copyright{align-items:flex-start;flex-direction:column;gap:8px}}
.page-content img.director-portrait{display:block;width:100%;max-width:420px;height:auto;max-height:none;object-fit:contain;margin:24px 0;border-radius:8px}
.page-content img.facility-photo{display:block;width:100%;max-width:480px;height:auto;max-height:none;object-fit:contain;margin:24px 0;border-radius:8px}

/* Album pages use the full content width and uncropped masonry photographs. */
.page-layout.gallery-full{display:block;max-width:none}
.gallery-full .photo-grid{display:block;column-count:3;column-gap:18px}
.gallery-full .photo-grid>p,.gallery-full .photo-grid>a,.gallery-full .photo-grid>figure,.gallery-full .photo-grid .gallery-item,.gallery-full .photo-grid .wp-block-image{display:block;break-inside:avoid;margin:0 0 18px;width:100%;float:none}
.gallery-full .photo-grid>p>a{display:block;break-inside:avoid;margin:0 0 18px}
.gallery-full .photo-grid img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;margin:0;break-inside:avoid}
.gallery-full .photo-grid>img{margin-bottom:18px}
.gallery-full .photo-grid>p:has(img),.gallery-full .photo-grid .gallery,.gallery-full .photo-grid .wp-block-gallery{display:contents}
@media(max-width:1000px){.gallery-full .photo-grid{column-count:2}}
@media(max-width:600px){.gallery-full .photo-grid{column-count:1}}
.mobile-menu-head,.mobile-menu-home,.menu-backdrop{display:none}
@media(max-width:760px){
.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1000;border:0;border-radius:0;background:rgba(12,33,48,.52);backdrop-filter:blur(3px);cursor:pointer;padding:0}
header #navigation{display:flex;position:fixed;inset:0 0 0 auto;width:min(88vw,390px);height:100vh;height:100dvh;z-index:1001;background:rgba(255,255,255,.98);box-shadow:-15px 0 50px #102f4933;padding:20px 24px max(28px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility .25s;isolation:isolate}
header #navigation.open{transform:translateX(0);visibility:visible}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #dce3e7;color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.menu-close{flex-shrink:0;width:44px;height:44px;border:1px solid #dce3e7;border-radius:6px;background:transparent;color:var(--navy);font:30px/1 Arial,sans-serif;cursor:pointer}
.mobile-menu-home{display:block;padding:16px 0;font-size:16px;border-bottom:1px solid #e7ebed}
#navigation .nav-group{border-bottom:1px solid #e7ebed;flex-shrink:0}
#navigation .nav-group summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:16px 0;font-size:16px}
#navigation .nav-panel{position:static;min-width:0;background:transparent;box-shadow:none;border:0;padding:0 0 12px 12px}
#navigation .nav-panel a{padding:11px 8px;font-size:14px;font-weight:400}
#navigation>.button{margin-top:24px;text-align:center;flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){header #navigation{transition:none}}
.navigation-home{display:block}
@media(min-width:761px){
body>header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 3px 16px #153c580d}
body.admin-bar>header{top:32px}
.navigation-home{padding:10px 0;white-space:nowrap}
html{scroll-padding-top:110px}
}
@media(min-width:761px) and (max-width:782px){body.admin-bar>header{top:46px}}
@media(min-width:761px) and (max-width:1000px){body>header{padding-left:3%;padding-right:3%;gap:14px}header img{width:170px}header nav{gap:10px;font-size:12px}header nav>.button{padding:10px 14px;font-size:12px}header nav>.button .arrow{margin-left:8px}}
@media(max-width:760px){.navigation-home{padding:16px 0;font-size:16px;border-bottom:1px solid #e7ebed}}
