/* Clinic page parity layer. Composition follows the production homepage. */

body.clinic-industry-template {
  --clinic-line: rgba(10, 10, 10, 0.16);
  --clinic-line-light: rgba(255, 255, 255, 0.16);
  background: var(--cream);
}

/* Industry diagnosis: approved editorial three-step result panel. */
html.industry-front-office-page #leaks .clinic-editorial-detail {
  position: relative;
  isolation: isolate;
  overflow: visible;
  padding: 0;
  border: 1px solid var(--black);
  background: var(--white, #fff);
  box-shadow: 14px 14px 0 rgba(8, 8, 8, 0.07);
}

html.industry-front-office-page #leaks .clinic-editorial-detail::before {
  display: none;
}

html.industry-front-office-page #leaks .clinic-editorial-detail:hover {
  box-shadow: 14px 14px 0 rgba(8, 8, 8, 0.07);
}

html.industry-front-office-page #leaks .clinic-editorial-topline {
  display: block;
  width: 100%;
  height: 8px;
  background: linear-gradient(90deg, var(--cyan), #55aaff 55%, var(--violet));
}

html.industry-front-office-page #leaks .clinic-editorial-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding: 42px 38px 32px;
  border-bottom: 2px solid var(--black);
}

html.industry-front-office-page #leaks .clinic-editorial-head > div {
  min-width: 0;
}

html.industry-front-office-page #leaks .clinic-editorial-head .pps-label {
  display: block;
  margin: 0 0 18px;
  color: #55aaff;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

html.industry-front-office-page #leaks .clinic-editorial-head .pps-title {
  margin: 0;
  padding: 0 0.12em 0.08em 0;
  font-family: var(--font-display);
  font-size: clamp(60px, 5.8vw, 88px);
  font-style: italic;
  font-weight: 800;
  line-height: 0.94;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

html.industry-front-office-page #leaks .clinic-editorial-proof {
  max-width: 34ch;
  margin: 0;
  font-family: var(--font-display);
  font-size: 17px;
  font-style: italic;
  font-weight: 800;
  line-height: 1.05;
  text-align: right;
  text-transform: uppercase;
}

html.industry-front-office-page #leaks .clinic-editorial-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 2px solid var(--black);
}

html.industry-front-office-page #leaks .clinic-editorial-step {
  min-width: 0;
  min-height: 320px;
  padding: 38px 34px 34px;
  border-right: 1px solid var(--black);
  background: var(--white, #fff);
  transition: background 0.24s var(--ease), box-shadow 0.24s var(--ease);
}

html.industry-front-office-page #leaks .clinic-editorial-step:last-child {
  border-right: 0;
  background: linear-gradient(145deg, rgba(0,229,204,0.24), rgba(85,170,255,0.1) 52%, rgba(155,89,255,0.2));
}

html.industry-front-office-page #leaks .clinic-editorial-step:not(:last-child):hover {
  background: linear-gradient(145deg, rgba(0,229,204,0.16), rgba(85,170,255,0.08) 52%, rgba(155,89,255,0.13));
  box-shadow: inset 0 0 0 2px rgba(0,229,204,0.62);
}

html.industry-front-office-page #leaks .clinic-editorial-step b {
  display: block;
  width: fit-content;
  margin: -0.1em -0.16em -0.08em -0.04em;
  padding: 0.1em 0.16em 0.08em 0.04em;
  color: transparent;
  background: linear-gradient(110deg, var(--cyan), #55aaff 55%, var(--violet));
  background-clip: text;
  -webkit-background-clip: text;
  font-family: var(--font-display);
  font-size: clamp(64px, 6vw, 86px);
  font-style: italic;
  font-weight: 800;
  line-height: 0.9;
}

html.industry-front-office-page #leaks .clinic-editorial-step h4 {
  margin: 48px 0 12px;
  padding-right: 0.12em;
  font-family: var(--font-display);
  font-size: clamp(30px, 2.35vw, 38px);
  font-style: italic;
  font-weight: 800;
  line-height: 1.04;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

html.industry-front-office-page #leaks .clinic-editorial-step p {
  max-width: 39ch;
  margin: 0;
  color: #555;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
}

html.industry-front-office-page #leaks .clinic-editorial-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  padding: 24px 38px;
}

html.industry-front-office-page #leaks .clinic-editorial-foot::before {
  display: none;
  content: none;
}

html.industry-front-office-page #leaks .clinic-editorial-foot > p {
  margin: 0;
  color: #555;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
}

html.industry-front-office-page #leaks .clinic-editorial-foot > p strong {
  color: var(--black);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  text-transform: uppercase;
}

html.industry-front-office-page #leaks .clinic-editorial-foot .pps-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 14px;
}

html.industry-front-office-page #leaks .clinic-editorial-foot .btn {
  min-width: 190px;
}

@media (max-width: 56.25rem) {
  html.industry-front-office-page #leaks .clinic-editorial-head,
  html.industry-front-office-page #leaks .clinic-editorial-foot {
    grid-template-columns: 1fr;
  }

html.industry-front-office-page #leaks .clinic-editorial-proof {
    max-width: none;
    text-align: left;
  }

html.industry-front-office-page #leaks .clinic-editorial-sequence {
    grid-template-columns: 1fr;
  }

html.industry-front-office-page #leaks .clinic-editorial-step {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--black);
  }

html.industry-front-office-page #leaks .clinic-editorial-step:last-child {
    border-bottom: 0;
  }

html.industry-front-office-page #leaks .clinic-editorial-foot .pps-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 38.75rem) {
html.industry-front-office-page #leaks .clinic-editorial-detail {
    box-shadow: 8px 8px 0 rgba(8, 8, 8, 0.07);
  }

html.industry-front-office-page #leaks .clinic-editorial-head {
    gap: 24px;
    padding: 30px 20px 24px;
  }

html.industry-front-office-page #leaks .clinic-editorial-head .pps-title {
    font-size: clamp(48px, 16vw, 62px);
  }

html.industry-front-office-page #leaks .clinic-editorial-proof {
    font-size: 15px;
  }

html.industry-front-office-page #leaks .clinic-editorial-step {
    padding: 30px 20px 28px;
  }

html.industry-front-office-page #leaks .clinic-editorial-step b {
    font-size: 58px;
  }

html.industry-front-office-page #leaks .clinic-editorial-step h4 {
    margin-top: 30px;
    font-size: 30px;
  }

html.industry-front-office-page #leaks .clinic-editorial-foot {
    gap: 20px;
    padding: 22px 20px 24px;
  }

html.industry-front-office-page #leaks .clinic-editorial-foot .pps-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

html.industry-front-office-page #leaks .clinic-editorial-foot .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
html.industry-front-office-page #leaks .clinic-editorial-step {
    transition: none;
  }
}

html.clinic-page,
body.clinic-industry-template {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* Vertical overflow must remain visible so approved sticky walkthroughs can pin to the viewport. */
body.clinic-industry-template main { overflow: visible; }

.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.45;
  pointer-events: none;
}

.orb-cyan { background: var(--cyan); }
.orb-violet { background: var(--violet); }

.eyebrow {
  margin: 0;
  font-family: var(--font-display);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.headline-xl,
.headline-lg {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.headline-xl { font-size: clamp(4.5rem, 11vw, 10rem); line-height: 0.88; }
.headline-lg { font-size: clamp(3rem, 7vw, 6.25rem); line-height: 0.9; }

.shimmer {
  display: inline-block;
  padding-right: 0.16em;
  margin-right: -0.04em;
  color: transparent;
  background: linear-gradient(90deg, var(--cyan), #54b6ff, var(--violet));
  -webkit-background-clip: text;
  background-clip: text;
}

.body-lg {
  margin: 0;
  color: var(--text-mid);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.75;
}

.sec-hdr.center {
  max-width: 86rem;
  margin: 0 auto 3.75rem;
  text-align: center;
}

.sec-hdr.center .eyebrow { margin-bottom: 1.5rem; }
.sec-hdr.center .body-lg { max-width: 42rem; margin: 1.5rem auto 0; }
.sec-hdr.center.light { color: var(--white); }
.sec-hdr.center.light .body-lg { color: rgba(255, 255, 255, 0.68); }

.section-center-action { display: flex; justify-content: center; margin-top: 2.5rem; }

/* Exact homepage hero composition: one centered editorial column, no media. */
body.clinic-industry-template #hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: var(--cream);
}

body.clinic-industry-template #hero::before,
body.clinic-industry-template #hero::after { display: none; content: none; }

.hero-body {
  position: relative;
  z-index: 2;
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  padding: 10.5rem 0 3.75rem;
}

.hero-orb-1 { width: 31rem; height: 31rem; top: -6rem; left: -9rem; }
.hero-orb-2 { width: 37rem; height: 37rem; right: -12rem; bottom: 2rem; }
.hero-orb-3 { width: 12rem; height: 12rem; top: 45%; left: 49%; opacity: 0.22; }

.hero-content {
  position: relative;
  z-index: 2;
  width: min(100%, 61.65rem);
  margin-inline: auto;
}

.hero-eyebrow { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.hero-eyebrow-line { width: 3rem; height: 2px; flex: 0 0 auto; background: var(--cyan); }

.hero-h1 { margin: 0 0 2.25rem; }
.hero-h1 .line {
  box-sizing: content-box;
  display: block;
  margin: -0.08em -0.16em;
  padding: 0.08em 0.16em;
  overflow: hidden;
}
.hero-h1 .line > span { display: block; }

@media (min-width: 769px) {
  .hero-h1 .hero-tight {
    width: max-content;
    max-width: 100%;
    font-size: 0.84em;
    white-space: nowrap;
  }

  html[lang="es"].industry-front-office-page .hero-h1 {
    max-width: 100%;
    font-size: clamp(4rem, 7.1vw, 7rem);
  }

  html[lang="es"].industry-front-office-page .hero-h1 .hero-tight {
    width: auto;
    white-space: normal;
  }
}

.hero-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
}

.hero-desc { max-width: 35rem; margin: 0; color: var(--text-mid); font-size: clamp(1.06rem, 1.6vw, 1.25rem); line-height: 1.75; }
.hero-ctas { display: flex; flex-direction: column; align-items: flex-start; gap: 0.85rem; margin: 0; }
.hero-ctas .btn { min-width: 21.25rem; justify-content: center; }

.hero-mode-tabs { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem; }
.hero-mode-tab {
  min-height: 44px;
  padding: 0 0.75rem;
  border: 1px solid rgba(10, 10, 10, 0.22);
  color: var(--text-mid);
  background: transparent;
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}

.hero-mode-tab.active { border-color: var(--black); color: var(--white); background: var(--black); }
.hero-rotator-note { margin: 0.15rem 0 0; color: var(--text-muted); font-size: 0.72rem; line-height: 1.45; }

.hero-full-strip { position: relative; z-index: 2; width: 100%; }
.hero-stats,
.hero-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 2px solid var(--black); border-top: 0; }
.stat-cell { min-width: 0; padding: 1.35rem 1rem; border-right: 1px solid var(--clinic-line); text-align: center; }
.stat-cell:last-child { border-right: 0; }
.stat-num { font-family: var(--font-display); font-size: clamp(1.35rem, 2.35vw, 2.15rem); font-style: italic; font-weight: 800; line-height: 1; }
.stat-cell:nth-child(1) .stat-num { color: var(--cyan); }
.stat-cell:nth-child(2) .stat-num { color: #58c8ff; }
.stat-cell:nth-child(3) .stat-num { color: #2f6bff; }
.stat-cell:nth-child(4) .stat-num { color: var(--violet); }
.stat-label { margin-top: 0.45rem; color: var(--text-muted); font-family: var(--font-display); font-size: 0.64rem; letter-spacing: 0.1em; line-height: 1.45; text-transform: uppercase; }
.hero-benefits { border-top: 0; background: var(--white); }
.hero-benefit { min-width: 0; min-height: 3.5rem; display: flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 1rem 1.35rem; border-right: 1px solid var(--clinic-line); color: rgba(10,10,10,0.48); font-family: var(--font-display); font-size: 0.72rem; font-style: italic; font-weight: 800; letter-spacing: 0.1em; text-align: center; text-transform: uppercase; }
.hero-benefit:last-child { border-right: 0; }
.hero-benefit-dot { width: 0.45rem; height: 0.45rem; flex: 0 0 auto; border-radius: 50%; background: linear-gradient(135deg, var(--cyan), var(--violet)); }

/* Homepage-sized centered content sections. */
.clinic-home-section { padding: 7rem 0; background: var(--cream); }

.clinic-proof-visual,
.clinic-human-visual {
  position: relative;
  width: min(100%, 84rem);
  margin: 0 auto;
  overflow: hidden;
  border: 2px solid var(--black);
  background: var(--white);
  box-shadow: 0.9rem 0.9rem 0 var(--cyan);
}

.clinic-proof-visual { height: clamp(25rem, 46vw, 39rem); }
.clinic-proof-visual img { width: 100%; height: auto; display: block; transform: translateY(-0.3%); }

.clinic-proof-strip,
.human-boundary-strip { width: min(100%, 84rem); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2.5rem auto 0; border-top: 1px solid var(--clinic-line); border-left: 1px solid var(--clinic-line); }
.clinic-proof-strip > div,
.human-boundary-strip > div { min-height: 7rem; padding: 1.25rem; border-right: 1px solid var(--clinic-line); border-bottom: 1px solid var(--clinic-line); }
.clinic-proof-strip strong,
.clinic-proof-strip span,
.human-boundary-strip strong,
.human-boundary-strip span { display: block; }
.clinic-proof-strip strong,
.human-boundary-strip strong { color: #6330a8; font-family: var(--font-display); font-size: 1rem; font-style: italic; text-transform: uppercase; }
.clinic-proof-strip span,
.human-boundary-strip span { margin-top: 0.4rem; color: var(--text-mid); font-size: 0.78rem; line-height: 1.55; }

/* Homepage diagnosis component, adapted only in content. */
.clinic-diagnosis { padding: 7rem 0; background: var(--cream); }
.diagnosis-intro { display: grid; grid-template-columns: minmax(20rem, 0.75fr) minmax(24rem, 1.25fr); gap: 4rem; align-items: end; margin-bottom: 2.5rem; }
.diagnosis-title .eyebrow { margin-bottom: 1.4rem; color: var(--cyan); }
.diagnosis-copy .body-lg + .body-lg { margin-top: 1rem; }
.diagnosis-prompt { display: flex; align-items: center; gap: 0.75rem; margin: 1.35rem 0 0; font-family: var(--font-display); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.diagnosis-prompt::before { content: ""; width: 1.8rem; height: 2px; background: var(--cyan); }
.diagnosis-map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; padding-top: 0.8rem; border-top: 1px solid var(--clinic-line); }
.diagnosis-stage { position: relative; min-height: 11.75rem; display: grid; grid-template-columns: 2rem 1fr auto; gap: 0.8rem; padding: 1.5rem 1.25rem; border: 1px solid rgba(255,255,255,0.08); border-bottom: 4px solid #6330a8; color: var(--white); background: #09090c; text-align: left; cursor: pointer; }
.diagnosis-stage.active { border-color: var(--cyan); border-bottom-color: var(--violet); box-shadow: 0 0 2rem rgba(0,229,204,0.18); }
.diagnosis-stage > span { color: var(--cyan); font-family: var(--font-display); font-size: 0.78rem; font-weight: 800; }
.diagnosis-stage h3 { margin: 2.25rem 0 0.35rem; font-family: var(--font-display); font-size: 1.8rem; font-style: italic; line-height: 1; text-transform: uppercase; }
.diagnosis-stage p { margin: 0; color: rgba(255,255,255,0.7); font-size: 0.82rem; line-height: 1.55; }
.diagnosis-stage b { color: var(--cyan); }
.diagnosis-result { display: grid; grid-template-columns: minmax(16rem, 0.7fr) minmax(26rem, 1.55fr) minmax(13rem, 0.65fr); border: 1px solid var(--clinic-line); background: var(--white); }
.diagnosis-selected { padding: 2rem 1.75rem; color: var(--black); background: linear-gradient(135deg, var(--cyan), #58c8ff, var(--violet)); }
.diagnosis-selected span,
.diagnosis-system > span { font-family: var(--font-display); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.diagnosis-selected strong,
.diagnosis-system > strong { display: block; margin-top: 0.65rem; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3rem); font-style: italic; line-height: 0.95; text-transform: uppercase; }
.diagnosis-selected p,
.diagnosis-system > p { margin: 0.8rem 0 0; font-size: 0.82rem; line-height: 1.55; }
.diagnosis-system { padding: 2rem 1.75rem; }
.diagnosis-system > span { color: var(--cyan); }
.diagnosis-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.25rem; border-top: 1px solid var(--clinic-line); border-left: 1px solid var(--clinic-line); }
.diagnosis-flow > div { min-height: 4.25rem; padding: 0.85rem; border-right: 1px solid var(--clinic-line); border-bottom: 1px solid var(--clinic-line); }
.diagnosis-flow span,
.diagnosis-flow b { display: block; font-family: var(--font-display); text-transform: uppercase; }
.diagnosis-flow span { color: var(--cyan); font-size: 0.66rem; }
.diagnosis-flow b { margin-top: 0.3rem; font-size: 0.88rem; }
.diagnosis-actions { display: flex; flex-direction: column; justify-content: center; gap: 0.75rem; padding: 1.5rem; border-left: 1px solid var(--clinic-line); }
.diagnosis-actions .btn { width: 100%; min-height: 3.5rem; justify-content: center; padding-inline: 1rem; text-align: center; }

/* One-front-office section uses the same dark framed system surface as home. */
.clinic-system-parity { padding: 7rem 0; color: var(--white); background: var(--black); }
.clinic-product-shell { width: 100%; border: 1px solid var(--clinic-line-light); background: #0d0d10; }
.clinic-product-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--clinic-line-light); }
.clinic-product-tab { min-height: 8rem; display: grid; grid-template-columns: 2rem 1fr; gap: 0.75rem; align-content: center; padding: 1.25rem; border: 0; border-right: 1px solid var(--clinic-line-light); color: var(--white); background: transparent; text-align: left; cursor: pointer; }
.clinic-product-tab:last-child { border-right: 0; }
.clinic-product-tab > span { color: var(--cyan); font-family: var(--font-display); font-size: 0.75rem; font-weight: 800; }
.clinic-product-tab strong { font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 1.75rem); font-style: italic; line-height: 1; text-transform: uppercase; }
.clinic-product-tab.active { background: linear-gradient(90deg, rgba(0,229,204,0.1), rgba(155,89,255,0.1)); box-shadow: inset 0 -4px 0 var(--cyan); }
.clinic-product-panel { min-height: 35rem; display: grid; grid-template-columns: minmax(20rem, 0.78fr) minmax(28rem, 1.22fr); gap: 4rem; align-items: center; padding: clamp(2rem, 4vw, 4rem); }
.clinic-product-panel[hidden] { display: none; }
.product-label { color: var(--cyan); font-family: var(--font-display); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.product-panel-copy h3 { max-width: 13ch; margin: 1rem 0 0; font-family: var(--font-display); font-size: clamp(3rem, 5vw, 4.75rem); font-style: italic; line-height: 0.9; text-transform: uppercase; }
.product-panel-copy p,
.product-panel-copy li { color: rgba(255,255,255,0.68); }
.product-panel-copy p { max-width: 35rem; margin: 1.25rem 0 0; line-height: 1.7; }
.product-panel-copy ul { margin: 1.25rem 0 0; padding: 0; list-style: none; }
.product-panel-copy li { position: relative; padding: 0.35rem 0 0.35rem 1.1rem; font-size: 0.84rem; }
.product-panel-copy li::before { content: ""; position: absolute; top: 1em; left: 0; width: 0.5rem; height: 2px; background: var(--cyan); }
.product-link-row { display: flex; flex-wrap: wrap; gap: 0.8rem 1.4rem; }
.product-system-link { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: 1.25rem; border-bottom: 2px solid var(--cyan); font-family: var(--font-display); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.clinic-demo { min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.3); background: #050506; box-shadow: 0.9rem 0.9rem 0 var(--cyan); }
.clinic-demo video { width: 100%; aspect-ratio: 16 / 9; display: block; background: var(--black); }
.clinic-demo figcaption { padding: 0.8rem 1rem; color: rgba(255,255,255,0.55); font-size: 0.68rem; }
.clinic-booking-demo { height: 30rem; }
.clinic-booking-demo img { width: 100%; height: auto; display: block; transform: translateY(-1%); }
.clinic-pipeline-demo { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.7rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,0.3); color: var(--black); background: var(--white); box-shadow: 0.9rem 0.9rem 0 var(--cyan); }
.clinic-pipeline-demo > div { min-width: 0; padding: 1rem; border: 1px solid var(--clinic-line); background: #f4f4f4; }
.clinic-pipeline-demo span { display: block; margin-bottom: 0.75rem; font-family: var(--font-display); font-size: 1rem; font-weight: 800; text-transform: uppercase; }
.clinic-pipeline-demo strong { display: block; margin-top: 0.55rem; padding: 0.75rem; border-left: 3px solid var(--cyan); background: var(--white); font-size: 0.72rem; line-height: 1.4; }

/* Centered outcome section and full-width image treatment from the homepage. */
.outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--clinic-line); border-left: 1px solid var(--clinic-line); }
.outcome-grid article { min-height: 17rem; padding: 2.25rem; border-right: 1px solid var(--clinic-line); border-bottom: 1px solid var(--clinic-line); }
.outcome-grid span { color: #6330a8; font-family: var(--font-display); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.outcome-grid h3 { margin: 3.6rem 0 0; font-family: var(--font-display); font-size: clamp(2.25rem, 3.6vw, 3.5rem); font-style: italic; line-height: 0.92; text-transform: uppercase; }
.outcome-grid p { max-width: 28rem; margin: 1rem 0 0; color: var(--text-mid); font-size: 0.9rem; line-height: 1.65; }
.clinic-human-visual { height: clamp(28rem, 48vw, 42rem); margin-top: 4.5rem; }
.clinic-human-visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.human-boundary-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }

/* Homepage process rows. */
.clinic-process-parity { padding: 7rem 0; background-color: var(--cream); background-image: linear-gradient(rgba(10,10,10,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(10,10,10,0.045) 1px, transparent 1px); background-size: 7.5rem 7.5rem; }
.process-heading { display: grid; grid-template-columns: minmax(22rem, 0.8fr) minmax(22rem, 1.2fr); gap: 5rem; align-items: end; margin-bottom: 2.5rem; }
.process-heading .eyebrow { margin-bottom: 1.3rem; color: var(--cyan); }
.process-heading > p { max-width: 32rem; margin-left: auto; }
.process-list { border-top: 2px solid var(--black); }
.process-row { min-height: 8.25rem; display: grid; grid-template-columns: 5rem minmax(19rem, 1fr) minmax(20rem, 1fr) 2rem; gap: 2rem; align-items: center; padding: 1rem 2rem; border-bottom: 2px solid var(--black); }
.process-row > span { color: var(--cyan); font-family: var(--font-display); font-size: 3rem; font-style: italic; font-weight: 800; }
.process-row h3 { margin: 0; font-family: var(--font-display); font-size: clamp(2.25rem, 4vw, 3.6rem); font-style: italic; line-height: 0.9; text-transform: uppercase; }
.process-row b { display: block; margin-top: 0.35rem; color: var(--cyan); font-family: var(--font-display); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; }
.process-row p { max-width: 28rem; margin: 0; color: var(--text-muted); font-size: 0.9rem; line-height: 1.6; }
.process-row i { color: var(--violet); font-size: 2rem; font-style: normal; }

/* Homepage FAQ: centered display heading and single bordered rows. */
.clinic-faq-parity { padding: 7rem 0; background: var(--cream); }
.clinic-faq-parity .sec-hdr.center { max-width: 61rem; }
.faq-list { max-width: 61rem; display: grid; grid-template-columns: 1fr; gap: 0.65rem; margin: 0 auto; border: 0; }
.faq-list details { margin: 0; border: 1px solid var(--clinic-line); background: rgba(255,255,255,0.42); }
.faq-list summary { min-height: 4.6rem; display: flex; align-items: center; padding: 1rem 4rem 1rem 1.5rem; font-family: var(--font-display); font-size: clamp(1.1rem, 1.6vw, 1.35rem); font-style: italic; font-weight: 800; line-height: 1.1; text-transform: uppercase; }
.faq-list summary::after { right: 1.5rem; width: 1.8rem; height: 1.8rem; display: grid; place-items: center; border: 1px solid var(--text-muted); font-family: var(--font-body); font-style: normal; }
.faq-list details p { max-width: 54rem; padding: 0 1.5rem 1.5rem; color: var(--text-mid); font-size: 0.9rem; line-height: 1.7; }

/* Final CTA restores the homepage's exact three-action hierarchy. */
.final-cta { padding: 7.5rem 0; overflow: hidden; background: var(--cyan); }
.cta-inner { max-width: 70rem; }
.cta-h2 { margin: 1.25rem 0 1.75rem; font-size: clamp(4rem, 10vw, 8.75rem); line-height: 0.85; }
.cta-sub { max-width: 39rem; margin-bottom: 2.75rem; }
.cta-actions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.9rem; }
.cta-actions .btn { width: 100%; min-height: 4rem; justify-content: center; text-align: center; }

.vapi-float { opacity: 0; pointer-events: none; transform: translateY(0.75rem); transition: opacity 0.25s ease, transform 0.25s ease; }
body.clinic-engaged .vapi-float { opacity: 1; pointer-events: auto; transform: none; }

@media (max-width: 68.75rem) {
  .hero-content { width: min(100%, 50rem); }
  .hero-stats,
  .hero-benefits { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stat-cell:nth-child(2),
  .hero-benefit:nth-child(2) { border-right: 0; }
  .stat-cell:nth-child(-n+2),
  .hero-benefit:nth-child(-n+2) { border-bottom: 1px solid var(--clinic-line); }
  .diagnosis-intro,
  .process-heading { grid-template-columns: 1fr; gap: 2rem; }
  .process-heading > p { margin-left: 0; }
  .diagnosis-map { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .diagnosis-result { grid-template-columns: 1fr 1.6fr; }
  .diagnosis-actions { grid-column: 1 / -1; flex-direction: row; border-top: 1px solid var(--clinic-line); border-left: 0; }
  .clinic-product-panel { grid-template-columns: 1fr; }
  .process-row { grid-template-columns: 4rem minmax(18rem,1fr) minmax(15rem,1fr) 2rem; gap: 1.2rem; padding-inline: 1rem; }
}

@media (max-width: 48rem) {
  .wrap,
  .wrap-wide { padding-inline: 1.25rem; }
  .hero-body { padding: 7rem 0 3rem; }
  body.tfs-unified-header-ready #hero .hero-body { padding-top: 3.75rem; }
  .hero-content { width: 100%; }
  .headline-xl { font-size: clamp(3.6rem, 17vw, 6rem); }
  .headline-lg { font-size: clamp(3.5rem, 16vw, 5.4rem); }
  .hero-bottom { flex-direction: column; gap: 1.6rem; }
  .hero-ctas,
  .hero-ctas .btn { width: 100%; min-width: 0; }
  .hero-mode-tabs { margin-top: 1.25rem; }
  .hero-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hero-benefits { grid-template-columns: 1fr; }
  .hero-benefit,
  .hero-benefit:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--clinic-line); }
  .hero-benefit:last-child { border-bottom: 0; }
  .clinic-home-section,
  .clinic-diagnosis,
  .clinic-system-parity,
  .clinic-process-parity,
  .clinic-faq-parity { padding: 5rem 0; }
  .sec-hdr.center { margin-bottom: 2.75rem; }
  .clinic-proof-visual { height: 24rem; box-shadow: 0.5rem 0.5rem 0 var(--cyan); }
  .clinic-proof-strip,
  .human-boundary-strip,
  .outcome-grid { grid-template-columns: 1fr; }
  .clinic-proof-strip > div,
  .human-boundary-strip > div { min-height: 5.4rem; }
  .diagnosis-map { grid-template-columns: 1fr; }
  .diagnosis-stage { min-height: 8.5rem; }
  .diagnosis-stage h3 { margin-top: 0.8rem; }
  .diagnosis-result { grid-template-columns: 1fr; }
  .diagnosis-actions { grid-column: auto; flex-direction: column; }
  .diagnosis-flow { grid-template-columns: 1fr; }
  .clinic-product-tabs { grid-template-columns: 1fr; }
  .clinic-product-tab,
  .clinic-product-tab:last-child { min-height: 5.5rem; border-right: 0; border-bottom: 1px solid var(--clinic-line-light); }
  .clinic-product-tab.active { box-shadow: inset 4px 0 0 var(--cyan); }
  .clinic-product-panel { min-height: 0; padding: 2rem 1.25rem 2.75rem; }
  .clinic-demo,
  .clinic-pipeline-demo { box-shadow: 0.45rem 0.45rem 0 var(--cyan); }
  .clinic-booking-demo { height: 24rem; }
  .clinic-pipeline-demo { grid-template-columns: 1fr; }
  .outcome-grid article { min-height: 13rem; }
  .outcome-grid h3 { margin-top: 2.25rem; }
  .clinic-human-visual { height: 27rem; margin-top: 3rem; box-shadow: 0.5rem 0.5rem 0 var(--cyan); }
  .process-list { border-top-width: 1px; }
  .process-row { grid-template-columns: 3.5rem 1fr 1.5rem; gap: 0.8rem; padding: 1.4rem 0.5rem; border-bottom-width: 1px; }
  .process-row > span { font-size: 2.2rem; }
  .process-row h3 { font-size: clamp(2rem, 10vw, 3rem); }
  .process-row p { grid-column: 2 / -1; }
  .process-row i { grid-column: 3; grid-row: 1; }
  .cta-actions { grid-template-columns: 1fr; }
}

@media (max-width: 30rem) {
  .hero-stats { grid-template-columns: 1fr; }
  .stat-cell,
  .stat-cell:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--clinic-line); }
  .stat-cell:last-child { border-bottom: 0; }
  .hero-mode-tab { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .vapi-float,
  body.clinic-engaged .vapi-float { transition: none; transform: none; }
  body.clinic-industry-template .aos { opacity: 1; transform: none; transition: none; }
}

/* Approved product-page families. These selectors mirror the live Voice and WhatsApp pages. */
body.clinic-industry-template {
  --font-d: var(--font-display);
  --font-b: var(--font-body);
  --grad: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
}

.hero-content { width: min(100%, 59.25rem); }
.hero-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 21.25rem; gap: 3rem; }
body.clinic-industry-template main .wrap { width: min(100% - 56px, 1280px); }

.section { position: relative; padding: 110px 0; }
.dark { color: var(--white); background: #09090b; }
.hl,
.hm {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 800;
  line-height: 0.84;
  text-transform: uppercase;
}
.hl { font-size: clamp(54px, 7vw, 112px); }
.hm { font-size: clamp(38px, 4.4vw, 76px); }
.body { color: #333; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.7; }

.walk { text-align: center; }
.walk .eyebrow { margin-bottom: 24px; }
.walk .body { max-width: 760px; margin: 28px auto 0; color: #bfc0c7; }
.walk-card {
  position: relative;
  width: min(980px, 100%);
  margin: 48px auto 0;
  overflow: hidden;
  border: 1px solid #333;
  background: #050505;
}
.walk-card video { width: 100%; height: 500px; display: block; object-fit: cover; }

.head {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 52px;
}
.head .body { margin: 0; }
.features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.feature-card {
  min-height: 215px;
  padding: 38px 30px;
  border: 1px solid var(--cyan);
  background: #fffaf5;
  transition: background 0.22s var(--ease), box-shadow 0.22s var(--ease), transform 0.22s var(--ease);
}
.feature-card:hover,
.feature-card:focus-within { background: var(--grad); box-shadow: 0 18px 44px rgba(0, 229, 204, 0.18); transform: translateY(-3px); }
.feature-num {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 42px;
  font-style: italic;
  font-weight: 800;
}
.feature-card h3,
.process-row h3 {
  margin: 20px 0 0;
  font-family: var(--font-display);
  font-size: 30px;
  font-style: italic;
  font-weight: 800;
  line-height: 0.96;
  text-transform: uppercase;
}
.feature-card p,
.process-row p,
.faq p { color: #333; font-size: 17px; line-height: 1.7; }

.trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
  margin-top: 72px;
  padding: 56px 0;
  color: var(--white);
  background: #050505;
  box-shadow: 0 0 0 100vmax #050505;
  clip-path: inset(0 -100vmax);
}
.image-frame,
.blackbox {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 0;
  background: #050505;
  box-shadow: 14px 14px 0 var(--cyan), 24px 24px 0 var(--violet);
}
.image-frame { margin: 0; }
.image-frame img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }
.clinic-video-frame { position: relative; isolation: isolate; background: #050505; }
.clinic-product-video { width: 100%; height: 100%; display: block; object-fit: cover; background: #050505; }
.clinic-video-label,
.clinic-video-toggle {
  position: absolute;
  z-index: 2;
  bottom: 16px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.clinic-video-label { left: 16px; max-width: calc(100% - 126px); padding: 10px 12px; color: var(--white); background: rgba(5,5,5,0.88); }
.clinic-video-toggle {
  right: 16px;
  min-width: 82px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.5);
  color: var(--black);
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
  cursor: pointer;
}
.clinic-video-toggle:hover { color: var(--white); background: var(--black); }
.clinic-video-toggle:focus-visible { outline: 3px solid var(--white); outline-offset: 3px; }
.blackbox { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 2.9vw, 42px); }
.blackbox .eyebrow { margin: 0 0 18px; }
.blackbox .hm { margin: 0 0 18px; color: var(--white); font-size: clamp(30px, 3.05vw, 50px); line-height: 0.92; }
.blackbox .body { max-width: 56ch; margin: 0; color: #f1f1f1; font-size: clamp(14px, 1.05vw, 17px); line-height: 1.5; }
.blackbox .btn { min-height: 44px; flex: 0 0 auto; align-self: flex-start; margin-top: 24px; }
.clinic-route-branch {
  margin-top: 56px;
  padding: clamp(54px, 6vw, 78px) 0 clamp(58px, 6vw, 82px);
  color: var(--white);
  background: #050505;
  box-shadow: 0 0 0 100vmax #050505;
  clip-path: inset(0 -100vmax);
}
.clinic-route-branch-head {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(320px, 0.9fr);
  gap: clamp(36px, 7vw, 110px);
  align-items: end;
  margin-bottom: clamp(36px, 4.5vw, 58px);
}
.clinic-route-branch-head .eyebrow { margin: 0 0 18px; color: var(--cyan); }
.clinic-route-branch-head h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(54px, 6.2vw, 90px);
  font-style: italic;
  font-weight: 800;
  line-height: 0.82;
  letter-spacing: -0.025em;
  text-transform: uppercase;
}
.clinic-route-branch-head > p {
  max-width: 580px;
  margin: 0 0 4px;
  color: #d6d6d6;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.55;
}
.clinic-route-demo {
  display: grid;
  grid-template-columns: minmax(270px, 0.34fr) minmax(0, 1fr);
  border: 1px solid rgba(255,255,255,0.24);
  background: #080808;
}
.clinic-scenario-rail {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  border-right: 1px solid rgba(255,255,255,0.24);
}
.clinic-scenario-rail button {
  min-height: 132px;
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  gap: 5px 14px;
  align-content: center;
  padding: 24px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.24);
  color: var(--white);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}
.clinic-scenario-rail button:last-child { border-bottom: 0; }
.clinic-scenario-rail button:hover { background: rgba(255,255,255,0.07); }
.clinic-scenario-rail button[aria-selected="true"] {
  color: var(--black);
  background: linear-gradient(100deg, var(--cyan), #5da7ff 62%, var(--violet));
}
.clinic-scenario-rail button:focus-visible { position: relative; z-index: 2; outline: 3px solid var(--white); outline-offset: -6px; }
.clinic-scenario-rail button > span {
  grid-row: 1 / span 2;
  align-self: center;
  font-family: var(--font-display);
  font-size: 28px;
  font-style: italic;
  font-weight: 800;
}
.clinic-scenario-rail strong {
  font-family: var(--font-display);
  font-size: clamp(22px, 1.75vw, 28px);
  font-style: italic;
  line-height: 1;
  text-transform: uppercase;
}
.clinic-scenario-rail small { color: #bdbdbd; font-size: 12px; line-height: 1.35; }
.clinic-scenario-rail button[aria-selected="true"] small { color: rgba(5,5,5,0.75); }
.clinic-route-stage { min-width: 0; padding: clamp(26px, 3vw, 38px); }
.clinic-route-stage-top {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.clinic-route-stage-top .eyebrow { margin: 0; color: #aaa; }
.clinic-route-stage-top > strong {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 17px;
  font-style: italic;
  letter-spacing: 0.05em;
  text-align: right;
  text-transform: uppercase;
}
.clinic-route-stage[data-mode="human"] .clinic-route-stage-top > strong { color: #be91ff; }
.clinic-route-track {
  display: grid;
  grid-template-columns: minmax(125px, 1fr) minmax(36px, 0.5fr) minmax(125px, 1fr) minmax(36px, 0.5fr) minmax(125px, 1fr);
  align-items: center;
  gap: 14px;
  padding: clamp(46px, 5vw, 66px) 0;
}
.clinic-route-node {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
  border: 1px solid rgba(255,255,255,0.24);
  background: #111;
}
.clinic-route-node span {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.clinic-route-node strong {
  margin: 7px 0 5px;
  font-family: var(--font-display);
  font-size: clamp(24px, 2vw, 31px);
  font-style: italic;
  line-height: 0.95;
  text-transform: uppercase;
}
.clinic-route-node small { color: #b8b8b8; line-height: 1.35; }
.clinic-route-track > i { position: relative; height: 3px; overflow: hidden; background: rgba(255,255,255,0.14); }
.clinic-route-track > i::after {
  content: "";
  position: absolute;
  inset: 0;
  transform-origin: left;
  background: linear-gradient(90deg, var(--cyan), var(--violet));
}
.clinic-route-stage.is-routing .clinic-route-track > i::after { animation: clinic-route-line 620ms cubic-bezier(.2,.7,.2,1) both; }
.clinic-route-stage.is-routing .clinic-route-track > i:nth-of-type(2)::after { animation-delay: 260ms; }
.clinic-route-stage.is-routing .clinic-route-node { animation: clinic-route-node-in 420ms ease both; }
.clinic-route-stage.is-routing .clinic-route-node:nth-of-type(2) { animation-delay: 220ms; }
.clinic-route-stage.is-routing .clinic-route-node:nth-of-type(3) { animation-delay: 480ms; }
.clinic-route-destination { border-color: var(--cyan); box-shadow: inset 0 -5px 0 var(--cyan); }
.clinic-route-stage[data-mode="human"] .clinic-route-destination { border-color: var(--violet); box-shadow: inset 0 -5px 0 var(--violet); }
.clinic-route-result {
  min-height: 96px;
  display: grid;
  grid-template-columns: 145px minmax(220px, 1fr) minmax(160px, 0.55fr);
  gap: 22px;
  align-items: center;
  padding: 22px;
  border-top: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.045);
}
.clinic-route-result span {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.clinic-route-stage[data-mode="human"] .clinic-route-result span { color: #be91ff; }
.clinic-route-result strong {
  font-family: var(--font-display);
  font-size: clamp(19px, 1.6vw, 24px);
  font-style: italic;
  line-height: 1.05;
  text-transform: uppercase;
}
.clinic-route-result small { color: #aaa; line-height: 1.45; }
.clinic-route-safety {
  margin: 18px 0 0;
  color: #9d9d9d;
  font-size: 12px;
  line-height: 1.5;
}
@keyframes clinic-route-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes clinic-route-node-in { from { opacity: 0.38; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

#process { background: var(--cream); }
#process > .wrap > .eyebrow { margin-bottom: 24px; }
#process .hl { max-width: 980px; margin-bottom: 52px; }
.process-list { border-top: 2px solid var(--black); }
.process-row {
  display: grid;
  grid-template-columns: 92px minmax(210px, 0.72fr) 1fr 40px;
  gap: 28px;
  align-items: center;
  min-height: 132px;
  padding: 30px 0;
  border-bottom: 2px solid var(--black);
}
.process-num,
.process-row > div:last-child {
  color: transparent;
  background: var(--grad);
  background-clip: text;
  -webkit-background-clip: text;
  font-family: var(--font-display);
  font-size: 50px;
  font-style: italic;
  font-weight: 800;
}
.process-row h3 { margin: 0; }
.process-row b { color: var(--violet); font-family: var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; }
.process-row p { margin: 0; }

.testimonials { padding: 96px 0 86px; color: var(--white); background: #050505; }
.t-head { display: grid; grid-template-columns: 0.9fr 1.05fr; gap: 44px; align-items: end; margin-bottom: 60px; }
.t-head .eyebrow { margin-bottom: 24px; }
.t-head .body { max-width: 600px; margin: 26px 0 0; color: #bfc0c7; }
.t-img { height: 300px; margin: 0; overflow: hidden; border: 1px solid #333; box-shadow: 16px 16px 0 var(--cyan); }
.t-img img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: top; }
.t-grid { overflow: hidden; margin: 0 -32px; border-top: 1px solid #222; border-bottom: 1px solid #222; }
.t-track { display: flex; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.t-card {
  width: 320px;
  min-height: 314px;
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px;
  border-right: 1px solid #222;
  background: #09090d;
  scroll-snap-align: start;
}
.t-card:hover { color: #050505; background: var(--white); }
.stars { color: #ffd75c; font-family: var(--font-display); font-weight: 800; letter-spacing: 0.12em; }
.quote { color: var(--violet); font-family: var(--font-display); font-size: 36px; }
.t-card p { flex: 1; margin: 0; color: #aaa; font-size: 14px; font-style: italic; line-height: 1.72; }
.t-card:hover p { color: #555; }
.t-card h3 { margin: 0; color: transparent; background: var(--grad); background-clip: text; -webkit-background-clip: text; font-family: var(--font-display); font-size: 25px; font-style: italic; text-transform: uppercase; }
.t-card b { font-family: var(--font-display); text-transform: uppercase; }
.proof-action { display: flex; justify-content: center; margin-top: 36px; }

.faq { background: var(--cream); }
.faq-head { max-width: 880px; margin: 0 auto 40px; text-align: center; }
.faq-head .eyebrow { margin-bottom: 24px; }
.faq-head .body { max-width: 720px; margin: 24px auto 0; }
.faq details { border-bottom: 1px solid rgba(8, 8, 8, 0.15); }
.faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 0;
  list-style: none;
  font-family: var(--font-display);
  font-size: 26px;
  font-style: italic;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  cursor: pointer;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary span:last-child { width: 36px; height: 36px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border: 2px solid rgba(8, 8, 8, 0.16); font-family: var(--font-body); font-size: 24px; font-style: normal; font-weight: 400; }
.faq details[open] summary span:last-child { color: var(--white); background: var(--black); border-color: var(--black); transform: rotate(45deg); }
.faq details > p { width: 100%; max-width: none; margin: 0; padding: 0 0 24px; color: #555; }

.system-fit-guide { padding: 70px 0; color: var(--white); background: #050505; }
.system-fit-guide .section-head { max-width: 880px; margin: 0 auto 30px; text-align: center; }
.system-fit-guide .section-head .eyebrow { margin-bottom: 24px; }
.system-fit-guide .hl { font-size: clamp(38px, 5vw, 64px); line-height: 0.92; }
.system-fit-guide .body { max-width: 720px; margin: 20px auto 0; color: rgba(255, 255, 255, 0.72); }
.fit-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fit-guide-card { padding: 26px; color: #050505; background: #fffaf5; border: 1px solid rgba(0, 229, 204, 0.72); }
.fit-guide-num { margin-bottom: 28px; color: var(--cyan); font-family: var(--font-display); font-size: 36px; font-style: italic; font-weight: 800; line-height: 1; }
.fit-guide-card h3 { margin: 0 0 14px; font-family: var(--font-display); font-size: 24px; font-style: italic; font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.fit-guide-card p { margin: 0; color: #050505; font-size: 16px; line-height: 1.6; }
.fit-guide-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.fit-guide-links a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid rgba(255, 255, 255, 0.22); color: var(--white); font-family: var(--font-display); font-size: 13px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.fit-guide-links a:hover { color: #050505; background: var(--grad); border-color: transparent; }

.final { padding: 90px 0; text-align: center; background: linear-gradient(112deg, #08d7c6, #12d1cc 52%, #45bfea); }
.final .hl { max-width: 1100px; margin: 0 auto; }
.final .body { max-width: 720px; margin: 26px auto 0; }
.final .actions { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: nowrap; }

@media (max-width: 1050px) {
  .head,
  .trust,
  .t-head { grid-template-columns: 1fr; text-align: center; }
  .features { grid-template-columns: 1fr; }
  .trust { gap: 30px; padding: 44px 0; }
  .blackbox .btn { align-self: center; }
  .process-row { grid-template-columns: 74px 1fr; }
  .process-row p { grid-column: 2; }
  .process-row > div:last-child { display: none; }
  .t-img { width: 100%; }
  .fit-guide-grid { grid-template-columns: 1fr; }
  .final .actions { flex-wrap: wrap; }
  .clinic-route-branch-head { grid-template-columns: 1fr; gap: 24px; }
  .clinic-route-branch-head > p { max-width: 660px; }
  .clinic-route-demo { grid-template-columns: 1fr; }
  .clinic-scenario-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.24); }
  .clinic-scenario-rail button { min-height: 118px; grid-template-columns: 36px 1fr; padding: 20px; border-right: 1px solid rgba(255,255,255,0.24); border-bottom: 0; }
  .clinic-scenario-rail button:last-child { border-right: 0; }
  .clinic-scenario-rail strong { font-size: 22px; }
}

@media (max-width: 48rem) {
  .hero-bottom { grid-template-columns: 1fr; gap: 1.6rem; }
}

@media (max-width: 680px) {
  body.clinic-industry-template main .wrap { width: min(100% - 38px, 480px); }
  .section { padding: 76px 0; }
  .hero-bottom { grid-template-columns: 1fr; gap: 1.6rem; }
  .hl { font-size: clamp(38px, 11vw, 56px); line-height: 0.9; }
  .body { max-width: 340px; margin-left: auto; margin-right: auto; font-size: 16px; line-height: 1.55; overflow-wrap: break-word; }
  .walk-card { margin-top: 34px; }
  .walk-card video { height: auto; }
  .feature-card { min-height: 0; padding: 30px 24px; }
  .trust { padding: 26px 0; }
  .image-frame,
  .blackbox { aspect-ratio: auto; box-shadow: none; }
  .image-frame { height: 260px; }
  .blackbox { padding: 30px 24px; }
  .clinic-route-branch { margin-top: 42px; padding: 50px 0 56px; }
  .clinic-route-branch-head { margin-bottom: 30px; }
  .clinic-route-branch-head h3 { font-size: clamp(50px, 17vw, 72px); }
  .clinic-route-branch-head > p { font-size: 16px; }
  .clinic-scenario-rail { grid-template-columns: 1fr; }
  .clinic-scenario-rail button { min-height: 88px; grid-template-columns: 38px 1fr; padding: 17px 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.24); }
  .clinic-scenario-rail button:last-child { border-bottom: 0; }
  .clinic-scenario-rail strong { font-size: 23px; }
  .clinic-route-stage { padding: 22px 18px 20px; }
  .clinic-route-stage-top { align-items: flex-start; flex-direction: column; gap: 9px; padding-bottom: 18px; }
  .clinic-route-stage-top > strong { text-align: left; }
  .clinic-route-track { grid-template-columns: 1fr; gap: 10px; padding: 28px 0; }
  .clinic-route-node { min-height: 92px; padding: 17px 18px; }
  .clinic-route-track > i { width: 3px; height: 28px; margin: 0 auto; }
  .clinic-route-track > i::after { transform-origin: top; background: linear-gradient(180deg, var(--cyan), var(--violet)); }
  .clinic-route-stage.is-routing .clinic-route-track > i::after { animation-name: clinic-route-line-mobile; }
  .clinic-route-result { grid-template-columns: 1fr; gap: 10px; padding: 20px 18px; }
  .clinic-route-safety { font-size: 11px; }
  .process-list { border-top-width: 2px; }
  .process-row { grid-template-columns: 58px 1fr; gap: 16px; padding: 24px 0; }
  .process-num { font-size: 40px; }
  .process-row h3 { font-size: 27px; }
  .process-row p { grid-column: 2; font-size: 15px; }
  .t-head { margin-bottom: 38px; }
  .t-img { height: auto; aspect-ratio: 16 / 9; box-shadow: none; }
  .t-grid { margin-inline: 0; }
  .t-card { width: 300px; flex-basis: 300px; }
  .faq summary { font-size: 22px; text-align: left; }
  .system-fit-guide { padding: 58px 0; }
  .system-fit-guide .hl { font-size: clamp(34px, 11vw, 50px); }
  .fit-guide-card { padding: 24px 18px; }
  .fit-guide-links a { width: 100%; }
  .final .actions { flex-direction: column; }
  .final .actions .btn { width: 100%; }
}
@keyframes clinic-route-line-mobile { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.footer-col a {
  min-width: 44px;
}

/* Clinic onboarding journey: approved section families with clinic-specific content. */
.pps-diagnosis .clinic-diagnosis-head {
  display: block;
  max-width: 720px;
  margin: 0 auto 42px;
  text-align: center;
}

.clinic-diagnosis-head .eyebrow,
.clinic-system-head .eyebrow,
.clinic-comparison-head .eyebrow,
.clinic-report-intro .eyebrow { margin-bottom: 20px; }

.pps-diagnosis .pps-tab-copy,
.pps-diagnosis .pps-copy,
.clinic-proof-cue { font-family: var(--font-body); }

.pps-diagnosis .pps-detail > div:last-child {
  display: grid;
  grid-template-columns: minmax(210px, 0.62fr) minmax(320px, 1fr) minmax(280px, 0.72fr);
  align-items: center;
  gap: 26px;
}

.pps-diagnosis .pps-detail > div:last-child::before { line-height: 1.55; }
.pps-diagnosis .pps-actions { display: grid; gap: 12px; }
.pps-diagnosis .pps-actions .btn { width: 100%; justify-content: center; }

.clinic-proof-cue {
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid var(--clinic-line);
  border-bottom: 1px solid var(--clinic-line);
  color: #444;
  font-size: 14px;
  line-height: 1.55;
}

.clinic-proof-cue strong {
  color: var(--black);
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
}

.clinic-proof-cue a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #6330a8;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.clinic-journey-demo {
  width: min(1180px, 100%);
  color: var(--white);
  text-align: left;
  background: #070709;
}

.journey-top,
.journey-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--clinic-line-light);
}

.journey-top > div { display: grid; gap: 4px; }
.journey-top strong { font-family: var(--font-display); font-size: 28px; font-style: italic; text-transform: uppercase; }
.journey-kicker,
.journey-status,
.journey-step > span,
.journey-step b,
.journey-footer {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.journey-kicker,
.journey-step > span,
.journey-step b { color: var(--cyan); }
.journey-status { padding: 10px 12px; color: var(--black); background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet)); }
.journey-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.journey-step {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  min-height: 250px;
  padding: 26px 20px;
  border-right: 1px solid var(--clinic-line-light);
  outline: 0;
  cursor: default;
  transition: color 0.28s var(--ease), transform 0.28s var(--ease);
}
.journey-step::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(155deg, rgba(0,229,204,0.2), rgba(85,170,255,0.1) 54%, rgba(155,89,255,0.2));
  opacity: 0;
  transition: opacity 0.28s var(--ease);
}
.journey-step::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.36s var(--ease);
}
.journey-step:last-child { border-right: 0; }
.journey-step.is-active::before { opacity: 0.6; }
.journey-step.is-active::after { transform: scaleX(1); }
.journey-step:hover,
.journey-step:focus-visible { transform: translateY(-6px); }
.journey-step:hover::before,
.journey-step:focus-visible::before { opacity: 1; }
.journey-step:hover::after,
.journey-step:focus-visible::after { transform: scaleX(1); }
.journey-step:focus-visible { box-shadow: inset 0 0 0 2px var(--cyan); }
.journey-step h3 { margin: 54px 0 12px; font-family: var(--font-display); font-size: 28px; font-style: italic; line-height: 0.95; text-transform: uppercase; transition: transform 0.28s var(--ease); }
.journey-step:hover h3,
.journey-step:focus-visible h3 { transform: translateX(5px); }
.journey-step p { min-height: 92px; margin: 0 0 18px; color: rgba(255,255,255,0.68); font-size: 14px; line-height: 1.55; }
.journey-step b { display: block; font-size: 10px; line-height: 1.45; }
.journey-footer { justify-content: flex-start; flex-wrap: wrap; border-top: 1px solid var(--clinic-line-light); border-bottom: 0; color: rgba(255,255,255,0.62); }
.journey-footer span { display: inline-flex; align-items: center; gap: 8px; }
.journey-footer i { width: 7px; height: 7px; display: block; background: linear-gradient(135deg, var(--cyan), var(--violet)); }
.journey-footer a { min-height: 44px; display: inline-flex; align-items: center; margin-left: auto; color: var(--cyan); }

/* Selected customer-journey walkthrough: the Patient Thread. */
.clinic-patient-thread-section.section {
  position: relative;
  min-height: calc(100svh + clamp(360px, 50vh, 520px));
  padding: 0;
  overflow: visible !important;
  color: var(--black);
  background: var(--cream);
}

.clinic-patient-thread-sticky {
  position: sticky;
  top: 0;
  min-height: 100svh;
  padding-top: clamp(92px, 10vh, 120px);
  padding-bottom: clamp(34px, 5vh, 52px);
  display: flex;
  align-items: center;
}

.clinic-patient-thread-layout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(680px, 1.55fr);
  gap: clamp(46px, 6vw, 92px);
  align-items: center;
}

.clinic-thread-intro { text-align: left; }
.clinic-thread-intro .eyebrow { margin-bottom: 18px; }
.clinic-thread-intro .hl {
  max-width: 520px;
  margin: 0;
  font-size: clamp(70px, 7vw, 108px);
  line-height: 0.78;
}
.clinic-thread-intro .body {
  max-width: 500px;
  margin: 30px 0 0;
  color: #696364;
  font-size: 17px;
  line-height: 1.65;
}
.clinic-thread-intro > strong {
  max-width: 500px;
  margin-top: 26px;
  padding-top: 22px;
  display: block;
  border-top: 1px solid var(--clinic-line);
  color: var(--black);
  font-size: 14px;
  line-height: 1.55;
}

.clinic-thread-demo {
  min-width: 0;
  border: 1px solid var(--clinic-line);
  color: var(--black);
  background: var(--white);
  box-shadow: 18px 18px 0 rgba(155, 89, 255, 0.88);
}

.clinic-thread-demo-head {
  min-height: 64px;
  padding: 15px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--clinic-line);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.clinic-thread-demo-head strong {
  padding: 11px 14px;
  color: var(--black);
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
}

.clinic-thread-scene {
  min-height: 500px;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(390px, 1.15fr) minmax(255px, 0.85fr);
  gap: 22px;
}
.clinic-thread-phone {
  min-width: 0;
  padding: 20px;
  color: var(--white);
  background: var(--black);
}
.clinic-thread-phone-head {
  min-height: 42px;
  padding-bottom: 14px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.clinic-thread-phone-head strong { font-size: 16px; }
.clinic-thread-phone-head span { color: var(--cyan); font-size: 11px; font-weight: 800; }
.clinic-thread-bubble {
  width: 84%;
  margin-top: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 12px;
  line-height: 1.45;
}
.clinic-thread-bubble.patient { margin-left: auto; background: #29262d; }
.clinic-thread-bubble.agent { color: var(--black); border-color: var(--cyan); background: var(--cyan); }
.clinic-thread-bubble.system,
.clinic-thread-bubble.outcome { width: 100%; }
.clinic-thread-bubble.system { border-color: var(--violet); background: rgba(155, 89, 255, 0.18); }
.clinic-thread-bubble.system strong,
.clinic-thread-bubble.system span { display: block; }
.clinic-thread-bubble.outcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: var(--gold);
}
.clinic-thread-bubble.outcome strong {
  font-family: var(--font-display);
  font-style: italic;
  text-transform: uppercase;
}

.clinic-thread-context {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--clinic-line);
  background: var(--white);
}
.clinic-thread-context > span {
  color: var(--cyan);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.clinic-thread-context dl { margin: 22px 0 0; }
.clinic-thread-context dl div { padding: 16px 0; border-top: 1px solid var(--clinic-line); }
.clinic-thread-context dt { color: #766f70; font-size: 10px; text-transform: uppercase; }
.clinic-thread-context dd {
  margin: 5px 0 0;
  font-family: var(--font-display);
  font-size: 20px;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.clinic-thread-context > p {
  margin: 10px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--clinic-line);
  color: #777071;
  font-size: 10px;
  line-height: 1.5;
}

.clinic-thread-controls {
  position: relative;
  min-height: 70px;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  border-top: 1px solid var(--clinic-line);
}
.clinic-thread-controls::before,
.clinic-thread-controls::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -2px;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform-origin: left center;
}
.clinic-thread-controls::before { background: #e8e1df; }
.clinic-thread-controls::after {
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
  transform: scaleX(var(--thread-progress, 0));
  transition: transform 0.18s linear;
}
.clinic-thread-controls button {
  min-width: 0;
  min-height: 44px;
  padding: 7px 4px;
  border: 1px solid var(--clinic-line);
  color: #6b6566;
  background: transparent;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.05;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.22s var(--ease), background 0.22s var(--ease), border-color 0.22s var(--ease);
}
.clinic-thread-controls button span { display: block; margin-bottom: 2px; }
.clinic-thread-controls button:hover,
.clinic-thread-controls button:focus-visible,
.clinic-thread-controls button[aria-pressed="true"] {
  color: var(--black);
  border-color: var(--cyan);
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
}
.clinic-thread-controls button:focus-visible { outline: 2px solid var(--black); outline-offset: 2px; }
.clinic-thread-description {
  min-height: 58px;
  margin: 0;
  padding: 0 20px 16px;
  color: #6b6566;
  font-size: 12px;
  line-height: 1.5;
}

.clinic-patient-thread-section[data-motion-ready="true"]:not(.is-entered) .clinic-thread-intro > *,
.clinic-patient-thread-section[data-motion-ready="true"]:not(.is-entered) .clinic-thread-demo {
  opacity: 0;
}
.clinic-patient-thread-section[data-motion-ready="true"]:not(.is-entered) .clinic-thread-intro > * {
  transform: translateY(22px);
}
.clinic-patient-thread-section[data-motion-ready="true"]:not(.is-entered) .clinic-thread-demo {
  transform: translateX(32px);
}
.clinic-thread-intro > *,
.clinic-thread-demo {
  transition: opacity 0.52s var(--ease), transform 0.62s var(--ease);
}
.clinic-thread-intro .hl { transition-delay: 0.06s; }
.clinic-thread-intro .body { transition-delay: 0.12s; }
.clinic-thread-intro > strong { transition-delay: 0.18s; }
.clinic-thread-demo { transition-delay: 0.1s; }

.clinic-thread-demo [data-thread-step] {
  --thread-enter-x: 0px;
  --thread-delay: 0s;
  opacity: 0;
  visibility: hidden;
  filter: saturate(0.35);
  transform: translate3d(var(--thread-enter-x), 14px, 0) scale(0.985);
  transition: opacity 0.34s var(--ease), visibility 0s linear 0.5s, filter 0.34s var(--ease), transform 0.52s var(--ease);
  transition-delay: 0s, 0.5s, 0s, 0s;
  will-change: opacity, transform;
}
.clinic-thread-bubble.patient[data-thread-step] { --thread-enter-x: 24px; }
.clinic-thread-bubble.agent[data-thread-step] { --thread-enter-x: -24px; }
.clinic-thread-context [data-thread-step] { --thread-enter-x: 24px; }
.clinic-thread-bubble.system[data-thread-step] { transform-origin: left center; }
.clinic-thread-phone .agent[data-thread-step="1"] { --thread-delay: 0.04s; }
.clinic-thread-phone .patient[data-thread-step="1"] { --thread-delay: 0.18s; }
.clinic-thread-context [data-thread-step="1"]:nth-child(2) { --thread-delay: 0.31s; }
.clinic-thread-context [data-thread-step="1"]:nth-child(3) { --thread-delay: 0.42s; }
.clinic-thread-context [data-thread-step="2"]:nth-child(4) { --thread-delay: 0.17s; }
.clinic-thread-context [data-thread-step="4"]:nth-child(5) { --thread-delay: 0.17s; }
.clinic-thread-demo[data-thread-state="0"] [data-thread-step="0"],
.clinic-thread-demo[data-thread-state="1"] [data-thread-step="0"],
.clinic-thread-demo[data-thread-state="1"] [data-thread-step="1"],
.clinic-thread-demo[data-thread-state="2"] [data-thread-step="0"],
.clinic-thread-demo[data-thread-state="2"] [data-thread-step="1"],
.clinic-thread-demo[data-thread-state="2"] [data-thread-step="2"],
.clinic-thread-demo[data-thread-state="3"] [data-thread-step="0"],
.clinic-thread-demo[data-thread-state="3"] [data-thread-step="1"],
.clinic-thread-demo[data-thread-state="3"] [data-thread-step="2"],
.clinic-thread-demo[data-thread-state="3"] [data-thread-step="3"],
.clinic-thread-demo[data-thread-state="4"] [data-thread-step] {
  opacity: 1;
  visibility: visible;
  filter: none;
  transform: none;
  transition-property: opacity, visibility, filter, transform;
  transition-delay: var(--thread-delay), 0s, var(--thread-delay), var(--thread-delay);
}

.clinic-thread-demo.is-stage-changing .clinic-thread-demo-head strong {
  animation: clinic-thread-stage-pulse 0.46s var(--ease);
}

@keyframes clinic-thread-stage-pulse {
  0% { transform: translateY(5px); opacity: 0.45; }
  100% { transform: translateY(0); opacity: 1; }
}

html.clinic-motion-ready .clinic-reveal-item {
  opacity: 0;
  transform: translate3d(var(--clinic-reveal-x, 0px), 24px, 0);
  transition: opacity 0.52s var(--ease) var(--clinic-reveal-delay, 0ms), transform 0.66s var(--ease) var(--clinic-reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.clinic-motion-ready .clinic-reveal-item.is-revealed {
  opacity: 1;
  transform: none;
}

.clinic-system-head,
.clinic-comparison-head {
  display: block;
  max-width: 760px;
  margin: 0 auto 52px;
  text-align: center;
}

.clinic-system-head .hl,
.clinic-comparison-head .headline-lg { margin-inline: auto; }

.clinic-comparison-section { background: var(--cream); }
.clinic-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 2px solid var(--black); }
.clinic-compare-column { min-width: 0; }
.clinic-compare-column + .clinic-compare-column { border-left: 2px solid var(--black); }
.clinic-compare-column h3 { margin: 0; padding: 28px 30px; color: var(--white); background: var(--black); font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 48px); font-style: italic; line-height: 0.95; text-transform: uppercase; }
.clinic-compare-column.before h3 { box-shadow: inset 0 -6px 0 #ff3b30; }
.clinic-compare-column.after h3 { color: var(--black); background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet)); }
.clinic-compare-column [role="row"] { min-height: 76px; display: flex; align-items: center; padding: 17px 28px 17px 62px; border-top: 1px solid var(--clinic-line); background: var(--white); }
.clinic-compare-column.before [role="row"] { background: linear-gradient(90deg, rgba(255,59,48,0.075), var(--white) 42%); }
.clinic-compare-column.after [role="row"] { background: linear-gradient(90deg, rgba(0,229,204,0.16), rgba(85,170,255,0.055) 58%, rgba(155,89,255,0.07)); }
.clinic-compare-column [role="row"] span { position: relative; color: #333; font-size: 16px; line-height: 1.5; }
.clinic-compare-column [role="row"] span::before { position: absolute; top: 0.08em; left: -36px; font-family: var(--font-display); font-size: 22px; font-weight: 800; }
.clinic-compare-column.before [role="row"] span::before { content: "\00D7"; color: #ff3b30; text-shadow: 0 0 16px rgba(255,59,48,0.35); }
.clinic-compare-column.after [role="row"] span::before { content: "\2713"; color: #007f72; }
.clinic-compare-column.after [role="row"] span { color: #101010; font-weight: 600; }

.clinic-system-facts { color: var(--white); background: var(--black); }
.clinic-system-facts .wrap-wide { width: 100%; max-width: none; padding-inline: clamp(20px, 4vw, 64px); }
.clinic-facts-kicker { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--clinic-line-light); }
.clinic-facts-kicker .eyebrow { color: var(--cyan); }
.clinic-facts-kicker > span { color: rgba(255,255,255,0.58); font-family: var(--font-display); font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.clinic-facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.clinic-facts-grid article { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px clamp(18px, 2.2vw, 36px); border-right: 1px solid var(--clinic-line-light); text-align: center; }
.clinic-facts-grid article:last-child { border-right: 0; }
.clinic-facts-grid strong { display: flex; align-items: baseline; justify-content: center; gap: 0.04em; color: transparent; background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet)); background-clip: text; -webkit-background-clip: text; font-family: var(--font-display); font-size: clamp(68px, 7vw, 106px); font-style: italic; font-weight: 800; line-height: 0.85; }
.clinic-facts-grid strong i { color: #55aaff; font-style: inherit; }
.clinic-facts-grid p { max-width: 29ch; margin: 22px auto 0; color: rgba(255,255,255,0.76); font-family: var(--font-display); font-size: 13px; font-weight: 800; letter-spacing: 0.065em; line-height: 1.42; text-transform: uppercase; }
.clinic-fact-link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: 9px; color: var(--cyan); font-family: var(--font-display); font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; text-underline-offset: 3px; }
.clinic-facts-source { margin: 0; padding: 18px 0 22px; border-top: 1px solid var(--clinic-line-light); color: rgba(255,255,255,0.52); font-size: 12px; line-height: 1.55; text-align: center; }
.clinic-facts-source a { min-height: 44px; display: inline-flex; align-items: center; color: var(--cyan); text-underline-offset: 3px; }

.clinic-reporting { background: var(--cream); }
.clinic-report-intro {
  display: block;
  max-width: 920px;
  margin: 0 auto 52px;
  text-align: center;
}
.clinic-report-intro .body { max-width: 680px; margin: 24px auto 0; }
.clinic-connected-path {
  overflow: hidden;
  border: 2px solid var(--black);
  color: var(--black);
  background: var(--white);
  box-shadow: 14px 14px 0 rgba(14,14,14,0.08);
}
.connected-path-head {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 25px 32px;
  border-bottom: 2px solid var(--black);
}
.connected-path-head > div { display: grid; gap: 5px; }
.connected-path-head span,
.connected-node span {
  color: #5f5d59;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}
.connected-path-head strong {
  font-family: var(--font-display);
  font-size: clamp(30px, 3vw, 42px);
  font-style: italic;
  line-height: 0.95;
  text-transform: uppercase;
}
.connected-path-head p { max-width: 42ch; margin: 0; color: #595754; font-size: 15px; line-height: 1.55; }
.connected-path-canvas {
  position: relative;
  overflow: hidden;
  padding: 58px clamp(24px, 5vw, 72px) 52px;
  background-color: #fffefa;
  background-image:
    linear-gradient(rgba(12,12,12,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12,12,12,0.035) 1px, transparent 1px);
  background-size: 32px 32px;
}
.connected-inputs,
.connected-outcomes {
  position: relative;
  z-index: 2;
  max-width: 900px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 3vw, 32px);
  margin-inline: auto;
}
.connected-node {
  --node-accent: var(--cyan);
  --node-glow: rgba(0,229,204,0.26);
  position: relative;
  border: 1px solid #bbb8b1;
  opacity: 0.42;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 0 0 transparent;
  transform: scale(0.965);
}
.connected-node::after {
  content: "";
  position: absolute;
  inset: -1px auto -1px -1px;
  width: 5px;
  background: var(--node-accent);
  transform: scaleY(0);
  transform-origin: bottom;
}
.connected-input { min-height: 92px; display: grid; align-content: center; gap: 8px; padding: 18px 20px; text-align: center; }
.connected-node strong { font-family: var(--font-display); font-size: clamp(22px, 2.2vw, 31px); font-style: italic; line-height: 0.95; text-transform: uppercase; }
.connected-lines { width: 100%; max-width: 900px; display: block; margin-inline: auto; overflow: visible; }
.connected-lines-in { height: 132px; }
.connected-lines-out { height: 116px; }
.connected-lines path { fill: none; vector-effect: non-scaling-stroke; }
.connected-line-base { stroke: #d4d0c8; stroke-width: 2; }
.connected-line-signal {
  stroke: var(--cyan);
  stroke-width: 4;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 7px rgba(0,229,204,0.72));
}
.connected-junction {
  position: relative;
  z-index: 3;
  width: 26px;
  height: 26px;
  margin: -13px auto 34px;
  border: 2px solid #9e9b94;
  opacity: 0.45;
  background: #fffefa;
  transform: rotate(45deg) scale(0.8);
}
.connected-junction i { position: absolute; inset: 6px; display: block; background: var(--cyan); transform: scale(0); }
.connected-junction::after {
  content: "";
  position: absolute;
  top: 24px;
  left: 10px;
  width: 2px;
  height: 35px;
  background: #d4d0c8;
  transform: rotate(-45deg);
  transform-origin: top;
}
.connected-logic {
  --node-accent: var(--violet);
  --node-glow: rgba(155,89,255,0.25);
  z-index: 2;
  width: min(520px, calc(100% - 48px));
  min-height: 156px;
  display: grid;
  place-items: center;
  gap: 8px;
  margin: 0 auto;
  padding: 28px 32px;
  text-align: center;
}
.connected-logic span { color: #6742ab; }
.connected-logic strong { font-size: clamp(34px, 4vw, 54px); }
.connected-logic small,
.connected-outcome small { color: #66635e; font-size: 13px; line-height: 1.45; }
.connected-trunk { position: relative; width: 4px; height: 72px; margin: 0 auto; background: #d4d0c8; }
.connected-trunk i { position: absolute; inset: 0; display: block; background: var(--violet); box-shadow: 0 0 12px rgba(155,89,255,0.64); transform: scaleY(0); transform-origin: top; }
.connected-lines-out .connected-line-signal { stroke: var(--violet); filter: drop-shadow(0 0 7px rgba(155,89,255,0.7)); }
.connected-outcome { min-height: 118px; display: grid; align-content: center; gap: 7px; padding: 20px; text-align: center; }
.connected-outcome-booked { --node-accent: #d6a912; --node-glow: rgba(214,169,18,0.26); }
.connected-outcome-review { --node-accent: var(--violet); --node-glow: rgba(155,89,255,0.24); }
.connected-outcome-followup { --node-accent: var(--cyan); --node-glow: rgba(0,229,204,0.24); }
.connected-path-result {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 18px 32px;
  border-top: 2px solid var(--black);
  background: #fff;
}
.connected-path-result p { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; }
.connected-path-result p span { padding: 8px 10px; border: 1px solid #cac6be; color: #4a4844; font-family: var(--font-display); font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.connected-path-result .btn { flex: 0 0 auto; }

.clinic-connected-path.is-running .connected-input,
.clinic-connected-path.is-complete .connected-input { animation: connectedNodeOn 0.48s var(--ease) forwards; }
.clinic-connected-path.is-running .connected-input:nth-child(1) { animation-delay: 0.1s; }
.clinic-connected-path.is-running .connected-input:nth-child(2) { animation-delay: 0.22s; }
.clinic-connected-path.is-running .connected-input:nth-child(3) { animation-delay: 0.34s; }
.clinic-connected-path.is-running .connected-lines-in .connected-line-signal { animation: connectedSignalDraw 1.1s var(--ease) 0.58s forwards; }
.clinic-connected-path.is-running .connected-junction { animation: connectedJunctionOn 0.42s var(--ease) 1.55s forwards; }
.clinic-connected-path.is-running .connected-junction i { animation: connectedJunctionCore 0.38s var(--ease) 1.65s forwards; }
.clinic-connected-path.is-running .connected-logic { animation: connectedNodeOn 0.55s var(--ease) 1.92s forwards; }
.clinic-connected-path.is-running .connected-trunk i { animation: connectedTrunkDraw 0.6s var(--ease) 2.48s forwards; }
.clinic-connected-path.is-running .connected-lines-out .connected-line-signal { animation: connectedSignalDraw 1s var(--ease) 2.95s forwards; }
.clinic-connected-path.is-running .connected-outcome { animation: connectedNodeOn 0.5s var(--ease) forwards; }
.clinic-connected-path.is-running .connected-outcome:nth-child(1) { animation-delay: 3.78s; }
.clinic-connected-path.is-running .connected-outcome:nth-child(2) { animation-delay: 3.94s; }
.clinic-connected-path.is-running .connected-outcome:nth-child(3) { animation-delay: 4.1s; }
.clinic-connected-path.is-complete .connected-node { opacity: 1; border-color: var(--node-accent); box-shadow: 0 0 0 1px var(--node-accent), 0 0 28px var(--node-glow); transform: none; }
.clinic-connected-path.is-complete .connected-node::after { transform: scaleY(1); }
.clinic-connected-path.is-complete .connected-line-signal { stroke-dashoffset: 0; }
.clinic-connected-path.is-complete .connected-junction { border-color: var(--cyan); opacity: 1; box-shadow: 0 0 22px rgba(0,229,204,0.34); transform: rotate(45deg) scale(1); }
.clinic-connected-path.is-complete .connected-junction i { transform: scale(1); }
.clinic-connected-path.is-complete .connected-trunk i { transform: scaleY(1); }
@keyframes connectedNodeOn {
  to { border-color: var(--node-accent); opacity: 1; box-shadow: 0 0 0 1px var(--node-accent), 0 0 28px var(--node-glow); transform: none; }
}
@keyframes connectedSignalDraw { to { stroke-dashoffset: 0; } }
@keyframes connectedJunctionOn { to { border-color: var(--cyan); opacity: 1; box-shadow: 0 0 22px rgba(0,229,204,0.34); transform: rotate(45deg) scale(1); } }
@keyframes connectedJunctionCore { to { transform: scale(1); } }
@keyframes connectedTrunkDraw { to { transform: scaleY(1); } }

/* Compact operating view: one source, one routing layer, three visible outcomes. */
.connected-path-canvas { padding: 38px clamp(24px, 5vw, 64px) 44px; }
.clinic-path-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 24px);
}
.clinic-path-source,
.clinic-path-outcome {
  min-width: 0;
  min-height: 94px;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 18px 20px;
  border: 1px solid #bbb8b1;
  background: rgba(255,255,255,0.96);
  opacity: 0.42;
  text-align: center;
  transform: translateY(8px);
}
.clinic-path-source span,
.clinic-path-outcome span,
.clinic-path-logic > span {
  color: #5f5d59;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}
.clinic-path-source strong,
.clinic-path-outcome strong {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.1vw, 30px);
  font-style: italic;
  line-height: 0.95;
  text-transform: uppercase;
}
.clinic-path-outcome small { color: #66635e; font-size: 12px; line-height: 1.4; }
.clinic-path-logic {
  width: min(720px, calc(100% - 40px));
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin: 28px auto;
  padding: 20px 26px;
  color: var(--white);
  background: var(--black);
  opacity: 0.42;
  transform: translateY(8px);
}
.clinic-path-logic::before,
.clinic-path-logic::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 3px;
  height: 29px;
  background: linear-gradient(180deg, var(--cyan), var(--violet));
  transform: translateX(-50%);
}
.clinic-path-logic { position: relative; }
.clinic-path-logic::before { bottom: 100%; }
.clinic-path-logic::after { top: 100%; }
.clinic-path-logic > span { flex: 0 0 auto; color: var(--cyan); }
.clinic-path-logic > div { display: flex; align-items: center; justify-content: flex-end; gap: clamp(10px, 2vw, 24px); }
.clinic-path-logic strong { font-family: var(--font-display); font-size: clamp(18px, 1.8vw, 25px); font-style: italic; text-transform: uppercase; }
.clinic-path-logic i { color: #9f78ff; font-family: var(--font-display); font-size: 24px; font-style: normal; font-weight: 800; }
.clinic-path-outcome { border-top-width: 5px; }
.clinic-path-outcome.booked { border-top-color: #d6a912; }
.clinic-path-outcome.review { border-top-color: var(--violet); }
.clinic-path-outcome.followup { border-top-color: var(--cyan); }
.clinic-connected-path.is-running .clinic-path-source,
.clinic-connected-path.is-running .clinic-path-logic,
.clinic-connected-path.is-running .clinic-path-outcome { animation: clinic-path-item-on 0.45s var(--ease) forwards; }
.clinic-connected-path.is-running .clinic-path-source:nth-child(2) { animation-delay: 0.1s; }
.clinic-connected-path.is-running .clinic-path-source:nth-child(3) { animation-delay: 0.2s; }
.clinic-connected-path.is-running .clinic-path-logic { animation-delay: 0.42s; }
.clinic-connected-path.is-running .clinic-path-outcome { animation-delay: 0.72s; }
.clinic-connected-path.is-running .clinic-path-outcome:nth-child(2) { animation-delay: 0.82s; }
.clinic-connected-path.is-running .clinic-path-outcome:nth-child(3) { animation-delay: 0.92s; }
.clinic-connected-path.is-complete .clinic-path-source,
.clinic-connected-path.is-complete .clinic-path-logic,
.clinic-connected-path.is-complete .clinic-path-outcome { opacity: 1; transform: none; }
@keyframes clinic-path-item-on { to { opacity: 1; transform: none; } }

/* Shared industry-page refinements. */
html.industry-front-office-page .pps-tab-index {
  padding-right: 0.12em;
  line-height: 1.2;
}
html.industry-front-office-page .pps-tab strong {
  padding-right: 0.12em;
  line-height: 1.04;
  overflow-wrap: break-word;
}
html.industry-front-office-page :is(
  .feature-card h3,
  .process-row h3,
  .journey-step h3,
  .clinic-compare-column h3,
  .connected-node strong,
  .clinic-price-card h3,
  .t-card h3
) {
  padding-right: 0.12em;
  overflow-wrap: break-word;
}
html.industry-front-office-page :is(
  .feature-num,
  .process-num,
  .fit-guide-num,
  .clinic-price strong,
  .t-card h3
) {
  padding-right: 0.14em;
}
html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color 0.28s var(--ease), background 0.28s var(--ease), border-color 0.28s var(--ease), box-shadow 0.28s var(--ease), transform 0.28s var(--ease);
}
html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:hover,
html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:focus-within {
  background: linear-gradient(118deg, var(--cyan), #69c7ff 55%, var(--violet));
  border-color: transparent;
  box-shadow: 0 16px 38px rgba(85,170,255,0.18);
  transform: translateY(-5px);
}
html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:hover .fit-guide-num,
html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:focus-within .fit-guide-num { color: var(--black); }
html[data-industry="ai-front-office-for-dental-clinics"] .clinic-compare-column h3 {
  min-height: 124px;
  display: flex;
  align-items: center;
}
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:first-child {
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.5fr);
  align-items: stretch;
}
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:first-child > .pps-label,
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:first-child > .pps-title,
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:first-child > .pps-copy { align-self: start; }
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-title {
  font-family: var(--font-display);
  font-size: clamp(38px, 4vw, 58px);
}
html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:last-child {
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.5fr) minmax(280px, 0.72fr);
}
.clinic-connected-path-vertical .connected-path-canvas { padding-top: 50px; }
.clinic-connected-path-vertical .connected-logic {
  color: var(--black);
  background: linear-gradient(135deg, rgba(0,229,204,0.13), rgba(85,170,255,0.08) 52%, rgba(155,89,255,0.12));
}
.clinic-connected-path-vertical .connected-logic strong { max-width: 14ch; }
html[data-industry="ai-front-office-for-dental-clinics"] #leaks .pps-tabs .clinic-reveal-item:nth-child(1),
html[data-industry="ai-front-office-for-dental-clinics"] #clinic-systems .features .clinic-reveal-item:nth-child(1),
html[data-industry="ai-front-office-for-dental-clinics"] #pricing .clinic-pricing-grid .clinic-reveal-item:nth-child(1) { --clinic-reveal-x: -30px; }
html[data-industry="ai-front-office-for-dental-clinics"] #leaks .pps-tabs .clinic-reveal-item:nth-child(4),
html[data-industry="ai-front-office-for-dental-clinics"] #clinic-systems .features .clinic-reveal-item:nth-child(3),
html[data-industry="ai-front-office-for-dental-clinics"] #pricing .clinic-pricing-grid .clinic-reveal-item:nth-child(3) { --clinic-reveal-x: 30px; }
html[data-industry="ai-front-office-for-dental-clinics"] #leaks .pps-detail.clinic-reveal-item { --clinic-reveal-x: 34px; }
html[data-industry="ai-front-office-for-dental-clinics"] #process .process-row.clinic-reveal-item:nth-child(odd) { --clinic-reveal-x: -28px; }
html[data-industry="ai-front-office-for-dental-clinics"] #process .process-row.clinic-reveal-item:nth-child(even) { --clinic-reveal-x: 28px; }

@media (max-width: 61.25rem) {
  html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:first-child,
  html[data-industry="ai-front-office-for-dental-clinics"] .pps-diagnosis .pps-detail > div:last-child { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
  html[data-industry="ai-front-office-for-dental-clinics"] .clinic-compare-column h3 { min-height: auto; }
}

@media (max-width: 42.5rem) {
  .clinic-connected-path-vertical .connected-inputs,
  .clinic-connected-path-vertical .connected-outcomes {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .clinic-connected-path-vertical .connected-lines { display: none; }
  .clinic-connected-path-vertical .connected-inputs::after,
  .clinic-connected-path-vertical .connected-outcomes::before {
    content: "";
    position: absolute;
    left: 50%;
    width: 3px;
    height: 34px;
    background: linear-gradient(180deg, var(--cyan), var(--violet));
    transform: translateX(-50%);
  }
  .clinic-connected-path-vertical .connected-inputs::after { top: calc(100% + 1px); }
  .clinic-connected-path-vertical .connected-outcomes::before { bottom: calc(100% + 1px); }
  .clinic-connected-path-vertical .connected-junction { margin: 34px auto 28px; }
  .clinic-connected-path-vertical .connected-logic {
    width: 100%;
    min-height: 132px;
    padding: 24px 18px;
  }
  .clinic-connected-path-vertical .connected-trunk { height: 34px; }
  .clinic-connected-path-vertical .connected-input,
  .clinic-connected-path-vertical .connected-outcome { min-height: 92px; }
}

.clinic-fit-boundary { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 24px; align-items: center; margin-top: 22px; padding: 22px 24px; border: 1px solid rgba(255,255,255,0.24); }
.clinic-fit-boundary strong { color: var(--cyan); font-family: var(--font-display); font-style: italic; text-transform: uppercase; }
.clinic-fit-boundary span { color: rgba(255,255,255,0.72); font-size: 15px; line-height: 1.6; }

.clinic-pricing { padding: 96px 0; color: var(--white); background: #09090b; }
.pricing-intro { max-width: 900px; margin: 0 auto 42px; text-align: center; }
.pricing-intro .eyebrow { margin-bottom: 22px; color: var(--cyan); }
.pricing-intro .body { max-width: 760px; margin: 24px auto 0; color: rgba(255,255,255,0.72); }
.clinic-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--clinic-line-light); }
.clinic-price-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  padding: 32px 28px 28px;
  border-right: 1px solid var(--clinic-line-light);
  transition: background 0.28s var(--ease), box-shadow 0.28s var(--ease), transform 0.28s var(--ease);
}
.clinic-price-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.34s var(--ease);
}
.clinic-price-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(145deg, rgba(0,229,204,0.13), rgba(85,170,255,0.05) 48%, rgba(155,89,255,0.14));
  opacity: 0;
  transition: opacity 0.28s var(--ease);
}
.clinic-price-card:last-child { border-right: 0; }
.clinic-price-card.featured { outline: 1px solid var(--cyan); background: rgba(0,229,204,0.055); }
.clinic-price-card:hover,
.clinic-price-card:focus-within { box-shadow: inset 0 0 0 2px rgba(0,229,204,0.75); transform: translateY(-8px); }
.clinic-price-card:hover::before,
.clinic-price-card:focus-within::before { transform: scaleX(1); }
.clinic-price-card:hover::after,
.clinic-price-card:focus-within::after { opacity: 1; }
.clinic-price-label { color: var(--cyan); font-family: var(--font-display); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.clinic-price-card h3 { min-height: 64px; margin: 16px 0 22px; font-family: var(--font-display); font-size: 36px; font-style: italic; line-height: 0.95; text-transform: uppercase; }
.clinic-price { display: flex; align-items: baseline; gap: 10px; }
.clinic-price strong { color: transparent; background: linear-gradient(90deg, var(--cyan), #55aaff, var(--violet)); background-clip: text; -webkit-background-clip: text; font-family: var(--font-display); font-size: 47px; font-style: italic; line-height: 1; text-transform: uppercase; }
.clinic-price span { color: rgba(255,255,255,0.54); font-family: var(--font-display); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.clinic-monthly { margin: 12px 0 15px; padding-top: 12px; border-top: 1px solid var(--clinic-line-light); color: rgba(255,255,255,0.68); font-size: 13px; }
.clinic-monthly strong { color: var(--white); }
.clinic-price-summary,
.clinic-price-card li { color: rgba(255,255,255,0.7); font-size: 15px; line-height: 1.55; }
.clinic-price-summary { min-height: 70px; margin: 0; }
.clinic-price-card ul { display: grid; gap: 9px; margin: 14px 0 24px; padding: 0; list-style: none; }
.clinic-price-card li { position: relative; padding-left: 18px; }
.clinic-price-card li::before { content: ""; position: absolute; top: 0.63em; left: 0; width: 8px; height: 8px; background: var(--cyan); }
.clinic-price-card .btn { width: 100%; justify-content: center; margin-top: auto; }
.clinic-price-card .btn-grad { color: var(--black); background: linear-gradient(100deg, var(--cyan), #69c7ff 55%, var(--violet)); border-color: transparent; }
.clinic-price-card .btn-gold { color: var(--black); background: #f7c843; border-color: #f7c843; }
.clinic-price-card .btn-gold:hover,
.clinic-price-card .btn-gold:focus-visible { color: var(--black); background: #ffd969; border-color: #ffd969; box-shadow: 0 0 28px rgba(247,200,67,0.35); }
.pricing-foot { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin-top: 30px; color: rgba(255,255,255,0.62); font-size: 14px; }
.pricing-foot a { min-height: 44px; display: inline-flex; align-items: center; color: var(--cyan); font-family: var(--font-display); font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.clinic-pricing-reassurance {
  max-width: 820px;
  margin: 26px auto 0;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

@media (min-width: 68.8125rem) and (max-height: 50rem) {
  .clinic-patient-thread-sticky {
    padding-top: 146px;
    padding-bottom: 18px;
    align-items: flex-start;
  }
  .clinic-thread-intro .hl { font-size: clamp(68px, 6.4vw, 86px); }
  .clinic-thread-intro .body { margin-top: 20px; font-size: 15px; line-height: 1.5; }
  .clinic-thread-intro > strong { margin-top: 18px; padding-top: 16px; }
  .clinic-thread-demo-head { min-height: 52px; padding: 10px 18px; }
  .clinic-thread-scene { min-height: 350px; padding: 16px; gap: 16px; }
  .clinic-thread-phone { padding: 14px; }
  .clinic-thread-phone-head { min-height: 34px; padding-bottom: 10px; }
  .clinic-thread-bubble { margin-top: 8px; padding: 8px 10px; font-size: 11px; line-height: 1.3; }
  .clinic-thread-context { padding: 16px; }
  .clinic-thread-context dl { margin-top: 14px; }
  .clinic-thread-context dl div { padding: 10px 0; }
  .clinic-thread-context dd { font-size: 17px; }
  .clinic-thread-context > p { margin-top: 6px; padding-top: 10px; }
  .clinic-thread-controls { min-height: 58px; padding: 8px 12px; }
  .clinic-thread-description { min-height: 38px; padding: 0 16px 10px; }
}

@media (max-width: 68.75rem) {
  .clinic-patient-thread-section.section { min-height: auto; padding: 108px 0; }
  .clinic-patient-thread-sticky { position: relative; min-height: auto; padding: 0; display: block; }
  .clinic-patient-thread-layout { grid-template-columns: 1fr; gap: 44px; }
  .clinic-thread-intro { max-width: 780px; margin: 0 auto; text-align: center; }
  .clinic-thread-intro .hl,
  .clinic-thread-intro .body,
  .clinic-thread-intro > strong { margin-right: auto; margin-left: auto; }
  .clinic-thread-demo { width: 100%; max-width: 1000px; margin: 0 auto; }
  .pps-diagnosis .pps-detail > div:last-child { grid-template-columns: 1fr; align-items: stretch; }
  .pps-diagnosis .pps-detail > div:last-child::before { text-align: center; }
  .pps-diagnosis .pps-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-step { border-bottom: 1px solid var(--clinic-line-light); }
  .journey-step:nth-child(2n) { border-right: 0; }
  .journey-step:last-child { grid-column: 1 / -1; min-height: 190px; }
  .journey-step:last-child p { min-height: 0; }
  .connected-path-head { align-items: flex-start; }
  .clinic-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-facts-grid article:nth-child(2) { border-right: 0; }
  .clinic-facts-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--clinic-line-light); }
  .clinic-pricing-grid { grid-template-columns: 1fr; }
  .clinic-price-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--clinic-line-light); }
  .clinic-price-card:last-child { border-bottom: 0; }
}

@media (max-width: 64rem) {
  .clinic-pricing-grid { grid-template-columns: 1fr; }
  .clinic-price-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--clinic-line-light); }
  .clinic-price-card:last-child { border-bottom: 0; }
  .clinic-price-summary { min-height: 0; }
}

@media (max-width: 48rem) {
  .clinic-thread-scene { grid-template-columns: 1fr; }
  .clinic-thread-context dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .clinic-thread-context dl div { padding-right: 12px; }
  .clinic-compare-grid { grid-template-columns: 1fr; }
  .clinic-compare-column + .clinic-compare-column { border-top: 2px solid var(--black); border-left: 0; }
  .connected-path-head { flex-direction: column; gap: 16px; padding: 24px; }
  .connected-path-result { align-items: stretch; flex-direction: column; }
  .connected-path-result .btn { width: 100%; justify-content: center; }
  .clinic-fit-boundary { grid-template-columns: 1fr; }
  .clinic-facts-kicker { align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; }
}

@media (max-width: 42.5rem) {
  .clinic-patient-thread-section.section { padding: 82px 0; }
  .clinic-thread-intro { text-align: left; }
  .clinic-thread-intro .hl { margin-left: 0; font-size: 62px; line-height: 0.8; }
  .clinic-thread-intro .body { margin-left: 0; font-size: 15px; }
  .clinic-thread-intro > strong { margin-left: 0; font-size: 13px; }
  .clinic-thread-demo { box-shadow: 8px 8px 0 rgba(155, 89, 255, 0.88); }
  .clinic-thread-demo-head { min-height: 58px; padding: 12px 13px; font-size: 10px; }
  .clinic-thread-demo-head strong { padding: 9px 10px; }
  .clinic-thread-scene { min-height: 0; padding: 12px; gap: 12px; }
  .clinic-thread-phone { padding: 14px; }
  .clinic-thread-bubble { width: 92%; margin-top: 11px; padding: 10px; font-size: 11px; }
  .clinic-thread-bubble.system,
  .clinic-thread-bubble.outcome { width: 100%; }
  .clinic-thread-context { padding: 16px; }
  .clinic-thread-context dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-thread-context dl div { padding: 12px 8px 12px 0; }
  .clinic-thread-context dd { font-size: 17px; }
  .clinic-thread-controls { min-height: 62px; padding: 8px; gap: 4px; }
  .clinic-thread-controls button { font-size: 9px; letter-spacing: 0.02em; }
  .clinic-thread-description { min-height: 54px; padding: 0 12px 13px; font-size: 11px; }
  .pps-diagnosis .pps-actions { grid-template-columns: 1fr; }
  .journey-top { align-items: flex-start; }
  .journey-top strong { font-size: 23px; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-step,
  .journey-step:nth-child(2n) { min-height: 0; border-right: 0; }
  .journey-step:last-child { grid-column: auto; }
  .journey-step h3 { margin-top: 32px; }
  .journey-step p { min-height: 0; }
  .journey-footer { align-items: flex-start; }
  .journey-footer a { width: 100%; margin-left: 0; }
  .clinic-compare-column h3 { padding: 22px 20px; }
  .clinic-compare-column [role="row"] { min-height: 68px; padding: 14px 18px 14px 50px; }
  .clinic-connected-path { box-shadow: 8px 8px 0 rgba(14,14,14,0.08); }
  .connected-path-head { padding: 22px 18px; }
  .connected-path-canvas { padding: 34px 12px 30px; background-size: 24px 24px; }
  .clinic-path-row { gap: 7px; }
  .clinic-path-source,
  .clinic-path-outcome { min-height: 92px; gap: 5px; padding: 13px 7px; }
  .clinic-path-source span,
  .clinic-path-outcome span { font-size: 9px; letter-spacing: 0.075em; }
  .clinic-path-source strong,
  .clinic-path-outcome strong { font-size: clamp(17px, 5.4vw, 23px); }
  .clinic-path-outcome small { font-size: 9px; }
  .clinic-path-logic { width: calc(100% - 24px); min-height: 112px; align-items: flex-start; flex-direction: column; gap: 12px; margin-block: 25px; padding: 18px; }
  .clinic-path-logic > div { width: 100%; justify-content: space-between; gap: 7px; }
  .clinic-path-logic strong { font-size: clamp(15px, 4.8vw, 20px); }
  .clinic-path-logic i { font-size: 18px; }
  .connected-path-result { padding: 18px; }
  .connected-path-result p { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .connected-path-result p span { text-align: center; }
  .clinic-video-frame { height: auto; aspect-ratio: 16 / 9; }
  .clinic-video-label { bottom: 12px; left: 12px; max-width: calc(100% - 114px); padding: 9px 10px; font-size: 9px; }
  .clinic-video-toggle { right: 12px; bottom: 12px; min-width: 76px; }
  .clinic-facts-grid article { min-height: 158px; padding: 24px 16px; }
  .clinic-facts-grid strong { font-size: clamp(46px, 16vw, 68px); }
  .clinic-facts-grid p { margin-top: 15px; font-size: 11px; }
  .clinic-price-card { padding: 32px 22px; }
  .clinic-price-card h3 { min-height: 0; }
  .clinic-price strong { font-size: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-patient-thread-section.section { min-height: auto; padding: 108px 0; }
  .clinic-patient-thread-sticky { position: relative; min-height: auto; padding: 0; }
  .clinic-thread-demo [data-thread-step],
  .clinic-thread-controls button { transition: none; }
  .clinic-patient-thread-section[data-motion-ready="true"] .clinic-thread-intro > *,
  .clinic-patient-thread-section[data-motion-ready="true"] .clinic-thread-demo {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .clinic-thread-controls::after { transition: none; }
  .clinic-thread-demo.is-stage-changing .clinic-thread-demo-head strong { animation: none; }
  .clinic-route-stage.is-routing .clinic-route-track > i::after,
  .clinic-route-stage.is-routing .clinic-route-node { animation: none; }
  .clinic-scenario-rail button { transition: none; }
  .clinic-connected-path .clinic-path-source,
  .clinic-connected-path .clinic-path-logic,
  .clinic-connected-path .clinic-path-outcome { animation: none !important; opacity: 1; transform: none; }
  html.clinic-motion-ready .clinic-reveal-item {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .journey-step,
  .journey-step::before,
  .journey-step::after,
  .journey-step h3,
  .clinic-video-toggle,
  .clinic-price-card,
  .clinic-price-card::before,
  .clinic-price-card::after,
  html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card { transition: none; }
  .journey-step:hover,
  .journey-step:focus-visible,
  .clinic-price-card:hover,
  .clinic-price-card:focus-within,
  html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:hover,
  html[data-industry="ai-front-office-for-dental-clinics"] .fit-guide-card:focus-within { transform: none; }
  .journey-step:hover h3,
  .journey-step:focus-visible h3 { transform: none; }
  .clinic-connected-path .connected-node,
  .clinic-connected-path .connected-input,
  .clinic-connected-path .connected-junction,
  .clinic-connected-path .connected-junction i,
  .clinic-connected-path .connected-logic,
  .clinic-connected-path .connected-trunk i,
  .clinic-connected-path .connected-line-signal,
  .clinic-connected-path .connected-outcome {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}
