@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.border{border-width:1px}.italic{font-style:italic}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:DM Sans,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;margin:0}body{overflow-x:hidden}button{font:inherit;border:none;background:none;cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.portal-page{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr auto;height:100svh;min-height:100svh;max-height:100svh;overflow:hidden;padding:clamp(10px,2.2vh,26px) clamp(20px,4.5vw,72px) clamp(8px,1.8vh,18px);background:#fff8ed}.bg-base{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-10;background:radial-gradient(ellipse 120% 90% at 50% 0%,#fffdf9,#fff8ed,#fde8c8 80%,#f5d6a0)}.bg-glow{position:absolute;z-index:-8;pointer-events:none;border-radius:50%;filter:blur(60px)}.bg-glow--top{top:-15%;left:50%;width:70%;height:50%;background:radial-gradient(circle,rgba(255,153,51,.18) 0%,transparent 70%);transform:translate(-50%);animation:glowPulse 8s ease-in-out infinite}.bg-glow--bottom{bottom:-10%;left:20%;width:50%;height:40%;background:radial-gradient(circle,rgba(217,119,6,.12) 0%,transparent 70%);animation:glowPulseB 10s ease-in-out infinite 2s}.bg-glow--center{top:40%;left:50%;width:40%;height:30%;background:radial-gradient(circle,rgba(255,183,85,.1) 0%,transparent 70%);transform:translate(-50%,-50%);animation:glowPulseC 12s ease-in-out infinite 1s}@keyframes glowPulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.08)}}@keyframes glowPulseB{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@keyframes glowPulseC{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.12)}}.bg-mandala{position:absolute;top:50%;left:50%;width:clamp(280px,55vh,600px);height:clamp(280px,55vh,600px);z-index:-7;pointer-events:none;transform:translate(-50%,-50%);opacity:.5;animation:mandalaSpin 120s linear infinite}.bg-mandala svg{width:100%;height:100%}@keyframes mandalaSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.bg-shape{position:absolute;z-index:-6;pointer-events:none;border-radius:50%}.bg-shape--1{top:-8%;right:-6%;width:clamp(120px,22vw,320px);height:clamp(120px,22vw,320px);background:radial-gradient(circle,rgba(255,204,137,.22) 0%,transparent 65%);animation:shapeFloat 14s ease-in-out infinite}.bg-shape--2{bottom:-6%;left:-4%;width:clamp(100px,18vw,280px);height:clamp(100px,18vw,280px);background:radial-gradient(circle,rgba(255,183,85,.18) 0%,transparent 65%);animation:shapeFloat 16s ease-in-out infinite 3s}@keyframes shapeFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(8deg)}}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-5;pointer-events:none;opacity:.025;background-image:linear-gradient(#d97706 1px,transparent 1px),linear-gradient(90deg,#d97706 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%)}.portal-hero{align-self:start;text-align:center;padding-top:clamp(4px,1vh,12px)}.portal-hero-brand{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.6vw,30px);width:100%;max-width:760px;margin:0 auto 16px;padding:0 clamp(8px,4vw,24px)}.portal-logo{width:clamp(52px,8.5vw,92px);height:clamp(52px,8.5vw,92px);-o-object-fit:contain;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(92,56,25,.18))}.portal-hero-brand h1{margin:0;text-align:center}.portal-hero h1{margin:0;color:#c2410c;font:600 clamp(22px,3.2vw,46px)/1.06 "Playfair Display",serif;letter-spacing:.04em;text-shadow:0 1px 2px rgba(255,255,255,.4);white-space:nowrap}.portal-hero h1 span{white-space:nowrap;color:#c2410c}.choose-band{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,18px);margin-top:clamp(16px,3vh,28px);margin-bottom:clamp(4px,1vh,10px)}.choose-deco{flex-shrink:0;width:clamp(32px,5vw,64px);height:1px;background:linear-gradient(90deg,transparent,#FF9933,transparent);position:relative}.choose-deco:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;background:#f93;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ff993380}.choose-text{margin:0;color:#d97706;font-size:clamp(12px,1.4vw,17px);font-weight:700;letter-spacing:.22em;white-space:nowrap;text-shadow:0 1px 8px rgba(255,153,51,.15)}.school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-content:center;gap:clamp(20px,4vw,56px);width:min(100%,1080px);margin:0 auto;padding:clamp(8px,1.5vh,16px) 0}.portal-status{grid-column:1 / -1;justify-self:center;color:#b45309;font-size:11px;letter-spacing:.12em;text-align:center}.portal-status--error{max-width:420px;line-height:1.7}.school-card{position:relative;display:block;width:100%;aspect-ratio:4/5;max-height:46vh;overflow:hidden;padding:0;border:1px solid rgba(255,153,51,.35);border-radius:18px;cursor:pointer;color:#fff;background:#c87615;box-shadow:0 10px 22px #5c381924;text-align:left;transform:translateY(0);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}.school-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.school-card--preschool img{-o-object-position:center 44%;object-position:center 44%}.school-card--high_school img{-o-object-position:center center;object-position:center center}.school-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000000d 20%,#0000001a 35%,#0000008c);transition:background .4s ease}.school-card-edge{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(255,255,255,.14);border-radius:13px;pointer-events:none}.school-card:hover,.school-card:focus-visible{border-color:#f93;outline:none;transform:translateY(-2px);box-shadow:0 12px 24px #5c381929}.school-card:hover img{transform:scale(1.02)}.school-card-top{position:absolute;inset:15px 17px auto;display:flex;align-items:center;justify-content:space-between;color:#ffffffd9;font-size:8px;letter-spacing:.18em}.card-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff7e8;background:#1e100440;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.school-card-content{position:absolute;inset:auto 20px 20px}.school-card-title{display:block;color:#fff;font:600 clamp(18px,2vw,28px)/1.08 "Playfair Display",serif;letter-spacing:.005em;text-shadow:0 2px 12px rgba(0,0,0,.3)}.school-card-title em{color:#ffd083;font:600 .52em DM Sans,sans-serif;letter-spacing:.15em;font-style:normal}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:clamp(10px,1.5vh,14px)}.card-classes{color:#fffc;font-size:9px;letter-spacing:.15em;padding-bottom:4px}.enter-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;background:linear-gradient(135deg,#f93,#f97316);color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;white-space:nowrap;box-shadow:0 3px 10px #ff993359,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.22);transition:transform .3s ease,box-shadow .3s ease,filter .3s ease}.school-card:hover .enter-btn{transform:translate(3px);box-shadow:0 5px 14px #ff993380,inset 0 1px #ffffff4d;filter:brightness(1.08)}.portal-footer{align-self:end;display:flex;align-items:center;justify-content:space-between;padding:clamp(10px,2vh,18px) clamp(4px,1vw,12px);border-top:1px solid rgba(217,119,6,.12);color:#8a6f4e;font-size:8px;letter-spacing:.12em;line-height:1.4;min-height:44px}.portal-footer-left{text-align:left;font-weight:600}.portal-footer-right{text-align:right;font-weight:600}.portal-footer-right br{display:block}.school-site{min-height:100vh}.school-site[data-school=preschool]{--primary: #FAD707;--primary-dark: #C9A800;--primary-light: #FDE740;--bg: #FFF8ED;--bg-alt: #FFF1D8;--surface: #FFFCF5;--text: #2E2614;--text-muted: #5C4E2E;--accent: #C9A800;--crimson: #7A1717;--border: rgba(201,168,0,.22);--border-strong: rgba(201,168,0,.34);--tile1-bg: #E6C200;--tile2-bg: #FAD707;--drawer-bg: #FAD707;--drawer-header: #FAD707;--footer-bg: #FAD707;--footer-text: #2E2614}.school-site[data-school=high_school]{--primary: #FF9933;--primary-dark: #D97706;--primary-light: #FFCC80;--bg: #FFF8ED;--bg-alt: #FFEFD4;--surface: #FFFCF7;--text: #1E1812;--text-muted: #5A4A38;--accent: #D97706;--crimson: #7A1717;--border: rgba(217,119,6,.2);--border-strong: rgba(217,119,6,.3);--tile1-bg: #E67E1A;--tile2-bg: #FF9933;--drawer-bg: #FF9933;--drawer-header: #FF9933;--footer-bg: #FF9933;--footer-text: #1E1812}.school-site{min-height:100vh;background:var(--bg);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00000026}::-webkit-scrollbar-corner{background:transparent}::-moz-selection{background:var(--primary);color:#fff}::selection{background:var(--primary);color:#fff}.top-bar{position:sticky;top:0;z-index:50;height:24px;background:var(--tile1-bg);color:var(--text);transition:transform .22s ease,opacity .22s ease}.top-bar--hidden{transform:translateY(-100%);opacity:0}.top-bar-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 clamp(16px,4vw,40px);max-width:1280px;margin:0 auto}.top-bar-loc{font-size:9px;letter-spacing:.08em;font-weight:700;color:#000c;display:inline-flex;align-items:center;gap:5px}.top-bar-social{display:flex;gap:8px}.top-bar-social-link{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:var(--text);background:#ffffff38;transition:background .2s,transform .2s}.top-bar-social-link:hover{background:#ffffff6b;transform:scale(1.06)}.sticky-header{position:sticky;top:0;z-index:49;transition:top .22s ease}.top-bar:not(.top-bar--hidden)+.sticky-header{top:24px}.main-header{background:var(--tile2-bg);box-shadow:0 2px 12px #00000014}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:6px clamp(16px,4vw,40px);max-width:1280px;margin:0 auto;gap:12px}@media (min-width: 1024px){.header-inner{padding:8px clamp(40px,6vw,80px);max-width:1400px;gap:24px}.header-brand{gap:18px}.header-logo{width:44px;height:44px}.header-brand-name{font-size:20px}.header-brand-tag{font-size:10px}}.hamburger{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--text);background:#ffffff38;transition:background .2s,transform .2s}.hamburger:hover{background:#ffffff6b;transform:scale(1.05)}.header-brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.header-logo{width:36px;height:36px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12))}.header-brand-text{display:flex;flex-direction:column;min-width:0}.header-brand-name{font:600 clamp(13px,2vw,18px)/1.2 "Playfair Display",serif;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-brand-tag{font-size:8px;letter-spacing:.12em;color:#0009;font-weight:600}.header-contact{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--text);background:#ffffff38;transition:background .2s,transform .2s}.header-contact:hover{background:#ffffff6b;transform:scale(1.05)}.school-switch-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--text);background:#ffffff38;border:1px solid rgba(0,0,0,.08);transition:background .2s,transform .2s,border-color .2s;white-space:nowrap;cursor:pointer;text-decoration:none}.school-switch-btn:hover{background:#ffffff6b;transform:scale(1.03);border-color:#00000026}.school-switch-btn svg{flex-shrink:0}.main-nav{position:relative;z-index:1;height:34px;background:transparent;pointer-events:none}.main-nav--home,.main-nav--page{margin-top:0}.main-nav .nav-inner{pointer-events:auto}.nav-inner{display:flex;align-items:center;justify-content:center;gap:5px;height:34px;padding:2px clamp(16px,4vw,40px);max-width:1280px;margin:0 auto}.nav-tab{padding:3px 12px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em;color:#1a1a1a;background:#ffffff4d;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:color .2s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}.nav-tab:hover{color:#000;background:#ffffff80;border-color:#ffffff80;box-shadow:0 2px 8px #0000001a}.nav-tab--active{color:var(--text);background:color-mix(in srgb,var(--primary) 30%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.main-nav--home .nav-tab{color:#1a1a1a;background:#ffffff4d;text-shadow:0 1px 3px rgba(255,255,255,.4)}.main-nav--home .nav-tab:hover{background:#ffffff80}.main-nav--home .nav-tab--active{color:var(--text);background:color-mix(in srgb,var(--primary) 30%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent);text-shadow:none}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000080;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;left:0;top:0;bottom:0;z-index:61;width:min(300px,85vw);background:var(--drawer-bg);display:flex;flex-direction:column;box-shadow:4px 0 24px #00000026;animation:slideIn .25s cubic-bezier(.2,.7,.2,1)}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:var(--drawer-header);border-bottom:1px solid rgba(0,0,0,.1)}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand-name{font:600 14px/1.2 Playfair Display,serif;color:var(--text)}.drawer-logo{width:32px;height:32px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.12))}.drawer-close{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--text);background:#ffffff38;transition:background .2s,color .2s}.drawer-close:hover{background:var(--crimson);color:#fff}.drawer-items{flex:1;overflow-y:auto;padding:4px 0 8px}.drawer-group{margin-bottom:4px}.drawer-group-label{padding:10px 16px 4px;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0009}.drawer-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:var(--text);transition:background .15s,border-left-color .15s;border-left:3px solid transparent}.drawer-item:hover{background:#ffffff38;border-left-color:var(--crimson)}.drawer-item-content{display:flex;flex-direction:column;gap:2px}.drawer-item-label{font-size:13px;font-weight:600}.drawer-item-sub{font-size:10px;color:#0000008c;font-weight:500}.drawer-item-arrow{color:var(--text);opacity:.65}.drawer-item--login .drawer-item-label{color:var(--crimson);font-weight:700}.drawer-item--login:hover{border-left-color:var(--crimson)}.drawer-footer-credits{padding:2px 12px 3px;text-align:center;border-top:1px solid rgba(0,0,0,.1);line-height:1;display:flex;flex-direction:column;gap:0}.drawer-credits-label{display:block;font-size:7px;color:#0000008c;letter-spacing:.04em;font-weight:600;line-height:1;margin:0;padding:0}.drawer-credits-name{display:inline-block;font-size:10px;font-weight:700;color:var(--text);margin:0;padding:0;line-height:1}.drawer-credits-email{display:block;font-size:9px;color:var(--crimson);line-height:1;margin:0;padding:0}.school-content{min-height:60vh}.home-hero{position:relative;height:80vh;min-height:clamp(340px,60vh,700px);max-height:800px;overflow:hidden;background:var(--bg)}.home-hero-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.home-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000005 20%,#0000000f 40%,#0000002e,#00000061);pointer-events:none}.home-hero-readability{position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.22) 100%);pointer-events:none}.home-hero-content{position:absolute;inset:auto 0 0;padding:clamp(20px,4vw,48px) clamp(20px,5vw,60px);max-width:1280px;margin:0 auto;color:#fff;text-align:center}.home-hero-title{margin:8px 0 4px;font:600 clamp(28px,5vw,56px)/1.1 "Playfair Display",serif;text-shadow:0 2px 16px rgba(0,0,0,.35)}.home-hero-tag{margin:0 0 12px;font-size:clamp(11px,1.4vw,16px);letter-spacing:.15em;font-weight:600;color:#ffffffe6;text-shadow:0 1px 8px rgba(0,0,0,.3)}.home-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.home-hero--hidden{display:none}.cta-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:10px;background:var(--primary);color:var(--text);font-size:12px;font-weight:700;letter-spacing:.08em;border:1.5px solid color-mix(in srgb,var(--text) 28%,var(--primary));box-shadow:0 4px 12px #0000001f;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,filter .25s ease,background .2s ease;cursor:pointer}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000002e;filter:brightness(1.06)}.cta-btn:active{transform:translateY(0);box-shadow:0 2px 8px #0000001f}.cta-btn[data-school=preschool]{background:#fad707;color:#3a3020;border-color:#3a302059}.cta-btn[data-school=high_school]{background:#f93;color:#241f1a;border-color:#241f1a59}.cta-btn[data-school=preschool]:hover,.cta-btn[data-school=high_school]:hover{filter:brightness(1.03)}.cta-btn--outline{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff;box-shadow:0 2px 8px #0000001a;transition:all .25s cubic-bezier(.2,.7,.2,1)}.cta-btn--outline:hover{background:#ffffff26;border-color:#fffc;box-shadow:0 4px 14px #00000026;transform:translateY(-1px)}.cta-btn--outline:active{transform:translateY(0);box-shadow:0 2px 6px #00000014}.cta-btn--outline:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.cta-btn--danger{background:#dc2626;color:#fff;border:none;box-shadow:0 2px 8px #dc26264d}.cta-btn--danger:hover{background:#b91c1c}.cta-btn--glass{background:#ffffff80;color:#1a1a1a;border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 10px #0000001a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.cta-btn--glass:hover{background:#ffffffa6;border-color:#ffffffb3;box-shadow:0 4px 14px #00000026}.cta-btn:disabled{opacity:.6;transform:none;cursor:not-allowed}.form-input:disabled,.staff-school-card:disabled,.user-mgmt-btn:disabled{opacity:.6;cursor:not-allowed}.content-area{max-width:1080px;margin:0 auto;padding:clamp(16px,3vw,32px) clamp(16px,4vw,40px)}.section-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:clamp(16px,3vw,28px);margin-bottom:16px;box-shadow:0 1px 4px #00000008}.section-card-title{margin:0 0 12px;font:600 clamp(16px,2vw,22px)/1.2 "Playfair Display",serif;color:var(--text)}.section-card-title:after{content:"";display:block;width:36px;height:2px;background:var(--primary);margin-top:8px;border-radius:2px}.body-text{margin:0;font-size:clamp(13px,1.3vw,15px);line-height:1.7;color:var(--text)}.stat-row{display:flex;gap:16px;margin-top:20px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:120px;padding:16px;background:var(--bg-alt);border-radius:12px;border:1px solid var(--border)}.stat-item svg{color:var(--primary)}.stat-num{font:600 18px Playfair Display,serif;color:var(--text)}.stat-label{font-size:10px;letter-spacing:.1em;color:var(--text-muted)}.notice-list{display:flex;flex-direction:column;gap:12px}.notice-card{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:14px 16px}.notice-date{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--text-muted);letter-spacing:.06em;margin-bottom:6px}.notice-title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text)}.notice-body{margin:0;font-size:13px;line-height:1.6;color:var(--text-muted)}.view-all{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:9px 20px;border-radius:10px;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--primary) 28%,transparent);transition:all .25s cubic-bezier(.2,.7,.2,1);cursor:pointer;text-decoration:none;position:relative;overflow:hidden}.view-all:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,color-mix(in srgb,var(--primary) 15%,transparent) 50%,transparent 70%);opacity:0;transition:opacity .3s ease}.view-all:hover{gap:9px;background:color-mix(in srgb,var(--primary) 20%,transparent);border-color:color-mix(in srgb,var(--primary) 45%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary) 20%,rgba(0,0,0,.08));transform:translateY(-2px)}.view-all:hover:after{opacity:1}.view-all:active{transform:translateY(0);box-shadow:0 2px 6px #0000000f}.view-all:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.view-all--highlight{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 3px 12px color-mix(in srgb,var(--primary) 35%,rgba(0,0,0,.12))}.view-all--highlight:hover{color:#fff;background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 40%,rgba(0,0,0,.15))}.home-preview-link--solid{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 3px 12px color-mix(in srgb,var(--primary) 30%,rgba(0,0,0,.1))}.home-preview-link--solid:hover{color:#fff;background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 38%,rgba(0,0,0,.14))}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gallery-grid--full{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gallery-thumb{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.gallery-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s}.gallery-thumb:hover img{transform:scale(1.05)}.gallery-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;background:linear-gradient(transparent 40%,#0009);color:#fff}.gallery-item-cat{font-size:9px;letter-spacing:.12em;opacity:.8}.gallery-item-title{font-size:13px;font-weight:600}.page-heading{padding:clamp(24px,4vw,42px) clamp(16px,4vw,40px) 8px;max-width:1080px;margin:0 auto}.page-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-heading-title{margin:0;color:var(--text);font:600 clamp(22px,3vw,32px)/1.2 "Playfair Display",serif}.page-heading-title:after{content:"";display:block;width:42px;height:3px;margin-top:10px;border-radius:2px;background:var(--primary)}.page-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:4px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.info-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center;box-shadow:0 1px 3px #00000008}.info-card svg{color:var(--primary);margin-bottom:8px}.info-card h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--text)}.info-card p{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted)}.info-card--linked{display:flex;flex-direction:column;align-items:center;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;cursor:pointer;padding:0;overflow:hidden}.info-card--linked:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001a;border-color:var(--primary)}.info-card--linked h3,.info-card--linked p{padding:0 16px}.info-card--linked h3{margin-top:14px}.info-card--linked p{margin-bottom:16px}.info-card-thumb{width:100%;height:160px;-o-object-fit:cover;object-fit:cover;display:block}.info-card-icon{display:grid;place-items:center;height:160px;background:var(--bg-alt);color:var(--primary)}.subject-grid{display:flex;flex-wrap:wrap;gap:10px}.subject-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg-alt);border:1px solid var(--border);font-size:13px;font-weight:500;color:var(--text)}.subject-chip svg{color:var(--primary)}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.activity-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #00000008}.activity-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg-alt);border:1px solid var(--border);color:var(--primary);margin-bottom:12px}.activity-name{margin:0 0 6px;font:600 16px Playfair Display,serif;color:var(--text)}.activity-desc{margin:0;font-size:13px;line-height:1.6;color:var(--text-muted)}.steps-list{display:flex;flex-direction:column;gap:14px}.step-item{display:flex;align-items:flex-start;gap:14px}.step-num{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary);color:var(--text);font-size:13px;font-weight:700}.step-text{padding-top:4px;font-size:14px;line-height:1.6;color:var(--text)}.doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.doc-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text)}.doc-list svg{color:var(--primary);flex-shrink:0}.resource-list{display:flex;flex-direction:column;gap:10px}.resource-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg-alt);border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}.resource-row:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.resource-row-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--primary);flex-shrink:0}.resource-row-content{display:flex;flex-direction:column;gap:2px;min-width:0}.resource-row-title{font-size:14px;font-weight:600;color:var(--text)}.resource-row-desc{font-size:12px;color:var(--text-muted)}.resource-row-date{font-size:11px;color:var(--text-muted)}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.staff-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:14px 12px;text-align:center;box-shadow:0 1px 3px #00000008;display:flex;flex-direction:column;align-items:center}.staff-photo{width:64px;height:64px;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin:0 auto 8px;border:2px solid var(--border)}.staff-photo--placeholder{display:grid;place-items:center;background:var(--bg-alt);color:var(--primary)}.staff-photo--rounded{width:120px;height:120px;border-radius:14px;-o-object-fit:cover;object-fit:cover;margin:0 auto 10px;border:2px solid var(--border);cursor:pointer;transition:transform .3s,box-shadow .3s}.staff-photo--rounded:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000001f}.staff-grid--about{gap:14px}.staff-card--about{padding:16px 14px}.staff-name{margin:0 0 3px;font:600 14px Playfair Display,serif;color:var(--text)}.staff-role{margin:0 0 2px;font-size:11px;font-weight:600;color:var(--primary-dark)}.staff-qual{margin:0;font-size:10px;color:var(--text-muted)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.contact-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;box-shadow:0 1px 3px #00000008}.contact-card svg{color:var(--primary);margin-bottom:8px}.contact-card h3{margin:0 0 6px;font-size:14px;font-weight:600}.contact-card p{margin:0;font-size:13px;color:var(--text-muted)}.form-input{padding:10px 14px;border-radius:10px;border:1.5px solid rgba(0,0,0,.18);background:var(--bg);font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent);background:#fff}.form-input::-moz-placeholder{color:#0006}.form-input::placeholder{color:#0006}.form-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.6}.contact-layout{display:flex;flex-direction:column;gap:16px}.content-area>.section-card{margin-bottom:16px}.map-embed{width:100%;height:320px;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px;color:var(--text-muted);font-size:13px}.login-container{max-width:400px;margin:0 auto;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px}.login-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--bg-alt);color:var(--primary);margin-bottom:12px}.login-title{margin:0 0 12px;font:600 20px Playfair Display,serif;color:var(--text)}.login-form{display:flex;flex-direction:column;gap:12px}.login-note{margin:12px 0 0;font-size:12px;color:var(--text-muted)}.school-footer{background:var(--footer-bg);color:var(--footer-text)}.footer-top{text-align:center;padding:clamp(24px,4vw,40px) 16px 16px;max-width:640px;margin:0 auto}.footer-copyright-text{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#000000d9}.footer-visits{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;font-size:12px;font-weight:700;color:#000000bf}.footer-visits svg{color:var(--text);opacity:.6}.footer-credits{padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.footer-credits-label{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#0009;font-weight:600}.footer-credits-name{margin:4px 0;font:700 17px Playfair Display,serif;color:var(--text)}.footer-credits-email{display:inline-block;margin-top:12px;font-size:14px;color:#0284c7;font-weight:600}.footer-credits-email:hover{text-decoration:underline}.footer-spacer{height:clamp(40px,8vw,80px)}.back-to-top{position:fixed;right:20px;bottom:20px;z-index:45;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--text);box-shadow:0 4px 14px #0000002e;opacity:0;transform:translateY(10px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s}.back-to-top--visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{filter:brightness(1.05);box-shadow:0 6px 18px #0000003d}.staff-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(22px,5vw,56px) clamp(16px,5vw,64px);background:var(--bg);color:var(--text)}.staff-login-card,.staff-panel-shell{width:min(100%,980px);margin:0 auto}.staff-login-card{max-width:420px;padding:36px 32px;text-align:center;background:var(--surface);border:1.5px solid rgba(0,0,0,.14);border-top:5px solid var(--primary);border-radius:18px;box-shadow:0 16px 44px #0000001a,0 2px 8px #0000000a}.staff-login-card--wide{max-width:460px;padding:36px 32px}.staff-login-card h1,.staff-panel-header h1{margin:4px 0 6px;font:600 clamp(26px,3.5vw,34px) "Playfair Display",serif;color:var(--text)}.staff-school-name{margin:12px 0 2px;font:700 clamp(22px,4.5vw,28px) "Playfair Display",serif;color:var(--primary-dark);line-height:1.2;letter-spacing:-.01em}.staff-login-heading{margin:4px 0 8px;font:600 clamp(18px,2.5vw,22px) "Playfair Display",serif;color:var(--text)}.staff-kicker{margin:0;color:var(--primary-dark);font-size:12px;font-weight:700;letter-spacing:.16em}.staff-back-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13px;font-weight:600;color:var(--primary-dark);text-decoration:none;transition:color .2s,gap .2s}.staff-back-link:hover{color:var(--primary);gap:9px}.staff-school-select{display:flex;flex-direction:column;gap:10px;margin:20px 0 6px}.staff-school-card{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;border:2px solid rgba(0,0,0,.2);background:var(--bg);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s;text-align:left}.staff-school-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000001a}.staff-school-card[data-school=preschool]{border-color:#e0be00;background:linear-gradient(135deg,#fff8e0,#fff5c7)}.staff-school-card[data-school=preschool]:hover{border-color:#b89b00;box-shadow:0 4px 14px #c9a80033}.staff-school-card[data-school=high_school]{border-color:#e07a1a;background:linear-gradient(135deg,#fff0de,#ffe3c7)}.staff-school-card[data-school=high_school]:hover{border-color:#c0650e;box-shadow:0 4px 14px #d9770633}.staff-school-card-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.staff-school-card[data-school=preschool] .staff-school-card-icon{background:#fad707;color:#3a3020}.staff-school-card[data-school=high_school] .staff-school-card-icon{background:#f93;color:#241f1a}.staff-school-card-body{display:flex;flex-direction:column;gap:1px}.staff-school-card-name{font:600 15px Playfair Display,serif;color:#000000d9}.staff-school-card-tag{font-size:10px;font-weight:600;color:#000000ad;letter-spacing:.04em}.staff-muted{color:var(--text);font-size:13px;line-height:1.6;font-weight:500;opacity:.86}.staff-form,.staff-settings{display:flex;flex-direction:column;gap:14px}.staff-form .form-input{width:100%;box-sizing:border-box}.staff-form .password-field{width:100%}.staff-form .password-field .form-input{width:100%;padding-right:40px;box-sizing:border-box}.staff-panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:16px;border-bottom:2px solid var(--primary)}.staff-panel-brand{display:flex;align-items:center;gap:12px}.staff-account{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:11px;font-weight:600}.staff-account button{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--primary-dark);background:var(--surface);border:1px solid var(--border);transition:background .2s,color .2s}.staff-account button:hover{background:var(--crimson);color:#fff}.staff-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.staff-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:12px;font-weight:700;color:#000000c7;background:var(--surface);border:1.5px solid rgba(0,0,0,.16);transition:all .2s}.staff-tab:hover{border-color:var(--primary)}.staff-tab--active{color:var(--text);background:var(--primary);border-color:var(--primary)}.staff-section{padding:20px;background:var(--surface);border:1.5px solid rgba(0,0,0,.12);border-radius:14px}.staff-section h2{margin:0 0 14px;font:600 18px Playfair Display,serif;color:var(--text)}.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staff-section label{display:flex;flex-direction:column;gap:6px;color:#000000c7;font-size:11px;font-weight:700}.staff-check{flex-direction:row!important;align-items:center;justify-content:flex-start;padding-top:22px}.staff-check input{accent-color:var(--primary)}.staff-logo-row{display:flex;align-items:center;gap:18px}.staff-logo-preview{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;padding:8px;background:var(--bg);border-radius:12px;border:1.5px solid rgba(0,0,0,.15)}.upload-label{display:inline-flex!important;flex-direction:row!important;align-items:center;margin-top:8px;padding:8px 14px;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:var(--bg);color:var(--primary-dark)!important;cursor:pointer;transition:border-color .2s,background .2s}.upload-label:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--bg))}.upload-label input{display:none}.staff-error,.staff-success{margin:0;font-size:12px;line-height:1.5}.staff-error{color:#a33b2e}.staff-success{color:#3f754d}.staff-state{min-height:70vh;display:grid;place-items:center;color:var(--text-muted)}.password-field{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:var(--text-muted);transition:color .2s,background .2s}.password-toggle:hover{color:var(--text);background:var(--border)}.staff-switch-mode{margin-top:14px;font-size:13px;font-weight:600;color:var(--primary-dark);transition:color .2s}.staff-switch-mode:hover{color:var(--primary);text-decoration:underline}.staff-access-select{display:flex;gap:8px;justify-content:center;margin-bottom:4px}.staff-access-option{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s}.staff-access-option--active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg));color:var(--primary-dark)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.dashboard-card{display:block;text-align:left;padding:24px;background:var(--surface);border:1.5px solid rgba(0,0,0,.12);border-radius:14px;transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}.dashboard-card:hover{border-color:var(--primary);box-shadow:0 4px 14px #00000014;transform:translateY(-2px)}.dashboard-card-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark);margin-bottom:12px}.dashboard-card h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text)}.dashboard-card p{margin:0;font-size:12px;color:var(--text-muted);font-weight:500}.admin-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1.5px solid rgba(0,0,0,.08);gap:12px}.admin-list-item:last-child{border-bottom:none}.admin-list-item strong{font-size:14px;color:var(--text)}.admin-delete{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#a33b2e;background:#a33b2e14;transition:background .2s,color .2s;flex-shrink:0}.admin-delete:hover{background:#a33b2e;color:#fff}.admin-delete-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#a33b2e;background:#a33b2e14;transition:background .2s,color .2s;flex-shrink:0;border:none;cursor:pointer}.admin-delete-icon:hover{background:#a33b2e;color:#fff}.admin-gallery-item .admin-delete-icon{position:absolute;top:6px;right:6px}.admin-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.admin-gallery-item{position:relative;border-radius:10px;overflow:hidden;border:1.5px solid rgba(0,0,0,.15)}.admin-gallery-item img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.admin-gallery-item span{display:block;padding:6px 8px;font-size:11px;font-weight:600;color:var(--text)}.admin-gallery-item .admin-delete{position:absolute;top:6px;right:6px}.social-edit-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1.5px solid rgba(0,0,0,.08);background:var(--bg)}.social-edit-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;min-width:100px}.social-edit-toggle input{accent-color:var(--primary)}.bvm-logo{display:block;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.staff-fab-menu{display:none;position:fixed;top:14px;left:14px;z-index:90;width:42px;height:42px;border-radius:12px;border:1.5px solid rgba(0,0,0,.15);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001a;transition:background .2s}.staff-fab-menu:hover{background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.staff-sidebar-footer-actions{display:flex;gap:8px;margin-top:10px}.staff-sidebar-action-btn{display:flex;align-items:center;gap:5px;flex:1;justify-content:center;padding:8px 10px;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:#ffffff40;color:#000c;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s}.staff-sidebar-action-btn:hover{background:#fff6}.staff-sidebar-action-btn--danger{border-color:#b4281e4d;color:#a01e14d9}.staff-sidebar-action-btn--danger:hover{background:#b4281e1f}.staff-main-section-title{padding:18px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.staff-main-section-title h1{margin:0;font:600 22px Playfair Display,serif;color:var(--text)}.staff-view-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.03em;text-decoration:none;transition:filter .2s,transform .2s;flex-shrink:0}.staff-view-btn[data-school=preschool]{background:#e8c200;color:#3a3020}.staff-view-btn[data-school=high_school]{background:#e8861a;color:#241f1a}.staff-view-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.cta-btn--full{width:100%;justify-content:center}.cta-btn--outline{background:transparent!important;color:#0009!important;border:1.5px solid rgba(0,0,0,.2)!important;box-shadow:none!important;transition:all .25s cubic-bezier(.2,.7,.2,1)!important}.cta-btn--outline:hover{border-color:var(--primary)!important;color:var(--primary-dark)!important;background:color-mix(in srgb,var(--primary) 8%,transparent)!important;transform:translateY(-1px);box-shadow:0 3px 10px #0000000f!important}.cta-btn--outline:active{transform:translateY(0)!important;box-shadow:none!important}.principal-edit-area{display:flex;gap:20px;margin-top:12px}.principal-edit-photo{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}.principal-edit-preview{width:100px;height:100px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--primary)}.principal-edit-placeholder{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark);border:2px solid rgba(0,0,0,.1)}.principal-edit-fields{flex:1;display:flex;flex-direction:column;gap:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow-y:auto}.modal-card{width:100%;max-width:560px;background:#fff;border:1.5px solid rgba(0,0,0,.2);border-radius:16px;box-shadow:0 20px 60px #00000040;margin:auto;display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1.5px solid rgba(0,0,0,.12);flex-shrink:0}.modal-header h2{margin:0;font:600 18px Playfair Display,serif;color:#1a1a1a}.modal-close{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:none;background:#00000014;color:#1a1a1a;cursor:pointer;transition:background .2s}.modal-close:hover{background:#00000026}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1.5px solid rgba(0,0,0,.12);flex-shrink:0}.admin-edit-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1.5px solid transparent;cursor:pointer;transition:background .2s,border-color .2s;flex-shrink:0}.admin-edit-btn:hover{background:color-mix(in srgb,var(--primary) 16%,var(--surface));border-color:var(--primary)}.admin-item-actions{display:flex;gap:6px;flex-shrink:0}.upload-area{padding:16px;border:1.5px dashed rgba(0,0,0,.18);border-radius:12px;background:#ffffff73}.upload-loading-text{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:var(--text-muted);font-size:12px;font-weight:600}.upload-spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--primary-dark);border-radius:50%;animation:upload-spin .7s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}.upload-error{color:#a33b2e;font-size:12px;margin-top:6px}.staff-dashboard{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.staff-sidebar{width:250px;flex-shrink:0;background:var(--primary);color:var(--text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.staff-sidebar[data-school=preschool]{background:#fad707}.staff-sidebar[data-school=high_school]{background:#f93}.staff-sidebar-header{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid rgba(0,0,0,.1)}.staff-sidebar-title{margin:0;font:600 15px Playfair Display,serif;color:var(--text)}.staff-sidebar-nav{flex:1;padding:10px 10px 6px;overflow-y:auto}.staff-nav-group{margin-bottom:12px}.staff-nav-group-label{margin:0 0 4px;padding:0 8px;font-size:9px;font-weight:700;letter-spacing:.14em;color:#000000ad;text-transform:uppercase}.staff-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;font-size:12px;font-weight:600;color:#000000d1;background:transparent;cursor:pointer;transition:background .15s,color .15s;text-align:left}.staff-nav-item:hover{background:#ffffff4d;color:#000000e6}.staff-nav-item--active{background:#ffffff73;color:#000000f2;font-weight:700}.staff-sidebar-footer{padding:12px 18px;border-top:1px solid rgba(0,0,0,.1)}.staff-sidebar-user-name{margin:0;font-size:12px;font-weight:700;color:#000000d9}.staff-sidebar-user-role{margin:2px 0 0;font-size:10px;font-weight:600;letter-spacing:.1em;color:#000000b8}.staff-main{flex:1;min-width:0;display:flex;flex-direction:column}.staff-main-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-bottom:2px solid rgba(0,0,0,.1);background:var(--surface)}.staff-main-title{margin:0;font:600 20px Playfair Display,serif;color:var(--text)}.staff-main-actions{display:flex;align-items:center;gap:10px}.staff-header-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;font-size:12px;font-weight:600;color:#000c;background:transparent;border:1.5px solid rgba(0,0,0,.2);cursor:pointer;transition:background .2s,border-color .2s,color .2s;text-decoration:none}.staff-header-btn:hover{background:#0000000f;border-color:#00000059}.staff-header-btn--danger{color:#fff;background:#c0392b;border-color:#a93226}.staff-header-btn--danger:hover{background:#a93226;border-color:#922b21}.staff-main-content{flex:1;padding:24px 28px;overflow-y:auto;background:color-mix(in srgb,var(--bg) 50%,var(--surface))}.user-mgmt-table{display:flex;flex-direction:column;gap:1px}.user-mgmt-header{display:grid;grid-template-columns:1.2fr 1.5fr 1fr .8fr;gap:8px;padding:10px 12px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#000000b8;border-bottom:2px solid rgba(0,0,0,.15)}.user-mgmt-row{display:grid;grid-template-columns:1.2fr 1.5fr 1fr .8fr;gap:8px;padding:10px 12px;font-size:12px;font-weight:500;color:var(--text);border-bottom:1.5px solid rgba(0,0,0,.08);align-items:center}.user-mgmt-name{font-weight:700}.user-mgmt-email{font-size:11px;color:var(--text-muted);word-break:break-all}.user-mgmt-actions{display:flex;gap:6px}.user-mgmt-btn{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;color:var(--text);background:var(--surface);border:1.5px solid rgba(0,0,0,.15);cursor:pointer;transition:background .2s,border-color .2s}.user-mgmt-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.user-mgmt-btn[data-school=preschool]{border-color:#c9a8008c;color:#806d00}.user-mgmt-btn[data-school=high_school]{border-color:#d977068c;color:#a65300}.user-mgmt-btn[data-school=preschool]:hover{background:#fad70729;border-color:#c9a800}.user-mgmt-btn[data-school=high_school]:hover{background:#ff993329;border-color:#d97706}.user-mgmt-btn--danger{color:#a33b2e;border-color:#a33b2e40}.user-mgmt-btn--danger:hover{background:#a33b2e;color:#fff;border-color:#a33b2e}.user-mgmt-row--clickable{cursor:pointer;transition:background .15s}.user-mgmt-row--clickable:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.user-mgmt-edit{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;padding:12px 12px 8px;margin-top:4px;border-radius:10px;border:1.5px solid rgba(0,0,0,.1);background:var(--bg);align-items:end}.user-mgmt-edit label{font-size:10px;font-weight:700;color:#0009}@media (max-width: 700px){.top-bar-inner{padding:0 14px}.header-inner{padding:5px 14px;gap:8px}.header-brand-name{font-size:13px}.header-brand-tag{font-size:7px}.hamburger,.header-contact{width:32px;height:32px}.school-switch-btn{padding:4px 8px;font-size:10px}.school-switch-text{display:none}.header-logo{width:30px;height:30px}.nav-inner{padding:2px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:3px;height:30px}.nav-tab{padding:3px 9px;font-size:9px}.main-nav--home{margin-top:0}.home-hero{height:auto;min-height:280px;max-height:none}.home-hero-img{width:100%;height:auto;min-height:200px;-o-object-fit:contain;object-fit:contain;-o-object-position:center top;object-position:center top}.home-hero-content{padding:16px 14px 20px}.home-hero-title{font-size:24px}.home-hero-tag{font-size:10px}.home-hero-cta{gap:8px}.cta-btn{padding:8px 16px;font-size:11px}.content-area{padding:14px}.section-card{padding:14px;border-radius:12px}.section-card-title{font-size:17px}.body-text{font-size:13px}.stat-row{gap:8px}.stat-item{min-width:100px;padding:12px}.stat-num{font-size:15px}.notice-card{padding:12px}.notice-title{font-size:13px}.notice-body{font-size:12px}.gallery-grid,.gallery-grid--full{grid-template-columns:repeat(2,1fr);gap:8px}.page-heading{padding:22px 14px 6px}.page-heading-title{font-size:22px}.info-grid{grid-template-columns:1fr 1fr;gap:8px}.info-card{padding:14px}.activity-grid{grid-template-columns:1fr;gap:12px}.activity-card{padding:18px}.subject-grid{gap:8px}.subject-chip{font-size:12px;padding:6px 12px}.contact-grid,.form-row{grid-template-columns:1fr}.contact-layout{flex-direction:column}.map-embed{height:250px}.step-num{width:26px;height:26px;font-size:12px}.step-text,.doc-list li{font-size:13px}.staff-grid{grid-template-columns:repeat(2,1fr);gap:10px}.staff-card{padding:12px 10px}.staff-photo{width:52px;height:52px}.staff-photo--rounded{width:90px;height:90px}.footer-top{padding:20px 14px 12px}.footer-spacer{height:40px}.back-to-top{right:14px;bottom:14px;width:40px;height:40px}.drawer{width:min(280px,82vw)}.portal-page{padding:clamp(8px,2vh,14px) 14px clamp(6px,1.5vh,10px)}.portal-hero{text-align:center;display:flex;flex-direction:column;align-items:center}.portal-hero-brand{gap:clamp(6px,1.8vw,10px);max-width:100%}.portal-logo{width:clamp(34px,11vw,46px);height:clamp(34px,11vw,46px)}.portal-hero h1{font-size:clamp(13px,3.6vw,18px);letter-spacing:.02em}.portal-hero h1 span{white-space:nowrap}.choose-band{gap:8px;margin-top:10px}.choose-deco{width:22px}.choose-text{font-size:10px;letter-spacing:.18em}.school-grid{grid-template-columns:1fr;gap:clamp(8px,1.5vh,12px);max-width:340px}.school-card{aspect-ratio:5/3;max-height:26vh;border-radius:12px}.school-card-edge{top:5px;right:5px;bottom:5px;left:5px;border-radius:9px}.school-card-top{inset:10px 12px auto;font-size:7px}.card-icon{width:20px;height:20px}.school-card-content{inset:auto 12px 12px}.school-card-title{font-size:clamp(14px,4vw,19px)}.card-bottom{margin-top:6px;gap:8px}.card-classes{font-size:7px}.enter-btn{padding:4px 10px;font-size:8px}.enter-btn svg{width:11px;height:11px}.portal-footer{flex-direction:row;align-items:center;padding:8px 4px;font-size:7px;letter-spacing:.08em;min-height:36px;gap:6px}.portal-footer-left{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.portal-footer-right br{display:block}.bg-mandala{width:300px;height:300px}.bg-grid{background-size:32px 32px}.staff-panel-header{align-items:flex-start;flex-direction:column}.staff-account{width:100%;justify-content:space-between}.staff-grid{grid-template-columns:1fr}.staff-section{padding:15px}.staff-logo-row{align-items:flex-start;flex-direction:column}.staff-login-card,.staff-login-card--wide{padding:24px 18px}.staff-school-card{padding:12px 14px;gap:10px}.staff-school-card-icon{width:32px;height:32px}.staff-school-card-name{font-size:14px}.staff-back-link{margin-top:12px;font-size:12px}.staff-fab-menu{display:flex}.staff-sidebar{position:fixed;left:-280px;top:0;width:260px;height:100vh;z-index:100;transition:left .25s ease;box-shadow:2px 0 16px #00000026}.staff-sidebar--open{left:0}.staff-mobile-overlay{display:block}.staff-sidebar-close{display:flex}.staff-main{width:100%;padding-top:8px}.staff-main-section-title{padding:12px 14px 0 64px}.staff-main-section-title h1{font-size:17px}.staff-main-content{padding:12px 14px 14px}.staff-nav-item{font-size:11px;padding:6px 8px}.staff-section{padding:14px}.staff-section h2{font-size:16px;margin-bottom:10px}.staff-grid{grid-template-columns:1fr;gap:10px}.staff-tabs{gap:4px}.staff-tab{padding:6px 10px;font-size:11px}.cta-btn{padding:8px 16px;font-size:11px;width:100%;justify-content:center}.cta-btn--outline{width:auto}.form-input{font-size:13px;padding:9px 12px}.form-textarea{font-size:13px}.principal-edit-area{flex-direction:column;align-items:stretch}.principal-edit-photo{align-items:center}.principal-edit-preview,.principal-edit-placeholder{width:80px;height:80px}.modal-card{max-width:calc(100vw - 24px)}.modal-body{max-height:60vh;padding:14px}.modal-header{padding:12px 14px}.modal-header h2{font-size:16px}.modal-footer{padding:10px 14px;flex-wrap:wrap;gap:8px}.modal-footer .cta-btn{width:auto;flex:1;min-width:100px}.admin-list-item{flex-wrap:wrap;gap:8px;padding:10px 0;min-width:0}.admin-list-item>div:first-child{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.admin-item-actions{flex-wrap:wrap;gap:4px}.step-item,.doc-list li{align-items:flex-start;overflow-wrap:anywhere}.modal-card{overflow:hidden}.modal-body{overflow-x:hidden}.admin-edit-btn{width:28px;height:28px}.admin-gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.admin-gallery-item .admin-item-actions{top:4px;right:4px}.user-mgmt-header{display:none}.user-mgmt-row{grid-template-columns:1fr 1fr;font-size:11px}.user-mgmt-edit,.dashboard-grid{grid-template-columns:1fr}.social-edit-row{flex-direction:column;align-items:stretch;gap:6px}.social-edit-toggle{min-width:0}.home-preview-grid{grid-template-columns:1fr;gap:20px}.toppers-grid{grid-template-columns:1fr 1fr}.alumni-grid{grid-template-columns:1fr}.view-all{width:100%;justify-content:center;padding:10px 18px}.home-preview-link{width:100%;justify-content:center;padding:9px 16px}.stat-row{flex-direction:column}.staff-photo-preview{width:80px;height:80px}.staff-photo-thumb{width:44px;height:44px}.upload-error{font-size:11px}.staff-sidebar-footer-actions{flex-direction:column;gap:6px}}@media (max-width: 900px) and (min-width: 701px){.home-preview-grid{grid-template-columns:1fr;gap:20px}}@media (max-height: 680px) and (min-width: 701px){.portal-page{padding:8px clamp(20px,4vw,60px) 6px}.portal-hero h1{font-size:clamp(20px,2.8vw,34px);white-space:nowrap}.school-card{max-height:38vh}}@media (max-height: 680px) and (max-width: 700px){.portal-hero h1{font-size:16px;white-space:nowrap}.school-card{max-height:26vh}.school-card-title{font-size:16px}.enter-btn{padding:4px 10px;font-size:8px}}@media (max-height: 480px){.portal-page{padding:6px 16px}.portal-hero h1{font-size:15px;white-space:nowrap}.school-grid{grid-template-columns:1fr 1fr;gap:10px}.school-card{aspect-ratio:5/4;max-height:140px;border-radius:10px}.school-card-title{font-size:14px}.enter-btn{padding:3px 8px;font-size:8px}.card-classes{display:none}}.home-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}@media (max-width: 700px){.home-preview-grid{grid-template-columns:1fr;gap:24px}}.home-preview-card{padding:20px;background:var(--surface);border:1.5px solid rgba(0,0,0,.1);border-radius:14px;transition:border-color .2s,box-shadow .2s,transform .2s}.home-preview-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 4px 16px #0000000f}.home-preview-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark);margin-bottom:12px}.home-preview-card h3{margin:0 0 8px;font:600 16px Playfair Display,serif;color:var(--text)}.home-preview-card p{margin:0 0 12px;font-size:13px;line-height:1.6;color:#000000a6}.home-preview-link{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;border-radius:8px;font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);text-decoration:none;transition:all .25s cubic-bezier(.2,.7,.2,1)}.home-preview-link:hover{gap:8px;background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 3px 10px #0000000f;transform:translateY(-1px)}.home-preview-link:active{transform:translateY(0);box-shadow:none}.home-preview-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stat-row{display:flex;justify-content:space-around;gap:16px;margin:20px 0;padding:20px;background:var(--surface);border:1.5px solid rgba(0,0,0,.08);border-radius:14px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-item svg{color:var(--primary-dark)}.stat-num{font:700 20px Playfair Display,serif;color:var(--text)}.stat-label{font-size:11px;font-weight:600;color:#00000080;letter-spacing:.06em;text-transform:uppercase}.toppers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.topper-card{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:var(--surface);border:1.5px solid rgba(0,0,0,.1);border-radius:14px;text-align:center;transition:border-color .2s,box-shadow .2s}.topper-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000000f}.topper-photo{width:160px;height:160px;border-radius:20px;-o-object-fit:cover;object-fit:cover;margin-bottom:14px;border:3px solid var(--primary);transition:transform .3s,box-shadow .3s}.topper-photo--placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 15%,var(--bg));color:var(--primary-dark);width:160px;height:160px;border-radius:20px;margin-bottom:14px;border:3px solid var(--primary)}.topper-name{margin:0 0 4px;font:600 15px Playfair Display,serif;color:var(--text)}.topper-score{font:700 18px Playfair Display,serif;color:var(--primary-dark);margin-bottom:2px}.topper-class{font-size:12px;font-weight:600;color:#0009}.topper-year{font-size:11px;color:#00000080;margin-top:2px}.topper-desc{font-size:12px;line-height:1.5;color:#0009;margin-top:8px}.alumni-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.alumni-card{display:flex;gap:14px;padding:20px;background:var(--surface);border:1.5px solid rgba(0,0,0,.1);border-radius:14px;transition:border-color .2s,box-shadow .2s}.alumni-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000000f}.alumni-photo{width:120px;height:120px;border-radius:18px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:2px solid rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s}.alumni-photo--placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark);width:120px;height:120px;border-radius:18px;flex-shrink:0;border:2px solid rgba(0,0,0,.1)}.alumni-info{flex:1;min-width:0}.alumni-name{margin:0 0 4px;font:600 15px Playfair Display,serif;color:var(--text)}.alumni-role{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--primary-dark)}.alumni-year{display:inline-block;font-size:11px;font-weight:600;color:#00000080;margin-bottom:6px}.alumni-desc{font-size:12px;line-height:1.5;color:#0009}.alumni-preview-list{display:flex;flex-direction:column;gap:12px}.alumni-preview-item{display:flex;gap:12px;align-items:center;padding:12px;background:var(--bg);border:1.5px solid rgba(0,0,0,.08);border-radius:10px}.alumni-preview-photo{width:48px;height:48px;border-radius:10px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.alumni-preview-photo--placeholder{display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark)}.alumni-preview-info{flex:1;min-width:0}.alumni-preview-name{margin:0;font:600 14px Playfair Display,serif;color:var(--text)}.alumni-preview-role{margin:2px 0 0;font-size:12px;color:var(--primary-dark);font-weight:600}.alumni-preview-year{font-size:11px;color:#00000080}.load-more-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px}.load-more-count{font-size:12px;color:#00000080;font-weight:600}.map-embed{width:100%;height:320px;border-radius:14px;overflow:hidden;border:1.5px solid rgba(0,0,0,.12);background:var(--bg)}.map-embed iframe{width:100%;height:100%;border:0}.activity-card--compact{padding:16px;text-align:center}.activity-card--compact .activity-icon{margin:0 auto 8px}.activity-card--compact .activity-name{margin:0;font-size:13px}.gallery-thumb{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;border:1.5px solid rgba(0,0,0,.1)}.gallery-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gallery-thumb-label{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;background:linear-gradient(transparent,#0009);color:#fff;font-size:11px;font-weight:600}.gallery-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.gallery-thumb-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.1);cursor:pointer}.gallery-thumb-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s}.gallery-thumb-item:hover img{transform:scale(1.05)}.gallery-thumb-item button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s}.gallery-thumb-item:hover button{opacity:1}.item-links{display:flex;flex-wrap:wrap;gap:8px}.item-link{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1.5px solid rgba(0,0,0,.12);background:var(--bg);color:var(--primary-dark);font-size:13px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s}.item-link:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg))}.dashboard-welcome{margin-bottom:20px;padding:20px;background:var(--surface);border:1.5px solid rgba(0,0,0,.1);border-radius:14px}.dashboard-welcome h2{margin:0 0 6px;font:600 18px Playfair Display,serif;color:var(--text)}.dashboard-welcome p{margin:0;font-size:13px;color:#000000a6}.staff-photo-preview{width:160px;height:160px;border-radius:14px;-o-object-fit:cover;object-fit:cover;margin-top:10px;border:1.5px solid rgba(0,0,0,.1)}.activity-photo{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:10px;margin-bottom:8px}.staff-photo-thumb{width:56px;height:56px;border-radius:10px;-o-object-fit:cover;object-fit:cover;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.infrastructure-photo{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:10px;margin-bottom:10px}.infrastructure-photo-strip{display:flex;gap:6px;margin-top:10px;overflow-x:auto}.infrastructure-photo-strip img{width:56px;height:42px;border-radius:6px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.my-account-field{display:flex;flex-direction:column;gap:4px;padding:12px;border:1.5px solid rgba(0,0,0,.08);border-radius:10px;background:var(--bg)}.my-account-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#00000080}.my-account-value{font-size:14px;font-weight:600;color:var(--text)}.staff-mobile-menu-btn{display:none;position:fixed;top:14px;left:14px;z-index:90;width:40px;height:40px;border-radius:10px;border:1.5px solid rgba(0,0,0,.2);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;justify-content:center}.staff-mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.staff-sidebar-close{display:none;position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;border:none;background:#0000001a;color:#000000b3;cursor:pointer;align-items:center;justify-content:center}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.subject-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1.5px solid rgba(0,0,0,.1);background:var(--bg);font-size:13px;font-weight:600;color:var(--text)}.subject-chip svg{color:var(--primary-dark);flex-shrink:0}.steps-list{display:flex;flex-direction:column;gap:12px}.step-item{display:flex;align-items:center;gap:14px;padding:14px;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;background:var(--bg)}.step-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--text);font:700 14px Playfair Display,serif;flex-shrink:0}.step-text{font-size:14px;color:var(--text);font-weight:500}.doc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.doc-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);padding:8px 12px;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;background:var(--bg)}.doc-list svg{color:var(--primary-dark);flex-shrink:0}.gallery-grid--full{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.notice-card--full{padding:16px 18px}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.contact-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:var(--surface);border:1.5px solid rgba(0,0,0,.1);border-radius:14px;text-align:center}.contact-card svg{color:var(--primary-dark)}.contact-card h3{margin:0;font:600 15px Playfair Display,serif;color:var(--text)}.contact-card p{margin:0;font-size:13px;color:#000000a6;line-height:1.5}.contact-card--clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s;text-decoration:none;color:inherit}.contact-card--clickable:hover{border-color:var(--primary);box-shadow:0 4px 16px #00000014}.contact-card--clickable p{color:var(--primary-dark);font-weight:600}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3vh 3vw}.lightbox-img{max-width:90vw;max-height:80vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.lightbox-close{position:absolute;top:16px;right:16px;background:#ffffff26;border:none;color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.lightbox-close:hover{background:#ffffff4d}.lightbox-caption{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff}.lightbox-caption .gallery-item-cat{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.lightbox-caption .gallery-item-title{font:600 16px Playfair Display,serif}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:1}.lightbox-nav:hover{background:#ffffff4d}.lightbox-nav--prev{left:16px}.lightbox-nav--next{right:16px}.about-section-photo{cursor:pointer;transition:transform .3s,box-shadow .3s;border-radius:14px}.about-section-photo:hover{transform:scale(1.01);box-shadow:0 4px 20px #0000001f}.gallery-thumb,.gallery-item,.exhibition-photo,.infrastructure-photo,.activity-photo,.topper-photo{cursor:pointer}.topper-photo:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000001a}.alumni-photo{cursor:pointer}.alumni-photo:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000001a}.notice-popup{background:#fff;border-radius:16px;padding:32px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.notice-popup-title{font:700 22px Playfair Display,serif;color:#1a1a1a;margin:12px 0 16px}.notice-popup-body{font-size:15px;line-height:1.7;color:#333;white-space:pre-wrap}.notice-card--full{cursor:pointer;transition:border-color .2s,box-shadow .2s}.notice-card--full:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000000f}.gallery-item{cursor:pointer}.contact-form{display:flex;flex-direction:column;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form .cta-btn{align-self:flex-start}@media (max-width: 700px){.contact-grid,.form-row,.info-grid{grid-template-columns:1fr}.gallery-grid--full,.subject-grid{grid-template-columns:1fr 1fr}.map-embed{height:240px}.lightbox-img{max-width:95vw;max-height:70vh}.notice-popup{padding:20px;margin:0 8px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.bg-mandala,.bg-glow,.bg-shape{animation:none}}.about-school-section{display:flex;flex-direction:column;gap:24px;align-items:center}.about-school-photo{width:100%;max-width:520px;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:14px;border:1.5px solid var(--border);box-shadow:0 4px 20px #00000014}.about-school-text{width:100%}.about-principal{display:flex;gap:32px;align-items:flex-start}.about-principal-photo{width:320px;height:380px;border-radius:22px;-o-object-fit:cover;object-fit:cover;border:4px solid var(--primary);flex-shrink:0;box-shadow:0 6px 28px #0000001f;cursor:pointer;transition:transform .3s,box-shadow .3s}.about-principal-photo:hover{transform:scale(1.03);box-shadow:0 10px 36px #0000002e}.about-principal-placeholder{display:grid;place-items:center;width:200px;height:240px;border-radius:16px;background:color-mix(in srgb,var(--primary) 12%,var(--bg));color:var(--primary-dark);border:3px solid var(--primary);flex-shrink:0}.about-principal-info{flex:1;min-width:0}.about-principal-name{margin:0 0 4px;font:600 clamp(18px,2.5vw,24px) "Playfair Display",serif;color:var(--text)}.about-principal-quote{margin:0 0 12px;font:italic 15px/1.6 Playfair Display,serif;color:var(--primary-dark);border-left:3px solid var(--primary);padding-left:14px}.about-principal-desc{margin:0;font-size:clamp(13px,1.3vw,15px);line-height:1.8;color:var(--text)}.gallery-event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:16px}.gallery-event-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s;box-shadow:0 1px 4px #0000000a}.gallery-event-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a;border-color:var(--primary)}.gallery-event-cover{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover}.gallery-event-body{padding:16px 18px 18px}.gallery-event-title{margin:0 0 6px;font:600 16px/1.3 Playfair Display,serif;color:var(--text)}.gallery-event-date{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);letter-spacing:.06em;margin-bottom:8px}.gallery-event-desc{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-event-count{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:11px;font-weight:600;color:var(--primary-dark)}.gallery-event-detail{margin-bottom:16px}.gallery-event-detail-header{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:20px 24px;margin-bottom:16px;box-shadow:0 1px 3px #00000008}.gallery-event-detail-title{margin:0 0 6px;font:600 clamp(20px,3vw,28px)/1.2 "Playfair Display",serif;color:var(--text)}.gallery-event-detail-date{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.gallery-event-detail-desc{margin:0;font-size:14px;line-height:1.7;color:var(--text)}.gallery-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.gallery-photo-item{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:pointer}.gallery-photo-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s}.gallery-photo-item:hover img{transform:scale(1.05)}.gallery-photo-item-date{position:absolute;bottom:0;left:0;right:0;padding:4px 10px;background:linear-gradient(transparent,#0009);color:#fff;font-size:10px;font-weight:600}.gallery-back-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--primary-dark);cursor:pointer;transition:gap .2s;background:none;border:none;padding:0}.gallery-back-btn:hover{gap:10px}.activity-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.activity-cat-tab{padding:10px 20px;border-radius:12px;font-size:13px;font-weight:700;color:var(--text);background:var(--bg-alt);border:1.5px solid var(--border);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000008}.activity-cat-tab:hover{border-color:var(--primary);transform:translateY(-1px)}.activity-cat-tab--active{color:var(--text);background:var(--primary);border-color:var(--primary)}.activity-detail-header{background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:16px;box-shadow:0 1px 3px #00000008}.activity-detail-title{margin:0 0 8px;font:600 clamp(20px,3vw,28px)/1.2 "Playfair Display",serif;color:var(--text)}.activity-detail-date{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);margin-bottom:12px}.activity-detail-desc{margin:0;font-size:14px;line-height:1.7;color:var(--text)}.activity-internal-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;border-bottom:2px solid var(--border);padding-bottom:0}.activity-internal-tab{padding:10px 18px;border-radius:8px 8px 0 0;font-size:12px;font-weight:700;color:var(--text-muted);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-2px}.activity-internal-tab:hover{color:var(--text)}.activity-internal-tab--active{color:var(--primary-dark);border-bottom-color:var(--primary)}.activity-sub-tab-content{min-height:200px}.content-area{max-width:1080px;margin:0 auto;padding:clamp(20px,4vw,40px) clamp(16px,4vw,40px)}.section-card{margin-bottom:24px}.section-card-title{margin-bottom:16px}.body-text{line-height:1.8}.home-preview-grid{gap:20px;margin-bottom:32px}.home-preview-card{padding:28px}.home-preview-card p{line-height:1.7}.info-grid{gap:16px;margin-bottom:24px}.info-card{padding:22px}.upload-progress-bar{width:100%;height:6px;border-radius:3px;background:#0000001a;overflow:hidden;margin-top:8px}.upload-progress-fill{height:100%;border-radius:3px;background:var(--primary);transition:width .3s ease}.upload-preview-row{display:flex;align-items:center;gap:14px;margin-top:10px}.upload-preview-img{width:80px;height:80px;border-radius:10px;-o-object-fit:cover;object-fit:cover;border:1.5px solid rgba(0,0,0,.12)}.upload-preview-info{flex:1;min-width:0}.upload-retry-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:var(--bg);color:var(--primary-dark);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}.upload-retry-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--bg))}.infrastructure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.infrastructure-card{display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;text-align:left;padding:0;transition:transform .3s,box-shadow .3s;box-shadow:0 1px 3px #00000008}.infrastructure-card:hover{transform:translateY(-3px);box-shadow:0 6px 24px #0000001a}.infrastructure-card-img{width:100%;height:200px;-o-object-fit:cover;object-fit:cover}.infrastructure-card-icon{height:200px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 8%,var(--bg-alt));color:var(--primary)}.infrastructure-card-body{padding:14px 16px}.infrastructure-card-body h3{font-size:16px;font-weight:700;margin:0 0 4px}.infrastructure-card-body p{font-size:13px;color:#0009;margin:0 0 10px;line-height:1.5}.infrastructure-card-link{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:8px;font-size:12.5px;font-weight:700;color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);transition:all .25s cubic-bezier(.2,.7,.2,1)}.infrastructure-card:hover .infrastructure-card-link{gap:8px;background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 3px 10px #0000000f}.infrastructure-detail{background:var(--bg);border-radius:16px;max-width:700px;width:90%;max-height:85vh;overflow-y:auto;padding:28px;margin:auto}.infrastructure-detail-title{font-size:22px;font-weight:800;margin:0 0 12px}.infrastructure-detail-desc{font-size:15px;line-height:1.6;color:#000000b3;margin:0 0 8px}.infrastructure-links{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.infrastructure-link-item{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);transition:all .2s ease;text-decoration:none}.infrastructure-link-item:hover{background:color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent);transform:translate(2px);box-shadow:0 2px 8px #0000000f}.infrastructure-video{position:relative;width:100%;padding-bottom:56.25%;border-radius:12px;overflow:hidden;margin-bottom:8px}.infrastructure-video-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.infrastructure-video-frame iframe{width:100%;height:100%;border:0}@media (max-width: 700px){.infrastructure-grid{grid-template-columns:1fr}.infrastructure-detail{width:95%;padding:18px}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 8px 32px #00000026;animation:toast-in .3s ease-out;pointer-events:auto;max-width:360px}.toast--success{background:#16a34a;color:#fff}.toast--error{background:#dc2626;color:#fff}.toast--info{background:#2563eb;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 700px){.toast-container{bottom:12px;right:12px;left:12px}.toast{max-width:100%}.about-principal{flex-direction:column;align-items:center;text-align:center}.about-principal-photo,.about-principal-placeholder{width:78vw;max-width:300px;height:auto;aspect-ratio:5/6;margin:0 auto;-o-object-position:top center;object-position:top center}.about-principal-quote{border-left:none;border-top:3px solid var(--primary);padding-left:0;padding-top:10px}.about-school-photo{max-width:100%}.staff-photo--rounded{width:150px;height:150px}.topper-photo,.topper-photo--placeholder{width:120px;height:120px}.alumni-photo,.alumni-photo--placeholder{width:90px;height:90px}.home-preview-grid{gap:16px;margin-bottom:24px}.home-preview-card{padding:20px}.section-card{margin-bottom:20px}.info-grid{gap:12px}.info-card{padding:16px}}.gallery-event-grid--compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:10px!important}.gallery-event-card--compact{border-radius:10px}.gallery-event-cover--compact{aspect-ratio:16/10;max-height:100px;-o-object-fit:cover;object-fit:cover}.gallery-event-body--compact{padding:8px 10px}.gallery-event-title--compact{font-size:.8rem;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-grid--compact{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important;gap:10px!important}.info-card--compact{padding:10px;border-radius:10px}.info-card-thumb--compact,.info-card-icon--compact{height:80px}.resource-row--with-photo{align-items:flex-start}.resource-row-photo{width:48px;height:48px;border-radius:8px;-o-object-fit:cover;object-fit:cover;flex-shrink:0;cursor:pointer;border:1px solid var(--border);transition:transform .2s,box-shadow .2s}.resource-row-photo:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001f}.resource-row-name{font-size:13px;font-weight:700;color:var(--text)}.cta-btn:not(.cta-btn--glass):not(.cta-btn--outline):not(.cta-btn--danger){box-shadow:0 3px 10px #0000001a}.cta-btn:not(.cta-btn--glass):not(.cta-btn--outline):not(.cta-btn--danger):hover{box-shadow:0 6px 16px #00000026}.view-all{box-shadow:0 3px 10px #00000014}.view-all:hover{box-shadow:0 5px 14px #0000001f}.home-preview-link--solid{box-shadow:0 3px 10px #0000001a}.home-preview-link--solid:hover{box-shadow:0 5px 14px #00000026}.exhibition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.exhibition-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;box-shadow:0 1px 4px #0000000a;display:flex;flex-direction:column}.exhibition-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014;border-color:var(--primary)}.exhibition-card .exhibition-photo{width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:0}.exhibition-title{font-size:14px;font-weight:700;margin:0;padding:8px 10px 0;color:var(--text)}.exhibition-desc{font-size:12px;line-height:1.4;color:var(--text-muted);margin:0;padding:4px 10px 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exhibition-card .gallery-thumb-grid{padding:0 10px 8px;gap:6px}.exhibition-card .gallery-thumb-item{width:48px;height:48px;border-radius:6px}.exhibition-card .item-links{padding:0 10px 10px}.gallery-event-grid--page{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:14px!important}.gallery-event-card--page{border-radius:12px}.gallery-event-cover--page{aspect-ratio:16/10;max-height:130px}.gallery-event-body--page{padding:10px 12px 12px}.gallery-event-title--page{font-size:14px;margin:0 0 4px}.gallery-event-desc--page{font-size:12px;-webkit-line-clamp:1}.gallery-event-count{font-size:10px}.infrastructure-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.infrastructure-card{border-radius:12px}.infrastructure-card-img,.infrastructure-card-icon{height:140px}.infrastructure-card-body{padding:10px 12px}.infrastructure-card-body h3{font-size:14px}.infrastructure-card-body p{font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;display:-webkit-box;margin:0 0 8px}.activity-card--detailed{border-radius:12px}.activity-card--detailed .activity-photo{height:130px;-o-object-fit:cover;object-fit:cover}.activity-card--detailed .activity-name{font-size:14px}.activity-card--detailed .activity-desc{font-size:12px}
