/* Generated from src/styles/*.css. */
:root {
  --md-sys-color-primary: #3f2d5c;
  --md-sys-color-on-primary: #ffffff;
  --md-sys-color-primary-container: #e4d9f4;
  --md-sys-color-on-primary-container: #2c1b40;
  --md-sys-color-secondary: #514b5d;
  --md-sys-color-secondary-container: #f0ecf4;
  --md-sys-color-tertiary: #684b00;
  --md-sys-color-tertiary-container: #fff0bd;
  --md-sys-color-surface: #fffdf8;
  --md-sys-color-surface-container: #f7f2ea;
  --md-sys-color-surface-container-high: #ebe3d7;
  --md-sys-color-on-surface: #17130f;
  --md-sys-color-on-surface-variant: #3f382f;
  --md-sys-color-outline: #756d62;
  --md-sys-color-error: #ba1a1a;
  --tlc-color-attention: #ffe38a;
  --tlc-color-on-attention: #211800;
  --tlc-color-attention-surface: #fff8dd;
  --md-sys-elevation-1: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);
  --md-sys-elevation-2: 0 2px 6px rgba(0, 0, 0, .14), 0 1px 2px rgba(0, 0, 0, .08);
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --max: 1180px;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.skip-link {
  background: var(--md-sys-color-on-surface);
  border-radius: 8px;
  color: #fff;
  font-weight: 700;
  left: 1rem;
  padding: 0.7rem 1rem;
  position: fixed;
  text-decoration: none;
  top: 0.75rem;
  transform: translateY(-180%);
  z-index: 100;
}

.skip-link:focus {
  transform: translateY(0);
}

:where(a, button, summary, iframe):focus-visible {
  box-shadow: 0 0 0 5px var(--md-sys-color-on-surface);
  outline: 3px solid #fff;
  outline-offset: 2px;
}

:where(a, button, summary) {
  touch-action: manipulation;
}

#main-content:focus {
  outline: none;
}

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

a {
  color: var(--md-sys-color-primary);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

p {
  margin: 0 0 1rem;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  line-height: 1.12;
  letter-spacing: 0;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  font-weight: 650;
}

h2 {
  font-size: clamp(1.75rem, 3.2vw, 3rem);
  font-weight: 650;
}

h3 {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 650;
}

h4 {
  font-size: 1.06rem;
  font-weight: 650;
}

h2,
h3 {
  color: color-mix(in srgb, var(--md-sys-color-primary) 82%, var(--md-sys-color-on-surface));
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 450, "GRAD" 0, "opsz" 24;
}

.announcement {
  background: var(--tlc-color-attention);
  color: var(--tlc-color-on-attention);
  font-weight: 650;
  padding: .65rem 1rem;
  text-align: center;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: color-mix(in srgb, var(--md-sys-color-surface) 92%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 22%, transparent);
  backdrop-filter: blur(18px);
}

.mobile-book-bar {
  display: none;
}

.nav-shell {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--max);
  min-height: 72px;
  padding: 0 1.25rem;
}

.brand {
  color: var(--md-sys-color-on-surface);
  display: flex;
  flex-direction: column;
  font-weight: 700;
  text-decoration: none;
}

.brand small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .78rem;
  font-weight: 500;
}

.nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}

.nav-links > a,
.service-nav-menu > summary {
  align-items: center;
  border-radius: 999px;
  color: var(--md-sys-color-on-surface-variant);
  cursor: pointer;
  display: inline-flex;
  font-size: .93rem;
  font-weight: 600;
  gap: .2rem;
  list-style: none;
  min-height: 48px;
  padding: .55rem .85rem;
  text-decoration: none;
}

.service-nav-menu > summary::-webkit-details-marker {
  display: none;
}

.nav-links > a:hover,
.nav-links > a[aria-current="page"],
.service-nav-menu > summary:hover,
.service-nav-menu[data-current="true"] > summary {
  background: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-surface);
}

.nav-links > a.nav-book,
.nav-links > a.nav-book:hover,
.nav-links > a.nav-book[aria-current="page"] {
  background: var(--md-sys-color-primary);
  border: 2px solid var(--md-sys-color-primary);
  box-shadow: 0 3px 8px rgba(35, 22, 53, .24);
  color: var(--md-sys-color-on-primary);
  align-items: center;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 800;
  min-height: 48px;
  padding: .65rem 1.3rem;
}

.nav-links > a.nav-book:hover,
.nav-links > a.nav-book[aria-current="page"] {
  background: #2d2042;
  border-color: #2d2042;
}

.service-nav-menu {
  position: relative;
}

.service-nav-chevron {
  font-size: 1.2rem;
  transition: transform .16s ease;
}

.service-nav-menu[open] .service-nav-chevron {
  transform: rotate(180deg);
}

.service-nav-panel {
  background: var(--md-sys-color-surface);
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--radius-sm);
  box-shadow: var(--md-sys-elevation-2);
  display: grid;
  gap: .3rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  left: 50%;
  padding: .6rem;
  position: absolute;
  top: calc(100% + .65rem);
  transform: translateX(-50%);
  width: min(650px, calc(100vw - 2rem));
  z-index: 40;
}

.service-nav-panel a {
  border-radius: 4px;
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .15rem;
  min-height: 68px;
  padding: .72rem .8rem;
  text-decoration: none;
}

.service-nav-panel a:hover,
.service-nav-panel a[aria-current="page"] {
  background: var(--md-sys-color-secondary-container);
}

.service-nav-panel a span {
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.25;
}

.service-nav-panel a small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .78rem;
  line-height: 1.35;
}

.service-nav-panel a.service-nav-supporting {
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
}

.service-nav-panel a.service-nav-action {
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
}

.service-nav-panel a.service-nav-action:hover {
  background: #2d2042;
}

.service-nav-panel a.service-nav-action small {
  color: color-mix(in srgb, var(--md-sys-color-on-primary) 82%, transparent);
}

.mobile-nav {
  display: none;
  position: relative;
}

.mobile-nav > summary {
  align-items: center;
  background: var(--md-sys-color-surface);
  border: 2px solid var(--md-sys-color-on-surface);
  border-radius: 50%;
  color: var(--md-sys-color-on-surface);
  cursor: pointer;
  display: flex;
  height: 48px;
  justify-content: center;
  list-style: none;
  transition: background .16s ease, color .16s ease;
  width: 48px;
}

.mobile-nav > summary::-webkit-details-marker {
  display: none;
}

.mobile-nav > summary:hover {
  background: var(--md-sys-color-secondary-container);
}

.mobile-nav[open] > summary {
  background: var(--md-sys-color-primary);
  border-color: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
}

.mobile-nav .menu-icon-close {
  display: none;
}

.mobile-nav[open] .menu-icon-open {
  display: none;
}

.mobile-nav[open] .menu-icon-close {
  display: inline-block;
}

.mobile-nav-panel {
  background: var(--md-sys-color-surface);
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--radius-xs);
  box-shadow: var(--md-sys-elevation-2);
  display: grid;
  max-height: calc(100vh - 8.25rem);
  max-height: calc(100dvh - 8.25rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .55rem;
  position: absolute;
  right: 0;
  top: calc(100% + .65rem);
  width: min(330px, calc(100vw - 2rem));
  -webkit-overflow-scrolling: touch;
  z-index: 30;
}

.mobile-nav-panel > a {
  align-items: center;
  border-radius: 4px;
  color: var(--md-sys-color-on-surface);
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  min-height: 48px;
  padding: .7rem .8rem;
  text-decoration: none;
}

.mobile-nav-panel > a:hover,
.mobile-nav-panel > a[aria-current="page"] {
  background: var(--md-sys-color-secondary-container);
}

.mobile-nav-panel > a.nav-book,
.mobile-nav-panel > a.nav-book:hover,
.mobile-nav-panel > a.nav-book[aria-current="page"] {
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
  justify-content: center;
  margin-top: .4rem;
}

.mobile-nav-panel .service-nav-menu {
  position: static;
}

.mobile-nav-panel .service-nav-menu > summary {
  border-radius: 4px;
  min-height: 48px;
  padding: .7rem .8rem;
  width: 100%;
}

.mobile-nav-panel .service-nav-panel {
  box-shadow: none;
  grid-template-columns: 1fr;
  left: auto;
  margin: .2rem 0 .45rem;
  position: static;
  top: auto;
  transform: none;
  width: 100%;
}

.mobile-nav-panel .service-nav-panel a {
  min-height: 58px;
}

.button {
  align-items: center;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  font-weight: 700;
  gap: .5rem;
  justify-content: center;
  min-height: 48px;
  padding: .72rem 1.1rem;
  text-decoration: none;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button.primary {
  background: var(--md-sys-color-primary);
  box-shadow: var(--md-sys-elevation-1);
  color: var(--md-sys-color-on-primary);
}

.button.secondary {
  background: var(--md-sys-color-surface);
  border: 1px solid var(--md-sys-color-outline);
  color: var(--md-sys-color-on-surface);
}

.button.tonal {
  background: var(--md-sys-color-surface-container-high);
  color: var(--md-sys-color-on-surface);
}

.hero {
  background-color: #17121f;
  background-image:
    linear-gradient(90deg, rgba(23, 18, 31, .96), rgba(47, 34, 62, .74)),
    url("assets/hero-lymph-flow-champagne-charcoal.webp");
  background-image:
    linear-gradient(90deg, rgba(23, 18, 31, .96), rgba(47, 34, 62, .74)),
    image-set(
      url("assets/hero-lymph-flow-champagne-charcoal.avif") type("image/avif"),
      url("assets/hero-lymph-flow-champagne-charcoal.webp") type("image/webp")
    );
  background-position: center;
  background-size: cover;
  color: #ffffff;
  min-height: clamp(380px, 46vh, 480px);
  padding: clamp(2.6rem, 5vw, 3.75rem) 1.25rem clamp(2rem, 4vw, 2.6rem);
}

#start-here {
  scroll-margin-top: 7rem;
}

.hero .inner,
.section-inner {
  margin: 0 auto;
  max-width: var(--max);
}

.hero-copy {
  max-width: 780px;
}

.eyebrow {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: .85rem;
  font-weight: 800;
  gap: .45rem;
  letter-spacing: 0;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.hero .eyebrow,
.red-light-billboard .eyebrow {
  background: rgba(228, 217, 244, .16);
  border: 1px solid rgba(228, 217, 244, .46);
  border-radius: 999px;
  color: #efe8ff;
  padding: .34rem .7rem;
}

.hero p {
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  max-width: 760px;
}

.hero .hero-explainer {
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: .65rem;
}

.hero .hero-service-summary {
  color: rgba(255, 255, 255, .76);
  font-size: 1rem;
  line-height: 1.55;
  margin-top: 0;
  max-width: 720px;
}

.hero-actions,
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.hero-actions .hero-book-action {
  background: #a2304b;
  border: 2px solid #a2304b;
  box-shadow: 0 4px 10px rgba(25, 10, 20, .3);
  color: #ffffff;
  min-height: 54px;
}

.hero-actions .hero-book-action:hover {
  background: #7f233a;
  border-color: #7f233a;
}

.hero-service-link {
  align-items: center;
  background: transparent;
  color: #ffffff;
  display: inline-flex;
  font-weight: 750;
  gap: .32rem;
  min-height: 48px;
  padding: .35rem 0;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, .58);
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}

.hero-service-link:hover,
.hero-service-link:focus-visible {
  color: #efe8ff;
  text-decoration-color: currentColor;
}

.hero-service-link .material-symbols-outlined {
  font-size: 1.05rem;
  transition: transform .16s ease;
}

.hero-service-link:hover .material-symbols-outlined {
  transform: translateY(2px);
}

.hero-evidence-row {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .65rem;
  list-style: none;
  margin-top: 1.3rem;
  max-width: 780px;
  padding: 0;
}

.home-care-intro {
  background: var(--md-sys-color-secondary-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  padding-bottom: clamp(1.75rem, 4vw, 2.5rem);
  padding-top: clamp(1.75rem, 4vw, 2.5rem);
}

.home-care-intro-inner {
  align-items: center;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.home-care-intro-icon {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-size: 30px;
  height: 58px;
  justify-content: center;
  width: 58px;
}

.home-care-intro .eyebrow {
  margin-bottom: .35rem;
}

.home-care-intro h2 {
  font-size: clamp(1.55rem, 2.5vw, 2.25rem);
  margin-bottom: .55rem;
}

.home-care-intro p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 1.05rem;
  margin: 0;
  max-width: 960px;
}

.hero-evidence-row li {
  align-items: center;
  color: rgba(255, 255, 255, .72);
  display: inline-flex;
  font-size: .84rem;
  font-weight: 650;
  line-height: 1.4;
}

.hero-evidence-row li + li::before {
  color: #d9c8f4;
  content: "•";
  font-size: .95rem;
  margin-right: .65rem;
}

main section {
  padding: 4.5rem 1.25rem;
}

.surface {
  background: var(--md-sys-color-surface-container);
}

.section-heading {
  display: grid;
  gap: .8rem;
  margin-bottom: 2rem;
  max-width: 760px;
}

.section-heading p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 1.08rem;
}

.compact-heading {
  margin-bottom: 1.25rem;
}

.professional-intro {
  display: grid;
  gap: .7rem;
  margin-bottom: 2rem;
  max-width: 900px;
}

.professional-intro .eyebrow {
  color: var(--md-sys-color-primary);
  margin-bottom: 0;
}

.professional-intro p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 1.1rem;
  margin-bottom: 0;
}

.one-line-copy {
  max-width: none;
  white-space: nowrap;
}

.wide-line-copy {
  max-width: 980px;
  white-space: nowrap;
}

.grid {
  display: grid;
  gap: 1rem;
}

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

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

.recovery-proof {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
}

.proof-strip {
  display: grid;
  gap: .9rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.proof-strip article {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 22%, transparent);
  border-radius: var(--radius-md);
  display: grid;
  gap: .6rem;
  padding: 1rem;
}

.proof-strip .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 999px;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.proof-strip strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.02rem;
}

.proof-strip p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 0;
}

.home-practice-summary {
  background: var(--md-sys-color-surface);
}

.home-practice-summary .section-heading {
  align-items: center;
  margin-inline: auto;
  text-align: center;
}

.home-practice-summary .section-heading .eyebrow {
  justify-self: center;
}

.home-practice-summary .proof-strip {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-practice-summary .proof-strip article {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  justify-items: center;
  padding: 1.25rem;
  text-align: center;
}

.home-practice-summary .proof-strip article + article {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
}

.home-resource-links {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
}

.home-resource-link {
  align-items: center;
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .25rem 1rem;
  grid-template-columns: minmax(160px, .3fr) minmax(0, 1fr) auto;
  min-height: 76px;
  padding: .85rem 0;
  text-decoration: none;
}

.home-resource-link + .home-resource-link {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
}

.home-resource-link > span:first-child {
  color: var(--md-sys-color-primary);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.home-resource-link strong {
  line-height: 1.35;
}

.home-resource-link .material-symbols-outlined {
  transition: transform .16s ease;
}

.home-resource-link:hover strong {
  color: var(--md-sys-color-primary);
}

.home-resource-link:hover .material-symbols-outlined {
  transform: translateX(3px);
}

.card {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 24%, transparent);
  border-radius: var(--radius-md);
  box-shadow: var(--md-sys-elevation-1);
  padding: 1.25rem;
}

.card h2 + p,
.card h3 + p {
  margin-top: .8rem;
}

.card.icon-card {
  display: grid;
  gap: .75rem;
}

.decision-card {
  display: grid;
  gap: .75rem;
}

.proof-card,
.procedure-card {
  display: grid;
  gap: 1rem;
}

.proof-card .eyebrow {
  color: var(--md-sys-color-primary);
  margin-bottom: 0;
}

.mini-facts {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: .5rem;
}

.mini-facts span {
  background: var(--md-sys-color-secondary-container);
  border-radius: var(--radius-xs);
  color: var(--md-sys-color-on-surface-variant);
  display: grid;
  gap: .1rem;
  padding: .75rem;
}

.mini-facts strong {
  color: var(--md-sys-color-primary);
  font-size: 1.18rem;
}

.card .icon {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 999px;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.card p,
.article-card p {
  color: var(--md-sys-color-on-surface-variant);
}

.service-directory {
  background: var(--md-sys-color-surface);
  border-block: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 24%, transparent);
  display: grid;
}

.service-row {
  align-items: center;
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 18%, transparent);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1.05rem 0;
  text-decoration: none;
}

.service-row:first-child {
  border-top: 0;
}

.service-row .icon,
.service-detail .icon,
.booking-step .icon {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 999px;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.service-row strong {
  display: block;
  font-size: 1.08rem;
}

.service-row small {
  color: var(--md-sys-color-on-surface-variant);
  display: block;
  font-size: .98rem;
  line-height: 1.45;
  margin-top: .18rem;
}

.service-arrow {
  color: var(--md-sys-color-primary);
}

.booking-service-list {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 34%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 34%, transparent);
  display: grid;
}

.booking-service-option {
  border: 0;
  border-radius: 0;
  scroll-margin-top: 8rem;
}

.booking-service-option + .booking-service-option {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 34%, transparent);
}

.booking-service-option > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .9rem;
  grid-template-columns: 40px minmax(0, 1fr) 24px;
  list-style: none;
  min-height: 80px;
  padding: .85rem 0;
}

.booking-service-option > summary::-webkit-details-marker {
  display: none;
}

.booking-service-option > summary:focus-visible {
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: 4px;
}

.booking-service-option > summary .icon {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 50%;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.booking-service-identity {
  min-width: 0;
}

.booking-service-identity strong,
.booking-service-identity small {
  display: block;
}

.booking-service-identity strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.08rem;
  line-height: 1.3;
}

.booking-service-identity small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  line-height: 1.35;
  margin-top: .18rem;
}

.booking-service-chevron {
  color: var(--md-sys-color-primary);
  transition: transform .18s ease;
}

.booking-service-option[open] .booking-service-chevron {
  transform: rotate(180deg);
}

.booking-service-option-content {
  margin-left: 56px;
  padding: 0 0 1.15rem;
}

.booking-service-option-content > p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
  max-width: 760px;
}

.booking-service-option-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin-top: .9rem;
}

.booking-service-option-actions .button {
  margin: 0;
}

.booking-service-detail-link {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: .92rem;
  font-weight: 700;
  gap: .25rem;
  min-height: 48px;
  text-decoration: none;
}

.booking-service-detail-link:hover {
  text-decoration: underline;
}

.booking-service-detail-link .material-symbols-outlined {
  font-size: 1.1rem;
}

.offer-panel {
  align-items: center;
  background: var(--tlc-color-attention-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-tertiary) 46%, transparent);
  border-radius: var(--radius-lg);
  box-shadow: var(--md-sys-elevation-1);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  overflow: hidden;
  padding: clamp(1.35rem, 4vw, 2.4rem);
  position: relative;
}

.offer-panel::before {
  background: var(--md-sys-color-primary);
  content: "";
  height: 8px;
  inset: 0 0 auto;
  position: absolute;
}

.offer-copy {
  display: grid;
  gap: .55rem;
}

.offer-copy .eyebrow {
  font-size: 1.15rem;
  line-height: 1.25;
  margin-bottom: 0;
}

.offer-action {
  align-content: center;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: stretch;
}

.offer-savings {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: var(--radius-md);
  color: var(--md-sys-color-on-primary);
  display: grid;
  gap: .2rem;
  justify-items: center;
  min-height: 118px;
  padding: .95rem .75rem;
  text-align: center;
}

.offer-savings strong {
  color: var(--md-sys-color-on-primary);
  font-size: clamp(2.15rem, 4vw, 3.55rem);
  line-height: .95;
}

.offer-savings span {
  color: color-mix(in srgb, var(--md-sys-color-on-primary) 86%, transparent);
  font-size: .82rem;
  font-weight: 650;
  text-transform: uppercase;
}

.cash-note {
  align-items: center;
  background: var(--tlc-color-attention);
  border: 2px solid var(--tlc-color-on-attention);
  border-radius: var(--radius-sm);
  color: var(--tlc-color-on-attention);
  display: grid;
  gap: .2rem;
  font-weight: 750;
  justify-items: center;
  min-height: 118px;
  padding: .95rem .75rem;
  text-align: center;
}

.cash-note strong {
  color: var(--tlc-color-on-attention);
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: .95;
}

.cash-note span {
  color: var(--tlc-color-on-attention);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.offer-buttons {
  display: grid;
  gap: .65rem;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
}

.offer-panel h2 {
  font-size: clamp(2rem, 3.4vw, 3.35rem);
}

.offer-panel p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 0;
}

.offer-panel p strong {
  color: var(--md-sys-color-on-surface);
  display: inline-block;
  margin-top: .3rem;
}

.offer-limited {
  background: var(--md-sys-color-primary);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-weight: 800;
  margin-top: .45rem;
  padding: .22rem .65rem;
}

.offer-panel .eyebrow {
  color: var(--md-sys-color-primary);
}

.offer-panel .button.tonal {
  width: 100%;
}

.offer-panel .offer-book {
  border: 2px solid var(--md-sys-color-on-surface);
  font-size: 1.08rem;
  min-height: 56px;
}

.included-note {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-left: 5px solid var(--md-sys-color-primary);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .85rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin-bottom: 1.2rem;
  padding: 1rem 1.15rem;
}

.included-note .material-symbols-outlined {
  align-items: center;
  background: rgba(255, 255, 255, .62);
  border-radius: 999px;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.included-note strong {
  display: block;
  font-size: 1.05rem;
}

.included-note p {
  color: var(--md-sys-color-on-surface-variant);
  margin: .15rem 0 0;
}

.red-light-billboard {
  background: #241936;
  border-bottom: 6px solid var(--md-sys-color-primary-container);
  border-top: 6px solid var(--md-sys-color-primary-container);
  color: #ffffff;
  padding: clamp(4rem, 7vw, 5.75rem) 1.25rem;
}

.red-light-billboard-inner {
  align-items: center;
  display: grid;
  gap: 2.75rem;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
}

.red-light-copy {
  min-width: 0;
}

.red-light-billboard .eyebrow,
.red-light-billboard h2,
.red-light-billboard p {
  color: #ffffff;
}

.red-light-billboard h2 {
  font-size: 2.35rem;
  max-width: 740px;
}

.red-light-billboard p {
  font-size: 1.05rem;
  max-width: 760px;
}

.red-light-billboard .button.primary {
  background: var(--md-sys-color-primary-container);
  box-shadow: var(--md-sys-elevation-2);
  color: var(--md-sys-color-on-primary-container);
}

.red-light-action {
  display: flex;
  justify-content: flex-start;
  margin-top: 1.25rem;
}

.red-light-action .button {
  font-size: .96rem;
  min-height: 48px;
}

.red-light-visual {
  align-self: stretch;
  border: 1px solid rgba(228, 217, 244, .28);
  border-radius: var(--radius-lg);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .28);
  min-height: 380px;
  overflow: hidden;
  position: relative;
}

.red-light-visual::before {
  background: radial-gradient(circle at 60% 55%, rgba(255, 58, 24, .28), transparent 52%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.red-light-visual img {
  height: 100%;
  object-fit: cover;
  object-position: right center;
  transform: scale(1.16);
  transform-origin: right center;
  width: 100%;
}

.teaser-points {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-start;
  margin-top: 1rem;
  max-width: 720px;
}

.teaser-points span {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  display: inline-flex;
  font-weight: 750;
  font-size: .85rem;
  padding: 0;
}

.teaser-points span + span::before {
  color: #d9c8f4;
  content: "•";
  font-size: 1rem;
  margin-right: .65rem;
}

.light-spec-grid {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.light-spec {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 1.25rem;
}

.light-spec + .light-spec {
  border-left: 1px solid var(--md-sys-color-outline);
}

.light-spec p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 0;
  margin-top: .75rem;
}

.payment-grid {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.payment-grid.compact {
  margin-inline: auto;
  max-width: 720px;
  margin-bottom: 2rem;
}

.insurance-page-link {
  align-items: flex-start;
  border-left: 4px solid var(--md-sys-color-primary);
  color: var(--md-sys-color-on-surface-variant);
  display: flex;
  gap: .7rem;
  margin: 0;
  max-width: 820px;
  padding: .85rem 1rem;
}

.insurance-page-link .material-symbols-outlined {
  color: var(--md-sys-color-primary);
}

.insurance-page-link a {
  font-weight: 750;
}

.payment-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: .75rem;
  padding: 1.25rem clamp(1rem, 3vw, 1.75rem);
}

.payment-icon {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-size: 1.05rem;
  font-weight: 850;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.payment-card small {
  color: var(--md-sys-color-on-surface-variant);
  font-weight: 650;
}

.insurance-summary {
  align-items: start;
  background: var(--md-sys-color-secondary-container);
  border: 2px solid var(--md-sys-color-primary);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin-top: 1.5rem;
  padding: clamp(1.1rem, 3vw, 1.5rem);
}

.insurance-summary > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.insurance-summary strong {
  color: var(--md-sys-color-on-surface);
  display: block;
  font-size: 1.15rem;
  margin-bottom: .4rem;
}

.insurance-summary p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.insurance-summary .insurance-guarantee {
  color: var(--md-sys-color-on-surface);
  font-weight: 700;
  margin-top: .6rem;
}

.insurance-process {
  margin-inline: auto;
  max-width: 900px;
}

.insurance-term-grid {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insurance-term-grid article {
  align-content: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.5rem clamp(1rem, 3vw, 2rem);
}

.insurance-term-grid article:first-child {
  padding-left: 0;
}

.insurance-term-grid article + article {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
}

.insurance-term-grid .material-symbols-outlined,
.insurance-call-script > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.insurance-term-grid h3 {
  margin-bottom: .55rem;
}

.insurance-term-grid p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.insurance-document-grid {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insurance-document-grid > div {
  padding: 1.75rem clamp(1rem, 3vw, 2.25rem);
}

.insurance-document-grid > div:first-child {
  padding-left: 0;
}

.insurance-document-grid > div + div {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
}

.insurance-document-grid h3 {
  color: var(--md-sys-color-primary);
  margin-bottom: 1rem;
}

.insurance-accuracy-note {
  background: var(--md-sys-color-surface-container);
  border-left: 5px solid var(--md-sys-color-primary);
  color: var(--md-sys-color-on-surface-variant);
  margin: 1.25rem 0 0;
  padding: 1rem 1.15rem;
}

.insurance-accuracy-note strong {
  color: var(--md-sys-color-on-surface);
}

.insurance-note-conclusion {
  color: var(--md-sys-color-on-surface);
  display: block;
  font-weight: 700;
  margin-top: .65rem;
}

.insurance-responsibility-band {
  background: #1a1724;
  color: rgba(255, 255, 255, .82);
}

.insurance-responsibility-grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insurance-responsibility-grid > div + div {
  border-left: 1px solid rgba(255, 255, 255, .22);
  padding-left: clamp(2rem, 5vw, 4rem);
}

.insurance-responsibility-grid .eyebrow {
  color: #e9ddff;
}

.insurance-responsibility-grid h2 {
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin: .6rem 0 .8rem;
}

.insurance-responsibility-grid p {
  color: rgba(255, 255, 255, .76);
  line-height: 1.7;
  margin: 0;
}

.insurance-question-list {
  display: grid;
  gap: .75rem 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.insurance-question-list li {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 24%, transparent);
  color: var(--md-sys-color-on-surface);
  font-weight: 650;
  padding: .8rem 0 .8rem 1.6rem;
  position: relative;
}

.insurance-question-list li::before {
  color: var(--md-sys-color-primary);
  content: "?";
  font-size: 1.05rem;
  font-weight: 900;
  left: 0;
  position: absolute;
  top: .78rem;
}

.insurance-call-script {
  align-items: start;
  background: #1a1724;
  border-radius: var(--radius-xs);
  color: rgba(255, 255, 255, .82);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 1.25rem;
  padding: 1.15rem;
}

.insurance-call-script strong {
  color: #ffffff;
  display: block;
  font-size: 1.08rem;
  margin-bottom: .35rem;
}

.insurance-call-script p {
  color: rgba(255, 255, 255, .82);
  margin: 0;
}

.insurance-faq {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 32%, transparent);
  margin-inline: auto;
  max-width: 900px;
}

.insurance-faq details {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 32%, transparent);
  padding: 1rem 0;
}

.insurance-faq summary {
  color: var(--md-sys-color-primary);
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 800;
}

.insurance-faq p {
  color: var(--md-sys-color-on-surface-variant);
  margin: .85rem 0 0;
}

.pricing-overview {
  display: grid;
  gap: 1.2rem;
}

.pricing-path-nav {
  border-bottom: 2px solid color-mix(in srgb, var(--md-sys-color-outline) 44%, transparent);
  border-top: 2px solid color-mix(in srgb, var(--md-sys-color-outline) 44%, transparent);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 2rem 0 0;
}

.pricing-path-nav a {
  align-items: center;
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .7rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 112px;
  padding: 1rem;
  text-decoration: none;
}

.pricing-path-nav a + a {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 38%, transparent);
}

.pricing-path-nav a:hover,
.pricing-path-nav a:focus-visible {
  background: var(--md-sys-color-primary-container);
}

.pricing-path-nav .material-symbols-outlined {
  color: var(--md-sys-color-primary);
}

.pricing-path-nav a > span:nth-child(2) {
  display: grid;
  gap: .2rem;
}

.pricing-path-nav .pricing-path-arrow {
  color: var(--md-sys-color-on-surface-variant);
}

.pricing-path-nav strong {
  font-size: 1rem;
}

.pricing-path-nav small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.4;
}

.pricing-category-section {
  border-top: 2px solid color-mix(in srgb, var(--md-sys-color-outline) 46%, transparent);
  margin-top: 3rem;
  padding-top: 2rem;
  scroll-margin-top: 100px;
}

.pricing-category-heading {
  margin-bottom: 1.25rem;
  max-width: 900px;
}

.pricing-category-heading > div {
  display: grid;
  gap: .35rem;
}

.pricing-category-heading h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  margin: 0;
}

.pricing-category-heading p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.pricing-category-heading > div > p:first-child {
  color: var(--md-sys-color-primary);
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.pricing-category-heading .pricing-route-note {
  color: var(--md-sys-color-on-surface);
  font-weight: 700;
  margin-top: .25rem;
}

.pricing-route-note a {
  color: var(--md-sys-color-primary);
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}

.pricing-service-grid,
.pricing-recovery-grid {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  display: grid;
}

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

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

.pricing-service-panel,
.pricing-recovery-panel {
  align-content: start;
  display: grid;
  gap: 1.15rem;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 1.9rem);
}

.pricing-service-panel:first-child,
.pricing-recovery-panel:first-child {
  padding-left: 0;
}

.pricing-service-panel:last-child,
.pricing-recovery-panel:last-child {
  padding-right: 0;
}

.pricing-service-panel + .pricing-service-panel,
.pricing-recovery-panel + .pricing-recovery-panel {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
}

.pricing-service-panel h3,
.pricing-recovery-panel h3,
.pricing-focus-layout h3 {
  font-size: 1.2rem;
  margin: 0 0 .45rem;
}

.pricing-service-panel p,
.pricing-recovery-panel p,
.pricing-focus-layout p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.pricing-service-detail {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 800;
  gap: .2rem;
  margin-top: .9rem;
  text-decoration-thickness: 2px;
  text-underline-offset: .2rem;
}

.pricing-service-detail .material-symbols-outlined {
  font-size: 1rem;
}

.pricing-package-note {
  margin-top: 1.15rem;
}

.pricing-focus-layout {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  display: grid;
  gap: clamp(1.5rem, 5vw, 4rem);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  padding: clamp(1.25rem, 3vw, 1.9rem) 0;
}

.pricing-focus-layout > div:first-child {
  border-right: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  display: grid;
  gap: .85rem;
  padding-right: clamp(1.5rem, 5vw, 4rem);
}

.pricing-focus-layout .pricing-route-note {
  color: var(--md-sys-color-on-surface);
  font-weight: 750;
}

.pricing-focus-note {
  border-left: 4px solid var(--md-sys-color-primary);
  font-size: .92rem;
  padding-left: .85rem;
}

.pricing-category-action {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 58%, transparent);
  display: flex;
  justify-content: flex-end;
  margin-top: 1.35rem;
  padding-top: 1.25rem;
}

.pricing-category-booking,
.pricing-final-booking-action {
  min-height: 48px;
}

.pricing-final-booking {
  align-items: center;
  border-top: 2px solid color-mix(in srgb, var(--md-sys-color-primary) 58%, transparent);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-top: 3rem;
  padding-top: 1.75rem;
}

.pricing-final-booking h2 {
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  margin: 0 0 .2rem;
}

.pricing-final-booking p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.post-op-pricing {
  display: grid;
  gap: 1.2rem;
}

.pricing-page-heading {
  align-items: end;
  column-gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  max-width: none;
}

.pricing-page-heading > p {
  grid-column: 1 / -1;
  margin: 0;
  max-width: 900px;
}

.pricing-page-savings {
  align-items: baseline;
  background: var(--tlc-color-attention);
  color: var(--tlc-color-on-attention);
  display: flex;
  gap: .65rem;
  padding: .7rem .9rem;
}

.pricing-page-savings span {
  font-size: .78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.pricing-page-savings strong {
  font-size: 1.3rem;
  line-height: 1;
}

.post-op-recovery-paths {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.post-op-recovery-path {
  display: grid;
  gap: 1.35rem;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.post-op-recovery-path + .post-op-recovery-path {
  border-left: 1px solid var(--md-sys-color-outline);
}

.post-op-recovery-path-header {
  align-items: start;
  display: grid;
  gap: .85rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.post-op-recovery-path-count {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 850;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.post-op-recovery-path-header p:first-child {
  color: var(--md-sys-color-primary);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .04em;
  margin: 0 0 .2rem;
  text-transform: uppercase;
}

.post-op-recovery-path-header h3 {
  color: var(--md-sys-color-on-surface);
  font-size: 1.3rem;
  margin-bottom: .45rem;
}

.post-op-recovery-path-header p:last-child,
.post-op-recovery-path-section > p {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.55;
  margin: 0;
}

.post-op-recovery-path-section {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  padding-top: 1rem;
}

.post-op-recovery-path-section h4 {
  color: var(--md-sys-color-on-surface);
  font-size: 1rem;
  margin-bottom: .25rem;
}

.post-op-recovery-path-section > p {
  font-size: .9rem;
  margin-bottom: .7rem;
}

.post-op-recovery-path .pricing-menu-row {
  gap: .65rem;
  padding-block: .8rem;
}

.post-op-recovery-path .button {
  justify-self: start;
}

.post-op-package-alert {
  margin-top: .1rem;
}

.post-op-appointment-chooser .section-heading {
  margin-bottom: 1.4rem;
}

.post-op-appointment-grid {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.post-op-appointment-option {
  align-items: start;
  color: inherit;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 152px;
  padding: 1.35rem;
  text-decoration: none;
  transition: background .16s ease, color .16s ease;
}

.post-op-appointment-option + .post-op-appointment-option {
  border-left: 1px solid var(--md-sys-color-outline);
}

.post-op-appointment-option:hover {
  background: var(--md-sys-color-primary-container);
}

.post-op-appointment-option:focus-visible {
  background: var(--md-sys-color-primary-container);
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: -3px;
}

.post-op-appointment-option > span:nth-child(2) {
  display: grid;
  gap: .28rem;
}

.appointment-option-number {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 850;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.post-op-appointment-option strong {
  color: var(--md-sys-color-primary);
  font-size: .82rem;
  font-weight: 850;
  text-transform: uppercase;
}

.post-op-appointment-option b {
  color: var(--md-sys-color-on-surface);
  font-size: 1.12rem;
  line-height: 1.35;
}

.post-op-appointment-option small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .9rem;
  line-height: 1.5;
}

.appointment-option-arrow {
  align-self: center;
  color: var(--md-sys-color-primary);
}

.post-op-education {
  background: #1a1724;
  color: rgba(255, 255, 255, .86);
}

.post-op-education .eyebrow {
  color: #e9ddff;
}

.post-op-education-intro {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
}

.post-op-education-intro h2 {
  color: #ffffff;
  font-size: clamp(2.15rem, 4vw, 3.4rem);
  margin-top: .6rem;
}

.post-op-education-intro p {
  color: rgba(255, 255, 255, .8);
  font-size: 1.05rem;
  line-height: 1.75;
}

.post-op-support-points {
  border-top: 1px solid rgba(255, 255, 255, .22);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding-top: 1.5rem;
}

.post-op-support-points article {
  padding: 0 1.4rem;
}

.post-op-support-points article:first-child {
  padding-left: 0;
}

.post-op-support-points article + article {
  border-left: 1px solid rgba(255, 255, 255, .2);
}

.post-op-support-points strong {
  color: #e9ddff;
  display: block;
  font-size: 1.05rem;
  margin-bottom: .5rem;
}

.post-op-support-points p {
  color: rgba(255, 255, 255, .74);
  line-height: 1.6;
  margin: 0;
}

.csection-scar-focus {
  background: #1a1724;
  color: rgba(255, 255, 255, .86);
}

.csection-scar-focus .eyebrow {
  color: #e9ddff;
}

.csection-scar-focus .section-heading h2 {
  color: #ffffff;
}

.csection-scar-focus .section-heading p {
  color: rgba(255, 255, 255, .82);
}

.fibrosis-hero .section-heading {
  max-width: 1080px;
}

.fibrosis-hero .section-heading p {
  max-width: 820px;
}

.package-alert {
  background: var(--md-sys-color-primary-container);
  border: 0;
  border-left: 5px solid var(--md-sys-color-tertiary);
  border-radius: 0;
  color: var(--md-sys-color-on-primary-container);
  font-weight: 800;
  margin: 0;
  padding: .72rem .85rem;
}

.payment-card-title {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 650;
  margin: 0;
}

.fibrosis-intro-grid {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
}

.fibrosis-intro-grid h2 {
  margin: .6rem 0 1rem;
}

.fibrosis-signs {
  background: var(--md-sys-color-primary);
  border-radius: var(--radius-sm);
  color: var(--md-sys-color-on-primary);
  padding: clamp(1.2rem, 3vw, 1.8rem);
}

.fibrosis-signs h3 {
  color: var(--md-sys-color-primary-container);
  margin-bottom: 1rem;
}

.fibrosis-signs .list-check li {
  border-color: rgba(255, 255, 255, .24);
  color: var(--md-sys-color-on-primary);
}

.fibrosis-signs .list-check li::before {
  border-color: var(--md-sys-color-primary-container);
}

.service-phase-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

.service-phase-lead h2 {
  margin: .55rem 0 1rem;
}

.service-phase-lead p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.service-phase-layout .service-source-note {
  grid-column: 1 / -1;
}

.service-phase-list {
  border-bottom: 2px solid var(--md-sys-color-outline);
  border-top: 2px solid var(--md-sys-color-outline);
  display: grid;
}

.service-phase-list article {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 38px minmax(0, 1fr);
  min-height: 112px;
  padding: 1rem 0;
}

.service-phase-list article + article {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 50%, transparent);
}

.service-phase-list article > span {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: 1rem;
  font-weight: 850;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.service-phase-list h3 {
  color: var(--md-sys-color-on-surface);
  font-size: 1.12rem;
  margin-bottom: .3rem;
}

.service-phase-list p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.service-choice-section {
  background: #ffffff;
}

.service-choice-section .section-heading {
  margin-bottom: 1.5rem;
}

.service-choice-columns {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 48%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 48%, transparent);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-choice-columns > * {
  align-content: start;
  color: inherit;
  display: grid;
  gap: .5rem;
  min-height: 280px;
  padding: clamp(1.3rem, 3vw, 2rem);
  text-decoration: none;
}

.service-choice-columns > * + * {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 48%, transparent);
}

.service-choice-columns > .material-symbols-outlined,
.service-choice-columns > * > .material-symbols-outlined {
  color: var(--md-sys-color-primary);
  font-size: 1.65rem;
  margin-bottom: .25rem;
}

.service-choice-columns small {
  color: var(--md-sys-color-primary);
  font-size: .75rem;
  font-weight: 850;
  text-transform: uppercase;
}

.service-choice-columns strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.15rem;
}

.service-choice-columns em {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  font-style: normal;
  line-height: 1.45;
}

.service-choice-columns .is-current {
  background: color-mix(in srgb, var(--md-sys-color-primary-container) 54%, #ffffff);
  box-shadow: inset 0 4px 0 var(--md-sys-color-primary);
}

.service-choice-current {
  align-items: center;
  color: var(--md-sys-color-tertiary);
  display: inline-flex;
  font-size: .75rem;
  font-weight: 850;
  gap: .3rem;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.service-choice-current .material-symbols-outlined {
  color: var(--md-sys-color-tertiary);
  font-size: 1rem;
  margin: 0;
}

.service-choice-columns .is-current > .material-symbols-outlined {
  color: var(--md-sys-color-tertiary);
}

.service-choice-link {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 800;
  gap: .25rem;
  margin-top: .25rem;
}

.service-choice-link .material-symbols-outlined {
  font-size: 1rem;
}

.service-choice-columns a:hover {
  background: color-mix(in srgb, var(--md-sys-color-primary-container) 30%, #ffffff);
}

.fibrosis-series-planner {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
}

.fibrosis-series-planner article {
  align-items: center;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  gap: clamp(1rem, 4vw, 3rem);
  grid-template-columns: minmax(125px, .35fr) minmax(0, 1.65fr);
  padding: 1.15rem 0;
}

.fibrosis-series-planner strong {
  color: var(--md-sys-color-primary);
  font-size: 1.25rem;
}

.fibrosis-series-planner h3 {
  font-size: 1.12rem;
  margin-bottom: .3rem;
}

.fibrosis-series-planner p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.trust-strip {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.trust-strip div {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 1rem 1.2rem;
}

.trust-strip div:first-child {
  padding-left: 0;
}

.trust-strip div:last-child {
  padding-right: 0;
}

.trust-strip div + div {
  border-left: 1px solid var(--md-sys-color-outline);
}

.trust-strip strong,
.trust-strip span {
  display: block;
}

.trust-strip strong {
  color: var(--md-sys-color-primary);
  font-size: 1.02rem;
  margin-bottom: .25rem;
}

.trust-strip span {
  color: var(--md-sys-color-on-surface-variant);
}

.visit-hero {
  background: var(--md-sys-color-surface);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 36%, transparent);
  box-shadow: inset 0 6px 0 var(--md-sys-color-primary-container);
}

.visit-hero .section-heading {
  max-width: 900px;
}

.visit-quick-facts {
  background: var(--md-sys-color-surface-container);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  border-radius: var(--radius-sm);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.visit-quick-facts > div {
  align-items: center;
  display: grid;
  gap: .15rem .75rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1rem 1.15rem;
}

.visit-quick-facts > div + div {
  border-left: 1px solid var(--md-sys-color-outline);
}

.visit-quick-facts .material-symbols-outlined {
  color: var(--md-sys-color-primary);
  grid-row: 1 / 3;
}

.visit-quick-facts strong {
  color: var(--md-sys-color-on-surface);
}

.visit-quick-facts small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.35;
}

.visit-section .section-heading {
  max-width: 920px;
}

.visit-detail-list {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
}

.visit-detail-list article {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 1.25rem 0;
}

.visit-detail-list article + article {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
}

.visit-detail-list > article > .material-symbols-outlined,
.visit-payment-grid > article > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.visit-detail-list h3,
.visit-payment-grid h3,
.visit-checklist h3 {
  font-size: 1.18rem;
  margin-bottom: .35rem;
}

.visit-detail-list p,
.visit-payment-grid p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.visit-contact-note {
  background: var(--md-sys-color-primary-container);
  border: 2px solid var(--md-sys-color-on-primary-container);
  border-radius: var(--radius-xs);
  color: var(--md-sys-color-on-primary-container);
  margin: 1.25rem 0 0;
  padding: .85rem 1rem;
}

.visit-contact-note a {
  color: inherit;
  font-weight: 800;
}

.visit-preparation-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}

.visit-preparation-intro h2 {
  margin-bottom: .7rem;
}

.visit-preparation-intro p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 1.06rem;
  line-height: 1.7;
}

.visit-checklist {
  border-left: 5px solid var(--md-sys-color-primary);
  padding: .25rem 0 .25rem 1.5rem;
}

.visit-checklist .list-check {
  margin-bottom: 0;
}

.visit-detail-list-compact article {
  padding-block: 1.4rem;
}

.visit-payment-section {
  background: #1a1724;
  color: rgba(255, 255, 255, .9);
}

.visit-payment-section .section-heading h2,
.visit-payment-section .section-heading p {
  color: #ffffff;
}

.visit-payment-grid {
  border-bottom: 1px solid rgba(255, 255, 255, .32);
  border-top: 1px solid rgba(255, 255, 255, .32);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.visit-payment-grid article {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 1.5rem;
}

.visit-payment-grid article + article {
  border-left: 1px solid rgba(255, 255, 255, .32);
}

.visit-payment-grid h3 {
  color: #ffffff;
}

.visit-payment-grid p {
  color: rgba(255, 255, 255, .82);
}

.visit-payment-grid .visit-cash-panel {
  background: #fff1a8;
}

.visit-payment-grid .visit-cash-panel h3,
.visit-payment-grid .visit-cash-panel p {
  color: #211b00;
}

.visit-payment-grid .visit-cash-panel > .material-symbols-outlined {
  background: #211b00;
  color: #fff1a8;
}

.visit-actions {
  margin-top: 1.4rem;
}

.provider-hero .section-heading {
  max-width: 900px;
}

.provider-quick-facts {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 1.5rem 0;
}

.provider-quick-facts > div {
  align-items: center;
  display: grid;
  gap: .15rem .75rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1rem 1.15rem;
}

.provider-quick-facts > div + div {
  border-left: 1px solid var(--md-sys-color-outline);
}

.provider-quick-facts .material-symbols-outlined {
  color: var(--md-sys-color-primary);
  grid-row: 1 / 3;
}

.provider-quick-facts strong {
  color: var(--md-sys-color-on-surface);
}

.provider-quick-facts small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.35;
}

.provider-care-list {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
}

.provider-care-list a {
  align-items: center;
  color: inherit;
  display: grid;
  gap: 1rem;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  min-height: 78px;
  padding: 1rem 0;
  text-decoration: none;
}

.provider-care-list a + a {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
}

.provider-care-list > a > .material-symbols-outlined:first-child {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.provider-care-list h3 {
  font-size: 1.08rem;
  margin: 0 0 .2rem;
}

.provider-care-list p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.provider-care-arrow {
  color: var(--md-sys-color-primary);
}

.provider-care-list a:hover h3,
.provider-care-list a:focus-visible h3 {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .16em;
}

.provider-documentation-section {
  background: #1a1724;
  color: #ffffff;
}

.provider-documentation-grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-documentation-grid > div + div {
  border-left: 1px solid rgba(255, 255, 255, .22);
  padding-left: clamp(2rem, 5vw, 4rem);
}

.provider-documentation-grid .eyebrow {
  color: #e9ddff;
}

.provider-documentation-grid h2 {
  color: #ffffff;
  font-size: clamp(1.6rem, 2.8vw, 2.35rem);
}

.provider-documentation-grid p {
  color: rgba(255, 255, 255, .78);
  line-height: 1.7;
}

.provider-documentation-grid a {
  color: #ffffff;
  font-weight: 700;
}

.provider-inline-link {
  align-items: center;
  display: inline-flex;
  gap: .35rem;
  min-height: 48px;
}

.provider-inline-link .material-symbols-outlined {
  font-size: 1.1rem;
}

.visit-payment-section .button.secondary {
  background: #ffffff;
  border-color: rgba(255, 255, 255, .8);
  color: #1a1724;
}

.practitioner-credential-panel {
  background: transparent;
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  margin-top: 1rem;
  padding: 1.15rem 0;
}

.practitioner-credential-copy .eyebrow {
  margin-bottom: .35rem;
}

.practitioner-credential-copy h2 {
  font-size: clamp(1.65rem, 2.6vw, 2.35rem);
}

.credential-line {
  color: var(--md-sys-color-primary);
  font-weight: 850;
  margin: .45rem 0 0;
}

.license-line {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  font-weight: 700;
  margin: .35rem 0 0;
}

.credential-description {
  color: var(--md-sys-color-on-surface-variant);
  margin: 1rem 0 0;
}

.practitioner-story {
  background: var(--md-sys-color-secondary-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 18%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 18%, transparent);
}

.practitioner-story-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
}

.practitioner-story-heading {
  align-self: start;
}

.practitioner-story-heading h2 {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  margin-bottom: .75rem;
}

.practitioner-story-heading > p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 1.1rem;
  line-height: 1.6;
}

.practitioner-story-portrait {
  aspect-ratio: 4 / 5;
  margin: 1.5rem 0 0;
  max-width: 355px;
  overflow: hidden;
}

.practitioner-story-portrait img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  width: 100%;
}

.practitioner-story-copy {
  border-left: 3px solid var(--md-sys-color-primary);
  padding-left: clamp(1.25rem, 3vw, 2.25rem);
}

.practitioner-story-copy p {
  font-size: 1.04rem;
  line-height: 1.75;
}

.practitioner-story-copy p:last-child {
  margin-bottom: 0;
}

.about-open-grid,
.care-structure-grid {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  gap: 0;
}

.about-open-grid article,
.care-structure-grid article {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 1.5rem;
}

.about-open-grid h2 {
  margin-bottom: 1rem;
}

.about-open-grid article + article,
.care-structure-grid article + article {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
}

.contact-info-grid,
.post-op-intro-grid,
.service-info-grid {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  gap: 0;
}

.contact-info-grid article,
.post-op-intro-grid article,
.service-info-grid article {
  min-width: 0;
  padding: 1.4rem clamp(1rem, 3vw, 1.75rem);
}

.contact-info-grid article:first-child,
.post-op-intro-grid article:first-child,
.service-info-grid article:first-child {
  padding-left: 0;
}

.contact-info-grid article:last-child,
.post-op-intro-grid article:last-child,
.service-info-grid article:last-child {
  padding-right: 0;
}

.contact-info-grid article + article,
.post-op-intro-grid article + article,
.service-info-grid article + article {
  border-left: 1px solid var(--md-sys-color-outline);
}

.contact-info-grid p,
.post-op-intro-grid p,
.service-info-grid p {
  color: var(--md-sys-color-on-surface-variant);
}

.service-info-grid .icon {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  margin-bottom: .8rem;
  width: 42px;
}

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

.reference-grid.reference-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  max-width: 960px;
}

.praise-card {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 24%, transparent);
  border-radius: var(--radius-md);
  box-shadow: var(--md-sys-elevation-1);
  display: grid;
  gap: .75rem;
  padding: 1.25rem;
  position: relative;
}

.praise-card::before {
  background: var(--md-sys-color-primary-container);
  border-radius: 999px;
  content: "";
  height: 10px;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 10px;
}

.praise-card .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 999px;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.praise-card p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 0;
}

.reference-card {
  background: var(--md-sys-color-secondary-container);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 38%, transparent);
  border-left: 7px solid var(--md-sys-color-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--md-sys-elevation-2);
  display: grid;
  gap: .75rem;
  min-height: 230px;
  padding: 1.25rem;
}

.quote-mark {
  color: var(--md-sys-color-primary);
  font-size: 3rem;
  font-weight: 800;
  line-height: .8;
}

.reference-card p {
  color: var(--md-sys-color-on-surface);
  font-size: 1.04rem;
  margin-bottom: 0;
}

.reference-card footer {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 28%, transparent);
  display: grid;
  gap: .1rem;
  margin-top: .25rem;
  padding-top: .85rem;
}

.reference-card footer strong {
  color: var(--md-sys-color-primary);
}

.reference-card footer span {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  font-weight: 650;
}

.testimonial-band {
  background: var(--md-sys-color-secondary-container);
  border-bottom: 1px solid var(--md-sys-color-outline);
  color: var(--md-sys-color-on-surface);
}

.testimonial-band .section-heading h2,
.testimonial-band .section-heading p {
  color: var(--md-sys-color-on-surface);
}

.testimonial-band .section-heading p {
  color: var(--md-sys-color-on-surface-variant);
}

.testimonial-band .reference-card {
  background: #fffdf5;
  border: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 25%, transparent);
  border-left: 6px solid var(--md-sys-color-primary);
  border-radius: var(--radius-sm);
  box-shadow: var(--md-sys-elevation-1);
}

.about-overview .card {
  display: grid;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.2rem);
}

.about-intro-grid {
  gap: 1.5rem;
}

.appointment-experience {
  background: #f5f4f8;
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  scroll-margin-top: 7rem;
}

.appointment-experience-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
}

.appointment-experience-intro {
  position: sticky;
  top: 7rem;
}

.appointment-experience-intro h2 {
  margin-bottom: .8rem;
}

.appointment-experience-intro p {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.65;
}

.appointment-experience-intro a {
  font-weight: 750;
}

.appointment-experience-list {
  border-top: 1px solid var(--md-sys-color-outline);
}

.appointment-experience-list article {
  align-items: start;
  border-bottom: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: 1rem;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 1.15rem 0;
}

.appointment-experience-list article > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.appointment-experience-list h3 {
  font-size: 1.12rem;
  margin-bottom: .35rem;
}

.appointment-experience-list p {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.65;
  margin: 0;
}

.faq-experience-list {
  display: grid;
  gap: .8rem;
  margin: 0;
  padding-left: 1.2rem;
}

.faq-experience-list li {
  padding-left: .2rem;
}

.booking-steps {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: 0;
}

.booking-step {
  background: transparent;
  border: 0;
  border-radius: 0;
}

.booking-step + .booking-step {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
}

.booking-step > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .85rem;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  list-style: none;
  min-height: 72px;
  padding: .65rem .25rem;
}

.booking-step > summary::-webkit-details-marker {
  display: none;
}

.booking-step > summary:hover,
.booking-step[open] > summary {
  background: color-mix(in srgb, var(--md-sys-color-secondary-container) 72%, transparent);
}

.booking-step-title {
  color: var(--md-sys-color-on-surface);
  font-size: 1.04rem;
  font-weight: 700;
  line-height: 1.4;
}

.booking-step-chevron {
  color: var(--md-sys-color-primary);
  transition: transform 150ms ease;
}

.booking-step[open] .booking-step-chevron {
  transform: rotate(180deg);
}

.booking-step-details {
  display: grid;
  gap: .5rem;
  padding: .2rem 1rem 1rem 3.75rem;
}

.booking-step-details > p {
  margin: 0;
}

.booking-path-link {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-weight: 800;
  gap: .35rem;
  min-height: 48px;
  width: fit-content;
}

.booking-path-link .material-symbols-outlined {
  font-size: 1.15rem;
  transition: transform 150ms ease;
}

.booking-path-link:hover .material-symbols-outlined {
  transform: translateX(3px);
}

.booking-step p,
.booking-note,
.contact-note {
  color: var(--md-sys-color-on-surface-variant);
}

.booking-step .booking-step-warning {
  background: color-mix(in srgb, var(--md-sys-color-secondary-container) 72%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 22%, transparent);
  border-radius: var(--radius-xs);
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  font-weight: 650;
  line-height: 1.45;
  margin: .2rem 0 0;
  padding: .58rem .7rem;
  width: 100%;
}

.booking-action-panel {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 20%, transparent);
  margin-top: 1.25rem;
  padding-top: 1.1rem;
}

.booking-action-prompt {
  color: var(--md-sys-color-on-surface);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 .65rem;
}

.booking-action-panel .actions {
  gap: .9rem;
  margin-top: 0;
}

.booking-action-panel .button {
  font-size: 1.02rem;
  min-height: 54px;
  min-width: 190px;
  padding: .9rem 1.35rem;
}

.booking-note {
  max-width: 680px;
  margin: 0;
}

.booking-alert {
  background: var(--md-sys-color-primary-container);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-tertiary) 42%, transparent);
  border-radius: var(--radius-sm);
  display: grid;
  gap: .25rem;
  margin-top: .9rem;
  padding: .85rem 1rem;
}

.booking-alert strong {
  color: var(--md-sys-color-on-primary-container);
}

.booking-alert span {
  color: var(--md-sys-color-on-surface-variant);
}

.contact-note {
  display: inline-block;
  font-size: .92rem;
  line-height: 1.45;
  margin-top: .25rem;
}

.timeline {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  display: grid;
  gap: 0;
}

.timeline-card {
  align-items: flex-start;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
  padding: 1.2rem .25rem;
}

.timeline-card + .timeline-card {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
}

.timeline-card > span {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.timeline-card p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 0;
}

.service-session-section {
  background: var(--md-sys-color-surface-container);
}

.service-session-flow {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-session-flow .timeline-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-width: 0;
  padding: 1.5rem;
}

.service-session-flow .timeline-card + .timeline-card {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  border-top: 0;
}

.research-timeline-card .timeline-date {
  color: var(--md-sys-color-primary);
  font-size: .82rem;
  font-weight: 800;
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.research-timeline-card h3 {
  margin-bottom: .55rem;
}

.research-timeline-card a {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-weight: 750;
  gap: .3rem;
  margin-top: .9rem;
  text-decoration-thickness: 2px;
  text-underline-offset: .2rem;
}

.research-timeline-card a .material-symbols-outlined {
  font-size: 1.05rem;
}

.list-check {
  display: grid;
  gap: .75rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.list-check li {
  align-items: flex-start;
  display: flex;
  gap: .65rem;
}

.list-check li::before {
  border: 2px solid var(--md-sys-color-primary);
  border-left: 0;
  border-top: 0;
  content: "";
  flex: 0 0 auto;
  height: 13px;
  margin-top: .28rem;
  transform: rotate(45deg);
  width: 7px;
}

.post-op-procedure-list {
  column-gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: .7rem;
}

.post-op-procedure-list li {
  min-width: 0;
}

.post-op-procedure-section {
  margin-top: 1.6rem;
}

.post-op-procedure-section .section-heading {
  margin-bottom: 1.25rem;
  max-width: 760px;
}

.post-op-procedure-groups {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.post-op-procedure-groups > div {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 1.75rem);
}

.post-op-procedure-groups > div:first-child {
  padding-left: 0;
}

.post-op-procedure-groups > div:last-child {
  padding-right: 0;
}

.post-op-procedure-groups > div + div {
  border-left: 1px solid var(--md-sys-color-outline);
}

.post-op-procedure-groups h3 {
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
}

.post-op-procedure-groups .list-check {
  gap: .55rem;
  margin-top: .85rem;
}

.post-op-credential-note {
  align-items: start;
  color: var(--md-sys-color-on-surface-variant);
  display: grid;
  gap: .65rem;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  line-height: 1.45;
  margin: 0;
  padding: 1.1rem 0 0;
}

.post-op-credential-note .material-symbols-outlined {
  color: var(--md-sys-color-primary);
}

.post-op-credential-note strong {
  color: var(--md-sys-color-on-surface);
  display: block;
  margin-bottom: .2rem;
}

.post-op-credential-actions {
  margin-left: 2rem;
  margin-top: .85rem;
}

.location-hero-band {
  background: var(--md-sys-color-surface-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 20%, transparent);
}

.breadcrumbs {
  align-items: center;
  color: var(--md-sys-color-on-surface-variant);
  display: flex;
  flex-wrap: wrap;
  font-size: .9rem;
  gap: .45rem;
  margin-bottom: 2rem;
}

.breadcrumbs a {
  font-weight: 700;
}

.location-hero-inner {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
}

.location-hero-inner .section-heading {
  margin-bottom: 0;
  max-width: 800px;
}

.location-hero-inner .section-heading h1 {
  font-size: 3.65rem;
}

.location-office-summary {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 28%, transparent);
  border-left: 6px solid var(--md-sys-color-primary-container);
  border-radius: var(--radius-xs);
  box-shadow: var(--md-sys-elevation-1);
  padding: clamp(1.2rem, 3vw, 1.7rem);
}

.location-office-summary h2 {
  font-size: 1.55rem;
  margin: .65rem 0 1rem;
}

.location-office-summary address {
  font-size: 1.08rem;
  font-style: normal;
  font-weight: 750;
  margin-bottom: 1rem;
}

.location-office-summary .actions {
  margin-top: 1rem;
}

.location-truth-label {
  background: var(--md-sys-color-primary-container);
  border: 1px solid var(--md-sys-color-on-primary-container);
  color: var(--md-sys-color-on-primary-container);
  display: inline-block;
  font-size: .78rem;
  font-weight: 850;
  padding: .3rem .55rem;
  text-transform: uppercase;
}

.location-contact-list {
  border-block: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 26%, transparent);
  margin: 1.25rem 0;
  padding: .5rem 0;
}

.location-contact-list > div {
  display: grid;
  gap: .75rem;
  grid-template-columns: 70px minmax(0, 1fr);
  padding: .35rem 0;
}

.location-contact-list dt {
  color: var(--md-sys-color-on-surface-variant);
  font-weight: 700;
}

.location-contact-list dd {
  margin: 0;
}

.location-appointment-note {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .94rem;
}

.location-editorial {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.location-editorial > div + div {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  padding-left: clamp(2rem, 5vw, 4rem);
}

.location-editorial h2 {
  font-size: 2.35rem;
  margin-bottom: 1rem;
}

.location-editorial p {
  color: var(--md-sys-color-on-surface-variant);
}

.location-service-list {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
}

.location-service-list article {
  align-items: start;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.35rem 0;
}

.location-service-list .icon {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 999px;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.location-service-list h3 {
  margin-bottom: .4rem;
}

.location-service-list p {
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: .4rem;
}

.location-service-list a {
  font-weight: 750;
}

.location-support-grid {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}

.location-faq-list {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 32%, transparent);
}

.location-faq-list details {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 32%, transparent);
  padding: 1rem 0;
}

.location-faq-list summary {
  color: var(--md-sys-color-primary);
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 800;
}

.location-faq-list p {
  color: var(--md-sys-color-on-surface-variant);
  margin: .85rem 0 0;
}

.location-resource-list {
  background: #1a1724;
  border-radius: var(--radius-xs);
  color: rgba(255, 255, 255, .84);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}

.location-resource-list h2 {
  color: #ffffff;
  font-size: 1.65rem;
  margin-bottom: .75rem;
}

.location-resource-list > a {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .18);
  color: #e9ddff;
  display: flex;
  font-weight: 700;
  gap: .75rem;
  justify-content: space-between;
  padding: .9rem 0;
}

.location-resource-list .all-resources-link {
  color: #ffffff;
}

.location-final-cta {
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
}

.location-final-cta .section-inner {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}

.location-final-cta h2 {
  color: var(--md-sys-color-on-primary-container);
  font-size: 2.35rem;
  margin: .35rem 0 .6rem;
}

.location-final-cta p {
  margin-bottom: 0;
}

.location-final-cta .actions {
  flex: 0 0 auto;
  margin-top: 0;
}

.service-area-groups {
  display: grid;
  gap: 2.5rem;
}

.service-area-group {
  border-top: 3px solid var(--md-sys-color-primary);
  padding: 1.25rem 0 0;
}

.service-area-group h3 {
  margin-bottom: 1rem;
}

.location-link-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.location-link-list a {
  align-items: center;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 28%, transparent);
  display: grid;
  gap: .15rem .75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem .75rem 1rem 0;
  text-decoration: none;
}

.location-link-list a:nth-child(odd) {
  margin-right: 1.5rem;
}

.location-link-list span:first-child {
  font-size: 1.05rem;
  font-weight: 800;
}

.location-link-list small {
  color: var(--md-sys-color-on-surface-variant);
  grid-column: 1;
}

.location-link-list .material-symbols-outlined {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.article-card {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 20%, transparent);
  border-radius: var(--radius-md);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .75rem;
  min-height: 100%;
  padding: 1.2rem;
  position: relative;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.article-card:hover {
  background: var(--md-sys-color-secondary-container);
  border-color: color-mix(in srgb, var(--md-sys-color-primary) 42%, transparent);
  box-shadow: var(--md-sys-elevation-1);
  transform: translateY(-2px);
}

.article-card-title {
  line-height: 1.3;
}

.article-card p {
  margin-bottom: 0;
}

.article-card-image {
  aspect-ratio: 16 / 10;
  background: var(--md-sys-color-surface-container);
  border-radius: var(--radius-xs);
  object-fit: cover;
  width: 100%;
}

.article-meta {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .9rem;
  font-weight: 650;
}

.article-card .article-meta {
  color: var(--md-sys-color-primary);
}

.article-card-arrow {
  align-self: end;
  color: var(--md-sys-color-primary);
  font-size: 1.3rem;
  justify-self: end;
  transition: transform .16s ease;
}

.article-card:hover .article-card-arrow {
  transform: translateX(3px);
}

.red-light-hero {
  background: #1e1728;
}

.red-light-hero-media {
  background: #1e1728;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  isolation: isolate;
  min-height: clamp(490px, 48vw, 590px);
  overflow: hidden;
  position: relative;
}

.red-light-hero-media > img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.red-light-hero-copy {
  max-width: 690px;
  padding: clamp(2rem, 5vw, 4.5rem);
}

.red-light-hero .eyebrow {
  color: #e7dcff;
}

.red-light-hero h1 {
  color: #ffffff;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  max-width: 650px;
}

.red-light-hero-copy > p {
  color: rgba(255, 255, 255, .86);
  font-size: 1.08rem;
  line-height: 1.6;
  margin: 0;
  max-width: 650px;
}

.red-light-hero-facts {
  border-bottom: 1px solid rgba(255, 255, 255, .22);
  border-top: 1px solid rgba(255, 255, 255, .22);
  display: flex;
  margin-top: 1.65rem;
}

.red-light-hero-facts > span {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: .18rem;
  min-width: 0;
  padding: .85rem 1rem;
}

.red-light-hero-facts > span:first-child {
  padding-left: 0;
}

.red-light-hero-facts > span + span {
  border-left: 1px solid rgba(255, 255, 255, .22);
}

.red-light-hero-facts strong {
  color: #ffffff;
  font-size: .93rem;
}

.red-light-hero-facts small {
  color: rgba(255, 255, 255, .72);
  font-size: .78rem;
  line-height: 1.35;
}

.red-light-hero .actions {
  margin-top: 1.5rem;
}

.red-light-hero .button.primary {
  background: #f0e9ff;
  border-color: #f0e9ff;
  color: #281b39;
}

.red-light-hero .button.primary:hover {
  background: #ffffff;
  border-color: #ffffff;
}

.article-author {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .94rem;
  font-weight: 650;
  margin-top: .4rem;
}

.article-author a {
  color: var(--md-sys-color-primary);
}

.article-layout {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 300px;
}

.article-breadcrumbs {
  margin-bottom: 1.25rem;
}

.article-breadcrumbs [aria-current="page"] {
  min-width: 0;
  overflow-wrap: anywhere;
}

.article-body {
  background: var(--md-sys-color-surface);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 20%, transparent);
  border-radius: var(--radius-lg);
  padding: clamp(1.25rem, 4vw, 2.4rem);
}

.article-body h2,
.article-body h3,
.article-body h4 {
  margin: 2rem 0 .75rem;
}

.article-hero-image {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  margin: 1.5rem 0;
  object-fit: cover;
  width: 100%;
}

.article-body ul,
.article-body ol {
  padding-left: 1.35rem;
}

.resource-hero {
  padding-bottom: 2.5rem;
  padding-top: 2.75rem;
}

.resource-hero .section-heading {
  margin-bottom: 0;
}

.resource-hero h1 {
  font-size: 2.75rem;
}

.resource-beginner {
  background: var(--md-sys-color-secondary-container);
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
}

.resource-beginner-row {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 2rem;
}

.resource-beginner-row > a {
  align-content: start;
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .7rem .75rem;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  padding: 1.25rem 1rem;
  text-decoration: none;
}

.resource-beginner-row > a + a {
  border-left: 1px solid var(--md-sys-color-outline);
}

.resource-beginner-step {
  align-items: center;
  background: var(--md-sys-color-primary);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary);
  display: inline-flex;
  font-size: .8rem;
  font-weight: 850;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.resource-beginner-icon,
.resource-beginner-arrow {
  color: var(--md-sys-color-primary);
}

.resource-beginner-copy {
  display: grid;
  gap: .35rem;
}

.resource-beginner-copy strong {
  color: color-mix(in srgb, var(--md-sys-color-primary) 82%, var(--md-sys-color-on-surface));
  font-size: 1.08rem;
  line-height: 1.3;
}

.resource-beginner-copy small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .9rem;
  line-height: 1.5;
}

.resource-beginner-row > a:hover .resource-beginner-copy strong,
.resource-beginner-row > a:hover .resource-beginner-arrow {
  color: var(--md-sys-color-primary);
}

.resource-topic-nav {
  align-items: start;
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: 1rem;
  grid-template-columns: max-content minmax(0, 1fr);
  padding: 1.15rem 0;
}

.resource-topic-nav > strong {
  color: var(--md-sys-color-on-surface);
  padding-top: .45rem;
}

.resource-topic-nav > div {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.25rem;
}

.resource-topic-nav a {
  align-items: center;
  border-bottom: 3px solid transparent;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-weight: 700;
  min-height: 48px;
  padding: .6rem 0;
  text-decoration: none;
}

.resource-topic-nav a:hover,
.resource-topic-nav a[aria-current="page"] {
  border-bottom-color: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-surface);
}

.resource-topic-section {
  scroll-margin-top: 7rem;
}

.resource-topic-section + .resource-topic-section {
  border-top: 2px solid var(--md-sys-color-outline);
  margin-top: 3.5rem;
  padding-top: 3.5rem;
}

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

.resource-topic-heading h2 {
  margin: 0;
}

.resource-topic-heading > a {
  flex: 0 0 auto;
  font-size: .9rem;
  font-weight: 700;
}

.article-sidebar-topics {
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  gap: .65rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
}

.article-sidebar-topics strong {
  color: var(--md-sys-color-on-surface);
  font-size: .86rem;
  text-transform: uppercase;
}

.article-sidebar-topics a {
  font-weight: 700;
}

.related-articles {
  border-top: 2px solid var(--md-sys-color-outline);
  margin-top: 3rem;
  padding-top: 2.5rem;
}

.related-article-list {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.related-article-list a {
  align-items: start;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 150px;
  padding: 1.15rem .75rem 1.15rem 0;
  text-decoration: none;
}

.related-article-list a:nth-child(even) {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  padding-left: 1.25rem;
}

.related-article-list strong,
.related-article-list small {
  display: block;
}

.related-article-list strong {
  color: var(--md-sys-color-primary);
  line-height: 1.35;
}

.related-article-list small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.45;
  margin-top: .4rem;
}

.related-article-list .material-symbols-outlined {
  color: var(--md-sys-color-primary);
}

.related-article-list a:hover strong {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.article-related {
  border-top: 2px solid var(--md-sys-color-outline);
  margin-top: 3rem;
  padding: 2.5rem 0 0;
}

.article-related-heading {
  display: grid;
  gap: .55rem;
  max-width: 760px;
}

.article-related-heading .eyebrow {
  margin-bottom: 0;
}

.article-related-heading p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.article-related-list {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  display: grid;
  gap: 0 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.article-related-list a {
  align-items: start;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 108px;
  padding: 1rem .2rem;
  text-decoration: none;
}

.article-related-list strong,
.article-related-list small {
  display: block;
}

.article-related-list strong {
  color: var(--md-sys-color-primary);
  line-height: 1.35;
}

.article-related-list small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.45;
  margin-top: .25rem;
}

.article-related-list .material-symbols-outlined {
  color: var(--md-sys-color-primary);
  margin-top: .1rem;
}

.article-related-list a:hover strong {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.core-service-hero {
  background: var(--md-sys-color-surface-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 36%, transparent);
}

.core-service-hero .section-heading {
  max-width: 950px;
}

.core-service-hero .section-heading p {
  font-size: clamp(1.05rem, 1.8vw, 1.22rem);
}

.service-booking-card {
  background: color-mix(in srgb, var(--md-sys-color-primary-container) 58%, var(--md-sys-color-surface));
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 28%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 28%, transparent);
  margin-top: 2rem;
}

.service-booking-card .section-inner {
  align-items: center;
  display: grid;
  gap: 1.5rem 2rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-block: clamp(1.25rem, 3vw, 1.9rem);
}

.service-booking-card-copy {
  max-width: 760px;
}

.service-booking-card h2 {
  color: var(--md-sys-color-on-primary-container);
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  margin: .45rem 0 .5rem;
}

.service-booking-card p {
  color: var(--md-sys-color-on-primary-container);
  margin: 0;
}

.service-booking-card-actions {
  align-items: stretch;
  display: grid;
  gap: .65rem;
  justify-items: stretch;
}

.service-booking-card-actions .button {
  margin: 0;
  min-height: 52px;
}

.service-booking-card--paths .section-inner {
  display: block;
}

.service-booking-options {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.2rem;
}

.service-booking-option-card {
  background: color-mix(in srgb, var(--md-sys-color-surface) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--md-sys-color-primary) 30%, transparent);
  color: var(--md-sys-color-on-surface);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  min-height: 168px;
  padding: 1rem;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.service-booking-option-card:hover {
  background: var(--md-sys-color-surface);
  border-color: var(--md-sys-color-primary);
  transform: translateY(-2px);
}

.service-booking-option-card:focus-visible {
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: 3px;
}

.service-booking-option-card strong,
.service-booking-option-card small {
  display: block;
}

.service-booking-option-card strong {
  font-size: 1.05rem;
  line-height: 1.3;
}

.service-booking-option-card small {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.4;
  margin-top: .35rem;
}

.service-booking-option-link {
  align-items: center;
  color: var(--md-sys-color-primary);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 800;
  gap: .2rem;
}

.service-booking-option-link .material-symbols-outlined {
  font-size: 1.1rem;
}

.core-service-facts {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.core-service-facts > div {
  align-items: center;
  display: grid;
  gap: .8rem;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 104px;
  padding: 1.15rem clamp(.8rem, 2.5vw, 1.5rem);
}

.core-service-facts > div + div {
  border-left: 1px solid var(--md-sys-color-outline);
}

.core-service-facts .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.core-service-facts p,
.core-service-facts small,
.core-service-facts strong {
  display: block;
  margin: 0;
}

.core-service-facts small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .78rem;
  font-weight: 750;
  text-transform: uppercase;
}

.core-service-facts strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.06rem;
  line-height: 1.35;
}

.core-service-editorial,
.service-scope-layout,
.service-price-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.core-service-editorial > div + div {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 38%, transparent);
  padding-left: clamp(2rem, 5vw, 4rem);
}

.core-service-editorial h2,
.service-scope-layout h2,
.service-price-layout h2 {
  font-size: clamp(1.9rem, 3vw, 2.65rem);
  margin: .55rem 0 1rem;
}

.core-service-editorial p,
.service-scope-layout p,
.service-price-layout p {
  color: var(--md-sys-color-on-surface-variant);
}

.service-fit-list {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.service-fit-list li {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  color: var(--md-sys-color-on-surface);
  font-weight: 650;
  padding: .8rem .25rem .8rem 1.9rem;
  position: relative;
}

.service-fit-list li::before {
  color: var(--md-sys-color-primary);
  content: "check_circle";
  font-family: "Material Symbols Outlined";
  font-size: 1.25rem;
  left: 0;
  position: absolute;
  top: .75rem;
}

.service-contrast-band {
  background: #1a1724;
  color: rgba(255, 255, 255, .82);
}

.service-contrast-band .eyebrow,
.service-contrast-band a {
  color: #e9ddff;
}

.service-contrast-band h2,
.service-contrast-band h3 {
  color: #ffffff;
}

.service-contrast-band .section-heading p {
  color: rgba(255, 255, 255, .74);
}

.service-path-list {
  border-bottom: 1px solid rgba(255, 255, 255, .25);
  border-top: 1px solid rgba(255, 255, 255, .25);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-path-list article {
  align-content: start;
  display: grid;
  gap: .9rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.4rem;
}

.service-path-list article + article {
  border-left: 1px solid rgba(255, 255, 255, .25);
}

.service-path-list article.is-current {
  background: rgba(228, 217, 244, .16);
  box-shadow: inset 0 4px 0 #e4d9f4;
}

.service-path-list article > span {
  align-items: center;
  border: 2px solid #e4d9f4;
  border-radius: 50%;
  color: #e4d9f4;
  display: inline-flex;
  font-weight: 850;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.service-path-list h3 {
  font-size: 1.28rem;
  margin-bottom: .45rem;
}

.service-path-list p {
  color: rgba(255, 255, 255, .76);
  margin: 0;
}

.service-source-note {
  border-left: 5px solid var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-surface-variant);
  margin: 1.5rem 0 0;
  max-width: 900px;
  padding: .8rem 1rem;
}

.service-source-note a {
  font-weight: 750;
}

.service-evidence-panel {
  background: #1a1724;
  border-radius: var(--radius-xs);
  color: rgba(255, 255, 255, .82);
  padding: clamp(1.25rem, 3vw, 1.8rem);
}

.service-evidence-panel > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 46px;
  justify-content: center;
  margin-bottom: 1rem;
  width: 46px;
}

.service-evidence-panel h3 {
  color: #ffffff;
  margin-bottom: .8rem;
}

.service-evidence-panel p {
  color: rgba(255, 255, 255, .76);
}

.service-evidence-panel a {
  color: #e9ddff;
  font-weight: 750;
}

.service-price-band {
  background: var(--md-sys-color-primary-container);
  color: var(--md-sys-color-on-primary-container);
}

.service-price-band .eyebrow,
.service-price-band h2,
.service-price-band p {
  color: var(--md-sys-color-on-primary-container);
}

.core-service-price-list {
  background: transparent;
  border-bottom: 2px solid var(--md-sys-color-on-primary-container);
  border-top: 2px solid var(--md-sys-color-on-primary-container);
}

.core-service-price-list > div {
  align-items: center;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 122px;
  padding: 1.2rem;
}

.core-service-price-list > div + div {
  border-top: 1px solid var(--md-sys-color-outline);
}

.core-service-price-list :is(h3, h4) {
  font-size: 1.2rem;
  margin-bottom: .35rem;
}

.core-service-price-list p {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.core-service-price-emphasis {
  color: var(--md-sys-color-on-primary-container);
  display: block;
  font-size: .82rem;
  font-weight: 800;
  margin-top: .35rem;
}

.pricing-service-panel .core-service-price-list,
.pricing-recovery-panel .core-service-price-list,
.pricing-focus-layout .core-service-price-list {
  border-color: color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
}

.pricing-service-panel .core-service-price-list > div,
.pricing-recovery-panel .core-service-price-list > div,
.pricing-focus-layout .core-service-price-list > div {
  gap: .8rem;
  min-height: 0;
  padding: 1rem 0;
}

.pricing-recovery-panel .core-service-price-emphasis {
  color: var(--md-sys-color-primary);
}

.core-service-price {
  display: grid;
  justify-items: end;
}

.core-service-price small {
  color: var(--md-sys-color-on-surface-variant);
  font-weight: 750;
  text-transform: uppercase;
}

.core-service-price strong {
  color: var(--md-sys-color-on-surface);
  font-size: 2rem;
  line-height: 1.15;
}

.core-service-price span {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .86rem;
}

.service-final-cta {
  background: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
}

.service-final-cta .section-inner {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}

.service-final-cta span {
  color: #e9ddff;
  font-size: .84rem;
  font-weight: 850;
  text-transform: uppercase;
}

.service-final-cta h2 {
  color: #ffffff;
  margin: .35rem 0 .55rem;
}

.service-final-cta p {
  color: rgba(255, 255, 255, .76);
  margin: 0;
}

.red-light-benefits .section-heading,
.red-light-system .section-heading {
  max-width: 880px;
}

.red-light-session-flow .section-heading {
  align-items: end;
  display: grid;
  gap: clamp(1.5rem, 5vw, 5rem);
  grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
  max-width: none;
}

.red-light-session-flow .section-heading h2,
.red-light-session-flow .section-heading p {
  margin-bottom: 0;
}

.red-light-session-flow .section-heading h2 {
  max-width: 520px;
}

.red-light-session-flow .section-heading p {
  max-width: 530px;
}

.red-light-benefit-list,
.red-light-wavelength-list,
.red-light-treatment-flow {
  border-bottom: 1px solid var(--md-sys-color-outline);
  border-top: 1px solid var(--md-sys-color-outline);
}

.red-light-benefit-list article {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 1.5rem 0;
}

.red-light-benefit-list article + article,
.red-light-wavelength + .red-light-wavelength,
.red-light-treatment-flow li + li {
  border-top: 1px solid var(--md-sys-color-outline);
}

.red-light-benefit-list .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-primary-container);
  border-radius: 50%;
  color: var(--md-sys-color-on-primary-container);
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.red-light-benefit-list h3,
.red-light-system-notes h3 {
  font-size: 1.15rem;
  margin-bottom: .28rem;
}

.red-light-benefit-list p,
.red-light-system-notes p,
.red-light-wavelength p,
.red-light-treatment-flow span {
  color: var(--md-sys-color-on-surface-variant);
  margin: 0;
}

.red-light-wavelength {
  align-items: center;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(140px, .65fr) minmax(130px, .55fr) minmax(0, 1.8fr);
  padding: 1.45rem 0;
}

.red-light-wavelength > span {
  color: var(--md-sys-color-primary);
  font-size: .86rem;
  font-weight: 850;
}

.red-light-wavelength h3 {
  font-size: 1.2rem;
  margin: 0;
}

.red-light-system-notes {
  border-bottom: 1px solid var(--md-sys-color-outline);
  display: flex;
  margin-top: 1.5rem;
}

.red-light-system-notes > div {
  flex: 1 1 0;
  padding: 1.35rem 1.5rem 1.35rem 0;
}

.red-light-system-notes > div + div {
  border-left: 1px solid var(--md-sys-color-outline);
  padding-left: 1.5rem;
  padding-right: 0;
}

.red-light-treatment-flow {
  counter-reset: red-light-step;
  list-style: none;
  margin: 0;
  padding: 0;
}

.red-light-treatment-flow li {
  align-items: start;
  counter-increment: red-light-step;
  display: grid;
  gap: 1rem;
  grid-template-columns: 58px minmax(0, 1fr);
  padding: 1.45rem 0;
}

.red-light-treatment-flow li::before {
  color: var(--md-sys-color-primary);
  content: "0" counter(red-light-step);
  font-size: 1.05rem;
  font-weight: 850;
  letter-spacing: .06em;
  padding-top: .1rem;
}

.red-light-treatment-flow strong,
.red-light-treatment-flow span {
  display: block;
}

.red-light-treatment-flow strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.12rem;
  margin-bottom: .28rem;
}

.faq-hero {
  background: var(--md-sys-color-primary-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 48%, transparent);
}

.faq-hero .section-heading {
  max-width: 920px;
}

.faq-topic-nav {
  background: var(--md-sys-color-surface);
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--radius-xs);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.faq-topic-nav a {
  align-content: center;
  color: var(--md-sys-color-on-surface);
  display: grid;
  gap: .25rem;
  min-height: 76px;
  padding: .9rem 1rem;
  text-decoration: none;
}

.faq-topic-nav a + a {
  border-left: 1px solid var(--md-sys-color-outline);
}

.faq-topic-nav a:hover {
  background: color-mix(in srgb, var(--md-sys-color-primary-container) 55%, transparent);
}

.faq-topic-nav a:focus-visible {
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: -3px;
}

.faq-topic-nav span {
  color: var(--md-sys-color-primary);
  font-size: .76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.faq-topic-nav strong {
  font-size: 1rem;
  line-height: 1.3;
}

.faq-category {
  scroll-margin-top: 7rem;
}

.faq-category .section-heading {
  max-width: 900px;
}

.faq-list {
  border-top: 1px solid var(--md-sys-color-outline);
  margin-inline: auto;
  max-width: 1000px;
}

.faq-item {
  border-bottom: 1px solid var(--md-sys-color-outline);
}

.faq-item > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  min-height: 68px;
  padding: 1rem 0;
}

.faq-item > summary::-webkit-details-marker {
  display: none;
}

.faq-item > summary:focus-visible {
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: 5px;
}

.faq-item > summary > span:first-child {
  color: var(--md-sys-color-on-surface);
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.4;
}

.faq-item > summary .material-symbols-outlined {
  color: var(--md-sys-color-primary);
  transition: transform 160ms ease;
}

.faq-item[open] > summary .material-symbols-outlined {
  transform: rotate(180deg);
}

.faq-answer {
  color: var(--md-sys-color-on-surface-variant);
  line-height: 1.7;
  max-width: 900px;
  padding: 0 3rem 1.25rem 0;
}

.faq-answer p:first-child {
  margin-top: 0;
}

.faq-answer p:last-child,
.faq-answer ul:last-child {
  margin-bottom: 0;
}

.faq-answer a,
.faq-more-link a {
  font-weight: 750;
}

.faq-more-link {
  margin: 1.25rem 0 0;
}

.faq-final {
  background: #1a1724;
  color: #ffffff;
}

.faq-final .section-inner {
  align-items: center;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}

.faq-final .eyebrow {
  color: #e9ddff;
}

.faq-final h2 {
  color: #ffffff;
  margin: .35rem 0 .55rem;
}

.faq-final p {
  color: rgba(255, 255, 255, .78);
  margin: 0;
}

.policy-hero {
  background: var(--md-sys-color-surface-container);
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 22%, transparent);
}

.policy-hero .section-heading {
  max-width: 900px;
}

.policy-updated {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  font-weight: 700;
  margin: .25rem 0 0;
}

.policy-summary-grid {
  border: 1px solid var(--md-sys-color-outline);
  border-radius: var(--radius-xs);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2rem;
  overflow: hidden;
}

.policy-summary-item {
  align-content: start;
  background: var(--md-sys-color-surface);
  display: grid;
  gap: .4rem;
  min-height: 155px;
  padding: 1.25rem;
}

.policy-summary-item + .policy-summary-item {
  border-left: 1px solid var(--md-sys-color-outline);
}

.policy-summary-item .material-symbols-outlined {
  color: var(--md-sys-color-primary);
}

.policy-summary-item strong {
  color: var(--md-sys-color-on-surface);
  font-size: 1.4rem;
}

.policy-summary-item small {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .9rem;
  line-height: 1.45;
}

.privacy-principles {
  background: var(--md-sys-color-primary-container);
  border: 2px solid var(--md-sys-color-on-primary-container);
  border-radius: var(--radius-xs);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.privacy-principles p {
  align-items: flex-start;
  display: flex;
  gap: .7rem;
  margin: 0;
  padding: 1.15rem;
}

.privacy-principles p + p {
  border-left: 1px solid color-mix(in srgb, var(--md-sys-color-on-primary-container) 35%, transparent);
}

.privacy-principles .material-symbols-outlined {
  flex: 0 0 auto;
}

.privacy-principles strong {
  line-height: 1.4;
}

.policy-layout {
  align-items: start;
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(210px, 260px) minmax(0, 800px);
  justify-content: center;
}

.policy-toc {
  background: var(--md-sys-color-primary-container);
  border: 2px solid var(--md-sys-color-on-primary-container);
  border-radius: var(--radius-xs);
  display: grid;
  gap: .15rem;
  padding: 1.1rem;
  position: sticky;
  top: 112px;
}

.policy-toc h2 {
  color: var(--md-sys-color-on-primary-container);
  font-size: 1.05rem;
  margin: 0 0 .45rem;
}

.policy-toc a {
  align-items: center;
  border-radius: 4px;
  color: var(--md-sys-color-on-primary-container);
  display: flex;
  font-size: .9rem;
  font-weight: 700;
  min-height: 48px;
  padding: .55rem .6rem;
  text-decoration: none;
}

.policy-toc a:hover {
  background: color-mix(in srgb, var(--md-sys-color-on-primary-container) 10%, transparent);
  text-decoration: underline;
}

.policy-content {
  min-width: 0;
}

.policy-section {
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 32%, transparent);
  padding: 0 0 2.5rem;
  scroll-margin-top: 7rem;
}

.policy-section + .policy-section {
  padding-top: 2.5rem;
}

.policy-section-heading {
  align-items: flex-start;
  display: flex;
  gap: .9rem;
  margin-bottom: 1rem;
}

.policy-section-heading > .material-symbols-outlined {
  align-items: center;
  background: var(--md-sys-color-secondary-container);
  border-radius: 50%;
  color: var(--md-sys-color-primary);
  display: flex;
  flex: 0 0 auto;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.policy-section-heading .eyebrow {
  margin-bottom: .3rem;
}

.policy-section h2 {
  font-size: clamp(1.5rem, 2.8vw, 2.15rem);
}

.policy-section ul {
  margin: .75rem 0 1rem;
  padding-left: 1.3rem;
}

.policy-section li + li {
  margin-top: .65rem;
}

.policy-note,
.package-policy-link {
  background: var(--md-sys-color-tertiary-container);
  border-left: 5px solid var(--md-sys-color-tertiary);
  border-radius: var(--radius-xs);
  color: var(--md-sys-color-on-surface);
  padding: 1rem 1.1rem;
}

.policy-contact {
  align-items: center;
  border-bottom: 0;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
}

.policy-contact .button {
  flex: 0 0 auto;
}

.package-policy-link a {
  color: inherit;
  font-weight: 700;
}

.booking-heading {
  gap: .55rem;
  margin-bottom: .35rem;
  max-width: 640px;
}

.booking-after-calendar {
  border: 1px solid var(--md-sys-color-outline);
  margin-top: 1rem;
}

.booking-support-details {
  color: var(--md-sys-color-on-surface);
}

.booking-support-details + .booking-support-details {
  border-top: 1px solid var(--md-sys-color-outline);
}

.booking-support-details > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: .8rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  list-style: none;
  min-height: 56px;
  padding: .9rem 1.15rem;
}

.booking-support-details > summary::-webkit-details-marker {
  display: none;
}

.booking-support-details > summary > .material-symbols-outlined:first-child {
  color: var(--md-sys-color-primary);
}

.booking-support-details summary strong {
  display: block;
  font-size: 1.05rem;
}

.booking-details-chevron {
  color: var(--md-sys-color-on-surface-variant);
  transition: transform .16s ease;
}

.booking-support-details[open] .booking-details-chevron {
  transform: rotate(180deg);
}

.booking-support-details[open] > summary {
  background: var(--md-sys-color-surface-container);
}

.booking-support-content {
  border-top: 1px solid var(--md-sys-color-outline);
  padding: 1rem 1.15rem;
}

.booking-support-content > :first-child {
  margin-top: 0;
}

.booking-support-content > :last-child {
  margin-bottom: 0;
}

.booking-detail-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.25rem;
}

.booking-detail-links a {
  font-weight: 750;
}

.booking-triage > summary > .material-symbols-outlined:first-child,
.booking-triage .booking-details-chevron {
  color: #735800;
}

.booking-triage ul {
  display: grid;
  gap: .4rem 1.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding-left: 1.2rem;
}

.booking-triage li {
  line-height: 1.5;
}

.booking-triage p {
  border-top: 1px solid rgba(115, 88, 0, .35);
  font-weight: 750;
  margin: .8rem 0 0;
  padding-top: .7rem;
}

.package-policy-link {
  align-items: flex-start;
  display: flex;
  gap: .7rem;
  margin: 1.5rem 0 0;
}

.package-policy-link .material-symbols-outlined {
  flex: 0 0 auto;
}

.toc-card {
  align-self: start;
  background: var(--md-sys-color-surface-container);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  position: sticky;
  top: 104px;
}

.footer {
  background: #1a1724;
  color: rgba(255, 255, 255, .85);
  padding: 1.4rem 1.25rem;
}

.footer a {
  color: #e9ddff;
}

.footer p {
  margin-bottom: .6rem;
}

.footer .contact-note {
  color: rgba(255, 255, 255, .72);
}

.footer-contact-links {
  align-items: center;
  display: flex;
  gap: .7rem;
  margin-bottom: .1rem;
}

.footer-contact-links a {
  align-items: center;
  display: inline-flex;
  font-size: .9rem;
  font-weight: 500;
  min-height: 48px;
  text-decoration: none;
  white-space: nowrap;
}

.footer-contact-links a:hover {
  text-decoration: underline;
}

.footer-main-links,
.footer-location-links,
.footer-policy-links {
  margin-top: .45rem;
}

.footer-main-links {
  border-top: 1px solid rgba(255, 255, 255, .2);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: .85rem;
}

.footer-main-links a {
  align-items: center;
  display: inline-flex;
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.25;
  min-height: 48px;
  padding: .5rem .65rem .4rem 0;
}

.footer-main-links a + a {
  border-left: 1px solid rgba(255, 255, 255, .2);
  padding-left: .65rem;
}

.footer-location-links {
  display: grid;
  gap: 0;
}

.footer-location-links a {
  align-items: center;
  display: inline-flex;
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.3;
  min-height: 48px;
  padding: .35rem 0;
}

.footer-location-links a + a {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.footer-policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .9rem;
}

.footer-policy-links a {
  align-items: center;
  display: inline-flex;
  font-size: .9rem;
  font-weight: 500;
  min-height: 48px;
  padding: .35rem .2rem;
}

.footer-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(130px, .65fr) minmax(180px, .85fr) minmax(260px, 1.5fr);
  margin: 0 auto;
  max-width: 940px;
}

.footer-brand {
  align-self: start;
}

.footer-brand h2 {
  font-size: 1.5rem;
}

.footer h3 {
  font-size: 1.08rem;
  margin-bottom: .45rem;
}

.footer-location strong {
  display: inline-block;
  margin-top: .2rem;
}

.footer h2,
.footer h3 {
  color: #ffffff;
}

.cms-note {
  background: var(--md-sys-color-secondary-container);
  border-radius: var(--radius-md);
  color: var(--md-sys-color-on-surface);
  padding: 1rem;
}

.booking-route-selector {
  margin-top: 1rem;
}

.booking-route-list {
  border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
  display: grid;
  margin-top: 0;
}

.booking-route-card {
  background: transparent;
  border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
  color: var(--md-sys-color-on-surface);
  display: flex;
  flex-direction: column;
  padding: 1rem;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}

.booking-route-card:hover {
  background: var(--md-sys-color-secondary-container);
}

.booking-route-card:focus-visible {
  outline: 3px solid var(--md-sys-color-primary);
  outline-offset: 3px;
}

.booking-route-copy {
  align-items: baseline;
  column-gap: clamp(1rem, 3vw, 2rem);
  display: grid;
  grid-template-columns: minmax(250px, .9fr) minmax(0, 1.45fr);
  min-width: 0;
}

.booking-route-copy small,
.booking-route-copy strong,
.booking-route-copy em {
  display: block;
}

.booking-route-copy strong {
  color: var(--md-sys-color-primary);
  font-size: 1.05rem;
  line-height: 1.34;
}

.booking-route-copy em {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .9rem;
  font-style: normal;
  line-height: 1.42;
  margin: 0;
}

.booking-first {
  scroll-margin-top: 7rem;
}

.booking-below-calendar {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.5rem;
  justify-content: space-between;
  margin-top: .8rem;
}

.booking-below-calendar p {
  color: var(--md-sys-color-on-surface-variant);
  font-size: .92rem;
  margin: 0;
}

@media (max-width: 900px) {
  .policy-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .policy-summary-item:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .policy-summary-item:nth-child(4) {
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .privacy-principles,
  .policy-layout {
    grid-template-columns: 1fr;
  }

  .privacy-principles p + p {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-on-primary-container) 35%, transparent);
  }

  .policy-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .policy-toc h2 {
    grid-column: 1 / -1;
  }

  .nav-shell {
    align-items: center;
    flex-direction: row;
    min-height: 64px;
    padding-bottom: .5rem;
    padding-top: .5rem;
  }

  .desktop-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
  }

  .site-header:has(.mobile-nav[open]) {
    z-index: 30;
  }

  body:has(.mobile-nav[open]) {
    overflow: hidden;
  }

  body:has(.mobile-nav[open]) .mobile-book-bar {
    opacity: 0;
    pointer-events: none;
  }

  .mobile-book-bar {
    align-items: center;
    background: #a2304b;
    border: 2px solid #a2304b;
    border-radius: var(--radius-sm);
    bottom: calc(.65rem + env(safe-area-inset-bottom));
    box-shadow: 0 8px 20px rgba(25, 10, 20, .3);
    color: #ffffff;
    display: flex;
    font-size: 1rem;
    font-weight: 800;
    gap: .5rem;
    justify-content: center;
    left: 50%;
    min-height: 52px;
    padding: .5rem 1rem;
    position: fixed;
    text-decoration: none;
    transform: translateX(-50%);
    width: min(560px, calc(100% - 2rem));
    z-index: 20;
  }

  .mobile-book-bar:hover {
    background: #7f233a;
    border-color: #7f233a;
  }

  .mobile-book-bar:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
  }

  .footer {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
  }

  .grid.two,
  .grid.three,
  .recovery-proof,
  .proof-strip,
  .trust-strip,
  .praise-grid,
  .reference-grid,
  .payment-grid,
  .offer-panel,
  .red-light-billboard-inner,
  .post-op-education-intro,
  .post-op-support-points,
  .post-op-appointment-grid,
  .post-op-recovery-paths,
  .insurance-term-grid,
  .insurance-document-grid,
  .insurance-responsibility-grid,
  .insurance-question-list,
  .article-layout,
  .related-article-list,
  .article-related-list,
  .booking-action-panel,
  .fibrosis-intro-grid,
  .service-phase-layout,
  .service-choice-columns,
  .practitioner-credential-panel,
  .practitioner-story-layout,
  .visit-quick-facts,
  .visit-preparation-layout,
  .visit-payment-grid,
  .provider-quick-facts,
  .provider-documentation-grid,
  .location-hero-inner,
  .location-editorial,
  .location-support-grid,
  .core-service-facts,
  .core-service-editorial,
  .service-scope-layout,
  .service-price-layout,
  .post-op-procedure-groups,
  .pricing-service-grid,
  .pricing-recovery-grid,
  .pricing-focus-layout,
  .service-path-list {
    grid-template-columns: 1fr;
  }

  .about-open-grid article + article,
  .care-structure-grid article + article {
    border-left: 0;
  }

  .about-open-grid article + article,
  .care-structure-grid article + article {
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
  }

  .trust-strip div {
    padding-inline: 0;
  }

  .trust-strip div + div,
  .contact-info-grid article + article,
  .post-op-intro-grid article + article,
  .service-info-grid article + article,
  .post-op-procedure-groups > div + div,
  .provider-quick-facts > div + div,
  .provider-documentation-grid > div + div {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .provider-documentation-grid > div + div {
    border-color: rgba(255, 255, 255, .22);
    padding-left: 0;
    padding-top: 2rem;
  }

  .provider-care-list a {
    align-items: start;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .provider-care-arrow {
    display: none;
  }

  .post-op-appointment-option + .post-op-appointment-option {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .post-op-recovery-path + .post-op-recovery-path {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .contact-info-grid article,
  .post-op-intro-grid article,
  .service-info-grid article {
    padding-inline: 0;
  }

  .post-op-procedure-groups > div {
    border-left: 0;
    padding-inline: 0;
  }

  .pricing-service-panel,
  .pricing-recovery-panel {
    padding-inline: 0;
  }

  .pricing-service-panel + .pricing-service-panel,
  .pricing-recovery-panel + .pricing-recovery-panel {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
    padding-left: 0;
    padding-right: 0;
  }

  .pricing-service-panel:first-child,
  .pricing-recovery-panel:first-child {
    border-top: 0;
  }

  .pricing-focus-layout > div:first-child {
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 52%, transparent);
    padding: 0 0 1.25rem;
  }

  .post-op-credential-actions {
    margin-left: 0;
  }

  .practitioner-portrait {
    max-width: 300px;
  }

  .visit-quick-facts > div + div {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .visit-payment-grid article + article {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .32);
  }

  .home-care-intro-inner {
    align-items: start;
  }

  .related-article-list a:nth-child(even) {
    border-left: 0;
    padding-left: 0;
  }

  .practitioner-story-heading {
    position: static;
  }

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

  .appointment-experience-intro {
    position: static;
  }

  .post-op-support-points article {
    padding: 1.1rem 0;
  }

  .post-op-support-points article + article {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .2);
  }

  .home-practice-summary .proof-strip article + article {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 55%, transparent);
  }

  .reference-grid.reference-grid-two {
    grid-template-columns: 1fr;
  }

  .insurance-document-grid > div,
  .insurance-document-grid > div:first-child {
    padding: 1.5rem 0;
  }

  .insurance-term-grid article,
  .insurance-term-grid article:first-child {
    padding: 1.5rem 0;
  }

  .insurance-term-grid article + article {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  }

  .insurance-document-grid > div + div {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
  }

  .insurance-responsibility-grid > div + div {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .22);
    padding-left: 0;
    padding-top: 2rem;
  }

  .location-editorial > div + div {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 30%, transparent);
    padding-left: 0;
    padding-top: 2rem;
  }

  .service-choice-columns > * + * {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 48%, transparent);
  }

  .service-choice-columns > * {
    min-height: 0;
  }

  .core-service-facts > div + div,
  .service-path-list article + article {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .service-path-list article + article {
    border-top-color: rgba(255, 255, 255, .25);
  }

  .service-session-flow {
    grid-template-columns: 1fr;
  }

  .service-session-flow .timeline-card + .timeline-card {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);
  }

  .core-service-editorial > div + div {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 38%, transparent);
    padding-left: 0;
    padding-top: 2rem;
  }

  .service-final-cta .section-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .red-light-system-notes {
    flex-direction: column;
  }

  .red-light-session-flow .section-heading {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .red-light-system-notes > div + div {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
    padding-left: 0;
  }

  .red-light-system-notes > div {
    padding-right: 0;
  }

  .faq-topic-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .faq-topic-nav a {
    grid-column: span 2;
  }

  .faq-topic-nav a:nth-child(4) {
    border-left: 0;
    grid-column: span 3;
  }

  .faq-topic-nav a:nth-child(n + 4) {
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .faq-topic-nav a:nth-child(5) {
    grid-column: span 3;
  }

  .faq-final .section-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .location-hero-inner .section-heading h1 {
    font-size: 2.85rem;
  }

  .location-editorial h2,
  .location-final-cta h2 {
    font-size: 2rem;
  }

  .location-final-cta .section-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .location-final-cta .actions {
    flex: 1 1 auto;
  }

  .location-link-list {
    grid-template-columns: 1fr;
  }

  .location-link-list a:nth-child(odd) {
    margin-right: 0;
  }

  .hero {
    min-height: auto;
    padding-top: 3rem;
  }

  .mini-facts {
    grid-template-columns: 1fr;
  }

  .red-light-visual {
    min-height: 330px;
  }

  .one-line-copy,
  .wide-line-copy {
    white-space: normal;
  }
}

@media (max-width: 720px) {
  .pricing-page-heading {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .pricing-page-savings {
    justify-self: start;
  }

  .red-light-hero-media {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .red-light-hero-media > img {
    height: 260px;
    object-position: right center;
    position: static;
  }

  .red-light-hero-copy {
    padding: 1.6rem 1.25rem 1.8rem;
  }

  .red-light-hero-facts {
    flex-wrap: wrap;
  }

  .red-light-hero-facts > span {
    flex-basis: calc(50% - .5rem);
    padding: .7rem .8rem;
  }

  .red-light-hero-facts > span:first-child {
    padding-left: 0;
  }

  .red-light-hero-facts > span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .22);
    flex-basis: 100%;
    padding-left: 0;
  }

  .red-light-wavelength {
    gap: .28rem;
    grid-template-columns: 1fr;
  }

  .red-light-treatment-flow li {
    gap: .75rem;
    grid-template-columns: 45px minmax(0, 1fr);
  }

  .footer-grid {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .post-op-procedure-list {
    grid-template-columns: 1fr;
  }

  body {
    overflow-x: hidden;
  }

  h1 {
    font-size: 2.15rem;
  }

  h2 {
    font-size: 1.65rem;
  }

  h3 {
    font-size: 1.2rem;
  }

  .section-heading {
    gap: .55rem;
    margin-bottom: 1.35rem;
  }

  .section-heading p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .faq-topic-nav {
    grid-template-columns: 1fr;
  }

  .faq-topic-nav a + a {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .faq-topic-nav a {
    grid-column: auto;
    min-height: 66px;
  }

  .faq-answer {
    padding-right: 0;
  }

  .home-resource-link {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem 0;
  }

  .home-resource-link > span:first-child,
  .home-resource-link strong {
    grid-column: 1;
  }

  .home-resource-link .material-symbols-outlined {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .visit-quick-facts > div,
  .visit-detail-list article,
  .visit-payment-grid article {
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .visit-checklist {
    border-left: 0;
    border-top: 5px solid var(--md-sys-color-primary);
    padding: 1.15rem 0 0;
  }

  .resource-topic-nav {
    grid-template-columns: 1fr;
  }

  .resource-beginner-row {
    grid-template-columns: 1fr;
  }

  .resource-beginner-row > a + a {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .resource-topic-nav > strong {
    padding-top: 0;
  }

  .resource-topic-heading {
    align-items: start;
    flex-direction: column;
  }

  .article-breadcrumbs [aria-current="page"],
  .article-breadcrumbs span:last-child {
    display: none;
  }

  .announcement {
    font-size: .9rem;
    line-height: 1.35;
    padding: .55rem .75rem;
  }

  .nav-shell {
    gap: .75rem;
    min-height: 60px;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .brand {
    line-height: 1.25;
    min-width: 0;
  }

  .brand small {
    font-size: .72rem;
  }

  .mobile-nav-panel {
    border-radius: var(--radius-sm);
    max-height: calc(100dvh - 8.25rem);
    padding: .4rem;
    width: min(330px, calc(100vw - 1.5rem));
  }

  .mobile-nav-panel > a,
  .mobile-nav-panel .service-nav-menu > summary {
    min-height: 48px;
    padding: .62rem .7rem;
  }

  .mobile-nav-panel .service-nav-panel {
    padding: .4rem;
  }

  .mobile-nav-panel .service-nav-panel a {
    min-height: 52px;
    padding: .58rem .65rem;
  }

  .policy-summary-grid {
    grid-template-columns: 1fr;
  }

  .policy-toc {
    grid-template-columns: 1fr;
  }

  .policy-summary-item {
    min-height: 0;
  }

  .policy-summary-item + .policy-summary-item {
    border-left: 0;
    border-top: 1px solid var(--md-sys-color-outline);
  }

  .policy-contact {
    align-items: flex-start;
    flex-direction: column;
  }

  .booking-triage ul {
    grid-template-columns: 1fr;
  }

  .booking-route-copy {
    gap: .25rem;
    grid-template-columns: 1fr;
  }

  .booking-route-card {
    min-height: 0;
  }

  .booking-below-calendar {
    display: block;
  }

  .booking-below-calendar p + p {
    margin-top: .45rem;
  }

  .nav-links a {
    padding: .45rem .62rem;
  }

  main section {
    padding: 2.6rem 1rem;
  }

  .fibrosis-series-planner article {
    grid-template-columns: 1fr;
  }

  .hero {
    padding-bottom: 1.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 2.15rem;
  }

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

  .hero p {
    font-size: 1.04rem;
    line-height: 1.55;
  }

  .hero-actions {
    gap: .6rem;
    margin-top: 1.1rem;
  }

  .hero-evidence-row {
    gap: .42rem;
    margin-top: 1.05rem;
  }

  .hero-evidence-row li {
    font-size: .83rem;
  }

  .hero-evidence-row li + li::before {
    margin-right: .42rem;
  }

  .hero .eyebrow {
    border-radius: var(--radius-xs);
    line-height: 1.35;
    text-align: left;
  }

  .home-care-intro-inner {
    gap: .85rem;
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .home-care-intro-icon {
    font-size: 24px;
    height: 44px;
    width: 44px;
  }

  .home-care-intro h2 {
    font-size: 1.55rem;
  }

  .home-care-intro p {
    font-size: .98rem;
    line-height: 1.55;
  }

  .offer-panel {
    border-radius: var(--radius-sm);
    gap: 1rem;
    padding: 1.1rem;
  }

  .offer-panel h2 {
    font-size: 1.9rem;
  }

  .offer-copy .eyebrow {
    font-size: .98rem;
  }

  .offer-action {
    gap: .55rem;
  }

  .offer-savings,
  .cash-note {
    min-height: 100px;
    padding: .8rem .55rem;
  }

  .offer-savings span,
  .cash-note span {
    font-size: .72rem;
    line-height: 1.3;
  }

  .offer-panel .offer-book {
    font-size: 1rem;
    min-height: 52px;
  }

  .booking-step > summary {
    gap: .7rem;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-height: 68px;
    padding: .6rem 0;
  }

  .booking-step-title {
    font-size: 1rem;
    line-height: 1.35;
  }

  .booking-step p {
    font-size: .95rem;
    line-height: 1.55;
  }

  .booking-step-details {
    padding: .1rem 0 1rem;
  }

  .booking-path-link {
    min-height: 48px;
  }

  .home-practice-summary .proof-strip article {
    padding: 1rem .25rem;
  }

  .home-practice-summary .proof-strip article + article {
    border-left: 0;
  }

  .reference-card {
    padding: 1rem;
  }

  .location-hero-inner .section-heading h1 {
    font-size: 2.15rem;
  }

  .service-row {
    align-items: start;
    gap: .75rem;
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .service-row .service-arrow {
    display: none;
  }

  .location-final-cta .actions {
    width: 100%;
  }

  .location-contact-list > div {
    gap: .1rem;
    grid-template-columns: 1fr;
    padding: .55rem 0;
  }

  .location-contact-list dd,
  .policy-section a {
    overflow-wrap: anywhere;
  }

  .location-resource-list > a {
    align-items: flex-start;
  }

  .practitioner-story-copy {
    border-left: 0;
    border-top: 3px solid var(--md-sys-color-primary);
    padding-left: 0;
    padding-top: 1.25rem;
  }

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

  .article-body h1 {
    font-size: 2rem;
  }

  .article-body {
    border-radius: var(--radius-sm);
    padding: 1.1rem;
  }

  .article-body h2,
  .article-body h3,
  .article-body h4 {
    margin-top: 1.55rem;
  }

  .article-body a,
  .article-body li,
  .article-body p {
    overflow-wrap: anywhere;
  }

  .article-hero-image {
    margin: 1rem 0;
  }

  .article-related {
    margin-top: 2.5rem;
    padding: 2rem 0 0;
  }

  .article-related-list a {
    min-height: 0;
  }

  .pricing-path-nav {
    grid-template-columns: 1fr;
  }

  .pricing-path-nav a {
    min-height: 0;
  }

  .pricing-path-nav a + a {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--md-sys-color-outline) 38%, transparent);
  }

  .pricing-category-section {
    margin-top: 2.25rem;
    padding-top: 1.5rem;
  }

  .pricing-category-heading {
    gap: .75rem;
  }

  .pricing-category-action,
  .pricing-final-booking {
    display: grid;
  }

  .pricing-category-booking,
  .pricing-final-booking-action {
    justify-content: center;
    width: 100%;
  }

  .pricing-final-booking {
    gap: 1rem;
    margin-top: 2.25rem;
    padding-top: 1.5rem;
  }

  .red-light-billboard {
    padding: 2.75rem 1rem;
  }

  .red-light-billboard h2 {
    font-size: 1.75rem;
  }

  .red-light-visual {
    border-radius: var(--radius-sm);
    min-height: 280px;
  }

  .teaser-points {
    gap: .5rem;
  }

  .teaser-points span {
    font-size: .92rem;
  }

  .teaser-points span + span::before {
    margin-right: .5rem;
  }

  .booking-service-option-content {
    margin-left: 0;
  }

  .booking-service-option-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .booking-service-option-actions .button,
  .booking-service-detail-link {
    width: 100%;
  }

  .core-service-price-list > div {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .core-service-price {
    justify-items: start;
  }

  .service-final-cta .actions {
    width: 100%;
  }

  .service-booking-card .section-inner,
  .service-booking-options {
    grid-template-columns: 1fr;
  }

  .service-booking-card-actions,
  .service-booking-card-actions .button {
    width: 100%;
  }

  .payment-card {
    align-items: center;
    gap: .65rem .8rem;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 1rem;
  }

  .payment-icon {
    height: 44px;
    width: 44px;
  }

  .payment-card p,
  .payment-card small {
    grid-column: 1 / -1;
  }

  .faq-item > summary {
    gap: .65rem;
    min-height: 60px;
    padding: .85rem 0;
  }

  .faq-item > summary > span:first-child {
    font-size: 1rem;
  }

  .faq-answer {
    line-height: 1.62;
    padding-bottom: 1rem;
  }

  .footer {
    padding: 1.1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));
  }

  .footer-grid {
    gap: .9rem;
  }

  .footer p {
    font-size: .92rem;
    line-height: 1.45;
    margin-bottom: .4rem;
  }

  .footer .contact-note {
    font-size: .82rem;
  }

  .footer-contact-links {
    gap: .55rem;
  }

  .footer-contact-links a {
    font-size: .84rem;
  }

  .footer-main-links {
    margin-top: .65rem;
  }

  .footer-main-links a,
  .footer-policy-links a {
    font-size: .86rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .footer-policy-links {
    margin-top: .45rem;
  }

  .button,
  .pricing-item-title {
    overflow-wrap: anywhere;
  }

  .button {
    line-height: 1.3;
    text-align: center;
    white-space: normal;
    width: 100%;
  }
}

@media (max-width: 360px) {
  h1 {
    font-size: 1.95rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  main section {
    padding: 2.25rem .85rem;
  }

  .nav-shell {
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .brand > span {
    font-size: .95rem;
  }

  .brand small {
    font-size: .66rem;
  }

  .hero {
    padding-left: .85rem;
    padding-right: .85rem;
  }

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

  .offer-action {
    gap: .5rem;
  }

  .offer-savings,
  .cash-note {
    min-height: 104px;
    padding: .75rem .35rem;
  }

  .offer-savings strong,
  .cash-note strong {
    font-size: 1.8rem;
  }

  .offer-savings span,
  .cash-note span {
    font-size: .7rem;
    line-height: 1.2;
  }

  .included-note,
  .insurance-summary,
  .insurance-call-script {
    grid-template-columns: 1fr;
  }

  .footer-main-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0 .85rem;
    margin-top: .55rem;
  }

  .footer-main-links a {
    min-height: 48px;
    padding: .45rem 0;
  }

  .footer-main-links a + a {
    border-left: 0;
    padding-left: 0;
  }
}
