@font-face {
  font-family: "Prime Poppins";
  src: url("../fonts/poppins-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Prime Poppins";
  src: url("../fonts/poppins-medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Prime Poppins";
  src: url("../fonts/poppins-semibold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

/* Let the replacement module occupy the full content width at every breakpoint. */
#rt-header-surround { background-image: none; }
#rt-header { padding: 0; height: auto; }
#rt-header > .rt-container { width: 100%; max-width: 1200px; }
#rt-header .rt-flex-container { display: block; }
#rt-header .rt-grid-12 { width: 100%; }
#rt-header .prime-header-module { padding: 0; margin: 0; }
#rt-header .prime-header-module > .module-surround > .module-content { padding: 0; }

.prime-header {
  container-type: inline-size;
  font-family: "Prime Poppins", Arial, sans-serif;
  font-weight: 600;
  background: #fff;
}
.prime-header *, .prime-header *::before, .prime-header *::after { box-sizing: border-box; }
.prime-header__mobile-bar, .prime-header__mobile-description, .prime-header__learn-more { display: none; }
.prime-sidebar-contact { margin: 0 0 24px; padding: 18px 0; border-bottom: 2px solid #087bbb; }
.prime-sidebar-contact address { margin: 0 0 10px; font-style: normal; line-height: 1.6; }
.prime-sidebar-contact a { font-size: 22px; font-weight: 600; }
.prime-sidebar-contact address a { font-size: inherit; font-weight: inherit; }
.prime-header__hero {
  position: relative;
  height: 29.71cqw;
  overflow: hidden;
  background: linear-gradient(90deg, #232f57 0%, #232f57 57%, #0d78ba 73%, #0d78ba 100%);
}
#rt-header .prime-header__brand {
  position: absolute;
  left: 4.6%;
  top: 10.4%;
  width: 38.7%;
  display: block;
}
.prime-header__brand img { display: block; width: 100%; height: auto; }
.prime-header__brand:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.prime-header__portrait {
  position: absolute;
  left: 43.9%;
  bottom: 0;
  width: 35%;
  height: 97%;
  overflow: hidden;
}
.prime-header__portrait img {
  position: absolute;
  display: block;
  width: 231.183%;
  max-width: none;
  height: auto;
  left: -73.118%;
  top: -25.56cqw;
}
.prime-header__bio {
  position: absolute;
  top: 13.3%;
  right: 2%;
  width: 26.8%;
  color: #fff;
  text-align: center;
}
.prime-header .prime-header__name {
  margin: 0 0 0.75cqw;
  font: 600 2.23cqw/1.28 "Prime Poppins", Arial, sans-serif;
  letter-spacing: -0.05cqw;
}
.prime-header .prime-header__credentials {
  margin: 0;
  font: 500 1.43cqw/1.24 "Prime Poppins", Arial, sans-serif;
  letter-spacing: -0.025cqw;
}
.prime-header__recognition { display: flex; align-items: center; height: 18.74cqw; padding: 1.6cqw 2cqw 2cqw 1.8cqw; gap: 1.2cqw; }
.prime-header__rankings { flex: 0 0 36%; color: #087bbb; }
.prime-header__rankings p { display: flex; align-items: center; gap: 1.4cqw; margin: 0; font-size: 2.83cqw; line-height: 1.19; letter-spacing: -0.07cqw; white-space: nowrap; }
.prime-header__rankings p + p { margin-top: 0.6cqw; }
.prime-header__rank { font-family: Arial, sans-serif; font-weight: 700; font-size: 8cqw; line-height: 1.04; letter-spacing: -0.4cqw; flex: 0 0 8.8cqw; }
.prime-header .prime-header__badges { flex: 1; display: flex; align-items: center; justify-content: space-between; list-style: none; padding: 0; margin: 0; gap: 1.5cqw; }
.prime-header__badges li { display: flex; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; margin: 0; padding: 0; filter: drop-shadow(0.5cqw 0.6cqw 0.45cqw #0005); }
.prime-header__badges img { display: block; width: 100%; height: auto; max-height: 14.5cqw; object-fit: contain; }
/* The supplied U.S. News JPEG has white corners outside its shield and ribbon. */
.prime-header__badges li:nth-child(2) img {
  clip-path: polygon(13.4% 1.2%, 87.6% 1.2%, 87.6% 45%, 91.8% 45%, 91.8% 49%, 98.7% 49%, 95.8% 58.1%, 98.7% 67.4%, 87.6% 67.4%, 87.6% 86.2%, 50.5% 99.1%, 13.4% 86.2%, 13.4% 67.4%, 1.8% 67.4%, 4.9% 58.1%, 1.8% 49%, 8.7% 49%, 8.7% 45%, 13.4% 45%);
}
.prime-header__badges li:nth-child(3) img { max-height: 14cqw; }

/* Match the compact mobile composition at the navigation's own breakpoint. */
@media (max-width: 767px) {
  .prime-header { padding-top: 76px; }
  #rt-top { display: none; }
  .prime-header__mobile-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; height: 76px; padding: 10px 20px; background: #fff; box-shadow: 0 1px 4px #0002; }
  .prime-header__mobile-bar a { display: block; width: 72%; max-width: 280px; margin-left: auto; }
  .prime-header__mobile-bar img { display: block; width: 100%; height: auto; }
  .layout-mode-responsive .gf-menu-toggle { position: fixed; left: 16px; right: auto; top: 16px; width: 44px; height: 44px; box-sizing: border-box; padding: 13px 12px; }
  .layout-mode-responsive .gf-menu-toggle .icon-bar { background: #232f57; }
  /* Keep the close control clear of links in Gantry's left-hand drawer. */
  .layout-mode-responsive.gf-sidemenu-size-marginleft .gf-menu-toggle { left: auto; right: 16px; }
  .prime-header__hero { height: 63cqw; background: linear-gradient(105deg, #232f57 15%, #183f69 58%, #0d78ba 100%); }
  #rt-header .prime-header__brand, .prime-header .prime-header__credentials { display: none; }
  .prime-header__portrait { left: 38%; top: 3cqw; bottom: auto; width: 68%; height: 60cqw; }
  .prime-header__portrait img { top: -49.65cqw; }
  .prime-header__bio { top: 18%; left: 6%; right: auto; width: 69%; text-align: left; }
  .prime-header .prime-header__name { font-size: 4.5cqw; line-height: 1.35; margin-bottom: 3.8cqw; letter-spacing: -0.07cqw; }
  .prime-header .prime-header__mobile-description { display: block; font-size: 4.1cqw; line-height: 1.3; font-weight: 400; margin: 0 0 5.5cqw; }
  #rt-header a.prime-header__learn-more { display: inline-flex; align-items: center; gap: 3cqw; padding: 2.7cqw 4cqw; border: 2px solid #53bbd5; border-radius: 4px; color: #fff; font-size: 3.4cqw; line-height: 1.2; letter-spacing: 0.1cqw; text-transform: uppercase; background: #232f5780; }
  #rt-header .prime-header__learn-more:hover { background: #087bbb; }
  .prime-header__learn-more:focus-visible, .prime-header__mobile-bar a:focus-visible { outline: 3px solid #087bbb; outline-offset: 4px; }
  .prime-header__recognition { height: auto; display: block; padding: 0 3cqw 4cqw; }
  .prime-header__rankings { display: flex; margin: 0 -3cqw 4cqw; padding: 4cqw 0; }
  .prime-header__rankings p { flex: 1; flex-direction: column; font-size: 4.5cqw; gap: 0; }
  .prime-header__rankings p + p { margin-top: 0; border-left: 1px solid #bce9f4; }
  .prime-header__rank { font-size: 12cqw; flex-basis: auto; }
  .prime-header__rank-specialty { display: none; }
  .prime-header .prime-header__badges { gap: 2cqw; }
  .prime-header__badges img { max-height: 23cqw; }
  .prime-header__badges li:nth-child(3) img { max-height: 19cqw; }
}
