/* SPPTMK Campus page — scoped premium navy/gold design */
.campus-page{--cp-navy:#0b1f3a;--cp-deep:#06152a;--cp-gold:#d8ad43;--cp-light:#f3d67e;--cp-ink:#162741;--cp-muted:#667286;--cp-cream:#faf8f2;color:var(--cp-ink);background:#fff;overflow:hidden}
.campus-page *{box-sizing:border-box}.campus-page img{display:block;max-width:100%}.campus-page button{font:inherit}.campus-page .section{padding:clamp(68px,8vw,112px) 0}.campus-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#a87916}.campus-eyebrow i{width:25px;height:2px;background:var(--cp-gold)}.campus-page h1,.campus-page h2,.campus-page h3,.campus-page p{overflow-wrap:break-word}
.campus-hero{min-height:440px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--cp-deep)}.campus-hero-photo,.campus-hero-shade{position:absolute;inset:0}.campus-hero-photo{z-index:-2;background:url('../../images/facilities/classroom.jpeg') center 45%/cover no-repeat;animation:campus-hero-drift 18s ease-in-out infinite alternate;transform:scale(1.03)}.campus-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,18,36,.94),rgba(7,27,52,.77) 43%,rgba(7,27,52,.27) 100%),linear-gradient(0deg,rgba(4,15,31,.35),transparent 60%)}.campus-hero-inner{position:relative;padding-top:66px;padding-bottom:76px;display:flex;align-items:center;justify-content:space-between}.campus-hero-copy{max-width:710px;animation:campus-copy-in .9s both}.campus-hero .campus-eyebrow{color:var(--cp-light)}.campus-hero h1{font:500 clamp(2.8rem,5.7vw,5.2rem)/.98 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:20px 0 18px;color:#fff}.campus-hero h1 em,.campus-page h2 em{color:var(--cp-light);font-style:normal}.campus-hero-copy p{max-width:560px;color:#edf1f6;line-height:1.8;margin:0;font-size:.98rem}.campus-button{margin-top:25px;display:inline-flex;align-items:center;gap:26px;padding:13px 18px;background:var(--cp-light);color:var(--cp-deep);font-size:.83rem;font-weight:800;text-decoration:none;border:1px solid var(--cp-gold);border-radius:3px;transition:transform .25s,box-shadow .25s,background .25s}.campus-button:hover{color:var(--cp-deep);background:#fff;transform:translateY(-3px);box-shadow:0 12px 26px #0003}.campus-button span{font-size:1.1rem}.campus-hero-stamp{display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;letter-spacing:.17em;font-size:.64rem;color:#fff9}.campus-hero-stamp b{color:var(--cp-light);font-size:1rem}.campus-hero-footer{position:absolute;bottom:0;left:0;right:0;padding:14px max(24px,calc((100vw - 1140px)/2));display:flex;align-items:center;gap:18px;background:linear-gradient(90deg,#07182cbb,#07182c33);font-size:.63rem;font-weight:700;letter-spacing:.14em;color:#fffbd}.campus-footer-line{height:1px;width:55px;background:var(--cp-gold)}
.campus-intro{background:#fff}.campus-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:start}.campus-page h2{font:500 clamp(2.2rem,4.2vw,3.7rem)/1.06 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:var(--cp-navy);margin:18px 0}.campus-gold-rule,.campus-small-rule{display:block;width:62px;height:3px;background:var(--cp-gold);margin-top:25px}.campus-intro-copy{padding-top:12px;color:var(--cp-muted);line-height:1.9;font-size:.96rem}.campus-intro-copy p{margin:0 0 14px}.campus-intro-copy .campus-lead{font:500 1.35rem/1.5 Georgia,serif;color:var(--cp-navy)}
.campus-spaces{background:var(--cp-cream)}.campus-section-head,.campus-play-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:48px}.campus-section-head h2,.campus-play-head h2{margin-bottom:0}.campus-section-head>p,.campus-play-head>p{max-width:390px;color:var(--cp-muted);line-height:1.85;margin:0 0 5px}.campus-feature{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,6vw,80px);margin:0 0 clamp(55px,8vw,100px)}.campus-feature:last-child{margin-bottom:0}.campus-feature-reverse .campus-feature-image{order:2}.campus-feature-reverse .campus-feature-copy{order:1;padding-left:clamp(0px,4vw,50px)}.campus-image-button{display:block;position:relative;width:100%;padding:0;border:0;background:#e9e6de;overflow:hidden;text-align:left;cursor:zoom-in;border-radius:4px;box-shadow:0 18px 44px #0b1f3a12}.campus-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s}.campus-image-button:hover img{transform:scale(1.045);filter:saturate(1.08)}.campus-feature-image{height:clamp(270px,37vw,460px)}.campus-image-mark{position:absolute;right:13px;bottom:13px;padding:9px 11px;background:#071a31d9;color:#f4d47d;font-size:.62rem;font-weight:800;letter-spacing:.12em;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.campus-image-button:hover .campus-image-mark,.campus-image-button:focus-visible .campus-image-mark{opacity:1;transform:none}.campus-feature-copy{padding:25px 0}.campus-number{color:#a87b1c;font-size:.68rem;letter-spacing:.15em;font-weight:800}.campus-feature-copy h3{font:500 clamp(2rem,3.6vw,3.25rem)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--cp-navy);margin:18px 0}.campus-feature-copy h3 em{font-style:normal;color:#b78b29}.campus-feature-copy>p{color:var(--cp-muted);line-height:1.9;max-width:470px}.campus-feature-copy .campus-note{font-size:.75rem;letter-spacing:.04em;font-weight:700;color:#6a7280}.campus-mini-images{display:flex;gap:12px;margin-top:22px;max-width:340px}.campus-mini-images .campus-image-button{height:94px;flex:1}
.campus-play{background:#fff}.campus-play-mosaic{display:grid;grid-template-columns:1.25fr .8fr;grid-template-rows:245px 190px;gap:18px}.campus-play-main{grid-row:1/3}.campus-play-side{grid-column:2;grid-row:1}.campus-play-bottom{grid-column:2;grid-row:2}.campus-play-note{grid-column:1/3;grid-row:3;background:var(--cp-navy);color:#fff;padding:30px 34px;display:grid;grid-template-columns:auto 1fr auto;gap:12px 20px;align-items:center}.campus-play-icon{grid-row:1/3;font-size:2rem;color:var(--cp-light)}.campus-play-note h3{font:500 1.8rem Georgia,serif;margin:0}.campus-play-note p{grid-column:2;color:#e2e8f1;line-height:1.7;margin:0;font-size:.9rem}.campus-play-note a{grid-column:3;grid-row:1/3;color:var(--cp-light);font-size:.82rem;font-weight:800;text-decoration:none;white-space:nowrap}.campus-play-note a span{margin-left:8px}.campus-wellbeing{background:#f6f2e8}.campus-wellbeing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,8vw,100px)}.campus-wellbeing-image{height:clamp(260px,35vw,420px)}.campus-wellbeing-copy p,.campus-transport-grid p,.campus-closing p{color:var(--cp-muted);line-height:1.9;max-width:480px}.campus-transport{background:#fff}.campus-transport-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(35px,7vw,90px)}.campus-transport-grid h2{margin-top:18px}.campus-button-dark{background:var(--cp-navy);border-color:var(--cp-navy);color:#fff}.campus-button-dark:hover{color:var(--cp-navy)}.campus-transport-image{height:clamp(250px,32vw,380px)}
.campus-closing{background:radial-gradient(ellipse at 85% 20%,#24446d 0,transparent 35%),var(--cp-deep);padding:76px 0;text-align:center;color:#fff}.campus-closing-inner{max-width:760px}.campus-closing .campus-eyebrow{color:var(--cp-light)}.campus-closing h2{color:#fff;font-size:clamp(2.3rem,4.5vw,4rem)}.campus-closing p{margin:0 auto;color:#dce4ef}
.campus-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1)}.campus-reveal.is-visible{opacity:1;transform:none}
.campus-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:20px;padding:35px;background:#030b16ed;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.campus-lightbox.is-open{opacity:1;visibility:visible}.campus-lightbox figure{max-width:min(1000px,78vw);max-height:85vh;margin:0;text-align:center}.campus-lightbox figure img{max-height:76vh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto;box-shadow:0 20px 70px #0007}.campus-lightbox figcaption{color:#fff;margin-top:12px;font-size:.86rem}.campus-lightbox button{border:0;color:#fff;background:#ffffff1a;width:42px;height:42px;border-radius:50%;font-size:1.8rem;cursor:pointer}.campus-lightbox-close{position:absolute;top:20px;right:24px}.campus-lightbox-open{overflow:hidden}
@keyframes campus-hero-drift{from{transform:scale(1.03) translateX(-.3%)}to{transform:scale(1.09) translateX(.3%)}}@keyframes campus-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:767px){.campus-hero{min-height:470px}.campus-hero-inner{padding-top:58px;padding-bottom:70px}.campus-hero h1{font-size:clamp(2.65rem,11vw,4rem)}.campus-hero-stamp{display:none}.campus-hero-footer{font-size:.53rem;gap:9px}.campus-footer-line{width:24px}.campus-intro-grid,.campus-wellbeing-grid,.campus-transport-grid{grid-template-columns:1fr;gap:25px}.campus-section-head,.campus-play-head{display:block}.campus-section-head>p,.campus-play-head>p{margin-top:20px}.campus-feature{grid-template-columns:1fr;gap:20px;margin-bottom:58px}.campus-feature-reverse .campus-feature-image,.campus-feature-reverse .campus-feature-copy{order:initial}.campus-feature-reverse .campus-feature-copy{padding-left:0}.campus-feature-image{height:270px}.campus-feature-copy{padding:8px 0}.campus-play-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 145px;gap:10px}.campus-play-main{grid-column:1/3;grid-row:1}.campus-play-side{grid-column:1;grid-row:2}.campus-play-bottom{grid-column:2;grid-row:2}.campus-play-note{grid-column:1/3;grid-row:3;display:block;padding:24px}.campus-play-icon{display:block;margin-bottom:8px}.campus-play-note h3{margin-bottom:8px}.campus-play-note p{margin-bottom:14px}.campus-wellbeing-image,.campus-transport-image{height:270px}.campus-lightbox{padding:16px;gap:8px}.campus-lightbox figure{max-width:78vw}.campus-lightbox button{width:36px;height:36px}.campus-lightbox-prev{margin-left:-5px}.campus-lightbox-next{margin-right:-5px}}
@media(prefers-reduced-motion:reduce){.campus-page *, .campus-page *::before,.campus-page *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.campus-reveal{opacity:1;transform:none}}
