/* V415 shared public shell. Full-bleed shells own no inline gutter; their
   centered inner container owns it once. The canvas begins at x=0. */
:root {
  --site-container-max: var(--site-max);
  --hero-practice-size: clamp(2.4rem, 5.1vw, 4.85rem);
  --hero-practice-line-height: .96;
  --hero-practice-tracking: -.062em;
}
.site-header, .announcement, main#main > section:not(.wrap), .footer-v3151 {
  padding-inline: 0 !important;
}
.site-header .nav-wrap, .announcement > .wrap,
main#main > section:not(.wrap) > .wrap, .footer-v3151 > .wrap {
  width: min(var(--site-max), calc(100% - 2 * var(--site-gutter))) !important;
  max-width: var(--site-max) !important;
  margin-inline: auto;
}
.site-header .nav-wrap, .announcement > .wrap { padding-inline: 0 !important; }
.page-institutional-programs .institution-hero[data-standard-hero]{padding-top:var(--hero-standard-padding-top)!important;align-items:flex-start!important}
.page-institutional-programs .institution-hero[data-standard-hero]>.wrap{align-items:start!important;margin-block:0}
.page-institutional-programs .institution-hero[data-standard-hero] [data-hero-copy]{padding-top:0!important;margin-top:0!important}
.membership-action-status{display:block;flex-basis:100%;min-height:1.5rem;margin:.35rem 0 0;font-weight:650;color:inherit}

/* Reuse the accepted Work With InnerVital scale across the practice family. */
body h1.hero-title--practice {
  font-size: var(--hero-practice-size) !important;
  line-height: var(--hero-practice-line-height) !important;
  letter-spacing: var(--hero-practice-tracking) !important;
  font-weight: 800;
}
body h1.hero-title--display {
  font-size: var(--hero-standard-title-size) !important;
  line-height: var(--hero-standard-title-line-height) !important;
  letter-spacing: var(--hero-standard-title-letter-spacing) !important;
}
body .practitioners-hero h1.hero-title--practice { max-width: min(100%, 54rem) !important; }
body .academy-hero-photo--conventional-bridge h1.hero-title--practice { max-width: 100% !important; }
.careers-hero-grid { align-items: start; }
.careers-hero-copy { padding-top: 0; }
body .careers-hero .hero-heading--shaped,
body .page-institutional-programs .institution-hero .hero-heading--shaped {
  max-inline-size: min(100%, 14em) !important;
  border: 0;
}
@media (min-width: 761px) {
  .hero-heading--shaped > .hero-line { display: block; white-space: normal; }
  .page-institutional-programs .institution-hero-grid > div:first-child {
    width: min(100%, 68rem) !important;
    max-width: 68rem !important;
  }
  .careers-hero-grid { grid-template-columns: minmax(0, 52rem) minmax(0, 1fr) !important; }
  .careers-hero-copy { width: 100% !important; max-width: 52rem !important; }
  .academy-hero-photo--conventional-bridge .academy-page-hero-grid { grid-template-columns: minmax(0, 56rem) minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 760px) {
  :root { --hero-practice-size: clamp(2.18rem, 11vw, 3.4rem); --hero-practice-tracking: -.058em; }
  .hero-heading--shaped > .hero-line { display: inline; white-space: normal; }
  .careers-hero-grid { grid-template-columns: 1fr !important; }
}

/* Disclosure state is explicit, so Escape closes a focused dropdown too. */
@media (min-width: 1241px) {
  .primary-nav .nav-item.has-dropdown .nav-submenu { display: none; left: auto; right: 0; max-width: calc(100vw - 40px); max-height: calc(100dvh - 130px); overflow-y: auto; }
  .primary-nav .nav-item > a[aria-expanded="true"] + .nav-submenu { display: block; }
  .primary-nav .nav-submenu a { white-space: normal; }
}
@media (max-width: 1240px) {
  nav.primary-nav { display:none; position:absolute; left:1rem; right:1rem; top:calc(100% + .35rem); overflow:auto; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); padding:.8rem; flex-direction:column; align-items:stretch; }
  nav.primary-nav.open { display:flex; }
  .menu-toggle { display:inline-flex; }
  .header-cta .btn.secondary { display:none; }
  .primary-nav .nav-submenu { position: static; display: block; min-width:0; max-width:100%; background:transparent; border:0; box-shadow:none; padding:.1rem 0 .5rem 1rem; }
  nav.primary-nav { max-height: calc(100dvh - 110px); overscroll-behavior: contain; }
  nav.primary-nav a, .menu-toggle { min-height: 44px; }
}
