*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:var(--body-size);color:#263238;background:#fff}
h1,h2,h3,h4,h5,h6{font-family:var(--heading-font)}
.site-header{background:var(--header-bg);box-shadow:var(--site-shadow);z-index:1030}
.site-header.is-sticky{position:fixed;top:0;left:0;right:0}
.header-spacer{height:var(--header-h)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:var(--header-h)}
.navbar-brand{display:flex;align-items:center;gap:12px;color:var(--header-text)!important;font-weight:800;min-width:0;text-decoration:none}
.school-logo{display:block;width:var(--logo-width,180px)!important;height:var(--logo-height,60px)!important;max-width:none!important;max-height:none!important;object-fit:contain;flex:0 0 auto}
.brand-name{font-size:18px;white-space:nowrap}
.nav-link{font-size:var(--nav-size)!important;font-weight:700;color:var(--header-text)!important;padding:.7rem .75rem!important}
.nav-link:hover,.nav-link:focus{color:var(--menu-hover)!important}
.navbar-toggler{border:1px solid rgba(255,255,255,.5);padding:7px 10px}
.navbar-toggler-icon{filter:invert(1)}
.dropdown-menu{background:#fff}
.dropdown-item{font-weight:600;padding:10px 16px}
.dropdown-item:hover{background:var(--primary);color:#fff}
.hero{height:var(--hero-height,520px);position:relative}
.hero img{width:100%;height:100%;object-fit:cover}
.hero .caption{position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0002);display:flex;align-items:center}
.hero h1{font-size:clamp(2rem,5vw,4.2rem);font-weight:900;color:#fff}
.hero p{font-size:1.15rem;color:#fff;max-width:700px}
.section-title{font-weight:900;color:var(--primary)}
.card-pro,.message-card,.teacher-card,.feature,.achievement-card,.contact-box{border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--card-shadow)}
.notice-box{height:330px;overflow:hidden;border-radius:var(--radius);border-top:5px solid var(--accent);box-shadow:var(--card-shadow)}
.notice-scroll{animation:scroll 22s linear infinite}
.notice-scroll:hover{animation-play-state:paused}
@keyframes scroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.teacher-track{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;padding:10px}
.teacher-card{min-width:260px;scroll-snap-align:start;overflow:hidden;background:#fff}
.teacher-card img{height:250px;object-fit:cover}
.footer{background:#101827;color:#dbe4f0}
.footer a{display:block;color:#dbe4f0;text-decoration:none;margin:8px 0}
.footer a:hover{color:var(--accent)}
.ticker{background:#111827;color:#fff;overflow:hidden;border-bottom:4px solid var(--accent)}
.ticker-wrap{display:flex;min-height:52px;align-items:center}
.ticker-label{background:var(--primary);font-weight:900;padding:0 18px;display:flex;align-items:center;gap:8px;z-index:2}
.ticker-track{white-space:nowrap;display:inline-flex;min-width:max-content;animation:ticker 35s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-track a{color:#fff;text-decoration:none;font-weight:800;margin-right:55px}
.ticker-track a:hover{color:var(--accent)}
@keyframes ticker{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.message-card{background:#fff;padding:25px;height:100%;position:relative}
.message-person{display:flex;align-items:center;gap:15px}
.message-person img,.message-avatar{width:82px;height:82px;border-radius:50%;object-fit:cover}
.message-avatar{display:grid;place-items:center;background:#eef3fb;color:var(--primary);font-size:30px}
.message-text{line-height:1.85;color:#555;max-height:130px;overflow:hidden}
.read-more-btn{border:0;background:var(--primary);color:#fff;border-radius:50px;padding:10px 20px;font-weight:700}
.read-more-btn:hover{background:var(--accent);color:#111}
.gallery-card{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--card-shadow)}
.gallery-card img{width:100%;height:360px;object-fit:cover}
@media(max-width:991px){
.site-header.is-sticky{position:fixed}
.header-row{width:100%}
.navbar-collapse{padding:8px 0 14px}
.brand-name{font-size:15px}
.school-logo{width:var(--mobile-logo-width,145px)!important;height:var(--mobile-logo-height,48px)!important;max-width:none!important;max-height:none!important}
.navbar-brand{min-width:0}
}
@media(max-width:575px){
.brand-name{display:none}
.header-row{min-height:64px}
.header-spacer{height:64px}
.hero{height:380px}
.gallery-card img{height:260px}
.ticker-label{font-size:11px;padding:0 10px}
.ticker-track a{font-size:14px;margin-right:35px}
}

.controlled-section{background:var(--sec-bg,#fff);color:var(--sec-text,#555);font-size:var(--sec-font,16px);box-shadow:var(--sec-shadow,none)}.controlled-section .section-title{color:var(--sec-title,var(--primary))}.controlled-section .message-card,.controlled-section .feature,.controlled-section .teacher-card,.controlled-section .achievement-card,.controlled-section .contact-box{border-radius:var(--sec-radius,var(--radius));box-shadow:var(--sec-shadow,var(--card-shadow))}
