/* Page-specific editorial photography and supporting vector illustrations. */
.brand-logo, .footer-logo { width: 210px; height: 46px; }
.navbar { gap: 20px; }
.hero { padding: 64px 0; }
.hero h1 { font-size: clamp(3rem, 4.7vw, 4.3rem); }
.hero-copy { max-width: 460px; }
.hero-illustration { position: relative; margin: 0 0 22px; }
.hero-illustration > img { display: block; width: 100%; height: auto; aspect-ratio: 1.12; object-fit: cover; object-position: 46% 50%; border-radius: 12px; border: 1px solid #183e3514; }
.hero-illustration figcaption { position: absolute; left: -20px; bottom: 24px; display: flex; align-items: center; gap: 14px; padding: 16px 22px; background: #fffdf6; box-shadow: 0 10px 28px #243c281a; border: 1px solid #e4e7d8; border-radius: 10px; font-size: 11px; color: #64715e; }
.hero-illustration figcaption strong { display: block; color: var(--ink); font-size: 15px; margin-top: 2px; }
.illustration-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #e6edd7; color: var(--green); font-size: 24px; }
.hero-exam-links { display: flex; gap: 12px; }
.hero-exam-links a { display: flex; flex: 1; justify-content: space-between; align-items: center; padding: 12px 15px; background: #fff9; border: 1px solid #d8dfd1; border-radius: 7px; font-size: 12px; font-weight: 600; }
.hero-exam-links a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.page-art { margin: 0; min-width: 0; }
.page-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 10px; }
.page-art-photo img { border: 1px solid #183e3510; object-fit: cover; }
.visual-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.visual-hero h1 { font-size: clamp(2.3rem, 3.6vw, 3.3rem); }
.visual-hero .page-art { width: 100%; max-width: 440px; justify-self: end; }
.visual-hero .breadcrumb-link { margin-bottom: 22px; }
.visual-hero .eyebrow { margin-bottom: 16px; }
.visual-hero p { margin-bottom: 0; }
.visual-hero-copy > .btn { margin-top: 24px; }
.page-art-compact { width: 150px; margin: 0 0 26px; }
.page-art-compact img { aspect-ratio: 3 / 2; border-radius: 10px; }
.exam-illustration { margin: -28px -28px 22px; }
.exam-illustration .page-art img { border-radius: 9px 9px 0 0; aspect-ratio: 1.9; }
.exam-card { overflow: hidden; border-top-width: 1px; }
.exam-top { margin-bottom: 18px; }
.exam-number { font-size: 26px; }
.career-illustration { margin: -1.6rem -1.6rem 24px; }
.career-illustration .page-art img { border-radius: 11px 11px 0 0; aspect-ratio: 1.9; }
.career-guide-card { overflow: hidden; }
.career-guide-card .exam-number { display: none; }
.residency-home .page-art { margin-bottom: 16px; }
.residency-home .page-art img { aspect-ratio: 1.7; }
.residency-home-stats { border-radius: 9px; }
.residency-home-stats span { padding: 15px 12px; }
.directory-hero .page-art { margin-bottom: 20px; }
.directory-trust { border-left-width: 2px; padding-top: 0; padding-bottom: 0; }
.directory-trust span { font-size: 12px; }
.directory-trust strong { font-size: 13px; }
.program-detail header .page-art { margin-bottom: 20px; }
.article-feature { margin-top: 36px; }
.article-card .page-art { margin-bottom: 16px; }
.article-card .page-art img { aspect-ratio: 1.65; }
.article-card { border-top: 2px solid #c0ccbf; padding-top: 24px; }
.news-detail-heading { max-width: 800px; }
.news-detail-heading .news-detail-title { font-size: clamp(2rem, 4vw, 3.4rem); }
.article-category { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 9px; }
.journal-empty > .page-art { width: 260px; flex-shrink: 0; }
.journal-empty > .page-art img { aspect-ratio: 1.15; }
.news-panel-art { margin: -28px -28px 25px; }
.news-panel-art .page-art img { max-height: 180px; object-fit: contain; background: #eff2e8; border-radius: 12px 12px 0 0; }
.official-panel { overflow: hidden; }
.community-image { margin: -50px -50px 40px; }
.community-image .page-art img { height: 280px; object-position: 50% 43%; border-radius: 13px 13px 0 0; }
.community-panel { overflow: hidden; }
.social-login-panel > .page-art { margin-bottom: 28px; }
.social-login-panel > .page-art img { aspect-ratio: 2.1; object-position: 50% 44%; }
.error-page { min-height: 100vh; display: grid; place-items: center; background: #f6f7f2; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #183e35; margin: 0; }
.error-panel { width: min(560px, 88vw); padding: 48px 0; }
.error-panel > img { width: 220px; }
.error-panel h1 { font-family: Georgia, serif; font-size: 42px; font-weight: 400; }
.error-panel a { color: #245747; }
.error-brand { display: block; margin-bottom: 40px; }
.error-brand img { width: 210px; }
@media (min-width: 1200px) {
  .navbar-nav { gap: 12px; }
  .nav-actions { max-width: 270px; }
}
@media (max-width: 991px) {
  .hero { padding: 44px 0; }
  .hero .col-lg-6 + .col-lg-6 { max-width: 700px; }
  .hero-illustration > img { aspect-ratio: 1.5; }
  .hero-illustration figcaption { left: 16px; }
  .visual-hero { gap: 32px; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .visual-hero h1 { font-size: 2.5rem; }
  .community-image { margin: -35px -35px 30px; }
  .directory-hero .page-art { max-width: 520px; }
  .journal-empty { gap: 24px; }
  .journal-empty > .page-art { width: 200px; }
}
@media (max-width: 767px) {
  .brand-logo { width: 184px; height: 42px; }
  .hero h1 { font-size: clamp(2.85rem, 10.5vw, 4.1rem); }
  .hero-illustration > img { aspect-ratio: 1.2; }
  .hero-illustration figcaption { left: 12px; right: 12px; bottom: 14px; padding: 12px 15px; }
  .hero-exam-links { gap: 7px; }
  .hero-exam-links a { padding: 11px 10px; font-size: 11px; }
  .visual-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .visual-hero h1 { font-size: 2.5rem; }
  .visual-hero > .page-art { max-width: none; }
  .visual-hero > .page-art img { max-height: 240px; object-fit: contain; background: #eff2e8; }
  .visual-hero > .page-art-photo img { object-fit: cover; }
  .page-art-compact { width: 126px; margin-bottom: 22px; }
  .journal-empty > .page-art { width: 100%; }
  .journal-empty > .page-art img { aspect-ratio: 1.6; }
  .community-image { margin: -27px -27px 26px; }
  .community-image .page-art img { height: 200px; }
  .social-login { padding: 36px 0; }
  .social-login-panel { padding: 24px; }
}
@media (max-width: 575px) {
  .news-panel-art { margin: -20px -20px 22px; }
}
