/* Balanced public-site type scale: readable, premium, and viewport-safe. */
body.bp-site{font-size:15px;line-height:1.6}
.bp-nav nav a,.bp-actions>a{font-size:13px}
.bp-actions select{font-size:13px}
.bp-hero h1{font-size:clamp(40px,4.25vw,64px);line-height:1.08;letter-spacing:-2.4px;max-width:820px}
.bp-hero>div>p,.page-hero p{font-size:18px;line-height:1.65}
.page-hero h1{font-size:clamp(38px,4.35vw,60px);line-height:1.1;letter-spacing:-2.2px}
.bp-section h2,.bp-cta h2{font-size:clamp(28px,3vw,44px);line-height:1.16;letter-spacing:-1.2px}
.journey h3{font-size:23px}
.model>div:first-child>p,.oversight p{font-size:17px}
.program-list h2{font-size:27px}
.support-grid h2,.campus-grid h2,.community-grid h2{font-size:23px;line-height:1.25}
.bp-footer{font-size:14px}
.bp-hero aside{position:relative}
.bp-hero aside>article{position:absolute;z-index:3;left:24px;right:24px;bottom:24px;margin:0;padding:20px 22px;background:rgba(255,255,255,.93);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 42px rgba(19,40,75,.2);backdrop-filter:blur(12px)}
.bp-hero aside>article p{font-size:14px;line-height:1.5}
.hero-orbit:after{top:26px;bottom:auto;text-shadow:0 1px 8px rgba(14,33,63,.55)}
.bp-hero-slider .hero-orbit{background-image:none;isolation:isolate}
.hero-slide-media{display:block!important;position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .65s ease;z-index:0}
.hero-slide-media.active{opacity:1}
.bp-hero-slider .hero-orbit:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,30,56,.14),transparent 48%,rgba(11,30,56,.42));z-index:1}
.bp-hero-slider .hero-orbit:after{content:attr(data-slide-kicker);z-index:2}
.hero-slider-controls{position:absolute;z-index:5;top:18px;right:18px;display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:rgba(10,28,53,.62);backdrop-filter:blur(10px)}
.hero-slider-controls button{width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#fff;cursor:pointer;font-size:18px}
.hero-slider-controls button:hover,.hero-slider-controls button:focus-visible{background:rgba(255,255,255,.2);outline:2px solid #fff;outline-offset:1px}
.hero-slider-dots{display:flex;gap:6px;padding:0 4px}
.hero-slider-dots button{width:8px;height:8px;min-width:8px;padding:0;background:rgba(255,255,255,.5)}
.hero-slider-dots button.active{width:22px;border-radius:8px;background:#fff}
.bp-hero aside>article strong,.bp-hero aside>article p{transition:opacity .2s ease}
@media(prefers-reduced-motion:reduce){.hero-slide-media{transition:none}}
@media(max-width:720px){
  body.bp-site{font-size:15px}
  .bp-hero h1{font-size:clamp(38px,12vw,50px);line-height:1.08;letter-spacing:-1.7px}
  .page-hero h1{font-size:clamp(34px,10vw,46px);letter-spacing:-1.4px}
  .bp-hero>div>p,.page-hero p{font-size:17px}
  .bp-section h2,.bp-cta h2{font-size:clamp(27px,8.5vw,38px)}
  .bp-hero aside>article{left:14px;right:14px;bottom:14px;padding:17px 18px}
  .bp-hero aside>article strong{font-size:18px}
  .bp-hero aside>article p{font-size:13px}
  .hero-slider-controls{top:12px;right:12px}
}
