/* Public contact cards and the school PDF library. */
.rhc-contact-paths {
  color: #fff;
  margin: 0 clamp(18px, 3vw, 45px);
  padding: clamp(24px, 4vw, 54px) 0 clamp(20px, 3vw, 38px);
  border-bottom: 1px solid rgb(226 184 73 / .35);
  display: grid;
  grid-template-columns: minmax(175px, .7fr) minmax(0, 2fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: center;
}
.rhc-contact-paths-intro h2 {
  color: #fff;
  font: 750 clamp(24px, 3vw, 42px)/1.12 Montserrat, system-ui, sans-serif;
  margin: 9px 0 10px;
}
.rhc-contact-paths-intro p, .rhc-contact-path p { color: #d9e4f1; line-height: 1.52; }
.rhc-contact-paths-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.rhc-contact-path {
  border: 1px solid rgb(226 184 73 / .37);
  border-radius: 18px;
  background: linear-gradient(148deg, #142f52, #0b2543);
  padding: clamp(17px, 2.2vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
}
.rhc-contact-eyebrow {
  color: #f4cf6b;
  font: 750 11px/1.35 Montserrat, system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.rhc-contact-path h3 {
  color: #fff;
  font: 700 clamp(17px, 2vw, 23px)/1.25 Montserrat, system-ui, sans-serif;
}
.rhc-contact-path h3, .rhc-contact-path p, .rhc-contact-paths-intro p { margin: 0; }
.rhc-contact-path-links {
  margin-top: auto;
  padding-top: 7px;
  display: grid;
  justify-items: start;
  gap: 5px;
}
.rhc-contact-mail {
  color: #071d38;
  background: #f3c75a;
  border-radius: 9px;
  font: 730 clamp(13px, 1.4vw, 15px)/1.3 Montserrat, system-ui, sans-serif;
  padding: 10px 12px;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.rhc-contact-mail:hover { background: #ffdc7c; }
.rhc-contact-more {
  color: #fff;
  font-size: .78rem;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.rhc-contact-more:hover { color: #f3c75a; }
.rhc-contact-paths a:focus-visible { outline: 2px solid #f3c75a; outline-offset: 3px; }
.rhc-team-contacts-compact {
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #e2e9f2;
  list-style: none;
}
.rhc-team-contacts-compact li { display: flex; flex-direction: column; }
.rhc-team-contacts-compact li span { color: #152d4c; font-size: .75rem; font-weight: 700; }
.rhc-team-contacts-compact a { color: #154b76; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
@media (max-width: 930px) { .rhc-contact-paths { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .rhc-contact-paths-grid { grid-template-columns: 1fr; } }

.rhc-library { scroll-margin-top: 92px; }
.rhc-school-filters {
  border: 1px solid #dce4ee;
  border-radius: 16px;
  background: #f5f8fc;
  padding: clamp(15px, 2.6vw, 27px);
  margin: 16px 0 26px;
}
.rhc-school-filters-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 1fr);
  gap: 14px 24px;
  align-items: end;
}
.rhc-school-title, .rhc-school-total { display: block; }
.rhc-school-title { color: #0b2446; font-size: clamp(16px, 1.9vw, 20px); font-weight: 750; }
.rhc-school-total { color: #495e78; font-size: .78rem; margin-top: 3px; }
.rhc-school-categories { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.rhc-school-categories button {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  background: #fff;
  color: #123358;
  border: 1px solid #cdd9e9;
  border-radius: 8px;
  padding: 7px 10px;
  font: 700 13px/1.35 Montserrat, system-ui, sans-serif;
  cursor: pointer;
}
.rhc-school-categories button[aria-pressed="true"] {
  background: #0b274b;
  border-color: #0b274b;
  color: #fff;
}
.rhc-school-categories button span {
  background: #e7edf5;
  color: #173558;
  border-radius: 99px;
  font-size: 11px;
  padding: 3px 6px;
  min-width: 20px;
  text-align: center;
}
.rhc-school-categories button[aria-pressed="true"] span { background: #f6d888; color: #102a4a; }
.rhc-school-results {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 16px;
  color: #415674;
  font-size: .78rem;
}
.rhc-school-group { margin: 24px 0 32px; }
.rhc-school-group-heading { display: flex; flex-wrap: wrap; gap: 7px 14px; align-items: center; margin-bottom: 11px; }
.rhc-school-group-heading h3 { color: #09264b; font-size: clamp(17px, 2vw, 22px); margin: 0; }
.rhc-school-group-heading > span {
  color: #325273;
  font-size: .68rem;
  font-weight: 650;
  padding: 3px 9px;
  background: #edf2f8;
  border-radius: 20px;
}
.rhc-school-pdf-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 269px), 1fr));
  gap: 14px;
}
.rhc-school-pdf {
  background: #fff;
  border: 1px solid #dce4ee;
  border-radius: 14px;
  box-shadow: 0 5px 16px rgb(15 40 72 / .05);
  padding: clamp(15px, 1.9vw, 24px);
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rhc-school-pdf-featured { border-color: #cba352; background: linear-gradient(146deg, #fffcf2, #fff 64%); }
.rhc-school-pdf-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.rhc-pdf-format, .rhc-pdf-tag, .rhc-pdf-pages {
  padding: 3px 7px;
  border-radius: 6px;
  font: 700 11px/1.35 Montserrat, system-ui, sans-serif;
}
.rhc-pdf-format { background: #e9eff7; color: #14365a; }
.rhc-pdf-pages { color: #4d627d; padding-inline: 0; }
.rhc-pdf-tag { background: #f8eac1; color: #654408; }
.rhc-school-pdf h4 { margin: 2px 0; color: #102e52; font-size: clamp(16px, 1.55vw, 19px); line-height: 1.3; overflow-wrap: anywhere; }
.rhc-school-pdf p { margin: 0; color: #465b75; line-height: 1.52; }
.rhc-school-pdf .rhc-pdf-author { font-size: .78rem; }
.rhc-school-pdf .rhc-pdf-description { font-size: .88rem; }
.rhc-school-pdf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; }
.rhc-school-pdf-actions a {
  min-height: 40px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #bacadd;
  border-radius: 8px;
  font: 700 12px/1.2 Montserrat, system-ui, sans-serif;
  text-decoration: none;
  color: #173759;
}
.rhc-school-pdf-actions .rhc-pdf-open { color: #fff; background: #0b274b; border-color: #0b274b; }
.rhc-school-pdf-actions .rhc-pdf-open:hover { background: #1c456e; }
.rhc-pdf-download:hover { background: #edf3fa; }
.rhc-school-editions {
  background: #f5f8fc;
  border: 1px solid #dce4ee;
  border-radius: 12px;
  padding: 0 13px;
  margin-top: 12px;
  color: #183e67;
}
.rhc-school-editions > summary { padding: 12px 0; font-size: .8rem; font-weight: 700; cursor: pointer; }
.rhc-school-editions[open] > div { padding: 0 0 13px; }
.rhc-school-categories button:focus-visible, .rhc-school-pdf a:focus-visible, .rhc-school-editions summary:focus-visible {
  outline: 2px solid #aa7924;
  outline-offset: 2px;
}
@media (max-width: 630px) { .rhc-school-filters-top { grid-template-columns: minmax(0, 1fr); } }
/* Keep the existing contact, newsletter and social columns comfortable below. */
.rhc-contact-paths + div { padding-inline: clamp(18px, 3vw, 45px); }
.rhc-contact-paths + div > div { min-width: 0; }
.rhc-contact-paths + div a[href^="mailto:"] { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 1599px) {
  .rhc-contact-paths + div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rhc-contact-paths + div > div { border-right: 0; padding-right: 0; }
}
@media (max-width: 767px) {
  .rhc-contact-paths + div { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
