/* ============================================================
 * page-horoscopes-child.css — a monthly SIGN page, the twelve children of
 * /horoscopes/ (the 23 Sep sheets: desktop D2, mobile 1d; no tablet sheet —
 * 820 stacks the rail under the article). One shared sheet, enqueued by the
 * parent URI; nothing sign-specific lives here — the sign's colour arrives as
 * `--cap-hx-sign` on the element (content data from the month's JSON).
 *
 * D2 = the article (660) | the rail (440), 180 between (the 24 Sep revision of the sheets): crumbs →
 * eyebrow · glyph + h1 + meta · the Sun-and-Rising strip · lede · overview · Love & Connection + "Ask the Tarot about love →"
 * · Career & Work + "Ask the Runes about career or work →" · [Money & Finances, when the month
 * carries it] · Key dates (label + ruled rows + the Eastern-time note) · the ink
 * one-line panel | the rail: "On this page" ·
 * the reading card (two tilted pages) · the two draw tiles · the poster card ·
 * the free-chart card. Then "Every sign · <month>" twelve across.
 * 1d = "← All signs" · the same article · the one-line panel · the free-chart
 * card (stacked) · the two draw tiles · the bar six across, short names.
 *
 * Token-only (bin/check-design-tokens.sh); the plain px lengths are artwork
 * sizes the design draws once. Every scope is `.cap-shell …`.
 * ============================================================ */

/* ─── breadcrumb row (D2) / "← All signs" (1d) ────────────── */
.cap-shell .cap-hx-sign__crumbs { padding-top: var(--cap-space-row-pad); padding-bottom: var(--cap-space-row-pad); font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-caption); }
.cap-shell .cap-hx-sign__crumbs a { color: var(--cap-color-muted); }
@media (hover: hover) { .cap-shell .cap-hx-sign__crumbs a:hover { color: var(--cap-color-text); } }
.cap-shell .cap-hx-sign__crumbs .is-here { color: var(--cap-color-text); }
.cap-shell .cap-hx-sign__crumbs .cap-hx-sep { padding-left: var(--cap-space-sm); padding-right: var(--cap-space-sm); }

/* ─── the split ───────────────────────────────────────────── */
.cap-shell .cap-hx-sign__body { padding-top: var(--cap-space-hero-open); padding-bottom: var(--cap-space-hero-open); display: grid; grid-template-columns: minmax(0, var(--cap-measure)) var(--cap-rail); justify-content: space-between; gap: var(--cap-gutter-rail); align-items: start; }

/* ─── article ─────────────────────────────────────────────── */
.cap-shell .cap-hx-article { display: flex; flex-direction: column; gap: var(--cap-gutter); }
.cap-shell .cap-hx-article__eyebrow { display: block; }
.cap-shell .cap-hx-article__head { display: flex; align-items: center; gap: var(--cap-gutter); flex-wrap: wrap; margin: var(--cap-space-sm) 0; }
.cap-shell .cap-hx-article__glyph { display: block; flex: none; width: 92px; height: 92px; color: var(--cap-hx-sign, var(--cap-color-text)); }
.cap-shell .cap-hx-article__glyph svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.cap-shell .cap-hx-article__id { display: flex; flex-direction: column; gap: var(--cap-space-sm); }
.cap-shell .cap-hx-article__id .cap-h1 { line-height: var(--cap-leading-hero-mid); }
.cap-shell .cap-hx-article__meta { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-eyebrow); letter-spacing: var(--cap-track-eyebrow); text-transform: uppercase; color: var(--cap-color-muted); line-height: var(--cap-leading-ui); }
.cap-shell .cap-hx-article .cap-lede { font-size: var(--cap-type-lede-hero); line-height: var(--cap-leading-data); }
.cap-shell .cap-hx-article .cap-h2--article { font-size: var(--cap-type-card-h2); line-height: var(--cap-leading-tight-card); letter-spacing: var(--cap-track-tight); margin-top: var(--cap-space-gap-6); scroll-margin-top: var(--cap-space-lg); }
.cap-shell .cap-hx-article__overview { scroll-margin-top: var(--cap-space-lg); }
.cap-shell .cap-hx-article .cap-body { font-size: var(--cap-type-read); line-height: var(--cap-leading-body); }
/* the Sun-and-Rising strip (24 Sep sheets): hairline above and below, the two lines spread across the column (D2), stacked (1d) */
.cap-shell .cap-hx-rising { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--cap-space-gap-3) var(--cap-gutter); border-top: var(--cap-border-hairline) solid var(--cap-color-line); border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); padding: var(--cap-space-gap-7) 0; margin: var(--cap-space-sm) 0; }
.cap-shell .cap-hx-rising p { margin: 0; font-family: var(--cap-font-serif); font-style: italic; font-size: var(--cap-type-read); line-height: var(--cap-leading-small); }
.cap-shell .cap-hx-rising__for { color: var(--cap-color-text); }
.cap-shell .cap-hx-rising__ask { color: var(--cap-color-muted); }
.cap-shell .cap-hx-rising__ask .cap-link { font-style: normal; color: var(--cap-color-text); margin-left: var(--cap-space-xs); }
@media (hover: hover) { .cap-shell .cap-hx-rising__ask .cap-link:hover { color: var(--cap-color-primary); } }
/* "Ask the Tarot about love →" / "Ask the Runes about career or work →" — primary textlinks under the two sections */
.cap-shell .cap-hx-article .cap-hx-ask { align-self: flex-start; color: var(--cap-color-primary); }
@media (hover: hover) { .cap-shell .cap-hx-article .cap-hx-ask:hover { color: var(--cap-color-text); } }

/* key dates — the violet label over a top rule, hairline-ruled rows, never boxed */
.cap-shell .cap-hx-dates__head { font-family: var(--cap-font-ui); font-weight: 600; font-size: var(--cap-type-section); letter-spacing: var(--cap-track-feature); text-transform: uppercase; color: var(--cap-color-primary); line-height: var(--cap-leading-tight); border-top: var(--cap-border-hairline) solid var(--cap-color-line); padding-top: var(--cap-space-section-head-below); margin: var(--cap-space-section-head-below) 0 0; scroll-margin-top: var(--cap-space-lg); }
.cap-shell .cap-hx-dates { display: flex; flex-direction: column; }
.cap-shell .cap-hx-date { display: flex; gap: var(--cap-gutter); align-items: baseline; padding: var(--cap-space-gap-6) 0; border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); }
.cap-shell .cap-hx-date__d { flex: none; width: 64px; font-size: var(--cap-type-label); letter-spacing: var(--cap-track-label); color: var(--cap-color-primary); }
.cap-shell .cap-hx-date .cap-data--lg { font-weight: 400; letter-spacing: var(--cap-track-data); line-height: var(--cap-leading-data); }

/* "All dates in US Eastern time." under the rows */
.cap-shell .cap-hx-dates__note { margin: calc(var(--cap-space-sm) * -1) 0 var(--cap-space-md); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-caption); text-transform: uppercase; color: var(--cap-color-muted); line-height: var(--cap-leading-ui); }

/* the ink close panel — its head is the card-scale display headline (24 Sep sheets; was the eyebrow) */
.cap-shell .cap-hx-oneline { background: var(--cap-color-text); color: var(--cap-color-on-ink); padding: var(--cap-space-lg); display: flex; flex-direction: column; gap: var(--cap-space-gap-7); }
.cap-shell .cap-hx-oneline .cap-hx-title { color: var(--cap-color-bg); }
.cap-shell .cap-hx-oneline .cap-lede { color: var(--cap-color-bg); font-size: var(--cap-type-lede-hero); line-height: var(--cap-leading-data); margin: 0; }

/* ─── rail ────────────────────────────────────────────────── */
.cap-shell .cap-hx-rail { display: flex; flex-direction: column; gap: var(--cap-space-section-head-below); }
.cap-shell .cap-hx-box { border-radius: var(--cap-radius-flat); padding: var(--cap-gutter); }
.cap-shell .cap-hx-jump { display: flex; flex-direction: column; gap: var(--cap-space-md); }
.cap-shell .cap-hx-jump .cap-eyebrow { font-weight: 600; font-size: var(--cap-type-label); letter-spacing: var(--cap-track-label); color: var(--cap-color-text); }
.cap-shell .cap-hx-jump__list { display: flex; flex-direction: column; }
.cap-shell .cap-hx-jump__list a { display: block; font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-nav); letter-spacing: var(--cap-track-label); text-transform: uppercase; line-height: var(--cap-leading-one); color: var(--cap-color-text-tertiary); border-left: var(--cap-border-selected) solid var(--cap-color-line); padding: var(--cap-space-sm) 0 var(--cap-space-sm) var(--cap-space-md); transition: color var(--cap-ease-fast); }
@media (hover: hover) { .cap-shell .cap-hx-jump__list a:hover { color: var(--cap-color-text); } }
.cap-shell .cap-hx-jump__list a.is-here { color: var(--cap-color-text); border-left-color: var(--cap-color-primary); }

/* the dark reading card: two tilted pages on ink-raised, then the copy */
.cap-shell .cap-hx-report { display: flex; flex-direction: column; padding: 0; color: var(--cap-color-on-ink); }
@media (hover: hover) { .cap-shell .cap-hx-report:hover { color: var(--cap-color-on-ink); } }
.cap-shell .cap-hx-report__pages { position: relative; height: 210px; overflow: hidden; background: var(--cap-color-ink-raised); }
.cap-shell .cap-hx-report__pages img { position: absolute; display: block; width: 165px; height: 220px; object-fit: cover; object-position: 50% 0; background: var(--cap-color-bg); box-shadow: var(--cap-shadow-dark); }
.cap-shell .cap-hx-report__pages img:first-child { left: calc(50% - 145px); top: 30px; transform: rotate(-6deg); }
.cap-shell .cap-hx-report__pages img + img { left: calc(50% - 20px); top: 46px; transform: rotate(5deg); }
.cap-shell .cap-hx-report__copy { display: flex; flex-direction: column; gap: var(--cap-space-md); padding: var(--cap-gutter); }
.cap-shell .cap-hx-report__copy .cap-hx-title { line-height: var(--cap-leading-tight); }
.cap-shell .cap-hx-report__copy .cap-lede { color: var(--cap-color-on-ink-3); }
.cap-shell .cap-hx-report__copy .cap-btn { margin-top: var(--cap-space-xs); }

/* the two draw tiles */
.cap-shell .cap-hx-draws { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cap-space-gap-6); }
.cap-shell .cap-hx-draw { display: flex; flex-direction: column; gap: var(--cap-space-sm); border-radius: var(--cap-radius-flat); padding: var(--cap-space-block-4); color: var(--cap-color-text); min-width: 0; }   /* D2 markup: padding 20 */
@media (hover: hover) { .cap-shell .cap-hx-draw:hover { color: var(--cap-color-text); box-shadow: var(--cap-shadow-halo); } }
.cap-shell .cap-hx-draw__icon { display: block; width: max-content; color: var(--cap-color-primary); }
.cap-shell .cap-hx-draw__icon svg { display: block; width: auto; height: calc(22px * 346.37 / 220.49); fill: currentColor; }   /* the owner's pair in one frame (icon-*.svg, 2026-10-08): sized by height, the card as before, the stone as drawn beside it */
.cap-shell .cap-hx-draw .cap-spec-label { font-family: var(--cap-font-ui); font-weight: 600; font-size: var(--cap-type-tile-label); letter-spacing: var(--cap-track-label); text-transform: uppercase; margin-top: var(--cap-space-xs); }
.cap-shell .cap-hx-draw .cap-lede { font-size: var(--cap-type-tile-sub); color: var(--cap-color-muted); }

/* the poster card */
.cap-shell .cap-hx-poster { display: flex; flex-direction: column; color: var(--cap-color-text); }
@media (hover: hover) { .cap-shell .cap-hx-poster:hover { color: var(--cap-color-text); } }
.cap-shell .cap-hx-poster__img { display: block; height: 300px; background: var(--cap-color-bg-deep); overflow: hidden; }
.cap-shell .cap-hx-poster__img img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.1); }
.cap-shell .cap-hx-poster__copy { display: flex; flex-direction: column; gap: var(--cap-space-md); padding: var(--cap-space-section-head-below) var(--cap-gutter) var(--cap-gutter); }
/* the italic line under the title: two sentences, one per line (owner 2026-09-24) */
.cap-shell .cap-hx-poster__lines > span { display: block; }
.cap-shell .cap-hx-poster__buy { display: flex; align-items: center; justify-content: space-between; gap: var(--cap-space-sm); margin-top: var(--cap-space-gap-3); }
.cap-shell .cap-hx-poster__from { display: flex; align-items: baseline; gap: var(--cap-space-sm); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-summary-k); letter-spacing: var(--cap-track-meta); text-transform: uppercase; line-height: var(--cap-leading-tight); color: var(--cap-color-caption); }   /* D5b's price (the results page's poster box): "FROM" a caps label… */
.cap-shell .cap-hx-poster__amount { font-family: var(--cap-font-display-sm); font-weight: 800; font-size: var(--cap-type-lg); letter-spacing: var(--cap-track-tight); text-transform: none; color: var(--cap-color-text); }   /* …the amount a display figure */

/* the free-chart card: eyebrow · icon · headline · link (D2; stacked on 1d too) */
.cap-shell .cap-hx-calc { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cap-space-md); padding: var(--cap-gutter); color: var(--cap-color-text); border-radius: var(--cap-radius-flat); }
@media (hover: hover) { .cap-shell .cap-hx-calc:hover { color: var(--cap-color-text); box-shadow: var(--cap-shadow-halo); } }
.cap-shell .cap-hx-calc__icon { display: block; width: 80px; height: 79px; color: var(--cap-color-primary); margin: var(--cap-space-sm) 0; }
.cap-shell .cap-hx-calc__icon svg { display: block; width: 100%; height: 100%; }
.cap-shell .cap-hx-calc .cap-link { color: var(--cap-color-primary); margin-top: var(--cap-space-sm); }
.cap-shell .cap-hx-calc__m { display: none; }

/* ─── the twelve-across index bar ─────────────────────────── */
.cap-shell .cap-hx-bar { padding-bottom: var(--cap-space-hero-open); }
.cap-shell .cap-hx-bar__head { border-top: var(--cap-border-hairline) solid var(--cap-color-line); padding-top: var(--cap-space-lg); margin-bottom: var(--cap-space-section-head-below); display: block; }
.cap-shell .cap-hx-bar__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--cap-space-md); max-width: 1180px; margin: 0 auto; }
.cap-shell .cap-hx-bar__item { display: flex; flex-direction: column; align-items: center; gap: var(--cap-space-sm); color: var(--cap-color-text); transition: opacity var(--cap-ease); }
@media (hover: hover) { .cap-shell .cap-hx-bar__item:hover { color: var(--cap-color-text); } .cap-shell .cap-hx-bar__item:hover .cap-hx-bar__name { color: var(--cap-color-text); } }   /* round 23 rule 6: never a fade; the name grey → ink (CD index chips) */
.cap-shell .cap-hx-bar__glyph { display: block; width: 48px; height: 48px; color: var(--cap-hx-sign, var(--cap-color-text)); }
.cap-shell .cap-hx-bar__glyph svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.cap-shell .cap-hx-bar__name { font-family: var(--cap-font-ui); font-weight: 600; font-size: var(--cap-type-spec-stacked); letter-spacing: var(--cap-track-label); text-transform: uppercase; color: var(--cap-color-muted); border-bottom: var(--cap-border-selected) solid transparent; padding-bottom: var(--cap-space-gap-1); line-height: var(--cap-leading-ui); }
.cap-shell .cap-hx-bar__item.is-here .cap-hx-bar__name { color: var(--cap-color-text); border-bottom-color: var(--cap-color-primary); }
.cap-shell .cap-hx-bar__short { display: none; }

/* ─── shared display headline (card scale) ────────────────── */
.cap-shell .cap-hx-title { font-family: var(--cap-font-display-sm); font-weight: 800; font-size: var(--cap-type-h3-card); line-height: var(--cap-leading-tight); letter-spacing: var(--cap-track-tight); color: inherit; }

/* ─── 700–1279 · the rail drops under the article and runs its width (the 1280 rule, owner 2026-09-30) ─── */
@media (max-width: 1279px) {
  .cap-shell .cap-hx-sign__body { grid-template-columns: 1fr; gap: var(--cap-space-xl); }
}
/* T11 (700–1279): the top row ("← All signs" · the months) 20 under the header line with no foot pad; the eyebrow 56 below it */
@media (min-width: 700px) and (max-width: 1279px) {
  .cap-shell .cap-hx-sign__crumbs.cap-hx-sign__top { padding-bottom: 0; }
  .cap-shell .cap-hx-rising p { font-size: var(--cap-type-lede); line-height: var(--cap-leading-lede); }   /* T11 (round 29): "For Aries Sun and Aries Rising." 17 / 1.5 — it was 18 / 1.55 */
  .cap-shell .cap-hx-sign__body { padding-top: var(--cap-space-band-close); }
  /* under the article (T11): no "On this page"; the reading | the poster side by side at equal height (each button 24
     from its card's foot); the two draws; the free-chart band sideways; 56 between the blocks */
  .cap-shell .cap-hx-rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cap-space-band-close) var(--cap-gutter); }
  .cap-shell .cap-hx-jump { display: none; }
  .cap-shell .cap-hx-report { grid-column: 1; }
  .cap-shell .cap-hx-report__pages { flex: 1 1 auto; height: auto; min-height: 210px; }   /* geometry: the desktop rail's page well, grown to the poster's height */
  .cap-shell .cap-hx-poster { grid-column: 2; grid-row: 1; }
  .cap-shell .cap-hx-poster__copy { flex: 1 1 auto; }
  .cap-shell .cap-hx-poster__buy { margin-top: auto; flex-wrap: wrap; row-gap: var(--cap-space-md); }   /* round 22 (overflow check): at 712 "FROM $39" ran 7 past the card's edge — it drops under the button when the two don't fit */
  .cap-shell .cap-hx-draws, .cap-shell .cap-hx-calc { grid-column: 1 / -1; }
  .cap-shell .cap-hx-draws { gap: var(--cap-gutter); }
  .cap-shell .cap-hx-calc { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto auto; align-content: center; column-gap: calc(var(--cap-gutter) + var(--cap-space-xs)); row-gap: var(--cap-space-gap-5); padding: var(--cap-gutter) var(--cap-space-lg); }
  .cap-shell .cap-hx-calc__icon { grid-column: 1; grid-row: 1 / 4; align-self: center; width: 100px; height: 99px; margin: 0; }   /* geometry: T11's 100 icon */
  .cap-shell .cap-hx-calc > :not(.cap-hx-calc__icon):not(.cap-press__link) { grid-column: 2; justify-self: start; }
  .cap-shell .cap-hx-calc .cap-link { margin-top: var(--cap-space-xs); }
  /* Every sign: six across, full names (T11) */
  .cap-shell .cap-hx-bar__grid { grid-template-columns: repeat(6, 108px); justify-content: center; gap: var(--cap-gutter) var(--cap-space-md); }   /* geometry: T11's 124 pitch */
  .cap-shell .cap-hx-bar__name { color: var(--cap-color-caption); }
}
/* 700–1023 (no T11-820 sheet): the 1024 layout fits the 708 column once the signs take equal shares of it */
@media (min-width: 700px) and (max-width: 1023px) {
  .cap-shell .cap-hx-bar__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* ─── < 700 · the mobile sheet (1d) ───────────────────────── */
@media (max-width: 699px) {
  .cap-shell .cap-hx-sign__crumbs { padding-top: var(--cap-space-lg); padding-bottom: 0; font-size: var(--cap-type-meta); }
  .cap-shell .cap-hx-sign__body { padding-top: var(--cap-space-md); padding-bottom: var(--cap-space-lg); gap: var(--cap-space-md); }
  .cap-shell .cap-hx-article { gap: var(--cap-space-gap-7); }
  .cap-shell .cap-hx-article__head { gap: var(--cap-space-gap-7); margin: var(--cap-space-gap-3) 0; }
  .cap-shell .cap-hx-article__glyph { width: 56px; height: 56px; }
  .cap-shell .cap-hx-article__id { gap: var(--cap-space-gap-3); }
  .cap-shell .cap-hx-article__id .cap-h1 { line-height: var(--cap-leading-hero); letter-spacing: var(--cap-track-hero); }
  .cap-shell .cap-hx-article__meta { font-size: var(--cap-type-meta); letter-spacing: var(--cap-track-caption); }
  .cap-shell .cap-hx-article .cap-lede { font-size: var(--cap-type-read); line-height: var(--cap-leading-lede); }
  .cap-shell .cap-hx-rising { flex-direction: column; align-items: flex-start; padding: var(--cap-space-gap-5) 0; }
  .cap-shell .cap-hx-rising p { font-size: var(--cap-type-lede); }
  .cap-shell .cap-hx-article .cap-body { font-size: var(--cap-type-base); line-height: var(--cap-leading-body); }
  .cap-shell .cap-hx-article .cap-h2--article { margin-top: var(--cap-space-gap-5); }
  .cap-shell .cap-hx-dates__head { border-top: 0; padding-top: 0; margin: var(--cap-space-gap-3) 0 calc(var(--cap-space-gap-7) * -1); font-size: var(--cap-type-label); }
  .cap-shell .cap-hx-dates { border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); }
  .cap-shell .cap-hx-date { gap: var(--cap-space-md); padding: var(--cap-space-sm) 0; border-bottom: 0; border-top: var(--cap-border-hairline) solid var(--cap-color-line); }
  .cap-shell .cap-hx-date__d { width: 44px; font-size: var(--cap-type-spec-stacked); }
  .cap-shell .cap-hx-oneline { padding: var(--cap-space-panel-pad); gap: var(--cap-space-gap-5); margin-top: var(--cap-space-sm); }
  .cap-shell .cap-hx-oneline .cap-lede { font-size: var(--cap-type-lede); }
  /* the rail on the phone: the free-chart card, then the two tiles; the rest is not on the sheet */
  .cap-shell .cap-hx-rail { max-width: none; gap: var(--cap-space-gap-5); }
  .cap-shell .cap-hx-jump, .cap-shell .cap-hx-report, .cap-shell .cap-hx-poster { display: none; }
  .cap-shell .cap-hx-calc { order: 1; padding: var(--cap-space-panel-pad); gap: var(--cap-space-gap-5); }
  .cap-shell .cap-hx-calc__icon { margin: var(--cap-space-gap-1) 0; }
  .cap-shell .cap-hx-calc__d { display: none; }
  .cap-shell .cap-hx-calc__m { display: inline; }
  .cap-shell .cap-hx-calc .cap-link { margin-top: var(--cap-space-gap-1); }
  .cap-shell .cap-hx-draws { order: 2; gap: var(--cap-space-gap-5); }
  .cap-shell .cap-hx-draw { padding: var(--cap-space-card-pad); gap: var(--cap-space-gap-3); }
  .cap-shell .cap-hx-draw .cap-spec-label { margin-top: 0; }
  .cap-shell .cap-hx-draw .cap-lede { display: none; }
  .cap-shell .cap-hx-bar { padding-bottom: var(--cap-space-lg); }
  .cap-shell .cap-hx-bar__head { border-top: 0; padding-top: 0; margin-bottom: var(--cap-space-gap-7); }
  .cap-shell .cap-hx-bar__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--cap-space-gap-7) var(--cap-space-xs); }
  .cap-shell .cap-hx-bar__glyph { width: 30px; height: 30px; }
  .cap-shell .cap-hx-bar__name { font-size: var(--cap-type-meta); padding-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-hx-bar__full { display: none; }
  .cap-shell .cap-hx-bar__short { display: inline; }

  /* ── 1d, 28 Sep sheet (measured on CD's markup at 388) ── */
  .cap-shell .cap-hx-sign__crumbs { font-size: var(--cap-mp-type-hx-meta); line-height: normal; }   /* the top row's 11 / 13 line */
  .cap-shell .cap-hx-article__eyebrow.cap-eyebrow--star { display: flex; align-items: center; gap: var(--cap-space-gap-4); }
  .cap-shell .cap-hx-article__eyebrow.cap-eyebrow--star::before { content: "✦"; font-size: var(--cap-type-caption); letter-spacing: 0; }
  .cap-shell .cap-hx-article__meta { font-size: var(--cap-mp-type-hx-meta); color: var(--cap-color-caption); line-height: normal; }
  .cap-shell .cap-hx-rising { margin: 0; padding: var(--cap-space-gap-6) 0; gap: var(--cap-space-xs); }
  .cap-shell .cap-hx-rising p { line-height: var(--cap-leading-lede); }
  .cap-shell .cap-hx-rising__for { color: var(--cap-color-text-secondary); }
  .cap-shell .cap-hx-rising__ask { color: var(--cap-color-caption); }
  .cap-shell .cap-hx-rising__ask { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--cap-space-gap-4); }
  .cap-shell .cap-hx-rising__ask .cap-link { margin-left: 0; padding-bottom: var(--cap-mp-hx-link-pad); line-height: var(--cap-leading-lede); }
  .cap-shell .cap-hx-article .cap-lede { font-size: var(--cap-mp-type-hx-lede); line-height: var(--cap-leading-lede); color: var(--cap-color-text-secondary); margin-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-hx-article .cap-body { line-height: var(--cap-leading-article); }
  .cap-shell .cap-hx-article .cap-h2--article { font-size: var(--cap-mp-type-card-h2); line-height: var(--cap-leading-tight); letter-spacing: var(--cap-mp-track-card-h2); }
  .cap-shell .cap-hx-dates__head { font-size: var(--cap-type-keydates); letter-spacing: var(--cap-track-feature); line-height: var(--cap-leading-tight); margin: var(--cap-space-md) 0 calc(var(--cap-space-gap-3) * -1); }
  .cap-shell .cap-hx-date { padding: var(--cap-space-sm) 0; }
  .cap-shell .cap-hx-date__d { font-size: var(--cap-type-spec-label); line-height: normal; }
  .cap-shell .cap-hx-date .cap-data--lg { font-size: var(--cap-type-data); }
  .cap-shell .cap-hx-dates__note { margin: calc(var(--cap-space-gap-3) * -1) 0 var(--cap-space-md); font-size: var(--cap-mp-type-hx-meta); color: var(--cap-color-caption); line-height: normal; }
  .cap-shell .cap-hx-oneline { margin-top: var(--cap-space-gap-1); }
  .cap-shell .cap-hx-oneline .cap-hx-title { font-size: var(--cap-mp-type-card-h2); line-height: var(--cap-leading-tight); letter-spacing: var(--cap-mp-track-card-h2); color: var(--cap-color-on-ink); }
  .cap-shell .cap-hx-oneline .cap-lede { font-size: var(--cap-type-card-lede); line-height: var(--cap-leading-lede); color: var(--cap-color-on-ink); margin: 0; }
  .cap-shell .cap-hx-calc .cap-eyebrow--star::before { content: "✦\00a0"; }
  .cap-shell .cap-hx-calc__h { line-height: var(--cap-leading-serif-title); letter-spacing: 0; }
  .cap-shell .cap-hx-calc .cap-link.cap-hx-calc__m { margin-top: var(--cap-space-xs); padding: var(--cap-btn-pad-small); background: var(--cap-color-primary); color: var(--cap-color-surface); border: 0; border-radius: var(--cap-radius-pill); font-size: var(--cap-type-btn-l); line-height: var(--cap-leading-btn-small); letter-spacing: var(--cap-track-btn); }
  .cap-shell .cap-hx-rail { gap: var(--cap-space-md); }
  .cap-shell .cap-hx-draws { gap: var(--cap-space-md); }
  .cap-shell .cap-hx-draw__icon svg { height: calc(19.4px * 346.37 / 220.49); }
  .cap-shell .cap-hx-draw .cap-spec-label { letter-spacing: var(--cap-track-label); line-height: normal; }
  .cap-shell .cap-hx-bar__head { margin-bottom: var(--cap-space-gap-8); }
  .cap-shell .cap-hx-bar__item { gap: var(--cap-space-gap-3); }
  .cap-shell .cap-hx-bar__name { color: var(--cap-color-caption); line-height: normal; }
}

/* sweep 3 (owner review 2026-09-23): D2's breadcrumb row pads 20 (the phone's "← All signs" keeps its own) */
@media (min-width: 700px) { .cap-shell .cap-hx-sign__crumbs { padding-top: var(--cap-space-crumb-y); padding-bottom: var(--cap-space-crumb-y); } }

/* Key-dates rows, desktop type up (CD note 2026-09-24, D2 / D6; the phone rows 1d keep theirs): the date 15 → 18
   (role D's size, card-title), the event 18 → 20 (the keydates token) and filling the row, so a long event wraps at the
   column edge — never `white-space: nowrap` (a two-clause test event ran 181 px into the rail). */
@media (min-width: 700px) {
  .cap-shell .cap-hx-date__d { font-size: var(--cap-type-card-title); }
  .cap-shell .cap-hx-date .cap-data--lg { font-size: var(--cap-type-keydates); flex: 1; min-width: 0; }
}

/* D2, re-measured against the updated sheet (2026-09-24; desktop 1280+): the crumbs row pads 16 above (the sheet's
   crumb at 165, ours was 169); the Sun-and-Rising strip sits 41 below the meta (no extra margin) and its lines take
   the tight line box, so rule → text → rule reads 22 · 19 as on the sheet (was 22 · 24). */
@media (min-width: 1280px) {
  .cap-shell .cap-hx-sign__crumbs { padding-top: var(--cap-space-md); }
  .cap-shell .cap-hx-rising { margin-top: 0; }
  .cap-shell .cap-hx-rising p { line-height: var(--cap-leading-tight); }
  .cap-shell .cap-hx-article .cap-body { line-height: var(--cap-leading-article); }   /* D2 markup: 18 / 1.75 */
}

/* THE FOOTER GAP (owner 2026-10-02): from the last thing on the page to the footer, 64 from 700 up and 40 on a phone — the
   token's pair (--cap-space-footer-gap). Appended last so it wins over the page's earlier end spacing. */
@media (max-width: 699px) {
  .cap-shell .cap-hx-bar { padding-bottom: var(--cap-space-footer-gap); }
}
