/* Only legacy internal pages load this stylesheet. No animation or script dependency. */
.has-internal-hero { padding-top: var(--site-desktop-header-height, 132px); }
.internal-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1920px; min-height: clamp(320px, 27vw, 380px); margin: 0 auto; background: #fff; border-bottom: 1px solid #e1e6ec; }
.internal-hero__copy { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; padding: 2rem clamp(1.5rem, 3.5vw, 4rem); text-align: center; }
.internal-hero .internal-hero__heading, .internal-hero .internal-hero__heading > p, .internal-hero .internal-hero__heading > h1 { max-width: 18ch; margin: 0; padding: 0; color: #081c33; font: 800 clamp(1.8rem, 3vw, 2.9rem)/1.08 'Montserrat', sans-serif; letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; overflow-wrap: break-word; }
.internal-hero .internal-hero__heading--custom, .internal-hero .internal-hero__heading--custom > p, .internal-hero .internal-hero__heading--custom > h1 { max-width: 24ch; font-size: clamp(1.65rem, 2.6vw, 2.6rem); }
.internal-hero__rule { display: block; width: 3rem; height: 2px; margin-top: 1rem; background: #d2b57e; }
.internal-hero__breadcrumbs { width: 100%; margin: .875rem 0 1.125rem; }
.internal-hero__breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .25rem .45rem; max-width: 100%; margin: 0; padding: 0; list-style: none; }
.internal-hero__breadcrumbs li { min-width: 0; max-width: 100%; margin: 0; padding: 0; color: #526172; font: 500 .75rem/1.6 'Montserrat', sans-serif; overflow-wrap: anywhere; }
.internal-hero__breadcrumbs li::before { content: none; }
.internal-hero__breadcrumbs li + li::before { content: '/'; margin-right: .45rem; color: #8293a5; }
.internal-hero__breadcrumbs li[aria-current="page"] { flex: 0 0 100%; margin-top: .4rem; color: #081c33; font: 600 clamp(1.1rem, 1.6vw, 1.4rem)/1.35 'Montserrat', sans-serif; text-wrap: balance; }
.internal-hero__breadcrumbs li[aria-current="page"]::before { content: none; }
.internal-hero__breadcrumbs a { color: #113677; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.internal-hero a::before { content: none !important; }
.internal-hero .internal-hero__cta { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 46px; max-width: 100%; padding: .8rem 1.35rem; background: #ffcc34; color: #081c33; font: 700 .75rem/1.5 'Montserrat', sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.internal-hero .internal-hero__cta:hover { background: #f4bd1f; }
.internal-hero a:focus-visible { outline: 3px solid #113677; outline-offset: 4px; }
.internal-hero__photo { display: block; position: relative; min-width: 0; overflow: hidden; }
.internal-hero__photo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
@media (max-width: 1100px) {
  .has-internal-hero { padding-top: var(--site-mobile-header-height, 64px); }
}
@media (max-width: 760px) {
  .internal-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .internal-hero__copy { padding: 1.75rem 1.25rem; }
  .internal-hero .internal-hero__heading { max-width: 22ch; font-size: clamp(1.75rem, 5.5vw, 2.3rem); }
  .internal-hero .internal-hero__heading--custom > p, .internal-hero .internal-hero__heading--custom > h1 { font-size: clamp(1.5rem, 5vw, 2rem); }
  .internal-hero__breadcrumbs li { font-size: .6875rem; }
  .internal-hero__photo { height: clamp(210px, 58vw, 350px); }
  .internal-hero__photo img { object-position: center 20%; }
}

/* Keep legacy content at a comfortable desktop scale on wide monitors. */
@media (min-width: 1600px) {
  .has-internal-hero > .page-content-container { max-width: 1440px; margin-inline: auto; }
  .has-internal-hero .main-content-container { width: 70%; padding: 3rem 4.5rem; }
  .has-internal-hero .main-content-container.full { width: 100%; }
  .has-internal-hero .main-content-container h1 { font-size: 3rem; line-height: 1.12; margin-bottom: 1rem; }
  .has-internal-hero .main-content-container :is(h2, h2 a) { font-size: 2.25rem; line-height: 1.2; }
  .has-internal-hero .main-content-container h2 { padding-top: 1.75rem; padding-bottom: .5rem; margin-bottom: .5rem; }
  .has-internal-hero .main-content-container h3 { font-size: 1.75rem; line-height: 1.25; padding-top: 1.25rem; margin-bottom: 1rem; }
  .has-internal-hero .main-content-container :is(h4, h5, h6) { font-size: 1.5rem; }
  .has-internal-hero .main-content-container :where(p, li, a) { font-size: 1.125rem; line-height: 1.65; }
  .has-internal-hero .main-content-container p.small { font-size: .875rem; }
  .has-internal-hero .main-content-container :is(ul, ol) { padding-left: 1.5rem; }
  .has-internal-hero .main-content-container ul li { padding-block: .2rem; }
  .has-internal-hero .main-content-container ul li::before { top: .8rem; left: -1.25rem; width: .35rem; height: .35rem; }
  .has-internal-hero .main-content-container ol li { margin-bottom: 1rem; }
  .has-internal-hero .main-content-container article { padding-bottom: 2.5rem; }
  .has-internal-hero .main-content-container .post-meta :is(p, a) { font-size: .875rem; }
  .has-internal-hero .main-content-container :is(a.defaultBtn, .showPostsButton) { font-size: .875rem; padding: .75rem 1.5rem; margin-top: 1rem; letter-spacing: .025em; }
  .has-internal-hero .main-content-container .showPostsButton { width: 14rem; margin: 2rem auto; }
  .has-internal-hero .main-content-container:is(.blog, .blog-post) iframe { width: 36rem; max-width: 100%; height: 18rem; }
  .has-internal-hero .sidebar { width: 24%; }
  .has-internal-hero .sidebar .sideBlock { margin: 3rem 0; padding: 1.25rem 1.5rem; }
  .has-internal-hero .sidebar .title1 { font-size: 1.875rem; line-height: 1.35; margin: 1.75rem 0 1rem; }
  .has-internal-hero .sidebar :is(a, p) { font-size: .9375rem; line-height: 1.6; margin: .875rem 0; }
  .has-internal-hero .sidebar a::before { margin-right: .6rem; }
  .has-internal-hero .sidebar a:hover { padding-left: .4rem; }
  .has-internal-hero .sidebar .dropdown-container .button-wrapper .open-button { font-size: 1.75rem; top: .5rem; }
  .has-internal-hero .sidebar .dropdown-container .dropdown { padding: 0 1rem; margin-bottom: 1rem; }
  .has-internal-hero .sidebar .dropdown-container .dropdown a { padding-left: 1rem; }
  .has-internal-hero .sidebar .dropdown-container .dropdown a::before { width: .5rem; top: .7rem; left: -.15rem; margin: 0; }
  .has-internal-hero .sidebar .search-page-search input { font-size: 1rem; padding: .875rem 1rem; margin-top: .875rem; }
  .has-internal-hero .sidebar .search-page-search input[type="submit"] { width: 1.5rem; height: 1.5rem; font-size: 0; padding: 0; right: .875rem; background-position-y: 0; }
}
