/*
 * Landing page (home#index private-pay template).
 *
 * Everything is scoped under .lp, the <main> wrapper of app/views/home/private_pay.html.erb,
 * so none of it reaches the shared nav, footer, other pages or the Tailwind utilities.
 * Colors are not hardcoded: each --lp-color-* maps onto a semantic theme token
 * (--color-*), so owner themes and the light and dark modes keep working.
 * Fonts are the self-hosted Bitter and IBM Plex Sans declared in tailwind/application.css.
 */
.lp {
  --lp-space-3xs: 2px; --lp-space-2xs: 4px; --lp-space-xs: 8px; --lp-space-sm: 12px; --lp-space-md: 16px; --lp-space-lg: 24px; --lp-space-xl: 40px; --lp-space-2xl: 64px; --lp-space-3xl: 96px;
  --lp-text-xs: 0.8125rem; --lp-text-sm: 0.875rem; --lp-text-md: 1rem; --lp-text-lg: 1.25rem; --lp-text-xl: 1.5625rem; --lp-text-2xl: 1.953rem; --lp-text-3xl: 2.441rem;
  --lp-text-display-s: clamp(2.25rem, 4vw + 0.5rem, 3.75rem);
  --lp-text-section: clamp(2rem, 2.5vw + 1rem, 3.5rem); --lp-text-title: clamp(1.25rem, 0.75vw + 0.875rem, 1.625rem); --lp-text-lead: clamp(1.125rem, 0.35vw + 1rem, 1.375rem);
  --lp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --lp-dur-micro: 120ms; --lp-dur-short: 220ms;
  --lp-container: 1440px; --lp-gutter: 64px; --lp-gap-columns: 32px; --lp-section-gap-s: 120px; --lp-section-gap: 144px;
  --lp-font-display: "Bitter", Georgia, "Times New Roman", serif;
  --lp-font-body: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --lp-display-weight: 600; --lp-tracking-display: -0.02em;
  --lp-radius-card: 8px; --lp-radius-control: 8px; --lp-radius-pill: 999px;

  --lp-color-paper: rgb(var(--color-background));
  --lp-color-paper-2: rgb(var(--color-muted));
  --lp-color-paper-3: color-mix(in oklab, rgb(var(--color-muted)) 82%, rgb(var(--color-foreground)));
  --lp-color-ink: rgb(var(--color-foreground));
  --lp-color-ink-2: rgb(var(--color-muted-foreground));
  --lp-color-muted: rgb(var(--color-muted-foreground));
  --lp-color-rule: rgb(var(--color-border));
  --lp-color-accent: rgb(var(--color-primary-strong));
  --lp-color-accent-2: color-mix(in oklab, rgb(var(--color-primary-strong)) 86%, rgb(var(--color-foreground)));
  --lp-color-accent-ink: rgb(var(--color-primary-foreground));
  --lp-color-focus: rgb(var(--color-ring));
  --lp-color-signal: rgb(var(--color-accent));
  --lp-color-signal-wash: color-mix(in oklab, rgb(var(--color-accent)) 12%, rgb(var(--color-background)));
  --lp-color-ok: rgb(var(--color-success-strong));
  --lp-color-ok-wash: color-mix(in oklab, rgb(var(--color-success-strong)) 14%, rgb(var(--color-background)));

  background: var(--lp-color-paper);
  color: var(--lp-color-ink);
  font-family: var(--lp-font-body);
  font-size: var(--lp-text-md);
  line-height: 1.55;
  overflow-x: clip;
}
.lp, .lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
@media (max-width: 60rem) { .lp { --lp-gutter: 24px; --lp-section-gap-s: 80px; --lp-section-gap: 96px; --lp-gap-columns: 32px; } }
@media (max-width: 40rem) { .lp { --lp-gutter: 16px; --lp-section-gap-s: 56px; --lp-section-gap: 72px; --lp-gap-columns: 16px; } }
@media (prefers-reduced-motion: reduce) { .lp *, .lp *::before, .lp *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }

.lp :focus-visible { outline: 2px solid var(--lp-color-focus); outline-offset: 2px; }
.lp a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.lp h1,
.lp h2,
.lp h3 { margin: 0; font-family: var(--lp-font-display); font-weight: var(--lp-display-weight, 700); font-synthesis: none; letter-spacing: var(--lp-tracking-display); line-height: 1.05; overflow-wrap: break-word; min-width: 0; text-wrap: balance; }
.lp h1 { max-width: 20ch; font-size: var(--lp-text-display); }
.lp h2 { max-width: 30ch; font-size: var(--lp-text-section); }
.lp h3 { max-width: 40ch; font-size: var(--lp-text-title); line-height: 1.2; }
.lp .lead { font-size: var(--lp-text-lead); line-height: 1.45; max-width: 52ch; }
.lp p { margin: 0; text-wrap: pretty; }
.lp p:not([class]) { max-width: 65ch; }
.lp img,
.lp video { max-width: 100%; height: auto; display: block; }
.lp svg { display: block; }
.lp [hidden] { display: none !important; }
.lp button,
.lp input,
.lp select,
.lp textarea { font: inherit; }
.lp .container { width: 100%; max-width: var(--lp-container); margin-inline: auto; padding-inline: var(--lp-gutter); box-sizing: border-box; }
.lp .num,
.lp .figure,
.lp td.num { font-variant-numeric: tabular-nums; }
.lp .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lp .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--lp-space-xs); min-height: 50px; padding: 0 var(--lp-space-lg); border: 1px solid var(--lp-color-accent); border-radius: var(--lp-radius-control); background: var(--lp-color-accent); color: var(--lp-color-accent-ink); font: 600 var(--lp-text-md)/1 var(--lp-font-body); white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color var(--lp-dur-short) var(--lp-ease-out), border-color var(--lp-dur-short) var(--lp-ease-out), transform var(--lp-dur-micro) var(--lp-ease-out); }
.lp .btn:hover { background: var(--lp-color-accent-2); border-color: var(--lp-color-accent-2); }
.lp .btn:active { transform: translateY(1px); }
.lp .btn:focus-visible { outline: 2px solid var(--lp-color-focus); outline-offset: 2px; }
.lp .btn:disabled,
.lp .btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none; }
.lp .btn--quiet { background: transparent; color: var(--lp-color-ink); border-color: var(--lp-color-rule); }
.lp .btn--quiet:hover { background: var(--lp-color-paper-2); border-color: var(--lp-color-muted); }
.lp .btn--nav { min-height: 44px; padding: 0 var(--lp-space-md); font-size: var(--lp-text-sm); }
.lp .actions { display: flex; flex-wrap: wrap; gap: var(--lp-space-sm); margin-top: var(--lp-space-xl); }
.lp .chev { width: 16px; height: 16px; flex-shrink: 0; transition: transform var(--lp-dur-short) var(--lp-ease-out); }
.lp [aria-expanded="true"] > .chev,
.lp details[open] > summary .chev { transform: rotate(180deg); }
.lp .disclose { display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-xs); min-height: 44px; cursor: pointer; list-style: none; }
.lp .disclose::-webkit-details-marker { display: none; }
.lp .disclose:hover { color: var(--lp-color-accent); }
.lp .disclose:focus-visible { outline: 2px solid var(--lp-color-focus); outline-offset: 2px; }
.lp .disclose:active { opacity: 0.8; }
.lp .lead { color: var(--lp-color-ink-2); }
.lp .hero { display: grid; align-items: center; min-height: calc(100svh - 65px); padding-block: var(--lp-space-xl); }
.lp .hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--lp-space-2xl); align-items: center; }
.lp .hero__kicker { margin: 0 0 var(--lp-space-md); color: var(--lp-color-ink-2); font-size: var(--lp-text-md); }
.lp .hero h1 { font-size: clamp(2.5rem, 5vw + 0.5rem, 5.25rem); line-height: 1.04; }
.lp .hero__lede { margin-top: var(--lp-space-lg); }
.lp .hero__terms { margin-top: var(--lp-space-md); color: var(--lp-color-ink-2); font-size: var(--lp-text-sm); }
.lp .board { margin: 0; border: 1px solid var(--lp-color-rule); border-radius: var(--lp-radius-card); background: var(--lp-color-paper-2); }
.lp .board__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--lp-space-sm); padding: var(--lp-space-md) var(--lp-space-lg); border-bottom: 1px solid var(--lp-color-rule); }
.lp .board__day { font: var(--lp-display-weight) var(--lp-text-xl)/1.2 var(--lp-font-display); }
.lp .board__sum { margin-top: var(--lp-space-2xs); color: var(--lp-color-ink-2); font-size: var(--lp-text-sm); }
.lp .tag { display: inline-flex; align-items: center; flex-shrink: 0; padding: var(--lp-space-3xs) var(--lp-space-xs); border: 1px solid var(--lp-color-rule); border-radius: var(--lp-radius-pill); color: var(--lp-color-ink-2); font-size: var(--lp-text-xs); }
.lp .visits { margin: 0; padding: 0; list-style: none; }
.lp .visit { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; align-items: center; gap: var(--lp-space-sm); padding: var(--lp-space-sm) var(--lp-space-lg); border-bottom: 1px solid var(--lp-color-rule); font-size: var(--lp-text-sm); }
.lp .visit__time { color: var(--lp-color-ink-2); }
.lp .visit__who { display: block; color: var(--lp-color-ink-2); font-size: var(--lp-text-xs); }
.lp .state { display: inline-flex; align-items: center; gap: var(--lp-space-2xs); padding: var(--lp-space-3xs) var(--lp-space-xs); border: 1px solid transparent; border-radius: var(--lp-radius-pill); background: var(--lp-color-paper-3); color: var(--lp-color-ink); font-size: var(--lp-text-xs); font-weight: 600; white-space: nowrap; }
.lp .state--ok { background: var(--lp-color-ok-wash); color: var(--lp-color-ok); }
.lp .state--signal { background: var(--lp-color-signal-wash); color: var(--lp-color-signal); }
.lp .state--open { background: transparent; border-color: var(--lp-color-rule); color: var(--lp-color-ink-2); }
.lp .state__icon { width: 16px; height: 16px; }
.lp .board__needs { padding: var(--lp-space-md) var(--lp-space-lg); border-bottom: 1px solid var(--lp-color-rule); background: var(--lp-color-signal-wash); }
.lp .board__needs-label { color: var(--lp-color-signal); font-size: var(--lp-text-sm); font-weight: 600; }
.lp .board__needs-text { margin-top: var(--lp-space-2xs); font-size: var(--lp-text-sm); }
.lp .board__more { padding: 0 var(--lp-space-lg); border-bottom: 1px solid var(--lp-color-rule); }
.lp .board__more > summary { font-size: var(--lp-text-sm); font-weight: 600; }
.lp .trail { display: grid; gap: var(--lp-space-sm); margin: 0; padding: 0 0 var(--lp-space-md); list-style: none; font-size: var(--lp-text-sm); }
.lp .trail p:not(.trail__name) { color: var(--lp-color-ink-2); }
.lp .trail__name { font-weight: 600; }
.lp .trail__name--struck { color: var(--lp-color-ink-2); text-decoration: line-through; }
.lp details:not([open]) > .trail,
.lp .board__caption { padding: var(--lp-space-sm) var(--lp-space-lg); color: var(--lp-color-ink-2); font-size: var(--lp-text-xs); line-height: 1.5; }
.lp .week,
.lp .demo,
.lp .close { padding-block: var(--lp-section-gap-s); background: var(--lp-color-paper-2); border-block: 1px solid var(--lp-color-rule); }
.lp .jobs,
.lp .features,
.lp .pricing,
.lp .faq { padding-block: var(--lp-space-3xl); }
.lp .features,
.lp .faq { border-top: 1px solid var(--lp-color-rule); }
.lp .jobs { padding-top: var(--lp-section-gap); }
.lp .pricing { padding-bottom: var(--lp-section-gap-s); }
.lp .head { display: grid; gap: var(--lp-space-md); margin-bottom: var(--lp-space-2xl); }
.lp .head .lead { max-width: 52ch; }
.lp .head--split { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--lp-gap-columns); align-items: end; }
.lp .head--split h2 { grid-column: 1 / span 7; }
.lp .head--split .lead { grid-column: 9 / span 4; }
.lp .week__head { max-width: 30ch; }
.lp .days { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--lp-gap-columns); margin: var(--lp-space-2xl) 0 0; }
.lp .day { padding-top: var(--lp-space-md); border-top: 2px solid var(--lp-color-ink-2); }
.lp .day dt { color: var(--lp-color-ink); font-size: var(--lp-text-sm); font-weight: 600; }
.lp .day dd { margin: var(--lp-space-xs) 0 0; line-height: 1.6; }
.lp .week__turn { margin-top: var(--lp-space-2xl); margin-left: calc(50% + var(--lp-gap-columns) / 2); max-width: 40ch; font-size: var(--lp-text-lead); font-weight: 600; }
.lp .answer { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--lp-gap-columns); align-items: start; margin-bottom: var(--lp-space-3xl); padding-bottom: var(--lp-space-3xl); border-bottom: 1px solid var(--lp-color-rule); }
.lp .answer__lead { grid-column: 1 / span 6; max-width: 18ch; font: var(--lp-display-weight) var(--lp-text-display-s)/1.08 var(--lp-font-display); letter-spacing: var(--lp-tracking-display); text-wrap: balance; overflow-wrap: break-word; min-width: 0; }
.lp .answer__body { grid-column: 7 / span 6; max-width: 58ch; color: var(--lp-color-ink-2); font-size: var(--lp-text-lead); line-height: 1.55; }
.lp .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-lg); align-items: stretch; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.lp .phase__list { margin: 0; padding: 0; list-style: none; }
.lp .phase__list li { padding-block: var(--lp-space-sm); border-bottom: 1px solid var(--lp-color-rule); line-height: 1.5; }
.lp .phase__key { font-weight: 600; }
.lp .tests { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lp-color-rule); counter-reset: test; }
.lp .tests > li { counter-increment: test; }
.lp .test { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto; align-items: center; gap: var(--lp-gap-columns); padding: var(--lp-space-lg) var(--lp-space-md); border-bottom: 1px solid var(--lp-color-rule); color: inherit; text-decoration: none; transition: background-color var(--lp-dur-short) var(--lp-ease-out); }
.lp .test::before { content: counter(test); color: var(--lp-color-accent); font: var(--lp-display-weight) var(--lp-text-2xl)/1 var(--lp-font-display); font-variant-numeric: tabular-nums; }
.lp .test:hover { background: var(--lp-color-paper-3); }
.lp .test:active { background: var(--lp-color-paper); }
.lp .test:focus-visible { outline: 2px solid var(--lp-color-focus); outline-offset: -2px; }
.lp .test__body { display: grid; gap: var(--lp-space-2xs); }
.lp .test__line { max-width: 65ch; color: var(--lp-color-ink-2); }
.lp .test__go { color: var(--lp-color-accent); font-weight: 600; white-space: nowrap; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.2em; }
.lp .test:hover .test__go { text-decoration-color: currentColor; }
.lp .plans { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lp-color-rule); }
.lp .plan { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--lp-gap-columns); row-gap: var(--lp-space-xs); align-items: center; padding-block: var(--lp-space-xl); border-bottom: 1px solid var(--lp-color-rule); }
.lp .plan__name { grid-column: 1 / span 4; grid-row: 1; }
.lp .plan__price { grid-column: 5 / span 4; grid-row: 1 / span 2; font: var(--lp-display-weight) var(--lp-text-3xl)/1 var(--lp-font-display); letter-spacing: var(--lp-tracking-display); }
.lp .plan__period { color: var(--lp-color-ink-2); font: 400 var(--lp-text-md)/1 var(--lp-font-body); letter-spacing: 0; }
.lp .plan__terms { grid-column: 1 / span 4; grid-row: 2; display: grid; gap: var(--lp-space-2xs); color: var(--lp-color-ink-2); }
.lp .plan__go { grid-column: 10 / span 3; grid-row: 1 / span 2; width: 100%; }
.lp .includes { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--lp-gap-columns); margin-top: var(--lp-space-3xl); }
.lp .includes__head { grid-column: 1 / span 4; }
.lp .includes__head p { margin-top: var(--lp-space-sm); color: var(--lp-color-ink-2); }
.lp .includes__head .includes__more { margin-top: var(--lp-space-xl); color: var(--lp-color-ink); font-weight: 600; }
.lp .includes__head .includes__terms { font-size: var(--lp-text-sm); }
.lp .includes__list { grid-column: 5 / span 8; margin: 0; padding: 0; list-style: none; column-count: 2; column-gap: var(--lp-gap-columns); border-top: 1px solid var(--lp-color-rule); }
.lp .includes__list li { padding-block: var(--lp-space-sm); border-bottom: 1px solid var(--lp-color-rule); break-inside: avoid; line-height: 1.5; }
.lp .where { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--lp-gap-columns); align-items: start; scroll-margin-top: var(--lp-space-3xl); }
.lp .where h2 { grid-column: 1 / span 6; }
.lp .where__facts { grid-column: 8 / span 5; display: grid; gap: var(--lp-space-xl); }
.lp .where__fact p { margin-top: var(--lp-space-xs); color: var(--lp-color-ink-2); }
.lp .faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--lp-gap-columns); align-items: start; margin-top: var(--lp-space-3xl); padding-top: var(--lp-space-3xl); border-top: 1px solid var(--lp-color-rule); }
.lp .faq__grid h2 { grid-column: 1 / span 4; position: sticky; top: calc(65px + var(--lp-space-xl)); }
.lp .faq__list { grid-column: 5 / span 8; border-top: 1px solid var(--lp-color-rule); }
.lp .qa { border-bottom: 1px solid var(--lp-color-rule); }
.lp .qa > summary { min-height: 64px; padding-block: var(--lp-space-sm); font-size: var(--lp-text-lg); font-weight: 600; }
.lp .qa > p { max-width: 65ch; padding-bottom: var(--lp-space-lg); color: var(--lp-color-ink-2); }
.lp .close__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--lp-gap-columns); align-items: end; }
.lp .close h2 { grid-column: 1 / span 7; }
.lp .close__act { grid-column: 8 / span 5; }
.lp .nowrap { white-space: nowrap; }
.lp .wordmark--foot { font-size: var(--lp-text-xl); }
.lp .wordmark--foot .wordmark__mark { width: 32px; height: 32px; }
@media (max-width: 60rem) {
  .lp .faq__grid h2 { top: 0; }
  .lp .hero { min-height: 0; padding-block: var(--lp-space-2xl) var(--lp-space-3xl); }
  .lp .hero__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--lp-space-2xl); }
  .lp .head--split,
.lp .answer,
.lp .includes,
.lp .where,
.lp .faq__grid,
.lp .close__grid { grid-template-columns: minmax(0, 1fr); }
  .lp .head--split h2,
.lp .head--split .lead,
.lp .answer__lead,
.lp .answer__body,
.lp .includes__head,
.lp .includes__list,
.lp .where h2,
.lp .where__facts,
.lp .faq__grid h2,
.lp .faq__list,
.lp .close h2,
.lp .close__act { grid-column: 1 / -1; grid-row: auto; }
  .lp .answer { row-gap: var(--lp-space-lg); }
  .lp .days { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--lp-space-xl); }
  .lp .steps { grid-template-columns: minmax(0, 1fr); row-gap: var(--lp-space-lg); }
  .lp .faq__grid h2 { position: static; }
  .lp .plan { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--lp-space-sm); }
  .lp .plan__name { grid-column: 1; grid-row: 1; }
  .lp .plan__terms { grid-column: 1 / -1; grid-row: 2; }
  .lp .plan__price { grid-column: 2; grid-row: 1; }
  .lp .plan__go { grid-column: 1 / -1; grid-row: 3; }
}
@media (max-width: 40rem) {
  .lp .days { grid-template-columns: minmax(0, 1fr); }
  .lp .visit { grid-template-columns: minmax(0, 1fr); gap: var(--lp-space-2xs); padding-inline: var(--lp-space-md); }
  .lp .visit .state { justify-self: start; }
  .lp .board__head,
.lp .board__needs,
.lp .board__more,
.lp .board__caption { padding-inline: var(--lp-space-md); }
  .lp .test { grid-template-columns: 2.5rem minmax(0, 1fr); align-items: start; padding-inline: 0; }
  .lp .test__go { grid-column: 2; }
  .lp .includes__list { column-count: 1; }
  .lp .actions .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .lp .btn,
.lp .chev,
.lp .test { transition: none; }
  .lp .btn:active { transform: none; }
}
/* Medicaid-only blocks (rendered only when the Medicaid switch is on) */
.lp .hero__badge { margin-top: var(--lp-space-md); color: var(--lp-color-accent); font-size: var(--lp-text-sm); font-weight: 600; }
.lp .medicaid { padding-block: var(--lp-section-gap-s); background: var(--lp-color-paper-2); border-block: 1px solid var(--lp-color-rule); }
.lp .medicaid h3 { margin-top: var(--lp-space-lg); padding-bottom: var(--lp-space-sm); border-bottom: 1px solid var(--lp-color-ink-2); }
.lp .medicaid__list { max-width: 56rem; }

/* Features: one named row per feature, with a short index above */
.lp .feature-index { display: flex; flex-wrap: wrap; gap: var(--lp-space-xs); margin: 0 0 var(--lp-space-2xl); padding: 0; list-style: none; }
.lp .feature-index a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--lp-space-md); border: 1px solid var(--lp-color-rule); border-radius: var(--lp-radius-pill); color: var(--lp-color-ink); font-size: var(--lp-text-sm); font-weight: 600; text-decoration: none; transition: background-color var(--lp-dur-short) var(--lp-ease-out), border-color var(--lp-dur-short) var(--lp-ease-out); }
.lp .feature-index a:hover { background: var(--lp-color-paper-2); border-color: var(--lp-color-ink-2); }
.lp .feature-index a:active { background: var(--lp-color-paper-3); }
.lp .feature-index a:focus-visible { outline: 2px solid var(--lp-color-focus); outline-offset: 2px; }
.lp .feature-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lp-color-rule); }
.lp .feature { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--lp-gap-columns); row-gap: var(--lp-space-sm); padding-block: var(--lp-space-xl); border-bottom: 1px solid var(--lp-color-rule); scroll-margin-top: var(--lp-space-3xl); }
.lp .feature__name { grid-column: 1 / span 4; font-size: var(--lp-text-xl); }
.lp .feature__body { grid-column: 5 / span 8; display: grid; gap: var(--lp-space-md); align-content: start; }
.lp .feature__line { max-width: 52ch; font-size: var(--lp-text-lead); line-height: 1.45; }
.lp .feature__list { margin: 0; padding: 0; list-style: none; }
.lp .feature__list li { padding-block: var(--lp-space-sm); border-top: 1px solid var(--lp-color-rule); line-height: 1.5; }
@media (max-width: 60rem) {
  .lp .feature { grid-template-columns: minmax(0, 1fr); }
  .lp .feature__name, .lp .feature__body { grid-column: 1 / -1; }
}

/* Three jobs: each a card, its "Behind the scenes" always open as a timeline */
.lp .step { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; overflow: hidden; border: 1px solid var(--lp-color-rule); border-radius: 12px; background: var(--lp-color-paper); counter-increment: step; transition: border-color var(--lp-dur-short) var(--lp-ease-out); }
.lp .step__head { position: relative; padding: var(--lp-space-xl) var(--lp-space-xl) var(--lp-space-lg); }
.lp .step__head::before { content: counter(step, decimal-leading-zero); display: block; margin-bottom: var(--lp-space-lg); color: var(--lp-color-accent); font: var(--lp-display-weight) var(--lp-text-2xl)/1 var(--lp-font-display); font-variant-numeric: tabular-nums; }
.lp .step__head h3 { font-size: var(--lp-text-xl); }
.lp .step__line { margin-top: var(--lp-space-sm); color: var(--lp-color-ink-2); }
.lp .scenes { padding: var(--lp-space-lg) var(--lp-space-xl) var(--lp-space-xl); border-top: 1px solid var(--lp-color-rule); background: linear-gradient(180deg, var(--lp-color-paper-2), color-mix(in oklab, var(--lp-color-paper-2) 60%, var(--lp-color-paper))); }
.lp .scenes__label { display: inline-flex; align-items: center; gap: var(--lp-space-xs); margin-bottom: var(--lp-space-lg); color: var(--lp-color-accent); font-size: var(--lp-text-sm); font-weight: 600; }
.lp .scenes__list { margin: 0; padding: 0; list-style: none; }
.lp .scenes__list li { position: relative; padding: 0 0 var(--lp-space-md) var(--lp-space-lg); color: var(--lp-color-ink); font-size: var(--lp-text-sm); line-height: 1.55; }
.lp .scenes__list li:last-child { padding-bottom: 0; }
.lp .scenes__list li::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 9px; height: 9px; border: 2px solid var(--lp-color-accent); border-radius: 50%; background: var(--lp-color-paper-2); }
.lp .scenes__list li::after { content: ""; position: absolute; left: 4px; top: calc(0.45em + 11px); bottom: 2px; border-left: 1px solid color-mix(in oklab, var(--lp-color-accent) 40%, var(--lp-color-rule)); }
.lp .scenes__list li:last-child::after { display: none; }
@media (max-width: 60rem) {
  .lp .step__head { padding: var(--lp-space-lg) var(--lp-space-lg) var(--lp-space-md); }
  .lp .scenes { padding: var(--lp-space-md) var(--lp-space-lg) var(--lp-space-lg); }
}
