/* inner.css = inner-page + signature-page + headline-flow + density-link-fix + reading-flow + achievement-detail
   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. */
/* ---- inner-page ---- */
/* Sacred Heart inner-page system — derived from the school-approved homepage */
:root{
  --inner-max:92rem;
  --inner-pad:clamp(1rem,3vw,3rem);
  --navy:#0b2148;
  --navy-deep:#06152f;
  --maroon:#8f1422;
  --gold:#c9932d;
  --paper:#fbf8f1;
  --card:#fffdf9;
  --sand:#f3ede3;
  --ink:#17213a;
  --muted:#6d6870;
}
body.inner-page{background:var(--background);color:var(--ink);}
body.inner-page main{padding:.75rem;overflow:hidden;}
body.inner-page footer{margin:.75rem; margin-top:0;}
.inner-page .premium-top-header{position:relative;z-index:20;}
.inner-page .menu-logo{background:transparent!important;border-radius:0!important;padding:0!important;}
.inner-page .reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.inner-page .reveal.in{opacity:1;transform:none}

/* ---------- Hero family ---------- */
.inner-hero{
  position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-card-lg);
  min-height:clamp(34rem,70svh,51rem);background:
  radial-gradient(circle at 85% 12%,rgba(201,147,45,.18),transparent 24rem),
  linear-gradient(135deg,var(--brand-dark),var(--brand-deep) 66%,#102c5b);color:white;
  display:flex;flex-direction:column;
}
.inner-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(6,21,47,.12),rgba(6,21,47,.36) 50%,rgba(6,21,47,.88));pointer-events:none}
.inner-hero.with-photo::after{background:linear-gradient(180deg,rgba(6,21,47,.74),rgba(6,21,47,.23) 34%,rgba(6,21,47,.91));}
.inner-hero-media{position:absolute;z-index:-3;inset:-5% 0 0;width:100%;height:110%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.03)}
.inner-hero-shade{position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 82% 18%,rgba(201,147,45,.17),transparent 28%)}
.inner-hero-content{width:100%;max-width:var(--inner-max);margin:auto auto 0;padding:3.6rem var(--inner-pad) 3.2rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.55fr);gap:4rem;align-items:end}
.hero-copy-block{max-width:64rem}
.crumbs{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.crumbs a{color:rgba(255,255,255,.82)}
.crumbs span:nth-child(2){color:var(--gold)}
.inner-kicker{display:inline-flex;align-items:center;gap:.65rem;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#efd79d;font-weight:600}
.inner-kicker::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--maroon);box-shadow:0 0 0 .28rem rgba(143,20,34,.18)}
.inner-hero h1{font-family:var(--serif);font-size:clamp(4.2rem,7.6vw,8.5rem);line-height:.84;letter-spacing:-.045em;margin:1rem 0 0;max-width:10ch;text-wrap:balance;color:white}
.inner-hero .hero-copy-block>p{font-family:var(--serif);font-size:clamp(1.5rem,2.3vw,2.25rem);line-height:1.08;max-width:33rem;margin:1.4rem 0 0;color:rgba(255,255,255,.82)}
.inner-hero-aside{justify-self:end;width:min(100%,22rem);border-top:1px solid rgba(255,255,255,.22);padding-top:1rem;display:grid;gap:.35rem;color:white}
.inner-hero-aside span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.52)}
.inner-hero-aside strong{font-family:var(--serif);font-size:1.7rem;line-height:1.05;font-weight:700}
.inner-hero-aside small{font-size:.7rem;color:rgba(255,255,255,.62);line-height:1.55}
.hero-statement{min-height:clamp(32rem,60svh,44rem)}
.hero-statement h1{max-width:8.5ch}
.hero-utility{min-height:clamp(30rem,56svh,40rem)}
.hero-utility h1{font-size:clamp(3.9rem,6.5vw,7rem);max-width:11ch}
.hero-leadership{min-height:clamp(37rem,72svh,52rem)}
.hero-leadership .inner-hero-media{object-position:center 36%}
.hero-visual{min-height:clamp(40rem,82svh,58rem)}

/* ---------- shared stages ---------- */
.section-surface,.section-paper,.dark-stage,.statement-stage,.prayer-stage,.quiet-next{border-radius:var(--radius-card-lg);margin-top:.75rem;overflow:hidden}
.section-surface{background:linear-gradient(180deg,#fffaf3,var(--background));padding:clamp(4rem,7vw,7rem) var(--inner-pad)}
.section-paper{background:var(--surface-card);padding:clamp(4rem,7vw,7rem) var(--inner-pad)}
.dark-stage{background:
  radial-gradient(circle at 92% 5%,rgba(201,147,45,.18),transparent 25rem),
  linear-gradient(135deg,var(--brand-dark),var(--brand-deep) 66%,#102c5b);color:white;padding:clamp(4rem,7vw,7rem) var(--inner-pad)}
.dark-stage .eyebrow.light{color:rgba(255,255,255,.72)}
.text-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.13em;color:var(--brand);font-weight:600}
.text-link:hover{color:var(--brand-deep)}

/* ---------- About ---------- */
.story-opening-grid{max-width:var(--inner-max);margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(26rem,1.2fr);gap:5rem;align-items:center}
.story-intro{max-width:36rem}
.story-intro h2,.photo-narrative h2,.infra-closer h2,.achievement-intro h2,.contact-details h2,.careers-stage h2,.site-map-head h2,.download-head h2,.notice-archive-head h2,.topper-intro h2,.video-foot h2{font-family:var(--serif);font-size:clamp(3.4rem,5.4vw,6rem);line-height:.9;letter-spacing:-.04em;margin:1rem 0 1.4rem;color:var(--ink)}
.story-intro p,.photo-narrative-head p,.infra-closer p,.achievement-intro p,.download-head p,.notice-archive-head p,.topper-intro p,.video-foot p,.careers-stage p{font-size:.9rem;line-height:1.82;color:var(--muted);max-width:39rem}
.story-portrait{height:34rem;margin:0;border-radius:1.8rem;overflow:hidden;position:relative;box-shadow:0 1.8rem 4rem rgba(6,21,47,.13)}
.story-portrait img{width:100%;height:100%;object-fit:cover}
.story-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,21,47,.68))}
.story-portrait figcaption{position:absolute;z-index:2;left:1.2rem;bottom:1.1rem;color:white;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}
.institution-strip{max-width:var(--inner-max);margin:4.5rem auto 0;padding-top:1.3rem;border-top:1px solid rgba(11,33,72,.14);display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.institution-strip div{min-height:7.5rem;display:flex;flex-direction:column;justify-content:space-between;padding-right:1rem;border-right:1px solid var(--hairline)}
.institution-strip div:last-child{border-right:0}
.institution-strip b{font-family:var(--serif);font-size:2.8rem;color:var(--brand-deep);line-height:1}
.institution-strip span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.photo-narrative{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;align-items:start}
.photo-narrative-head{position:sticky;top:2rem;max-width:35rem}
.photo-narrative h2{color:white}
.photo-narrative-head p{color:rgba(255,255,255,.64)}
.photo-narrative-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.photo-narrative-grid figure{margin:0;position:relative;overflow:hidden;border-radius:1.4rem;min-height:19rem;background:#071832}
.photo-narrative-grid .pn-large{grid-column:1/-1;min-height:33rem}
.photo-narrative-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.photo-narrative-grid figure:hover img{transform:scale(1.035)}
.photo-narrative-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,21,47,.86))}
.photo-narrative-grid figcaption{position:absolute;z-index:2;bottom:1rem;left:1rem;color:white;font-family:var(--serif);font-size:1.35rem}
.editorial-quote{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}
.editorial-quote>span{font-family:var(--serif);font-size:clamp(4rem,7vw,8rem);line-height:.82;letter-spacing:-.05em;color:var(--brand-deep)}
.editorial-quote>p{max-width:30rem;font-size:.9rem;line-height:1.8;color:var(--muted)}

/* ---------- Statement / Mission / Vision ---------- */
.statement-stage{position:relative;background:linear-gradient(135deg,var(--brand-dark),var(--brand-deep) 62%,#102b59);color:white;padding:clamp(5rem,8vw,8rem) var(--inner-pad);isolation:isolate}
.statement-word{position:absolute;z-index:-1;right:-.05em;top:-.08em;font-family:var(--serif);font-size:clamp(9rem,20vw,21rem);font-weight:700;line-height:.8;letter-spacing:-.08em;color:rgba(201,147,45,.06);white-space:nowrap}
.statement-core{max-width:78rem}
.statement-core h2{font-family:var(--serif);font-size:clamp(4.5rem,8vw,9rem);line-height:.82;letter-spacing:-.05em;margin:1.1rem 0 1.7rem;max-width:10.5ch;color:white}
.statement-core p{max-width:42rem;font-size:.9rem;line-height:1.8;color:rgba(255,255,255,.68)}
.statement-principles{margin-top:5rem;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:repeat(3,1fr)}
.statement-principles article{padding:1.8rem 1.5rem 1rem 0;border-right:1px solid rgba(255,255,255,.14);min-height:14rem}
.statement-principles article+article{padding-left:1.5rem}
.statement-principles article:last-child{border-right:0}
.statement-principles b{font-size:.63rem;letter-spacing:.16em;color:var(--gold)}
.statement-principles h3{font-family:var(--serif);font-size:2.3rem;line-height:1;margin:3rem 0 .8rem;color:white}
.statement-principles p{font-size:.77rem;line-height:1.7;color:rgba(255,255,255,.63);max-width:23rem}
.quiet-next{background:var(--surface-card);padding:0}
.quiet-next a{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding:3.5rem var(--inner-pad);transition:background .3s}
.quiet-next a:hover{background:var(--surface)}
.quiet-next span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.quiet-next strong{display:block;font-family:var(--serif);font-size:clamp(3rem,5vw,5.5rem);line-height:.9;color:var(--brand-deep);margin-top:.4rem}
.quiet-next b{font-size:2rem;color:var(--brand)}
.vision-composition{display:grid;grid-template-columns:.25fr .75fr;gap:2rem 5rem;position:relative}
.vision-mark{font-family:var(--serif);font-size:clamp(13rem,25vw,27rem);font-weight:700;line-height:.62;color:var(--gold-soft);grid-row:1/3;align-self:start}
.vision-copy{padding-top:2rem}
.vision-copy h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.5rem);line-height:.84;letter-spacing:-.05em;margin:1rem 0 1.5rem;max-width:9ch;color:var(--brand-deep)}
.vision-copy p{font-size:.95rem;line-height:1.85;color:var(--muted);max-width:34rem}
.vision-axis{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);margin-top:2rem}
.vision-axis div{padding:1.5rem 1.2rem 0 0}
.vision-axis span{font-family:var(--serif);font-size:1.7rem;color:var(--brand-deep)}
.vision-axis i{display:block;height:1px;width:2rem;background:var(--maroon);margin:.8rem 0}
.vision-axis p{font-size:.72rem;line-height:1.6;color:var(--muted)}

/* ---------- History ---------- */
.history-stream{position:relative}
.history-intro{max-width:50rem;margin-bottom:4rem}
.history-intro h2{font-family:var(--serif);font-size:clamp(4rem,6.8vw,7.2rem);line-height:.86;letter-spacing:-.045em;margin:1rem 0;color:var(--brand-deep)}
.timeline{list-style:none;padding:0;margin:0 0 0 24%;border-left:1px solid var(--hairline)}
.timeline li{position:relative;display:grid;grid-template-columns:11rem 1fr;gap:2rem;padding:0 0 4rem 3rem}
.timeline li::before{content:"";position:absolute;left:-.4rem;top:.3rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--maroon);box-shadow:0 0 0 .45rem var(--brand-soft)}
.timeline time{font-family:var(--serif);font-size:3.5rem;line-height:.9;color:var(--brand-deep)}
.timeline h3{font-family:var(--serif);font-size:2.1rem;line-height:1;margin:0 0 .7rem;color:var(--ink)}
.timeline p{font-size:.82rem;line-height:1.75;color:var(--muted);max-width:36rem}
.timeline-image{margin:1rem 0 0 24%;height:34rem;border-radius:1.6rem;overflow:hidden;position:relative}
.timeline-image img{width:100%;height:100%;object-fit:cover}
.timeline-image figcaption{position:absolute;bottom:1rem;left:1rem;padding:.6rem .8rem;background:rgba(6,21,47,.75);color:white;border-radius:999px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}

/* ---------- Prayers ---------- */
.prayer-stage{background:
  radial-gradient(circle at 84% 8%,rgba(201,147,45,.18),transparent 23rem),
  linear-gradient(135deg,var(--brand-dark),var(--brand-deep));color:white;padding:clamp(5rem,8vw,8rem) var(--inner-pad)}
.prayer-intro{max-width:55rem}
.prayer-intro h2{font-family:var(--serif);font-size:clamp(4.1rem,7vw,7.6rem);line-height:.86;letter-spacing:-.045em;margin:1rem 0 1.5rem;color:white}
.prayer-intro p{max-width:40rem;color:rgba(255,255,255,.64);font-size:.88rem;line-height:1.8}
.prayer-list{margin-top:4rem;border-top:1px solid rgba(255,255,255,.16)}
.prayer-list article{display:grid;grid-template-columns:4rem minmax(12rem,.45fr) 1fr;gap:2rem;align-items:start;padding:1.8rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.prayer-list span{font-size:.62rem;letter-spacing:.14em;color:var(--gold)}
.prayer-list h3{font-family:var(--serif);font-size:2rem;line-height:1;margin:0;color:white}
.prayer-list p{max-width:44rem;margin:0;color:rgba(255,255,255,.66);font-size:.8rem;line-height:1.7}

/* ---------- Aim ---------- */
.aim-stage{position:relative}
.aim-copy{max-width:55rem}
.aim-copy h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.5rem);line-height:.86;letter-spacing:-.045em;margin:1rem 0 1.3rem;color:var(--brand-deep)}
.aim-copy p{max-width:42rem;font-size:.9rem;line-height:1.8;color:var(--muted)}
.aim-orbit{margin-top:4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--hairline);border-radius:1.6rem;overflow:hidden;background:var(--surface-card)}
.aim-orbit article{min-height:17rem;padding:1.5rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.aim-orbit article:nth-child(3n){border-right:0}.aim-orbit article:nth-last-child(-n+3){border-bottom:0}
.aim-orbit b{font-size:.62rem;color:var(--maroon);letter-spacing:.15em}
.aim-orbit h3{font-family:var(--serif);font-size:2.25rem;margin:3.8rem 0 .6rem;color:var(--brand-deep)}
.aim-orbit p{font-size:.76rem;line-height:1.65;color:var(--muted)}
.social-callout{margin-top:2rem;padding:2rem;border-radius:1.4rem;background:linear-gradient(135deg,var(--brand-deep),#102c5b);color:white;display:grid;grid-template-columns:.35fr .65fr;gap:3rem;align-items:center}
.social-callout span{font-family:var(--serif);font-size:2.2rem}
.social-callout p{font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.7)}

/* ---------- Infrastructure / visual ---------- */
.facility-scroll{padding-bottom:3rem}
.facility-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;max-width:var(--inner-max);margin:auto}
.facility-intro h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.5rem);line-height:.84;letter-spacing:-.05em;margin:1rem 0 0;color:white}
.facility-intro p{font-size:.85rem;line-height:1.8;color:rgba(255,255,255,.64);max-width:36rem}
.facility-gallery{max-width:var(--inner-max);margin:4rem auto 0;display:grid;grid-template-columns:repeat(12,1fr);gap:.9rem}
.facility-gallery figure{position:relative;margin:0;min-height:22rem;border-radius:1.35rem;overflow:hidden;background:#071832}
.facility-gallery figure:nth-child(1){grid-column:span 7;min-height:34rem}.facility-gallery figure:nth-child(2){grid-column:span 5;min-height:34rem}
.facility-gallery figure:nth-child(3){grid-column:span 4}.facility-gallery figure:nth-child(4){grid-column:span 4}.facility-gallery figure:nth-child(5){grid-column:span 4}
.facility-gallery figure:nth-child(6){grid-column:span 6;min-height:28rem}.facility-gallery figure:nth-child(7){grid-column:span 6;min-height:28rem}.facility-gallery figure:nth-child(8){grid-column:span 12;min-height:32rem}
.facility-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.facility-gallery figure:hover img{transform:scale(1.035)}
.facility-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,21,47,.86))}
.facility-gallery figcaption{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:end;justify-content:space-between;gap:1rem;color:white}
.facility-gallery figcaption span{font-size:.6rem;color:var(--gold);letter-spacing:.14em}
.facility-gallery figcaption strong{font-family:var(--serif);font-size:2rem;line-height:1}
.infra-closer{display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:end}.infra-closer h2{max-width:11ch}.infra-closer p{justify-self:end}

/* ---------- Leadership ---------- */
.leadership-stage{display:grid;grid-template-columns:minmax(24rem,.8fr) minmax(0,1.2fr);gap:5rem;align-items:start}
.leadership-stage.reverse{grid-template-columns:minmax(24rem,.85fr) minmax(0,1.15fr)}
.leadership-stage.reverse .leader-portrait{order:2}.leadership-stage.reverse .leader-letter{order:1}
.leader-portrait{margin:0;position:sticky;top:2rem;height:44rem;border-radius:1.8rem;overflow:hidden;background:var(--surface);box-shadow:0 1.4rem 3.7rem rgba(6,21,47,.12)}
.leader-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.leader-letter{padding:2rem 0;max-width:48rem}
.leader-letter h2{font-family:var(--serif);font-size:clamp(4rem,6.5vw,7rem);line-height:.88;letter-spacing:-.04em;margin:.8rem 0 1.5rem;color:var(--brand-deep)}
.leader-letter blockquote{font-family:var(--serif);font-size:clamp(2.3rem,3.5vw,3.7rem);line-height:1.02;margin:2.2rem 0;padding:2rem 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--ink)}
.leader-letter p{font-size:.9rem;line-height:1.88;color:var(--muted);margin:0 0 1.15rem;max-width:44rem}
.leader-sign{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;align-items:end}
.leader-sign strong{font-family:var(--serif);font-size:1.75rem;color:var(--brand-deep)}
.leader-sign span{font-size:.63rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* ---------- Rules / Utility ---------- */
.rules-layout{display:grid;grid-template-columns:.58fr 1.42fr;gap:5rem;align-items:start}
.rules-index{position:sticky;top:2rem;max-width:31rem}
.rules-index h2{font-family:var(--serif);font-size:clamp(3.4rem,5vw,5.4rem);line-height:.88;letter-spacing:-.04em;margin:1rem 0 1.2rem;color:var(--brand-deep)}
.rules-index>p{font-size:.86rem;line-height:1.8;color:var(--muted)}
.rules-note{margin-top:2rem;border-left:.25rem solid var(--gold);padding:1rem 1.2rem;background:var(--gold-soft)}
.rules-note strong{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.15em;color:var(--maroon);margin-bottom:.4rem}
.rules-note span{font-size:.72rem;line-height:1.6;color:var(--ink)}
.rules-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hairline)}
.rules-list li{display:grid;grid-template-columns:4rem 1fr;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--hairline);align-items:start}
.rules-list b{font-family:var(--serif);font-size:1.8rem;color:var(--brand);font-weight:600}
.rules-list p{margin:0;font-size:.88rem;line-height:1.78;color:var(--ink)}
.admission-journey{display:grid;grid-template-columns:.35fr 1fr;gap:4rem;align-items:end}
.journey{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}
.journey div{min-height:10rem;padding:1.2rem 1rem;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:space-between}.journey div:last-child{border-right:0}
.journey b{font-size:.62rem;color:var(--gold);letter-spacing:.15em}.journey span{font-family:var(--serif);font-size:1.65rem;line-height:1;color:white}
.download-centre,.notice-archive,.toppers-stage{max-width:none}
.download-head,.notice-archive-head,.topper-intro{max-width:54rem}
.download-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hairline);border-radius:1.5rem;overflow:hidden}
.download-grid a{min-height:10rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);transition:background .25s}
.download-grid a:hover{background:var(--surface)}
.download-grid span{font-size:.6rem;color:var(--maroon);letter-spacing:.14em}.download-grid strong{font-family:var(--serif);font-size:1.8rem;color:var(--brand-deep)}.download-grid b{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.source-hint{margin-top:1rem;font-size:.7rem;color:var(--muted)}
.notice-archive-list{margin-top:3rem;border-top:1px solid var(--hairline)}
.notice-archive-list a{display:grid;grid-template-columns:5.5rem 1fr auto;gap:2rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid var(--hairline);transition:padding-left .25s}
.notice-archive-list a:hover{padding-left:.6rem}
.notice-archive-list time{width:4.6rem;height:4.6rem;border-radius:1.1rem;background:var(--gold-soft);display:grid;place-items:center;align-content:center;text-align:center}
.notice-archive-list time b{font-family:var(--serif);font-size:1.6rem;color:var(--brand-deep);line-height:1}.notice-archive-list time span{font-size:.55rem;letter-spacing:.12em;color:var(--maroon)}
.notice-archive-list h3{font-family:var(--serif);font-size:1.6rem;line-height:1.05;margin:0;color:var(--ink)}
.notice-archive-list i{font-style:normal;font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* ---------- Gallery ---------- */
.gallery-editorial{padding-bottom:6rem}
.gallery-head{display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:end;max-width:var(--inner-max);margin:auto}
.gallery-head h2{font-family:var(--serif);font-size:clamp(4.5rem,7.5vw,8rem);line-height:.83;letter-spacing:-.05em;margin:1rem 0 0;color:white}
.gallery-head p{max-width:32rem;font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.64)}
.masonry{columns:3 20rem;column-gap:.85rem;max-width:var(--inner-max);margin:4rem auto 0}
.masonry figure{break-inside:avoid;position:relative;margin:0 0 .85rem;border-radius:1.25rem;overflow:hidden;background:#071832}
.masonry img{width:100%;display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.masonry figure:hover img{transform:scale(1.025)}
.masonry figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(6,21,47,.8));opacity:.85}
.masonry figcaption{position:absolute;z-index:2;left:.85rem;right:.85rem;bottom:.75rem;color:white;font-family:var(--serif);font-size:1.15rem;line-height:1.05}
.gallery-live{max-width:var(--inner-max);margin:2rem auto 0;display:flex;justify-content:flex-end}
.video-stage{display:grid;grid-template-columns:.65fr 1.35fr;gap:4rem;align-items:center}
.video-copy h2{font-family:var(--serif);font-size:clamp(4.5rem,7vw,7.6rem);line-height:.84;letter-spacing:-.05em;margin:1rem 0 1.2rem;color:white}.video-copy p{font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.64)}
.video-frame{aspect-ratio:16/9;border-radius:1.6rem;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 2rem 5rem rgba(0,0,0,.2)}.video-frame iframe{width:100%;height:100%;border:0}
.video-foot{display:grid;grid-template-columns:1fr .6fr;gap:4rem;align-items:end}

/* ---------- Achievements ---------- */
.achievement-intro{display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:end}.achievement-intro h2{max-width:11ch}.achievement-intro p{justify-self:end}
.achievement-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;max-width:var(--inner-max);margin:auto}
.achievement-feature figure{margin:0;height:34rem;border-radius:1.6rem;overflow:hidden}.achievement-feature img{width:100%;height:100%;object-fit:cover}
.achievement-feature span{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}
.achievement-feature h2{font-family:var(--serif);font-size:clamp(3.5rem,5.5vw,5.8rem);line-height:.88;letter-spacing:-.045em;color:white;margin:.8rem 0 1.2rem}.achievement-feature p{font-size:.82rem;line-height:1.75;color:rgba(255,255,255,.65)}
.achievement-list{max-width:var(--inner-max);margin:4rem auto 0;border-top:1px solid rgba(255,255,255,.16)}
.achievement-list a{display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.14);transition:padding-left .25s}
.achievement-list a:hover{padding-left:.6rem}.achievement-list b{font-size:.6rem;color:var(--gold);letter-spacing:.14em}.achievement-list span{font-family:var(--serif);font-size:1.55rem;color:white;line-height:1.05}.achievement-list i{font-style:normal;color:rgba(255,255,255,.45)}
.topper-years{margin-top:3rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.topper-years a{min-height:9rem;padding:1.3rem;border:1px solid var(--hairline);border-radius:1.2rem;background:var(--surface);display:grid;grid-template-columns:3rem 1fr auto;align-items:end;gap:1rem;transition:transform .25s,background .25s}
.topper-years a:hover{transform:translateY(-.2rem);background:var(--surface-card)}.topper-years b{font-size:.6rem;color:var(--maroon)}.topper-years span{font-family:var(--serif);font-size:1.6rem;line-height:1;color:var(--brand-deep)}.topper-years i{font-style:normal;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* ---------- Contact / Careers ---------- */
.contact-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:start}
.contact-lines{margin-top:3rem;border-top:1px solid var(--hairline)}
.contact-lines div{padding:1.25rem 0;border-bottom:1px solid var(--hairline)}.contact-lines span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.4rem}.contact-lines strong{font-family:var(--serif);font-size:1.45rem;color:var(--brand-deep);font-weight:600}
.premium-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--surface);border-radius:1.5rem;padding:1.5rem;border:1px solid var(--hairline)}
.premium-form label{display:grid;gap:.45rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.premium-form label.full{grid-column:1/-1}.premium-form input,.premium-form textarea,.premium-form select{border:1px solid var(--hairline);background:var(--surface-card);border-radius:.85rem;padding:.85rem .9rem;color:var(--ink);font:400 .8rem/1.5 var(--sans)}.premium-form button{justify-self:start}.form-success{display:none;grid-column:1/-1;font-size:.72rem;line-height:1.55;color:var(--brand-deep)}.demo-form.sent .form-success{display:block}
.feedback-stage{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-items:start}.feedback-copy h2{font-family:var(--serif);font-size:clamp(4rem,7vw,7.5rem);line-height:.83;letter-spacing:-.05em;color:white;margin:1rem 0 1.2rem}.feedback-copy p{font-size:.84rem;line-height:1.75;color:rgba(255,255,255,.64)}
.dark-form{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.dark-form label{color:rgba(255,255,255,.62)}.dark-form input,.dark-form textarea,.dark-form select{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.14);color:white}.dark-form option{color:var(--ink)}.dark-form .form-success{color:white}
.careers-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center}.careers-stage figure{margin:0;height:34rem;border-radius:1.6rem;overflow:hidden}.careers-stage img{width:100%;height:100%;object-fit:cover}
.site-map-stage{min-height:60vh}.site-map-head{max-width:56rem}.site-map-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.site-map-grid a{min-height:9rem;border:1px solid var(--hairline);border-radius:1.15rem;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);transition:transform .25s,background .25s}.site-map-grid a:hover{transform:translateY(-.2rem);background:var(--surface-card)}.site-map-grid span{font-size:.58rem;color:var(--maroon);letter-spacing:.14em}.site-map-grid strong{font-family:var(--serif);font-size:1.55rem;line-height:1;color:var(--brand-deep)}.site-map-grid em{font-style:normal;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}

/* ---------- Responsive ---------- */
@media(max-width:1180px){  .inner-hero-content{grid-template-columns:1fr .42fr;gap:2rem}
  .story-opening-grid,.photo-narrative,.leadership-stage,.contact-stage,.feedback-stage,.careers-stage{gap:3rem}
}
@media(max-width:980px){  .inner-hero{min-height:40rem}.inner-hero-content{grid-template-columns:1fr;gap:2rem;padding-top:3rem}.inner-hero-aside{justify-self:start;max-width:25rem}
  .story-opening-grid,.photo-narrative,.facility-intro,.leadership-stage,.leadership-stage.reverse,.rules-layout,.gallery-head,.video-stage,.achievement-intro,.achievement-feature,.contact-stage,.feedback-stage,.careers-stage,.editorial-quote,.infra-closer,.video-foot{grid-template-columns:1fr}
  .story-portrait,.leader-portrait{position:relative;top:auto;height:31rem}.leadership-stage.reverse .leader-portrait,.leadership-stage.reverse .leader-letter{order:initial}
  .institution-strip{grid-template-columns:1fr 1fr}.photo-narrative-head,.rules-index{position:relative;top:auto}.photo-narrative-grid .pn-large{min-height:28rem}
  .timeline{margin-left:0}.timeline-image{margin-left:0}.vision-composition{grid-template-columns:1fr}.vision-mark{position:absolute;right:0;top:0;opacity:.65}.vision-copy,.vision-axis{grid-column:1}.vision-axis{position:relative;z-index:1}
  .prayer-list article{grid-template-columns:3rem 1fr}.prayer-list p{grid-column:2}
  .aim-orbit{grid-template-columns:1fr 1fr}.aim-orbit article:nth-child(3n){border-right:1px solid var(--hairline)}.aim-orbit article:nth-child(2n){border-right:0}.aim-orbit article:nth-last-child(-n+3){border-bottom:1px solid var(--hairline)}.aim-orbit article:nth-last-child(-n+2){border-bottom:0}
  .facility-gallery figure:nth-child(n){grid-column:span 6!important;min-height:25rem}.facility-gallery figure:nth-child(1),.facility-gallery figure:nth-child(2),.facility-gallery figure:nth-child(8){grid-column:span 12!important;min-height:31rem}
  .admission-journey{grid-template-columns:1fr}.download-grid,.site-map-grid{grid-template-columns:1fr 1fr}
  .achievement-intro p,.infra-closer p{justify-self:start}
}
@media(max-width:640px){
  body.inner-page main{padding:.45rem}.inner-page footer{margin:.45rem;margin-top:0}  .inner-hero{border-radius:1.35rem;min-height:38rem}.inner-hero-content{padding:2.5rem 1rem 2rem}.inner-hero h1{font-size:clamp(3.75rem,16vw,5.3rem);line-height:.86}.inner-hero .hero-copy-block>p{font-size:1.45rem}.crumbs{font-size:.55rem}
  .section-surface,.section-paper,.dark-stage,.statement-stage,.prayer-stage{padding:3.8rem 1rem;border-radius:1.35rem}.quiet-next{border-radius:1.35rem}.quiet-next a{padding:2.4rem 1rem}
  .story-opening-grid{display:block}.story-portrait{height:25rem;margin-top:2.5rem}.institution-strip{grid-template-columns:1fr 1fr;margin-top:3rem}.institution-strip div{min-height:6rem}.institution-strip b{font-size:2.2rem}.photo-narrative-grid{grid-template-columns:1fr}.photo-narrative-grid .pn-large{grid-column:auto;min-height:24rem}.photo-narrative-grid figure{min-height:21rem}.editorial-quote{gap:1.5rem}.editorial-quote>span{font-size:4rem}
  .statement-word{font-size:10rem;top:1rem}.statement-core h2{font-size:4.2rem}.statement-principles{grid-template-columns:1fr}.statement-principles article{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:1.4rem 0;min-height:10rem}.statement-principles article+article{padding-left:0}.statement-principles article:last-child{border-bottom:0}.statement-principles h3{margin-top:2rem}
  .vision-mark{font-size:13rem}.vision-copy h2{font-size:4.1rem}.vision-axis{grid-template-columns:1fr}.vision-axis div{border-bottom:1px solid var(--hairline);padding-bottom:1rem}
  .history-intro h2{font-size:4.2rem}.timeline li{grid-template-columns:1fr;padding-left:2rem;gap:.7rem}.timeline time{font-size:2.6rem}.timeline-image{height:24rem}
  .prayer-intro h2{font-size:4rem}.prayer-list article{grid-template-columns:2.3rem 1fr;gap:1rem}.prayer-list h3{font-size:1.65rem}
  .aim-copy h2{font-size:4rem}.aim-orbit{grid-template-columns:1fr}.aim-orbit article:nth-child(n){border-right:0;border-bottom:1px solid var(--hairline)!important;min-height:12rem}.aim-orbit article:last-child{border-bottom:0!important}.aim-orbit h3{margin-top:2.5rem}.social-callout{grid-template-columns:1fr;gap:.8rem}
  .facility-intro h2{font-size:4.1rem}.facility-gallery{display:block}.facility-gallery figure:nth-child(n){min-height:24rem!important;margin-bottom:.8rem}.facility-gallery figcaption strong{font-size:1.6rem}
  .leader-portrait{height:26rem}.leader-letter h2{font-size:4rem}.leader-letter blockquote{font-size:2.2rem}
  .rules-index h2{font-size:3.7rem}.rules-list li{grid-template-columns:2.8rem 1fr;gap:1rem}.journey{grid-template-columns:1fr 1fr}.journey div:nth-child(2){border-right:0}.journey div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .download-grid,.site-map-grid,.topper-years{grid-template-columns:1fr}.notice-archive-list a{grid-template-columns:4.8rem 1fr}.notice-archive-list i{grid-column:2}.notice-archive-list h3{font-size:1.35rem}
  .gallery-head h2,.feedback-copy h2{font-size:4.2rem}.masonry{columns:1}.video-copy h2{font-size:4.2rem}
  .achievement-feature figure{height:24rem}.achievement-feature h2{font-size:3.8rem}.achievement-list a{grid-template-columns:2.5rem 1fr auto}.achievement-list span{font-size:1.3rem}
  .premium-form{grid-template-columns:1fr}.premium-form label.full{grid-column:auto}.contact-details h2,.careers-stage h2,.site-map-head h2,.download-head h2,.notice-archive-head h2,.topper-intro h2,.video-foot h2{font-size:3.8rem}.careers-stage figure{height:24rem}
}

/* ---- signature-page ---- */
/* ================================================================
   SHCIS UNIQUE INNER PAGES — FINAL MOTION & COMPOSITION PASS
   Same approved family; a different spatial idea on every page.
   ================================================================ */
body.inner-page{
  --sig-ease:cubic-bezier(.16,1,.3,1);
  --sig-gold:#c9932d;
  --sig-navy:#0b2148;
  --sig-deep:#06152f;
  --sig-maroon:#8f1422;
}
body.inner-page .inner-hero{overflow:hidden}
body.inner-page .inner-hero h1,
body.inner-page .inner-hero .inner-kicker,
body.inner-page .inner-hero .hero-copy-block>p,
body.inner-page .inner-hero .inner-hero-aside{
  opacity:0;transform:translateY(2rem);transition:opacity 1s var(--sig-ease),transform 1s var(--sig-ease)
}
body.inner-page.sig-ready .inner-hero h1{opacity:1;transform:none;transition-delay:.10s}
body.inner-page.sig-ready .inner-hero .inner-kicker{opacity:1;transform:none;transition-delay:.02s}
body.inner-page.sig-ready .inner-hero .hero-copy-block>p{opacity:1;transform:none;transition-delay:.22s}
body.inner-page.sig-ready .inner-hero .inner-hero-aside{opacity:1;transform:none;transition-delay:.34s}
.sig-reveal{opacity:0;transform:translateY(2.2rem);transition:opacity .9s var(--sig-ease),transform .9s var(--sig-ease)}
.sig-reveal.sig-in{opacity:1;transform:none}
.sig-reveal-left{opacity:0;transform:translateX(-2.5rem);transition:opacity .95s var(--sig-ease),transform .95s var(--sig-ease)}
.sig-reveal-left.sig-in{opacity:1;transform:none}
.sig-reveal-right{opacity:0;transform:translateX(2.5rem);transition:opacity .95s var(--sig-ease),transform .95s var(--sig-ease)}
.sig-reveal-right.sig-in{opacity:1;transform:none}
.sig-scale{opacity:0;transform:scale(.94);transition:opacity 1s var(--sig-ease),transform 1.15s var(--sig-ease)}
.sig-scale.sig-in{opacity:1;transform:none}
.inner-hero-media{will-change:transform}

/* 01 ABOUT — editorial prospectus with offset photography and a moving datum rail */
.page-about-us .inner-hero-content{grid-template-columns:minmax(0,1.35fr) minmax(15rem,.4fr);gap:5rem}
.page-about-us .inner-hero h1{font-size:clamp(5.4rem,9.4vw,10.8rem);max-width:7.7ch}
.page-about-us .inner-hero-aside{border-left:1px solid rgba(255,255,255,.24);border-top:0;padding:0 0 0 1.25rem}
.page-about-us .story-opening{position:relative}
.page-about-us .story-opening::before{content:"SACRED HEART · 2017 · IN168";position:absolute;left:-1rem;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;color:rgba(11,33,72,.12);font:600 .62rem/1 var(--sans);letter-spacing:.32em;white-space:nowrap}
.page-about-us .story-portrait{transform:rotate(1.5deg);transition:transform .9s var(--sig-ease)}
.page-about-us .story-portrait.sig-in{transform:rotate(-1deg)}
.page-about-us .institution-strip b{font-size:3.35rem;transition:color .35s,transform .35s}
.page-about-us .institution-strip div:hover b{color:var(--brand);transform:translateY(-.15rem)}
.page-about-us .photo-narrative-grid figure:nth-child(2){transform:translateY(2rem)}
.page-about-us .editorial-quote{min-height:34rem;position:relative}
.page-about-us .editorial-quote::after{content:"✦";position:absolute;right:2rem;top:1rem;font:700 12rem/1 var(--serif);color:rgba(201,147,45,.11)}

/* 02 MISSION — kinetic typography, almost no UI */
.page-mission-statement .inner-hero{min-height:68svh}
.page-mission-statement .inner-hero-content{grid-template-columns:1fr;text-align:center;justify-items:center;padding-bottom:4.5rem}
.page-mission-statement .hero-copy-block{display:grid;justify-items:center}
.page-mission-statement .inner-hero h1{font-size:clamp(5rem,11vw,12rem);max-width:none;line-height:.76}
.page-mission-statement .inner-hero .hero-copy-block>p{max-width:45rem}
.page-mission-statement .inner-hero-aside{justify-self:center;width:auto;border-top:1px solid rgba(255,255,255,.2);grid-auto-flow:column;gap:1rem;align-items:center;padding-top:.75rem}
.page-mission-statement .inner-hero-aside small{display:none}
.page-mission-statement .statement-stage{min-height:88svh;display:flex;flex-direction:column;justify-content:center}
.page-mission-statement .statement-word{right:-.25em;top:10%;font-size:clamp(11rem,25vw,28rem);animation:missionDrift 18s ease-in-out infinite alternate}
.page-mission-statement .mission-kinetic{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.16}
.page-mission-statement .mission-kinetic span{position:absolute;font:700 clamp(2rem,4vw,5rem)/1 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25);white-space:nowrap}
.page-mission-statement .mission-kinetic span:nth-child(1){top:12%;left:-3%;transform:rotate(-8deg)}
.page-mission-statement .mission-kinetic span:nth-child(2){top:36%;right:-4%;transform:rotate(6deg)}
.page-mission-statement .mission-kinetic span:nth-child(3){bottom:14%;left:7%;transform:rotate(4deg)}
.page-mission-statement .statement-principles article{transition:background .35s,transform .45s var(--sig-ease)}
.page-mission-statement .statement-principles article:hover{background:rgba(255,255,255,.045);transform:translateY(-.35rem)}
@keyframes missionDrift{to{transform:translateX(-3%)}}

/* 03 VISION — reversed hero + giant V and orbit rings */
.page-our-vision .inner-hero-content{grid-template-columns:minmax(16rem,.45fr) minmax(0,1.2fr);align-items:center}
.page-our-vision .hero-copy-block{grid-column:2;text-align:right;justify-self:end}
.page-our-vision .inner-hero h1{max-width:7ch;margin-left:auto;font-size:clamp(5rem,9vw,10rem)}
.page-our-vision .inner-hero .hero-copy-block>p{margin-left:auto}
.page-our-vision .inner-hero-aside{grid-column:1;grid-row:1;justify-self:start}
.page-our-vision .vision-composition{min-height:74vh;align-items:center;overflow:hidden}
.page-our-vision .vision-mark{position:relative;z-index:2;transform:translateX(-.12em);transition:transform 1.4s var(--sig-ease)}
.page-our-vision .vision-composition.sig-in .vision-mark{transform:translateX(0)}
.page-our-vision .vision-rings{position:absolute;width:42rem;height:42rem;border:1px solid rgba(201,147,45,.17);border-radius:50%;left:-11rem;top:50%;transform:translateY(-50%);box-shadow:0 0 0 6rem rgba(201,147,45,.035),0 0 0 12rem rgba(11,33,72,.025);animation:visionPulse 8s ease-in-out infinite}
.page-our-vision .vision-axis i{display:block;height:1px;background:var(--brand-light);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--sig-ease)}
.page-our-vision .vision-composition.sig-in .vision-axis i{transform:scaleX(1)}
@keyframes visionPulse{50%{transform:translateY(-50%) scale(1.035)}}

/* 04 HISTORY — living timeline with progress line and sticky image */
.page-our-history .inner-hero h1{font-size:clamp(5.5rem,10vw,11rem);max-width:8ch}
.page-our-history .history-stream{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.7fr);gap:4.5rem;position:relative}
.page-our-history .history-intro{grid-column:1/-1;max-width:58rem}
.page-our-history .timeline{grid-column:1;position:relative;padding-left:0;margin:1rem 0 0}
.page-our-history .timeline::before{content:"";position:absolute;left:8.6rem;top:0;bottom:0;width:1px;background:var(--hairline)}
.page-our-history .timeline-progress{position:absolute;left:8.6rem;top:0;width:2px;height:var(--history-progress,0%);background:linear-gradient(var(--brand-light),var(--brand));z-index:2;transition:height .1s linear}
.page-our-history .timeline li{grid-template-columns:7rem 1fr;gap:3.2rem;opacity:.35;transition:opacity .5s,transform .7s var(--sig-ease);transform:translateX(-1rem)}
.page-our-history .timeline li.sig-active{opacity:1;transform:none}
.page-our-history .timeline time{font-size:2rem;position:relative;text-align:right}
.page-our-history .timeline time::after{content:"";position:absolute;right:-2rem;top:.55rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--surface-card);border:2px solid var(--brand-light);z-index:3}
.page-our-history .timeline-image{grid-column:2;position:sticky;top:1.5rem;align-self:start;height:66vh;min-height:34rem;margin:0;border-radius:1.75rem;overflow:hidden;box-shadow:var(--shadow)}
.page-our-history .timeline-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--sig-ease)}
.page-our-history .timeline-image.sig-in img{transform:scale(1.03)}

/* 05 PRAYERS — calm vertical rhythm, luminous halo and accordion-like focus */
.page-prayers .inner-hero{min-height:64svh}
.page-prayers .inner-hero-content{grid-template-columns:1fr;text-align:center;justify-items:center}
.page-prayers .hero-copy-block{display:grid;justify-items:center}
.page-prayers .inner-hero h1{font-size:clamp(5.6rem,10vw,10.5rem);max-width:none}
.page-prayers .inner-hero-aside{display:none}
.page-prayers .prayer-stage{position:relative;display:grid;grid-template-columns:.65fr 1.35fr;gap:5rem;align-items:start}
.page-prayers .prayer-intro{position:sticky;top:2rem}
.page-prayers .prayer-halo{position:absolute;right:-8rem;top:-10rem;width:34rem;height:34rem;border-radius:50%;border:1px solid rgba(201,147,45,.14);box-shadow:0 0 0 5rem rgba(201,147,45,.025),0 0 0 10rem rgba(201,147,45,.015);animation:prayerHalo 10s ease-in-out infinite;pointer-events:none}
.page-prayers .prayer-list{margin-top:0}
.page-prayers .prayer-list article{grid-template-columns:3rem 1fr;gap:1rem 1.4rem;transition:background .35s,padding .35s,border-color .35s}
.page-prayers .prayer-list article p{grid-column:2;max-height:0;overflow:hidden;opacity:0;transition:max-height .7s var(--sig-ease),opacity .5s}
.page-prayers .prayer-list article:hover,.page-prayers .prayer-list article.sig-active{background:rgba(255,255,255,.045);padding-left:1rem;padding-right:1rem}
.page-prayers .prayer-list article:hover p,.page-prayers .prayer-list article.sig-active p{max-height:10rem;opacity:1}
@keyframes prayerHalo{50%{transform:scale(1.045);opacity:.72}}

/* 06 AIM — sticky thesis + cascading learner attributes */
.page-aim-objectives .inner-hero-content{grid-template-columns:1fr;max-width:78rem;text-align:center;justify-items:center}
.page-aim-objectives .hero-copy-block{display:grid;justify-items:center}
.page-aim-objectives .inner-hero h1{font-size:clamp(5rem,9vw,9.6rem);max-width:10ch}
.page-aim-objectives .inner-hero-aside{justify-self:center;width:auto}
.page-aim-objectives .aim-stage{display:grid;grid-template-columns:minmax(18rem,.52fr) minmax(0,1.48fr);gap:5rem;position:relative}
.page-aim-objectives .aim-copy{position:sticky;top:2rem;align-self:start}
.page-aim-objectives .aim-orbit{grid-template-columns:repeat(2,1fr);gap:1rem}
.page-aim-objectives .aim-orbit article{min-height:16rem;border:1px solid var(--hairline);border-radius:1.4rem;padding:1.4rem;background:var(--surface-card);display:flex;flex-direction:column;justify-content:space-between;transition:transform .5s var(--sig-ease),box-shadow .5s,border-color .5s}
.page-aim-objectives .aim-orbit article:nth-child(even){transform:translateY(3rem)}
.page-aim-objectives .aim-orbit article.sig-in:nth-child(even){transform:translateY(2rem)}
.page-aim-objectives .aim-orbit article:hover{transform:translateY(-.3rem)!important;box-shadow:0 1.2rem 3rem rgba(6,21,47,.09);border-color:rgba(143,20,34,.25)}
.page-aim-objectives .aim-orbit b{font-size:.68rem;letter-spacing:.18em;color:var(--brand)}
.page-aim-objectives .aim-orbit h3{font-size:2.5rem}
.page-aim-objectives .social-callout{grid-column:2;margin-top:3rem;border-left:.25rem solid var(--brand-light)}

/* 07 INFRASTRUCTURE — cinematic sticky navigator + vertical image chapters */
.page-infrastructure .inner-hero{min-height:88svh}
.page-infrastructure .inner-hero h1{font-size:clamp(5.5rem,10vw,11rem);max-width:8ch}
.page-infrastructure .facility-scroll{display:grid;grid-template-columns:minmax(17rem,.38fr) minmax(0,1.62fr);gap:4rem;align-items:start}
.page-infrastructure .facility-intro{display:block;position:sticky;top:1.5rem;margin:0;max-width:none}
.page-infrastructure .facility-intro h2{font-size:clamp(3.6rem,5.4vw,6rem)}
.page-infrastructure .facility-progress-nav{margin-top:2rem;display:grid;gap:.45rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
.page-infrastructure .facility-progress-nav button{appearance:none;border:0;background:none;color:rgba(255,255,255,.4);text-align:left;padding:.25rem 0;font:.600 .58rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:color .3s,transform .3s}
.page-infrastructure .facility-progress-nav button.active{color:var(--brand-light);transform:translateX(.35rem)}
.page-infrastructure .facility-gallery{display:grid;grid-template-columns:1fr;margin:0;gap:5rem;max-width:none}
.page-infrastructure .facility-gallery figure:nth-child(n){grid-column:auto!important;min-height:68vh!important;width:88%;margin:0!important;border-radius:1.6rem}
.page-infrastructure .facility-gallery figure:nth-child(even){margin-left:auto!important;width:78%}
.page-infrastructure .facility-gallery figure:nth-child(3n){width:94%}
.page-infrastructure .facility-gallery img{transform:scale(1.08);transition:transform 1.3s var(--sig-ease)}
.page-infrastructure .facility-gallery figure.sig-in img{transform:scale(1.01)}
.page-infrastructure .facility-gallery figcaption strong{font-size:clamp(2rem,3vw,3.5rem)}
.page-infrastructure .infra-closer{text-align:center;min-height:34rem;display:grid;place-content:center}

/* 08 PRINCIPAL — portrait-led hero, then an open editorial letter */
.page-principals-message .inner-hero{min-height:82svh}
.page-principals-message .inner-hero-media{object-position:center 28%}
.page-principals-message .inner-hero-content{grid-template-columns:1fr .42fr}
.page-principals-message .leadership-stage{display:block;position:relative;min-height:55rem;padding-left:clamp(2rem,8vw,9rem);padding-right:clamp(2rem,8vw,9rem)}
.page-principals-message .leader-portrait{display:none}
.page-principals-message .leader-letter{max-width:70rem;margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:1.5rem 5rem;align-items:start}
.page-principals-message .leader-letter .eyebrow,.page-principals-message .leader-letter h2,.page-principals-message .leader-sign{grid-column:1}
.page-principals-message .leader-letter h2{font-size:clamp(4rem,7vw,7.2rem);margin:.9rem 0 2rem;color:var(--brand-deep)}
.page-principals-message .leader-thesis{grid-column:2;grid-row:1/4;font-family:var(--serif);font-size:clamp(3.2rem,5vw,5.8rem);line-height:.92;letter-spacing:-.035em;color:var(--brand-deep);margin:0;position:relative;padding-top:1rem}
.page-principals-message .leader-thesis::before{content:"“";position:absolute;left:-2.4rem;top:-1.2rem;font-size:6rem;color:var(--brand-light);opacity:.7}
.page-principals-message .leader-letter>p{grid-column:2;font-size:1rem;line-height:1.9;max-width:48rem}
.page-principals-message .leader-sign{align-self:end;margin-top:4rem}
.page-principals-message .leadership-monogram{position:absolute;left:2rem;bottom:1rem;font:700 clamp(10rem,20vw,22rem)/.7 var(--serif);color:rgba(11,33,72,.045);pointer-events:none}

/* 09 VICE PRINCIPAL — mirrored portrait letter with floating quotation mark */
.page-vice-principals-message .inner-hero-content{grid-template-columns:.45fr 1.15fr}
.page-vice-principals-message .hero-copy-block{grid-column:2;text-align:right}
.page-vice-principals-message .inner-hero h1,.page-vice-principals-message .inner-hero .hero-copy-block>p{margin-left:auto}
.page-vice-principals-message .inner-hero-aside{grid-column:1;grid-row:1;justify-self:start}
.page-vice-principals-message .leadership-stage.reverse{grid-template-columns:1.1fr .9fr;gap:5rem}
.page-vice-principals-message .leader-portrait{order:2;height:42rem;clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--sig-ease)}
.page-vice-principals-message .leader-portrait.sig-in{clip-path:inset(0)}
.page-vice-principals-message .leader-letter{order:1;position:relative}
.page-vice-principals-message .leader-letter::after{content:"”";position:absolute;right:-1rem;top:-4rem;font:700 13rem/1 var(--serif);color:rgba(201,147,45,.16)}

/* 10 ADMISSIONS — process dashboard without becoming corporate */
.page-admission-regulations .inner-hero{min-height:60svh}
.page-admission-regulations .inner-hero h1{font-size:clamp(4.5rem,7.5vw,8rem)}
.page-admission-regulations .rules-layout{grid-template-columns:.58fr 1.42fr;gap:5rem}
.page-admission-regulations .rules-index{position:sticky;top:2rem;background:var(--brand-deep);color:white;border-radius:1.5rem;padding:1.6rem;box-shadow:0 1.5rem 4rem rgba(6,21,47,.12)}
.page-admission-regulations .rules-index h2{color:white;font-size:3.4rem}
.page-admission-regulations .rules-index p{color:rgba(255,255,255,.66)}
.page-admission-regulations .rules-note{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13)}
.page-admission-regulations .rules-note span{color:rgba(255,255,255,.72)}
.page-admission-regulations .rules-list{border:0;counter-reset:admission}
.page-admission-regulations .rules-list li{min-height:9rem;border:1px solid var(--hairline);border-radius:1.2rem;margin-bottom:.75rem;padding:1.3rem 1.4rem;grid-template-columns:4rem 1fr;background:var(--surface);transition:transform .4s var(--sig-ease),background .35s}
.page-admission-regulations .rules-list li:hover{transform:translateX(.5rem);background:var(--surface-card)}
.page-admission-regulations .admission-journey{position:relative;overflow:hidden}
.page-admission-regulations .journey div{position:relative}
.page-admission-regulations .journey div::before{content:"";position:absolute;left:0;top:-1px;width:0;height:2px;background:var(--brand-light);transition:width .9s var(--sig-ease)}
.page-admission-regulations .journey.sig-in div::before{width:100%}

/* 11 LEAVE — calendar/attendance language */
.page-leave-rules .inner-hero::after{background:linear-gradient(135deg,rgba(6,21,47,.98),rgba(11,33,72,.86))}
.page-leave-rules .rules-layout{grid-template-columns:.78fr 1.22fr;gap:4rem;position:relative}
.page-leave-rules .rules-index{position:sticky;top:2rem;padding:0 2rem 2rem 0}
.page-leave-rules .leave-calendar{margin-top:2rem;width:14rem;border:1px solid var(--hairline);border-radius:1.2rem;overflow:hidden;background:var(--surface-card);box-shadow:0 1rem 2.5rem rgba(6,21,47,.06)}
.page-leave-rules .leave-calendar strong{display:block;background:var(--brand-deep);color:white;padding:.8rem 1rem;font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.page-leave-rules .leave-calendar div{display:grid;grid-template-columns:repeat(7,1fr);padding:.8rem;gap:.25rem}
.page-leave-rules .leave-calendar i{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.58rem;color:var(--muted)}
.page-leave-rules .leave-calendar i:nth-child(10),.page-leave-rules .leave-calendar i:nth-child(17){background:var(--gold-soft);color:var(--brand-deep)}
.page-leave-rules .rules-list li{position:relative;grid-template-columns:5rem 1fr;padding:2rem 0}
.page-leave-rules .rules-list li::before{content:"";position:absolute;left:2.15rem;top:0;bottom:0;width:1px;background:var(--hairline)}
.page-leave-rules .rules-list b{position:relative;z-index:2;width:4.3rem;height:4.3rem;border-radius:50%;display:grid;place-items:center;background:var(--surface-card);border:1px solid var(--brand-light)}

/* 12 CONDUCT — charter wall: bold numbered bands */
.page-conduct-discipline .inner-hero{background:linear-gradient(135deg,var(--brand-dark),#230b24)!important}
.page-conduct-discipline .inner-hero::after{background:radial-gradient(circle at 82% 18%,rgba(143,20,34,.28),transparent 30%)}
.page-conduct-discipline .rules-layout{display:block;position:relative}
.page-conduct-discipline .rules-index{max-width:57rem;margin:0 0 4rem}
.page-conduct-discipline .rules-index h2{font-size:clamp(4rem,7vw,7.2rem);max-width:10ch}
.page-conduct-discipline .rules-list{border:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:1.5rem;overflow:hidden}
.page-conduct-discipline .rules-list li{min-height:17rem;background:var(--surface-card);border:0;padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}
.page-conduct-discipline .rules-list b{font-size:5rem;line-height:.8;color:rgba(143,20,34,.12);transition:color .35s}
.page-conduct-discipline .rules-list p{font-family:var(--serif);font-size:1.55rem;line-height:1.15;max-width:23rem}
.page-conduct-discipline .rules-list li:hover b{color:rgba(201,147,45,.45)}
.page-conduct-discipline .conduct-word{position:absolute;right:-.08em;top:.05em;font:700 clamp(9rem,18vw,20rem)/.7 var(--serif);color:rgba(11,33,72,.035);pointer-events:none}

/* 13 HOLIDAY HOMEWORK — bookshelf / class tabs */
.page-holiday-homework .inner-hero h1{font-size:clamp(5rem,8.5vw,9rem)}
.page-holiday-homework .download-centre{position:relative;background:linear-gradient(180deg,var(--surface-card),#f7f0e6)}
.page-holiday-homework .download-head{max-width:60rem}
.page-holiday-homework .homework-ribbon{display:flex;gap:1.5rem;white-space:nowrap;overflow:hidden;margin:2.5rem 0 0;padding:1rem 0;border-block:1px solid var(--hairline);color:var(--brand);font:600 .64rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.page-holiday-homework .homework-ribbon span{animation:homeworkMarquee 18s linear infinite}
.page-holiday-homework .download-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;border:0;overflow:visible}
.page-holiday-homework .download-grid a{border:1px solid var(--hairline)!important;border-radius:1.2rem;background:var(--surface-card);box-shadow:0 .8rem 2rem rgba(6,21,47,.045);transform-origin:bottom;transition:transform .4s var(--sig-ease),box-shadow .35s}
.page-holiday-homework .download-grid a:nth-child(4n+2){transform:translateY(1rem) rotate(.5deg)}
.page-holiday-homework .download-grid a:nth-child(4n+3){transform:translateY(2rem) rotate(-.5deg)}
.page-holiday-homework .download-grid a:hover{transform:translateY(-.35rem) rotate(0);box-shadow:0 1.4rem 3rem rgba(6,21,47,.09)}
@keyframes homeworkMarquee{to{transform:translateX(-100%)}}

/* 14 NOTICE BOARD — date rail + moving ticker */
.page-notice-board .inner-hero{min-height:58svh}
.page-notice-board .notice-archive{position:relative}
.page-notice-board .notice-ticker{margin:-1rem 0 3rem;overflow:hidden;border-block:1px solid var(--hairline);padding:.8rem 0;white-space:nowrap;color:var(--brand);font:600 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.page-notice-board .notice-ticker span{display:inline-block;padding-right:4rem;animation:noticeTicker 22s linear infinite}
.page-notice-board .notice-archive-list{position:relative;border-top:0;padding-left:7rem}
.page-notice-board .notice-archive-list::before{content:"";position:absolute;left:2.3rem;top:0;bottom:0;width:1px;background:var(--hairline)}
.page-notice-board .notice-archive-list a{grid-template-columns:minmax(0,1fr) max-content;gap:2.25rem;min-height:8rem;padding:1.55rem 0;position:relative;align-items:center}
.page-notice-board .notice-archive-list time{position:absolute;left:-7rem;top:50%;transform:translateY(-50%);border:1px solid var(--hairline);background:var(--surface-card);transition:transform .35s var(--sig-ease),background .35s}
.page-notice-board .notice-archive-list a:hover time{transform:translateY(-50%) scale(1.08);background:var(--gold-soft)}
.page-notice-board .notice-archive-list h3{min-width:0;max-width:48rem;font-size:clamp(1.65rem,2.15vw,2.2rem);line-height:1.08;text-wrap:balance}
.page-notice-board .notice-archive-list i{justify-self:end;white-space:nowrap;align-self:center}
@keyframes noticeTicker{to{transform:translateX(-50%)}}

/* 15 PHOTO GALLERY — editorial masonry + real lightbox */
.page-photo-gallery .inner-hero{min-height:92svh}
.page-photo-gallery .inner-hero-content{padding-bottom:2rem}
.page-photo-gallery .inner-hero h1{font-size:clamp(6rem,11vw,12rem);max-width:8ch}
.page-photo-gallery .gallery-head{grid-template-columns:1.2fr .5fr}
.page-photo-gallery .masonry{columns:4 16rem;column-gap:1rem}
.page-photo-gallery .masonry figure{cursor:zoom-in;margin-bottom:1rem;transition:transform .45s var(--sig-ease),filter .45s}
.page-photo-gallery .masonry figure:nth-child(5n+2){transform:translateY(1.5rem)}
.page-photo-gallery .masonry figure:hover{transform:translateY(-.3rem) scale(1.01);z-index:2}
.gallery-lightbox{position:fixed;inset:0;z-index:500;background:rgba(6,21,47,.94);backdrop-filter:blur(16px);display:grid;place-items:center;padding:3rem;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.gallery-lightbox.open{opacity:1;visibility:visible}
.gallery-lightbox img{max-width:min(92vw,105rem);max-height:82vh;border-radius:1.25rem;box-shadow:0 2rem 6rem rgba(0,0,0,.35);transform:scale(.94);transition:transform .5s var(--sig-ease)}
.gallery-lightbox.open img{transform:none}
.gallery-lightbox button{position:absolute;right:1.5rem;top:1.5rem;width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:white;font-size:1.4rem}
.gallery-lightbox figcaption{color:white;margin-top:.75rem;text-align:center;font:600 1rem/1.3 var(--serif)}

/* 16 VIDEO — cinematic film language */
.page-video-gallery .inner-hero{min-height:74svh}
.page-video-gallery .video-stage{position:relative;grid-template-columns:.55fr 1.45fr}
.page-video-gallery .video-frame{transform:perspective(1200px) rotateY(-2deg);transition:transform .7s var(--sig-ease),box-shadow .7s}
.page-video-gallery .video-frame:hover{transform:none;box-shadow:0 2.4rem 7rem rgba(0,0,0,.32)}
.page-video-gallery .film-perforation{position:absolute;inset:1rem auto 1rem 50%;width:.5rem;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.42) 0 .35rem,transparent .35rem 1rem);opacity:.28;pointer-events:none}
.page-video-gallery .video-foot{min-height:28rem}

/* 17 ACHIEVEMENTS — honours wall + oversized count */
.page-achievements .inner-hero{min-height:80svh}
.page-achievements .achievement-intro{position:relative;min-height:30rem;align-items:center}
.page-achievements .achievement-count{font:700 clamp(8rem,18vw,19rem)/.7 var(--serif);color:rgba(11,33,72,.06);position:absolute;right:0;bottom:0;letter-spacing:-.08em;pointer-events:none}
.page-achievements .achievement-count small{display:block;font:600 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin:.7rem 0 0 1rem}
.page-achievements .achievement-feature figure{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--sig-ease)}
.page-achievements .achievement-feature.sig-in figure{clip-path:inset(0)}
.page-achievements .achievement-list a{position:relative;overflow:hidden}
.page-achievements .achievement-list a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brand-light);transition:width .5s var(--sig-ease)}
.page-achievements .achievement-list a:hover::after{width:100%}

/* 18 TOPPERS — results runway instead of cards grid */
.page-toppers .inner-hero::before{content:"2026";position:absolute;right:-.05em;bottom:-.22em;font:700 clamp(10rem,23vw,25rem)/1 var(--serif);color:rgba(201,147,45,.07);z-index:-1}
.page-toppers .toppers-stage{overflow:hidden}
.page-toppers .year-marquee{display:flex;gap:3rem;white-space:nowrap;border-block:1px solid var(--hairline);padding:1rem 0;margin:2.5rem 0 3rem;color:var(--brand-deep);font:700 1.2rem/1 var(--serif)}
.page-toppers .year-marquee span{animation:topperRun 18s linear infinite}
.page-toppers .topper-years{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding:0 0 1rem;scrollbar-width:none}
.page-toppers .topper-years::-webkit-scrollbar{display:none}
.page-toppers .topper-years a{flex:0 0 min(31rem,78vw);min-height:18rem;scroll-snap-align:start;grid-template-columns:1fr;align-content:space-between;padding:1.6rem;background:linear-gradient(145deg,var(--surface),var(--surface-card));position:relative;overflow:hidden}
.page-toppers .topper-years a::after{content:attr(data-year);position:absolute;right:-.05em;bottom:-.22em;font:700 7rem/1 var(--serif);color:rgba(143,20,34,.055)}
.page-toppers .topper-years span{font-size:2.25rem;max-width:11ch}
@keyframes topperRun{to{transform:translateX(-100%)}}

/* 19 MAIL — contact map/compass composition */
.page-mail-us .inner-hero-content{grid-template-columns:1fr .5fr}
.page-mail-us .contact-stage{position:relative;grid-template-columns:.72fr 1.28fr;gap:6rem}
.page-mail-us .contact-details{position:sticky;top:2rem}
.page-mail-us .contact-compass{width:15rem;height:15rem;border-radius:50%;border:1px solid var(--hairline);margin:2rem 0;position:relative;background:radial-gradient(circle,var(--gold-soft),transparent 62%)}
.page-mail-us .contact-compass::before,.page-mail-us .contact-compass::after{content:"";position:absolute;background:var(--hairline)}
.page-mail-us .contact-compass::before{left:50%;top:10%;bottom:10%;width:1px}
.page-mail-us .contact-compass::after{top:50%;left:10%;right:10%;height:1px}
.page-mail-us .contact-compass span{position:absolute;inset:0;display:grid;place-items:center;font:700 2rem/1 var(--serif);color:var(--brand-deep);animation:compassFloat 6s ease-in-out infinite}
.page-mail-us .premium-form{padding:2rem;border-radius:1.8rem;box-shadow:0 1.5rem 4rem rgba(6,21,47,.07)}
@keyframes compassFloat{50%{transform:translateY(-.35rem)}}

/* 20 WRITE US — immersive feedback stage, form floats like a sheet */
.page-write-us .inner-hero{min-height:52svh}
.page-write-us .feedback-stage{min-height:75vh;align-items:center;position:relative}
.page-write-us .feedback-copy{position:sticky;top:2rem}
.page-write-us .feedback-orbit{position:absolute;width:28rem;height:28rem;border:1px solid rgba(201,147,45,.12);border-radius:50%;left:-10rem;bottom:-13rem;box-shadow:0 0 0 5rem rgba(201,147,45,.025),0 0 0 10rem rgba(201,147,45,.014)}
.page-write-us .dark-form{transform:rotate(.7deg);box-shadow:0 2rem 5rem rgba(0,0,0,.18);transition:transform .5s var(--sig-ease)}
.page-write-us .dark-form:focus-within{transform:rotate(0) translateY(-.3rem)}
.page-write-us .char-count{grid-column:1/-1;text-align:right;font-size:.6rem;color:rgba(255,255,255,.52);margin-top:-.5rem}

/* 21 CAREERS — recruitment editorial + moving values strip */
.page-careers .inner-hero{min-height:78svh}
.page-careers .careers-stage{position:relative;grid-template-columns:.9fr 1.1fr;min-height:45rem}
.page-careers .careers-stage figure{height:42rem;transform:rotate(1.3deg);transition:transform .9s var(--sig-ease)}
.page-careers .careers-stage figure.sig-in{transform:rotate(-.6deg)}
.page-careers .career-marquee{grid-column:1/-1;margin-top:3rem;border-block:1px solid var(--hairline);overflow:hidden;padding:1rem 0;white-space:nowrap;color:var(--brand);font:700 1.2rem/1 var(--serif)}
.page-careers .career-marquee span{display:inline-block;padding-right:4rem;animation:careerRun 19s linear infinite}
@keyframes careerRun{to{transform:translateX(-50%)}}

/* Site map — constellation-like review utility */
.page-site-map .inner-hero{min-height:52svh}
.page-site-map .site-map-stage{background:linear-gradient(180deg,var(--surface-card),#f8f2e8)}
.page-site-map .site-map-grid{grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:1.5rem;overflow:hidden}
.page-site-map .site-map-grid a{border:0;border-radius:0;background:var(--surface-card);min-height:12rem;position:relative;overflow:hidden}
.page-site-map .site-map-grid a::after{content:"";position:absolute;width:8rem;height:8rem;border:1px solid rgba(201,147,45,.13);border-radius:50%;right:-4rem;bottom:-4rem;transition:transform .5s var(--sig-ease)}
.page-site-map .site-map-grid a:hover::after{transform:scale(1.25)}

/* Shared field motion */
.premium-form input,.premium-form textarea,.premium-form select{transition:border-color .3s,box-shadow .3s,transform .3s}
.premium-form input:focus,.premium-form textarea:focus,.premium-form select:focus{outline:none;border-color:var(--brand-light);box-shadow:0 0 0 3px rgba(201,147,45,.12);transform:translateY(-1px)}

@media(max-width:980px){
  .page-our-history .history-stream,.page-prayers .prayer-stage,.page-aim-objectives .aim-stage,.page-infrastructure .facility-scroll{grid-template-columns:1fr}
  .page-our-history .timeline-image,.page-prayers .prayer-intro,.page-aim-objectives .aim-copy,.page-infrastructure .facility-intro,.page-mail-us .contact-details,.page-write-us .feedback-copy{position:relative;top:auto}
  .page-our-history .history-stream{gap:2rem}.page-our-history .timeline-image{grid-column:1;height:30rem}
  .page-infrastructure .facility-progress-nav{grid-template-columns:repeat(2,1fr)}
  .page-infrastructure .facility-gallery figure:nth-child(n){width:100%!important;min-height:52vh!important;margin-left:0!important}
  .page-prayers .prayer-list article p{max-height:10rem;opacity:1}
  .page-principals-message .leader-letter{grid-template-columns:1fr}.page-principals-message .leader-letter>*{grid-column:1!important;grid-row:auto!important}.page-principals-message .leadership-monogram{display:none}
  .page-conduct-discipline .rules-list{grid-template-columns:1fr}
  .page-holiday-homework .download-grid{grid-template-columns:repeat(2,1fr)}
  .page-photo-gallery .masonry{columns:2 15rem}
  .page-site-map .site-map-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .page-our-vision .inner-hero-content,.page-vice-principals-message .inner-hero-content{grid-template-columns:1fr;text-align:left}.page-our-vision .hero-copy-block,.page-vice-principals-message .hero-copy-block{grid-column:1;text-align:left}.page-our-vision .inner-hero h1,.page-our-vision .inner-hero .hero-copy-block>p,.page-vice-principals-message .inner-hero h1,.page-vice-principals-message .inner-hero .hero-copy-block>p{margin-left:0}.page-our-vision .inner-hero-aside,.page-vice-principals-message .inner-hero-aside{grid-column:1;grid-row:auto}
  .page-our-history .timeline::before,.page-our-history .timeline-progress{left:2.2rem}.page-our-history .timeline li{grid-template-columns:4rem 1fr;gap:1.2rem}.page-our-history .timeline time{font-size:1.2rem;text-align:left}.page-our-history .timeline time::after{right:auto;left:1.65rem;top:2.4rem}
  .page-aim-objectives .aim-orbit{grid-template-columns:1fr}.page-aim-objectives .aim-orbit article:nth-child(even),.page-aim-objectives .aim-orbit article.sig-in:nth-child(even){transform:none}.page-aim-objectives .social-callout{grid-column:1}
  .page-admission-regulations .rules-layout,.page-leave-rules .rules-layout{grid-template-columns:1fr}.page-admission-regulations .rules-index,.page-leave-rules .rules-index{position:relative;top:auto}
  .page-conduct-discipline .rules-list li{min-height:13rem}
  .page-holiday-homework .download-grid{grid-template-columns:1fr}.page-holiday-homework .download-grid a:nth-child(n){transform:none}
  .page-notice-board .notice-archive-list{padding-left:5rem}.page-notice-board .notice-archive-list time{left:-5rem}.page-notice-board .notice-archive-list a{grid-template-columns:1fr;gap:.55rem;min-height:7.5rem}.page-notice-board .notice-archive-list i{grid-column:1;justify-self:start}.page-notice-board .notice-archive-list h3{font-size:1.5rem;max-width:none}
  .page-photo-gallery .masonry{columns:1}.gallery-lightbox{padding:1rem}
  .page-mail-us .contact-stage,.page-careers .careers-stage{grid-template-columns:1fr}.page-mail-us .contact-compass{width:11rem;height:11rem}.page-careers .careers-stage figure{height:28rem}
  .page-site-map .site-map-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .mission-kinetic span,.statement-word,.vision-rings,.prayer-halo,.homework-ribbon span,.notice-ticker span,.year-marquee span,.contact-compass span,.career-marquee span{animation:none!important}
  .sig-reveal,.sig-reveal-left,.sig-reveal-right,.sig-scale,.inner-hero h1,.inner-kicker,.hero-copy-block>p,.inner-hero-aside{opacity:1!important;transform:none!important;transition:none!important}
  .inner-hero-media{transform:none!important}
}

/* ---- headline-flow ---- */
/* Desktop headline flow pass — use available width before adding line breaks. */
@media (min-width:981px){
  body.inner-page .inner-hero h1{
    max-width:none!important;
    width:100%!important;
    text-wrap:balance!important;
  }
  body.inner-page .hero-copy-block{min-width:0!important;max-width:none!important;}

  /* Large editorial section headings should normally resolve to one or two lines on wide screens. */
  body.inner-page .statement-core h2,
  body.inner-page .vision-copy h2,
  body.inner-page .infra-closer h2,
  body.inner-page .achievement-intro h2,
  body.inner-page .page-conduct-discipline .rules-index h2,
  body.inner-page .building-cert-copy h2,
  body.inner-page .affiliation-intro h2,
  body.inner-page .fire-intro h2,
  body.inner-page .story-intro h2,
  body.inner-page .photo-narrative h2,
  body.inner-page .download-head h2,
  body.inner-page .notice-archive-head h2,
  body.inner-page .topper-intro h2,
  body.inner-page .video-foot h2,
  body.inner-page .careers-stage h2,
  body.inner-page .contact-details h2,
  body.inner-page .site-map-head h2{
    max-width:none!important;
    text-wrap:balance!important;
  }

  /* Give text-led split sections more room for the headline when the canvas allows it. */
  body.inner-page .achievement-intro,
  body.inner-page .infra-closer{
    grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr)!important;
  }
  body.inner-page .story-opening-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(26rem,.95fr)!important;
  }
  body.inner-page.page-school-affiliation-certificate .inner-hero h1,
  body.inner-page.page-building-safety-certificate .inner-hero h1,
  body.inner-page.page-fire-safety-certificate .inner-hero h1{
    font-size:clamp(4.2rem,6.7vw,7.6rem)!important;
  }
}
@media (min-width:1440px){
  body.inner-page .inner-hero h1{line-height:.88!important;}
}

/* ---- density-link-fix ---- */
/* ================================================================
   FINAL CONTENT DENSITY + LEFT-ALIGNMENT QA PASS
   Design rule: use available width; no decorative dead space.
   ================================================================ */
@media (min-width:981px){
  body.inner-page .inner-hero{min-height:clamp(30rem,58svh,42rem)!important;}
  body.inner-page .hero-visual{min-height:clamp(34rem,64svh,46rem)!important;}
  body.inner-page .hero-leadership{min-height:clamp(34rem,62svh,46rem)!important;}
  body.inner-page .hero-statement{min-height:clamp(29rem,54svh,39rem)!important;}
  body.inner-page .hero-utility{min-height:clamp(28rem,50svh,36rem)!important;}
  body.inner-page .inner-hero-content{padding-top:2.7rem!important;padding-bottom:2.7rem!important;}
  body.inner-page .inner-hero h1{max-width:16ch!important;width:auto!important;text-align:left!important;}
  body.inner-page .hero-copy-block{text-align:left!important;justify-self:start!important;justify-items:start!important;grid-column:1!important;}
  body.inner-page .inner-hero .hero-copy-block>p{margin-left:0!important;max-width:46rem!important;text-align:left!important;}
  body.inner-page .inner-hero-aside{grid-column:2!important;grid-row:1!important;justify-self:end!important;}

  body.inner-page .section-surface,
  body.inner-page .section-paper,
  body.inner-page .dark-stage,
  body.inner-page .statement-stage,
  body.inner-page .prayer-stage{padding-top:clamp(3rem,4.6vw,5rem)!important;padding-bottom:clamp(3rem,4.6vw,5rem)!important;}

  /* Remove page-signature minimum heights that created empty canvases. */
  body.inner-page.page-mission-statement .statement-stage,
  body.inner-page.page-our-vision .vision-composition,
  body.inner-page.page-achievements .achievement-intro,
  body.inner-page.page-video-gallery .video-foot,
  body.inner-page.page-write-us .feedback-stage,
  body.inner-page.page-careers .careers-stage,
  body.inner-page.page-about-us .editorial-quote,
  body.inner-page.page-site-map .site-map-stage{min-height:0!important;}

  body.inner-page.page-photo-gallery .inner-hero{min-height:clamp(35rem,66svh,48rem)!important;}
  body.inner-page.page-achievements .inner-hero{min-height:clamp(34rem,62svh,45rem)!important;}
  body.inner-page.page-careers .inner-hero{min-height:clamp(32rem,58svh,42rem)!important;}
  body.inner-page.page-mission-statement .inner-hero,
  body.inner-page.page-prayers .inner-hero{min-height:clamp(29rem,52svh,38rem)!important;}

  /* Vision: keep the giant V as a watermark, but put all real content on the left. */
  body.inner-page.page-our-vision .inner-hero-content{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.45fr)!important;align-items:end!important;}
  body.inner-page.page-our-vision .hero-copy-block{grid-column:1!important;text-align:left!important;justify-self:start!important;}
  body.inner-page.page-our-vision .inner-hero-aside{grid-column:2!important;grid-row:1!important;justify-self:end!important;}
  body.inner-page.page-our-vision .vision-composition{display:block!important;position:relative!important;overflow:hidden!important;}
  body.inner-page.page-our-vision .vision-mark{position:absolute!important;right:-.03em!important;top:.02em!important;z-index:0!important;opacity:.34!important;font-size:clamp(13rem,20vw,21rem)!important;transform:none!important;}
  body.inner-page.page-our-vision .vision-copy{position:relative!important;z-index:2!important;padding-top:0!important;max-width:72rem!important;}
  body.inner-page.page-our-vision .vision-copy h2{max-width:17ch!important;}
  body.inner-page.page-our-vision .vision-axis{position:relative!important;z-index:2!important;margin-top:3rem!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1rem!important;max-width:72rem!important;}

  /* Vice Principal: portrait can remain on the right; heading does not. */
  body.inner-page.page-vice-principals-message .inner-hero-content{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.45fr)!important;}
  body.inner-page.page-vice-principals-message .hero-copy-block{grid-column:1!important;text-align:left!important;}
  body.inner-page.page-vice-principals-message .inner-hero-aside{grid-column:2!important;grid-row:1!important;justify-self:end!important;}

  /* Achievements: compact, fully occupied intro. */
  body.inner-page .achievement-intro,
  body.inner-page.page-achievements .achievement-intro{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:'eyebrow count' 'heading count' 'copy count'!important;
    column-gap:3rem!important;row-gap:.45rem!important;
    align-items:start!important;min-height:0!important;
  }
  body.inner-page .achievement-intro>.eyebrow{grid-area:eyebrow!important;}
  body.inner-page .achievement-intro h2{grid-area:heading!important;max-width:16ch!important;margin:.65rem 0 1rem!important;}
  body.inner-page .achievement-intro p{grid-area:copy!important;justify-self:start!important;max-width:48rem!important;}
  body.inner-page.page-achievements .achievement-count{
    grid-area:count!important;position:relative!important;right:auto!important;bottom:auto!important;
    align-self:center!important;font-size:clamp(6rem,10vw,10rem)!important;line-height:.75!important;
    min-width:9rem!important;text-align:right!important;
  }
  body.inner-page.page-achievements .achievement-count small{margin:.7rem 0 0!important;text-align:right!important;}

  /* Keep text-led section headings in the natural reading column. */
  body.inner-page .gallery-head,
  body.inner-page .video-foot,
  body.inner-page .infra-closer{grid-template-columns:minmax(0,1fr) minmax(18rem,.52fr)!important;align-items:start!important;}
  body.inner-page .gallery-head h2,
  body.inner-page .video-foot h2,
  body.inner-page .infra-closer h2{max-width:16ch!important;}
  body.inner-page .gallery-head p,
  body.inner-page .video-foot p,
  body.inner-page .infra-closer p{justify-self:start!important;}

  body.inner-page.page-write-us .feedback-stage{align-items:start!important;}
  body.inner-page.page-careers .careers-stage{align-items:start!important;}
  body.inner-page.page-video-gallery .video-foot{align-items:start!important;}
}

/* Converted non-clickable archive rows retain the original visual family. */
.download-grid article{min-height:10rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--surface-card)}
.download-grid article b{font-size:.6rem;color:var(--maroon);letter-spacing:.14em}.download-grid article span{font-family:var(--serif);font-size:1.6rem;color:var(--brand-deep)}.download-grid article i{font-style:normal;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.page-holiday-homework .download-grid article{border:1px solid var(--hairline)!important;border-radius:1.2rem;background:var(--surface-card);box-shadow:0 .8rem 2rem rgba(6,21,47,.045)}

.notice-archive-list article{display:grid;grid-template-columns:5.5rem 1fr auto;gap:2rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid var(--hairline)}
.notice-archive-list article time{width:4.6rem;height:4.6rem;border-radius:1.1rem;background:var(--gold-soft);display:grid;place-items:center;align-content:center;text-align:center}
.notice-archive-list article time b{font-family:var(--serif);font-size:1.6rem;color:var(--brand-deep);line-height:1}.notice-archive-list article time span{font-size:.55rem;letter-spacing:.12em;color:var(--maroon)}
.notice-archive-list article h3{font-family:var(--serif);font-size:clamp(1.45rem,2vw,2rem);line-height:1.08;margin:0;color:var(--ink);text-wrap:balance}.notice-archive-list article i{font-style:normal;font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.page-notice-board .notice-archive-list article{grid-template-columns:minmax(0,1fr) max-content;gap:2.25rem;min-height:7rem;padding:1.35rem 0;position:relative;align-items:center}
.page-notice-board .notice-archive-list article time{position:absolute;left:-7.2rem;top:50%;transform:translateY(-50%)}
.page-notice-board .notice-archive-list article i{justify-self:end}

.achievement-list article{display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.achievement-list article b{font-size:.6rem;color:var(--gold);letter-spacing:.14em}.achievement-list article span{font-family:var(--serif);font-size:1.55rem;color:white;line-height:1.05}.achievement-list article i{font-style:normal;color:rgba(255,255,255,.45)}
.achievement-list article::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--brand-light);transition:width .5s cubic-bezier(.16,1,.3,1)}.achievement-list article:hover::after{width:100%}

.topper-years article{flex:0 0 min(31rem,78vw);min-height:15rem;scroll-snap-align:start;display:grid;grid-template-columns:1fr;align-content:space-between;padding:1.6rem;border:1px solid var(--hairline);border-radius:1.2rem;background:linear-gradient(145deg,var(--surface),var(--surface-card));position:relative;overflow:hidden}
.topper-years article::after{content:attr(data-year);position:absolute;right:-.05em;bottom:-.22em;font:700 7rem/1 var(--serif);color:rgba(143,20,34,.055)}
.topper-years article b{font-size:.6rem;color:var(--maroon)}.topper-years article span{font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--brand-deep);max-width:12ch}.topper-years article i{font-style:normal;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

.archive-local-note{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--hairline);font-size:.72rem;line-height:1.65;color:var(--muted);max-width:52rem}
.certificate-local-note{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.2rem;padding:.75rem 1rem;border:1px solid currentColor;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em}

@media(max-width:980px){
  .page-notice-board .notice-archive-list article{grid-template-columns:1fr;gap:.55rem;min-height:7rem}.page-notice-board .notice-archive-list article i{justify-self:start}
  .achievement-intro{grid-template-columns:1fr!important;grid-template-areas:'eyebrow' 'heading' 'copy' 'count'!important}.page-achievements .achievement-count{text-align:left!important;margin-top:1rem!important}.page-achievements .achievement-count small{text-align:left!important}
}
@media(max-width:640px){
  .notice-archive-list article{grid-template-columns:4.8rem 1fr}.notice-archive-list article i{grid-column:2}
  .achievement-list article{grid-template-columns:2.5rem 1fr auto}.achievement-list article span{font-size:1.3rem}
  .download-grid article{min-height:8rem}
}

/* ---- reading-flow ---- */
/* ================================================================
   FINAL INNER-PAGE DENSITY + READING-FLOW PASS
   - No decorative right-aligned page headings
   - No artificial blank canvases
   - Major text uses available width
   - Distinction comes from content, imagery and motion, not empty space
   ================================================================ */
@media (min-width:981px){
  body.inner-page main > section:not(.inner-hero){min-height:0!important;}
  body.inner-page .section-paper,
  body.inner-page .section-surface,
  body.inner-page .dark-stage,
  body.inner-page .statement-stage,
  body.inner-page .prayer-stage{
    min-height:0!important;
    padding-top:clamp(3rem,4.25vw,4.8rem)!important;
    padding-bottom:clamp(3rem,4.25vw,4.8rem)!important;
  }
  body.inner-page .inner-hero{min-height:clamp(31rem,56svh,43rem)!important;}
  body.inner-page .inner-hero.with-photo{min-height:clamp(34rem,61svh,46rem)!important;}
  body.inner-page .inner-hero-content{
    grid-template-columns:minmax(0,1.15fr) minmax(15rem,.42fr)!important;
    gap:clamp(2rem,4vw,4.5rem)!important;
    align-items:end!important;
  }
  body.inner-page .hero-copy-block{
    grid-column:1!important;grid-row:1!important;
    text-align:left!important;justify-self:start!important;justify-items:start!important;
    width:100%!important;max-width:74rem!important;
  }
  body.inner-page .inner-hero h1{
    margin-left:0!important;margin-right:0!important;
    max-width:min(16ch,100%)!important;text-align:left!important;text-wrap:balance!important;
  }
  body.inner-page .inner-hero .hero-copy-block>p{
    margin-left:0!important;margin-right:0!important;
    max-width:58ch!important;text-align:left!important;
  }
  body.inner-page .inner-hero-aside{
    grid-column:2!important;grid-row:1!important;
    justify-self:end!important;align-self:end!important;
  }

  /* Major content headings follow the natural left reading edge. */
  body.inner-page .section-paper>h2,
  body.inner-page .section-surface>h2,
  body.inner-page .dark-stage>h2,
  body.inner-page .statement-core h2,
  body.inner-page .vision-copy h2,
  body.inner-page .achievement-intro h2,
  body.inner-page .gallery-head h2,
  body.inner-page .video-foot h2,
  body.inner-page .infra-closer h2,
  body.inner-page .download-head h2,
  body.inner-page .topper-intro h2,
  body.inner-page .careers-stage h2,
  body.inner-page .feedback-copy h2,
  body.inner-page .leader-letter h2{
    text-align:left!important;justify-self:start!important;margin-left:0!important;
    max-width:22ch!important;text-wrap:balance!important;
  }

  /* Achievements: compact intro, no empty editorial canvas. */
  body.inner-page.page-achievements .achievement-intro{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(8rem,.22fr)!important;
    grid-template-areas:'eyebrow count' 'heading count' 'copy count'!important;
    gap:.5rem 3rem!important;align-items:center!important;
  }
  body.inner-page.page-achievements .achievement-intro>.eyebrow{grid-area:eyebrow!important;align-self:end!important;}
  body.inner-page.page-achievements .achievement-intro h2{grid-area:heading!important;max-width:none!important;margin:.55rem 0 .8rem!important;}
  body.inner-page.page-achievements .achievement-intro p{grid-area:copy!important;justify-self:start!important;max-width:62rem!important;margin:0!important;}
  body.inner-page.page-achievements .achievement-count{
    grid-area:count!important;position:relative!important;inset:auto!important;
    align-self:center!important;justify-self:end!important;text-align:right!important;
    font-size:clamp(5rem,8vw,8.5rem)!important;line-height:.78!important;min-width:8rem!important;
  }
  body.inner-page.page-achievements .achievement-count small{margin-top:.65rem!important;text-align:right!important;}

  /* Vision: readable content first; the V remains only a quiet visual accent. */
  body.inner-page.page-our-vision .inner-hero-content,
  body.inner-page.page-vice-principals-message .inner-hero-content{
    grid-template-columns:minmax(0,1.15fr) minmax(15rem,.42fr)!important;
  }
  body.inner-page.page-our-vision .hero-copy-block,
  body.inner-page.page-vice-principals-message .hero-copy-block{
    grid-column:1!important;text-align:left!important;justify-self:start!important;
  }
  body.inner-page.page-our-vision .vision-composition{
    min-height:0!important;display:block!important;position:relative!important;overflow:hidden!important;
  }
  body.inner-page.page-our-vision .vision-copy{max-width:72rem!important;position:relative!important;z-index:2!important;}
  body.inner-page.page-our-vision .vision-copy h2{max-width:17ch!important;}
  body.inner-page.page-our-vision .vision-axis{
    position:relative!important;z-index:2!important;display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;
    max-width:72rem!important;margin-top:2.5rem!important;
  }
  body.inner-page.page-our-vision .vision-mark{
    position:absolute!important;right:0!important;top:-.04em!important;transform:none!important;
    opacity:.18!important;font-size:clamp(12rem,18vw,19rem)!important;pointer-events:none!important;
  }

  /* One-column closers instead of a heading stranded opposite empty space. */
  body.inner-page .gallery-head,
  body.inner-page .video-foot,
  body.inner-page .infra-closer{
    grid-template-columns:minmax(0,1fr)!important;gap:1rem!important;align-items:start!important;
  }
  body.inner-page .gallery-head>*,
  body.inner-page .video-foot>*,
  body.inner-page .infra-closer>*{justify-self:start!important;max-width:72rem!important;}
  body.inner-page .gallery-head h2,
  body.inner-page .video-foot h2,
  body.inner-page .infra-closer h2{max-width:20ch!important;}

  body.inner-page.page-video-gallery .video-foot,
  body.inner-page.page-write-us .feedback-stage,
  body.inner-page.page-careers .careers-stage,
  body.inner-page.page-about-us .editorial-quote,
  body.inner-page.page-site-map .site-map-stage{min-height:0!important;}

  body.inner-page .quiet-next a{padding-top:2.25rem!important;padding-bottom:2.25rem!important;}
}

@media(max-width:980px){
  body.inner-page .inner-hero{min-height:35rem!important;}
  body.inner-page .inner-hero-content{grid-template-columns:1fr!important;}
  body.inner-page .hero-copy-block,body.inner-page .inner-hero-aside{grid-column:1!important;grid-row:auto!important;justify-self:start!important;text-align:left!important;}
  body.inner-page.page-achievements .achievement-intro{grid-template-columns:1fr!important;grid-template-areas:'eyebrow' 'heading' 'copy' 'count'!important;gap:.55rem!important;}
  body.inner-page.page-achievements .achievement-count{justify-self:start!important;text-align:left!important;margin-top:1rem!important;}
  body.inner-page.page-achievements .achievement-count small{text-align:left!important;}
  body.inner-page.page-our-vision .vision-axis{grid-template-columns:1fr!important;}
}

/* ---- achievement-detail ---- */
/* Local achievement detail pages — same approved SHCIS family */
.achievement-detail-shell{background:var(--background);padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,5vw,5rem);border-radius:2rem;margin-top:1rem}
.achievement-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr);gap:clamp(2rem,5vw,5rem);align-items:start;max-width:88rem;margin:0 auto}
.achievement-detail-copy{max-width:54rem}
.achievement-detail-copy .eyebrow{margin-bottom:1rem}
.achievement-detail-copy h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5.6rem);line-height:.94;letter-spacing:-.035em;color:var(--ink);margin:0 0 1.5rem;text-wrap:balance}
.achievement-detail-copy p{font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.85;color:var(--ink-soft);max-width:48rem}
.achievement-detail-media{border-radius:1.5rem;overflow:hidden;background:var(--surface);min-height:22rem;position:relative}
.achievement-detail-media img{width:100%;height:100%;min-height:22rem;object-fit:cover;display:block}
.achievement-detail-media.no-photo{display:grid;place-items:center;padding:3rem;background:linear-gradient(145deg,var(--brand-deep),var(--brand-dark));color:#fff}
.achievement-detail-media.no-photo strong{font-family:var(--serif);font-size:clamp(4rem,9vw,9rem);font-weight:500;color:rgba(255,255,255,.12)}
.achievement-detail-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.achievement-prev-next{max-width:88rem;margin:clamp(2.5rem,5vw,5rem) auto 0;border-top:1px solid var(--hairline);padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem}
.achievement-prev-next a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.achievement-list a.achievement-row{display:grid;grid-template-columns:3.7rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.16);color:inherit;text-decoration:none;transition:padding .25s ease,border-color .25s ease,background .25s ease}
.achievement-list a.achievement-row:hover{padding-left:.65rem;border-color:var(--brand-light)}
.achievement-list a.achievement-row b{color:var(--brand-light);font-family:var(--sans);font-size:.72rem;letter-spacing:.14em}
.achievement-list a.achievement-row span{font-family:var(--serif);font-size:clamp(1.35rem,2vw,2rem);line-height:1.12;color:#fff}
.achievement-list a.achievement-row i{font-style:normal;color:rgba(255,255,255,.66);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
@media(max-width:820px){.achievement-detail-grid{grid-template-columns:1fr}.achievement-detail-media{order:-1;min-height:16rem}.achievement-list a.achievement-row{grid-template-columns:2.5rem minmax(0,1fr)}.achievement-list a.achievement-row i{grid-column:2}}
