:root{--navy:#142a45;--navy2:#0c2036;--cream:#f8f5ef;--paper:#fffdf8;--brick:#8b3a3a;--gold:#f2a93b;--green:#406b52;--ink:#26241f;--line:#ded6c5;--shadow:0 16px 34px rgba(20,42,69,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 Inter,"Segoe UI",sans-serif;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(20,42,69,.028) 32px);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;z-index:100;top:-60px;left:1rem;background:#fff;padding:.7rem}.skip-link:focus{top:1rem}.topbar{background:var(--navy);color:#fff;text-align:center;padding:.43rem 1rem;font-size:.78rem;letter-spacing:.03em}.site-header{background:var(--cream);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.crest{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--navy);color:#fff;border:3px solid var(--gold);font-weight:900}.brand strong,.brand small{display:block}.brand strong{font:700 clamp(1rem,2.1vw,1.32rem) Georgia,serif;color:var(--navy)}.brand small{font-size:.74rem;color:#5f625d}.site-nav{display:flex;gap:.55rem}.site-nav a{padding:.7rem .9rem;text-decoration:none;font-weight:800;border-bottom:3px solid transparent}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current]{color:var(--brick);border-color:var(--gold)}.nav-toggle{display:none}.hero{padding:clamp(3.2rem,7vw,6rem) 0 0}.hero-copy{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2.2rem}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:900;color:var(--gold)}.dark{color:var(--brick)}.gold{color:var(--gold)}h1,h2,h3{font-family:Fraunces,Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.08;margin:.2rem 0 1rem}h1{font-size:clamp(3.1rem,6vw,5.5rem);letter-spacing:-.045em}h1 em{color:var(--brick);font-weight:600}h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.035em}h3{font-size:1.38rem}.hero-intro{font-size:1.08rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-block;padding:.78rem 1rem;text-decoration:none;font-weight:900;border:2px solid var(--navy);cursor:pointer}.btn.navy{background:var(--navy);color:#fff}.btn.outline{color:var(--navy)}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 7px 16px rgba(20,42,69,.16);outline:3px solid rgba(242,169,59,.35)}.carousel{position:relative;height:clamp(500px,54vw,650px);background:var(--navy2);border:7px solid var(--navy);overflow:hidden}.slide{position:absolute;inset:0 0 100px;opacity:0;transition:opacity .65s ease;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover}.slide-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(12,32,54,.96));color:#fff;padding:4rem 1.4rem 1rem}.carousel-bottom{position:absolute;z-index:5;inset:auto 0 0;height:100px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;gap:1rem}.dots,.carousel-controls{display:flex;gap:.45rem}.dots button,.carousel-controls button{min-height:44px;border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-weight:800;cursor:pointer}.dots button{min-width:44px}.dots button[aria-current=true],.dots button:hover,.carousel-controls button:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}.carousel-controls button{padding:.5rem .7rem}.section{padding:clamp(3.5rem,7vw,6rem) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.section-head>p{max-width:28rem}.notice-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background:#e6decf;border:9px solid #b79b71;box-shadow:inset 0 0 25px rgba(72,47,20,.15)}.notice-board a{position:relative;background:var(--paper);padding:1.7rem;text-decoration:none;border-top:4px solid var(--brick);box-shadow:0 7px 16px rgba(58,39,22,.1)}.notice-board a:hover{transform:translateY(-3px)}.notice-board small{color:var(--brick);text-transform:uppercase;font-weight:900;letter-spacing:.12em}.notice-no{float:right;font:700 2rem Georgia;color:var(--gold)}.programs-section{background:var(--navy2);color:#fff}.programs-section h2,.programs-section h3{color:#fff}.programs-section .section-head{border-color:rgba(255,255,255,.25)}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.2)}.program-grid article{padding:2rem;min-height:230px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.program-grid article span{font:700 1.8rem Georgia;color:var(--gold)}.program-grid .featured{background:var(--navy);border-top:4px solid var(--gold)}.leadership{background:var(--cream)}.leadership-grid{display:grid;grid-template-columns:.72fr 1.28fr;background:var(--navy);color:#fff}.leadership figure{margin:0;background:var(--navy2);padding:1rem}.leadership img{width:100%;height:520px;object-fit:contain}.leadership-grid>div{padding:clamp(2rem,5vw,4rem);align-self:center}.leadership h2{color:#fff}.signature{border-left:3px solid var(--gold);padding-left:1rem;display:flex;flex-direction:column}.signature span{color:var(--gold)}.page-hero{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--navy);color:#fff}.page-hero h1{color:#fff;font-size:clamp(2.8rem,5.5vw,4.8rem)}.page-hero p:last-child{font-size:1.1rem}.content-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.content-grid figure{margin:0;border:7px solid var(--navy)}.content-grid figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.content-grid figcaption{background:var(--navy);color:#fff;padding:.6rem}.content-grid.reverse>div{order:2}.alt-section{background:var(--paper)}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.features article{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.features span{color:var(--gold);font:700 1.7rem Georgia}.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.staff-group-label{grid-column:1/-1;border-bottom:2px solid var(--navy);padding-bottom:.7rem;margin:2rem 0 0}.teacher-card{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:0 8px 20px rgba(20,42,69,.08)}.teacher-card img{width:100%;height:390px;object-fit:contain;background:#efe8da}.teacher-info{padding:1rem}.teacher-info p{margin:0}.tag{color:var(--brick);text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.1em}.teacher-card.head-master{grid-column:1/-1;display:grid;grid-template-columns:.72fr 1.28fr;background:var(--navy2);color:#fff}.teacher-card.head-master img{height:520px;background:var(--navy2)}.teacher-card.head-master .teacher-info{padding:3rem;align-self:center}.teacher-card.head-master h3{font-size:3rem;color:#fff}.contact-grid{align-items:start}.contact-card{display:flex;flex-direction:column;background:var(--navy);color:#fff;padding:1.3rem;text-decoration:none;overflow-wrap:anywhere;border-left:5px solid var(--gold)}.contact-card span{color:var(--gold);font-size:.78rem}.contact-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:1.2rem;border:6px solid var(--navy)}form{display:grid;gap:.45rem}label{font-weight:800;margin-top:.5rem}input,textarea{width:100%;padding:.75rem;border:1px solid #7e8580;background:var(--paper);font:inherit}input:focus,textarea:focus{outline:3px solid rgba(242,169,59,.4);border-color:var(--navy)}form .btn{justify-self:start;background:var(--navy);color:#fff;margin-top:.8rem}.site-footer{background:var(--navy2);color:#fff;padding:4rem 0 1.3rem}.site-footer h3{color:var(--gold)}.footer-grid{display:grid;grid-template-columns:1.3fr .6fr 1fr;gap:3rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-grid a{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1rem;font-size:.8rem}
@media(max-width:820px){.nav-toggle{display:block;background:var(--cream);border:1px solid var(--navy);min-height:44px}.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--cream);padding:1rem 20px;flex-direction:column}.site-nav.open{display:flex}.hero-copy{grid-template-columns:1fr;gap:1rem}.carousel{height:560px}.notice-board{grid-template-columns:1fr}.program-grid{grid-template-columns:1fr 1fr}.leadership-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.content-grid.reverse>div{order:initial}.features{grid-template-columns:1fr}.faculty-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:540px){.container{width:calc(100% - 24px)}.topbar{font-size:.7rem}.header-inner{min-height:76px}.site-nav{top:76px}.crest{width:44px;height:44px}.brand small{display:none}h1{font-size:2.8rem}.carousel{height:500px;border-width:4px}.slide{bottom:132px}.carousel-bottom{height:132px;flex-direction:column;align-items:stretch;padding:.65rem}.dots{overflow-x:auto}.dots button{flex:0 0 44px}.carousel-controls button{flex:1}.carousel-controls span{display:none}.section-head{display:block}.program-grid,.faculty-grid,.footer-grid{grid-template-columns:1fr}.leadership-grid{display:block}.leadership img,.teacher-card img{height:auto;max-height:540px}.teacher-card.head-master{display:block}.teacher-card.head-master img{height:auto}.teacher-card.head-master .teacher-info{padding:1.2rem}.teacher-card.head-master h3{font-size:2rem}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide{transition:none}.btn,.notice-board a{transition:none}}

.map-section{margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:2px solid var(--navy)}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.map-heading h2{font-size:clamp(1.8rem,3vw,2.5rem)}.map-link{color:var(--navy);font-weight:900;text-decoration-color:var(--gold);text-underline-offset:4px}.map-section address{font-style:normal;font-weight:800;margin:0 0 1rem;padding-left:1rem;border-left:4px solid var(--gold)}.map-frame{width:100%;aspect-ratio:16/10;min-height:320px;border:6px solid var(--navy);background:var(--navy)}.map-frame iframe{display:block;width:100%;height:100%;min-height:308px;border:0}@media(max-width:540px){.map-heading{display:block}.map-link{display:inline-block;margin-bottom:1rem}.map-frame{aspect-ratio:4/5;min-height:300px;border-width:4px}.map-frame iframe{min-height:292px}}
/* Focused screenshot layout corrections */
.carousel{border:0;box-shadow:0 0 0 1px var(--navy);width:100%}
.slide{left:0;right:0;top:0;margin:0;padding:0;background:transparent}
.slide img{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:center center}
.slide:nth-child(1) img{object-position:center 42%}
.slide:nth-child(2) img{object-position:center center}
.slide:nth-child(3) img{object-position:center 45%}
.slide:nth-child(4) img{object-position:center 40%}
.slide:nth-child(5) img{object-position:center 42%}

.contact-grid>div:last-child{width:100%;max-width:560px}
.contact-grid form{width:100%;max-width:520px;gap:.2rem}
.contact-grid form label{margin-top:.3rem;font-size:.92rem}
.contact-grid form input,.contact-grid form textarea{padding:.58rem .68rem}
.contact-grid form textarea{min-height:108px;height:108px;resize:vertical}
.contact-grid form .btn{min-height:44px;margin-top:.55rem;padding:.55rem .85rem}
.contact-grid .map-section{width:100%;max-width:520px;margin-top:2.25rem;padding-top:1.5rem}
.contact-grid .map-frame{min-height:280px}
.contact-grid .map-frame iframe{min-height:268px}
@media(max-width:820px){.contact-grid>div:last-child,.contact-grid form,.contact-grid .map-section{max-width:620px;margin-left:auto;margin-right:auto}}
@media(max-width:540px){.carousel{box-shadow:none}.contact-grid form,.contact-grid .map-section{max-width:100%}.contact-grid form textarea{min-height:96px;height:96px}.contact-grid .map-frame{min-height:280px}.contact-grid .map-frame iframe{min-height:272px}}
.hero{background-color:transparent!important;background-image:none!important}

@media(max-width:540px){
  .carousel{height:auto!important;min-height:0!important;background:var(--navy)!important;overflow:hidden!important}
  .slides{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;background:var(--navy2)!important}
  .slide{display:none!important;position:absolute!important;inset:auto!important;width:100%!important;height:auto!important;margin:0!important;opacity:0!important}
  .slide.active{display:block!important;position:relative!important;opacity:1!important;pointer-events:auto!important}
  .slide img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1600/715!important;object-fit:contain!important;object-position:center!important;background:var(--navy2)!important}
  .slide-caption{position:static!important;display:block!important;width:100%!important;min-height:0!important;margin:0!important;padding:.7rem .85rem!important;background:var(--navy2)!important;color:#fff!important;font-size:.84rem!important;line-height:1.4!important}
  .carousel-bottom{position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;padding:.65rem!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.55rem!important;background:var(--navy)!important}
  .dots{width:100%!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.35rem!important;overflow:visible!important}
  .dots button{width:100%!important;min-width:0!important;min-height:42px!important;flex:auto!important}
  .carousel-controls{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.35rem!important}
  .carousel-controls button{width:100%!important;min-width:0!important;min-height:44px!important;padding:.45rem!important}

}