/* === START: home page — #about section === */

/* ============================================================
   HOME PAGE ABOUT SECTION
   ============================================================ */

#about {
  padding-bottom: 5rem;
}

/* ── BEGIN NEW LAYOUT CODE (remove block to revert) ────────── */

#about .section-title {
  margin-bottom: 0;
  padding-bottom: 0;
}

#about .section-title h1 {
  font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.6rem);
  font-weight: 300;
  font-style: normal;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #0d8fd4;
  padding-bottom: 18px;
  border-bottom: none;
}

#about .section-title h1::after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: var(--site-base-500);
  margin: 10px auto 0;
  border-radius: 2px;
}

#about .row.content:first-of-type {
  margin-top: 1rem;
}

#about .content h2.mb-5 {
  font-size: clamp(1.45rem, 1.35rem + 1vw, 1.8rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.01em;
  max-width: 60ch;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  margin-left: auto;
  margin-right: auto;
}

#about .col-lg-12.pb-5 {
  padding-bottom: 1.5rem !important;
}

#about .row.content:last-child {
  margin-top: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.08);
  align-items: stretch;
}

#about .row.content:last-child > div {
  display: flex;
}

/* ── END NEW LAYOUT CODE ────────────────────────────────────── */

/* ── REVERT BLOCK — uncomment to restore old layout ─────────
#about h2 {
  font-weight: 600;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}
#about .row.content:last-child {
  margin-top: 2rem;
  padding-top: 2rem;
}
   ── END REVERT BLOCK ───────────────────────────────────────── */

#about p.lead.nations-oldest {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgb(55, 65, 81);
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}

#about .about-body {
  font-size: 1.15rem;
  line-height: 1.7;
  font-weight: 400;
  color: rgb(55, 65, 81);
  margin-bottom: 0;
}
/* end home page about section */

/* begin info section */
#info {
  padding-bottom: 3rem;  /* or 4rem if you want more breathing room */
}
#info .card-body p {
  font-size: 1.1rem;
  line-height: 1.65;
}
#info .card-body h3 {
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 0.75rem;
}
/* end info section */

/* begin news section */
#news {
  padding-bottom: 3rem;
}

/* end news section - more styles are in the mcag-footer classes below */

/* .about / .info / .news / .partners / featured-college blocks live in _public-pages.css
   (they were duplicated here verbatim and _public-pages loads later, so it already won) */



/* === START: home #hero (new design) === */

/*--------------------------------------------------------------
# Hero Section — NEW DESIGN (impressionistic campus photo + text overlay)
# To revert: remove this entire block and uncomment LEGACY HERO below
--------------------------------------------------------------*/

#hero {
  width: 100%;
  height: 62vh;
  min-height:520px;
  background: var(--site-dark);
  background-image: url('../images/hero/hero_640045765_crop.webp');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  opacity: .9;
  position: relative;
  overflow: hidden;
}


.herobgimage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    var(--site-base-900) 0%,
    rgba(var(--site-base-900-rgb),0.92) 30%,
    rgba(var(--site-base-900-rgb),0.55) 60%,
    transparent 85%
  );
  z-index: 0;
}

.herobgimage > * {
  position: relative;
  z-index: 1;
}

/*
#hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(var(--site-dark-rgb), 0.62) 0%,
    rgba(var(--site-dark-rgb), 0.40) 45%,
    rgba(var(--site-dark-rgb), 0.10) 72%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 0;
}*/

#hero .container {
  position: relative;
  z-index: 1;
  padding-top: 1rem;
}

.hero__spacer {
  width: 100%;
  margin-left: -100%;
}

/* Prevent fixed attachment on iOS */
@supports (-webkit-touch-callout: none) {
  #hero { background-attachment: scroll; }
}
@supports not (-webkit-touch-callout: none) {
  #hero { background-attachment: fixed; }
}

/* Eyebrow label */
.hero-eyebrow {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  /*color: #FFD166;*/
  color: var(--site-base-500);
  margin: 0 0 12px 0;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6), 0 0 12px rgba(0,0,0,0.4);
}

/* H1 — white with gold em */
#hero h1 {
  margin: 0 0 10px 0;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 4.2rem;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 16px rgba(0,0,0,0.3);
}

#hero h1 em {
  font-style: normal;
  /*color: #FFD166;*/
  color: var(--site-base-500);
  text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 16px rgba(0,0,0,0.3);
}

/* H2 — subhead */
#hero h2 {
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 10px;
  font-size: 2.2rem;
  line-height: 2.6rem;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 14px rgba(0,0,0,0.3);
}

/* Buttons */
#hero .btn-get-started {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 28px 11px 28px;
  border-radius: 50px;
  border: 2px solid #fff;
  transition: 0.5s;
  margin: 10px 0 0 0;
  color: #fff;
  background: var(--site-base-500);
}
#hero .btn-get-started:hover { background: #64cefd; }

#hero .btn-login {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 28px 11px 28px;
  border-radius: 50px;
  border: 2px solid #fff;
  transition: 0.5s;
  margin: 10px 0 0 0;
  color: #fff;
  background: var(--site-base-500);
}
#hero .btn-login:hover { background: #fece68; }

/* Page title/subtitle (used on interior pages) */
.page-title    { font-size: 2.0rem; line-height: 1.2; }
.page-subtitle { font-size: 2.5rem; font-weight: 300; line-height: 1.2; }

/* ── Responsive ───────────────────────────────────────────── */

/* 1900px+ — extra large screens */
@media (min-width: 1900px) {
  #hero { height: 65vh; }
}

/* 1500px and below */
@media (max-width: 1500px) {
  #hero { height: 58vh; }
  .hero-eyebrow { margin-bottom: 6px; }
}

/* Short landscape screens */
@media (max-height: 930px) and (max-width: 1500px) {
  #hero-buttons { display: none !important; }
  #hero h1 { font-size: 3.2rem; line-height: 3.6rem; }
  #hero h2 { font-size: 1.8rem; line-height: 2.1rem; }
}

/* 1200px+ */
@media (min-width: 1200px) {
  #hero { min-height: 520px; }
  .hero-eyebrow { display: block; }
}

/* 1105–1199px — eyebrow visible, buttons need room */
@media (min-width: 1105px) and (max-width: 1199px) {
  #hero { height: auto; min-height: 540px; padding-bottom: 48px; }
  #hero h1 { font-size: 3.3rem; line-height: 3.7rem; }
  #hero h2,
  .info-hero__sub { display: block !important; font-size: 1.3rem; line-height: 1.8rem; }
  .hero-eyebrow { display: block; }
  #hero-buttons { margin-bottom: 2rem !important; }
}

/* 1201px and below — h1/h2 size step down */
@media (max-width: 1201px) {
  #hero h1 { font-size: 3.5rem; line-height: 4rem; }
  #hero h2 { font-size: 2.0rem; line-height: 2.4rem; }
}

/* 1104px and below — hide eyebrow/h2, darken overlay */
@media (max-width: 1104px) {
  #hero h2,
  .hero-eyebrow { display: none; }
  #hero::before { background: rgba(var(--site-dark-rgb), 0.55); }
}

/* 992–1104px — left aligned, buttons need space */
@media (min-width: 992px) and (max-width: 1104px) {
  #hero { height: auto; min-height: 500px; padding-bottom: 40px; }
  #hero h1 { font-size: 3.0rem; line-height: 3.4rem; }
  #hero h2,
  .info-hero__sub { display: block !important; font-size: 1.2rem; line-height: 1.7rem; }
  #hero-buttons { margin-bottom: 2rem !important; }
}

/* 991px and below — center aligned */
@media (max-width: 991px) {
  #hero { text-align: center; }
  #hero h1 { font-size: 3.5rem; line-height: 3.2rem; }
}

/* 768–991px — more breathing room */
@media (min-width: 768px) and (max-width: 991px) {
  #hero { height: auto; min-height: 480px; padding-bottom: 32px; }
  #hero h1 { font-size: 2.8rem; line-height: 3.1rem; }
  #hero h2,
  .info-hero__sub { display: block !important; font-size: 1.15rem; line-height: 1.65rem; }
}

/* 768px and below — darkest overlay, stronger text shadow */
@media (max-width: 768px) {
  #main.public-inside { margin-top: 9.25em; }
  #hero .container { padding-top: 2.4rem; }
  #hero::before { background: rgba(var(--site-dark-rgb), 0.65); }
  .page-title { font-size: 2.5rem; }
  .page-subtitle { font-size: 2.0rem; }
  .info-hero__sub {
    font-weight: 500;
    text-shadow: 0 1px 6px rgba(0,0,0,0.8), 0 0 20px rgba(0,0,0,0.6);
  }
}

/* 576–767px */
@media (min-width: 576px) and (max-width: 767px) {
  #hero { height: auto; min-height: 440px; padding-top: 32px; padding-bottom: 28px; }
  #hero h1 { font-size: 2.2rem; line-height: 2.5rem; margin-top: 1rem; }
  #hero h2,
  .info-hero__sub { display: block !important; font-size: 1.05rem; line-height: 1.55rem; padding: 0 16px; }
  .hero-eyebrow { display: none; }
}

/* 575px and below */
@media (max-width: 575px) {
  #main.public-inside { margin-top: 3.75em; }
  #hero { height: auto; min-height: 420px; padding-top: 28px; padding-bottom: 24px; }
  #hero h1 { font-size: 2.0rem; line-height: 2.3rem; margin-top: 1rem; }
  #hero h2,
  .info-hero__sub { display: block !important; font-size: 1.0rem; line-height: 1.5rem; padding: 0 12px; }
  .hero-eyebrow { display: none; }
  #hero .btn-get-started,
  #hero .btn-login { font-size: 16px; padding: 8px 16px; }
}

/* === START: hero-stats bar === */

/* HERO stats bar 3/2026 */
#hero-stats {
  background: #0d2d4a;
  display: flex;
  justify-content: center;
  border-bottom: 3px solid var(--site-base-500);
}

.hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 3rem;
  border-right: 1px solid rgba(255,255,255,.15);
}

.hero-stat:last-child {
  border-right: none;
}

.hero-stat__num {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--site-base-500);
  line-height: 1;
}

.hero-stat__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  margin-top: 5px;
  text-align: center;
}

@media (max-width: 768px) {
  #hero-stats {
    flex-wrap: wrap;
  }
  .hero-stat {
    width: 50%;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.15);
    padding: 14px 1rem;
  }
}
/* END hero stats */



@-webkit-keyframes up-down {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(-10px);
  }
}

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(-10px);
  }
}


/* === END: home === */