.hero-copy {
  padding-left: clamp(32px, 6vw, 90px);
  padding-right: 24px;
}

.nsm-hero-slider { transition:background-image .85s ease; }
.nsm-hero-slider::before { content:""; position:absolute; inset:0; z-index:1; background:transparent; pointer-events:none; }
.hero-slider-controls { position:absolute; z-index:5; left:clamp(32px,8vw,110px); bottom:34px; display:flex; align-items:center; gap:12px; }
.hero-slider-controls button { border:1px solid rgba(255,255,255,.65); background:rgba(18,18,18,.48); color:#fff; cursor:pointer; }
.hero-slider-prev,.hero-slider-next { width:42px; height:42px; font-size:20px; }
.hero-slider-dots { display:flex; gap:8px; }
.hero-slider-dot { width:10px; height:10px; padding:0; border-radius:50%; }
.hero-slider-dot.is-active { background:var(--orange); border-color:var(--orange); }
@media (prefers-reduced-motion:reduce) { .nsm-hero-slider { transition:none; } }

.gallery-more {
  margin-top: 30px;
  text-align: center;
}

.nsm-lightbox-photo {
  cursor: zoom-in;
}

.full-gallery-page .page-hero p:last-child {
  max-width: 650px;
  color: var(--muted);
  line-height: 1.7;
}

.full-gallery-grid {
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 300px;
}

.full-gallery-grid .gallery-item:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
}

.disclosure-content .disclosure-block {
  margin-bottom: 16px;
  padding: 26px;
  background: #fff;
  color: var(--ink);
}

.disclosure-block h3 {
  margin: 0 0 20px;
  color: var(--orange-dark);
  font: 400 24px Georgia, serif;
}

.disclosure-block .document-list {
  padding: 0;
}

.disclosure-page { padding-top: 80px; }
.disclosure-documents thead th { background: var(--ink); color: #fff; }
.disclosure-documents th:first-child,
.disclosure-documents td:first-child { width: 86px; }
.disclosure-documents th:last-child,
.disclosure-documents td:last-child { width: 160px; }
.disclosure-documents a { color: var(--orange-dark); font-weight: 800; }

.leader-photo-principal { object-position: center 34%; }
.leader-photo-director { object-position: center 24%; }
.sub-menu { background:var(--orange); border-top-color:var(--orange-dark); }
.sub-menu li+li { border-top:1px solid rgba(255,255,255,.28); }
.sub-menu li a,.sub-menu li a:hover { color:var(--ink); }
.sub-menu li a:hover { background:#fff3; color:var(--ink); }
.leader-read-more { margin-top:18px; padding:0; border:0; background:transparent; color:var(--orange-dark); font-weight:800; cursor:pointer; }
body.leadership-modal-open { overflow:hidden; }
.leadership-modal { position:fixed; z-index:120; inset:0; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(0,0,0,.78); }
.leadership-modal.is-open { display:flex; }
.leadership-modal-panel { position:relative; width:min(760px,92vw); max-height:88vh; overflow:auto; background:#fff; box-shadow:0 28px 70px rgba(0,0,0,.35); }
.leadership-modal-panel>div { padding:55px 48px; }
.leadership-modal-role { color:var(--orange-dark); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.leadership-modal-panel h2 { margin:24px 0; font:400 38px/1.15 Georgia,serif; }
.leadership { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#fffaf4 100%); }
.leadership:before { content:""; position:absolute; top:70px; right:-150px; width:360px; height:360px; border:1px solid rgba(237,123,18,.14); border-radius:50%; box-shadow:0 0 0 55px rgba(237,123,18,.035),0 0 0 110px rgba(237,123,18,.025); pointer-events:none; }
.leadership .nsm-wrap { position:relative; z-index:1; }
.leadership .section-head { margin-bottom:58px; }
.leadership .section-head>p { max-width:570px; }
.leader-grid { grid-template-columns:1fr; gap:42px; }
.leader-grid article { position:relative; grid-template-columns:minmax(300px,38%) 1fr; min-height:470px; background:#fff; border:1px solid rgba(32,32,32,.08); box-shadow:0 24px 65px rgba(37,27,18,.1); }
.leader-grid article:before { content:""; position:absolute; z-index:2; top:0; bottom:0; left:38%; width:5px; background:var(--orange); transform:translateX(-2px); }
.leader-grid article:nth-child(even) { grid-template-columns:1fr minmax(300px,38%); }
.leader-grid article:nth-child(even)>img { order:2; }
.leader-grid article:nth-child(even)>div { order:1; }
.leader-grid article:nth-child(even):before { left:62%; }
.leader-grid article>img { min-height:470px; object-position:center 24%; }
.leader-grid article>div { position:relative; display:flex; flex-direction:column; justify-content:center; padding:58px 64px; }
.leader-grid article>div:before { content:"“"; position:absolute; top:22px; right:38px; color:rgba(237,123,18,.13); font:110px/1 Georgia,serif; }
.leader-grid span { display:inline-flex; align-self:flex-start; padding:9px 13px; background:var(--cream); border-left:3px solid var(--orange); }
.leader-grid h3 { margin:24px 0 20px; font-size:clamp(30px,3vw,43px); }
.leader-grid blockquote { position:relative; z-index:1; max-width:680px; font-size:17px; line-height:1.85; }
.leader-read-more { align-self:flex-start; margin-top:26px; padding:12px 0 8px; border-bottom:2px solid var(--orange); transition:color .2s,border-color .2s; }
.leader-read-more:hover { color:var(--ink); border-color:var(--ink); }
.leadership-modal-message { color:var(--muted); font:italic 17px/1.8 Georgia,serif; white-space:pre-line; }
.leadership-modal-close { position:absolute; z-index:2; top:14px; right:14px; width:42px; height:42px; border:0; background:var(--orange); color:#fff; font-size:27px; cursor:pointer; }

.kindergarten-page-hero { position:relative; min-height:580px; overflow:hidden; background:var(--ink); }
.kindergarten-page-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.kindergarten-page-copy { position:relative; z-index:2; padding-top:130px; color:#fff; }
.kindergarten-page-copy h1 { max-width:720px; margin:0; font:400 clamp(48px,5.4vw,76px)/1.03 Georgia,serif; }
.kindergarten-page-copy>p:last-child { max-width:630px; font-size:17px; line-height:1.75; }
.kindergarten-method { background:#fff; }
.kindergarten-method-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; }
.kindergarten-method-grid img { width:100%; border-radius:22px; box-shadow:0 22px 55px rgba(37,27,18,.12); }
.kindergarten-method-grid h2 { margin:0 0 22px; font:400 clamp(38px,4vw,58px)/1.08 Georgia,serif; letter-spacing:-.035em; }
.kindergarten-method-grid p:last-child { color:var(--muted); font-size:17px; line-height:1.8; }
.kindergarten-features { background:var(--cream); }
.kindergarten-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.kindergarten-feature-grid article { padding:32px; border:1px solid var(--line); background:#fff; }
.kindergarten-feature-grid span { color:var(--orange-dark); font-weight:800; }
.kindergarten-feature-grid h3 { margin:35px 0 14px; font:400 25px Georgia,serif; }
.kindergarten-feature-grid p { color:var(--muted); font-size:14px; line-height:1.7; }
.kindergarten-page-gallery { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:14px; }
.kindergarten-page-gallery img { width:100%; height:330px; object-fit:cover; }
.info-hero { position:relative; min-height:560px; background-size:cover; background-position:center; }
.info-hero-academics { background-image:url('images/classroom-learning.jpeg'); }
.info-hero-admissions { background-image:url('images/kindergarten-activity.jpeg'); }
.info-hero-facilities { background-image:url('images/science-lab.jpeg'); }
.info-hero-copy { position:relative; z-index:2; max-width:720px; padding-top:135px; color:#fff; }
.info-hero-copy h1 { margin:0; font:400 clamp(48px,5vw,76px)/1.03 Georgia,serif; letter-spacing:-.04em; }
.info-hero-copy>p:last-child { max-width:610px; font-size:17px; line-height:1.75; }
.info-card-section { background:var(--cream); }
.info-card-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.info-card-grid article { padding:36px; border:1px solid var(--line); background:#fff; }
.info-card-grid span,.process-grid span { color:var(--orange-dark); font-weight:800; }
.info-card-grid h3,.safety-grid h3,.process-grid h3 { margin:35px 0 14px; font:400 25px Georgia,serif; }
.info-card-grid p,.safety-grid p,.process-grid p { color:var(--muted); font-size:14px; line-height:1.7; }
.split-story { display:grid; grid-template-columns:1fr 1fr; padding:0; background:var(--ink); color:#fff; }
.split-story-image { min-height:540px; background-size:cover; background-position:center; }
.split-story-copy { padding:85px 8vw; }
.split-story-copy h2,.community-vision h2,.admissions-page h2,.process-section h2,.admissions-details h2,.safety-section h2,.voices-page h2,.student-voices h2 { margin:0; font:400 clamp(38px,4vw,58px)/1.08 Georgia,serif; }
.split-story-copy li,.admissions-detail-grid li { margin:14px 0; line-height:1.65; }
.community-vision { background:#fff; }
.community-vision h2 { max-width:850px; }
.vision-points { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:45px; }
.vision-points p { margin:0; padding:28px; border-top:3px solid var(--orange); background:var(--cream); line-height:1.65; }
.age-grid,.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.age-grid article { padding:30px; background:var(--cream); border-left:4px solid var(--orange); }
.age-grid strong,.age-grid span { display:block; }
.age-grid strong { font:400 26px Georgia,serif; }
.age-grid span { margin-top:10px; color:var(--muted); }
.process-section { background:var(--cream); }
.process-grid { margin:0; padding:0; list-style:none; }
.process-grid li { padding:34px; background:#fff; }
.admissions-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.admissions-detail-grid article { padding:42px; border:1px solid var(--line); }
.safety-section,.student-voices { background:var(--ink); color:#fff; }
.safety-section .section-head>p { color:#bbb; }
.safety-grid { display:grid; grid-template-columns:repeat(5,1fr); }
.safety-grid article { padding:28px; border:1px solid #444; }
.safety-grid p { color:#bbb; }
.voices-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.voices-grid blockquote { margin:0; padding:30px; border-top:3px solid var(--orange); background:#fff; }
.voices-grid p { margin:0 0 24px; font:italic 17px/1.75 Georgia,serif; }
.voices-grid cite { font-style:normal; font-weight:800; }
.voices-grid cite span { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.voices-grid-dark blockquote { background:#292929; border-color:var(--orange); }
.voices-grid-dark cite span { color:#bbb; }
.testimonial-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.testimonial-track::-webkit-scrollbar { display:none; }
.testimonial-track blockquote { min-height:280px; margin:0; padding:34px; border-top:4px solid var(--orange); background:#fff; scroll-snap-align:start; }
.testimonial-track .voice-type { display:inline-block; padding:7px 10px; background:var(--cream); color:var(--orange-dark); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.testimonial-track p { font:italic 17px/1.75 Georgia,serif; }
.testimonial-track cite { display:block; margin-top:26px; font-style:normal; font-weight:800; }
.testimonial-track cite span { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.testimonial-controls { display:flex; align-items:center; gap:12px; margin-top:28px; }
.testimonial-controls button { width:46px; height:46px; border:1px solid var(--line); background:#fff; color:var(--orange-dark); font-size:20px; cursor:pointer; }
.testimonial-controls a { margin-left:auto; color:var(--orange-dark); font-weight:800; }
.testimonial-status { color:var(--muted); font-size:12px; }
@media(max-width:1050px) and (min-width:781px){.testimonial-track{grid-auto-columns:calc((100% - 20px)/2)}}
.footer-map { grid-column:1/-1; margin-top:8px; overflow:hidden; border-top:1px solid #3b3b3b; }
.footer-map iframe { display:block; width:100%; height:230px; border:0; opacity:.82; filter:saturate(.75); }

.facility-grid article {
  background: var(--orange);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
  transition: background 0.25s ease, transform 0.25s ease;
}

.facility-grid article > span,
.facility-grid article > p {
  color: #fff;
}

.facility-grid article:hover {
  background: var(--orange-dark);
  transform: translateY(-5px);
}

@media (max-width: 780px) {
  .hero-copy {
    padding-left: 24px;
    padding-right: 24px;
  }
  .hero-slider-controls { left:24px; bottom:22px; }

  .full-gallery-grid {
    grid-template-columns: 1fr;
  }
  .kindergarten-method-grid,.kindergarten-feature-grid,.kindergarten-page-gallery { grid-template-columns:1fr; }
  .info-hero { min-height:500px; }
  .info-hero-copy { padding-top:100px; }
  .info-hero-copy h1 { font-size:46px; }
  .info-card-grid,.split-story,.vision-points,.age-grid,.process-grid,.admissions-detail-grid,.safety-grid,.voices-grid { grid-template-columns:1fr; }
  .testimonial-track { grid-auto-columns:100%; }
  .testimonial-controls a { font-size:12px; }
  .split-story-image { min-height:360px; }
  .split-story-copy { padding:65px 8vw; }
  .admissions-detail-grid article { padding:30px; }
  .leader-grid article { grid-template-columns:1fr; min-height:0; }
  .leader-grid article:nth-child(even) { grid-template-columns:1fr; }
  .leader-grid article:nth-child(even)>img,.leader-grid article:nth-child(even)>div { order:initial; }
  .leader-grid article:before,.leader-grid article:nth-child(even):before { top:360px; right:0; bottom:auto; left:0; width:auto; height:5px; transform:none; }
  .leader-grid article>img { display:block; width:100%; height:360px; min-height:0; object-fit:cover; border:0; outline:0; box-shadow:none; }
  .leader-grid article>div { padding:34px 26px; }
  .leader-grid article>div:before { top:12px; right:18px; font-size:78px; }
  .leader-grid h3 { font-size:30px; }
  .leadership-modal-panel>div { padding:34px 26px; }
  .kindergarten-page-copy { padding-top:90px; }
}
