/* school.css = polish + final-contact-responsive-style + final-gallery-caption-style
   Generated from the approved static design by scripts/extract/extract-css.mjs — do not edit by hand.
   The theme's markup mirrors the design's class names. */
/* ---- polish ---- */
/* ===== Final school-page polish pass ===== */
.school-section{margin:.75rem .5rem 0;border-radius:1.6rem;background:#fffdf9;color:#17213a;padding:clamp(3.5rem,6vw,6rem) clamp(1.25rem,4vw,4rem);overflow:hidden}
.school-container{width:min(100%,88rem);margin:0 auto}
.school-eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:#6d6870;font:600 .76rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.school-eyebrow::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#c9932d}
.school-heading{font-family:var(--serif);font-size:clamp(2.75rem,5vw,5rem);font-weight:600;line-height:.96;letter-spacing:-.03em;margin:.8rem 0 1.15rem;max-width:17ch;text-wrap:balance;color:#0b2148}
.school-lead{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.75;color:#625f66;max-width:58rem;margin:0}
.school-intro{max-width:68rem;margin-bottom:2.6rem}
.school-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.4rem}
.school-card{border:1px solid #ded5c8;border-radius:1.15rem;background:#f5efe6;padding:1.45rem;min-height:10.5rem}
.school-card .num{display:block;color:#b17d1c;font:700 .75rem/1 var(--sans);letter-spacing:.12em;margin-bottom:1.55rem}
.school-card h3{font-family:var(--serif);font-size:1.75rem;line-height:1.05;margin:0 0 .6rem;color:#0b2148}
.school-card p{margin:0;color:#6d6870;line-height:1.6;font-size:.92rem}
.school-quote{margin:2rem 0 0;border-left:3px solid #c9932d;padding:1.15rem 1.4rem;background:#f3ede3;border-radius:0 1rem 1rem 0;font-family:var(--serif);font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.25;color:#0b2148}
.school-pill-note{margin-top:1.35rem;padding:1rem 1.1rem;border-radius:1rem;background:#f3ede3;border:1px solid #ded5c8;color:#55525a;font-size:.9rem;line-height:1.6}

/* Mission / vision */
.mission-clean .school-heading,.vision-clean .school-heading{max-width:20ch}
.vision-core{padding:2rem;border-radius:1.25rem;background:linear-gradient(135deg,#0b2148,#102c5b);color:#fff;margin-top:2.2rem}
.vision-core p{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.05;letter-spacing:-.02em;margin:0;max-width:24ch}
.vision-core small{display:block;margin-top:1rem;color:rgba(255,255,255,.7);font-size:.88rem}

/* Prayers */
.prayer-clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.2rem}
.prayer-clean-card{border:1px solid #ded5c8;border-radius:1.1rem;padding:1.35rem 1.4rem;background:#fff;display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start}
.prayer-clean-card b{font:700 .72rem/1 var(--sans);color:#b17d1c;padding-top:.45rem}
.prayer-clean-card h3{font:600 1.65rem/1.08 var(--serif);color:#0b2148;margin:0 0 .45rem}
.prayer-clean-card p{margin:0;color:#6d6870;line-height:1.62;font-size:.92rem}

/* Leadership */
.leadership-clean{display:grid;grid-template-columns:minmax(18rem,25rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.leadership-photo{border-radius:1.3rem;overflow:hidden;background:#eee6db;box-shadow:0 1.5rem 4rem rgba(11,33,72,.12)}
.leadership-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.leadership-copy{padding-top:.4rem;max-width:56rem}
.leadership-copy .school-heading{margin-bottom:.6rem}
.leadership-role{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#b17d1c;font-weight:700;margin-bottom:1.6rem}
.leadership-copy p{font-size:1rem;line-height:1.82;color:#51505a;margin:0 0 1.1rem}
.leadership-sign{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #ded5c8;display:flex;flex-direction:column;gap:.15rem}
.leadership-sign strong{font-family:var(--serif);font-size:1.65rem;color:#0b2148}.leadership-sign span{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#6d6870}

/* Rules */
.rules-clean-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.52fr);gap:2rem;align-items:end;margin-bottom:2.2rem}
.rules-clean-head .school-intro{margin:0}.rules-clean-head .school-pill-note{margin:0}
.rules-clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;counter-reset:rule}
.rule-clean-card{border:1px solid #ded5c8;border-radius:1rem;background:#fff;padding:1.2rem 1.25rem;display:grid;grid-template-columns:3rem 1fr;gap:.85rem;min-height:8.2rem;align-items:start}
.rule-clean-card b{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;border:1px solid #d5a84e;color:#9b6d18;font:700 .72rem/1 var(--sans)}
.rule-clean-card p{margin:.2rem 0 0;color:#34394a;font-size:.95rem;line-height:1.65}
.admission-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2.1rem}
.admission-step{background:#0b2148;color:#fff;border-radius:1rem;padding:1.15rem}.admission-step b{color:#f0c96b;font-size:.72rem}.admission-step span{display:block;margin-top:1.2rem;font-family:var(--serif);font-size:1.3rem}

/* Gallery */
.gallery-clean-section .gallery-head{max-width:62rem;margin-bottom:2.2rem}.gallery-clean-section .gallery-head .eyebrow{color:#6d6870}.gallery-clean-section .gallery-head .eyebrow::before{background:#c9932d}.gallery-clean-section .gallery-head h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95;color:#0b2148;margin:.75rem 0 1rem}.gallery-clean-section .gallery-head p{color:#6d6870;line-height:1.7;max-width:55rem}
body.page-photo-gallery .gallery-clean-section .masonry{columns:unset!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}
body.page-photo-gallery .gallery-clean-section .masonry figure{break-inside:auto!important;margin:0!important;border-radius:1rem!important;overflow:hidden!important;background:#f3ede3!important;border:1px solid #ded5c8!important;position:relative!important;cursor:zoom-in!important;transform:none!important}
body.page-photo-gallery .gallery-clean-section .masonry figure img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;display:block!important;transform:none!important}
body.page-photo-gallery .gallery-clean-section .masonry figcaption{position:static!important;padding:.8rem 1rem!important;background:#fffdf9!important;color:#0b2148!important;font:600 1rem/1.25 var(--serif)!important;min-height:3.2rem!important}
.gallery-live{margin-top:1.5rem}.gallery-live .pill{background:#0b2148!important;color:#fff!important}

/* Video */
.video-clean-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(24rem,1.25fr);gap:2.2rem;align-items:center}
.video-clean-copy h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.8rem);line-height:.95;color:#0b2148;margin:.75rem 0 1rem}.video-clean-copy p{color:#6d6870;line-height:1.7;max-width:35rem}
.video-poster{position:relative;display:block;border-radius:1.25rem;overflow:hidden;background:#0b2148;box-shadow:0 1.4rem 4rem rgba(11,33,72,.14)}
.video-poster img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.72)}
.video-play{position:absolute;inset:0;display:grid;place-items:center}.video-play span{width:4.4rem;height:4.4rem;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b2148;font-size:1.5rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.2)}
.video-caption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;color:#fff;font:600 1.15rem/1.25 var(--serif)}
.video-archive-note{margin-top:2rem;border-top:1px solid #ded5c8;padding-top:1.4rem;color:#6d6870}

/* Contact */
.contact-clean-grid{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:2rem;align-items:start}
.contact-info-panel{background:#0b2148;color:#fff;border-radius:1.3rem;padding:2rem}.contact-info-panel .school-eyebrow{color:rgba(255,255,255,.65)}.contact-info-panel h2{font-family:var(--serif);font-size:clamp(2.6rem,4vw,4.25rem);line-height:.95;margin:.8rem 0 1rem}.contact-info-panel p{color:rgba(255,255,255,.72);line-height:1.7}
.contact-info-list{display:grid;gap:.8rem;margin-top:1.6rem}.contact-info-item{padding:1rem 0;border-top:1px solid rgba(255,255,255,.15)}.contact-info-item span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#f0c96b;margin-bottom:.35rem}.contact-info-item strong,.contact-info-item a{font-size:1rem;line-height:1.5;color:#fff}
.contact-form-panel{border:1px solid #ded5c8;border-radius:1.3rem;background:#f5efe6;padding:1.5rem}.contact-form-panel h3{font-family:var(--serif);font-size:2rem;margin:0 0 1.2rem;color:#0b2148}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.contact-form-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:600;color:#52505a}.contact-form-grid .full{grid-column:1/-1}.contact-form-grid input,.contact-form-grid textarea{border:1px solid #d6cec4;border-radius:.75rem;background:#fff;padding:.8rem .85rem;color:#17213a;width:100%}.contact-form-grid button{grid-column:1/-1;justify-self:start;margin-top:.2rem}

/* Hide experimental remnants on polished pages */
body.page-mission-statement .mission-kinetic,body.page-mission-statement .statement-word,body.page-our-vision .vision-rings,body.page-our-vision .vision-mark,body.page-prayers .prayer-halo,body.page-conduct-discipline .conduct-word,body.page-video-gallery .film-perforation{display:none!important}

@media(max-width:900px){
 .school-card-grid{grid-template-columns:1fr}.prayer-clean-grid,.rules-clean-grid{grid-template-columns:1fr}.leadership-clean,.rules-clean-head,.video-clean-grid,.contact-clean-grid{grid-template-columns:1fr}.leadership-photo{max-width:24rem}.admission-steps{grid-template-columns:repeat(2,1fr)}body.page-photo-gallery .gallery-clean-section .masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
 .school-section{margin:.5rem 0 0;padding:2.7rem 1rem}.school-heading{font-size:2.7rem}.prayer-clean-card,.rule-clean-card{grid-template-columns:2.5rem 1fr}.admission-steps{grid-template-columns:1fr}body.page-photo-gallery .gallery-clean-section .masonry{grid-template-columns:1fr!important}.contact-form-grid{grid-template-columns:1fr}.contact-form-grid .full{grid-column:auto}
}

/* ---- final-contact-responsive-style ---- */
.contact-master-section .contact-clean-grid{align-items:start!important}
.contact-form-intro{margin:.25rem 0 1.2rem;color:#6d6870;line-height:1.6}
.contact-form-grid select{width:100%;border:1px solid var(--hairline);border-radius:.8rem;padding:.8rem .9rem;background:#fff;color:var(--ink);font:inherit}
.optional-label{font-size:.68rem;font-weight:400;color:#8a858c;margin-left:.25rem}
.contact-map-shell{margin-top:1.2rem;border:1px solid var(--hairline);border-radius:1.15rem;overflow:hidden;background:#e9eef4;min-height:18rem}
.contact-map-shell iframe{display:block;width:100%;height:22rem;border:0}
@media(max-width:900px){.contact-master-section .contact-clean-grid{grid-template-columns:1fr!important}.contact-map-shell iframe{height:20rem}}
@media(max-width:600px){.contact-master-section{padding-left:1rem!important;padding-right:1rem!important}.contact-form-grid{grid-template-columns:1fr!important}.contact-form-grid .full{grid-column:auto!important}.contact-map-shell iframe{height:17rem}}

/* ---- final-gallery-caption-style ---- */
/* Final gallery caption treatment: translucent school navy overlay with white text. */
body.page-photo-gallery .gallery-clean-section .masonry figure{
  position:relative!important;
  overflow:hidden!important;
  background:#0b2148!important;
}
body.page-photo-gallery .gallery-clean-section .masonry figure img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  display:block!important;
}
body.page-photo-gallery .gallery-clean-section .masonry figcaption{
  position:absolute!important;
  z-index:3!important;
  left:.65rem!important;
  right:.65rem!important;
  bottom:.65rem!important;
  min-height:0!important;
  padding:.82rem 1rem!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:.85rem!important;
  background:rgba(6,21,47,.82)!important;
  color:#fff!important;
  font-family:var(--sans)!important;
  font-size:.9rem!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  box-shadow:0 .5rem 1.5rem rgba(0,0,0,.18)!important;
}
@media(max-width:640px){
  body.page-photo-gallery .gallery-clean-section .masonry figcaption{
    left:.5rem!important;right:.5rem!important;bottom:.5rem!important;
    padding:.72rem .85rem!important;font-size:.84rem!important;
  }
}
