/* Premium content pages. Scoped to webpage.php to preserve other templates. */
.college-page { background: var(--pale); }
.college-page *, .college-page *::before, .college-page *::after { box-sizing: border-box; }
.college-page main a { color: var(--blue); text-decoration: none; }
.college-page main img { display: block; max-width: 100%; }
.college-page main :is(h1, h2, h3) { font-family: var(--serif); text-transform: none; text-wrap: balance; }
.college-page main h1, .college-page main h2, .college-page main h3 { margin: 0; }
.college-page .page-eyebrow { margin: 0 0 15px; font: 600 var(--text-label)/1.6 var(--sans); letter-spacing: .15em; color: #82632e; text-transform: uppercase; }
.page-hero { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 27px 0 54px; }
.page-hero::after { content: ''; position: absolute; right: -160px; bottom: -370px; width: 700px; height: 700px; border: 1px solid #d9b77720; border-radius: 50%; pointer-events: none; }
.page-breadcrumb { position: relative; z-index: 1; margin-bottom: 38px; }
.page-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 13px; list-style: none; padding: 0; margin: 0; font-size: var(--text-caption); color: #c3cfd8; }
.page-breadcrumb li + li::before { content: '/'; display: inline-block; color: #798da0; margin-right: 13px; }
.college-page .page-breadcrumb a { color: #c3cfd8; }
.college-page .page-breadcrumb a:hover { color: #e1c38d; }
.page-breadcrumb li[aria-current=page] { color: #e1c38d; }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr 1fr; gap: 70px; align-items: center; }
.college-page .page-hero-copy .page-eyebrow { color: #e1c38d; }
.college-page .page-hero h1 { font-size: clamp(44px, 4.6vw, 66px); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; color: #fff; overflow-wrap: anywhere; }
.college-page .page-intro { max-width: 40ch; margin: 23px 0 25px; font-size: 18px; line-height: 1.75; color: #d4dde4; text-wrap: pretty; }
.college-page .page-hero-link { display: inline-flex; align-items: center; gap: 22px; padding: 7px 0; border-bottom: 1px solid #ffffff40; font-size: var(--text-small); font-weight: 600; color: #e1c38d; }
.college-page .page-hero-link:hover { color: #fff; }
.page-hero-photo { position: relative; margin: 0; padding: 9px; border: 1px solid #ffffff25; border-radius: 8px; background: #ffffff08; }
.page-hero-photo > img { width: 100%; height: 265px; object-fit: cover; object-position: center; border-radius: 3px; }
.page-hero-photo figcaption { position: absolute; bottom: 24px; left: 24px; right: 24px; display: flex; align-items: center; gap: 10px; padding: 11px 15px; border-radius: 3px; background: #102b43e8; color: #fff; font-size: var(--text-caption); line-height: 1.5; }
.page-photo-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
.page-facts-band { background: #fff; border-bottom: 1px solid var(--line); }
.page-facts { display: grid; grid-template-columns: repeat(3, 1fr); padding: 25px 0; margin-bottom: 0; }
.page-facts > div { padding: 0 32px; border-left: 1px solid var(--line); }
.page-facts > div:first-child { border: 0; padding-left: 0; }
.page-facts dt { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; color: #82632e; font-size: var(--text-label); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.page-facts dt i { font-size: 16px; }
.page-facts dd { margin: 0; color: var(--ink); font: 400 22px/1.4 var(--serif); }
.page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 35px; align-items: start; padding-top: 60px; padding-bottom: 75px; }
.page-content { padding: 44px 48px; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 8px 32px #102b4304; min-width: 0; scroll-margin-top: 24px; }
.page-content-heading { padding-bottom: 26px; margin-bottom: 27px; border-bottom: 1px solid var(--line); }
.college-page .page-content-heading h2 { color: var(--ink); font-size: clamp(30px, 2.7vw, 39px); font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
.page-prose { font: var(--text-body)/1.9 var(--sans); color: #526574; overflow-wrap: anywhere; }
.page-prose > :first-child { margin-top: 0; }
.page-prose > :last-child { margin-bottom: 0; }
.page-prose :is(p, li, td, th) { font-family: var(--sans); font-size: inherit; line-height: inherit; }
.page-prose p { margin: 0 0 1.5em; text-wrap: pretty; }
.page-prose strong { color: var(--ink); font-weight: 600; }
.page-prose em { font-style: italic; }
.college-page .page-prose :is(h1, h2, h3, h4, h5, h6) { color: var(--ink); font-family: var(--serif); font-size: 27px; line-height: 1.3; font-weight: 600; margin: 1.5em 0 .7em; letter-spacing: -.015em; }
.page-prose :is(ul, ol) { margin: 0 0 1.5em; padding-inline-start: 1.4em; }
.page-prose li + li { margin-top: .5em; }
.page-prose li::marker { color: #9b7b43; }
.college-page .page-prose a { text-decoration: underline; text-underline-offset: 3px; }
.page-prose blockquote { margin: 28px 0; padding: 20px 25px; border-left: 3px solid var(--gold); background: var(--pale); color: var(--ink); }
.page-prose img { max-width: 100%; height: auto; border-radius: 4px; }
.page-prose p:has(> img:only-child) { display: grid; place-items: center; padding: 28px; border: 1px solid var(--line); border-radius: 5px; margin-top: 32px; background: #fbfaf7; }
.page-prose p > img:only-child { width: auto; max-width: min(100%, 400px); max-height: 400px; object-fit: contain; }
.page-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 24px; }
.page-prose :is(td, th) { padding: 12px 14px; border: 1px solid var(--line); }
.page-prose th { color: var(--navy); background: var(--pale); }
.page-sidebar { position: sticky; top: 24px; min-width: 0; }
.page-section-nav { padding: 26px 25px 10px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 6px; }
.college-page .page-section-nav .page-eyebrow { margin-bottom: 7px; }
.college-page .page-section-nav h2 { font-size: 27px; line-height: 1.25; color: var(--ink); font-weight: 400; padding-bottom: 20px; }
.page-section-nav ul { list-style: none; margin: 0; padding: 0; }
.page-section-nav li { border-top: 1px solid var(--line); }
.college-page .page-section-nav a { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 0; color: #536675; font-size: var(--text-small); line-height: 1.55; }
.page-section-nav a i { color: #9b7b43; font-size: 17px; flex-shrink: 0; }
.college-page .page-section-nav a[aria-current=page] { font-weight: 600; color: var(--navy); }
.college-page .page-section-nav a[aria-current=page] i { color: var(--navy); }
.college-page .page-section-nav a:hover { color: #82632e; }
.page-support-card { padding: 28px 25px; margin-top: 24px; background: var(--navy); border-radius: 6px; color: #c3cfd8; }
.page-support-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; border: 1px solid #ffffff30; border-radius: 50%; color: #e1c38d; font-size: 21px; }
.college-page .page-support-card h2 { color: #fff; font-size: 29px; font-weight: 400; line-height: 1.2; margin-bottom: 17px; }
.page-support-card p { font-size: var(--text-small); line-height: 1.8; margin: 0 0 23px; }
.college-page .page-support-card .theme-button { width: 100%; color: var(--navy); font-size: 13px; gap: 16px; }
.college-page .page-support-contact { display: flex; align-items: center; gap: 10px; margin-top: 20px; color: #d4dde4; font-size: var(--text-small); }
.college-page .page-support-contact:hover { color: #e1c38d; }
.page-map { margin-top: 35px; padding-top: 28px; border-top: 1px solid var(--line); }
.college-page .page-map h3 { font-size: 28px; font-weight: 400; margin-bottom: 20px; color: var(--ink); }
.page-map iframe { display: block; width: 100%; border: 0; border-radius: 5px; }
@media (max-width: 1150px) {
  .page-hero-grid { gap: 40px; }
  .page-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 25px; }
  .page-content { padding: 35px; }
  .page-facts > div { padding: 0 24px; }
}
@media (max-width: 1000px) {
  .page-hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .page-hero-photo > img { height: 230px; }
  .page-hero-photo figcaption { left: 18px; right: 18px; bottom: 18px; font-size: 11px; padding: 10px; }
  .college-page .page-intro { font-size: 16px; }
  .page-layout { grid-template-columns: minmax(0, 1fr); padding-top: 40px; }
  .page-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start; }
  .page-support-card { margin-top: 0; }
}
@media (max-width: 760px) {
  .page-hero { padding-top: 22px; padding-bottom: 35px; }
  .page-breadcrumb { margin-bottom: 28px; }
  .page-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .college-page .page-hero h1 { font-size: clamp(40px, 8vw, 54px); }
  .college-page .page-intro { margin: 18px 0 19px; }
  .page-hero-photo > img { height: 215px; }
  .page-facts { grid-template-columns: 1fr; padding: 8px 0; }
  .page-facts > div, .page-facts > div:first-child { padding: 17px 0; border-left: 0; }
  .page-facts > div + div { border-top: 1px solid var(--line); }
  .page-facts dd { font-size: 21px; }
  .page-facts dt { margin-bottom: 4px; }
  .page-layout { padding-top: 30px; padding-bottom: 45px; gap: 25px; }
  .page-content { padding: 28px 24px; }
  .page-content-heading { margin-bottom: 23px; padding-bottom: 22px; }
  .college-page .page-content-heading h2 { font-size: 31px; }
  .page-prose { font-size: .9375rem; line-height: 1.85; }
  .page-prose p:has(> img:only-child) { padding: 20px; }
  .page-sidebar { grid-template-columns: 1fr; gap: 22px; }
  .page-section-nav, .page-support-card { padding: 25px; }
  .page-section-nav { padding-bottom: 10px; }
  .page-support-card .theme-button { max-width: 300px; }
}
@media (max-width: 400px) {
  .page-content { padding: 25px 20px; }
  .page-hero-photo > img { height: 190px; }
  .page-breadcrumb ol { font-size: 11px; gap: 7px 10px; }
  .page-breadcrumb li + li::before { margin-right: 10px; }
}
