/* Liberty Dayton RMC visual pass, inner pages (pd-xphtx.11, Iris). Loads after brand.css. Tokens only.
   The pieces the homepage does not have: page title band, chips, map, stat tiles, FAQ, closing band, article, directory. */

/* page title band: the hospital-blue ground (05.5), white type, rings along the edge, the curved underline on the h1 (07.7) */
.tband { position: relative; isolation: isolate; overflow: hidden; background: var(--bg-primary); color: var(--fg-on-dark); padding-block: var(--space-section); padding-top: calc(var(--header-card-h) + var(--space-6)); }
/* the photo runs under the same two-direction grade as Hero 1 (06.1), so type keeps contrast */
.tband__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.tband__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: var(--ldr-photo-under-grade); transform: scaleX(-1); }
.tband__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--ldr-navy-35), var(--ldr-navy-35)), linear-gradient(180deg, var(--ldr-primary-85) 0%, var(--ldr-primary-60) 45%, var(--ldr-navy-55) 100%); }
@media (min-width: 64em) { .tband__media::after { background:
  linear-gradient(var(--ldr-navy-25), var(--ldr-navy-25)),
  linear-gradient(180deg, var(--ldr-primary-55) 0%, var(--ldr-primary-10) 35%, var(--ldr-navy-55) 100%),
  linear-gradient(90deg, var(--ldr-primary-95) 0%, var(--ldr-primary-80) 45%, var(--ldr-primary-35) 100%); } }
.tband__in { display: grid; gap: var(--space-4); position: relative; }
.crumbs { list-style: none; display: flex; flex-wrap: wrap; gap: var(--baseline) 0; margin: 0 0 var(--space-3); padding: 0; font-size: var(--fs-body-sm); color: var(--fg-on-dark-muted); }
.crumbs li + li::before { content: "/"; margin: 0 var(--space-1); color: var(--fg-on-dark-muted); }
.crumbs a { color: var(--fg-on-dark); text-decoration: underline; text-underline-offset: 3px; }
.tband h1 { color: var(--fg-on-dark); font-size: var(--fs-h1); line-height: var(--lh-heading); letter-spacing: var(--ls-display); margin: 0 0 var(--space-3); max-width: 22ch; padding-bottom: 0.15em; }
.tband__line { font-size: var(--fs-body-lg); color: var(--fg-on-dark); max-width: 36rem; margin: 0; }
.tband__tag { display: inline-flex; margin-bottom: var(--space-3); padding: var(--baseline) var(--space-3); border: 1.5px solid var(--fg-on-dark); border-radius: var(--radius-full); font-size: var(--fs-eyebrow); font-weight: var(--fw-strong); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; }
.tband__date { margin: var(--space-3) 0 0; color: var(--fg-on-dark-muted); font-size: var(--fs-body); }
.tband__act { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); align-items: center; }
.tband__tel { background: var(--bg-light); color: var(--fg-on-light); }
.tband__tel:hover { background: var(--bg-pale); color: var(--fg-on-light); }
.tband__heart { width: 3rem; height: 3rem; margin-bottom: var(--space-3); fill: none; stroke: var(--fg-on-dark); stroke-width: 2; }
.tband .chips { margin-top: var(--space-4); }
.tband__more { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--ldr-neutral-40); display: grid; gap: var(--space-3); justify-items: start; }
.tband__sub { margin: 0; max-width: 40rem; color: var(--fg-on-dark); font-size: var(--fs-body-lg); }
.tband__more .link-arrow, .cta .link-arrow { color: var(--fg-on-dark); }
.tband__more .cta__act { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); align-items: center; }
.tband__more .btn { background: var(--bg-light); color: var(--fg-on-light); }

.note-link { margin-top: var(--space-5); font-weight: var(--fw-medium); color: var(--fg-on-light); }
.note-link a { font-weight: var(--fw-strong); }
.card__body .meta, .card__body .addr { font-size: var(--fs-body-sm); margin: 0; flex: none; }
.card__tag { font-size: var(--fs-eyebrow); font-weight: var(--fw-strong); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--ldr-primary-600); }
.card__tel { font-size: var(--fs-body-lg); min-height: var(--tap); display: inline-flex; align-items: center; }
.card__body .card__date { font-size: var(--fs-body-sm); margin: 0; flex: none; }

/* filter chips and tabs: pills, one active */
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chip { display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 var(--space-4); border-radius: var(--radius-full); background: var(--bg-light); border: 2px solid var(--bg-light); color: var(--fg-on-light); font-weight: var(--fw-strong); font-size: var(--fs-body-sm); transition: background-color var(--transition-fast); }
.chip:hover { background: var(--bg-pale); color: var(--fg-on-light); }
.chip[aria-pressed="true"], .chip[aria-selected="true"] { background: var(--bg-pale); border-color: var(--bg-pale); color: var(--fg-on-light); box-shadow: inset 0 -3px 0 var(--ldr-primary); }
.section .chip { background: var(--bg-pale); border-color: var(--bg-pale); }
.section--grey .chip, .section--pale .chip { background: var(--bg-light); border-color: var(--bg-light); }
.section .chip[aria-pressed="true"], .section .chip[aria-selected="true"] { background: var(--ldr-primary); border-color: var(--ldr-primary); color: var(--fg-on-dark); box-shadow: none; }

/* map block: a pale ground with rings until the real map is set (PLACEHOLDER comment in the markup) */
.mapbox { position: relative; overflow: hidden; margin-top: var(--space-4); min-height: 22rem; border-radius: var(--radius-md); background: var(--bg-pale); display: grid; place-items: center; }
.mapbox .ico { width: var(--space-7); height: var(--space-7); color: var(--ldr-primary); }
.mapbox::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--ldr-primary-30); }
.mapnote { margin-top: var(--space-4); font-size: var(--fs-body-lg) !important; color: var(--fg-on-light); font-weight: var(--fw-medium); }

/* stat tiles */
.stats { display: grid; gap: var(--space-3); }
.stat { background: var(--bg-light); border-radius: var(--radius-md); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--baseline); box-shadow: var(--shadow-1); }
.section:not(.section--grey):not(.section--pale) .stat { background: var(--bg-soft); }
.stat strong { color: var(--fg-on-light); font-size: var(--fs-body-lg); font-weight: var(--fw-strong); line-height: var(--lh-tight); }
.stat span, .stat a { font-size: var(--fs-body); color: var(--fg-on-light-body); }
.stat a { font-weight: var(--fw-strong); }
.stat .ico { margin-bottom: var(--space-1); }
.section-act { margin-top: var(--space-5); display: flex; flex-wrap: wrap; gap: var(--baseline) var(--space-5); align-items: center; }
@media (min-width: 40em) { .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 48em) and (max-width: 63.99em) { .stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.navy-card__intro + .navy-card__intro { margin-top: calc(var(--space-1) * -1); }
.billing-card p:last-child { margin-bottom: 0; }
.navy-card .plans { max-width: 40rem; }
.plans--row { grid-column: 1 / -1; max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 56em) { .plans--row { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* FAQ: rows that open */
.faq { display: grid; gap: var(--space-2); max-width: 52rem; }
.faq__group { margin: var(--space-5) 0 var(--baseline); font-size: var(--fs-body-lg) !important; font-weight: var(--fw-display); color: var(--fg-on-light); }
.faq__group:first-child { margin-top: 0; }
.faq details { background: var(--bg-light); border-radius: var(--radius-md); box-shadow: var(--shadow-1); }
.faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 3.5rem; padding: var(--space-2) var(--space-4); font-weight: var(--fw-strong); font-size: var(--fs-body-lg); color: var(--fg-on-light); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 1.75rem; height: 1.75rem; display: grid; place-items: center; border: 2px solid var(--ldr-primary); border-radius: var(--radius-full); font-weight: var(--fw-strong); line-height: 1; color: var(--ldr-primary-600); }
.faq details[open] summary::after { content: "\2212"; background: var(--ldr-primary); color: var(--fg-on-dark); }
.faq__a { padding: 0 var(--space-4) var(--space-3); max-width: 40rem; }
.faq__a p { margin: 0; }
.faq__a p + p { margin-top: var(--space-2); }
.faq-tel { margin-top: var(--space-5); }
@media (min-width: 56em) {
  .faq--cols { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) var(--space-4); align-items: start; }
  .faq--cols .faq__group { grid-column: 1 / -1; }
}
/* patient guide FAQ: each group is its own panel with a pale header bar (no extra navy, 03.7) */
.faq--panels { max-width: none; gap: var(--space-4); }
.faq--panels .faq__panel { background: var(--bg-light); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-1); }
.faq--panels .faq__group { margin: 0; padding: var(--space-3) var(--space-4); background: var(--bg-primary); color: var(--fg-on-dark) !important; font-size: var(--fs-body-lg) !important; }
.faq--panels .faq__list { display: grid; gap: 0; }
.faq--panels details { border-radius: 0; box-shadow: none; border-top: 1px solid var(--border-subtle); }
.faq--panels details:first-child { border-top: 0; }
.faq--panels summary { min-height: 4rem; }
@media (min-width: 64em) { .faq--panels .faq__a { max-width: 48rem; } }

/* closing band: hospital-blue ground (never a navy band, 03.7), one line, one white button (03.8) */
.cta { position: relative; isolation: isolate; overflow: hidden; background: var(--bg-primary); color: var(--fg-on-dark); padding-block: var(--space-section); }
.cta__in { display: grid; gap: var(--space-4); justify-items: start; }
.cta__line { margin: 0; font-size: var(--fs-h2); font-weight: var(--fw-display); line-height: var(--lh-heading); letter-spacing: var(--ls-display); color: var(--fg-on-dark) !important; max-width: 40rem; }
.cta__act { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); align-items: center; }
.cta__small { margin: 0; color: var(--fg-on-dark-muted); font-size: var(--fs-body-sm); }
.cta .eyebrow { display: none; }
.cta--pale { background: var(--bg-pale); color: var(--fg-on-light-body); }
.cta--pale .cta__line { color: var(--fg-on-light) !important; }
.cta--pale .btn { border-color: var(--ldr-primary); background: var(--bg-light); }
.cta--pale .link-arrow { color: var(--ldr-primary-600); }
.cta--pale .eyebrow { display: inline-flex; margin-bottom: var(--space-1); }
.cta--pale .cta__small { color: var(--fg-on-light-body); }
.cta--white { background: var(--bg-light); color: var(--fg-on-light-body); }
.cta--white .cta__line { color: var(--fg-on-light) !important; font-size: var(--fs-h3); }
.cta--white .link-arrow { color: var(--ldr-primary-600); }
.cta--white .cta__line + .link-arrow { margin-top: calc(var(--space-1) * -1); }
.cta__sub { margin: 0; color: var(--fg-on-light-body); font-size: var(--fs-body-lg); max-width: 40rem; }
.cta--center .cta__in { justify-items: center; text-align: center; }
.cta--center .cta__act { flex-direction: column; gap: var(--baseline); }

/* article: one reading column, lead image above it */
.article { max-width: 44rem; margin-inline: auto; }
.article__lead { aspect-ratio: 16 / 9; border-radius: var(--radius-md); margin-bottom: var(--space-6); }
.article p { font-size: var(--fs-body-lg); line-height: 1.65; margin: 0 0 var(--space-4); }
.article h2 { color: var(--fg-on-light); font-size: var(--fs-h3); line-height: var(--lh-heading); margin: var(--space-6) 0 var(--space-3); }
.article p:first-of-type { font-size: var(--fs-body-lg); color: var(--fg-on-light); font-weight: var(--fw-medium); }
@media (min-width: 64em) { .providers--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* heart care: the fourth card is a navy call to action (second and last navy on the page), white button (03.8) */
.card--cta { background: var(--bg-navy); justify-content: center; }
.card--cta:hover { box-shadow: var(--shadow-3); }
.card--cta .card__body { justify-content: center; padding: var(--space-5) var(--space-5); gap: var(--space-3); }
.card--cta h3, .section .card--cta h3 { color: var(--fg-on-dark); }
.card--cta p { color: var(--fg-on-dark-muted); flex: none; }
.card--cta .btn { background: var(--bg-light); color: var(--fg-on-light); }

/* the cardiologist: full width, two columns, photo left */
.providers--feature { grid-template-columns: minmax(0, 1fr); }
.providers--feature .provider { grid-template-columns: minmax(0, 1fr); box-shadow: var(--shadow-4); }
.providers--feature .provider__media { min-height: 14rem; aspect-ratio: auto; }
.providers--feature .provider__body { padding: var(--space-5) var(--space-4); gap: var(--space-1); }
.providers--feature .provider__body h3 { font-size: var(--fs-h2); letter-spacing: var(--ls-display); }
.providers--feature .provider__body p { font-size: var(--fs-body); }
@media (min-width: 48em) {
  .providers--feature .provider { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .providers--feature .provider__media { min-height: 22rem; height: 100%; }
  .providers--feature .provider__body { padding: var(--space-6); }
}

/* numbered one, two, three plan */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); counter-reset: step; }
.step { counter-increment: step; background: var(--bg-light); border-radius: var(--radius-md); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-1); box-shadow: var(--shadow-1); }
.step::before { content: counter(step); width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: var(--radius-full); background: var(--ldr-primary); color: var(--fg-on-dark); font-weight: var(--fw-display); font-size: var(--fs-body-lg); margin-bottom: var(--space-1); }
.step strong { color: var(--fg-on-light); font-size: var(--fs-h3); font-weight: var(--fw-strong); line-height: var(--lh-tight); }
.step span { font-size: var(--fs-body); color: var(--fg-on-light-body); }
@media (min-width: 48em) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* patient guide: the at-a-glance section sits on the hospital-blue ground until its photo is set (PLACEHOLDER comment in the markup) */
.section--photo { background: var(--bg-primary); color: var(--fg-on-dark); }
.section--photo .section-head h2, .section--photo .section-head p { color: var(--fg-on-dark); }
.section--photo .eyebrow { color: var(--fg-on-dark-muted) !important; }
.section--photo .stat { box-shadow: var(--shadow-1); }
.section--photo .btn--green { background: var(--bg-light); color: var(--fg-on-light); }
.section--photo .btn--green:hover { background: var(--bg-pale); color: var(--fg-on-light); }
.section--photo .link-arrow, .section--photo .quiet-links a { color: var(--fg-on-dark); }
.section--photo .section-act .link-arrow { color: var(--fg-on-dark); }

/* directory: department cards, extension first; one navy card for the four numbers */
.depts { display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr); }
.dept { display: grid; grid-template-columns: auto 1fr; column-gap: var(--space-3); align-content: start; padding: var(--space-4); background: var(--bg-soft); border-radius: var(--radius-md); }
.dept .dept__ico { grid-row: 1 / span 2; margin-top: var(--baseline); }
.dept h3 { margin: 0; }
.dept p { margin: var(--baseline) 0 0; }
.dept__ext { grid-column: 1 / -1; justify-self: start; margin-top: var(--space-3); padding: var(--space-1) var(--space-3); background: var(--bg-light); color: var(--ldr-primary-600); border-radius: var(--radius-full); font-weight: var(--fw-strong); font-size: var(--fs-body); }
@media (min-width: 40em) { .depts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .depts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.navy-card--numbers { margin-top: var(--space-5); grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.navy-card__h { color: var(--fg-on-dark) !important; margin: 0 !important; }
.numbers { display: grid; gap: var(--space-2); grid-template-columns: minmax(0, 1fr); }
.numbers li { background: var(--bg-light); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); display: flex; flex-direction: column; gap: var(--baseline); color: var(--fg-on-light-body); }
.numbers a { font-size: var(--fs-body-lg); min-height: var(--tap); display: inline-flex; align-items: center; }
@media (min-width: 40em) { .numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .numbers { grid-template-columns: repeat(4, minmax(0, 1fr)); } .navy-card--numbers { padding: var(--space-6); } }

/* news and events hub: pale bars stand in for event copy that does not exist yet (PLACEHOLDER comments in the markup) */
.skel { display: block; height: 0.9rem; background: var(--bg-pale); border-radius: var(--radius-full); margin-bottom: var(--space-2); }
.skel--xs { width: 20%; } .skel--s { width: 30%; } .skel--m { width: 60%; } .skel--l { width: 90%; } .skel--h { height: 1.75rem; width: 75%; margin-bottom: var(--space-3); }
.skel--btn { width: 9rem; height: var(--button-height); border-radius: var(--radius-full); margin-top: var(--space-3); background: var(--ldr-primary-30); }
.section-head > .skel--h { width: min(24rem, 70%); }
.feature--event .feature__media { min-height: 16rem; }

/* ===== first look pages (pd-xphtx.13): the few pieces the 17 new pages need, tokens only ===== */
/* red Emergency button on the title band (03.10) and a link in the band's address line */
.tband .btn--er { background: var(--bg-emergency); color: var(--fg-on-dark); }
.tband .btn--er:hover { background: var(--bg-emergency-hover); color: var(--fg-on-dark); }
.tband .link-arrow, .tband__addr a { color: var(--fg-on-dark); text-decoration: underline; text-underline-offset: 3px; }

/* the second button: white with deep blue text, outlined so it holds on a light ground (05.8) */
.section .btn--second, .cta--pale .btn--second { background: var(--bg-light); color: var(--ldr-primary-600); border-color: var(--ldr-primary); }
.section .btn--second:hover { background: var(--bg-pale); color: var(--ldr-primary-600); }
.card__acts { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); align-items: center; margin-top: var(--space-1); }

/* a green action inside a light closing band (03.1: green on light grounds) */
.cta--pale .btn--green, .cta--white .btn--green { background: var(--action); color: var(--fg-on-dark); border-color: transparent; }
.cta--pale .btn--green:hover, .cta--white .btn--green:hover { background: var(--action-pressed); color: var(--fg-on-dark); }
.cta--white .eyebrow { display: inline-flex; margin-bottom: var(--space-1); }
.cta--white .cta__sub { max-width: 40rem; }

/* plans with one short step each, and two-step plans */
.steps--plain .step span { font-size: var(--fs-body-lg); color: var(--fg-on-light); }
.steps--plain .step a { color: var(--ldr-primary-600); text-decoration: underline; text-underline-offset: 3px; font-weight: var(--fw-strong); }
@media (min-width: 48em) { .steps--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.section-intro { margin: 0 0 var(--space-4); max-width: var(--measure); font-size: var(--fs-body-lg) !important; color: var(--fg-on-light); font-weight: var(--fw-medium); }
.steps + .note-link, .note-link + .note-link { margin-top: var(--space-3); }

/* a feature card with no photo reads as one wide panel */
.feature--text { grid-template-columns: minmax(0, 1fr); }
.feature--text .feature__body { padding: var(--space-5) var(--space-4); }
.feature__body .quiet-links { margin-top: var(--space-3); }
.feature__body p + p { margin-top: var(--space-2); }
@media (min-width: 56em) { .feature--text .feature__body { padding: var(--space-6); } }

/* patient tool tiles: the tile's own action sits under the line */
.quick__go { display: block; margin-top: var(--space-1); font-weight: var(--fw-strong); font-size: var(--fs-body-sm); color: var(--ldr-primary-600); }
.stat strong a { color: var(--ldr-primary-600); text-decoration: underline; text-underline-offset: 3px; }

/* billing: one navy card holding the two choices side by side (03.7, 05.10) */
.navy-card--pair { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.navy-card__col { display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-start; }
.navy-card__col h3, .section .navy-card__col h3 { color: var(--fg-on-dark); margin: 0; }
.navy-card__col p { color: var(--fg-on-dark-muted); margin: 0; flex: 1; }
.navy-card__col .link-arrow { color: var(--fg-on-dark); }
.navy-card__col .card__acts { margin-top: var(--space-2); }
@media (min-width: 48em) { .navy-card--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); padding: var(--space-6); align-items: stretch; } }

/* job application: the form block (the only form on the site). Labels above fields, two columns from 40em */
.container--form { max-width: 52rem; }
.form { display: grid; gap: var(--space-5); }
.form__set { border: 0; margin: 0; padding: var(--space-4); background: var(--bg-soft); border-radius: var(--radius-md); min-width: 0; }
.form__set legend { padding: 0 var(--space-1); font-size: var(--fs-h3); font-weight: var(--fw-display); color: var(--fg-on-light); }
.form__note { margin: 0 0 var(--space-3); color: var(--fg-on-light-body); }
.form__grid { display: grid; gap: var(--space-3); grid-template-columns: minmax(0, 1fr); }
.field { display: flex; flex-direction: column; gap: var(--baseline); min-width: 0; }
.field label { font-weight: var(--fw-strong); color: var(--fg-on-light); font-size: var(--fs-body-sm); }
.field__control { width: 100%; min-height: var(--tap); padding: var(--space-1) var(--space-3); background: var(--bg-light); color: var(--fg-on-light); border: 2px solid var(--ldr-neutral-40); border-radius: var(--radius-md); font: inherit; }
.field textarea { min-height: 6rem; resize: vertical; }
.field__control:focus-visible { outline: none; border-color: var(--ldr-primary); box-shadow: var(--shadow-focus); }
.field--check { flex-direction: row; align-items: flex-start; gap: var(--space-2); }
.field--check input { flex: none; width: 1.5rem; height: 1.5rem; margin-top: var(--baseline); accent-color: var(--ldr-primary); }
.field--check label { font-size: var(--fs-body); font-weight: var(--fw-medium); }
@media (min-width: 40em) { .form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .field--wide { grid-column: 1 / -1; } }
.form .btn { justify-self: start; }
.form__done { padding: var(--space-6) var(--space-4); background: var(--bg-pale); border-radius: var(--radius-md); }
.form__done h2 { margin: 0 0 var(--space-2); }
.form__done p { margin: 0; font-size: var(--fs-body-lg); }
.section--legal { padding-block: var(--space-5); }
.fineprint { margin: 0; font-size: var(--fs-body-sm); color: var(--fg-on-light-body); }


/* ===== Terry 11-03 17:12: cards separate from their ground, at-a-glance photo and larger icons ===== */
/* every card, tile, row and panel gets a hairline outline and a soft shadow so it reads as sitting on its ground */
.card { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.stat { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.step { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.provider { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.dept { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.quick a { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.numbers li { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.feature { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.faq details { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.faq--panels .faq__panel { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.billing-card { border: 1px solid var(--border-subtle); box-shadow: var(--shadow-3); }
.faq--panels details { border: 0; border-top: 1px solid var(--border-subtle); box-shadow: none; }
.faq--panels details:first-child { border-top: 0; }
.card--cta { border-color: transparent; }
/* patient guide, at a glance: a dark hospital photo under a navy overlay, parallax on wide screens with motion allowed */
.section--photo .stat { border-color: var(--ldr-primary-100); box-shadow: var(--shadow-4); }
.ico--xl { width: var(--space-7); height: var(--space-7); margin-bottom: var(--space-2); }
.ico--xl svg { stroke-width: var(--icon-stroke); }

/* ===== Terry 11-03 17:41 (pd-xphtx.14) ===== */
/* 1. h1 swoop: navy, clear of the hospital-blue band (the underline rule itself is in brand.css) */
.tband h1 { text-wrap: balance; }

/* 3. at a glance: the photo layer sits behind a navy overlay and shifts slightly with scroll (parallax.js sets --shift) */
.section--photo { background: var(--bg-navy); color: var(--fg-on-dark); }
.section--photo::before { content: ""; position: absolute; inset: -10% 0; z-index: -2; background: url("assets/images/photos/hallway-1600.webp") center / cover no-repeat; transform: translate3d(0, var(--shift, 0%), 0); will-change: transform; }
.section--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ldr-navy-85); }
.section.section--photo:not(.section--grey):not(.section--pale) .stat { background: var(--ldr-navy-60); border-color: var(--ldr-neutral-20); box-shadow: var(--shadow-4); }
.section--photo .stat strong { color: var(--fg-on-dark); }
.section--photo .stat span:not(.ico) { color: var(--fg-on-dark-body); }
.section--photo .stat .ico { box-sizing: content-box; padding: var(--space-2); border-radius: var(--radius-full); background: var(--bg-pale); color: var(--ldr-primary-600); }
@media (prefers-reduced-motion: reduce) { .section--photo::before { transform: none; will-change: auto; } }

/* 4. question group bars: navy */
.faq--panels .faq__group { background: var(--bg-navy); }

/* licensed photo under the dark closing band (pd-xphtx.15): same photo layer as the title band, one strong grade at every width so centred type keeps contrast */
.cta .tband__media::after { background: linear-gradient(var(--ldr-navy-35), var(--ldr-navy-35)), linear-gradient(180deg, var(--ldr-primary-85) 0%, var(--ldr-primary-60) 45%, var(--ldr-navy-55) 100%); }
.cta .tband__media img { object-position: center 40%; }
.cta__in { position: relative; }
@media (max-width: 47.99em) { .section--photo::before { background-image: url("assets/images/photos/hallway-960.webp"); } }

/* Legal-text page type (T60 nondiscrimination, T61 language help, T62 accessibility): one readable column, no hero photo. */
.section--legal-text .eyebrow, .cta--legal .eyebrow { margin-bottom: var(--space-2); }
.legal { max-width: 46rem; font-size: var(--fs-body-lg); line-height: 1.65; }
.legal--wide { max-width: 64rem; }
.legal p, .legal ul, .legal ol { margin: 0 0 var(--space-3); }
.legal ul, .legal ol { padding-inline-start: 1.5rem; }
.legal li { margin-bottom: var(--space-1); }
.legal a { overflow-wrap: anywhere; }
.legal__acts { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block: var(--space-4); }
.legal__sub { margin: var(--space-5) 0 var(--space-3); font-size: var(--fs-h3); }
.langs { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.lang { background: var(--bg-light); border-radius: var(--radius-md); box-shadow: var(--shadow-1); padding: var(--space-4); }
.lang h3 { margin: 0 0 var(--space-2); font-size: var(--fs-h3); line-height: 1.25; }
.lang h3 small { font-size: 0.6em; font-weight: var(--fw-regular, 400); color: var(--fg-on-light-body); }
.lang p { margin: 0; font-size: var(--fs-body); line-height: 1.7; }
.cta--legal .legal { color: #fff; }
.cta--legal .legal a:not(.btn) { color: #fff; text-decoration: underline; }
.cta--legal h2 { color: #fff; }
.section--legal-text h2, .cta--legal h2 { margin: 0 0 var(--space-3); }
.legal ul { list-style: disc; }
.legal ol { list-style: decimal; }
.cta--legal .legal__acts .btn--second { background: transparent; color: #fff; border: 2px solid #fff; }
.lang a { white-space: nowrap; }
