/* Source guide: refresh.css
 * Final shared overrides.
 * Load order: base.css, components.css, page stylesheet, refresh.css.
 * Later rules intentionally refine earlier layouts; preserve cascade order.
 */

/* Shared editorial system: spacing, photography, evidence, and people. */
/* Group: Shared editorial refinements; this stylesheet loads after page styles. */
:root {
  --line: #dce5e3;
  --mint: #edf5ef;
  --beige: #f5f1e9;
  /* Compact section rhythm, distinct from the generous space inside cards. */
  --space-section: clamp(32px, 4vw, 48px);
}
.section {
  /* One rhythm for content sections on every marketing page. */
  padding-block: var(--space-section);
}
/* Consecutive white sections share their boundary instead of doubling padding. */
main > .section:not(.section-panel) + .section:not(.section-panel) {
  padding-top: 24px;
}
main > .section-panel {
  margin-block: 20px;
}
h1,
h2,
h3 {
  font-weight: 500;
}
h2 {
  letter-spacing: -0.035em;
}
.button {
  border-radius: 8px;
  font-weight: 500;
}
.nav-wrap {
  gap: 22px;
}
.brand {
  flex-shrink: 0;
}
.brand img {
  width: 180px;
  height: 48px;
  object-fit: contain;
}
.main-nav {
  gap: 18px;
}
.main-nav a {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.nav-actions {
  gap: 28px;
}
.footer-logo {
  background: white;
  border-radius: 5px;
  padding: 9px;
  width: 200px;
  height: 64px;
}
.footer-note a {
  color: inherit;
  text-decoration: underline;
}
/* Group: Section headings and story columns. */
.editorial-heading {
  max-width: 770px;
  margin: 0 auto 48px;
  text-align: center;
}
.editorial-heading p {
  max-width: 650px;
  margin: 20px auto 0;
}
.story-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 6vw, 88px);
  align-items: center;
}
.story-split > * {
  min-width: 0;
}
.section-navy {
  background: #243d40;
  color: #fff;
}
.section-navy h2,
.section-navy p {
  color: #fff;
}
.story-copy p + p {
  margin-top: 20px;
}
.story-copy .button {
  margin-top: 24px;
}
.centered {
  justify-content: center;
  margin-top: 38px;
}
/* Group: Supporting organization logos. */
.trusted-band {
  padding: 36px 0;
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.trusted-band h2 {
  font-size: 15px;
  letter-spacing: 0;
  font-weight: 500;
}
.trusted-band p {
  margin: 20px 0 0;
  font-size: 11px;
  color: var(--muted);
}
.trusted-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  gap: 36px;
  margin-top: 30px;
}
.trusted-logos img {
  width: 100%;
  height: 42px;
  object-fit: contain;
}
/* Group: Patient and clinician video presentation. */
.story-video {
  margin: 0;
  min-width: 0;
}
.story-video video {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 20px;
  background: #101d22;
  object-fit: cover;
}
.story-video figcaption {
  padding: 18px 0;
  display: grid;
  gap: 4px;
  font-size: 12px;
}
.story-video figcaption strong {
  font-size: 19px;
  font-weight: 500;
}
.story-video figcaption a {
  width: fit-content;
}
.portrait-video video {
  aspect-ratio: 16/9;
  object-fit: contain;
}
.stories-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}
/* Group: Publication cards and visible study statistics. */
.research-card {
  background: #f1eee8;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid #e1dbd0;
  border-radius: 22px;
}
.journal-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid #cbc8be;
  margin-bottom: 24px;
}
.journal-heading > span:first-child {
  font-family: Georgia, serif;
  font-size: 44px;
}
.journal-heading > span:last-child {
  font-size: 12px;
  text-align: right;
}
.research-card h3 {
  font-size: 24px;
  line-height: 1.35;
}
.research-numbers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 25px 0;
}
.research-numbers div {
  display: grid;
  gap: 3px;
}
.research-numbers strong {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 400;
}
.research-numbers span {
  font-size: 12px;
}
/* Group: Study group proportions; values remain readable without animation. */
.study-allocation {
  display: flex;
  overflow: hidden;
  border-radius: 6px;
  color: white;
  font-size: 10px;
  margin: 20px 0;
}
.study-allocation span {
  padding: 14px 8px;
  background: #356760;
  flex: 32;
}
.study-allocation span + span {
  background: #49416f;
  flex: 38;
}
.research-card > p {
  font-size: 12px;
}
.research-card .button {
  margin-top: 15px;
}
/* Group: Outcome rows and explanatory labels. */
.outcome-chart {
  padding: 28px;
  margin: 32px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.outcome-chart > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.outcome-chart strong {
  color: #216253;
  font-size: 12px;
  font-weight: 500;
}
.outcome-chart .neutral strong {
  color: #67606e;
}
.outcome-chart h3 {
  margin-bottom: 15px;
}
.outcome-chart > p {
  margin-top: 18px;
}
.study > .research-card {
  margin: 30px 0;
}
/* Group: Company and app relationship. */
.brand-architecture {
  background: var(--mint);
  border-radius: 24px;
  padding: 50px;
  text-align: center;
}
.brand-architecture img {
  width: 250px;
  height: 75px;
  object-fit: contain;
  margin: auto;
}
.brand-architecture p {
  font-size: 13px;
  margin-top: 16px;
}
.brand-architecture > span {
  display: block;
  font-size: 36px;
  padding: 16px;
  color: #43847b;
}
/* Group: Team portraits, roles, and advisor cards. */
.people-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 25px;
}
.person-card img,
.team-initials {
  width: 100%;
  aspect-ratio: 4/4.5;
  object-fit: cover;
  border-radius: 15px;
}
.team-initials {
  display: grid;
  place-items: center;
  background: #e1e6e4;
  color: #566c67;
  font-size: 52px;
  font-weight: 400;
}
.person-card h3 {
  font-size: 20px;
  margin: 18px 0 5px;
}
.person-card p {
  font-size: 13px;
  margin: 10px 0;
}
.person-card .person-role {
  font-size: 12px;
  color: #3f665e;
}
.person-card a {
  font-size: 12px;
}
.advisor-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.advisor-grid img,
.advisor-grid .team-initials {
  aspect-ratio: 1.2;
  object-position: top;
}
.living-well-lockup {
  width: 180px;
  height: 50px;
  object-fit: contain;
  margin-bottom: 18px;
}
.field input,
.field select,
.field textarea {
  border: 1px solid #a9bab7;
  border-radius: 8px;
  background: #fff;
  min-height: 50px;
}
/* Group: Form focus, invalid states, and contact review spacing. */
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: #38796e;
  box-shadow: 0 0 0 3px #38796e1c;
}
.field [aria-invalid="true"] {
  border-color: var(--error);
}
.form-panel {
  box-shadow: none;
  border: 1px solid var(--line);
  border-radius: 22px;
}
.form-status .button {
  margin-top: 18px;
}
.form-status dl {
  overflow-wrap: anywhere;
}
.eligibility-chip {
  border: 1px solid #c0d9ce;
  padding: 8px 18px;
  display: inline-block;
  border-radius: 30px;
  color: #235b4b;
  font-size: 13px;
}
/* Group: Context for illustrative photography. */
.image-disclosure {
  font-size: 10px;
  margin-top: 22px;
  color: #58626b;
}
/* Viewport (max-width: 1200px): component adjustments at this breakpoint. */
@media (max-width: 1200px) {
  .main-nav {
    gap: 12px;
  }
  .nav-wrap {
    gap: 16px;
  }
  .brand img {
    width: 145px;
  }
  .nav-actions .plain-button {
    font-size: 12px;
  }
}
/* Viewport (max-width: 1100px): component adjustments at this breakpoint. */
@media (max-width: 1100px) {
  .nav-actions {
    margin-left: auto;
  }
  .menu-toggle {
    display: flex;
  }
  .main-nav {
    display: none;
  }
  .main-nav.is-open {
    display: flex;
    position: fixed;
    inset: 80px 0 0;
    background: #fff;
    padding: 35px;
    flex-direction: column;
    align-items: stretch;
    z-index: 100;
    overflow-y: auto;
  }
  .main-nav.is-open a {
    font-size: 18px;
    padding: 9px 0;
  }
}
/* Viewport (max-width: 900px): component adjustments at this breakpoint. */
@media (max-width: 900px) {
  .story-split {
    grid-template-columns: 1fr;
  }
  .trusted-logos {
    grid-template-columns: repeat(3, 1fr);
  }
  .people-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .editorial-heading {
    text-align: left;
  }
  .editorial-heading p {
    margin-left: 0;
  }
}
/* Viewport (max-width: 600px): component adjustments at this breakpoint. */
@media (max-width: 600px) {
  .people-grid,
  .advisor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 16px;
  }
  .person-card h3 {
    font-size: 17px;
  }
  .person-card p {
    font-size: 12px;
  }
  .stories-pair {
    grid-template-columns: 1fr;
  }
  .trusted-logos {
    gap: 24px;
  }
  .trusted-logos img {
    height: 32px;
  }
  .editorial-heading {
    margin-bottom: 32px;
  }
  .brand-architecture {
    padding: 30px;
  }
  .outcome-chart {
    padding: 20px;
  }
  .outcome-chart > div {
    gap: 12px;
    font-size: 12px;
  }
}
/* Accessibility: honor the visitor's reduced-motion preference. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .payer-track {
    transform: none !important;
  }
  .payer-carousel {
    overflow-x: auto;
  }
  .payer-group-copy {
    display: none;
  }
}

/* Keep editorial copy readable at every size; controls retain compact leading. */
body[class] main :is(p, .lead, .small) {
  line-height: var(--leading-body);
}
body[class] main :is(h1, h2, h3, h4) {
  line-height: var(--leading-heading);
}
/* Highlighted notes use their background rather than a decorative left bar. */
.notice {
  border-left: 0;
}

/* Product emphasis is decorative; the text retains its readable foreground. */
.page-individuals .callout { display: block; }
.page-individuals .callout > .button { margin-top: 24px; }

/* Editorial actions: leave a clear pause between copy and its next action.
 * Scope these rules to main content so navigation and inline links stay compact.
 * Adjacent margins collapse in normal flow rather than doubling the gap. */
:root {
  --space-copy-action: clamp(28px, 3vw, 36px);
}
main :is(p, .lead, ul, ol, details) + .button,
main :is(p, .lead, ul, ol) + .actions,
main .story-copy > .button,
main .research-card > .button,
main .app-tour-steps > .button,
main .home-faq > div > .button {
  margin-block-start: var(--space-copy-action);
}
main .actions {
  gap: 16px;
}
main .button + :is(p, .small),
main .actions + :is(p, .small) {
  margin-block-start: 20px;
}
/* Form submission has its own separation from the consent text. */
.form-panel > .checkbox + .button {
  margin-block-start: 28px;
}
/* The insurance badge and action are separate rows, never cramped inline text. */
.page-index .coverage-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.page-index main .coverage-details > :is(p, .button) { margin: 0; }
.page-index .trusted-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); }
/* Stacked callouts must retain the same separation as inline editorial CTAs. */
@media (max-width: 900px) {
  main .callout {
    gap: var(--space-copy-action);
  }
  main .callout > .button {
    margin-block-start: 0;
  }
  .page-individuals main .callout > .button {
    margin-block-start: var(--space-copy-action);
  }
}

/* Continuous section backgrounds with readable inner content across pages. */
body main > section.section-panel,
body.page-index main > #start.section-panel {
  width:100%; max-width:none; margin-inline:0; margin-block:0;
  padding-inline:0; border-radius:0;
}
body main > section.section-panel > .container {
  width:min(var(--page-width),calc(100% - 96px)); margin-inline:auto;
}
@media(max-width:1000px) {
  body main > section.section-panel > .container { width:calc(100% - 64px); }
}
@media(max-width:600px) {
  body main > section.section-panel > .container { width:calc(100% - 40px); }
}

/* Shared homepage visual language across the marketing pages. */
:root { --card-shadow:0 8px 24px rgba(38,45,96,.07); }
body .button.button-schedule,
body .care-hero .actions .button.button-schedule,
body #start .button.button-schedule {
  background:#191f4b; border-color:#191f4b; color:#fff;
  box-shadow:0 2px 4px rgba(16,18,67,.16),0 7px 18px rgba(16,18,67,.17);
}
body .button.button-schedule:hover,
body .care-hero .actions .button.button-schedule:hover,
body #start .button.button-schedule:hover {
  background:#10143b; border-color:#10143b; color:#fff; transform:none;
}
body .button:hover { transform:none; }
.button .button-arrow { display:inline-block; transition:transform 180ms ease; }
.button:hover .button-arrow,
.button:focus-visible .button-arrow { transform:translateX(5px); }
@media (prefers-reduced-motion:reduce) {
  .button .button-arrow { transition:none; }
  .button:hover .button-arrow,
  .button:focus-visible .button-arrow { transform:none; }
}
body:not(.page-index) main > section.section { padding-block:72px; }
body:not(.page-index) main :is(.research-card,.insurance-cost-card,.partner-pilot-cards li,.needs-grid > article) {
  box-shadow:var(--card-shadow); border-radius:20px;
}
@media(max-width:600px) {
  body:not(.page-index) main > section.section { padding-block:48px; }
}

/* Light brand blue keeps the hero action distinct from its dark backdrop. */
body .care-hero .actions .button.button-schedule,
body #start .button.button-schedule {
  background:#cce8f5; border-color:#cce8f5; color:#191f4b;
}
body .care-hero .actions .button.button-schedule:hover,
body #start .button.button-schedule:hover {
  background:#e2f3fb; border-color:#e2f3fb; color:#191f4b;
}

/* Match the subtle outline across all coverage cards. */
/* Inner-page actions on dark panels match the homepage CTA. */
body:not(.page-index) main :is(.callout, .section-navy) .button {
  background: #cce8f5;
  border-color: #cce8f5;
  color: #191f4b;
}
body:not(.page-index) main :is(.callout, .section-navy) .button:hover {
  background: #e2f3fb;
  border-color: #e2f3fb;
  color: #191f4b;
}

#cost-and-coverage .home-cost-grid > article { border:1px solid #dfe5ee; }

/* Slightly stronger button typography across the site. */
body .button,
body .care-hero .actions .button.button-schedule {
  font-size:15px;
  font-weight:600;
}

/* Consistent LivingWell wordmark accent in page copy and navigation. */
body .livingwell-brand-accent { color:#f17b74; font-weight:600; }

/* Keep navigation typography uniform and highlights in Prosoma blue. */
body .site-header .main-nav a { font-weight:500; }
body .site-header .livingwell-brand-accent { color:inherit; font-weight:inherit; }
body .site-header .main-nav a:hover,
body .site-header .main-nav a:focus-visible,
body .site-header .main-nav a[aria-current="page"] { color:var(--navy-deep); }
body .site-header .main-nav a[aria-current="page"] { box-shadow:0 2px var(--navy-deep); }

/* LivingWell coral highlights for key messages across marketing pages. */
:root { --livingwell-orange:#f17b74; }
body main :is(.eyebrow,.kicker,.section-label),
body main :is(.included-grid,.needs-grid,.partner-pilot-cards,.app-feature-grid,.care-comparison) h3 {
  color:#202653;
}
body main :is(p,blockquote) > strong {
  color:var(--livingwell-orange);
}

/* Mobile CTAs share one centered, full-width layout across marketing pages. */
@media (max-width:767px) {
  body :is(main,dialog) .button {
    display:flex;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:52px !important;
    margin-inline:auto !important;
    align-self:center;
    justify-self:stretch;
    justify-content:center;
    text-align:center;
    white-space:normal;
    padding:14px 16px !important;
    line-height:1.4;
    gap:10px;
    box-sizing:border-box;
  }
  body :is(main,dialog) :is(.actions,.evidence-contact-actions) {
    display:flex;
    flex-direction:row !important;
    flex-wrap:wrap;
    align-items:stretch;
    justify-content:center;
    width:100%;
    min-width:0;
    gap:12px !important;
  }
  body :is(main,dialog) :is(.actions,.evidence-contact-actions) > .button {
    flex:1 1 160px !important;
    width:auto !important;
    margin:0 !important;
    align-self:stretch;
  }
}
@media (max-width:700px) {
  .page-about .advisor-affiliations { position:relative; }
  .page-about .advisor-affiliations .affiliation-icon { position:static; }
  .page-about .affiliation-icon .affiliation-tooltip { left:0; right:auto; width:100%; max-width:100%; }
}
/* Closing CTA panels: copy first, followed by a horizontal button row. */
body main .callout {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
body main .callout > .button { margin-top: 0; }
body main .callout .evidence-contact-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  min-width: 0;
}
body main .callout .evidence-contact-actions .button { width: auto; }
@media (max-width: 767px) {
  body main .callout { align-items: center; text-align: center; }
  body main .callout .evidence-contact-actions { width: 100%; justify-content: center; }
}
/* Native dropdowns share the text-field treatment across browsers. */
.field select {
  appearance: none;
  -webkit-appearance: none;
  min-height: 50px;
  padding: 13px 48px 13px 14px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23262d60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 20px;
  cursor: pointer;
}

/* Keep the research closing CTA pair equally sized. */
@media (min-width: 768px) {
  body main .callout .evidence-contact-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: max-content;
    max-width: 100%;
    align-items: stretch;
  }
  body main .callout .evidence-contact-actions .button {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    justify-content: center;
  }
}

/* Paired marketing CTAs share equal columns, regardless of label length. */
@media (min-width: 768px) {
  body main .actions:has(> .button + .button) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: max-content;
    max-width: 100%;
    align-items: stretch;
  }
  body main .actions:has(> .button + .button) > .button {
    width: 100% !important;
    min-width: 0 !important;
    height: 100%;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    justify-content: center;
    white-space: normal;
  }
  body main .actions.centered:has(> .button + .button) {
    margin-inline: auto;
  }
}

/* One shared button width for closing CTA panels across pages. */
@media (min-width: 768px) {
  body main :is(.callout, .start-panel, .section-navy) .button {
    width: 300px !important;
    max-width: 100%;
    min-width: 0 !important;
    min-height: 54px;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  body main :is(.callout, .start-panel, .section-navy) :is(.actions, .evidence-contact-actions):has(> .button + .button) {
    width: 616px;
    max-width: 100% !important;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body main :is(.callout, .start-panel, .section-navy) :is(.actions, .evidence-contact-actions) > .button {
    width: 100% !important;
  }
}

/* Mobile contact dock: equal actions and space for device safe areas. */
.mobile-contact-bar { display: none; }
@media (max-width: 700px) {
  body.has-mobile-contact-bar { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact-bar {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: space-between; gap: 12px;
    position: fixed; inset: auto 0 0; z-index: 25;
    padding: 8px max(16px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    background: #fff; border-top: 3px solid #8dbdd2;
    box-shadow: 0 -4px 20px #20265312;
  }
  .mobile-contact-bar a {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    min-width: 0; min-height: 44px; padding: 8px 12px;
    border: 1px solid #292d61; border-radius: 10px;
    font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none;
    transition: background-color .2s, color .2s;
  }
  .mobile-contact-call { background: #fff; color: #292d61; }
  .mobile-contact-start { background: #292d61; color: #fff; }
  .mobile-contact-bar svg { width: 19px; height: 19px; flex: none; }
  .mobile-contact-bar a:hover { background: #292d61; color: #fff; }
  .mobile-contact-bar a:focus-visible { outline: 3px solid #587bba; outline-offset: 2px; }
  .page-index .care-hero-copy > p { line-height: 1.3; }
  .page-index .hero-proof p { line-height: 1.3; }
}
@media print { .mobile-contact-bar { display: none; } }

@media (max-width: 700px) {
  body.page-index main .care-hero h1 { font-weight: 600; line-height: 1.12; }
  body.page-index main .care-hero-copy > p { line-height: 1.3; }
  body.page-index main .hero-proof p { line-height: 1.3; }
  .page-index .care-hero-image img {
    transform: translateY(-12%) scale(1.22);
    transform-origin: 68% 45%;
    object-position: 68% 60%;
  }
}

@media (max-width: 700px) {
  .page-index .care-hero-inner {
    grid-template-rows: auto auto;
    align-content: start;
    gap: 24px;
    min-height: 0;
    height: auto;
  }
  .page-index .care-hero::after {
    background: linear-gradient(90deg, rgba(30,25,75,.58), rgba(42,33,83,.12)),
      linear-gradient(180deg, rgba(35,28,78,.12) 0, rgba(24,23,64,.18) 300px, #181740 580px);
  }
  .mobile-contact-start:hover { background: #171b43; }
}

/* Consistent, comfortable mobile reading size across marketing pages. */
@media (max-width: 700px) {
  body[class] main p:where(:not(.small, .eyebrow, .session-pack-note, .hero-brand-note)) {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  body[class] main :is(.lead, blockquote) { font-size: 15px; line-height: 1.5; }
}

/* Mobile layout rhythm and consistent heading hierarchy. */
@media (max-width: 700px) {
  body[class] { --space-section: 40px; }
  body[class] main h1 { font-size: clamp(30px, 8vw, 36px) !important; line-height: 1.15 !important; font-weight: 600; }
  body[class] main h2 { font-size: clamp(25px, 6.6vw, 29px) !important; line-height: 1.2 !important; font-weight: 500; }
  body[class] main h3 { font-size: 19px !important; line-height: 1.3 !important; font-weight: 600; }
  body[class] main .section { padding-block: 40px; }
  body[class] main .section-heading { margin-bottom: 24px; gap: 12px; }
  body[class] main .section-heading > p { margin-top: 12px; }
  body[class] main .actions { gap: 12px; }
  body.page-index main .care-hero-copy > p { width: 73%; max-width: 310px; }
  .page-index .care-hero-image img {
    transform: translateY(-10%) scale(1.25);
    transform-origin: 50% 45%;
    object-position: 35% 60%;
  }
  .page-index .care-hero-copy { padding-top: 48px; }
  .page-index .care-hero-inner { gap: 22px; padding-bottom: 28px; }
  .page-index .hero-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    gap: 8px;
    overflow: visible;
    padding: 0;
    scroll-snap-type: none;
  }
  .page-index .hero-proof > div { padding: 12px 9px; border-radius: 12px; gap: 8px; align-content: start; }
  .page-index .hero-proof strong { font-size: 13px; line-height: 1.3; overflow-wrap: normal; }
  body.page-index main .hero-proof p { font-size: 12px !important; line-height: 1.45 !important; }
}

/* Joined mobile benefits: shared panel, compact padding, quiet dividers. */
@media (max-width: 700px) {
  .page-index .hero-proof {
    gap: 0;
    width: calc(100% + 24px);
    margin-inline: -12px;
    background: rgba(16,22,48,.34);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    overflow: hidden;
  }
  .page-index .hero-proof > div {
    padding: 8px 6px;
    gap: 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .page-index .hero-proof > div + div { border-left: 1px solid rgba(255,255,255,.14); }
  .page-index .hero-proof strong { font-size: 12px; line-height: 1.25; }
  body.page-index main .hero-proof p { font-size: 11px !important; line-height: 1.35 !important; }
}

.app-tour-mobile-caption, .app-tour-mobile-controls { display: none; }
@media (max-width: 700px) {
  .page-index .app-tour-layout { display: flex; flex-direction: column; align-items: stretch; gap: 20px; }
  .page-index .app-tour-layout .app-tour-phone { position: relative; order: 1; width: 100%; max-width: 320px; margin: 0 auto; padding: 0; touch-action: pan-y pinch-zoom; }
  .page-index .app-tour-phone .device-shell { width: 220px; max-width: 100%; margin-inline: auto; }
  .page-index .app-tour-phone :is(.phone-card, .phone-flourish) { display: none; }
  .page-index .app-tour-mobile-caption { display: block; order: 3; text-align: center; min-height: 135px; }
  .page-index .app-tour-mobile-caption h3 { margin: 0 0 10px; }
  .page-index .app-tour-mobile-caption p { margin: 0; }
  .page-index .app-tour-mobile-controls { display: flex; position: absolute; inset: 50% 0 auto; transform: translateY(-50%); z-index: 4; align-items: center; justify-content: space-between; pointer-events: none; }
  .app-tour-mobile-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(41,45,97,.15); border-radius: 50%; background: rgba(255,255,255,.65); backdrop-filter: blur(8px); color: #292d61; box-shadow: 0 3px 12px rgba(41,45,97,.08); cursor: pointer; pointer-events: auto; }
  .app-tour-mobile-controls button:hover { background: #cce9f4; color: #292d61; }
  .app-tour-mobile-controls button:focus-visible { outline: 3px solid #587bba; outline-offset: 3px; }
  .app-tour-mobile-controls svg { width: 22px; height: 22px; }
  .app-tour-mobile-controls span { display: none; }
  .page-index .app-tour-steps { order: 4; }
  .page-index .app-tour-steps .app-step { display: none; }
  .page-index .app-tour-steps > .button { margin: 0; justify-self: stretch; }
}

/* Keep the hero introduction prominent over the photograph. */
.page-index .care-hero-copy > p { font-weight: 600; }

/* Closing home CTA stays stacked and full width on phones. */
@media (max-width: 767px) {
  body.page-index #start .start-panel .actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    gap: 12px;
  }
  body.page-index #start .start-panel .actions > .button {
    width: 100% !important;
    max-width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
    margin: 0;
    justify-content: center;
    text-align: center;
  }
}

/* Mobile section introductions; card titles and subheadings retain their styles. */
@media (max-width: 700px) {
  body.page-index main :is(.editorial-heading, .section-heading, .coverage-intro) {
    text-align: center;
    align-items: center;
  }
  body.page-index main :is(.editorial-heading, .section-heading, .coverage-intro) > :is(h2, p),
  body.page-index main :is(.patient-feature-copy, .start-panel > div, .home-faq > div) > h2,
  body.page-index main #trusted h2,
  body.page-index main .patient-more-intro {
    text-align: center;
    font-weight: 600 !important;
  }
  body.page-index main .patient-feature-copy > blockquote,
  body.page-index main .start-panel > div > p {
    text-align: center;
    font-weight: 600;
  }
}

/* Consistent inner-page hierarchy and compact brand sizing. */
body:not(.page-index) main h1 { font-size: clamp(36px, 4.4vw, 60px); line-height: 1.12; font-weight: 600; }
body:not(.page-index) main h2 {
  text-align: left;
  font-weight: 600 !important;
  line-height: 1.2;
  margin-inline: 0;
}
body:not(.page-index) main h3 { font-weight: 600; line-height: 1.3; }
body:not(.page-index) main :is(.editorial-heading, .section-heading) > p { font-weight: 600; }
.footer-logo { width: 180px; height: 48px; object-fit: contain; box-sizing: border-box; }
.mobile-menu-actions { display: none; }
@media (max-width: 1100px) {
  .main-nav.is-open .mobile-menu-actions { display: grid; gap: 12px; width: 100%; margin-top: auto; padding-top: 24px; }
  .main-nav .mobile-menu-actions .button { width: 100%; min-height: 48px; justify-content: center; text-align: center; font-size: 16px; }
  .main-nav .mobile-menu-actions .button-primary { background: #191f4b; color: white; border: 1px solid #191f4b; }
}
@media (max-width: 700px) {
  body:not(.page-index) main h1 { font-size: clamp(30px, 8vw, 36px) !important; line-height: 1.15 !important; }
  body:not(.page-index) main :is(.editorial-heading, .section-heading) { text-align: center; }
  .footer-logo { width: 130px; height: 48px; }
}
/* Keep the footer brand no larger than the navigation brand. */
.site-footer .footer-logo { width: 180px; height: 48px; padding: 0; object-fit: contain; }
@media(max-width:1200px) { .site-footer .footer-logo { width: 145px; } }
@media(max-width:700px) { .site-footer .footer-logo { width: 130px; } }
@media(max-width:950px) {
  .main-nav.is-open { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  .main-nav.is-open .mobile-menu-actions { flex-shrink: 0; }
}
/* Compact footer wordmark across desktop and mobile. */
.site-footer .footer-logo { width: 150px !important; height: 42px !important; padding: 4px !important; object-fit: contain; }
@media(max-width:700px) { .site-footer .footer-logo { width: 130px !important; height: 36px !important; } }
/* Compact, consistent footer navigation rhythm. */
.site-footer .footer-links a,
.site-footer .footer-links button { line-height: 1.4; margin-bottom: 8px; }
.site-footer .footer-links h3 { margin-bottom: 16px; }
/* Mobile scheduling is available inside the navigation drawer. */
@media(max-width:700px) { .site-header .nav-actions { display: none; } }
/* Keep the evidence partnership CTA on a single line on narrow phones. */
@media(max-width:767px) {
  body.page-evidence main .evidence-contact-actions .button {
    width: 100%; min-width: 0; padding-inline: 8px;
    font-size: clamp(11px, 3.3vw, 14px) !important;
    line-height: 1.3; white-space: nowrap; justify-content: center;
  }
}

/* Readable, swipeable hero benefits on phones. */
.hero-proof-controls { display: none; }
@media(max-width:700px) {
  .page-index .hero-proof { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px; width: 100%; margin: 0; padding: 0; overflow-x: auto; background: transparent; border: 0; border-radius: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .page-index .hero-proof::-webkit-scrollbar { display: none; }
  .page-index .hero-proof > div { padding: 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(16,22,48,.5); scroll-snap-align: start; gap: 6px; }
  .page-index .hero-proof > div + div { border-left: 1px solid rgba(255,255,255,.2); }
  .page-index .hero-proof strong { font-size: 15px; line-height: 1.3; }
  body.page-index main .hero-proof p { font-size: 13px !important; line-height: 1.45 !important; }
  .page-index .hero-proof-controls { display: flex; align-items: center; justify-content: space-between; margin-top: -10px; color: white; }
  .hero-proof-controls button { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #ffffff55; background: #ffffff20; color: white; cursor: pointer; font-size: 22px; }
  .hero-proof-controls button:disabled { opacity: .35; cursor: default; }
  .hero-proof-controls span { font-size: 12px; }
}
@media(max-width:700px) {
  .site-footer .footer-links:has(a[href^="mailto:"]) { grid-column: 1 / -1; }
  .site-footer .footer-links a[href^="mailto:"] { white-space: nowrap; }
}
@media(max-width:700px) {
  .page-index .hero-proof-controls { justify-content: space-between; margin: 0 0 -12px; }
  .page-index .hero-proof-controls span { display: none; }
}
/* Navigation overlays the card edges rather than taking a separate row. */
.hero-proof-slider { display: contents; }
@media(max-width:700px) {
  .page-index .hero-proof-slider { display: block; position: relative; min-width: 0; }
  .page-index .hero-proof-controls { position: absolute; inset: 50% -10px auto; transform: translateY(-50%); display: flex; justify-content: space-between; margin: 0; z-index: 2; pointer-events: none; }
  .page-index .hero-proof-controls button { pointer-events: auto; width: 30px; height: 36px; background: rgba(255,255,255,.72); color: #292d63; border: 1px solid rgba(255,255,255,.4); backdrop-filter: blur(6px); }
  .page-index .hero-proof-controls button:disabled { visibility: hidden; }
  .page-index .hero-proof > div { padding-inline: 24px; }
}
@media(max-width:700px) {
  .page-index .hero-proof-controls button {
    width: 32px; height: 32px; min-width: 32px; min-height: 32px;
    flex: 0 0 32px; padding: 0; aspect-ratio: 1; border-radius: 50%;
    background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45);
    backdrop-filter: none; box-shadow: none; line-height: 1;
  }
}
@media(max-width:700px) {
  .page-index .hero-proof-controls button {
    border: 0;
    background: rgba(16, 18, 67, .64);
    color: #fff;
  }
}
/* Keep the pricing switch compact and evenly sized on narrow phones. */
@media (max-width: 600px) {
  .page-index .home-cost-tabs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .page-index .home-cost-tabs button { min-width: 0; min-height: 44px; padding: 9px 8px; font-size: 13px; line-height: 1.25; }
}
@media (max-width: 360px) {
  .page-index .home-cost-tabs button { font-size: 12px; padding-inline: 6px; }
}
/* App preview requested in the original What you get feedback. */
.page-index #included .included-grid .living-well-lockup {
  width: 80px; height: 96px; object-fit: cover; object-position: center top;
  border-radius: 10px; border: 1px solid #dfe5ed;
}

/* Center inner-page introductions only on phones. */
@media (min-width:701px) {
 body:not(.page-index) main :is(.editorial-heading, .section-heading) { text-align:left; align-items:flex-start; }
 body:not(.page-index) main :is(.editorial-heading, .section-heading) :is(h2,p) { text-align:left; margin-inline:0; }
}
@media (max-width:700px) {
 body:not(.page-index) main h2 { text-align:center !important; margin-inline:auto; }
 body:not(.page-index) main :is(.editorial-heading, .section-heading) { text-align:center; }
}

/* Section summaries follow their heading instead of occupying a second column. */
body[class] main .section-heading {
 display:flex; flex-direction:column; gap:16px;
}
body[class] main .section-heading > p { margin-top:0; max-width:760px; }
@media (min-width:701px) {
 body:not(.page-index) main :is(h1,h2,h3) { text-align:left !important; margin-left:0; margin-right:0; }
 body:not(.page-index) main .section-heading { align-items:flex-start; text-align:left; }
 body:not(.page-index) main .section-heading p { text-align:left; margin-left:0; margin-right:0; }
}
@media (max-width:700px) {
 body:not(.page-index) main .section-heading { align-items:center; text-align:center; }
}
/* Mobile alignment for FAQ, Partners and Individuals. */
@media (max-width:700px) {
 body:is(.page-faq,.page-partners,.page-individuals) main :is(h1,h2,h3) {
  text-align:left !important; margin-inline:0;
 }
 body:is(.page-faq,.page-partners,.page-individuals) main :is(.section-heading,.editorial-heading) {
  text-align:left; align-items:flex-start;
 }
 body:is(.page-faq,.page-partners,.page-individuals) main :is(.section-heading,.editorial-heading) p {
  text-align:left; margin-inline:0;
 }
}
/* App-page alignment, preserving the centered certified-app introduction and captions. */
body.page-living-well main :is(h1,h2,h3) { text-align:left !important; margin-inline:0; }
body.page-living-well main :is(.section-heading,.editorial-heading) { text-align:left; align-items:flex-start; }
body.page-living-well main :is(.section-heading,.editorial-heading) p { text-align:left; margin-inline:0; }
body.page-living-well main #inside-app :is(h2,h3,p) { text-align:center !important; margin-inline:auto; }
body.page-living-well main #inside-app .section-heading { text-align:center; align-items:center; }
/* About-page headings and introductory copy share a left edge at every size. */
body.page-about main :is(h1,h2,h3) { text-align:left !important; margin-inline:0; }
body.page-about main :is(.section-heading,.editorial-heading) { text-align:left; align-items:flex-start; }
body.page-about main :is(.section-heading,.editorial-heading) p { text-align:center; margin-inline:auto; width:100%; }
/* Legal-page headings and supporting introductions align on all screen sizes. */
body:is(.page-privacy,.page-terms) main :is(h1,h2,h3) { text-align:left !important; margin-inline:0; }
body:is(.page-privacy,.page-terms) main :is(.section-heading,.editorial-heading) { text-align:left; align-items:flex-start; }
body:is(.page-privacy,.page-terms) main :is(.section-heading,.editorial-heading) p { text-align:left; margin-inline:0; }

/* Publication feature beneath the three clinical outcome cards. */
.page-index #research .home-outcome-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap:24px; }
#research .research-publication-feature { grid-column:1 / -1; display:grid; grid-template-columns: .9fr 1.1fr; align-items:center; gap:40px; padding:40px; border:1px solid #d9e5eb; border-radius:24px; background:linear-gradient(120deg,#edf6f3 0%,#edf2fa 100%); overflow:hidden; }
#research .publication-copy { min-width:0; text-align:left; }
#research .publication-eyebrow { display:block; color:#087f7b; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px; }
#research .publication-copy h3 { font-size:clamp(26px,2.6vw,36px); line-height:1.2; letter-spacing:-.035em; color:#252c60; margin:0 0 20px; }
#research .publication-copy p { font-size:16px; line-height:1.65; color:#495571; margin:0 0 24px; }
#research .publication-journal { display:flex; align-items:center; gap:16px; margin-bottom:24px; color:#425477; }
#research .publication-journal strong { font:32px Georgia,serif; color:#252c60; }
#research .publication-journal span { border-left:1px solid #b9cbd5; padding-left:16px; font-size:13px; line-height:1.5; }
#research .publication-copy .button { white-space:normal; text-align:center; }
#research .publication-image { display:block; min-width:0; padding:12px; background:#fff; border:1px solid #dce4ee; border-radius:12px; box-shadow:0 16px 36px #24325418; transition:transform .2s ease; }
#research .publication-image:hover { transform:translateY(-3px); }
#research .publication-image img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:4px; margin:0; }
#research .publication-image:focus-visible { outline:3px solid #087f7b; outline-offset:5px; }
@media(max-width:800px) { #research .research-publication-feature { gap:24px; padding:28px; grid-template-columns:1fr; } }
@media(max-width:600px) { .page-index #research .home-outcome-grid { grid-template-columns:1fr; gap:18px; } #research .research-publication-feature { padding:24px 20px; border-radius:20px; } #research .publication-copy h3 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { #research .publication-image { transition:none; } }

/* Compact report preview and consistent arrow motion across CTAs. */
#research .publication-image { width:100%; max-width:440px; justify-self:end; box-sizing:border-box; }
:is(a,button) .button-arrow { display:inline-block; transition:transform 180ms ease; }
:is(a,button):is(:hover,:focus-visible) .button-arrow { transform:translateX(5px); }
@media(max-width:800px) { #research .publication-image { justify-self:center; } }
@media(prefers-reduced-motion:reduce) {
  :is(a,button) .button-arrow { transition:none; }
  :is(a,button):is(:hover,:focus-visible) .button-arrow { transform:none; }
}

/* Homepage rhythm: steps, clinical voices, benefits, patient stories. */
.page-index main > #how-it-works.section { background:#f5f6f8; }
.page-index main > #people.section { background:#eaf2fa; }
.page-index main > #included.section { background:#fff; }
.page-index main > #cancer-support.section { background:#f0f3fa; }
.page-index #cancer-support .patient-more-stories { background:#fff; }
.page-index main > .app-tour.section { background:#f4f1eb; }

/* Compact clinician story with a single, responsive white panel. */
#app-clinician { background:linear-gradient(120deg,#f4f1eb,#edf4f2); }
#app-clinician .app-clinician-layout { display:grid; grid-template-columns:214px minmax(0,1fr); align-items:center; max-width:1000px; width:calc(100% - 40px); box-sizing:border-box; padding:36px; gap:48px; background:#fff; border:1px solid #e4eae8; border-radius:24px; box-shadow:0 14px 40px rgba(41,45,99,.05); }
#app-clinician .app-clinician-media { position:relative; width:100%; max-width:214px; margin-inline:auto; }
#app-clinician video { display:block; margin-inline:auto; background:#171d28; }
#app-clinician .app-clinician-part { position:absolute; right:10px; top:12px; padding:6px 10px; border-radius:20px; background:#fff; color:#292d63; font-size:12px; font-weight:600; pointer-events:none; }
#app-clinician .app-clinician-media + div { padding-block:8px; }
#app-clinician h2 { font-size:clamp(26px,2.5vw,34px); margin:0 0 24px; max-width:520px; line-height:1.2; letter-spacing:-.025em; }
#app-clinician blockquote { margin:0 0 28px; border:0; padding:0; font-size:clamp(20px,2vw,24px); line-height:1.55; color:#292d63; }
#app-clinician h3 { font-size:20px; margin:0 0 8px; }
#app-clinician .app-clinician-title { margin:0; font-size:14px; line-height:1.6; color:#565c7a; max-width:460px; }
.page-index #people .testimonial-pagination { display:none; }
.page-index #people .testimonial-scroll { scrollbar-width:none; }
.page-index #people .testimonial-scroll::-webkit-scrollbar { display:none; }
@media(max-width:700px) { #app-clinician .app-clinician-layout { grid-template-columns:1fr; padding:24px; gap:28px; } #app-clinician h2 { margin-bottom:20px; } }

/* Supplied app screenshots shown intact within the feature devices. */
body.page-living-well main #inside-app .app-phone-frame { aspect-ratio:auto; height:auto; }
body.page-living-well main #inside-app .app-phone-frame img { position:static; display:block; width:100%; height:auto; aspect-ratio:603 / 1311; object-fit:contain; transform:none; }

/* Brand treatment in care comparison and pricing switch. */
#care-together .care-brand-logo { display:block; width:205px; max-width:100%; height:auto; }
.page-index .home-cost-tabs button[aria-selected="true"] { background:#cce8f5; color:#191f4b; border-color:#cce8f5; }

#care-together .care-navigator-actions { display:flex; justify-content:center; margin-top:32px; }
#care-together .care-navigator-actions .button { background:#191f4b; border-color:#191f4b; color:#fff; text-align:center; }
#care-together .care-navigator-actions .button:hover { background:#10143b; border-color:#10143b; color:#fff; }

/* Half-phone dashboard preview in the app pricing card. */
#cost-self-pay-panel .home-cost-grid > article:first-child .self-pay-card-art { height:180px; overflow:hidden; align-items:flex-start; }
#cost-self-pay-panel .self-pay-card-art .self-pay-app-preview { box-sizing:content-box; flex:none; width:154px; height:auto; max-height:none; aspect-ratio:603 / 1311; object-fit:contain; padding:3px; border:5px solid #fff; border-radius:24px; margin-top:4px; background:#fff; box-shadow:0 4px 16px rgba(38,45,96,.14),0 0 0 1px #e7eaf0; }

.mobile-contact-bar:has(> a:only-child) { grid-template-columns:1fr; }

/* Homepage-style play overlay with a closer portrait crop. */
#app-clinician .app-clinician-media { aspect-ratio:13/20; overflow:hidden; border-radius:16px; background:#171d28; }
#app-clinician .app-clinician-media video { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 25%; border-radius:0; }
#app-clinician .app-clinician-play { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; cursor:pointer; background:#171d28; }
#app-clinician .app-clinician-play[hidden] { display:none; }
#app-clinician .app-clinician-play img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 25%; }
#app-clinician .app-clinician-play-label { position:absolute; bottom:12px; left:12px; padding:9px 15px; border-radius:999px; font-size:15px; font-weight:600; color:#fff; background:rgba(38,45,96,.78); transition:background-color .18s ease; }
#app-clinician .app-clinician-play:hover .app-clinician-play-label { background:#456aa2; }
#app-clinician .app-clinician-play:focus-visible { outline:3px solid #cce8f5; outline-offset:-4px; }
#app-clinician .app-clinician-part { z-index:2; }
