/* ------------------------- Scaling System by Osmo [https://osmo.supply/] -------------------------  */

/* Desktop */
:root {
  --size-unit: 16; /* body font-size in design - no px */
  --size-container-ideal: 1920; /* screen-size in design - no px */
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));

  --m2m-plum: #6b3e8e;
  --m2m-deep-teal: #0d8b8b;
  --m2m-charcoal: #2a2f33;
  --m2m-gray: #696969;
  --m2m-nav-gray: #888888;
  --m2m-ivory: #faf7f1;
  --m2m-warm-sand: #e8d9c4;
  --m2m-line: #dddddd;
  --m2m-dark: #111111;
  --font-display: "Battambang";
  --font-body: "Source Sans 3";
  --font-display-stack: var(--font-display), Georgia, serif;
  --font-body-stack: var(--font-body), Arial, sans-serif;
}

/* Tablet */
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834; /* screen-size in design - no px */
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

/* Mobile Landscape */
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 550; /* screen-size in design - no px */
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}

/* Mobile Portrait */
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390; /* screen-size in design - no px */
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

* {
  box-sizing: border-box;
}

html {
  background: var(--m2m-ivory);
  font-size: var(--size-font);
}

body {
  margin: 0;
  background: #ffffff;
  color: var(--m2m-charcoal);
  font-family: var(--font-body-stack);
  font-size: var(--size-font);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

[id] {
  scroll-margin-top: 7.75rem;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

[hidden] {
  display: none !important;
}

button,
input,
textarea {
  font: inherit;
}

main {
  overflow: hidden;
}

h1,
h2,
h3,
blockquote {
  text-wrap: pretty;
}

p,
li,
cite,
.site-footer__column a {
  text-wrap: pretty;
}

.hero-section,
.mission-section,
.testimonials-section,
.cta-section,
.page-hero,
.content-section,
.sand-band,
.leaderboard-section,
.featured-article,
.references-section,
.site-footer,
.admin-shell {
  box-shadow: 0 0 0 100vmax var(--section-bleed, transparent);
  clip-path: inset(0 -100vmax);
}

.hero-section,
.page-hero {
  --section-bleed: var(--m2m-plum);
}

.mission-section,
.testimonials-section,
.content-section,
.leaderboard-section,
.featured-article,
.references-section,
.site-footer {
  --section-bleed: var(--m2m-ivory);
}

.cta-section,
.sand-band {
  --section-bleed: var(--m2m-warm-sand);
}

.admin-shell {
  --section-bleed: #f3f6f7;
}

.recovery-log-section {
  --section-bleed: var(--m2m-plum);
  box-shadow: 0 0 0 100vmax var(--section-bleed);
  clip-path: inset(0 -100vmax);
}

.split-path__panel {
  clip-path: inset(0);
}

.split-path__panel--teal {
  box-shadow: -100vmax 0 0 100vmax var(--m2m-deep-teal);
  clip-path: inset(0 0 0 -100vmax);
}

.split-path__panel--plum {
  box-shadow: 100vmax 0 0 100vmax var(--m2m-plum);
  clip-path: inset(0 -100vmax 0 0);
}

.eyebrow {
  margin: 0;
  color: var(--m2m-gray);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.125rem;
  line-height: 1;
  text-transform: uppercase;
}

.eyebrow--light {
  color: var(--m2m-ivory);
}

.button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.625rem;
  cursor: pointer;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 600;
  justify-content: center;
  letter-spacing: 0.075rem;
  line-height: 3.25rem;
  min-height: 3.25rem;
  padding: 0 2rem;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  white-space: nowrap;
}

.button:focus-visible,
.search-form button:focus-visible,
.form-panel button:focus-visible,
.admin-tabs button:focus-visible,
.admin-sign-out:focus-visible {
  outline: 0.1875rem solid rgba(0, 151, 160, 0.28);
  outline-offset: 0.1875rem;
}

@media (hover: hover) and (pointer: fine) {
  .button:hover {
    box-shadow: 0 0.75rem 1.5rem rgba(42, 47, 51, 0.14);
    transform: translateY(-0.125rem);
  }

  .button--teal:hover {
    background: #007f87;
  }

  .button--plum:hover {
    background: #66348b;
  }

  .button--dark:hover {
    background: #272727;
  }

  .button--light:hover,
  .button--outline:hover {
    background: #f8fbfc;
    border-color: var(--m2m-deep-teal);
    color: var(--m2m-deep-teal);
  }

  .button--decline:hover {
    background: #fff5f5;
    border-color: #7f1f1f;
    color: #7f1f1f;
  }
}

.button:active {
  box-shadow: 0 0.25rem 0.75rem rgba(42, 47, 51, 0.1);
  transform: translateY(0);
}

.button--teal {
  background: var(--m2m-deep-teal);
  color: #ffffff;
}

.button--plum {
  background: var(--m2m-plum);
  color: #ffffff;
}

.button--light {
  background: #ffffff;
  color: var(--m2m-dark);
}

.button--outline {
  background: #ffffff;
  border-color: var(--m2m-plum);
  color: var(--m2m-dark);
}

.button--dark {
  background: var(--m2m-dark);
  color: #ffffff;
  padding: 0 1.25rem;
}

.button--decline {
  background: #ffffff;
  border-color: #9f2d2d;
  color: #9f2d2d;
}

.button--recovery {
  background: var(--m2m-plum);
  color: #ffffff;
  padding: 0 1.25rem;
}

.has-scroll-reveals .reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition:
    opacity 720ms ease,
    transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.has-scroll-reveals .reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .has-scroll-reveals .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .button,
  .search-form button,
  .form-panel button,
  .admin-tabs button,
  .admin-sign-out {
    transition: none;
  }
}

.section-rule {
  background: var(--m2m-plum);
  display: block;
  height: 0.125rem;
  width: 3rem;
}

.logo-lockup {
  align-items: center;
  display: inline-flex;
  gap: 0.625rem;
  height: 4.125rem;
  min-width: 22.6875rem;
}

.logo-lockup__mark {
  display: block;
  height: 3.375rem;
  width: 8.625rem;
}

.logo-lockup__mark img {
  height: 100%;
  width: 100%;
}

.logo-lockup__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3rem;
}

.logo-lockup__name {
  color: var(--m2m-charcoal);
  font-family: var(--font-display-stack);
  font-size: 1rem;
  line-height: 1.5625rem;
}

.logo-lockup__tag {
  color: var(--m2m-gray);
  font-size: 0.9375rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.0625rem;
}

.site-header {
  background: var(--m2m-ivory);
  border-bottom: 1px solid #e0e0e0;
  height: 6.875rem;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 20;
}

.site-header__inner {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 0 2.5rem;
  width: 100%;
}

.site-header__nav {
  align-items: center;
  display: flex;
  gap: 2.5rem;
}

.site-header__nav a:not(.button) {
  color: var(--m2m-nav-gray);
  font-size: 1.125rem;
  line-height: 1.875rem;
  position: relative;
  text-transform: uppercase;
  transition: color 220ms ease;
  white-space: nowrap;
}

.site-header__nav a:not(.button)::after {
  background: var(--m2m-plum);
  bottom: -0.35rem;
  content: "";
  height: 0.125rem;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
}

.site-header__nav a:not(.button):hover,
.site-header__nav a:not(.button):focus-visible,
.site-header__nav a:not(.button).is-current,
.site-header__nav a:not(.button)[aria-current="page"] {
  color: var(--m2m-plum);
}

.site-header__nav a:not(.button):hover::after,
.site-header__nav a:not(.button):focus-visible::after,
.site-header__nav a:not(.button).is-current::after,
.site-header__nav a:not(.button)[aria-current="page"]::after {
  transform: scaleX(1);
}

.site-header__toggle {
  background: transparent;
  border: 0;
  display: none;
  flex-direction: column;
  gap: 0.3125rem;
  padding: 0.75rem;
}

.site-header__toggle span {
  background: var(--m2m-charcoal);
  display: block;
  height: 0.125rem;
  width: 1.5rem;
}

.hero-section {
  --hero-pattern-left: 66%;
  --hero-pattern-top: 50%;
  --hero-pattern-width: 108rem;
  --hero-pattern-x: -50%;
  --hero-pattern-y: -50%;
  background: var(--m2m-plum);
  color: var(--m2m-ivory);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  height: 42.4375rem;
  margin: 0 auto;
  max-width: var(--size-container);
  overflow: hidden;
  position: relative;
}

.hero-section__pattern {
  height: auto;
  left: var(--hero-pattern-left);
  max-width: none;
  object-fit: contain;
  pointer-events: none;
  position: absolute;
  top: var(--hero-pattern-top);
  transform: translate(var(--hero-pattern-x), var(--hero-pattern-y));
  width: var(--hero-pattern-width);
}

.hero-section__left,
.hero-section__right {
  position: relative;
  z-index: 1;
}

.hero-section__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6.25rem 4rem;
}

.hero-section h1 {
  font-family: var(--font-display-stack);
  font-size: 4.6875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 5.3125rem;
  margin: 0.625rem 0;
  max-width: 47.125rem;
}

.hero-section__left > p:not(.eyebrow) {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
  max-width: 48rem;
}

.hero-section__actions {
  display: flex;
  gap: 1rem;
  margin-top: 2.5rem;
}

.hero-section__right {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 1.375rem 0;
}

.video-card {
  align-items: center;
  background: #171717;
  border-radius: 0.625rem;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 30.5rem;
  justify-content: center;
  text-decoration: none;
  transition:
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 54.25rem;
}

.video-card__play {
  align-items: center;
  background: transparent;
  border: 1px solid #444444;
  border-radius: 999px;
  display: flex;
  height: 4rem;
  justify-content: center;
  padding: 0;
  width: 4rem;
}

.video-card:hover,
.video-card:focus-visible {
  background: #101010;
  box-shadow: 0 1rem 2.5rem rgba(17, 17, 17, 0.18);
  transform: translateY(-0.125rem);
}

.video-card--media {
  overflow: hidden;
  padding: 0;
}

.video-card--media:hover {
  background: #171717;
  transform: none;
}

.video-card video,
.hero-image-card img {
  display: block;
  height: 100%;
  width: 100%;
}

.video-card video {
  object-fit: cover;
}

.hero-image-card,
.hero-image-card:hover {
  background: transparent;
  box-shadow: none;
}

.hero-image-card {
  height: calc(100% - 2.75rem);
  overflow: visible;
  position: relative;
  width: min(100%, 59.5rem);
}

.hero-image-card img {
  object-fit: contain;
  transform: translateX(-1rem) scale(1.04);
  transform-origin: center;
}

.video-card__play span {
  border-bottom: 0.625rem solid transparent;
  border-left: 0.875rem solid #444444;
  border-top: 0.625rem solid transparent;
  display: block;
  margin-left: 0.25rem;
}

.video-card p {
  color: #444444;
  font-size: 0.625rem;
  letter-spacing: 0.075rem;
  line-height: 1;
  margin: 1rem 0 0;
  max-width: 10.125rem;
  text-align: center;
  text-transform: uppercase;
}

.mission-section {
  background: var(--m2m-ivory);
  border-bottom: 1px solid var(--m2m-line);
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 5rem;
}

.mission-section__content {
  display: grid;
  gap: 5rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.mission-section__copy {
  display: flex;
  flex-direction: column;
  min-height: 32.175rem;
}

.mission-section h2,
.testimonials-section h2,
.cta-section h2 {
  font-family: var(--font-display-stack);
  font-size: 3.4375rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 4.0625rem;
  margin: 0;
}

.mission-section h2 {
  color: var(--m2m-plum);
  margin-top: 0.925rem;
}

.mission-section .section-rule {
  margin: 0.9375rem 0;
}

.mission-section p:not(.eyebrow) {
  color: var(--m2m-charcoal);
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0 0 0.625rem;
  max-width: 47.125rem;
}

.mission-section .button {
  align-self: flex-start;
  margin-top: auto;
}

.mission-section__image {
  border-radius: 0.625rem;
  height: 30rem;
  overflow: hidden;
}

.mission-section__image img,
.mission-section__image video {
  display: block;
  height: 105%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.mission-section__image video {
  height: 100%;
}

.split-path {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto;
  max-width: var(--size-container);
}

.split-path__panel {
  color: #ffffff;
  min-height: 24.25rem;
  padding: 3.5rem;
}

.split-path__panel--teal {
  background: var(--m2m-deep-teal);
}

.split-path__panel--plum {
  background: var(--m2m-plum);
}

.split-path__label {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.125rem;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

.split-path__label::before {
  content: "✦";
  font-size: 0.75rem;
  margin-right: 0.5rem;
}

.split-path h2 {
  font-family: var(--font-display-stack);
  font-size: 2.1875rem;
  font-weight: 400;
  line-height: 2.8125rem;
  margin: 2.1875rem 0 0.625rem;
  max-width: 54rem;
}

.split-path p:not(.split-path__label) {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
  max-width: 45rem;
}

.split-path .button {
  margin-top: 2.1875rem;
}

.split-path .button--light {
  background: var(--m2m-warm-sand);
  border-color: var(--m2m-warm-sand);
}

.testimonials-section {
  background: var(--m2m-ivory);
  border-bottom: 1px solid var(--m2m-line);
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 5rem 5rem 3.1875rem;
}

.testimonials-section__header {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.testimonials-section h2 {
  color: var(--m2m-plum);
}

.testimonial-grid {
  display: grid;
  gap: 0.84375rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.5rem;
  max-width: 108.875rem;
}

.testimonial-card {
  border-left: 0.1875rem solid var(--m2m-plum);
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  min-height: 30.25rem;
  padding: 2rem 2rem 2rem 2.1875rem;
  position: relative;
}

.testimonial-card__mark {
  height: 0.62em;
  margin-right: 0.28em;
  opacity: 0.5;
  width: 0.84em;
}

.testimonial-card blockquote {
  color: var(--m2m-charcoal);
  font-size: 2.8125rem;
  font-style: italic;
  font-weight: 500;
  line-height: 3.125rem;
  margin: 0 0 1rem;
  position: relative;
  z-index: 1;
}

.testimonial-card cite {
  display: flex;
  flex-direction: column;
  font-style: normal;
  margin-top: 1rem;
}

.testimonial-card strong {
  color: #333333;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.125rem;
  line-height: 1.25;
  text-transform: uppercase;
}

.testimonial-card span {
  color: var(--m2m-gray);
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.7rem;
}

.testimonials-section__button {
  margin-top: 2.5rem;
}

.cta-section {
  align-items: center;
  background: var(--m2m-warm-sand);
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: var(--size-container);
  min-height: 38.6875rem;
  overflow: visible;
  position: relative;
  text-align: center;
}

.cta-section__pattern {
  background-image: url("/assets/m2m-pattern-figma.png?v=1");
  background-position: center -14.375rem;
  background-repeat: repeat;
  background-size: 120rem 67.5rem;
  bottom: 0;
  left: 50%;
  max-width: none;
  pointer-events: none;
  position: absolute;
  right: auto;
  top: 0;
  transform: translateX(-50%);
  width: max(100%, 100vw);
}

.sand-band__pattern {
  background-image: url("/assets/m2m-pattern-figma.png?v=1");
  background-position: center -3.875rem;
  background-repeat: repeat;
  background-size: 120rem 67.5rem;
  bottom: 0;
  left: 50%;
  max-width: none;
  pointer-events: none;
  position: absolute;
  right: auto;
  top: 0;
  transform: translateX(-50%);
  width: max(100%, 100vw);
}

.sand-band--share .sand-band__pattern {
  opacity: 1;
}

.sand-band--form .sand-band__pattern {
  background-position: center -6.875rem;
}

.sand-band--press .sand-band__pattern {
  background-position: center -10.375rem;
}

.sand-band:not(.sand-band--share):not(.sand-band--form):not(.sand-band--press) .sand-band__pattern {
  background-position: center -11.5rem;
}

.cta-section__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: -1.75rem;
  max-width: 110rem;
  padding: 5rem;
  position: relative;
  z-index: 1;
}

.cta-section h2 {
  color: var(--m2m-deep-teal);
  max-width: 92.75rem;
}

.cta-section__copy {
  color: var(--m2m-charcoal);
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
}

.cta-section__actions {
  display: flex;
  gap: 1.25rem;
  margin-top: 2rem;
}

.site-footer {
  background: var(--m2m-ivory);
  display: grid;
  gap: 3.75rem;
  grid-template-columns: minmax(20rem, 2fr) repeat(3, minmax(10rem, 1fr));
  margin: 0 auto;
  max-width: var(--size-container);
  min-height: 18.3125rem;
  padding: 2.625rem 5rem 4rem;
}

.site-footer__brand {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.site-footer .logo-lockup {
  max-width: 22.6875rem;
  min-width: 0;
  width: 100%;
}

.site-footer__brand p {
  color: var(--m2m-gray);
  font-size: 1.1875rem;
  line-height: 1.4375rem;
  margin: 0;
  max-width: 17.5rem;
}

.site-footer__socials {
  align-items: center;
  display: flex;
  gap: 0.75rem;
}

.site-footer__socials a {
  display: block;
  height: 1.6606875rem;
  overflow: hidden;
  position: relative;
  width: 1.6606875rem;
}

.site-footer__socials img {
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.site-footer__social-link--facebook img {
  height: 99.63%;
}

.site-footer__social-link--youtube img {
  height: 70.34%;
  top: 14.82%;
}

.site-footer__social-link--linkedin img {
  height: 100%;
}

.site-footer__social-link--instagram img:nth-child(2) {
  height: 51.36%;
  inset: 24.32%;
  width: 51.36%;
}

.site-footer__social-link--instagram img:nth-child(3) {
  height: 12%;
  left: 70.7%;
  top: 17.3%;
  width: 12%;
}

.site-footer__column {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
}

.site-footer__column h2 {
  color: var(--m2m-charcoal);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.875rem;
  margin: 0 0 0.375rem;
  text-transform: uppercase;
}

.site-footer__column a {
  color: var(--m2m-gray);
  font-size: 1.125rem;
  line-height: 1.25rem;
}

.page-hero {
  --hero-pattern-left: 50%;
  --hero-pattern-top: 50%;
  --hero-pattern-width: max(129.75rem, 100vw);
  --hero-pattern-x: -50%;
  --hero-pattern-y: -50%;
  background: var(--m2m-plum);
  color: var(--m2m-ivory);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(28rem, 0.9fr);
  min-height: 44rem;
  margin: 0 auto;
  max-width: var(--size-container);
  overflow: visible;
  padding: 5rem;
  position: relative;
}

.page-hero__pattern {
  height: auto;
  left: var(--hero-pattern-left);
  max-width: none;
  object-fit: contain;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: var(--hero-pattern-top);
  transform: translate(var(--hero-pattern-x), var(--hero-pattern-y));
  width: var(--hero-pattern-width);
}

.page-hero__copy {
  align-self: center;
  max-width: 64rem;
  position: relative;
  z-index: 1;
}

.page-hero h1 {
  font-family: var(--font-display-stack);
  font-size: 4.6875rem;
  font-weight: 400;
  line-height: 5.3125rem;
  margin: 0.95rem 0;
  max-width: 65rem;
}

.page-hero__copy > p:not(.eyebrow) {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
  max-width: 45rem;
}

.page-hero__image {
  align-self: end;
  height: 35.3125rem;
  justify-self: end;
  overflow: hidden;
  position: relative;
  width: 53rem;
  z-index: 1;
}

.page-hero__image img {
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  width: 100%;
}

.page-hero--story {
  --hero-pattern-left: 33.375rem;
  --hero-pattern-top: -3.6875rem;
  --hero-pattern-width: 129.75rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 43.75rem;
  padding: 0;
}

.page-hero--story .page-hero__copy {
  left: 5rem;
  max-width: 85.125rem;
  position: absolute;
  top: 10.625rem;
}

.page-hero--story h1 {
  max-width: 78rem;
}

.page-hero--surgeons {
  --hero-pattern-left: 66.1875rem;
  --hero-pattern-top: -10.5625rem;
  --hero-pattern-width: 138.8125rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 44rem;
  padding: 0;
}

.page-hero--surgeons .page-hero__copy {
  left: 5rem;
  max-width: 60.125rem;
  position: absolute;
  top: 7.525rem;
}

.page-hero--surgeons .page-hero__copy > p:not(.eyebrow) {
  max-width: 51.875rem;
}

.page-hero__button {
  margin-top: 1.5rem;
}

.page-hero--surgeons .page-hero__image {
  height: 35.3125rem;
  left: 65.125rem;
  position: absolute;
  top: 8.5625rem;
  width: 53rem;
}

.page-hero--surgeons .page-hero__image img {
  object-fit: cover;
  object-position: center;
}

.page-hero--patients {
  --hero-pattern-left: 38.625rem;
  --hero-pattern-top: -4.75rem;
  --hero-pattern-width: 129.75rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 45.9375rem;
  padding: 0;
}

.page-hero--patients .page-hero__copy {
  left: 5rem;
  max-width: 47.125rem;
  position: absolute;
  top: 8rem;
}

.page-hero--patients .page-hero__copy > p:not(.eyebrow) {
  max-width: 44.75rem;
}

.page-hero--patients .page-hero__image {
  height: 40.5625rem;
  left: 64.75rem;
  position: absolute;
  top: 5.375rem;
  width: 44.9375rem;
}

.page-hero--patients .page-hero__image img {
  object-fit: contain;
  object-position: center bottom;
}

.page-hero--stories {
  --hero-pattern-left: 34.9375rem;
  --hero-pattern-top: -14rem;
  --hero-pattern-width: 129.75rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 46.125rem;
  padding: 0;
}

.page-hero--stories .page-hero__copy {
  left: 5rem;
  max-width: 110rem;
  position: absolute;
  top: 14.09375rem;
}

.page-hero--stories .page-hero__image {
  height: 43.5625rem;
  left: 50rem;
  position: absolute;
  top: 2.5625rem;
  width: 65.3125rem;
}

.page-hero--stories .page-hero__image img {
  object-fit: cover;
  object-position: center top;
}

.page-hero--impact {
  --hero-pattern-left: 39.5rem;
  --hero-pattern-top: -10.3125rem;
  --hero-pattern-width: 141rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 45.375rem;
  padding: 0;
}

.page-hero--impact .page-hero__copy {
  left: 5rem;
  max-width: 47.9375rem;
  position: absolute;
  top: 13.78125rem;
}

.page-hero--impact .page-hero__copy > p:not(.eyebrow) {
  max-width: 45.125rem;
}

.page-hero--impact .page-hero__image {
  height: 42.75rem;
  left: 49.375rem;
  overflow: visible;
  position: absolute;
  top: 2.625rem;
  width: 68.6875rem;
}

.page-hero--impact .page-hero__image img {
  object-fit: contain;
  object-position: center bottom;
}

.page-hero--join {
  min-height: 45.3125rem;
}

.page-hero--press {
  --hero-pattern-left: 31.9375rem;
  --hero-pattern-top: -8rem;
  --hero-pattern-width: 141.5rem;
  --hero-pattern-x: 0;
  --hero-pattern-y: 0;
  display: block;
  min-height: 45.3125rem;
  padding: 0;
}

.page-hero--press .page-hero__copy {
  left: 5rem;
  max-width: 43.125rem;
  position: absolute;
  top: 15.1875rem;
}

.page-hero--press .page-hero__copy > p:not(.eyebrow) {
  max-width: 30.5rem;
}

.page-hero--join .page-hero__image {
  align-self: auto;
  height: 46rem;
  justify-self: auto;
  left: 57.3125rem;
  position: absolute;
  top: -0.6875rem;
  width: 47rem;
}

.page-hero--join .page-hero__image img {
  height: 100%;
  left: -13.22%;
  max-width: none;
  object-fit: fill;
  object-position: initial;
  position: absolute;
  top: 0;
  width: 146.7%;
}

.content-section {
  background: var(--m2m-ivory);
  border-bottom: 1px solid var(--m2m-line);
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 5rem;
}

.content-section--center {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  text-align: center;
}

.content-section--center > p:not(.eyebrow),
.sand-band__copy p {
  color: var(--m2m-charcoal);
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
  max-width: 47rem;
}

.two-column {
  display: grid;
  gap: 5rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.join-section {
  align-items: start;
  gap: 7.5rem;
  grid-template-columns: minmax(0, 47.5rem) minmax(35rem, 50rem);
}

.join-section .steps-list {
  max-width: 47.5rem;
}

.join-section .form-panel {
  justify-self: end;
  width: 100%;
}

.image-frame {
  border-radius: 1.25rem;
  min-height: 35rem;
  overflow: hidden;
}

.image-frame img,
.story-photo-card > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.image-frame--tall {
  min-height: 40.3125rem;
}

.section-copy {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
}

.section-copy--wide {
  max-width: 85rem;
}

.section-copy h2,
.timeline-copy h2,
.steps-list h2,
.content-section--center h2,
.featured-article h2,
.sand-band h2,
.leaderboard-section h2,
.diagram-card h2 {
  color: var(--m2m-plum);
  font-family: var(--font-display-stack);
  font-size: 3.4375rem;
  font-weight: 400;
  line-height: 4.0625rem;
  margin: 0;
}

.section-copy p:not(.eyebrow),
.timeline-list p,
.steps-list p,
.featured-article p,
.press-card p,
.diagram-card li {
  color: var(--m2m-charcoal);
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 0;
}

.section-copy .section-source {
  color: var(--m2m-gray);
  font-size: 0.9375rem;
  font-style: italic;
  line-height: 1.45;
  margin-top: 0.75rem;
}

.card-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 2.5rem;
}

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

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

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

.info-card,
.press-card {
  background: #f0eadf;
  border-radius: 0.5rem;
  padding: 2.0625rem;
}

.info-card--metric {
  border-radius: 1.25rem;
  min-height: 16.8125rem;
  padding: 2.5rem 2.5rem 2.25rem;
}

.info-card strong {
  color: var(--m2m-plum);
  display: block;
  font-family: var(--font-display-stack);
  font-size: 4.25rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1rem;
}

.info-card h3 {
  color: var(--m2m-plum);
}

.timeline-list h3,
.steps-list h3,
.diagram-card h3 {
  color: #333333;
}

.info-card h3,
.timeline-list h3,
.steps-list h3,
.diagram-card h3 {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.125rem;
  line-height: 1.2;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.info-card p {
  color: var(--m2m-charcoal);
  font-size: 1.125rem;
  line-height: 1.6;
  margin: 0;
}

.info-card--metric strong {
  font-size: 6.25rem;
  font-weight: 700;
  line-height: 0.95;
  margin-bottom: 1.25rem;
}

.info-card--metric .info-card__metric--approximate {
  align-items: center;
  display: flex;
}

.info-card__approximation-mark {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  font-family: var(--font-body-stack);
  font-size: 0.42em;
  gap: 0.12em;
  justify-content: center;
  line-height: 0.34;
  margin-right: 0.12em;
  transform: translateY(-0.04em);
}

.info-card--metric h3 {
  color: var(--m2m-gray);
  font-size: 1.25rem;
  letter-spacing: 0.16rem;
  line-height: 1.45;
  margin: 0;
}

.info-card--metric h3::after {
  background: var(--m2m-gray);
  content: "";
  display: block;
  height: 1px;
  margin: 1.65rem 0 1.25rem;
  width: 4rem;
}

.info-card--metric p {
  color: var(--m2m-gray);
  font-size: 1rem;
  font-style: italic;
  line-height: 1.55;
}

.info-card__label {
  color: var(--m2m-plum) !important;
  font-weight: 600;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}

.info-card .info-card__source {
  font-size: 0.78rem;
  line-height: 1.35;
  margin-top: 0.85rem;
  opacity: 0.78;
}

.citation-marker {
  display: inline-block;
  font-family: var(--font-body-stack);
  font-size: 0.55em;
  font-style: normal;
  font-weight: 700;
  line-height: 0;
  margin-left: 0.16em;
  vertical-align: super;
}

.citation-marker a {
  color: var(--m2m-plum);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.citation-marker a:focus-visible {
  outline: 2px solid var(--m2m-deep-teal);
  outline-offset: 0.18em;
}

.references-section {
  background: var(--m2m-ivory);
  border-top: 1px solid var(--m2m-line);
  padding: 4rem 4.125rem;
}

.references-section__inner {
  margin: 0 auto;
  max-width: 112rem;
}

.references-section .eyebrow {
  margin-bottom: 1.5rem;
}

.references-section ol {
  display: grid;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  max-width: 85rem;
  padding: 0;
}

.references-section li {
  align-items: start;
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
}

.references-section li > span {
  color: var(--m2m-plum);
  font-weight: 700;
}

.references-section li p {
  color: var(--m2m-gray);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
}

.references-section li a {
  color: var(--m2m-plum);
  font-weight: 600;
  white-space: nowrap;
}

.references-section li a:hover,
.references-section li a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.timeline-copy {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.timeline-list {
  border-left: 1px solid var(--m2m-plum);
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 0.5rem;
  padding-left: 2rem;
}

.timeline-list article {
  position: relative;
}

.timeline-list article::before {
  background: var(--m2m-plum);
  content: "";
  height: 0.75rem;
  left: -2.40625rem;
  position: absolute;
  top: 0.25rem;
  transform: rotate(45deg);
  width: 0.75rem;
}

.diagram-card {
  min-height: 38.25rem;
}

.diagram-card .section-rule {
  margin-top: 1.25rem;
}

.structured-timeline {
  min-height: 0;
  overflow: visible;
  position: relative;
}

.structured-timeline__canvas {
  aspect-ratio: 863 / 614;
  margin: clamp(1.25rem, 2vw, 1.75rem) auto 0;
  max-width: min(100%, 43rem);
  position: relative;
  width: 100%;
}

.structured-timeline__art {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: contain;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.structured-timeline__motion {
  height: 100%;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.structured-timeline__motion-path {
  fill: none;
  stroke: #dedede;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.structured-timeline__motion-marker {
  --timeline-step-delay: 0ms;
  fill: var(--m2m-plum);
  filter: drop-shadow(0 0 0.18rem rgba(107, 62, 142, 0.18));
  transform: scale(0.68);
  transform-box: fill-box;
  transform-origin: center;
}

.structured-timeline__phase-label {
  background: var(--m2m-ivory);
  color: #696969;
  font-size: 0.72rem;
  font-weight: 700;
  height: 1.35rem;
  left: 53.6%;
  letter-spacing: 0.17em;
  line-height: 1.35rem;
  padding: 0 0.7rem;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: 72.05%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  width: 18rem;
  z-index: 4;
}

.structured-timeline__eyebrow {
  color: #696969;
  font-size: 0.78rem;
  font-weight: 700;
  left: 0;
  letter-spacing: 0.24em;
  line-height: 1;
  margin: 0;
  position: absolute;
  text-transform: uppercase;
  top: 0.15rem;
  z-index: 3;
}

.structured-timeline__mobile {
  display: none;
}

.structured-timeline__canvas,
.structured-timeline__phase-label,
.structured-timeline__eyebrow {
  transform-box: fill-box;
  transform-origin: center;
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__eyebrow,
.has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__canvas {
  opacity: 0;
  transform: translateY(0.75rem);
  transition:
    opacity 1000ms ease,
    transform 1000ms cubic-bezier(0.22, 1, 0.36, 1);
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__eyebrow,
.has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__canvas {
  opacity: 1;
  transform: translateY(0);
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__motion-path {
  stroke-dasharray: 1600;
  stroke-dashoffset: 1600;
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__motion-marker {
  opacity: 0;
  transform: scale(0.25);
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__motion-path {
  animation: structured-timeline-path-draw 3200ms cubic-bezier(0.22, 1, 0.36, 1) 500ms both;
}

.has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__motion-marker {
  animation: structured-timeline-marker-pop 720ms cubic-bezier(0.16, 1, 0.3, 1) calc(900ms + var(--timeline-step-delay)) both;
}

.structured-timeline__motion-marker--2 {
  --timeline-step-delay: 440ms;
}

.structured-timeline__motion-marker--3 {
  --timeline-step-delay: 880ms;
}

.structured-timeline__motion-marker--4 {
  --timeline-step-delay: 1320ms;
}

.structured-timeline__motion-marker--5 {
  --timeline-step-delay: 1760ms;
}

@keyframes structured-timeline-path-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes structured-timeline-marker-pop {
  0% {
    opacity: 0;
    transform: scale(0.25);
  }

  60% {
    opacity: 1;
    transform: scale(0.82);
  }

  100% {
    opacity: 1;
    transform: scale(0.68);
  }
}

@keyframes structured-timeline-mobile-line {
  from {
    transform: scaleY(0);
  }

  to {
    transform: scaleY(1);
  }
}

@keyframes structured-timeline-mobile-step {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes structured-timeline-mobile-diamond {
  0% {
    filter: drop-shadow(0 0 0 rgba(115, 65, 154, 0));
    opacity: 0;
    transform: rotate(45deg) scale(0.1);
  }

  62% {
    filter: drop-shadow(0 0 0.45rem rgba(115, 65, 154, 0.3));
    opacity: 1;
    transform: rotate(45deg) scale(1.22);
  }

  100% {
    filter: drop-shadow(0 0 0.25rem rgba(115, 65, 154, 0.18));
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
}

.quote-grid {
  display: grid;
  gap: 3.625rem 1.4375rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.5rem;
  min-width: 0;
  width: 100%;
}

.mini-quote {
  border-left: 0.1875rem solid var(--m2m-plum);
  border-radius: 1.25rem;
  max-width: 100%;
  min-height: 22rem;
  min-width: 0;
  padding: 2rem 2rem 2rem 2.1875rem;
  position: relative;
}

.quote-mark-inline {
  display: inline-block;
  height: 0.62em;
  margin-right: 0.28em;
  object-fit: contain;
  opacity: 0.5;
  vertical-align: 0.08em;
  width: 0.84em;
}

.mini-quote blockquote {
  color: var(--m2m-charcoal);
  font-size: 2.1rem;
  font-style: italic;
  font-weight: 500;
  line-height: 2.4rem;
  margin: 0 0 1rem;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: break-word;
  position: relative;
  z-index: 1;
}

.mini-quote cite {
  display: flex;
  flex-direction: column;
  font-style: normal;
}

.mini-quote strong {
  color: #333333;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.125rem;
  line-height: 1.25;
  text-transform: uppercase;
}

.mini-quote span {
  color: var(--m2m-gray);
  font-size: 1.1875rem;
  font-style: italic;
  line-height: 1.65rem;
}

.story-photo-card {
  aspect-ratio: 840 / 797;
  background: var(--m2m-plum);
  border-radius: 1.25rem;
  overflow: hidden;
  position: relative;
}

.story-photo-card > img {
  object-position: center center;
}

.story-photo-card__shape {
  background: var(--m2m-plum);
  clip-path: polygon(20% 0, 53% 0, 100% 50%, 53% 100%, 20% 100%, 0 75%, 0 25%);
  height: 116%;
  left: -13%;
  position: absolute;
  top: -8%;
  width: 70%;
  z-index: 1;
}

.story-photo-card__quote {
  color: #ffffff;
  left: 8.3%;
  position: absolute;
  top: 28%;
  width: 36%;
  z-index: 2;
}

.story-photo-card__quote-mark {
  background: #ffffff;
  height: 0.62em;
  margin-right: 0.28em;
  mask: url("/assets/quote-mark.svg") center / contain no-repeat;
  opacity: 1;
  width: 0.84em;
}

.story-photo-card blockquote {
  color: #ffffff;
  font-size: clamp(1.55rem, 2vw, 2.5rem);
  font-style: italic;
  line-height: 1.28;
  margin: 0;
  padding: 0;
  position: static;
  width: auto;
}

.story-photo-card .section-rule {
  background: #ffffff;
  margin: 0.875rem 0 0.75rem;
}

.story-photo-card cite {
  color: #ffffff;
  display: flex;
  flex-direction: column;
  font-style: normal;
}

.story-photo-card cite strong {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.875rem;
  text-transform: uppercase;
}

.story-photo-card cite span {
  font-size: 1.125rem;
  line-height: 1.5rem;
}

.search-form {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr auto;
  margin: 1.5rem 0;
  max-width: 40rem;
  width: 100%;
}

.search-form input,
.form-panel input:not([type="checkbox"]),
.form-panel select,
.form-panel textarea {
  background: #ffffff;
  border: 0;
  border-radius: 0.125rem;
  color: var(--m2m-charcoal);
  font-size: 14px;
  line-height: 1.35;
  min-height: 3.25rem;
  padding: 0 1.25rem;
  width: 100%;
}

.form-panel select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L17 1' stroke='%232A2F33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: calc(100% - 1.2rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.9rem auto;
  cursor: pointer;
  font-family: var(--font-body-stack);
  padding-right: 3rem;
}

.form-panel select:has(option[value=""]:checked) {
  color: #bbbbbb;
}

.form-panel select option {
  color: var(--m2m-charcoal);
}

.search-form button,
.form-panel button {
  background: var(--m2m-dark);
  border: 0;
  border-radius: 0.25rem;
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.075rem;
  min-height: 3.25rem;
  padding: 0 2rem;
  text-transform: uppercase;
  transition:
    background-color 220ms ease,
    box-shadow 220ms ease,
    color 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) {
  .search-form button:hover:not(:disabled),
  .form-panel button:hover:not(:disabled) {
    background: #272727;
    box-shadow: 0 0.75rem 1.5rem rgba(42, 47, 51, 0.14);
    transform: translateY(-0.125rem);
  }
}

.search-form button:active:not(:disabled),
.form-panel button:active:not(:disabled) {
  box-shadow: 0 0.25rem 0.75rem rgba(42, 47, 51, 0.1);
  transform: translateY(0);
}

.map-frame {
  background: #f0eadf;
  border: 1px solid #e5dccd;
  border-radius: 0.75rem;
  height: 27.875rem;
  max-width: 72.25rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.map-frame iframe,
.map-frame img,
.map-frame__canvas {
  border: 0;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.map-frame__canvas {
  display: block;
  inset: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  transition: opacity 160ms ease;
  visibility: hidden;
}

.map-frame__fallback {
  align-items: center;
  background: #f0eadf;
  color: var(--m2m-charcoal);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  inset: 0;
  justify-content: center;
  line-height: 1.45;
  padding: 2rem;
  position: absolute;
  text-align: center;
  z-index: 1;
}

.map-frame__fallback strong {
  color: var(--m2m-plum);
  font-size: 1.25rem;
}

.map-frame__fallback span {
  max-width: 31rem;
}

.map-frame[data-state="ready"] .map-frame__canvas {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.map-frame[data-state="ready"] .map-frame__fallback {
  display: none;
}

.map-frame[data-searching="true"] .map-frame__canvas {
  opacity: 0;
}

.map-frame[data-searching="true"]::after {
  background: #f0eadf;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.surgeon-map-card__contacts {
  display: grid;
  gap: 0.25rem;
}

.surgeon-map-card__contacts span {
  display: grid;
  gap: 0.15rem;
}

.surgeon-map-card__contacts b {
  color: var(--m2m-charcoal);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
}

.surgeon-map-card__contacts a {
  color: var(--m2m-deep-teal);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.surgeon-map-card {
  color: var(--m2m-charcoal);
  display: grid;
  gap: 0.5rem;
  max-width: 18rem;
}

.surgeon-map-card strong {
  color: var(--m2m-plum);
  font-size: 0.95rem;
  line-height: 1.25;
}

.surgeon-map-card p,
.surgeon-map-card span,
.surgeon-map-card a {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0;
}

.surgeon-map-card a {
  color: var(--m2m-deep-teal);
  font-weight: 700;
}

.surgeon-map-marker {
  align-items: center;
  background: var(--m2m-deep-teal);
  border: 0.1875rem solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 0.5rem 1rem rgba(42, 47, 51, 0.2);
  color: #ffffff;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  line-height: 1;
  width: 2rem;
}

.pac-container {
  border-radius: 0.5rem;
  box-shadow: 0 1rem 2rem rgba(42, 47, 51, 0.16);
  font-family: var(--font-body-stack);
  z-index: 10000;
}

.sand-band {
  background: var(--m2m-warm-sand);
  border-bottom: 1px solid rgba(107, 62, 142, 0.16);
  border-top: 1px solid rgba(107, 62, 142, 0.16);
  margin: 0 auto;
  max-width: var(--size-container);
  overflow: visible;
  padding: 5rem;
  position: relative;
}

.sand-band > *:not(.sand-band__pattern) {
  position: relative;
  z-index: 1;
}

.sand-band--form {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 53.7rem;
  padding: 5rem;
  text-align: center;
}

.sand-band--share {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  min-height: 56.25rem;
  padding: 4.5rem 5rem 5rem;
  text-align: center;
}

.sand-band--next {
  min-height: 31.75rem;
  padding-bottom: 4.8125rem;
  padding-top: 4.84375rem;
}

.sand-band__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: min(48rem, 100%);
}

.sand-band--form .sand-band__content {
  gap: 1rem;
  width: min(81rem, 100%);
}

.sand-band--form .sand-band__copy {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sand-band--form .sand-band__copy p:not(.eyebrow) {
  max-width: 80.75rem;
}

.sand-band--share .sand-band__copy {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0.9375rem;
  width: 100%;
}

.sand-band__copy h2,
.sand-band--share h2,
.sand-band--next h2,
.sand-band--press h2 {
  color: var(--m2m-deep-teal);
}

.sand-band__next-content {
  margin: 0 auto;
  max-width: 110rem;
  position: relative;
  z-index: 1;
}

.sand-band--next .section-copy {
  gap: 0.95rem;
  margin-bottom: 2.875rem;
}

.sand-band--share .sand-band__copy h2 {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  max-width: 42rem;
}

.sand-band--share .sand-band__copy p:not(.eyebrow) {
  margin-left: auto;
  margin-right: auto;
  max-width: 50rem;
}

.sand-band--share .form-panel--compact .form-panel__title {
  text-align: center;
}

.form-panel {
  background: rgba(42, 47, 51, 0.08);
  border-radius: 0.5rem;
  display: grid;
  gap: 1rem;
  padding: 2rem;
}

.form-panel--compact {
  background: transparent;
  margin: 0 auto;
  max-width: 35rem;
  padding: 0;
  text-align: left;
  width: 100%;
}

.form-panel--compact .form-panel__title {
  margin-bottom: -0.25rem;
}

.form-panel--compact input,
.form-panel--compact select,
.form-panel--compact textarea,
.form-panel--compact button {
  border-radius: 0.625rem;
}

.form-panel--compact input,
.form-panel--compact select,
.form-panel--compact textarea {
  font-size: 14px;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

.form-panel--compact textarea {
  min-height: 7.5rem;
  padding-top: 1rem;
}

.form-panel--compact input::placeholder,
.form-panel--compact textarea::placeholder {
  color: #bbbbbb;
  opacity: 1;
  text-transform: uppercase;
}

.form-panel--compact button {
  background: #ffffff;
  color: var(--m2m-charcoal);
}

@media (hover: hover) and (pointer: fine) {
  .form-panel--compact button:hover:not(:disabled) {
    background: #f8fbfc;
    color: var(--m2m-deep-teal);
  }
}

.form-panel--enroll input {
  background-color: #f7f7f7;
  border: 1px solid #dddddd;
}

.form-panel p {
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

.form-panel__title,
.form-panel legend {
  color: var(--m2m-charcoal);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.125rem;
  text-transform: uppercase;
}

.form-panel fieldset {
  border: 0;
  display: grid;
  gap: 0.625rem 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
}

.form-panel label {
  color: var(--m2m-gray);
  font-size: 0.875rem;
}

.form-panel fieldset label {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  line-height: 1rem;
}

.form-panel input[type="checkbox"] {
  appearance: none;
  background: #eef4fa;
  border: 1px solid #b9c3cc;
  border-radius: 0.125rem;
  flex: 0 0 auto;
  height: 2.5rem;
  margin: 0;
  min-height: 0;
  padding: 0;
  position: relative;
  width: 2.5rem;
}

.form-panel input[type="checkbox"]:checked::after {
  border-bottom: 0.1875rem solid var(--m2m-plum);
  border-right: 0.1875rem solid var(--m2m-plum);
  content: "";
  height: 1rem;
  left: 0.875rem;
  position: absolute;
  top: 0.5rem;
  transform: rotate(45deg);
  width: 0.5rem;
}

.form-panel__check {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  line-height: 1.125rem;
  margin-top: 0.25rem;
}

.form-panel__check--compact {
  color: var(--m2m-charcoal);
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1.25rem;
  text-transform: none;
}

.form-panel__row {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.surgeon-typeahead {
  display: grid;
  position: relative;
}

.surgeon-typeahead__results {
  background: #ffffff;
  border: 1px solid #d7d0c5;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: 0 0.75rem 1.75rem rgba(42, 47, 51, 0.14);
  left: 0;
  max-height: 19rem;
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: calc(100% - 0.0625rem);
  z-index: 30;
}

.surgeon-typeahead__results button {
  align-items: flex-start;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #eee8df;
  border-radius: 0;
  color: var(--m2m-charcoal);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  letter-spacing: 0;
  min-height: 0;
  padding: 0.85rem 1rem;
  text-align: left;
  text-transform: none;
  width: 100%;
}

.surgeon-typeahead__results button:last-child {
  border-bottom: 0;
}

.surgeon-typeahead__results button:hover,
.surgeon-typeahead__results button.is-active {
  background: #f2ece4;
  box-shadow: none;
  color: var(--m2m-plum);
  transform: none;
}

.surgeon-typeahead__results button strong {
  font-size: 0.95rem;
}

.surgeon-typeahead__results button span,
.surgeon-typeahead__empty,
.surgeon-typeahead__helper {
  color: var(--m2m-gray);
  font-size: 0.8rem;
  letter-spacing: 0;
  line-height: 1.35;
  margin: 0;
  text-transform: none;
}

.surgeon-typeahead__empty {
  padding: 1rem;
}

.surgeon-typeahead__helper {
  margin-top: 0.45rem;
}

.recovery-log-section {
  background: var(--m2m-plum);
  color: var(--m2m-ivory);
  margin: 0 auto;
  max-width: var(--size-container);
  min-height: 69rem;
  padding: 5.75rem 2rem 7rem;
}

.recovery-log-section__intro {
  margin: 0 auto 2.5rem;
  max-width: 51rem;
  text-align: center;
}

.recovery-log-section__intro .eyebrow {
  margin-bottom: 1.35rem;
}

.recovery-log-section__intro h1 {
  color: var(--m2m-ivory);
  font-family: var(--font-display-stack);
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 1.06;
  margin: 0 0 1.1rem;
}

.recovery-log-section__intro > p:last-child {
  font-size: 1.15rem;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 48rem;
}

.recovery-log-form {
  background: var(--m2m-ivory);
  border-radius: 0.5rem;
  color: var(--m2m-charcoal);
  display: grid;
  gap: 1.3rem;
  margin: 0 auto;
  max-width: 37.5rem;
  padding: 2.75rem 3rem;
}

.recovery-log-form label {
  display: grid;
  font-size: 0.82rem;
  font-weight: 700;
  gap: 0.5rem;
  letter-spacing: 0.075rem;
  text-align: left;
  text-transform: uppercase;
}

.recovery-log-form input:not([type="checkbox"]),
.recovery-log-form select {
  appearance: none;
  background: #ffffff;
  border: 1px solid #e4dccf;
  border-radius: 0.25rem;
  color: var(--m2m-charcoal);
  min-height: 3.25rem;
  padding: 0 1rem;
  width: 100%;
}

.recovery-log-form select {
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L17 1' stroke='%232A2F33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: calc(100% - 1rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.8rem auto;
  padding-right: 2.75rem;
}

.recovery-log-form__row {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recovery-log-form__pill-count {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.recovery-log-form__pill-count > span {
  background: #f1e8dc;
  border: 1px solid #e4dccf;
  border-left: 0;
  border-radius: 0 0.25rem 0.25rem 0;
  display: grid;
  min-height: 3.25rem;
  padding: 0 1rem;
  place-items: center;
  text-transform: lowercase;
}

.recovery-log-form__pill-count input {
  border-radius: 0.25rem 0 0 0.25rem !important;
}

.recovery-log-form__consent {
  align-items: start;
  display: grid !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  gap: 0.75rem !important;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  letter-spacing: 0 !important;
  line-height: 1.45;
  text-transform: none !important;
}

.recovery-log-form__consent input {
  accent-color: var(--m2m-plum);
  height: 1.25rem;
  margin: 0.1rem 0 0;
  width: 1.25rem;
}

.recovery-log-form > button {
  background: var(--m2m-warm-sand);
  border: 0;
  border-radius: 0.25rem;
  color: var(--m2m-charcoal);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  min-height: 3.5rem;
  text-transform: uppercase;
}

.recovery-log-form__story-link {
  color: var(--m2m-plum);
  font-size: 0.88rem;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

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

.leaderboard-section {
  background: var(--m2m-ivory);
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 4.5rem 0 5rem;
  position: relative;
  z-index: 1;
}

.leaderboard-section__header {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 1fr) 31.25rem;
  padding: 0 5rem 5rem;
}

.impact-total {
  background: #ffffff;
  border-radius: 0.5rem;
  box-shadow: 0 1rem 3rem rgba(42, 47, 51, 0.08);
  color: var(--m2m-plum);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: center;
  min-height: 13.75rem;
  padding: 2rem 2.5rem;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.impact-total strong {
  display: block;
  font-family: var(--font-display-stack);
  font-size: 8.25rem;
  font-weight: 700;
  line-height: 0.85;
}

.impact-total span {
  color: var(--m2m-charcoal);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.075rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.hero-impact-total {
  border-radius: 0.75rem;
  bottom: 27%;
  box-shadow: 0 0.875rem 2rem rgba(20, 18, 24, 0.14);
  gap: 0.35rem;
  left: 18.5%;
  min-height: 7.75rem;
  padding: 1.1rem 1.45rem;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  width: 17rem;
  z-index: 3;
}

.hero-impact-total strong {
  font-size: 4.5rem;
  line-height: 0.85;
}

.hero-impact-total span {
  font-size: 0.58rem;
  letter-spacing: 0.055rem;
  line-height: 1.15;
  white-space: nowrap;
}

.leaderboard-table {
  width: 100%;
}

.leaderboard-row {
  align-items: center;
  border-top: 1px solid #e8e3d8;
  color: var(--m2m-charcoal);
  display: grid;
  font-size: 1.25rem;
  grid-template-columns: 5rem minmax(15rem, 1fr) 11.25rem 8.75rem 8.75rem;
  min-height: 5.4375rem;
  padding: 0 5rem;
}

.leaderboard-row--head {
  border-top-color: var(--m2m-plum);
  color: var(--m2m-dark);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.075rem;
  min-height: 3rem;
  text-transform: uppercase;
}

.leaderboard-row strong,
.leaderboard-row span:first-child,
.leaderboard-row span:last-child {
  color: var(--m2m-plum);
  font-weight: 700;
  text-transform: uppercase;
}

.featured-article {
  background: var(--m2m-ivory);
  border-bottom: 1px solid var(--m2m-plum);
  display: grid;
  gap: 5rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: var(--size-container);
  padding: 5rem;
}

.featured-article article {
  border-left: 1px solid var(--m2m-line);
  padding: 2rem 0 2rem 4rem;
}

.featured-article .button {
  font-size: 0.875rem;
  min-height: 2.75rem;
  line-height: 2.75rem;
  padding: 0 1.25rem;
}

.featured-article__footer {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.featured-article__footer span {
  color: var(--m2m-gray);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}

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

.press-card {
  background: var(--m2m-ivory);
  border-left: 0.1875rem solid #e8e3d8;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 22rem;
}

.press-card h2 {
  color: var(--m2m-charcoal);
  font-family: var(--font-display-stack);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2.275rem;
  margin: 0;
}

.press-card .eyebrow {
  color: var(--m2m-plum);
}

.press-card > div {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: auto;
}

.press-card span {
  color: var(--m2m-gray);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}

.press-card .button {
  font-size: 0.875rem;
  min-height: 2.75rem;
  line-height: 2.75rem;
  padding: 0 1.25rem;
}

.pagination-controls {
  align-items: center;
  display: flex;
  gap: 1rem;
  grid-column: 1 / -1;
  justify-content: center;
  padding: 2rem 5rem 0;
}

.pagination-controls button {
  background: #ffffff;
  border: 1px solid var(--m2m-plum);
  border-radius: 0.5rem;
  color: var(--m2m-plum);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  min-height: 2.75rem;
  padding: 0 1.25rem;
  text-transform: uppercase;
}

.pagination-controls button:disabled {
  cursor: default;
  opacity: 0.4;
}

.pagination-controls span {
  color: var(--m2m-charcoal);
  flex: 0 0 auto;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.sand-band--press {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.7fr);
}

.sand-band--press address {
  color: #1a273d;
  font-size: 1.625rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
  text-align: right;
}

.steps-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.steps-list article {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 2rem 1fr;
}

.steps-list article > strong {
  align-items: center;
  background: var(--m2m-plum);
  color: #ffffff;
  display: flex;
  font-size: 1rem;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.steps-list__button {
  color: var(--m2m-plum);
  margin-top: 1.5rem;
}

.form-panel__message {
  color: var(--m2m-charcoal);
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin: -0.25rem 0 0;
  min-height: 1.25rem;
}

.form-panel__message[data-state="success"] {
  color: var(--m2m-deep-teal);
}

.form-panel__message[data-state="error"] {
  color: #9f2d2d;
}

.form-panel button:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.admin-shell {
  background: #f3f6f7;
  margin: 0 auto;
  max-width: var(--size-container);
  min-height: calc(100vh - 6.875rem);
  padding: 2.5rem;
}

.admin-shell__intro {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  max-width: 60rem;
}

.admin-shell__intro h1,
.admin-auth h2,
.admin-pending h2,
.admin-toolbar h2 {
  color: var(--m2m-plum);
  font-family: var(--font-display-stack);
  font-size: 2.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.12;
  margin: 0;
}

.admin-shell__intro p:not(.eyebrow),
.admin-auth p:not(.eyebrow),
.admin-pending p,
.admin-toolbar p {
  color: var(--m2m-charcoal);
  font-size: 1.125rem;
  line-height: 1.55;
  margin: 0;
}

.admin-auth,
.admin-pending {
  background: #ffffff;
  border: 1px solid #dfe6e8;
  border-radius: 0.5rem;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 0.75fr);
  padding: 2rem;
}

.admin-pending {
  display: block;
  max-width: 68rem;
}

.admin-pending > * + * {
  margin-top: 1rem;
}

.admin-pending code {
  background: #eef4f6;
  border-radius: 0.25rem;
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.125rem 0.375rem;
}

.admin-auth__form {
  display: grid;
  gap: 1rem;
}

.admin-auth__form label,
.admin-field {
  color: var(--m2m-charcoal);
  display: grid;
  font-size: 0.875rem;
  font-weight: 600;
  gap: 0.375rem;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
}

.admin-auth__form input,
.admin-field input,
.admin-field textarea,
.admin-field select {
  background: #f8fbfc;
  border: 1px solid #d7e0e4;
  border-radius: 0.375rem;
  color: var(--m2m-charcoal);
  min-height: 3rem;
  padding: 0 0.875rem;
  text-transform: none;
  width: 100%;
}

.admin-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L9 9L17 1' stroke='%232A2F33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: calc(100% - 1rem) 50%;
  background-repeat: no-repeat;
  background-size: 0.85rem auto;
  cursor: pointer;
  padding-right: 2.75rem;
}

.admin-field textarea {
  line-height: 1.45;
  padding-bottom: 0.875rem;
  padding-top: 0.875rem;
  resize: vertical;
}

.admin-auth__actions,
.admin-toolbar__actions,
.admin-editor__actions,
.admin-quick-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.admin-auth__link {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--m2m-plum);
  cursor: pointer;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  justify-self: start;
  letter-spacing: 0.05em;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  text-transform: uppercase;
}

.admin-auth__link:hover,
.admin-auth__link:focus-visible {
  color: var(--m2m-deep-teal);
}

.admin-dashboard {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 18rem minmax(0, 1fr);
}

.admin-sidebar,
.admin-toolbar,
.admin-panel,
.admin-stats article {
  background: #ffffff;
  border: 1px solid #dfe6e8;
  border-radius: 0.5rem;
}

.admin-sidebar {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  position: sticky;
  top: 8rem;
}

.admin-sidebar__account {
  border-bottom: 1px solid #edf1f2;
  display: grid;
  gap: 0.25rem;
  padding-bottom: 1rem;
}

.admin-sidebar__account span,
.admin-sidebar__account small {
  color: var(--m2m-gray);
  font-size: 0.8125rem;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
}

.admin-sidebar__account strong {
  color: var(--m2m-charcoal);
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.admin-tabs {
  display: grid;
  gap: 0.375rem;
}

.admin-tabs button,
.admin-sign-out {
  background: transparent;
  border: 0;
  border-radius: 0.375rem;
  color: var(--m2m-charcoal);
  cursor: pointer;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  min-height: 2.5rem;
  padding: 0.625rem 0.75rem;
  text-align: left;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.admin-tabs button.is-active,
.admin-tabs button:hover {
  background: #edf6f6;
  color: var(--m2m-deep-teal);
}

@media (hover: hover) and (pointer: fine) {
  .admin-tabs button:hover,
  .admin-sign-out:hover {
    transform: translateX(0.125rem);
  }
}

.admin-sign-out {
  border-top: 1px solid #edf1f2;
  color: var(--m2m-gray);
  margin-top: 0.25rem;
}

.admin-workspace {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.admin-toolbar {
  align-items: end;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  padding: 1.25rem;
}

.admin-toolbar > div:first-child {
  max-width: 50rem;
}

.admin-toolbar h2 {
  font-size: 2.25rem;
  margin: 0.25rem 0;
}

.admin-search {
  color: var(--m2m-charcoal);
  display: grid;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 0.25rem;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}

.admin-search input {
  background: #f8fbfc;
  border: 1px solid #d7e0e4;
  border-radius: 0.375rem;
  min-height: 3.25rem;
  min-width: 16rem;
  padding: 0 0.875rem;
}

.admin-stats {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-stats article {
  display: grid;
  gap: 0.375rem;
  min-height: 6.5rem;
  padding: 1rem;
}

.admin-stats span {
  color: var(--m2m-gray);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
}

.admin-stats strong {
  color: var(--m2m-plum);
  font-family: var(--font-display-stack);
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.admin-content-grid {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 0.85fr);
}

.admin-panel {
  min-width: 0;
}

.admin-panel--rows {
  overflow: hidden;
}

.admin-row-list {
  max-height: 46rem;
  overflow: auto;
}

.admin-row {
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #edf1f2;
  color: var(--m2m-charcoal);
  cursor: pointer;
  display: grid;
  gap: 0.35rem;
  padding: 1rem 1.125rem;
  text-align: left;
  width: 100%;
}

.admin-row:hover,
.admin-row.is-selected {
  background: #f3fbfb;
}

.admin-row.is-selected {
  box-shadow: inset 0.25rem 0 0 var(--m2m-deep-teal);
}

.admin-row__title {
  color: var(--m2m-charcoal);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25;
}

.admin-row__subtitle,
.admin-row__meta {
  color: var(--m2m-gray);
  font-size: 0.9375rem;
  line-height: 1.35;
}

.admin-row__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-pill {
  background: #edf6f6;
  border: 1px solid #cbe5e5;
  border-radius: 999px;
  color: var(--m2m-deep-teal);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 1.5rem;
  padding: 0 0.625rem;
  text-transform: uppercase;
}

.admin-empty,
.admin-editor-empty {
  color: var(--m2m-gray);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  padding: 1.25rem;
}

.admin-empty--error {
  color: #9f2d2d;
}

.admin-panel--editor {
  padding: 1.25rem;
}

.admin-editor-form {
  display: grid;
  gap: 1.25rem;
}

.admin-editor-form__header {
  align-items: start;
  border-bottom: 1px solid #edf1f2;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 1rem;
}

.admin-editor-form__header h3,
.admin-editor-empty h3 {
  color: var(--m2m-charcoal);
  font-size: 1.35rem;
  line-height: 1.25;
  margin: 0.25rem 0 0;
}

.admin-editor-form__header time {
  color: var(--m2m-gray);
  font-size: 0.8125rem;
  white-space: nowrap;
}

.admin-field-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-field--wide,
.admin-check {
  grid-column: 1 / -1;
}

.admin-check {
  align-items: center;
  color: var(--m2m-charcoal);
  display: flex;
  font-size: 0.95rem;
  gap: 0.625rem;
}

.admin-check input {
  height: 1.125rem;
  width: 1.125rem;
}

.admin-message {
  color: var(--m2m-gray);
  font-size: 0.95rem;
  line-height: 1.35;
  margin: 0;
  min-height: 1.25rem;
}

.admin-message[data-state="success"] {
  color: var(--m2m-deep-teal);
}

.admin-message[data-state="error"] {
  color: #9f2d2d;
}

.admin-message[data-state="loading"] {
  color: var(--m2m-plum);
}

.admin-quick-actions {
  border-top: 1px solid #edf1f2;
  padding-top: 1rem;
}

.admin-review-warning {
  background: #fff7e8;
  border: 1px solid #e4c58d;
  border-radius: 0.5rem;
  color: var(--m2m-charcoal);
  display: grid;
  flex-basis: 100%;
  gap: 0.25rem;
  line-height: 1.4;
  padding: 0.875rem 1rem;
}

.admin-review-warning strong {
  color: #7f5210;
  font-size: 0.875rem;
  letter-spacing: 0.04rem;
  text-transform: uppercase;
}

.admin-review-warning span {
  font-size: 0.95rem;
}

@media (max-width: 1260px) {
  .site-header__nav {
    gap: 1.5rem;
  }

  .site-header__nav a:not(.button) {
    font-size: 1rem;
  }

  .site-header__nav .button {
    font-size: 0.75rem;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }
}

@media (max-width: 1024px) {
  .site-header__inner {
    padding: 0 1.5rem;
  }

  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    align-items: stretch;
    background: var(--m2m-ivory);
    border-bottom: 1px solid #e0e0e0;
    display: none;
    flex-direction: column;
    gap: 0;
    left: 0;
    padding: 1.5rem;
    position: absolute;
    right: 0;
    top: 100%;
  }

  .site-header__nav--open {
    display: flex;
  }

  .site-header__nav a:not(.button) {
    border-bottom: 1px solid #e0e0e0;
    padding: 0.875rem 0;
  }

  .site-header__nav .button {
    align-self: flex-start;
    margin-top: 1rem;
  }

  .site-header__nav .button + .button {
    margin-top: 0.65rem;
  }

  .hero-section,
  .mission-section__content,
  .split-path,
  .testimonial-grid,
  .site-footer,
  .page-hero,
  .two-column,
  .card-grid--2,
  .card-grid--3,
  .card-grid--4,
  .quote-grid,
  .sand-band--form,
  .expect-grid,
  .featured-article,
  .press-grid,
  .sand-band--press {
    grid-template-columns: 1fr;
  }

  .hero-section {
    height: auto;
  }

  .hero-section__left,
  .hero-section__right,
  .mission-section,
  .testimonials-section,
  .cta-section__content,
  .site-footer,
  .page-hero,
  .content-section,
  .sand-band,
  .featured-article,
  .references-section,
  .leaderboard-section__header,
  .leaderboard-row {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .page-hero {
    row-gap: 2rem;
    min-height: auto;
  }

  .page-hero--story,
  .page-hero--surgeons,
  .page-hero--patients,
  .page-hero--stories,
  .page-hero--impact,
  .page-hero--press {
    display: grid;
    min-height: auto;
    padding-top: 5rem;
  }

  .page-hero--surgeons,
  .page-hero--patients,
  .page-hero--stories,
  .page-hero--impact,
  .page-hero--join {
    padding-bottom: 0;
  }

  .hero-section {
    --hero-pattern-left: 58%;
    --hero-pattern-top: 50%;
    --hero-pattern-width: 84rem;
  }

  .page-hero--story .page-hero__pattern,
  .page-hero--surgeons .page-hero__pattern,
  .page-hero--patients .page-hero__pattern,
  .page-hero--stories .page-hero__pattern,
  .page-hero--impact .page-hero__pattern,
  .page-hero--press .page-hero__pattern {
    height: 100%;
    left: 0;
    object-fit: cover;
    top: 0;
    transform: none;
    width: 100%;
  }

  .page-hero--story .page-hero__copy,
  .page-hero--surgeons .page-hero__copy,
  .page-hero--patients .page-hero__copy,
  .page-hero--stories .page-hero__copy,
  .page-hero--impact .page-hero__copy,
  .page-hero--press .page-hero__copy {
    left: auto;
    max-width: 64rem;
    position: relative;
    top: auto;
  }

  .page-hero__image {
    height: auto;
    justify-self: stretch;
    width: 100%;
  }

  .page-hero__image img {
    aspect-ratio: 848 / 565;
  }

  .page-hero--surgeons .page-hero__image,
  .page-hero--patients .page-hero__image,
  .page-hero--stories .page-hero__image,
  .page-hero--impact .page-hero__image {
    height: auto;
    left: auto;
    position: relative;
    top: auto;
    width: 100%;
  }

  .page-hero--patients .page-hero__image img {
    aspect-ratio: 719 / 786;
  }

  .page-hero--stories .page-hero__image img {
    aspect-ratio: 1024 / 732;
    object-fit: contain;
  }

  .page-hero--impact .page-hero__image img {
    aspect-ratio: 978 / 684;
    object-fit: contain;
    object-position: center bottom;
  }

  .page-hero--join .page-hero__image {
    height: auto;
    left: auto;
    position: relative;
    top: auto;
    width: 100%;
  }

  .page-hero--join .page-hero__image img {
    aspect-ratio: auto;
    height: auto;
    left: -13.22%;
    position: relative;
    top: auto;
    width: 146.7%;
  }

  .sand-band--share {
    min-height: auto;
  }

  .featured-article article {
    border-left: 0;
    padding-left: 0;
  }

  .leaderboard-section__header {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .impact-total {
    justify-self: stretch;
    margin-top: 0;
    max-width: 100%;
    min-height: 12.5rem;
    width: min(100%, 30rem);
  }

  .leaderboard-table {
    overflow-x: auto;
  }

  .leaderboard-row {
    grid-template-columns: 3rem minmax(14rem, 1fr) 8rem 5rem 8rem;
    min-width: 46rem;
  }

  .sand-band--press address {
    text-align: left;
  }

  .hero-section__right {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0;
  }

  .video-card {
    aspect-ratio: 867 / 488;
    height: auto;
    width: 100%;
  }

  .hero-image-card {
    aspect-ratio: 3 / 2;
    height: auto;
    max-width: 58rem;
    width: 100%;
  }

  .hero-image-card img {
    transform: scale(1.04);
  }

  .hero-impact-total {
    bottom: 16%;
    left: 2rem;
    min-height: 6.875rem;
    padding: 0.95rem 1.15rem;
    transform: none;
    width: min(15.75rem, 39vw);
  }

  .hero-impact-total strong {
    font-size: clamp(3.2rem, 7vw, 4rem);
  }

  .hero-impact-total span {
    font-size: 0.5rem;
  }

  .mission-section__image {
    height: auto;
  }

  .mission-section__image img {
    aspect-ratio: 840 / 480;
  }

  .testimonial-card {
    min-height: unset;
  }

  .story-photo-card {
    min-height: 0;
  }

  .structured-timeline {
    margin-left: auto;
    margin-right: auto;
    max-width: 54rem;
  }

  .join-section {
    gap: 4rem;
  }

  .join-section .steps-list,
  .join-section .form-panel {
    justify-self: stretch;
    max-width: none;
  }

  .admin-shell {
    padding: 1.5rem;
  }

  .admin-auth,
  .admin-dashboard,
  .admin-content-grid {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: static;
  }

  .admin-tabs {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }

  .admin-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .admin-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-toolbar__actions {
    align-items: stretch;
  }

  .admin-search {
    flex: 1 1 14rem;
  }

  .admin-search input {
    min-width: 0;
  }

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

  .admin-row-list {
    max-height: none;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .page-hero--join .page-hero__image {
    aspect-ratio: 752 / 560;
    max-height: 34rem;
  }

  .page-hero--join .page-hero__image img {
    height: 100%;
    position: absolute;
  }
}

@media (max-width: 640px) {
  [id] {
    scroll-margin-top: 5.75rem;
  }

  .site-header .logo-lockup {
    min-width: 0;
  }

  .site-header .logo-lockup__mark {
    height: 2.625rem;
    width: 6.75rem;
  }

  .site-header .logo-lockup__text {
    display: none;
  }

  .site-header {
    height: 5rem;
  }

  .recovery-log-section {
    min-height: 0;
    padding: 3.75rem 1.25rem 4.5rem;
  }

  .recovery-log-section__intro {
    margin-bottom: 2rem;
  }

  .recovery-log-section__intro h1 {
    font-size: 2.75rem;
  }

  .recovery-log-section__intro > p:last-child {
    font-size: 1rem;
  }

  .recovery-log-form {
    gap: 1.15rem;
    padding: 1.5rem;
  }

  .recovery-log-form__row,
  .form-panel__row {
    grid-template-columns: 1fr;
  }

  .hero-section {
    --hero-pattern-left: 54%;
    --hero-pattern-top: 49%;
    --hero-pattern-width: 62rem;
  }

  .mission-section {
    padding-top: 3rem;
  }

  .hero-section__left,
  .hero-section__right,
  .mission-section,
  .testimonials-section,
  .cta-section__content,
  .site-footer,
  .page-hero,
  .content-section,
  .sand-band,
  .featured-article,
  .references-section,
  .leaderboard-section__header,
  .leaderboard-row {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .hero-section__right {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .hero-image-card img {
    transform: translateY(-1.625rem) scale(1.1);
  }

  .hero-image-card {
    width: calc(100% - 3.25rem);
  }

  .hero-section__actions,
  .cta-section__actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .button {
    width: 100%;
  }

  .hero-section h1 {
    font-size: 2.08rem;
    line-height: 2.5rem;
  }

  .mission-section h2,
  .testimonials-section h2,
  .cta-section h2,
  .section-copy h2,
  .timeline-copy h2,
  .steps-list h2,
  .content-section--center h2,
  .featured-article h2,
  .sand-band h2,
  .leaderboard-section h2,
  .diagram-card h2 {
    font-size: 2.16rem;
    line-height: 2.58rem;
  }

  .split-path h2,
  .section-copy--wide h2,
  .leaderboard-section h2 {
    font-size: 1.95rem;
    line-height: 2.4rem;
  }

  .cta-section h2,
  .sand-band--share .sand-band__copy h2 {
    font-size: 2.05rem;
    line-height: 2.48rem;
    max-width: 24rem;
  }

  .page-hero h1 {
    font-size: 2.24rem;
    line-height: 2.64rem;
  }

  .page-hero--surgeons h1 {
    font-size: 2.12rem;
    line-height: 2.52rem;
  }

  .testimonial-card blockquote {
    font-size: 1.8rem;
    line-height: 2.15rem;
  }

  .info-card--metric strong {
    font-size: clamp(4rem, 17vw, 4.9rem);
    white-space: nowrap;
  }

  .split-path__panel {
    padding: 2rem;
  }

  .page-hero,
  .content-section,
  .sand-band,
  .featured-article {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }

  .page-hero {
    justify-items: center;
    row-gap: 2.5rem;
    text-align: center;
  }

  .page-hero--surgeons,
  .page-hero--patients,
  .page-hero--stories,
  .page-hero--impact,
  .page-hero--join {
    padding-bottom: 0;
  }

  .page-hero__copy {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-self: center;
    width: 100%;
  }

  .page-hero h1,
  .page-hero__copy > p:not(.eyebrow) {
    margin-left: auto;
    margin-right: auto;
  }

  .page-hero__button {
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.85rem;
    max-width: 32rem;
  }

  .page-hero__image {
    justify-self: center;
  }

  .page-hero__copy > p:not(.eyebrow),
  .section-copy p:not(.eyebrow),
  .timeline-list p,
  .steps-list p,
  .featured-article p,
  .press-card p,
  .diagram-card li,
  .content-section--center > p:not(.eyebrow),
  .sand-band__copy p {
    font-size: 1.05rem;
    line-height: 1.55rem;
  }

  .quote-grid {
    gap: 2.25rem;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 1.5rem;
  }

  .pagination-controls {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    padding: 1.75rem 0 0;
    width: 100%;
  }

  .pagination-controls button {
    min-width: 0;
    padding: 0 0.85rem;
  }

  .pagination-controls span {
    min-width: 6.75rem;
  }

  .mini-quote {
    border-radius: 1rem;
    min-height: 0;
    padding: 1.75rem 1.25rem 1.75rem 1.5rem;
  }

  .mini-quote blockquote {
    font-size: 1.34rem;
    line-height: 1.78rem;
    margin: 0 0 1.125rem;
  }

  .mini-quote strong {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }

  .mini-quote span {
    font-size: 0.95rem;
    line-height: 1.3rem;
  }

  .search-form {
    grid-template-columns: 1fr;
  }

  .map-frame {
    height: 26rem;
  }

  .story-photo-card__shape {
    bottom: auto;
    clip-path: polygon(18% 0, 52% 0, 100% 50%, 52% 100%, 18% 100%, 0 74%, 0 26%);
    height: 114%;
    left: -21%;
    top: -7%;
    width: 86%;
  }

  .story-photo-card {
    aspect-ratio: 840 / 797;
    background: var(--m2m-plum);
    min-height: 0;
  }

  .story-photo-card > img {
    height: 100%;
    object-position: 62% center;
  }

  .story-photo-card__quote {
    left: 8.75%;
    top: 27%;
    width: 41%;
  }

  .story-photo-card blockquote {
    font-size: clamp(0.78rem, 2.95vw, 1rem);
    line-height: 1.32;
  }

  .story-photo-card__quote-mark {
    height: 0.62em;
    margin-right: 0.28em;
    width: 0.84em;
  }

  .story-photo-card .section-rule {
    margin: 0.5rem 0 0.45rem;
    width: 3rem;
  }

  .story-photo-card cite strong {
    font-size: clamp(0.62rem, 2.25vw, 0.8rem);
    line-height: 1.18;
  }

  .story-photo-card cite span {
    font-size: clamp(0.55rem, 2vw, 0.7rem);
    line-height: 1.2;
  }

  .diagram-card {
    min-height: 0;
  }

  .structured-timeline {
    margin-left: 0;
    margin-right: 0;
    min-height: 0;
    overflow: visible;
    padding: 2rem 1.5rem;
  }

  .structured-timeline__eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    position: static;
  }

  .structured-timeline__canvas {
    display: none;
  }

  .structured-timeline__mobile {
    display: grid;
    gap: 1.5rem;
    list-style: none;
    margin: 1.5rem 0 0 0.75rem;
    padding: 0 0 0 1.5rem;
    position: relative;
  }

  .structured-timeline__mobile::before {
    background: rgba(107, 62, 142, 0.45);
    bottom: 0.2rem;
    content: "";
    left: 0;
    position: absolute;
    top: 0.3rem;
    transform-origin: top center;
    width: 1px;
  }

  .structured-timeline__mobile li {
    position: relative;
    --mobile-step-delay: 0ms;
  }

  .structured-timeline__mobile li:nth-child(2) {
    --mobile-step-delay: 360ms;
  }

  .structured-timeline__mobile li:nth-child(3) {
    --mobile-step-delay: 720ms;
  }

  .structured-timeline__mobile li:nth-child(4) {
    --mobile-step-delay: 1080ms;
  }

  .structured-timeline__mobile li:nth-child(5) {
    --mobile-step-delay: 1440ms;
  }

  .structured-timeline__mobile li::before {
    background: var(--m2m-plum);
    content: "";
    height: 0.75rem;
    left: -1.925rem;
    position: absolute;
    top: 0.25rem;
    transform: rotate(45deg);
    width: 0.75rem;
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__mobile::before {
    transform: scaleY(0);
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__mobile li {
    opacity: 0;
    transform: translateY(1rem);
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll .structured-timeline__mobile li::before {
    opacity: 0;
    transform: rotate(45deg) scale(0.1);
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__mobile::before {
    animation: structured-timeline-mobile-line 3600ms cubic-bezier(0.22, 1, 0.36, 1) 180ms both;
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__mobile li {
    animation: structured-timeline-mobile-step 900ms cubic-bezier(0.22, 1, 0.36, 1) calc(380ms + var(--mobile-step-delay)) both;
  }

  .has-scroll-reveals .structured-timeline.reveal-on-scroll.is-visible .structured-timeline__mobile li::before {
    animation: structured-timeline-mobile-diamond 980ms cubic-bezier(0.16, 1, 0.3, 1) calc(260ms + var(--mobile-step-delay)) both;
  }

  .structured-timeline__mobile span {
    color: var(--m2m-plum);
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.075rem;
    line-height: 1;
    text-transform: uppercase;
  }

  .structured-timeline__mobile strong {
    color: var(--m2m-charcoal);
    display: block;
    font-size: 0.875rem;
    letter-spacing: 0.13rem;
    line-height: 1.3;
    margin-top: 0.35rem;
    text-transform: uppercase;
  }

  .structured-timeline__mobile h3 {
    margin-top: 0.35rem;
  }

  .structured-timeline__mobile p {
    color: var(--m2m-gray);
    font-size: 0.95rem;
    line-height: 1.4;
    margin: 0;
  }

  .form-panel {
    padding: 1.5rem;
  }

  .form-panel fieldset {
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .form-panel fieldset label {
    font-size: 0.8rem;
  }

  .form-panel__check {
    gap: 0.75rem;
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .form-panel input[type="checkbox"] {
    height: 2.25rem;
    width: 2.25rem;
  }

  .join-section .form-panel button {
    font-size: 0.875rem;
    letter-spacing: 0.05rem;
    padding: 0 1rem;
    white-space: nowrap;
  }

  .join-section .form-panel--compact {
    text-align: left;
  }

  .press-card > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .press-card h2 {
    font-size: 1.45rem;
    line-height: 1.9rem;
  }

  .impact-total strong {
    font-size: 4.5rem;
  }

  .hero-impact-total strong {
    font-size: 2.55rem;
  }

  .hero-impact-total span {
    font-size: 0.31rem;
    letter-spacing: 0.018rem;
  }

  .leaderboard-section {
    padding-top: 4rem;
  }

  .leaderboard-section__header {
    gap: 2rem;
  }

  .impact-total {
    min-height: 11.25rem;
    padding: 2rem;
    width: 100%;
  }

  .hero-impact-total {
    bottom: 8%;
    left: 1.25rem;
    min-height: 4.375rem;
    padding: 0.55rem 0.45rem;
    width: 9.625rem;
  }

  .leaderboard-table {
    border-top: 1px solid var(--m2m-plum);
    overflow-x: visible;
  }

  .leaderboard-row--head {
    display: none;
  }

  .leaderboard-row:not(.leaderboard-row--head) {
    align-items: start;
    gap: 0.35rem 1rem;
    grid-template-columns: 2rem minmax(0, 1fr);
    min-height: 0;
    min-width: 0;
    padding-bottom: 1.25rem;
    padding-top: 1.25rem;
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:first-child {
    align-self: start;
    grid-row: 1 / span 4;
    padding-top: 0.075rem;
  }

  .leaderboard-row:not(.leaderboard-row--head) > strong {
    grid-column: 2;
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(n + 2) {
    color: var(--m2m-charcoal);
    display: grid;
    font-size: 0.95rem;
    font-weight: 500;
    grid-column: 2;
    grid-template-columns: 7rem minmax(0, 1fr);
    letter-spacing: 0;
    line-height: 1.35rem;
    text-transform: none;
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(2)::before,
  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(3)::before,
  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(4)::before {
    color: var(--m2m-dark);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.075rem;
    text-transform: uppercase;
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(2)::before {
    content: "City";
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(3)::before {
    content: "State";
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(4) {
    color: var(--m2m-plum);
    font-weight: 700;
  }

  .leaderboard-row:not(.leaderboard-row--head) > span:nth-of-type(4)::before {
    content: "Patients";
  }

  .admin-shell {
    min-height: calc(100vh - 5rem);
    padding: 1rem;
  }

  .admin-shell__intro h1,
  .admin-auth h2,
  .admin-pending h2,
  .admin-toolbar h2 {
    font-size: 2.1rem;
    line-height: 2.45rem;
  }

  .admin-shell__intro p:not(.eyebrow),
  .admin-auth p:not(.eyebrow),
  .admin-pending p,
  .admin-toolbar p {
    font-size: 1rem;
    line-height: 1.45rem;
  }

  .admin-auth,
  .admin-pending,
  .admin-toolbar,
  .admin-panel--editor {
    padding: 1rem;
  }

  .admin-auth__actions,
  .admin-toolbar__actions,
  .admin-editor__actions,
  .admin-quick-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-stats {
    gap: 0.75rem;
  }

  .admin-search {
    flex: 0 1 auto;
  }

  .admin-stats article {
    min-height: 5.75rem;
    padding: 0.875rem;
  }

  .admin-stats strong {
    font-size: 2rem;
  }

  .admin-field-grid {
    grid-template-columns: 1fr;
  }

  .admin-editor-form__header {
    display: grid;
  }

  .admin-editor-form__header time {
    white-space: normal;
  }

  .admin-row {
    padding: 0.875rem;
  }
}

@media (max-width: 374px) {
  .pagination-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pagination-controls span {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }
}
