:root {
  --rmsdc-ink: #17212b;
  --rmsdc-white: #fff;
  --rmsdc-muted: #605e5e;
  --rmsdc-neutral: #a0a09f;
  --rmsdc-page: #d8e8e8;
  --rmsdc-snow: #e7f2f1;
  --rmsdc-surface: #f1f8f7;
  --rmsdc-surface-strong: #deeeee;
  --rmsdc-band: #cce1e3;
  --rmsdc-band-strong: #bdd7db;
  --rmsdc-border: rgba(29, 62, 64, .2);
  --rmsdc-shadow: 0 .2rem .7rem rgba(29, 62, 64, .07);
  --rmsdc-aqua: #bafcff;
  --rmsdc-teal-bright: #57bbbf;
  --rmsdc-teal: #317f81;
  --rmsdc-teal-dark: #1d3e40;
  --rmsdc-teal-deep: #142b2c;
  --rmsdc-blue: #002f5e;
  --rmsdc-blue-light: #589be3;
  --rmsdc-emerald: #267850;
  --rmsdc-rust: #de5021;
  --rmsdc-header-gradient: linear-gradient(90deg, #dff3f2, #edf5f3 55%, #c4e1e4);
  --rmsdc-overlay-strong: rgba(0, 0, 0, .6);
  --rmsdc-overlay-soft: rgba(0, 0, 0, .32);
  --bs-primary: var(--rmsdc-teal);
  --bs-primary-rgb: 49, 127, 129;
  --bs-link-color: var(--rmsdc-teal);
  --bs-link-color-rgb: 49, 127, 129;
  --bs-link-hover-color: var(--rmsdc-teal-dark);
  --bs-link-hover-color-rgb: 29, 62, 64;
}

body {
  background: var(--rmsdc-page);
  color: var(--rmsdc-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
  line-height: 1.6;
}

main {
  background: var(--rmsdc-snow);
  min-height: 45vh;
}

img,
svg {
  height: auto;
  max-width: 100%;
}

a {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  line-height: 1.2;
  text-wrap: balance;
}

.navbar.bg-white {
  background: var(--rmsdc-header-gradient) !important;
}

.navbar {
  border-color: rgba(29, 62, 64, .16) !important;
  box-shadow: 0 2px 8px rgba(29, 62, 64, .06);
}

.navbar-brand,
.navbar-brand:focus,
.navbar-brand:hover {
  align-items: center;
  color: var(--rmsdc-teal-dark);
  display: inline-flex;
  gap: .75rem;
  min-width: 0;
}

.navbar-brand__logo {
  border-radius: .25rem;
  flex: 0 0 auto;
  height: 52px;
  object-fit: contain;
  width: 92px;
}

.navbar-brand__text {
  display: block;
  min-width: 0;
}

.navbar-brand__name {
  display: block;
  font-size: 1.05rem;
  line-height: 1.05;
  max-width: 24rem;
  white-space: normal;
  overflow-wrap: break-word;
}

.navbar-brand__tagline {
  color: var(--rmsdc-muted);
  display: block;
  font-size: .75rem;
  line-height: 1.25;
  white-space: normal;
}

.nav-link {
  border-radius: .375rem;
  color: var(--rmsdc-teal-dark);
  font-weight: 600;
  padding-inline: .7rem !important;
}

.navbar-nav > .nav-item {
  flex-shrink: 0;
}

.navbar-nav > .nav-item > .nav-link {
  white-space: nowrap;
}

@media (min-width: 1400px) {
  .navbar-nav > .nav-item > .nav-link {
    padding-inline: .5rem !important;
  }
}

.nav-link:focus,
.nav-link:hover {
  background: rgba(49, 127, 129, .1);
  color: var(--rmsdc-teal);
}

.nav-badge {
  align-items: center;
  background: var(--rmsdc-rust);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .7rem;
  font-weight: 800;
  justify-content: center;
  line-height: 1;
  margin-left: .25rem;
  min-width: 1.15rem;
  padding: .22rem .38rem;
  vertical-align: middle;
}

.nav-badge--menu {
  float: right;
  margin-left: .75rem;
  margin-top: .12rem;
}

.dropdown-menu {
  --bs-dropdown-border-color: var(--rmsdc-border);
  --bs-dropdown-link-active-bg: var(--rmsdc-teal);
  --bs-dropdown-link-hover-bg: rgba(49, 127, 129, .1);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
}

.hero {
  color: #fff;
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  min-height: 82vh;
  overflow: hidden;
  position: relative;
}

.hero--fit-image {
  background-color: var(--rmsdc-teal-deep);
}

.hero__image,
.hero__shade {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.hero__image {
  object-fit: cover;
  object-position: center 52%;
  z-index: -2;
}

.hero__shade {
  background: linear-gradient(90deg, rgba(29, 62, 64, .82), rgba(20, 43, 44, .32));
  z-index: -1;
}

.hero__inner {
  position: relative;
}

.hero__content {
  max-width: 900px;
  padding: 8rem 0 6rem;
}

.hero h1 {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  max-width: 14ch;
}

.section-pad {
  padding: 4.5rem 0;
}

.section-pad + .section-pad {
  border-top: 1px solid rgba(29, 62, 64, .08);
}

.section-muted {
  background: var(--rmsdc-band);
}

.page-hero {
  background: var(--rmsdc-teal-dark);
  color: #fff;
  overflow: hidden;
  position: relative;
}

.page-hero::after {
  content: none;
}

.page-hero__inner {
  align-items: center;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  min-height: 0;
  padding: 3rem 0;
  position: relative;
  z-index: 1;
}

.page-hero--compact .page-hero__inner {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding: 2.5rem 0;
}

.page-hero h1 {
  font-size: 2.75rem;
  font-weight: 750;
  line-height: 1.15;
  max-width: 24ch;
}

.page-hero .lead {
  color: rgba(255, 255, 255, .86);
  max-width: 44rem;
}

.page-hero .eyebrow {
  color: var(--rmsdc-aqua);
}

.page-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.page-hero__media,
.page-hero__panel {
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: .5rem;
  box-shadow: none;
}

.page-hero__media {
  aspect-ratio: 5 / 4;
  overflow: hidden;
}

.page-hero__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.page-hero__media--poster {
  align-self: center;
  aspect-ratio: auto;
  background: rgba(241, 248, 247, .84);
  border-color: rgba(255, 255, 255, .42);
  border-radius: .5rem;
  justify-self: center;
  max-width: 28rem;
  padding: .35rem;
}

.page-hero__media--poster img {
  background: #fff;
  border-radius: .45rem;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}

.page-hero__panel {
  padding: 1.25rem;
}

.page-hero__stat-grid {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.75rem;
  max-width: 44rem;
}

.page-hero__stat,
.hero__stat {
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: .5rem;
  color: rgba(255, 255, 255, .82);
  display: block;
  padding: .8rem .9rem;
}

.page-hero__stat strong,
.hero__stat strong {
  color: #fff;
  display: block;
  font-size: 1.2rem;
  line-height: 1.1;
}

.hero__stats {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.75rem;
  max-width: 44rem;
}

.section-heading {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.section-heading > div {
  max-width: 48rem;
}

.narrow-shell {
  max-width: 44rem;
}

.narrow-shell--sm {
  max-width: 38rem;
}

.eyebrow {
  color: var(--rmsdc-teal);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.text-warning {
  color: var(--rmsdc-aqua) !important;
}

.btn-primary {
  --bs-btn-bg: var(--rmsdc-teal);
  --bs-btn-border-color: var(--rmsdc-teal);
  --bs-btn-hover-bg: var(--rmsdc-teal-dark);
  --bs-btn-hover-border-color: var(--rmsdc-teal-dark);
  --bs-btn-active-bg: var(--rmsdc-teal-dark);
  --bs-btn-active-border-color: var(--rmsdc-teal-dark);
  --bs-btn-disabled-bg: var(--rmsdc-neutral);
  --bs-btn-disabled-border-color: var(--rmsdc-neutral);
}

.btn-outline-primary {
  --bs-btn-color: var(--rmsdc-teal);
  --bs-btn-border-color: var(--rmsdc-teal);
  --bs-btn-hover-bg: var(--rmsdc-teal);
  --bs-btn-hover-border-color: var(--rmsdc-teal);
  --bs-btn-active-bg: var(--rmsdc-teal-dark);
  --bs-btn-active-border-color: var(--rmsdc-teal-dark);
  --bs-btn-disabled-color: var(--rmsdc-neutral);
  --bs-btn-disabled-border-color: var(--rmsdc-neutral);
}

.btn-outline-secondary {
  --bs-btn-color: var(--rmsdc-teal-dark);
  --bs-btn-border-color: rgba(29, 62, 64, .36);
  --bs-btn-hover-bg: var(--rmsdc-teal-dark);
  --bs-btn-hover-border-color: var(--rmsdc-teal-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--rmsdc-teal-dark);
  --bs-btn-active-border-color: var(--rmsdc-teal-dark);
}

.btn-light {
  --bs-btn-bg: var(--rmsdc-surface);
  --bs-btn-border-color: var(--rmsdc-surface);
  --bs-btn-color: var(--rmsdc-ink);
  --bs-btn-hover-bg: var(--rmsdc-surface-strong);
  --bs-btn-hover-border-color: var(--rmsdc-surface-strong);
}

.btn {
  white-space: normal;
}

.border,
.border-top,
.border-bottom {
  border-color: var(--rmsdc-border) !important;
}

.footer .border-secondary {
  border-color: rgba(247, 249, 251, .26) !important;
}

.card {
  background: var(--rmsdc-surface);
  border-color: var(--rmsdc-border);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
}

.card-lift {
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.card-lift:hover,
.card-lift:focus-within {
  border-color: rgba(49, 127, 129, .42);
  box-shadow: 0 .5rem 1.25rem rgba(29, 62, 64, .12);
  transform: translateY(-2px);
}

.feature-card,
.story-panel,
.cta-panel {
  background: rgba(241, 248, 247, .86);
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
}

.feature-card {
  height: 100%;
  padding: 1.25rem;
}

.feature-card h2,
.feature-card h3 {
  color: var(--rmsdc-teal-dark);
}

.story-panel {
  padding: 1.5rem;
}

.story-panel img {
  border-radius: .5rem;
}

.cta-panel {
  background:
    linear-gradient(135deg, rgba(29, 62, 64, .96), rgba(49, 127, 129, .86));
  color: #fff;
  padding: 1.5rem;
}

.cta-panel .lead,
.cta-panel p {
  color: rgba(255, 255, 255, .84);
}

.event-card .content-card-img,
.product-card .content-card-img {
  border-bottom: 1px solid var(--rmsdc-border);
}

.event-card__meta,
.product-card__meta {
  color: var(--rmsdc-muted);
  font-size: .95rem;
}

.membership-plan {
  position: relative;
}

.membership-plan::before {
  background: linear-gradient(90deg, var(--rmsdc-teal), var(--rmsdc-blue-light));
  content: "";
  height: .35rem;
  inset: 0 0 auto;
  position: absolute;
}

.membership-plan__price {
  align-items: baseline;
  color: var(--rmsdc-teal-dark);
  display: flex;
  gap: .25rem;
}

.membership-plan__price strong {
  font-size: 2.75rem;
  line-height: 1;
}

.membership-plan ul {
  padding-left: 1.1rem;
}

.membership-plan li + li {
  margin-top: .35rem;
}

.board-card {
  background: var(--rmsdc-surface);
}

.board-card__image {
  aspect-ratio: 4 / 3;
  background: var(--rmsdc-band);
  object-fit: cover;
  width: 100%;
}

.board-card__role {
  color: var(--rmsdc-teal);
  font-weight: 800;
}

.contact-panel {
  background:
    linear-gradient(180deg, rgba(241, 248, 247, .9), rgba(222, 238, 238, .86));
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  padding: 1.25rem;
}

.navbar-toggler {
  flex: 0 0 auto;
  min-height: 2.75rem;
  width: 3.5rem;
}

.mentorship-hero .page-hero__inner {
  grid-template-columns: minmax(0, .95fr) minmax(20rem, 1.05fr);
}

.mentorship-hero h1 {
  max-width: 12ch;
}

.mentorship-hero__media {
  aspect-ratio: 4 / 3;
}

.mentorship-step {
  background:
    linear-gradient(180deg, rgba(241, 248, 247, .94), rgba(222, 238, 238, .86));
  border: 1px solid rgba(49, 127, 129, .2);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  padding: 1.25rem;
}

.mentorship-step span {
  align-items: center;
  background: var(--rmsdc-teal);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 800;
  height: 2rem;
  justify-content: center;
  margin-bottom: 1rem;
  width: 2rem;
}

.mentorship-panel {
  background:
    linear-gradient(135deg, rgba(29, 62, 64, .96), rgba(49, 127, 129, .86));
  color: #fff;
}

.mentorship-panel .eyebrow,
.mentorship-panel .form-text,
.mentorship-panel p {
  color: rgba(255, 255, 255, .84);
}

.mentorship-list {
  display: grid;
  gap: .7rem;
  list-style: none;
  margin: 1.25rem 0;
  padding: 0;
}

.mentorship-list li {
  border-left: .25rem solid var(--rmsdc-aqua);
  padding-left: .75rem;
}

.mentorship-note {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: .5rem;
  padding: 1rem;
}

.mentorship-form #id_request_type,
.mentorship-form #id_disciplines {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mentorship-form #id_request_type > div,
.mentorship-form #id_disciplines > div {
  background: rgba(255, 255, 255, .62);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  padding: .75rem;
}

.mentorship-form #id_request_type label,
.mentorship-form #id_disciplines label {
  align-items: flex-start;
  display: flex;
  gap: .55rem;
  margin: 0;
}

.mentorship-form input[type="checkbox"],
.mentorship-form input[type="radio"] {
  accent-color: var(--rmsdc-teal);
  flex: 0 0 auto;
  margin-top: .2rem;
}

.form-panel,
.account-panel,
.community-panel {
  background: rgba(241, 248, 247, .92);
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  padding: 1.25rem;
}

.account-panel {
  height: 100%;
}

.community-post {
  background: rgba(241, 248, 247, .76);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  display: flex;
  gap: 1rem;
  padding: 1rem;
}

.community-post + .community-post {
  margin-top: .8rem;
}

.community-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.community-shell {
  background: var(--rmsdc-snow);
}

.community-layout {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
}

.community-layout__main,
.community-layout__rail {
  min-width: 0;
}

.community-layout__rail {
  display: grid;
  gap: 1rem;
}

.community-board-card {
  background:
    linear-gradient(135deg, rgba(241, 248, 247, .96), rgba(222, 238, 238, .86));
  border: 1px solid rgba(29, 62, 64, .16);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  color: var(--rmsdc-ink);
  display: grid;
  gap: .7rem;
  height: 100%;
  padding: 1.25rem;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.community-board-card:hover,
.community-board-card:focus-visible {
  border-color: rgba(49, 127, 129, .42);
  box-shadow: 0 1.25rem 2.75rem rgba(29, 62, 64, .16);
  color: var(--rmsdc-ink);
  transform: translateY(-2px);
}

.community-board-card strong {
  color: var(--rmsdc-teal-dark);
  font-size: 1.35rem;
  line-height: 1.1;
}

.community-thread-list {
  display: grid;
  gap: .9rem;
}

.community-thread-row {
  align-items: start;
  background: rgba(241, 248, 247, .86);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem;
}

.community-thread-row h2 a,
.community-post h3 a {
  color: var(--rmsdc-teal-dark);
  text-decoration: none;
}

.community-thread-row h2 a:hover,
.community-post h3 a:hover {
  color: var(--rmsdc-teal);
  text-decoration: underline;
}

.community-profile-header {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(29, 62, 64, .96), rgba(49, 127, 129, .82));
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  color: #fff;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1.5rem;
}

.community-profile-header .lead,
.community-profile-header .eyebrow {
  color: rgba(255, 255, 255, .82);
}

.community-profile-header .member-avatar {
  height: 6rem;
  width: 6rem;
}

.community-message-list {
  background: rgba(241, 248, 247, .74);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  display: grid;
  gap: .75rem;
  max-height: 32rem;
  overflow-y: auto;
  padding: 1rem;
}

.community-message {
  background: #fff;
  border: 1px solid rgba(29, 62, 64, .12);
  border-radius: .5rem;
  justify-self: start;
  max-width: min(34rem, 92%);
  padding: .85rem 1rem;
}

.community-message--mine {
  background: rgba(49, 127, 129, .14);
  border-color: rgba(49, 127, 129, .24);
  justify-self: end;
}

.community-message p {
  margin-bottom: .35rem;
  white-space: pre-wrap;
}

.community-message span {
  color: var(--rmsdc-muted);
  display: block;
  font-size: .82rem;
}

.shadow-sm {
  box-shadow: var(--rmsdc-shadow) !important;
}

.card.border-0 {
  border: 1px solid var(--rmsdc-border) !important;
}

.list-group-item {
  background: var(--rmsdc-surface);
  border-color: var(--rmsdc-border);
  color: var(--rmsdc-ink);
}

.list-group-item-action:focus,
.list-group-item-action:hover {
  background: var(--rmsdc-surface-strong);
  color: var(--rmsdc-teal-dark);
}

.bg-white {
  background-color: var(--rmsdc-surface) !important;
}

.bg-light {
  background-color: var(--rmsdc-surface-strong) !important;
}

.text-muted {
  color: #546367 !important;
}

.alert {
  border-color: var(--rmsdc-border);
}

.alert-warning {
  background-color: #f5efd7;
  border-color: rgba(150, 108, 28, .28);
  color: #5f4717;
}

.form-text {
  color: #59686c;
}

.content-card-img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.logo-tile {
  align-items: center;
  background: var(--rmsdc-surface);
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  display: flex;
  min-height: 132px;
  justify-content: center;
  padding: 1rem;
  text-align: center;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.logo-tile:hover,
.logo-tile:focus-visible {
  border-color: rgba(49, 127, 129, .45);
  box-shadow: 0 1rem 2rem rgba(29, 62, 64, .12);
  transform: translateY(-2px);
}

.logo-tile img {
  max-height: 94px;
  max-width: 100%;
  object-fit: contain;
}

.logo-tile--sponsor {
  min-height: 154px;
}

.logo-tile--sponsor img {
  max-height: 108px;
}

.logo-tile__name {
  display: block;
  font-size: .95rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sponsor-feature {
  background: var(--rmsdc-surface);
  border: 1px solid rgba(49, 127, 129, .22);
  border-radius: .5rem;
  box-shadow: 0 1rem 2.5rem rgba(29, 62, 64, .1);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 250px;
  padding: 1.25rem;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sponsor-feature:hover,
.sponsor-feature:focus-visible {
  border-color: rgba(49, 127, 129, .5);
  box-shadow: 0 1.25rem 3rem rgba(29, 62, 64, .16);
  transform: translateY(-2px);
}

.sponsor-tier {
  align-self: flex-start;
  background: rgba(87, 187, 191, .16);
  border: 1px solid rgba(49, 127, 129, .25);
  border-radius: 999px;
  color: var(--rmsdc-teal-dark);
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
  padding: .45rem .65rem;
  text-transform: uppercase;
}

.sponsor-feature__logo {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  min-height: 150px;
  width: 100%;
}

.sponsor-feature__logo img {
  max-height: 145px;
  max-width: min(100%, 360px);
  object-fit: contain;
}

.sponsor-feature__name {
  color: var(--rmsdc-teal-dark);
  font-weight: 800;
  overflow-wrap: anywhere;
  text-align: center;
}

.vet-mini {
  align-items: center;
  background: var(--rmsdc-surface);
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  box-shadow: 0 .75rem 1.75rem rgba(29, 62, 64, .08);
  display: flex;
  gap: 1rem;
  height: 100%;
  padding: 1rem;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.vet-mini:hover,
.vet-mini:focus-visible {
  border-color: rgba(49, 127, 129, .45);
  box-shadow: 0 1rem 2rem rgba(29, 62, 64, .12);
  transform: translateY(-2px);
}

.vet-mini__image {
  aspect-ratio: 1 / 1;
  border-radius: .5rem;
  flex: 0 0 112px;
  object-fit: cover;
  width: 112px;
}

.vet-mini__body {
  display: block;
  min-width: 0;
}

.vet-mini__name {
  color: var(--rmsdc-teal-dark);
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
}

.vet-mini__practice {
  color: var(--rmsdc-muted);
  display: block;
  margin-top: .25rem;
}

.requirement-card {
  background: var(--rmsdc-surface);
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  padding: 1.25rem;
}

.requirement-list {
  padding-left: 1.15rem;
}

.requirement-list li + li {
  margin-top: .35rem;
}

.profile-img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.member-avatar {
  width: 4.5rem;
  height: 4.5rem;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(140, 219, 215, .7);
  background: var(--rmsdc-teal-deep);
}

.member-avatar--sm {
  width: 2.75rem;
  height: 2.75rem;
}

.member-avatar--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
}

.status-pill {
  border-radius: 999px;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 700;
  padding: .25rem .65rem;
}

.status-scheduled {
  background: rgba(49, 127, 129, .12);
  color: var(--rmsdc-teal-dark);
}

.status-completed {
  background: rgba(38, 120, 80, .12);
  color: var(--rmsdc-emerald);
}

.status-cancelled {
  background: rgba(222, 80, 33, .12);
  color: var(--rmsdc-rust);
}

.footer {
  background:
    linear-gradient(135deg, rgba(49, 127, 129, .25), transparent 35%),
    var(--rmsdc-teal-deep);
  color: #f7f9fb;
}

.footer a {
  color: #f7f9fb;
}

.footer-logo {
  background: #fff;
  border-radius: .25rem;
  flex: 0 0 auto;
  height: 58px;
  object-fit: contain;
  padding: .15rem;
  width: 104px;
}

.footer-bottom {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1.5rem;
  justify-content: space-between;
}

.footer-credit {
  align-items: center;
  color: rgba(247, 249, 251, .82);
  display: inline-flex;
  gap: .5rem;
  line-height: 1.2;
  text-decoration: none;
}

.footer-credit__seal {
  display: block;
  flex: 0 0 auto;
  height: 40px;
  object-fit: contain;
  width: 40px;
}

.footer-credit:hover,
.footer-credit:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: .18rem;
}

.footer-credit strong {
  display: inline-block;
}

.form-control,
.form-select {
  background-color: #f8fcfb;
  border-color: rgba(29, 62, 64, .22);
  border-radius: .375rem;
  color: var(--rmsdc-ink);
}

.form-control:focus,
.form-select:focus {
  background-color: #fbfefd;
  border-color: var(--rmsdc-teal);
  box-shadow: 0 0 0 .25rem rgba(49, 127, 129, .18);
}

.checkout-page {
  background: #f6f9fc;
  color: #1a1f36;
}

.checkout-page main {
  background: transparent;
}

.checkout-shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
}

.checkout-summary {
  background: linear-gradient(180deg, #eff7f7 0%, #d8e8e8 100%);
  border-right: 1px solid rgba(26, 31, 54, .08);
}

.checkout-summary__inner,
.checkout-payment__inner {
  margin-left: auto;
  max-width: 560px;
  padding: 4rem 3.25rem;
}

.checkout-payment__inner {
  margin-left: 0;
  margin-right: auto;
}

.checkout-back {
  color: #53627c;
  display: inline-flex;
  font-size: .95rem;
  margin-bottom: 3rem;
  text-decoration: none;
}

.checkout-back:hover {
  color: #1a1f36;
}

.checkout-merchant {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.checkout-merchant img {
  background: #fff;
  border: 1px solid rgba(26, 31, 54, .08);
  border-radius: .5rem;
  height: 58px;
  object-fit: contain;
  padding: .2rem;
  width: 104px;
}

.checkout-kicker {
  color: #697386;
  font-size: .95rem;
  margin-bottom: .25rem;
}

.checkout-merchant h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0;
}

.checkout-line-items {
  border-top: 1px solid rgba(26, 31, 54, .1);
  margin-top: 3rem;
  padding-top: 1.5rem;
}

.checkout-line-item,
.checkout-total {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.checkout-line-item span {
  color: #697386;
  display: block;
  margin-top: .2rem;
}

.checkout-total {
  border-top: 1px solid rgba(26, 31, 54, .1);
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}

.checkout-footnote,
.checkout-security {
  color: #697386;
  font-size: .85rem;
  margin-top: 2rem;
}

.checkout-payment {
  background: #fff;
}

.checkout-card {
  max-width: 460px;
}

.checkout-brandbar {
  align-items: center;
  color: #697386;
  display: flex;
  font-size: .86rem;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.checkout-brandbar span:first-child {
  color: #635bff;
  font-size: 1.35rem;
  font-weight: 800;
}

.checkout-wallets {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.checkout-wallet {
  align-items: center;
  border: 1px solid #d9e1ec;
  border-radius: .375rem;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 46px;
  padding: .65rem .5rem;
}

.checkout-wallet--apple {
  background: #000;
  border-color: #000;
  color: #fff;
}

.checkout-wallet--google,
.checkout-wallet--samsung {
  background: #fff;
  color: #1a1f36;
}

.checkout-wallet:hover {
  box-shadow: 0 .5rem 1.25rem rgba(26, 31, 54, .1);
}

.checkout-divider {
  align-items: center;
  color: #697386;
  display: flex;
  font-size: .86rem;
  gap: 1rem;
  margin: 1.5rem 0;
}

.checkout-divider::before,
.checkout-divider::after {
  background: #d9e1ec;
  content: "";
  flex: 1;
  height: 1px;
}

.checkout-page .form-control {
  background-color: #fff;
  border-color: #d9e1ec;
  min-height: 46px;
}

.checkout-page .btn-primary {
  --bs-btn-bg: #635bff;
  --bs-btn-border-color: #635bff;
  --bs-btn-hover-bg: #4f46e5;
  --bs-btn-hover-border-color: #4f46e5;
}

.auth-card input[type="email"],
.auth-card input[type="password"] {
  background-clip: padding-box;
  background-color: #fff;
  border: 1px solid var(--rmsdc-border);
  border-radius: .375rem;
  color: var(--rmsdc-ink);
  display: block;
  font-size: 1rem;
  line-height: 1.5;
  min-height: 46px;
  padding: .625rem .75rem;
  width: 100%;
}

.dashboard-page {
  background: var(--rmsdc-snow);
}

.dashboard-layout {
  align-items: start;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
}

.dashboard-layout__main {
  min-width: 0;
}

.dashboard-sidebar__inner {
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(29, 62, 64, .16);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
  padding: 1rem;
  position: sticky;
  top: 6rem;
}

.dashboard-sidebar__nav {
  display: grid;
  gap: .55rem;
}

.dashboard-sidebar__link {
  border: 1px solid transparent;
  border-radius: .5rem;
  color: var(--rmsdc-teal-dark);
  display: block;
  padding: .75rem;
  text-decoration: none;
}

.dashboard-sidebar__link:focus,
.dashboard-sidebar__link:hover,
.dashboard-sidebar__link.is-active {
  background: rgba(49, 127, 129, .1);
  border-color: rgba(49, 127, 129, .22);
  color: var(--rmsdc-teal-dark);
}

.dashboard-sidebar__link.is-active {
  box-shadow: inset .25rem 0 0 var(--rmsdc-teal);
}

.dashboard-sidebar__link span {
  display: block;
  font-weight: 800;
}

.dashboard-sidebar__link small {
  color: var(--rmsdc-muted);
  display: block;
  line-height: 1.25;
  margin-top: .2rem;
}

.dashboard-chip {
  align-items: center;
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--rmsdc-border);
  border-radius: .375rem;
  color: var(--rmsdc-teal-dark);
  display: inline-flex;
  font-weight: 700;
  gap: .45rem;
  padding: .55rem .75rem;
}

.dashboard-chip span {
  color: var(--rmsdc-rust);
}

.dashboard-chip--small {
  font-size: .85rem;
  padding: .35rem .55rem;
}

.dashboard-stat,
.dashboard-panel {
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(29, 62, 64, .16);
  border-radius: .5rem;
  box-shadow: var(--rmsdc-shadow);
}

.dashboard-stat {
  min-height: 155px;
  overflow: hidden;
  padding: 1.1rem;
  position: relative;
}

.dashboard-stat::after {
  content: none;
}

.dashboard-stat--warning::after {
  background: var(--rmsdc-rust);
}

.dashboard-stat--success::after {
  background: var(--rmsdc-emerald);
}

.dashboard-stat--info::after {
  background: var(--rmsdc-blue-light);
}

.dashboard-stat--danger::after {
  background: var(--bs-danger);
}

.dashboard-stat p,
.dashboard-stat span {
  color: var(--rmsdc-muted);
  display: block;
  margin: 0;
}

.dashboard-stat p {
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.dashboard-stat strong {
  color: var(--rmsdc-teal-dark);
  display: block;
  font-size: 2.25rem;
  line-height: 1;
  margin: .85rem 0 .55rem;
}

.dashboard-panel {
  padding: 1.25rem;
}

.launch-check {
  align-items: flex-start;
  background: rgba(255, 255, 255, .56);
  border: 1px solid rgba(29, 62, 64, .12);
  border-radius: .5rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  padding: 1rem;
}

.launch-check__status,
.launch-check__body {
  min-width: 0;
}

.content-admin-list {
  display: grid;
  gap: .9rem;
}

.content-admin-card {
  align-items: center;
  background: rgba(255, 255, 255, .6);
  border: 1px solid rgba(29, 62, 64, .12);
  border-radius: .5rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 5.5rem minmax(0, 1fr) auto;
  padding: .8rem;
}

.content-admin-card.is-hidden {
  opacity: .68;
}

.content-admin-card__media {
  align-items: center;
  background: rgba(49, 127, 129, .08);
  border-radius: .4rem;
  color: var(--rmsdc-muted);
  display: flex;
  font-size: .8rem;
  font-weight: 700;
  justify-content: center;
  min-height: 4.5rem;
  overflow: hidden;
  text-align: center;
}

.content-admin-card__media img {
  height: 100%;
  max-height: 5.25rem;
  object-fit: contain;
  width: 100%;
}

.content-admin-card__body {
  min-width: 0;
}

.content-admin-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}

.dashboard-bars {
  display: grid;
  gap: .8rem;
}

.dashboard-bars__row {
  align-items: center;
  display: grid;
  gap: .65rem;
  grid-template-columns: 3rem minmax(6rem, 1fr) 2.75rem minmax(6rem, 1fr) 4rem;
}

.dashboard-bars__label,
.dashboard-bars__value {
  color: var(--rmsdc-muted);
  font-size: .86rem;
  font-weight: 700;
}

.dashboard-bars__track {
  background: rgba(29, 62, 64, .1);
  border-radius: 999px;
  height: .65rem;
  overflow: hidden;
}

.dashboard-bars__bar {
  border-radius: inherit;
  display: block;
  height: 100%;
}

.dashboard-bars__bar--applications,
.dashboard-legend--applications {
  background: var(--rmsdc-teal);
}

.dashboard-bars__bar--revenue,
.dashboard-legend--revenue {
  background: var(--rmsdc-rust);
}

.dashboard-legend {
  border-radius: 999px;
  display: inline-block;
  height: .7rem;
  margin-right: .25rem;
  width: .7rem;
}

.dashboard-progress {
  background-color: rgba(29, 62, 64, .1);
  height: .55rem;
}

.dashboard-progress .progress-bar {
  background: var(--rmsdc-teal);
}

.dashboard-progress--muted .progress-bar {
  background: var(--rmsdc-blue-light);
}

.dashboard-table {
  --bs-table-bg: transparent;
  margin-bottom: 0;
}

.dashboard-poster__header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.dashboard-poster__title {
  min-width: 0;
}

.dashboard-poster__edit {
  flex: 0 0 auto;
  min-width: 3.25rem;
  white-space: nowrap;
}

.dashboard-poster {
  align-items: center;
  background: linear-gradient(180deg, var(--rmsdc-surface), var(--rmsdc-surface-strong));
  border: 1px solid var(--rmsdc-border);
  border-radius: .5rem;
  display: flex;
  justify-content: center;
  min-height: 24rem;
  overflow: hidden;
  padding: .75rem;
}

.dashboard-poster img {
  border-radius: .375rem;
  max-height: 42rem;
  object-fit: contain;
  width: 100%;
}

.dashboard-calendar-panel {
  overflow: hidden;
}

.dashboard-calendar-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: space-between;
}

.dashboard-calendar {
  background: rgba(241, 248, 247, .72);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  overflow: hidden;
}

.dashboard-calendar__weekdays,
.dashboard-calendar__week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.dashboard-calendar__weekday {
  background: rgba(29, 62, 64, .92);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  padding: .65rem .75rem;
  text-transform: uppercase;
}

.dashboard-calendar__day {
  background: rgba(255, 255, 255, .74);
  border-right: 1px solid rgba(29, 62, 64, .12);
  border-top: 1px solid rgba(29, 62, 64, .12);
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 9.25rem;
  min-width: 0;
  padding: .65rem;
}

.dashboard-calendar__day:nth-child(7n) {
  border-right: 0;
}

.dashboard-calendar__day.is-muted {
  background: rgba(222, 238, 238, .42);
  color: #67787c;
}

.dashboard-calendar__day.is-today {
  box-shadow: inset 0 0 0 2px rgba(222, 80, 33, .52);
}

.dashboard-calendar__date {
  align-items: center;
  display: flex;
  gap: .45rem;
  justify-content: space-between;
}

.dashboard-calendar__date span {
  color: var(--rmsdc-teal-dark);
  font-weight: 800;
  line-height: 1;
}

.dashboard-calendar__date small {
  background: rgba(222, 80, 33, .12);
  border: 1px solid rgba(222, 80, 33, .24);
  border-radius: 999px;
  color: var(--rmsdc-rust);
  font-size: .68rem;
  font-weight: 800;
  padding: .2rem .4rem;
  text-transform: uppercase;
}

.dashboard-calendar__events {
  display: grid;
  gap: .35rem;
}

.dashboard-calendar__event {
  background: rgba(49, 127, 129, .12);
  border-left: .25rem solid var(--rmsdc-teal);
  border-radius: .375rem;
  color: var(--rmsdc-teal-dark);
  display: block;
  font-size: .78rem;
  line-height: 1.2;
  min-width: 0;
  padding: .45rem .5rem;
  text-decoration: none;
}

.dashboard-calendar__event:focus,
.dashboard-calendar__event:hover {
  background: rgba(49, 127, 129, .2);
  color: var(--rmsdc-teal-dark);
}

.dashboard-calendar__event.is-hidden {
  opacity: .58;
}

.dashboard-calendar__event-title {
  display: block;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-calendar__event small {
  color: #4f6266;
  display: block;
  margin-top: .15rem;
}

.dashboard-calendar__empty {
  color: #6d7e82;
  font-size: .78rem;
}

.calendar-kind-board_meeting {
  background: rgba(0, 47, 94, .1);
  border-left-color: var(--rmsdc-blue);
}

.calendar-kind-race_prep {
  background: rgba(222, 80, 33, .1);
  border-left-color: var(--rmsdc-rust);
}

.calendar-kind-volunteer {
  background: rgba(38, 120, 80, .1);
  border-left-color: var(--rmsdc-emerald);
}

.calendar-kind-community {
  background: rgba(88, 155, 227, .12);
  border-left-color: var(--rmsdc-blue-light);
}

.calendar-kind-deadline {
  background: rgba(222, 80, 33, .14);
  border-left-color: var(--rmsdc-rust);
}

.dashboard-calendar-undated {
  background: rgba(255, 255, 255, .62);
  border: 1px dashed rgba(49, 127, 129, .26);
  border-radius: .5rem;
  padding: .85rem;
}

.type-pill {
  border-radius: 999px;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 700;
  padding: .25rem .65rem;
}

.type-pill--race {
  background: rgba(49, 127, 129, .12);
  color: var(--rmsdc-teal-dark);
}

.type-pill--board_meeting {
  background: rgba(0, 47, 94, .1);
  color: var(--rmsdc-blue);
}

.type-pill--race_prep,
.type-pill--deadline {
  background: rgba(222, 80, 33, .12);
  color: var(--rmsdc-rust);
}

.type-pill--volunteer {
  background: rgba(38, 120, 80, .12);
  color: var(--rmsdc-emerald);
}

.type-pill--community {
  background: rgba(88, 155, 227, .14);
  color: var(--rmsdc-blue);
}

.type-pill--other {
  background: rgba(29, 62, 64, .1);
  color: var(--rmsdc-teal-dark);
}

.dashboard-event-groups {
  display: grid;
  gap: 1.5rem;
}

.dashboard-event-group h3 {
  color: var(--rmsdc-teal-dark);
  margin-bottom: .75rem;
}

.dashboard-event-card {
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(29, 62, 64, .14);
  border-radius: .5rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
  padding: .85rem;
}

.dashboard-event-card__media {
  aspect-ratio: 4 / 3;
  background: var(--rmsdc-band);
  border-radius: .375rem;
  overflow: hidden;
}

.dashboard-event-card__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.dashboard-event-card__placeholder {
  align-items: center;
  color: var(--rmsdc-muted);
  display: flex;
  font-size: .85rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  text-transform: uppercase;
}

.dashboard-event-card__body {
  min-width: 0;
}

.dashboard-event-card__actions {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  justify-content: flex-end;
}

@media (max-width: 1399.98px) {
  .navbar-collapse {
    padding-top: 1rem;
  }

  .navbar-nav {
    gap: .25rem;
  }
}

@media (max-width: 991.98px) {
  .dashboard-layout {
    grid-template-columns: 1fr;
  }

  .community-layout {
    grid-template-columns: 1fr;
  }

  .dashboard-sidebar__inner {
    position: static;
  }

  .dashboard-sidebar__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .checkout-shell {
    display: block;
  }

  .checkout-summary {
    border-right: 0;
  }

  .checkout-summary__inner,
  .checkout-payment__inner {
    margin: 0 auto;
    max-width: 680px;
    padding: 2rem 1.25rem;
  }

  .checkout-back {
    margin-bottom: 1.5rem;
  }

  .checkout-line-items {
    margin-top: 2rem;
  }

  .hero {
    display: block;
    min-height: 0;
  }

  .hero__image {
    aspect-ratio: 2 / 1;
    display: block;
    height: auto;
    object-fit: contain;
    position: relative;
    z-index: auto;
  }

  .hero__shade {
    display: none;
  }

  .hero__content {
    max-width: none;
    padding: 2rem 0 2.5rem;
  }

  .hero h1 {
    font-size: 3rem;
  }

  .page-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 3.25rem 0;
  }

  .mentorship-hero .page-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-hero__media {
    aspect-ratio: 16 / 9;
  }

  .page-hero__media--poster {
    aspect-ratio: auto;
    margin-inline: auto;
    max-width: 26rem;
  }

  .section-pad {
    padding: 3.5rem 0;
  }
}

@media (max-width: 767.98px) {
  .dashboard-calendar-toolbar .btn-group {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .dashboard-calendar__weekdays {
    display: none;
  }

  .dashboard-calendar__week {
    grid-template-columns: 1fr;
  }

  .dashboard-calendar__day {
    border-right: 0;
    min-height: 0;
  }

  .dashboard-calendar__day.is-muted.is-empty {
    display: none;
  }

  .dashboard-calendar__event-title {
    white-space: normal;
  }

  .dashboard-bars__row {
    grid-template-columns: 2.75rem minmax(0, 1fr) 3.5rem;
  }

  .dashboard-bars__row .dashboard-bars__track:nth-child(4) {
    grid-column: 2;
  }

  .dashboard-bars__row .dashboard-bars__value:nth-child(5) {
    grid-column: 3;
  }

  .lead.fs-3 {
    font-size: 1.25rem !important;
  }

  .logo-tile {
    min-height: 112px;
  }

  .logo-tile--sponsor {
    min-height: 128px;
  }

  .logo-tile--sponsor img {
    max-height: 84px;
  }

  .sponsor-feature {
    min-height: 220px;
    padding: 1rem;
  }

  .sponsor-feature__logo {
    min-height: 125px;
  }

  .sponsor-feature__logo img {
    max-height: 120px;
  }

  .vet-mini {
    align-items: flex-start;
  }

  .vet-mini__image {
    flex-basis: 92px;
    width: 92px;
  }

  .hero__stats,
  .page-hero__stat-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-event-card {
    grid-template-columns: 1fr;
  }

  .content-admin-card {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .content-admin-card__media {
    min-height: 6rem;
  }

  .mentorship-form #id_request_type,
  .mentorship-form #id_disciplines {
    grid-template-columns: 1fr;
  }

  .dashboard-event-card__actions {
    justify-content: flex-start;
  }

  .content-admin-card__actions {
    justify-content: flex-start;
  }

  .community-thread-row,
  .community-profile-header {
    grid-template-columns: 1fr;
  }

  .community-profile-header .member-avatar {
    height: 5rem;
    width: 5rem;
  }
}

@media (max-width: 575.98px) {
  .checkout-wallets {
    grid-template-columns: 1fr;
  }

  .checkout-merchant h1 {
    font-size: 2rem;
  }

  .checkout-merchant {
    align-items: flex-start;
    flex-direction: column;
  }

  .navbar-brand {
    flex: 1 1 0;
    gap: .6rem;
    margin-right: .5rem;
    max-width: calc(100% - 4rem);
  }

  .navbar-brand__logo {
    height: 42px;
    width: 75px;
  }

  .navbar-brand__text {
    max-width: 10rem;
  }

  .navbar-brand__name {
    font-size: .95rem;
    max-width: 10rem;
  }

  .navbar-brand__tagline {
    font-size: .68rem;
  }

  .dashboard-sidebar__nav {
    grid-template-columns: 1fr;
  }

  .hero__content {
    padding: 1.5rem 0 2rem;
  }

  .hero h1 {
    font-size: 2.35rem;
  }

  .section-pad {
    padding: 2.75rem 0;
  }

  .section-pad .row {
    --bs-gutter-x: 0;
  }

  .footer-credit {
    width: 100%;
  }

  .page-hero h1 {
    font-size: 2.45rem;
  }

  .page-hero__inner,
  .page-hero--compact .page-hero__inner {
    padding: 2.5rem 0;
  }

  .card-body,
  .list-group-item {
    padding: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .card-lift:hover,
  .card-lift:focus-within,
  .logo-tile:hover,
  .logo-tile:focus-visible,
  .sponsor-feature:hover,
  .sponsor-feature:focus-visible,
  .community-board-card:hover,
  .community-board-card:focus-visible,
  .vet-mini:hover,
  .vet-mini:focus-visible {
    transform: none;
  }
}

/* Shared layout and interaction contracts for public, member and staff pages. */
html { scroll-padding-top: 7rem; }
body { min-width: 0; }
h1, .h1 { font-size: 2.25rem; }
h2, .h2 { font-size: 1.75rem; }
h3, .h3 { font-size: 1.375rem; }
h4, .h4 { font-size: 1.25rem; }
h5, .h5 { font-size: 1.125rem; }
.lead, .lead.fs-3 { font-size: 1.125rem !important; line-height: 1.7; }
.text-muted, .form-text { color: #526367 !important; }
.row > *, .d-flex > *, fieldset { min-width: 0; }
input, select, textarea { max-width: 100%; }
textarea { min-height: 7rem; }
a { text-underline-offset: .18em; }
main a:not(.btn):not(.status-pill):not(.badge) { text-decoration-thickness: 1px; }
.btn { font-weight: 650; min-height: 2.75rem; align-content: center; }
.btn-sm { min-height: 2.25rem; }
.btn-outline-primary { --bs-btn-color: #246769; }
.status-cancelled, .type-pill--race_prep, .type-pill--deadline { color: #a53615; }
.status-postponed { color: #79521b; background: #f7e9c8; }
.form-label { font-weight: 650; }
.form-control, .form-select { min-height: 2.75rem; }
.table-responsive { overscroll-behavior-inline: contain; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--rmsdc-blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--rmsdc-snow);
}
#main-content:focus { outline: none; }
.skip-link {
  position: fixed;
  top: .5rem;
  left: 1rem;
  z-index: 1100;
  padding: .65rem 1rem;
  background: var(--rmsdc-teal-deep);
  color: white;
  border-radius: .25rem;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; color: white; }

.site-nav .navbar-nav { align-items: center; }
.site-nav .nav-link { font-size: .875rem; min-height: 2.75rem; align-content: center; }
.site-nav [aria-current="page"] {
  background: rgba(49, 127, 129, .1);
  color: var(--rmsdc-teal-deep);
  box-shadow: inset 0 -2px 0 var(--rmsdc-teal);
}
.site-nav .dropdown-menu { background: var(--rmsdc-surface); }
.site-nav .dropdown-item { padding: .65rem 1rem; white-space: normal; }
.site-nav .navbar-brand__name { max-width: 19rem; font-size: 1rem; line-height: 1.25; }
.site-nav .navbar-brand__tagline { margin-top: .15rem; font-size: .6875rem; }
.site-nav .navbar-brand__logo { width: 76px; height: 44px; }
.site-nav .navbar-toggler { width: 2.75rem; }

/* The text never moves or flashes. Without JS or with reduced motion, the
   accent stays static; JS enables movement only alongside its pause control. */
.site-nav .event-attention { position: relative; }
.site-nav .event-attention::after {
  content: "";
  position: absolute;
  inset-inline: .5rem;
  bottom: .15rem;
  height: 3px;
  border-radius: 2px;
  background: var(--rmsdc-teal);
  transform-origin: center;
  opacity: 0;
}
.site-nav .event-attention--active::after { opacity: 1; }
.site-nav .event-attention--moving::after { animation: event-approaching 3.5s ease-in-out infinite; }
.site-nav .event-attention:hover::after,
.site-nav .event-attention:focus-visible::after { animation-play-state: paused; }
.event-motion-toggle {
  border: 0;
  padding: .5rem 0;
  min-height: 2.75rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
}
@keyframes event-approaching {
  0%, 100% { transform: scaleX(1); }
  50% { transform: scaleX(.55); }
}
@media (prefers-reduced-motion: reduce) {
  .site-nav .event-attention::after { animation: none !important; transform: none; }
}

/* Bootstrap's collapsed and dropdown menus fail open until its JS is available. */
.site-nav:not(.nav-enhanced) .navbar-toggler { display: none; }
.site-nav:not(.nav-enhanced) .navbar-collapse { display: block; }
.site-nav:not(.nav-enhanced) .dropdown-menu { display: block; position: static; box-shadow: none; }
.site-nav:not(.nav-enhanced) .navbar-nav { align-items: start; }
.site-nav:not(.nav-enhanced) .navbar-collapse { flex-basis: 100%; }
.site-nav:not(.nav-enhanced) > .container-xl { flex-wrap: wrap; }

[data-reveal] { transition: opacity .45s ease, transform .45s ease; }
.reveal-pending { opacity: 0; transform: translateY(12px); }
.reveal-pending:focus-within { opacity: 1; transform: none; }
.footer { padding-block: 3rem; }
.footer h3 { color: var(--rmsdc-aqua); }
.footer p { font-size: .9375rem; }
.footer-bottom { margin-top: 2rem !important; }

@media (max-width: 1399.98px) {
  .site-nav .navbar-nav { align-items: stretch; gap: .2rem; }
  .site-nav .navbar-collapse { padding-top: .75rem; max-height: 75dvh; overflow-y: auto; }
  .site-nav .dropdown-menu { margin-block: .25rem; }
  .site-nav.nav-enhanced .navbar-collapse:not(.show):not(.collapsing) { display: none; }
}
@media (max-width: 575.98px) {
  h1, .h1, .page-hero h1 { font-size: 1.875rem; }
  h2, .h2 { font-size: 1.5rem; }
  .site-nav .navbar-brand__logo { width: 54px; height: 36px; }
  .site-nav .navbar-brand__name { font-size: .875rem; }
  .site-nav .navbar-brand__text { max-width: 13rem; }
  .site-nav .navbar-brand { gap: .5rem; }
  .site-nav .navbar-brand__tagline { font-size: .625rem; }
  .page-hero__inner, .page-hero--compact .page-hero__inner { padding-block: 2rem; }
  .section-pad { padding-block: 2.5rem; }
  .footer { padding-block: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-pending { opacity: 1; transform: none; }
}
@media print {
  .site-nav, .skip-link, .footer, .page-hero__actions { display: none; }
  .reveal-pending { opacity: 1; transform: none; }
  main, .page-hero, .section-muted { background: white; color: black; }
}
