:root {
  --fmc-navy: #102a43;
  --fmc-navy-deep: #071d33;
  --fmc-teal: #087c72;
  --fmc-teal-dark: #05645d;
  --fmc-mint: #edf8f6;
  --fmc-sand: #f7f4ed;
  --fmc-gold: #f3ad3d;
  --fmc-text: #334e68;
  --fmc-muted: #627d98;
  --fmc-line: #d9e6e3;
  --fmc-shadow: 0 20px 55px rgba(16, 42, 67, 0.12);
}

.fmc-modern {
  color: var(--fmc-text);
  font-family: Roboto, Arial, sans-serif;
}

.fmc-modern a {
  text-decoration: none;
}

.fmc-modern img {
  max-width: 100%;
}

.fmc-eyebrow {
  align-items: center;
  color: var(--fmc-teal);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 0.55rem;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.fmc-eyebrow::before {
  background: currentColor;
  border-radius: 50%;
  content: '';
  height: 0.45rem;
  width: 0.45rem;
}

.fmc-display {
  color: var(--fmc-navy);
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.1;
  margin: 0;
}

.fmc-copy {
  color: var(--fmc-muted);
  font-size: 1.06rem;
  line-height: 1.75;
  margin: 1.25rem 0 0;
}

.fmc-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.8rem;
  display: inline-flex;
  font-size: 0.98rem;
  font-weight: 800;
  gap: 0.65rem;
  justify-content: center;
  min-height: 3.2rem;
  padding: 0.78rem 1.15rem;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fmc-button:hover,
.fmc-button:focus-visible {
  box-shadow: 0 10px 22px rgba(7, 29, 51, 0.18);
  transform: translateY(-2px);
}

.fmc-button--primary {
  background: var(--fmc-teal);
  color: #fff;
}

.fmc-button--primary:hover,
.fmc-button--primary:focus-visible {
  background: var(--fmc-teal-dark);
  color: #fff;
}

.fmc-button--light {
  background: #fff;
  color: var(--fmc-navy);
}

.fmc-button--light:hover,
.fmc-button--light:focus-visible {
  color: var(--fmc-teal-dark);
}

.fmc-button--ghost {
  border-color: rgba(255, 255, 255, 0.62);
  color: #fff;
}

.fmc-button--ghost:hover,
.fmc-button--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.fmc-hero {
  background: var(--fmc-navy-deep);
  min-height: min(720px, calc(100vh - 80px));
  overflow: hidden;
  position: relative;
}

.fmc-hero::before {
  background: linear-gradient(92deg, rgba(4, 21, 37, 0.98) 0%, rgba(4, 21, 37, 0.93) 42%, rgba(4, 21, 37, 0.72) 68%, rgba(4, 21, 37, 0.38) 100%);
  content: '';
  inset: 0;
  position: absolute;
  z-index: 1;
}

.fmc-hero__image {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.fmc-hero__content {
  align-items: center;
  color: #fff;
  display: flex;
  min-height: min(720px, calc(100vh - 80px));
  padding: 7rem 0 9rem;
  position: relative;
  z-index: 2;
}

.fmc-hero .fmc-eyebrow {
  color: #9fe3d8;
}

.fmc-hero__title {
  color: #fff;
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(2.8rem, 6vw, 5.35rem);
  line-height: 0.98;
  margin: 0;
  max-width: 780px;
}

.fmc-hero__content > div {
  max-width: 760px;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.34);
}

.fmc-hero__lead {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1rem, 1.55vw, 1.22rem);
  line-height: 1.75;
  margin: 1.45rem 0 0;
  max-width: 620px;
}

.fmc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.fmc-hero__trust {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 1rem;
  bottom: 2.25rem;
  display: flex;
  gap: 1.25rem;
  left: 50%;
  max-width: 1140px;
  padding: 1rem 1.25rem;
  position: absolute;
  transform: translateX(-50%);
  width: calc(100% - 2rem);
  z-index: 2;
}

.fmc-hero__trust-item {
  align-items: center;
  color: rgba(255, 255, 255, 0.84);
  display: flex;
  flex: 1;
  font-size: 0.88rem;
  gap: 0.75rem;
}

.fmc-hero__trust-item + .fmc-hero__trust-item {
  border-left: 1px solid rgba(255, 255, 255, 0.17);
  padding-left: 1.25rem;
}

.fmc-hero__trust-icon {
  align-items: center;
  background: rgba(159, 227, 216, 0.18);
  border-radius: 50%;
  color: #aef3e8;
  display: inline-flex;
  flex: 0 0 2.4rem;
  height: 2.4rem;
  justify-content: center;
  width: 2.4rem;
}

.fmc-section {
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.fmc-section--soft {
  background: var(--fmc-mint);
}

.fmc-section--sand {
  background: var(--fmc-sand);
}

.fmc-section__head {
  align-items: end;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}

.fmc-section__head .fmc-copy {
  max-width: 620px;
}

.fmc-services-grid,
.fmc-process-grid,
.fmc-doctor-grid,
.fmc-news-grid {
  display: grid;
  gap: 1.25rem;
}

.fmc-services-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fmc-service-card {
  background: #fff;
  border: 1px solid #e6efed;
  border-radius: 1rem;
  color: var(--fmc-text);
  display: block;
  min-height: 100%;
  padding: 1.65rem;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.fmc-service-card:hover,
.fmc-service-card:focus-visible {
  box-shadow: var(--fmc-shadow);
  color: var(--fmc-text);
  transform: translateY(-5px);
}

.fmc-service-card__icon {
  align-items: center;
  background: var(--fmc-mint);
  border-radius: 0.75rem;
  color: var(--fmc-teal);
  display: inline-flex;
  font-size: 1.35rem;
  height: 3rem;
  justify-content: center;
  margin-bottom: 1.75rem;
  width: 3rem;
}

.fmc-service-card h3 {
  color: var(--fmc-navy);
  font-family: Marcellus, Georgia, serif;
  font-size: 1.35rem;
  margin: 0;
}

.fmc-service-card p {
  color: var(--fmc-muted);
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0.65rem 0 0;
}

.fmc-split {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 6vw, 5.5rem);
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
}

.fmc-image-panel {
  min-height: 490px;
  overflow: hidden;
  position: relative;
}

.fmc-image-panel img {
  border-radius: 1.25rem;
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.fmc-image-panel__badge {
  background: var(--fmc-teal);
  border-radius: 0.9rem;
  bottom: 1.25rem;
  color: #fff;
  left: 1.25rem;
  max-width: 245px;
  padding: 1.25rem;
  position: absolute;
}

.fmc-image-panel__badge strong {
  display: block;
  font-family: Marcellus, Georgia, serif;
  font-size: 2rem;
  line-height: 1;
}

.fmc-image-panel__badge span {
  display: block;
  font-size: 0.84rem;
  line-height: 1.4;
  margin-top: 0.3rem;
}

.fmc-check-list {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  margin: 1.75rem 0 2rem;
  padding: 0;
}

.fmc-check-list li {
  align-items: center;
  color: var(--fmc-navy);
  display: flex;
  font-weight: 700;
  gap: 0.7rem;
}

.fmc-check-list i {
  align-items: center;
  background: var(--fmc-mint);
  border-radius: 50%;
  color: var(--fmc-teal);
  display: inline-flex;
  font-size: 0.75rem;
  height: 1.5rem;
  justify-content: center;
  width: 1.5rem;
}

.fmc-process-grid {
  counter-reset: care-step;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fmc-process-card {
  background: #fff;
  border-top: 3px solid var(--fmc-teal);
  box-shadow: 0 12px 32px rgba(16, 42, 67, 0.06);
  padding: 1.75rem;
}

.fmc-process-card::before {
  color: #bbd7d2;
  content: '0' counter(care-step);
  counter-increment: care-step;
  display: block;
  font-family: Marcellus, Georgia, serif;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 2.2rem;
}

.fmc-process-card h3 {
  color: var(--fmc-navy);
  font-family: Marcellus, Georgia, serif;
  font-size: 1.35rem;
  margin: 0;
}

.fmc-process-card p {
  color: var(--fmc-muted);
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0.75rem 0 0;
}

.fmc-doctor-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fmc-doctor-card {
  background: #fff;
  border: 1px solid #e5efed;
  border-radius: 1rem;
  overflow: hidden;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.fmc-doctor-card:hover {
  box-shadow: var(--fmc-shadow);
  transform: translateY(-5px);
}

.fmc-doctor-card__photo {
  background: #dceceb;
  display: block;
  height: 240px;
}

.fmc-doctor-card__photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.fmc-doctor-card__body {
  padding: 1.25rem;
}

.fmc-doctor-card__specialty {
  color: var(--fmc-teal);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fmc-doctor-card h3 {
  font-family: Marcellus, Georgia, serif;
  font-size: 1.28rem;
  line-height: 1.2;
  margin: 0.5rem 0 0;
}

.fmc-doctor-card h3 a {
  color: var(--fmc-navy);
}

.fmc-doctor-card__action {
  align-items: center;
  border-top: 1px solid var(--fmc-line);
  color: var(--fmc-teal);
  display: flex;
  font-size: 0.87rem;
  font-weight: 800;
  gap: 0.45rem;
  margin-top: 1rem;
  padding-top: 0.85rem;
}

.fmc-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fmc-news-card {
  background: #fff;
  border: 1px solid #e5efed;
  border-radius: 1rem;
  overflow: hidden;
}

.fmc-news-card__image {
  display: block;
  height: 205px;
}

.fmc-news-card__image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.fmc-news-card__body {
  padding: 1.25rem;
}

.fmc-news-card time {
  color: var(--fmc-teal);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.fmc-news-card h3 {
  font-family: Marcellus, Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.3;
  margin: 0.65rem 0 0;
}

.fmc-news-card h3 a {
  color: var(--fmc-navy);
}

.fmc-news-card p {
  color: var(--fmc-muted);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0.7rem 0 0;
}

.fmc-cta {
  background: linear-gradient(122deg, var(--fmc-navy-deep), #0d5f61);
  color: #fff;
  overflow: hidden;
  padding: clamp(3.5rem, 7vw, 5.5rem) 0;
  position: relative;
}

.fmc-cta::after {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  content: '';
  height: 540px;
  position: absolute;
  right: -180px;
  top: -350px;
  width: 540px;
}

.fmc-cta__inner {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.fmc-cta h2 {
  color: #fff;
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.1;
  margin: 0;
  max-width: 650px;
}

.fmc-cta p {
  color: rgba(255, 255, 255, 0.78);
  margin: 0.85rem 0 0;
}

/* Doctor directory */
.doctor-directory {
  background: #f6faf9;
  padding: 0 0 clamp(4rem, 8vw, 7rem);
}

.doctor-directory__hero {
  background: linear-gradient(122deg, var(--fmc-navy-deep), #0b5e60);
  color: #fff;
  padding: clamp(4rem, 8vw, 6.5rem) 0 5.7rem;
  position: relative;
}

.doctor-directory__hero::after {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  content: '';
  height: 470px;
  position: absolute;
  right: -115px;
  top: -250px;
  width: 470px;
}

.doctor-directory__hero .container {
  position: relative;
  z-index: 1;
}

.doctor-directory__hero .fmc-eyebrow {
  color: #9fe3d8;
}

.doctor-directory__hero h1 {
  color: #fff;
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4.3rem);
  line-height: 1.05;
  margin: 0;
  max-width: 720px;
}

.doctor-directory__hero p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 1rem 0 0;
  max-width: 600px;
}

.doctor-search {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 18px 45px rgba(7, 29, 51, 0.18);
  display: flex;
  gap: 0.75rem;
  margin: -2.8rem auto 0;
  max-width: 980px;
  padding: 0.7rem;
  position: relative;
  z-index: 2;
}

.doctor-search__field {
  align-items: center;
  border-right: 1px solid var(--fmc-line);
  display: flex;
  flex: 1;
  gap: 0.75rem;
  padding: 0 1rem;
}

.doctor-search__field i {
  color: var(--fmc-teal);
}

.doctor-search__field input {
  background: transparent;
  border: 0;
  color: var(--fmc-navy);
  min-height: 3.1rem;
  outline: 0;
  width: 100%;
}

.doctor-search__field input::placeholder {
  color: #829ab1;
}

.doctor-directory__layout {
  display: grid;
  gap: 1.7rem;
  grid-template-columns: minmax(225px, 0.28fr) minmax(0, 1fr);
  padding-top: 2.5rem;
}

.doctor-filter {
  align-self: start;
  background: #fff;
  border: 1px solid #e1eeeb;
  border-radius: 1rem;
  padding: 1.35rem;
  position: sticky;
  top: 105px;
}

.doctor-filter__label {
  color: var(--fmc-navy);
  display: block;
  font-family: Marcellus, Georgia, serif;
  font-size: 1.22rem;
  margin-bottom: 0.9rem;
}

.doctor-filter select {
  background-color: #f8fbfa;
  border: 1px solid var(--fmc-line);
  border-radius: 0.65rem;
  color: var(--fmc-text);
  min-height: 3rem;
  outline-color: var(--fmc-teal);
  padding: 0.55rem 0.75rem;
  width: 100%;
}

.doctor-filter__divider {
  border: 0;
  border-top: 1px solid var(--fmc-line);
  margin: 1.4rem 0;
}

.doctor-filter__check {
  align-items: start;
  color: var(--fmc-text);
  cursor: pointer;
  display: flex;
  font-size: 0.92rem;
  gap: 0.65rem;
  line-height: 1.35;
  padding: 0.46rem 0;
}

.doctor-filter__check input {
  accent-color: var(--fmc-teal);
  margin-top: 0.1rem;
}

.doctor-directory__results-head {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.35rem;
}

.doctor-directory__results-head h2 {
  color: var(--fmc-navy);
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.3rem);
  margin: 0;
}

.doctor-directory__results-head p {
  color: var(--fmc-muted);
  font-size: 0.9rem;
  margin: 0.45rem 0 0;
}

.doctor-directory .dispDoctor {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.doctor-card {
  background: #fff;
  border: 1px solid #e1eeeb;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.doctor-card:hover {
  box-shadow: var(--fmc-shadow);
  transform: translateY(-5px);
}

.doctor-card__photo {
  background: #deedeb;
  display: block;
  height: 220px;
  overflow: hidden;
}

.doctor-card__photo img {
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
  width: 100%;
}

.doctor-card:hover .doctor-card__photo img {
  transform: scale(1.04);
}

.doctor-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.15rem;
}

.doctor-card__specialty {
  color: var(--fmc-teal);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.doctor-card h3 {
  font-family: Marcellus, Georgia, serif;
  font-size: 1.28rem;
  line-height: 1.25;
  margin: 0.5rem 0 0;
}

.doctor-card h3 a {
  color: var(--fmc-navy);
}

.doctor-card__meta {
  color: var(--fmc-muted);
  font-size: 0.84rem;
  line-height: 1.5;
  margin: 0.7rem 0 0;
}

.doctor-card__meta i {
  color: var(--fmc-gold);
  margin-right: 0.25rem;
}

.doctor-card__actions {
  display: flex;
  gap: 0.6rem;
  margin-top: auto;
  padding-top: 1.15rem;
}

.doctor-card__actions a {
  align-items: center;
  border-radius: 0.55rem;
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 800;
  justify-content: center;
  min-height: 2.6rem;
  padding: 0.5rem;
}

.doctor-card__actions a:first-child {
  background: var(--fmc-teal);
  color: #fff;
  flex: 1;
}

.doctor-card__actions a:last-child {
  border: 1px solid var(--fmc-line);
  color: var(--fmc-teal);
  flex: 0 0 2.7rem;
}

.doctor-directory__empty {
  background: #fff;
  border: 1px dashed #b8d2cc;
  border-radius: 1rem;
  color: var(--fmc-muted);
  padding: 3rem 1.5rem;
  text-align: center;
}

.doctor-directory__more {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.doctor-directory__more button {
  background: transparent;
  border: 1px solid var(--fmc-teal);
  border-radius: 0.65rem;
  color: var(--fmc-teal);
  font-size: 0.9rem;
  font-weight: 800;
  padding: 0.75rem 1.2rem;
}

@media (max-width: 991px) {
  .fmc-services-grid,
  .fmc-doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fmc-split,
  .doctor-directory__layout {
    grid-template-columns: 1fr;
  }

  .fmc-process-grid,
  .fmc-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .doctor-filter {
    position: static;
  }
}

@media (max-width: 767px) {
  .fmc-hero,
  .fmc-hero__content {
    min-height: 640px;
  }

  .fmc-hero__content {
    padding-bottom: 11.5rem;
    padding-top: 5rem;
  }

  .fmc-hero::before {
    background: linear-gradient(92deg, rgba(7, 29, 51, 0.96), rgba(7, 29, 51, 0.68));
  }

  .fmc-hero__trust {
    bottom: 1rem;
    gap: 0.7rem;
    padding: 0.8rem;
  }

  .fmc-hero__trust-item {
    font-size: 0.73rem;
    gap: 0.45rem;
  }

  .fmc-hero__trust-item + .fmc-hero__trust-item {
    padding-left: 0.7rem;
  }

  .fmc-hero__trust-icon {
    flex-basis: 2rem;
    height: 2rem;
    width: 2rem;
  }

  .fmc-section__head,
  .fmc-cta__inner {
    align-items: start;
    flex-direction: column;
  }

  .fmc-image-panel {
    min-height: 380px;
  }

  .fmc-process-grid,
  .fmc-news-grid {
    grid-template-columns: 1fr;
  }

  .doctor-search {
    flex-direction: column;
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .doctor-search__field {
    border-bottom: 1px solid var(--fmc-line);
    border-right: 0;
  }

  .doctor-search .fmc-button {
    width: 100%;
  }

  .doctor-directory .dispDoctor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .doctor-card__photo {
    height: 175px;
  }

  .doctor-card__actions {
    flex-direction: column;
  }

  .doctor-card__actions a:last-child {
    flex-basis: auto;
  }
}

@media (max-width: 420px) {
  .fmc-services-grid,
  .fmc-doctor-grid,
  .doctor-directory .dispDoctor {
    grid-template-columns: 1fr;
  }

  .fmc-hero__trust {
    display: block;
  }

  .fmc-hero__trust-item + .fmc-hero__trust-item {
    border-left: 0;
    margin-top: 0.45rem;
    padding-left: 0;
  }
}

/* Homepage carousel */
.fmc-hero-carousel .carousel-inner,
.fmc-hero-carousel .carousel-item {
  min-height: inherit;
}

.fmc-hero-carousel .carousel-item {
  min-height: min(720px, calc(100vh - 80px));
}

.fmc-hero-carousel .carousel-item > .fmc-hero__content {
  min-height: min(720px, calc(100vh - 80px));
}

.fmc-hero-carousel .fmc-hero__image {
  image-rendering: auto;
  object-position: center;
  transform: translateZ(0);
}

.fmc-hero-carousel__indicators {
  bottom: 7.4rem;
  justify-content: flex-start;
  left: max(1rem, calc((100% - 1140px) / 2));
  margin: 0;
  right: auto;
  z-index: 3;
}

.fmc-hero-carousel__indicators [data-bs-target] {
  background-color: #fff;
  border: 0;
  border-radius: 999px;
  height: 0.35rem;
  margin: 0 0.25rem;
  opacity: 0.48;
  transition: opacity 180ms ease, width 180ms ease;
  width: 1.8rem;
}

.fmc-hero-carousel__indicators .active {
  opacity: 1;
  width: 3.3rem;
}

.fmc-hero-carousel__control {
  align-items: center;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  bottom: auto;
  height: 3rem;
  opacity: 1;
  top: 50%;
  transform: translateY(-50%);
  transition: background 180ms ease, transform 180ms ease;
  width: 3rem;
  z-index: 3;
}

.fmc-hero-carousel__control:hover,
.fmc-hero-carousel__control:focus-visible {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-50%) scale(1.06);
}

.fmc-hero-carousel .carousel-control-prev {
  left: 1.25rem;
}

.fmc-hero-carousel .carousel-control-next {
  right: 1.25rem;
}

.fmc-hero-carousel .carousel-control-next-icon,
.fmc-hero-carousel .carousel-control-prev-icon {
  height: 1rem;
  width: 1rem;
}

/* Image-led clinic shortcuts */
.clinic-showcase {
  padding-top: clamp(2.75rem, 5vw, 4.25rem);
}

.clinic-showcase__head {
  align-items: end;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-bottom: 1.4rem;
}

.clinic-showcase__head h2 {
  color: var(--fmc-navy);
  font-family: Marcellus, Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  margin: 0;
}

.clinic-showcase__head p:not(.fmc-eyebrow) {
  color: var(--fmc-muted);
  font-size: 0.94rem;
  line-height: 1.55;
  margin: 0;
  max-width: 330px;
}

.clinic-showcase__grid {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}

.clinic-spotlight {
  background: linear-gradient(135deg, var(--fmc-teal), var(--fmc-navy));
  border-radius: 0.9rem;
  color: #fff;
  display: block;
  height: 170px;
  overflow: hidden;
  position: relative;
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.clinic-spotlight:hover,
.clinic-spotlight:focus-visible,
.clinic-spotlight.is-active {
  box-shadow: 0 16px 32px rgba(16, 42, 67, 0.2);
  color: #fff;
  transform: translateY(-4px);
}

.clinic-spotlight.is-active {
  outline: 3px solid var(--fmc-teal);
  outline-offset: 2px;
}

.clinic-spotlight img {
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
  width: 100%;
}

.clinic-spotlight__visual {
  align-items: center;
  color: rgba(255, 255, 255, 0.88);
  display: none;
  font-size: 2.2rem;
  inset: 0;
  justify-content: center;
  position: absolute;
}

.clinic-spotlight--image-missing img {
  opacity: 0;
}

.clinic-spotlight--image-missing .clinic-spotlight__visual {
  display: flex;
}

.clinic-spotlight:hover img,
.clinic-spotlight:focus-visible img {
  transform: scale(1.07);
}

.clinic-spotlight__overlay {
  background: linear-gradient(180deg, rgba(7, 29, 51, 0.08) 20%, rgba(7, 29, 51, 0.86) 100%);
  inset: 0;
  position: absolute;
}

.clinic-spotlight__name {
  bottom: 1rem;
  font-family: Marcellus, Georgia, serif;
  font-size: 1.08rem;
  left: 1rem;
  line-height: 1.2;
  max-width: calc(100% - 3.8rem);
  position: absolute;
}

.clinic-spotlight__arrow {
  align-items: center;
  background: rgba(255, 255, 255, 0.17);
  border-radius: 50%;
  bottom: 0.8rem;
  display: inline-flex;
  font-size: 0.75rem;
  height: 2rem;
  justify-content: center;
  position: absolute;
  right: 0.8rem;
  width: 2rem;
}

/* Dedicated homepage team feature */
.fmc-section--team {
  background: linear-gradient(135deg, #edf8f6 0%, #f8fbfb 55%, #fff 100%);
}

.fmc-team-intro {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.fmc-team-intro__image {
  border-radius: 1.25rem;
  box-shadow: var(--fmc-shadow);
  min-height: 425px;
  overflow: hidden;
  position: relative;
}

.fmc-team-intro__image::after {
  background: linear-gradient(180deg, transparent 48%, rgba(7, 29, 51, 0.52));
  content: '';
  inset: 0;
  position: absolute;
}

.fmc-team-intro__image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}

.fmc-team-intro__image-note {
  align-items: center;
  bottom: 1.25rem;
  color: #fff;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 800;
  gap: 0.5rem;
  left: 1.25rem;
  position: absolute;
  z-index: 1;
}

.fmc-team-intro__image-note i {
  color: #aef3e8;
}

.fmc-team-intro__points {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.75rem 0 2rem;
}

.fmc-team-intro__points span {
  color: var(--fmc-navy);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.35;
}

.fmc-team-intro__points i {
  color: var(--fmc-teal);
  display: block;
  font-size: 1.2rem;
  margin-bottom: 0.45rem;
}

@media (max-width: 767px) {
  .fmc-hero-carousel__control {
    display: none;
  }

  .fmc-hero-carousel__indicators {
    bottom: 10.5rem;
  }

  .clinic-showcase__head {
    align-items: start;
    flex-direction: column;
    gap: 0.8rem;
  }

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

  .clinic-spotlight {
    height: 145px;
  }

  .fmc-team-intro {
    grid-template-columns: 1fr;
  }

  .fmc-team-intro__image {
    min-height: 300px;
  }

  .fmc-team-intro__points {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fmc-hero-carousel .carousel-item,
  .clinic-spotlight,
  .clinic-spotlight img {
    transition: none;
  }
}

/* Leadership photo cards */
.fmc-section--leaders { background: #fff; }
.fmc-leadership-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fmc-team-member { background: var(--fmc-navy); border-radius: 1rem; min-height: 390px; overflow: hidden; position: relative; }
.fmc-team-member img { height: 100%; inset: 0; object-fit: cover; object-position: center top; position: absolute; transition: transform 280ms ease; width: 100%; }
.fmc-team-member:hover img { transform: scale(1.045); }
.fmc-team-member__shade { background: linear-gradient(180deg, rgba(4, 21, 37, 0.03) 36%, rgba(4, 21, 37, 0.92) 100%); inset: 0; position: absolute; }
.fmc-team-member__bio { bottom: 0; color: #fff; left: 0; padding: 1.35rem; position: absolute; right: 0; }
.fmc-team-member__bio p { color: #aef3e8; font-size: 0.71rem; font-weight: 800; letter-spacing: 0.1em; margin: 0 0 0.35rem; text-transform: uppercase; }
.fmc-team-member__bio h3 { color: #fff; font-family: Marcellus, Georgia, serif; font-size: 1.28rem; line-height: 1.15; margin: 0; }

/* About page */
.fmc-inner-hero { background: var(--fmc-navy-deep); min-height: 465px; overflow: hidden; position: relative; }
.fmc-inner-hero > img, .fmc-inner-hero__shade { height: 100%; inset: 0; position: absolute; width: 100%; }
.fmc-inner-hero > img { object-fit: cover; object-position: center; }
.fmc-inner-hero__shade { background: linear-gradient(94deg, rgba(4, 21, 37, 0.97), rgba(4, 21, 37, 0.85) 48%, rgba(4, 21, 37, 0.36)); }
.fmc-inner-hero__content { color: #fff; padding-bottom: 4.75rem; padding-top: 7.5rem; position: relative; z-index: 1; }
.fmc-inner-hero .fmc-eyebrow { color: #aef3e8; }
.fmc-inner-hero h1 { color: #fff; font-family: Marcellus, Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.04; margin: 0; max-width: 780px; }
.fmc-inner-hero__content > p:not(.fmc-eyebrow) { color: rgba(255, 255, 255, 0.88); font-size: 1.08rem; line-height: 1.7; margin: 1.25rem 0 0; max-width: 600px; }
.fmc-inner-hero nav { align-items: center; color: rgba(255, 255, 255, 0.75); display: flex; font-size: 0.83rem; gap: 0.55rem; margin-top: 1.8rem; }
.fmc-inner-hero nav a { color: #fff; }
.fmc-inner-hero nav i { color: #aef3e8; font-size: 0.65rem; }
.fmc-about-story { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5.5rem); grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); }
.fmc-about-story__image { min-height: 480px; position: relative; }
.fmc-about-story__image > img { border-radius: 1.25rem; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.fmc-about-story__badge { background: var(--fmc-teal); border-radius: 0.85rem; bottom: 1.2rem; color: #fff; left: 1.2rem; max-width: 245px; padding: 1rem 1.15rem; position: absolute; }
.fmc-about-story__badge strong { display: block; font-family: Marcellus, Georgia, serif; font-size: 1.8rem; line-height: 1; }
.fmc-about-story__badge span { display: block; font-size: 0.8rem; line-height: 1.4; margin-top: 0.35rem; }
.fmc-about-story__lead { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: clamp(1.14rem, 1.7vw, 1.38rem); line-height: 1.55; margin: 1.15rem 0 0; }
.fmc-about-story__text { color: var(--fmc-muted); font-size: 0.96rem; line-height: 1.72; margin-top: 1rem; }
.fmc-about-story__text p { margin: 0; }
.fmc-about-story__text p + p { margin-top: 0.85rem; }
.fmc-about-story__facts { display: grid; gap: 0.8rem; margin: 1.7rem 0 2rem; }
.fmc-about-story__facts span { align-items: center; color: var(--fmc-navy); display: flex; font-size: 0.92rem; font-weight: 800; gap: 0.7rem; }
.fmc-about-story__facts i { align-items: center; background: var(--fmc-mint); border-radius: 50%; color: var(--fmc-teal); display: inline-flex; height: 1.8rem; justify-content: center; width: 1.8rem; }
.fmc-purpose-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fmc-purpose-card { background: #fff; border: 1px solid #dcebe7; border-radius: 1rem; padding: 1.6rem; }
.fmc-purpose-card > span { align-items: center; background: var(--fmc-mint); border-radius: 0.75rem; color: var(--fmc-teal); display: inline-flex; font-size: 1.2rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.fmc-purpose-card h3 { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: 1.35rem; margin: 1.4rem 0 0; }
.fmc-purpose-card p { color: var(--fmc-muted); font-size: 0.93rem; line-height: 1.65; margin: 0.65rem 0 0; }
.fmc-about-services { display: grid; gap: 0.9rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fmc-about-services a { align-items: center; background: #fff; border: 1px solid #dcebe7; border-radius: 0.95rem; color: var(--fmc-navy); display: flex; gap: 0.95rem; min-height: 130px; padding: 1.25rem; transition: box-shadow 180ms ease, transform 180ms ease; }
.fmc-about-services a:hover, .fmc-about-services a:focus-visible { box-shadow: var(--fmc-shadow); color: var(--fmc-navy); transform: translateY(-3px); }
.fmc-about-services > a > i { align-items: center; background: var(--fmc-mint); border-radius: 0.7rem; color: var(--fmc-teal); display: inline-flex; flex: 0 0 2.8rem; height: 2.8rem; justify-content: center; }
.fmc-about-services span { display: grid; gap: 0.25rem; }
.fmc-about-services strong { font-family: Marcellus, Georgia, serif; font-size: 1.05rem; }
.fmc-about-services small { color: var(--fmc-muted); font-size: 0.8rem; line-height: 1.45; }
.fmc-about-services b { color: var(--fmc-teal); font-size: 0.8rem; margin-left: auto; }

/* Privacy policy */
.fmc-policy-hero > img { object-position: center 42%; }
.fmc-policy-layout { align-items: start; display: grid; gap: clamp(1.5rem, 5vw, 4.5rem); grid-template-columns: minmax(255px, 0.63fr) minmax(0, 1.37fr); max-width: 1190px; }
.fmc-policy-aside { background: var(--fmc-navy-deep); border-radius: 1.1rem; color: #fff; padding: clamp(1.5rem, 3vw, 2.25rem); position: sticky; top: 6.7rem; }
.fmc-policy-aside .fmc-eyebrow { color: #aef3e8; }
.fmc-policy-aside h2 { color: #fff; font-family: Marcellus, Georgia, serif; font-size: clamp(1.6rem, 2.5vw, 2.1rem); line-height: 1.15; margin: 0; }
.fmc-policy-aside > p:not(.fmc-eyebrow) { color: rgba(255, 255, 255, 0.73); font-size: 0.9rem; line-height: 1.65; margin: 0.9rem 0 1.4rem; }
.fmc-policy-aside ul { border-bottom: 1px solid rgba(174, 243, 232, 0.2); border-top: 1px solid rgba(174, 243, 232, 0.2); list-style: none; margin: 0; padding: 0.75rem 0; }
.fmc-policy-aside li + li { border-top: 1px solid rgba(174, 243, 232, 0.11); }
.fmc-policy-aside li a { align-items: center; color: #fff; display: flex; font-size: 0.83rem; font-weight: 800; gap: 0.7rem; padding: 0.75rem 0; }
.fmc-policy-aside li a:hover, .fmc-policy-aside li a:focus-visible { color: #aef3e8; }
.fmc-policy-aside li i { color: #aef3e8; text-align: center; width: 1rem; }
.fmc-policy-aside__contact { align-items: center; color: #fff; display: flex; gap: 0.65rem; margin-top: 1.4rem; }
.fmc-policy-aside__contact > i:first-child { align-items: center; background: rgba(174, 243, 232, 0.13); border-radius: 0.55rem; color: #aef3e8; display: inline-flex; height: 2.4rem; justify-content: center; width: 2.4rem; }
.fmc-policy-aside__contact span { display: grid; font-size: 0.82rem; font-weight: 800; line-height: 1.3; }
.fmc-policy-aside__contact small { color: rgba(255, 255, 255, 0.68); font-size: 0.73rem; font-weight: 500; margin-top: 0.15rem; }
.fmc-policy-aside__contact > i:last-child { color: #aef3e8; font-size: 0.75rem; margin-left: auto; }
.fmc-policy-card { background: #fff; border: 1px solid #dcebe7; border-radius: 1.1rem; box-shadow: 0 16px 42px rgba(16, 42, 67, 0.07); padding: clamp(1.5rem, 4vw, 3.4rem); }
.fmc-policy-card h2 { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: clamp(1.85rem, 3vw, 2.65rem); line-height: 1.13; margin: 0; max-width: 790px; }
.fmc-policy-card__lead { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: 1.13rem; line-height: 1.6; margin: 1rem 0 0; max-width: 730px; }
.fmc-policy-card__body { border-top: 1px solid #dcebe7; color: var(--fmc-muted); font-size: 0.96rem; line-height: 1.8; margin-top: 1.7rem; padding-top: 1.6rem; }
.fmc-policy-card__body p { margin: 0; }
.fmc-policy-card__body p + p { margin-top: 1rem; }
.fmc-policy-card__body h3 { border-top: 1px solid #dcebe7; color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.3; margin: 1.8rem 0 0; padding-top: 1.55rem; }
.fmc-policy-card__document-title { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: 1.25rem; margin: 0 !important; }
.fmc-policy-card__update { color: var(--fmc-teal); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.05em; margin-top: 0.3rem !important; text-transform: uppercase; }
.fmc-policy-card__note { align-items: flex-start; background: #eefaf8; border-left: 3px solid var(--fmc-teal); border-radius: 0 0.75rem 0.75rem 0; color: var(--fmc-navy); display: flex; font-size: 0.88rem; gap: 0.65rem; line-height: 1.6; margin-top: 1.9rem; padding: 0.95rem 1rem; }
.fmc-policy-card__note i { color: var(--fmc-teal); margin-top: 0.25rem; }
.fmc-policy-card__note p { margin: 0; }

/* Sign in and registration */
.fmc-auth { background: linear-gradient(135deg, #eefaf8, #f7fbfa 55%, #fff); padding: clamp(3rem, 7vw, 6.5rem) 0; }
.fmc-auth__shell { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr); max-width: 1120px; padding: 0; }
.fmc-auth__panel { background: var(--fmc-navy-deep); min-height: 600px; overflow: hidden; position: relative; }
.fmc-auth__panel > img, .fmc-auth__panel-overlay { height: 100%; inset: 0; position: absolute; width: 100%; }
.fmc-auth__panel > img { object-fit: cover; }
.fmc-auth__panel-overlay { background: linear-gradient(180deg, rgba(4, 21, 37, 0.2), rgba(4, 21, 37, 0.94)); }
.fmc-auth__panel-copy { bottom: 0; color: #fff; left: 0; padding: clamp(2rem, 5vw, 3.5rem); position: absolute; right: 0; z-index: 1; }
.fmc-auth__panel .fmc-eyebrow { color: #aef3e8; }
.fmc-auth__panel h1 { color: #fff; font-family: Marcellus, Georgia, serif; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.08; margin: 0; max-width: 480px; }
.fmc-auth__panel-copy > p:not(.fmc-eyebrow) { color: rgba(255, 255, 255, 0.83); line-height: 1.65; margin: 1rem 0 0; max-width: 470px; }
.fmc-auth__panel-points { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.fmc-auth__panel-points span { align-items: center; color: #fff; display: inline-flex; font-size: 0.8rem; font-weight: 800; gap: 0.45rem; }
.fmc-auth__panel-points i { color: #aef3e8; }
.fmc-auth__card { background: #fff; padding: clamp(2rem, 5vw, 4rem); }
.fmc-auth__card-head h2 { color: var(--fmc-navy); font-family: Marcellus, Georgia, serif; font-size: clamp(2rem, 3vw, 2.6rem); margin: 0; }
.fmc-auth__card-head > p:not(.fmc-eyebrow) { color: var(--fmc-muted); line-height: 1.6; margin: 0.65rem 0 0; }
.fmc-auth__form { margin-top: 2rem; }
.fmc-auth__field { margin-top: 1.2rem; }
.fmc-auth__field label, .fmc-auth__field legend { color: var(--fmc-navy); display: block; font-size: 0.86rem; font-weight: 800; margin: 0 0 0.45rem; }
.fmc-auth__field legend { float: left; width: 100%; }
.fmc-auth__input-wrap { align-items: center; border: 1px solid #cadeda; border-radius: 0.72rem; display: flex; gap: 0.65rem; min-height: 3.2rem; padding: 0 0.85rem; transition: border-color 180ms ease, box-shadow 180ms ease; }
.fmc-auth__input-wrap:focus-within { border-color: var(--fmc-teal); box-shadow: 0 0 0 3px rgba(8, 124, 114, 0.13); }
.fmc-auth__input-wrap i { color: var(--fmc-teal); width: 1rem; }
.fmc-auth__input-wrap input { background: transparent; border: 0; color: var(--fmc-navy); font-size: 0.94rem; height: 3rem; outline: 0; padding: 0; width: 100%; }
.fmc-auth__input-wrap input:focus { box-shadow: none; }
.fmc-auth__error { color: #bd2c2c; font-size: 0.78rem; line-height: 1.4; margin: 0.4rem 0 0; }
.fmc-auth__error--banner { background: #fff0f0; border: 1px solid #f2c7c7; border-radius: 0.65rem; padding: 0.65rem 0.8rem; }
.fmc-auth__submit { margin-top: 1.8rem; width: 100%; }
.fmc-auth__links { align-items: center; color: var(--fmc-muted); display: flex; font-size: 0.82rem; justify-content: space-between; margin: 1.15rem 0 0; }
.fmc-auth__links a { color: var(--fmc-teal); font-weight: 800; }
.fmc-auth__links--single { display: block; text-align: center; }
.fmc-auth__form-grid { display: grid; gap: 0 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fmc-auth__field--wide { grid-column: span 2; }
.fmc-auth__field--gender { border: 0; margin: 1.5rem 0 0; padding: 0; }
.fmc-auth__radio-group { display: flex; gap: 0.7rem; }
.fmc-auth__radio-group label { align-items: center; border: 1px solid #cadeda; border-radius: 0.65rem; cursor: pointer; display: inline-flex; font-weight: 700; gap: 0.45rem; margin: 0; padding: 0.58rem 0.8rem; }
.fmc-auth__radio-group input { accent-color: var(--fmc-teal); }

/* Reliable, high-contrast carousel overlay */
.fmc-hero-carousel { isolation: isolate; }
.fmc-hero-carousel::before { display: none; }
.fmc-hero-carousel .carousel-item { isolation: isolate; position: relative; }
.fmc-hero-carousel .carousel-item::after {
  background: linear-gradient(92deg, rgba(3, 18, 32, 0.98) 0%, rgba(3, 18, 32, 0.94) 44%, rgba(3, 18, 32, 0.72) 69%, rgba(3, 18, 32, 0.32) 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.fmc-hero-carousel .fmc-hero__image { z-index: 0; }
.fmc-hero-carousel .fmc-hero__content { display: flex; opacity: 1; position: relative; visibility: visible; z-index: 2; }
.fmc-hero-carousel .fmc-hero__content > div {
  background: rgba(4, 21, 37, 0.44);
  border-left: 4px solid #aef3e8;
  border-radius: 0 1rem 1rem 0;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.2);
  padding: clamp(1.25rem, 3vw, 2rem);
}
.fmc-hero-carousel .fmc-hero__title,
.fmc-hero-carousel .fmc-hero__lead { position: relative; z-index: 3; }
.fmc-hero-carousel .fmc-hero__trust { z-index: 5; }
.fmc-hero-carousel__indicators,
.fmc-hero-carousel__control { z-index: 6; }

.fmc-home-purpose { background: linear-gradient(135deg, #f7f4ed 0%, #f3fbf9 100%); }

@media (max-width: 991px) {
  .fmc-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fmc-purpose-grid, .fmc-about-services { grid-template-columns: 1fr; }
  .fmc-about-story { grid-template-columns: 1fr; }
  .fmc-about-story__image { min-height: 390px; }
  .fmc-auth__shell { grid-template-columns: 1fr; max-width: 680px; padding-left: 0.75rem; padding-right: 0.75rem; }
  .fmc-auth__panel { min-height: 360px; }
  .fmc-policy-layout { grid-template-columns: 1fr; }
  .fmc-policy-aside { position: static; }
}

@media (max-width: 575px) {
  .fmc-hero-carousel .fmc-hero__content > div { background: rgba(4, 21, 37, 0.56); padding: 1.1rem; }
  .fmc-hero__content > div { text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45); }
  .fmc-leadership-grid { grid-template-columns: 1fr; }
  .fmc-team-member { min-height: 430px; }
  .fmc-inner-hero { min-height: 410px; }
  .fmc-inner-hero__content { padding-bottom: 3.5rem; padding-top: 6rem; }
  .fmc-auth { padding: 2rem 0; }
  .fmc-auth__panel { min-height: 330px; }
  .fmc-auth__card { padding: 1.6rem; }
  .fmc-auth__form-grid { grid-template-columns: 1fr; }
  .fmc-auth__field--wide { grid-column: auto; }
  .fmc-auth__links { align-items: flex-start; flex-direction: column; gap: 0.55rem; }
}
