/* Branch information follows site4's navy and soft-rose visual language. */
.branch-page { --ink-deep: #242b43; --orange: #9c3e61; --orange-dark: #81324f; background: #fff8fa; }
.branch-page :is(section[id],div[id]) { scroll-margin-top: 165px; }
.branch-page .branch-hero { background: linear-gradient(135deg,#fcecf2,#fff8fa); border-color: #ecd8e1; }
.branch-page .branch-eyebrow, .branch-page .branch-kicker, .branch-page .branch-region-link span, .branch-page .branch-card-end strong { color: #8f3f60; }
.branch-page .branch-eyebrow::before { background: #8f3f60; }
.branch-page .branch-region-link:hover, .branch-page .branch-center-card:hover { border-color: #b95478; }
.branch-page .branch-guide, .branch-page .branch-aside { background: #f5edf3; }
.branch-page .branch-info dd, .branch-page .branch-grade-range, .branch-page .branch-panel p { font-size: 16px; line-height: 1.8; }
.branch-page .branch-panel .branch-small { font-size: 14px; }
.branch-page .branch-hero .branch-intro { font-size: 17px; }
.branch-page .branch-at-a-glance { border-color: #ecd8e1; align-self: center; }
.branch-page .branch-button { white-space: normal; text-align: center; line-height: 1.6; }
.branch-page .branch-button:hover { background: #8f3f60; }
.branch-page .branch-breadcrumb a { min-height: 44px; }
.branch-page .branch-detail-content .branch-center-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.branch-page .branch-card-end { flex-wrap: wrap; }
.branch-page .branch-toc { margin-top: 32px; }
.branch-page .branch-photo-note { margin-top: 22px; }
.branch-page .branch-context-links { margin-top: 24px; }
.branch-page .branch-primary-media { margin-block: 32px; }
.branch-page .branch-primary-media .branch-body-image img { height: auto; max-height: none; object-fit: contain; }
.branch-page main { padding-bottom: 110px; }
.branch-page .branch-aside { top: 100px; }
.branch-page .branch-fee-card h3 { background: #f6edf2; }
.branch-page .branch-fee-card dl div:last-child dd { color: #8f3f60; }
.branch-page .branch-space-disclosure > summary { min-height: 56px; }
.branch-page .floating-actions .fab { display: flex; align-items: center; justify-content: center; min-height: 44px; background: #8f3f60; }
/* Readable branch prose, scoped away from the existing academy articles. */
.branch-page main { color: #283448; }
.branch-page :is(h1,h2,h3) { word-break: keep-all; overflow-wrap: anywhere; }
.branch-page .branch-panel :is(p,li,dd), .branch-page .branch-hero .branch-intro { color: #435166; font-size: 17px; line-height: 1.85; letter-spacing: -.015em; }
.branch-page .branch-panel p { margin: 12px 0; }
.branch-page .branch-panel .branch-kicker { font-size: 12px; color: #8f3f60; margin: 0 0 10px; }
.branch-page .branch-panel .branch-small { color: #59677a; font-size: 15px; line-height: 1.8; }
.branch-page .branch-detail-hero .branch-hero-address { margin-top: 18px; font-size: 16px; color: #36475b; }
.branch-page .branch-hero-neighborhoods > span { display: block; font-size: 14px; font-weight: 700; color: #59677a; }
.branch-page .branch-hero-neighborhoods p { margin: 7px 0 4px; font-size: 17px; line-height: 1.75; }
.branch-page .branch-hero-neighborhoods a, .branch-page .branch-inline-guide a { display: inline-flex; align-items: center; min-height: 44px; color: #81324f; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.branch-page .branch-at-a-glance dt, .branch-page .branch-info dt { font-size: 14px; color: #59677a; }
.branch-page .branch-at-a-glance dd { font-size: 16px; line-height: 1.8; }
.branch-page .branch-grade-range { font-size: 17px; line-height: 1.9; }
.branch-page .branch-decision-cards { display: grid; gap: 20px; margin-top: 24px; }
.branch-page .branch-decision-cards article + article { border-top: 1px solid #e8e0e7; padding-top: 20px; }
.branch-page .branch-decision-cards h3, .branch-page .branch-student-notes h3 { font-size: 20px; line-height: 1.55; margin: 0 0 12px; color: #283448; }
.branch-page .branch-panel .branch-advice { font-size: 16px; color: #4b586b; background: #f8f4f7; border-left: 3px solid #b95478; padding: 14px 16px; margin-top: 16px; border-radius: 0 9px 9px 0; }
.branch-page .branch-student-notes { display: grid; gap: 18px; margin-top: 24px; }
.branch-page .branch-student-notes article { padding: 22px; border: 1px solid #e6dfe5; border-radius: 13px; min-width: 0; }
.branch-page .branch-student-notes .branch-note-scope { background: #f5f1f5; border-radius: 9px; padding: 14px 16px; font-size: 16px; line-height: 1.8; }
.branch-page .branch-note-scope strong { display: block; color: #70405a; font-size: 14px; margin-bottom: 7px; }
.branch-page .branch-note-scope span { display: block; }
.branch-page .branch-process { margin-bottom: 0; }
.branch-page .branch-process li { padding-bottom: 24px; }
.branch-page .branch-process p { font-size: 17px; margin: 0; }
.branch-page .branch-school-group summary, .branch-page .branch-faq summary { font-size: 17px; line-height: 1.65; min-height: 56px; }
.branch-page .branch-faq details { padding: 0 18px; border: 1px solid #e3dfe5; border-radius: 12px; margin-top: 10px; box-shadow: none; }
.branch-page .branch-faq summary { padding: 16px 0; }
.branch-page .branch-faq details[open] { background: #fffcfd; }
.branch-page .branch-faq details > p { margin: 0 0 18px; }
.branch-page .branch-panel .branch-school-list li { font-size: 15px; line-height: 1.6; }
.branch-page .branch-center-card p { font-size: 16px; line-height: 1.75; }
.branch-page .branch-card-end, .branch-page .branch-card-end strong, .branch-page .branch-center-card .branch-card-brand { font-size: 14px; line-height: 1.6; }
.branch-page .branch-guide p, .branch-page .branch-aside p, .branch-page .branch-aside ol { font-size: 16px; line-height: 1.8; }
.branch-page .branch-space-disclosure > summary { gap: 10px; }
@media (max-width: 720px) {
  .branch-page .wrap { width: calc(100% - 28px); }
  .branch-page .branch-hero .branch-intro { font-size: 17px; }
  .branch-page .branch-panel { padding: 26px 18px; }
  .branch-page .branch-detail-hero { padding: 25px 18px; }
  .branch-page .branch-detail-hero h1 { font-size: 36px; }
  .branch-page .branch-detail-hero h1 .branch-brand-name { font-size: 19px; }
  .branch-page .branch-toc { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .branch-page .branch-toc a { font-size: 15px; min-height: 48px; padding-inline: 8px; }
  .branch-page .branch-detail-content .branch-center-grid { grid-template-columns: minmax(0,1fr); }
  .branch-page .branch-actions .branch-button { flex: 1 1 140px; }
  .branch-page .branch-fee-grid { grid-template-columns: minmax(0,1fr); }
  .branch-page .branch-fee-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 5px 10px; }
  .branch-page .branch-fee-card dl div { display: flex; flex-direction: column; align-items: center; }
  .branch-page .branch-fee-card dl div + div { border: 0; }
  .branch-page .branch-fee-card dd { font-size: 16px; }
  .branch-page .branch-fee-card dt { font-size: 14px; }
  .branch-page .branch-center-card .branch-card-brand { font-size: 14px; }
  .branch-page .branch-aside .branch-button { max-width: none; }
  .branch-page .branch-panel h2 { font-size: 23px; line-height: 1.5; }
  .branch-page .branch-subject-row { grid-template-columns: 42px minmax(0,1fr); gap: 12px; }
  .branch-page .branch-subject-row strong { padding-top: 3px; }
  .branch-page .branch-panel :is(p,li,dd) { word-break: normal; overflow-wrap: anywhere; }
  .branch-page .branch-student-notes article { padding: 18px 14px; }
  .branch-page .branch-student-notes .branch-note-scope { padding: 12px; }
  .branch-page .branch-student-notes .branch-advice { padding: 12px; }
  .branch-page .branch-panel .branch-status-note { font-size: 15px; line-height: 1.8; }
  .branch-page .branch-faq details { padding-inline: 14px; }
  .branch-page .branch-process li { padding-left: 40px; }
  .branch-page .branch-neighborhoods span { font-size: 14px; }
  .branch-page .branch-search-controls p { font-size: 15px; }
  .branch-page .branch-eyebrow { font-size: 13px; letter-spacing: .02em; }
  body.branch-page .site-header .main-nav .nav-link { font-size: 14px; padding-inline: 4px; }
}
@media (max-width: 359px) {
  .branch-page .branch-panel { padding-inline: 16px; }
  .branch-page .branch-panel :is(p,li,dd), .branch-page .branch-hero .branch-intro, .branch-page .branch-grade-range { font-size: 16px; }
  .branch-page .branch-panel .branch-kicker { font-size: 12px; }
  .branch-page .branch-panel .branch-small { font-size: 15px; }
  .branch-page .branch-panel h2 { font-size: 22px; }
  .branch-page .branch-detail-hero h1 { font-size: 32px; }
  .branch-page .branch-student-notes article { padding-inline: 12px; }
  .branch-page .branch-fee-card dl { gap: 4px; padding-inline: 4px; }
  .branch-page .branch-fee-card dd { font-size: 15px; }
  body.branch-page .site-header .main-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
  body.branch-page .site-header .main-nav .nav-link { width: auto; min-width: 0; font-size: 14px; }
  .branch-page :is(section[id],div[id]) { scroll-margin-top: 215px; }
}
@media (prefers-reduced-motion: reduce) { html:has(.branch-page) { scroll-behavior: auto; } }
/* Course-status notes are limited to newly requested descendant links. */
.branch-neighborhood-link .branch-course-status { display: block; margin-top: 5px; font-size: 12px; line-height: 1.6; font-weight: 500; color: #7b394f; }
