.plan-fit { max-width: none; margin: 0; }
  .plan-fit-intro { max-width: 53ch; }
  .fit-label { margin: 0 0 13px; font-size: 12px; color: var(--accent); letter-spacing: .08em; text-transform: uppercase; }
  .plan-fit h2 { font-size: var(--step-section); font-weight: 700; line-height: 1.12; letter-spacing: -.025em; margin: 0 0 13px; max-width: 20ch; }
  .plan-fit-intro > p:last-child, .fit-hint, .fit-summary, .fit-boundary span { font-family: var(--font-body), system-ui, sans-serif; color: var(--text-dim); font-size: 16px; line-height: 1.62; }
  .plan-fit-intro > p:last-child { margin: 0; }
  .fit-route { min-height: 25px; margin: 38px 0 24px; padding-top: 20px; border-top: 1px solid var(--surface-5); }
  .fit-route:empty { display: none; }
  .fit-route-line { display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  .fit-route-line span { font-family: var(--font-body), system-ui, sans-serif; font-size: 13px; color: var(--text-quiet); }
  .fit-route-line span:not(:last-child)::after { content: "/"; margin: 0 8px; color: var(--grey); }
  .fit-route-line .fit-next { color: var(--accent); }
  .fit-question { font-size: clamp(22px, 3vw, 30px); font-weight: 700; letter-spacing: -.022em; line-height: 1.15; margin: 0 0 10px; max-width: 22ch; }
  .fit-hint { margin: 0 0 18px; max-width: 48ch; font-size: 14px; color: var(--text-dim); }
  .fit-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .fit-options:has([data-facet="family"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fit-option { appearance: none; display: grid; align-content: start; gap: 7px; min-height: 78px; width: 100%; padding: 18px; border: 1px solid var(--surface-6); border-radius: 8px; background: rgba(255,255,255,.012); color: var(--type); text-align: left; cursor: pointer; font: inherit; transition: border-color .18s ease, background-color .18s ease, translate .18s ease; }
  .fit-option strong { font-size: 17px; letter-spacing: -.012em; line-height: 1.3; }
  .fit-option small { font-family: var(--font-body), system-ui, sans-serif; color: var(--text-dim); font-size: 13px; line-height: 1.45; }
  .fit-option:hover, .fit-option:focus-visible { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 5%, transparent); translate: 0 -2px; }
  .fit-option:hover strong, .fit-option:focus-visible strong { color: var(--type); }
  .fit-option:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .fit-reset { appearance: none; margin: 20px 0 0; padding: 0; border: 0; border-bottom: 1px solid var(--text-quiet); background: transparent; color: var(--text-dim); font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
  .fit-reset:hover { color: var(--type); border-bottom-color: var(--type); }
  .fit-result { padding-top: 6px; }
  .fit-result h3 { font-size: clamp(25px, 3vw, 34px); font-weight: 700; letter-spacing: -.025em; line-height: 1.12; margin: 0 0 13px; max-width: 25ch; }
  .fit-summary { margin: 0; max-width: 48ch; }
  .fit-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); gap: 14px 20px; margin: 25px 0; padding: 20px; border: 1px solid var(--surface-6); border-radius: 8px; background: rgba(255,255,255,.012); }
  .fit-facts div { display: grid; gap: 3px; }
  .fit-facts dt { font-size: 12px; color: var(--text-quiet); letter-spacing: .08em; text-transform: uppercase; }
  .fit-facts dd { margin: 0; font-family: var(--font-body), system-ui, sans-serif; color: var(--type); font-size: 14px; line-height: 1.4; }
  .fit-cta, .fit-boundary a { display: inline-block; color: var(--accent); font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
  .fit-cta:hover, .fit-boundary a:hover { opacity: .82; }
  .fit-alternatives { margin: 26px 0 0; }
  .fit-alternatives summary { cursor: pointer; list-style: none; font-family: var(--font-body), system-ui, sans-serif; font-size: 13px; color: var(--text-dim); }
  .fit-alternatives summary::-webkit-details-marker { display: none; }
  .fit-alternatives summary::after { content: "+"; margin-left: 8px; color: var(--accent); }
  .fit-alternatives[open] summary::after { content: "−"; }
  .fit-alternatives > div { display: grid; margin-top: 12px; border-top: 1px solid #2A2A2A; }
  .fit-alternatives a { padding: 12px 0; border-bottom: 1px solid #2A2A2A; color: var(--text-dim); font-family: var(--font-body), system-ui, sans-serif; font-size: 14px; line-height: 1.45; text-decoration: none; }
  .fit-alternatives a:hover { color: var(--type); }
  .fit-boundary { display: grid; gap: 8px; margin-top: 34px; padding: 18px 0 0; border-top: 1px solid var(--grey); max-width: 57ch; }
  .fit-boundary p { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
  .fit-boundary span { font-size: 14px; color: var(--text-dim); }
  .fit-boundary a { width: fit-content; margin-top: 4px; }
  @media (max-width: 900px) { .fit-options:has([data-facet="family"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 640px) { .fit-options, .fit-options:has([data-facet="family"]) { grid-template-columns: 1fr; } .fit-option { min-height: 56px; padding: 14px 16px; } .fit-facts { grid-template-columns: repeat(2, 1fr); } }
  @media (prefers-reduced-motion: reduce) { .fit-option { transition: none; } }#main {
  overflow-x: clip;
}

.plans-hero[data-astro-cid-jjh6yrxi] {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  min-height: clamp(660px, 88svh, 920px);
  margin-inline: calc(50% - 50vw);
  padding: clamp(165px, 23svh, 260px) var(--bleed-inset) clamp(80px, 11svh, 135px);
  background: var(--ground);
  overflow: hidden;
}

.hero-media[data-astro-cid-jjh6yrxi] {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-media[data-astro-cid-jjh6yrxi] img[data-astro-cid-jjh6yrxi] {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 48% 50%;
  filter: grayscale() contrast(1.2) brightness(.9);
}

.plans-hero[data-astro-cid-jjh6yrxi]:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #000000ed 0%, #000000c7 45%, #00000052 100%), linear-gradient(0deg, var(--ground) 0%, #0000005c 42%, #00000080 100%);
}

.plans-hero[data-astro-cid-jjh6yrxi] > [data-astro-cid-jjh6yrxi]:not(.hero-media) {
  position: relative;
  z-index: 2;
}

.hero-copy[data-astro-cid-jjh6yrxi] {
  max-width: 800px;
}

.eyebrow[data-astro-cid-jjh6yrxi], .section-label[data-astro-cid-jjh6yrxi] {
  margin: 0;
  color: var(--text-quiet);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.eyebrow[data-astro-cid-jjh6yrxi] {
  display: flex;
  align-items: center;
  gap: 10px;
}

.eyebrow[data-astro-cid-jjh6yrxi] > span[data-astro-cid-jjh6yrxi] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 70%, transparent);
}

h1[data-astro-cid-jjh6yrxi] {
  margin: 22px 0 26px;
  font-size: clamp(54px, 7vw, 102px);
  line-height: .92;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.lead[data-astro-cid-jjh6yrxi] {
  max-width: 53ch;
  margin: 0;
  color: var(--type);
  font-family: var(--font-body), system-ui, sans-serif;
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.65;
}

.hero-actions[data-astro-cid-jjh6yrxi] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 24px;
  margin-top: 34px;
}

.hero-actions[data-astro-cid-jjh6yrxi] p[data-astro-cid-jjh6yrxi] {
  margin: 0;
  color: var(--type);
  font-family: var(--font-body), system-ui, sans-serif;
  font-size: 14px;
}

.hero-actions[data-astro-cid-jjh6yrxi] p[data-astro-cid-jjh6yrxi] a[data-astro-cid-jjh6yrxi] {
  color: var(--type);
  font-weight: 700;
  text-decoration: none;
  margin-left: 3px;
}

.hero-actions[data-astro-cid-jjh6yrxi] p[data-astro-cid-jjh6yrxi] a[data-astro-cid-jjh6yrxi] span[data-astro-cid-jjh6yrxi] {
  margin-left: 5px;
}

.plan-window[data-astro-cid-jjh6yrxi] {
  min-width: 0;
  padding-top: 22px;
  border-top: 1px solid var(--surface-6);
  background: none;
}

.window-body[data-astro-cid-jjh6yrxi] {
  padding: 0;
}

.window-heading[data-astro-cid-jjh6yrxi] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 28px;
}

.window-heading[data-astro-cid-jjh6yrxi] p[data-astro-cid-jjh6yrxi] {
  margin: 0;
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: 700;
  letter-spacing: -.04em;
}

.window-heading[data-astro-cid-jjh6yrxi] strong[data-astro-cid-jjh6yrxi] {
  color: var(--accent);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.window-body[data-astro-cid-jjh6yrxi] ol[data-astro-cid-jjh6yrxi] {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--surface-5);
}

.window-body[data-astro-cid-jjh6yrxi] li[data-astro-cid-jjh6yrxi] {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  padding: 17px 0;
  border-bottom: 1px solid var(--surface-5);
}

.window-body[data-astro-cid-jjh6yrxi] li[data-astro-cid-jjh6yrxi] > span[data-astro-cid-jjh6yrxi] {
  color: var(--accent);
  font-size: 12px;
  padding-top: 3px;
}

.window-body[data-astro-cid-jjh6yrxi] li[data-astro-cid-jjh6yrxi] div[data-astro-cid-jjh6yrxi] {
  display: grid;
  gap: 4px;
}

.window-body[data-astro-cid-jjh6yrxi] li[data-astro-cid-jjh6yrxi] strong[data-astro-cid-jjh6yrxi] {
  font-size: 13px;
}

.window-body[data-astro-cid-jjh6yrxi] li[data-astro-cid-jjh6yrxi] small[data-astro-cid-jjh6yrxi] {
  color: var(--text-quiet);
  font-family: var(--font-body), system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

.finder-section[data-astro-cid-jjh6yrxi] {
  padding: clamp(92px, 13vh, 150px) 0;
  border-bottom: 1px solid var(--surface-5);
}

.progression[data-astro-cid-jjh6yrxi] {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 8vw, 130px);
  align-items: start;
  padding: clamp(92px, 14vh, 170px) 0;
  border-bottom: 1px solid var(--surface-5);
}

.progression[data-astro-cid-jjh6yrxi] h2[data-astro-cid-jjh6yrxi] {
  max-width: 15ch;
  margin: 18px 0 24px;
  font-size: clamp(38px, 4.8vw, 68px);
  line-height: 1;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.progression-intro[data-astro-cid-jjh6yrxi] > p[data-astro-cid-jjh6yrxi]:not(.section-label) {
  max-width: 52ch;
  color: var(--text-muted);
  font-family: var(--font-body), system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.62;
}

.catalogue[data-astro-cid-jjh6yrxi] {
  padding: clamp(92px, 14vh, 170px) 0;
}

.catalogue[data-astro-cid-jjh6yrxi] > header[data-astro-cid-jjh6yrxi] {
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: clamp(40px, 8vw, 120px);
  align-items: end;
  margin-bottom: 58px;
}

.catalogue[data-astro-cid-jjh6yrxi] h2[data-astro-cid-jjh6yrxi] {
  max-width: 12ch;
  margin: 16px 0 0;
  font-size: clamp(42px, 5.4vw, 76px);
  line-height: .96;
  letter-spacing: -.05em;
}

.catalogue[data-astro-cid-jjh6yrxi] > header[data-astro-cid-jjh6yrxi] > p[data-astro-cid-jjh6yrxi] {
  max-width: 48ch;
  margin: 0;
  color: var(--text-muted);
  font-family: var(--font-body), system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

.comparison[data-astro-cid-jjh6yrxi] {
  margin-top: 24px;
  border-top: 1px solid var(--surface-5);
}

.comparison[data-astro-cid-jjh6yrxi] summary[data-astro-cid-jjh6yrxi] {
  min-height: 64px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  list-style: none;
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 700;
}

.comparison[data-astro-cid-jjh6yrxi] summary[data-astro-cid-jjh6yrxi]::-webkit-details-marker {
  display: none;
}

.comparison[data-astro-cid-jjh6yrxi] summary[data-astro-cid-jjh6yrxi] span[data-astro-cid-jjh6yrxi] {
  color: var(--accent);
  font-size: 20px;
  font-weight: 400;
}

.comparison[data-astro-cid-jjh6yrxi][open] summary[data-astro-cid-jjh6yrxi] span[data-astro-cid-jjh6yrxi] {
  rotate: 45deg;
}

.scroll[data-astro-cid-jjh6yrxi] {
  overflow-x: auto;
  padding-bottom: 20px;
}

table[data-astro-cid-jjh6yrxi] {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

th[data-astro-cid-jjh6yrxi] {
  text-align: left;
  font-weight: 500;
  font-size: 13px;
  color: var(--text-quiet);
  padding: 0 16px 10px 0;
  border-bottom: 1px solid var(--surface-6);
}

td[data-astro-cid-jjh6yrxi] {
  padding: 16px 16px 16px 0;
  border-bottom: 1px solid var(--surface-5);
  font-size: 14px;
  color: var(--text-muted);
  vertical-align: middle;
}

td[data-astro-cid-jjh6yrxi].name {
  font-weight: 700;
  color: var(--type);
  white-space: nowrap;
}

td[data-astro-cid-jjh6yrxi].name a[data-astro-cid-jjh6yrxi] {
  color: inherit;
  text-decoration: none;
}

td[data-astro-cid-jjh6yrxi].num {
  font-family: var(--font-body), system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

tr[data-astro-cid-jjh6yrxi].row-link {
  cursor: pointer;
}

@media (width <= 920px) {
  .progression[data-astro-cid-jjh6yrxi] {
    grid-template-columns: 1fr;
  }

  .plan-window[data-astro-cid-jjh6yrxi] {
    max-width: 720px;
  }
}

@media (width <= 700px) {
  .plans-hero[data-astro-cid-jjh6yrxi] {
    min-height: max(620px, 84svh);
    padding: clamp(148px, 20svh, 190px) 20px 80px;
  }

  .plans-hero[data-astro-cid-jjh6yrxi]:after {
    background: linear-gradient(0deg, var(--ground) 0%, #000000e6 30%, #000000b3 72%, #0000007a 100%);
  }

  .catalogue[data-astro-cid-jjh6yrxi] > header[data-astro-cid-jjh6yrxi] {
    grid-template-columns: 1fr;
    align-items: start;
  }
}
