:root{--navy:#152b3c;--blue:#8f1822;--sky:#fbf0dc;--orange:#d78a32;--text:#27221f;--muted:#6f6259}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.announcement{background:var(--navy);color:#fff;justify-content:center;align-items:center;gap:10px;height:40px;font-size:14px;display:flex}.announcement p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.header{z-index:20;background:#fff;justify-content:space-between;align-items:center;height:84px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0;box-shadow:0 3px 18px #0628461a}.brand{align-items:center;gap:12px;max-width:290px;display:flex}.brand img,.brand span{object-fit:contain;width:58px;height:58px}.brand span{background:var(--blue);color:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid}.brand strong{color:var(--navy);font-size:18px;line-height:1.2}.header nav{color:#243746;align-items:center;gap:25px;font-size:14px;font-weight:700;display:flex}.header nav>a:hover,.header summary:hover{color:var(--blue)}.header details{position:relative}.header summary{cursor:pointer;list-style:none}.header details div{border-top:3px solid var(--orange);background:#fff;min-width:150px;padding:8px;position:absolute;top:28px;right:0;box-shadow:0 12px 32px #152b3c33}.header details div a{padding:10px;display:block}.navCta{background:var(--orange);border-radius:4px;padding:13px 20px;color:#fff!important}.slider{background:var(--navy);height:620px;position:relative;overflow:hidden}.slide{color:#fff;opacity:0;background:linear-gradient(120deg,#152b3c,#8f1822) 50%/cover;align-items:center;height:620px;padding:0 max(24px,50vw - 590px);animation:18s infinite heroSlides;display:flex;position:absolute;inset:0}.slide2{animation-delay:6s}.slide3{animation-delay:12s}@keyframes heroSlides{0%{opacity:0;transform:scale(1.03)}5%,28%{opacity:1;transform:scale(1)}33%,to{opacity:0;transform:scale(1)}}.slide>div{max-width:700px}.slide span,.section header span,.noticeAdmin>div>span,.appointment span{text-transform:uppercase;letter-spacing:2px;color:var(--orange);font-size:12px;font-weight:800}.slide h1{margin:18px 0;font:700 clamp(44px,6vw,76px)/1.08 Georgia,serif}.slide p{max-width:650px;font-size:19px;line-height:1.7}.slide a,.appointment a{background:var(--orange);color:#fff;border-radius:4px;margin-top:18px;padding:15px 25px;font-weight:800;display:inline-block}.section{max-width:1180px;margin:auto;padding:92px 24px}.section>header{text-align:center;max-width:650px;margin:0 auto 45px}.section h2,.noticeAdmin h2,.appointment h2{color:var(--navy);margin:10px 0 14px;font:700 42px Georgia,serif}.section header p{color:var(--muted);line-height:1.7}.threeCards{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.threeCards article{background:#fff;border-radius:7px;transition:all .25s;overflow:hidden;box-shadow:0 10px 35px #082d4d1f}.threeCards article:hover{transform:translateY(-6px)}.threeCards img,.imageFallback{object-fit:cover;width:100%;height:220px}.imageFallback,.portraitFallback{background:linear-gradient(135deg,#f8e6c8,#fdf0dc);place-items:center;font-size:70px;display:grid}.threeCards article>div:not(.imageFallback){padding:25px}.threeCards h3,.people h3,.administrator h3{color:var(--navy);margin:0 0 10px;font:700 23px Georgia,serif}.threeCards p,.people p,.administrator p{color:var(--muted);line-height:1.65}.noticeAdmin{background:var(--sky);grid-template-columns:1fr 1fr;gap:70px;padding:85px max(24px,50vw - 590px);display:grid}.noticeAdmin>div{background:#fff;border-radius:7px;padding:42px;box-shadow:0 12px 35px #082d4d14}.noticeItem{border-top:1px solid #ead7b5;grid-template-columns:90px 1fr;align-items:center;padding:16px 0;display:grid}.noticeItem b{color:var(--blue);font-size:13px}.noticeItem p{margin:0}.administrator{text-align:center}.administrator img{object-fit:cover;border:7px solid var(--sky);border-radius:50%;width:160px;height:160px;margin:10px auto 20px}.administrator strong{color:var(--blue)}.tint{background:#fff8ed;max-width:none;padding-inline:max(24px,50vw - 566px)}.compact img{height:190px}.appointment{background:linear-gradient(100deg,var(--navy),#8f1822);color:#fff;justify-content:space-between;align-items:center;gap:40px;padding:65px max(24px,50vw - 590px);display:flex}.appointment h2{color:#fff}.appointment p{color:#f6dcae;margin:0}.people{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.people article{text-align:center;background:#fff;padding-bottom:20px;box-shadow:0 10px 32px #082d4d1a}.people img,.portraitFallback{object-fit:cover;width:100%;height:300px}.people h3{margin:20px 15px 5px}.people p{margin:0 15px}.pageHero{text-align:center;background:var(--sky);padding:100px max(24px,50vw - 500px)}.pageHero h1{color:var(--navy);margin:15px;font:700 clamp(42px,6vw,68px) Georgia,serif}.pageHero p{color:var(--muted);line-height:1.7}.eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:2px;font-weight:800}.cards,.contactCard{grid-template-columns:repeat(3,1fr);gap:25px;max-width:1132px;margin:70px auto;padding:0 24px;display:grid}.cards article,.contactCard div{background:#fff;padding:32px;box-shadow:0 8px 28px #152b3c1a}.cards h2{color:var(--navy);font-family:Georgia,serif}.wideCta{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;max-width:1132px;margin:60px auto;padding:45px;display:flex}.wideCta h2{margin:8px 0}.button{background:var(--orange);padding:14px 20px}.contact{min-height:600px}footer{color:#ead8b6;background:#0d2131;grid-template-columns:1.1fr .7fr 1.2fr 1fr;gap:45px;padding:70px max(24px,50vw - 590px) 25px;display:grid}footer h3{color:#fff;margin-top:0;font:700 21px Georgia,serif}footer section>a{margin:12px 0;display:block}.footerGallery{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.footerGallery img{object-fit:cover;width:100%;height:65px}footer form{display:flex}footer input{border:0;min-width:0;padding:12px}footer button{background:var(--orange);color:#fff;border:0;font-weight:800}.copyright{text-align:center;border-top:1px solid #ffffff24;grid-column:1/-1;padding-top:25px;font-size:13px}@media (width<=900px){.header{height:auto;padding:16px 20px}.header nav>a:not(.navCta),.header details{display:none}.brand strong{font-size:15px}.slider,.slide{height:520px}.threeCards,.people,.cards,.contactCard{grid-template-columns:1fr}.noticeAdmin{grid-template-columns:1fr;gap:25px;padding:60px 24px}.appointment{flex-direction:column;align-items:flex-start}.wideCta{flex-direction:column;align-items:flex-start;gap:20px;margin:40px 24px}footer{grid-template-columns:1fr 1fr}}@media (width<=560px){.announcement{padding:0 12px;font-size:12px}.navCta{padding:10px 12px}.slider,.slide{height:480px}.slide h1{font-size:40px}.section{padding:65px 18px}.noticeAdmin>div{padding:27px}.noticeItem{grid-template-columns:1fr;gap:5px}footer{grid-template-columns:1fr}}:root{--cream:#fff8ed;--maroon:#71141d;--gold-soft:#ead7b5}body{background:radial-gradient(circle at 92% 2%, #d78a3226, transparent 28rem), linear-gradient(180deg, var(--cream), #f8ead3)}::selection{background:var(--maroon);color:var(--cream)}:focus-visible{outline-offset:3px;outline:3px solid #d78a3299}.announcement{background:linear-gradient(90deg, var(--maroon), #8f1822 50%, var(--navy));border-bottom:1px solid #d78a328c}.header{border-bottom:1px solid var(--gold-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff8edf5;box-shadow:0 8px 30px #152b3c1a}.brand{max-width:360px}.brand img{object-fit:cover;border:3px solid var(--orange);border-radius:50%;width:64px;height:64px;box-shadow:0 8px 22px #71141d38}.brand strong{color:var(--navy);font-family:Georgia,serif}.navCta,.button,.slide a,.appointment a,footer button{background:linear-gradient(135deg, var(--orange), #ad5b25);box-shadow:0 10px 26px #a9582438}.slider,.slide{background-color:var(--maroon)}.threeCards article,.people article,.noticeAdmin>div,.cards article,.contactCard div{background:#fffaf0f5;border:1px solid #d78a3238;box-shadow:0 14px 38px #47231f1a}.imageFallback,.portraitFallback,.pageHero,.noticeAdmin,.tint{background:linear-gradient(145deg,#fff8ed,#f2ddba)}.appointment,.wideCta{background:radial-gradient(circle at 82% 15%, #d78a324d, transparent 18rem), linear-gradient(110deg, var(--navy), var(--maroon))}footer{background:radial-gradient(circle at 10% 10%, #d78a322e, transparent 16rem), linear-gradient(135deg, #0d2131, var(--navy) 60%, var(--maroon));border-top:4px solid var(--orange)}.footerBrand>img{object-fit:cover;border:3px solid var(--orange);border-radius:50%;width:86px;height:86px;margin-bottom:16px}@media (width<=560px){.brand img{width:52px;height:52px}.brand strong{max-width:180px}}.appState{text-align:center;background:linear-gradient(145deg,#fff8ed,#f2ddba);place-items:center;min-height:100vh;padding:32px;display:grid}.appState>div{background:#fffaf0;border:1px solid #d78a324d;max-width:560px;padding:40px;box-shadow:0 14px 38px #47231f1f}.appState h1{color:var(--navy);font-family:Georgia,serif}.appState p{color:var(--muted);line-height:1.6}.appState button{cursor:pointer;border:0}.welcomeScreen{text-align:center;color:#fffaf0;background:radial-gradient(circle at 50% 22%,#d78a3257,#0000 30%),linear-gradient(145deg,#071f36,#123f5e 58%,#6e2927);place-content:center;justify-items:center;gap:8px;min-height:100vh;padding:32px;display:grid;overflow:hidden}.welcomeMark{color:#ffd795;letter-spacing:2px;border:1px solid #ffe9beb3;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:18px;font:700 18px Georgia,serif;animation:.65s ease-out both welcomeMark;display:grid;box-shadow:0 0 0 8px #ffffff0b}.welcomeScreen p,.welcomeScreen span{color:#ffd795;letter-spacing:4px;text-transform:uppercase;margin:0;font-size:13px;font-style:normal;font-weight:700;animation:.55s ease-out 80ms both welcomeRise}.welcomeScreen h1{text-wrap:balance;max-width:820px;margin:5px 0;font:clamp(36px,7vw,76px)/1.06 Georgia,serif;animation:.6s ease-out .14s both welcomeRise}.welcomeScreen span{animation-delay:.2s}.welcomeScreen i{background:#ffffff2e;width:150px;height:2px;margin-top:24px;overflow:hidden}.welcomeScreen i:after{content:"";background:#e59b45;width:55%;height:100%;animation:.8s ease-in-out infinite alternate welcomeProgress;display:block}body{overflow-x:hidden}.announcement{animation:.65s cubic-bezier(.2,.8,.2,1) both dropIn}.announcement span{transform-origin:top;animation:2.8s ease-in-out infinite bellRing}.header{animation:.75s cubic-bezier(.2,.8,.2,1) 80ms both dropIn}.brand img{animation:4s ease-in-out infinite logoFloat}.header nav>a,.header summary{transition:color .25s,transform .25s;position:relative}.header nav>a:not(.navCta):after,.header summary:after{content:"";background:var(--orange);height:2px;transition:right .3s;position:absolute;bottom:-8px;left:0;right:100%}.header nav>a:hover:after,.header summary:hover:after{right:0}.header nav>a:hover,.header summary:hover{transform:translateY(-2px)}.heroSlider .slide{opacity:0;pointer-events:none;transition:opacity 1.15s,transform 7s;animation:none;transform:scale(1.08)}.heroSlider .slide.active{opacity:1;pointer-events:auto;z-index:2;transform:scale(1)}.heroSlider .slide>div{opacity:0;transition:opacity .8s .32s,transform .8s cubic-bezier(.2,.8,.2,1) .32s;transform:translateY(35px)}.heroSlider .slide.active>div{opacity:1;transform:translateY(0)}.heroSlider .slide h1{text-wrap:balance}.slideDots{z-index:4;gap:10px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.slideDots button{cursor:pointer;background:#ffffff59;border:1px solid #fff;border-radius:99px;width:10px;height:10px;padding:0;transition:width .3s,background .3s}.slideDots button.active{background:var(--orange);border-color:var(--orange);width:34px}.reveal{opacity:0;transition:opacity .85s,transform .85s cubic-bezier(.2,.75,.25,1);transform:translateY(44px)}.reveal.isVisible{opacity:1;transform:translateY(0)}.threeCards article,.people article,.cards article,.noticeItem,.adminList article,.storyGrid article{transition:transform .35s,box-shadow .35s,border-color .35s}.threeCards article:hover,.people article:hover,.cards article:hover,.adminList article:hover,.storyGrid article:hover{border-color:#d78a328c;transform:translateY(-10px);box-shadow:0 22px 48px #47231f2e}.threeCards img,.people img,.storyGrid img,.footerGallery img{transition:transform .65s,filter .4s}.threeCards article:hover img,.people article:hover img,.storyGrid article:hover img,.footerGallery img:hover{filter:saturate(1.08);transform:scale(1.055)}.threeCards article,.people article,.storyGrid article{overflow:hidden}.isVisible .threeCards article,.isVisible .people article,.isVisible .storyGrid article{animation:.72s both cardRise}.isVisible article:nth-child(2){animation-delay:.1s}.isVisible article:nth-child(3){animation-delay:.2s}.isVisible article:nth-child(4){animation-delay:.3s}.isVisible article:nth-child(5){animation-delay:.4s}.isVisible article:nth-child(6){animation-delay:.5s}.statsBand{z-index:5;border:1px solid var(--gold-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0f5;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:-52px auto 0;padding:30px 36px;display:grid;position:relative;box-shadow:0 18px 50px #152b3c29}.statsBand article{text-align:center;border-right:1px solid var(--gold-soft);gap:7px;display:grid}.statsBand article:last-child{border-right:0}.statsBand strong{color:var(--maroon);font:700 34px Georgia,serif}.statsBand span{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:13px}.storyGrid{gap:28px;display:grid}.storyGrid article{background:#fffaf0f5;border:1px solid #d78a323d;grid-template-columns:minmax(220px,.8fr) 1.2fr;display:grid;box-shadow:0 14px 38px #47231f1a}.storyGrid article:nth-child(2n){grid-template-columns:1.2fr minmax(220px,.8fr)}.storyGrid article:nth-child(2n) img{order:2}.storyGrid img{object-fit:cover;width:100%;height:280px}.storyGrid article>div{align-self:center;padding:38px}.storyGrid h3{color:var(--navy);margin:0 0 12px;font:700 28px Georgia,serif}.storyGrid p{color:var(--muted);line-height:1.7}.adminList{gap:28px;display:grid}.adminList article{border:1px solid #0000;padding:10px}.cardTeacher{font-weight:700;color:var(--maroon)!important}.compact small{color:var(--muted);border-top:1px solid var(--gold-soft);padding-top:12px;display:block}.people strong{color:var(--orange);margin:5px 15px;display:block}.pageHero.hasImage{background-position:50%;background-size:cover}.mapFrame{max-width:1084px;margin:0 auto 70px;padding:0 24px}.mapFrame iframe{border:1px solid var(--gold-soft);width:100%;height:420px;box-shadow:0 14px 38px #47231f1f}.button,.navCta,.slide a,.appointment a{transition:transform .25s,box-shadow .25s,filter .25s}.button:hover,.navCta:hover,.slide a:hover,.appointment a:hover{filter:brightness(1.07);transform:translateY(-3px);box-shadow:0 16px 32px #a958244d}@keyframes dropIn{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes bellRing{0%,82%,to{transform:rotate(0)}86%{transform:rotate(15deg)}90%{transform:rotate(-12deg)}94%{transform:rotate(8deg)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes cardRise{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeMark{0%{opacity:0;transform:scale(.78)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes welcomeProgress{0%{transform:translate(-110%)}to{transform:translate(190%)}}@media (width<=900px){.statsBand{max-width:none;margin:0}.storyGrid article,.storyGrid article:nth-child(2n){grid-template-columns:1fr}.storyGrid article:nth-child(2n) img{order:0}}@media (width<=560px){.statsBand{grid-template-columns:1fr;gap:20px}.statsBand article{border-right:0;border-bottom:1px solid var(--gold-soft);padding-bottom:18px}.statsBand article:last-child{border-bottom:0;padding-bottom:0}.storyGrid article>div{padding:26px}.storyGrid img{height:220px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
