/* =============================================================================
   SPPS — Home page in the immersive (Facilities) theme. Loads after facilities.css + home.css
   ============================================================================= */
.cta-strip{display:none}                 /* home has its own admissions finale */
.hd .eyebrow.light{color:var(--lblue)}
.hd-h2{font-size:clamp(1.9rem,4.4vw,3rem);margin:6px 0 18px}

/* Hero */
.hd-hero{min-height:calc(100vh - 112px);min-height:calc(100svh - 112px)}
.hd-hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:end;padding-bottom:150px!important}
.hd-trust{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 26px}
.hd-trust span{font-size:.76rem;font-weight:600;color:#fff;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hd-cta{display:flex;gap:12px;flex-wrap:wrap}
.hd-badge{justify-self:start;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:20px 24px;border-radius:22px;max-width:320px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hd-badge b{grid-row:span 3;font-family:var(--serif);font-size:3.2rem;line-height:1;color:#fff}
.hd-badge-k{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lmauve);font-weight:700}
.hd-badge-t{font-family:var(--serif);font-size:1.15rem;color:#fff}
.hd-badge small{grid-column:1 / -1;color:#cfcdee;margin-top:10px;font-size:.8rem}
.hd .fx-dots{bottom:120px}

/* Trust cards overlapping hero */
.hd-creds{position:relative;z-index:5;margin-top:-96px;padding-bottom:10px}
.hd-creds-grid{display:grid;grid-template-columns:1fr;gap:14px}
.hd-cred{padding:24px 22px;border-radius:20px;background:rgba(30,28,96,.72);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transition:transform .3s,border-color .3s}
.hd-cred:hover{transform:translateY(-6px);border-color:var(--lmauve)}
.hd-cred b{display:block;font-family:var(--serif);font-size:1.9rem;color:#fff;line-height:1}
.hd-cred .t{display:block;color:var(--lmauve);font-weight:700;margin:8px 0 6px}
.hd-cred p{margin:0;color:#cbc9ec;font-size:.9rem}

/* Welcome collage */
.hd-split{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
.hd-collage{position:relative;min-height:440px}
.hd-collage figure{margin:0;position:absolute;overflow:hidden;border-radius:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.hc-a{left:0;top:0;width:78%;height:72%}
.hc-b{right:0;bottom:0;width:58%;height:52%;border:6px solid #16144a}
.hc-stamp{position:absolute;left:6%;bottom:6%;background:var(--secondary);color:#fff;border-radius:18px;padding:14px 20px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.hc-stamp b{display:block;font-family:var(--serif);font-size:1.8rem;line-height:1}
.hc-stamp span{font-size:.75rem;opacity:.9}
.hd-prose p{color:#d6d4f1;margin:0 0 14px}
.hd-big{font-family:var(--serif);font-size:1.4rem;color:#fff!important;border-left:3px solid var(--secondary);padding-left:16px}

/* Advantage bento: denser rows */
.hd-adv .tile-txt p{font-size:.9rem}

/* Journey stages */
.hd-journey .fx-band-shade{background:linear-gradient(180deg,rgba(22,20,74,.93),rgba(22,20,74,.88))}
.hd-stages{display:grid;grid-template-columns:1fr;gap:18px}
.stage{border-radius:22px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;transition:transform .35s,border-color .35s}
.stage:hover{transform:translateY(-8px);border-color:var(--lmauve)}
.stage-img{position:relative;height:190px;overflow:hidden}
.stage-img img{transition:transform 1.2s}
.stage:hover .stage-img img{transform:scale(1.08)}
.stage-no{position:absolute;right:14px;bottom:-18px;font-family:var(--serif);font-size:4.4rem;font-weight:700;color:rgba(255,255,255,.85);line-height:1;text-shadow:0 6px 20px rgba(0,0,0,.4)}
.stage-body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.stage-k{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lblue);font-weight:700}
.stage h3{font-size:1.45rem;margin:6px 0 4px}
.stage-tag{color:var(--lmauve);font-weight:600;font-size:.9rem;margin-bottom:10px}
.stage p{color:#d0ceec;font-size:.92rem;margin:0 0 16px;flex:1}
.hd-link{color:#fff;font-weight:600;font-size:.9rem;border-bottom:1px solid var(--lmauve);align-self:flex-start;padding-bottom:2px}
.hd-link:hover{color:var(--lmauve)}

/* Holistic */
.hd-hol{display:grid;grid-template-columns:1fr;gap:14px;margin-top:40px}
.hol{padding:24px 22px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));transition:border-color .3s,transform .3s}
.hol:hover{border-color:var(--lmauve);transform:translateY(-4px)}
.hol-n{font-family:var(--serif);font-weight:700;color:var(--lmauve)}
.hol h3{font-size:1.2rem;margin:6px 0 6px}
.hol p{margin:0;color:#cfcdee;font-size:.92rem}

/* Campus grid */
.hd-campus-grid{display:grid;grid-template-columns:1fr;gap:14px}
.cg{position:relative;margin:0;border-radius:18px;overflow:hidden;min-height:240px;cursor:zoom-in;max-width:none;flex:none}
.cg img{position:absolute;inset:0;transition:transform 1.1s}
.cg:hover img{transform:scale(1.07)}
.cg figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;color:#fff;font-weight:600;font-size:.9rem;background:linear-gradient(to top,rgba(15,13,58,.85),transparent)}

/* Results */
.hd-results .fx-band-shade{background:linear-gradient(120deg,rgba(22,20,74,.95),rgba(46,43,131,.86) 60%,rgba(172,69,130,.7))}
.hd-toppers{display:grid;grid-template-columns:1fr;gap:16px}
.hd-top{text-align:center;padding:32px 22px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hd-top .score{font-family:var(--serif);font-size:3.4rem;font-weight:700;color:#fff;line-height:1}
.hd-top .nm{color:#fff;font-weight:600;margin-top:12px;font-size:1.05rem}
.hd-top .yr{color:var(--lblue);font-size:.85rem}

/* Warm light sections (Leadership + Principal) */
.hd-light{background:linear-gradient(180deg,#fbf7f4 0%,#f6eef4 100%);color:var(--text);padding:100px 0}
.hd-light h2,.hd-light h3{color:var(--primary)}
.hd-light .mgmt-head h2{color:var(--primary)}
.hd-light-2{background:linear-gradient(180deg,#f6eef4 0%,#eeeef7 100%);padding-top:20px}
.hd-light .mcard p{color:var(--muted)}
.hd-msg{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.hd-msg-img{margin:0;border-radius:26px;overflow:hidden;min-height:380px;position:relative;box-shadow:var(--shadow)}
.hd-msg-img img{position:absolute;inset:0}
.hd-quote{margin:0;padding:0}
.hd-quote p{color:#45454f;margin:0 0 14px}
.hd-quote-lead{font-family:var(--serif);font-size:1.4rem;line-height:1.45;color:var(--primary)!important}
.hd-sig b{display:block;font-family:var(--serif);color:var(--primary);font-size:1.2rem}
.hd-sig span{color:var(--muted);font-size:.9rem}

/* Finale */
.hd-final{padding:150px 0;text-align:center}
.hd-final-shade{background:radial-gradient(ellipse at center,rgba(46,43,131,.82),rgba(22,20,74,.96) 70%)!important}
.hd-final-inner{max-width:760px;margin:0 auto}
.hd-final-inner h2{margin:6px auto 18px;max-width:none}
.hd-final-inner p:not(.eyebrow){color:#dcdaf3;margin:0 auto 28px!important;max-width:60ch}
.hd-final .hd-cta{justify-content:center}

@media (min-width:721px){
  .hd-creds-grid{grid-template-columns:repeat(2,1fr)}
  .hd-stages{grid-template-columns:repeat(2,1fr)}
  .hd-hol{grid-template-columns:repeat(2,1fr)}
  .hd-toppers{grid-template-columns:repeat(3,1fr)}
  .hd-campus-grid{grid-template-columns:repeat(2,1fr)}
  .c-big{grid-column:1 / -1;min-height:340px}
}
@media (min-width:960px){
  .hd-hero-grid{grid-template-columns:1fr auto}
  .hd-creds-grid{grid-template-columns:repeat(4,1fr)}
  .hd-split{grid-template-columns:1fr 1fr;gap:64px}
  .hd-collage{min-height:540px}
  .hd-stages{grid-template-columns:repeat(4,1fr)}
  .hd-hol{grid-template-columns:repeat(3,1fr)}
  .hd-campus-grid{grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px}
  .c-big{grid-column:1;grid-row:1 / span 2;min-height:0}
  .cg{min-height:0}
  .hd-msg{grid-template-columns:.9fr 1.1fr;gap:64px}
  .hd-msg-img{min-height:480px}
}
@media (max-width:720px){
  .hd-hero-grid{padding-bottom:120px!important}
  .hd-badge{display:none}
  .hd-creds{margin-top:-70px}
}
@media (max-width:720px){ .hd-creds-grid{grid-template-columns:1fr 1fr;gap:10px} .hd-cred{padding:16px 14px} .hd-cred b{font-size:1.4rem} .hd-cred p{font-size:.8rem} }

/* ---- Oct 2026 update: guests slider + principal link ---- */
.hd-guests-k{margin:44px 0 16px}
.hd-guests .strip-track{animation-duration:48s;animation-direction:reverse}
.hd-guests .strip-item{height:360px;width:520px}
.hd-guests .strip-item.tall{width:260px}
.hd-guests .strip-item img{object-position:center 25%}
.hd-guests figcaption{font-size:.85rem;line-height:1.35}
.hd-link-dark{color:var(--primary)!important;border-bottom-color:var(--secondary)!important;display:inline-block;margin-top:6px}
.hd-link-dark:hover{color:var(--secondary)!important}
@media (max-width:720px){ .hd-guests .strip-item{height:270px;width:360px} .hd-guests .strip-item.tall{width:190px} }

/* ---- Oct 15: clearer Student Support tile ---- */
.tile.tile-clear img{object-position:center 35%}
.tile.tile-clear::after{background:linear-gradient(to top,rgba(15,13,58,.97) 0%,rgba(15,13,58,.7) 30%,rgba(15,13,58,0) 55%)}
.tile.tile-clear .tile-txt{padding-bottom:20px}
.tile.tile-clear .tile-txt p{font-size:.9rem}

/* ---- SPPS Advantage: light, photo-top cards (Oct 15) ---- */
.adv-light{padding:96px 0}
.adv-head{max-width:none;margin:0 0 40px}
.adv-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:6px 0 16px;color:var(--primary)}
.adv-head p:not(.eyebrow){color:#4a4a55;font-size:1.05rem;margin:0 0 8px;max-width:none}
.adv-grid{display:grid;grid-template-columns:1fr;gap:22px}
.adv-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 20px 45px -32px rgba(46,43,131,.5);transition:transform .3s,box-shadow .3s}
.adv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.adv-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--primary-tint)}
.adv-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform 1s}
.adv-card:hover .adv-img img{transform:scale(1.05)}
.adv-tag{position:absolute;left:14px;top:14px;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--secondary);padding:5px 12px;border-radius:999px}
.adv-body{padding:22px 22px 26px;border-top:4px solid var(--primary-tint)}
.adv-card:nth-child(3n+2) .adv-body{border-top-color:var(--mauve-tint)}
.adv-card:nth-child(3n) .adv-body{border-top-color:var(--sky-tint)}
.adv-body h3{font-size:1.28rem;color:var(--primary);margin:0 0 8px}
.adv-body p{margin:0;color:var(--muted);font-size:.94rem}
@media (min-width:721px){ .adv-grid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .adv-grid{grid-template-columns:repeat(3,1fr)} }
