/* Capriastro free-tier calculator — form + in-place results (CD 23 Sep 2026).
 *
 * FORM: the hero form — 1a / D1 / T1 on the home page (`hero="on"`), 2g-1 on the natal-chart landing
 * (`hero="landing"`); `hero="off"` prints the form alone. RESULTS: 2g-2 / 2g-3 on a phone, D5b on
 * desktop — the headline from the cast, the one-line "Cast for" strip, the wheel + the tense / flowing
 * legend, the Big Three, the positions (all ten planets, with houses, closing on the full-reading line),
 * then the ink PREVIEW BAND that carries the email capture (State A → B in place) and the link to the
 * full reading. Desktop: a 1fr | 500 grid, the wheel + legend + poster card sticky on the right.
 *
 * Literal-free: every value is a var(--cap-*); components.css carries the vocabulary and this file only
 * places it. Every rule is scoped `.cap-shell …`.
 *
 * FORM ↔ RESULTS is CSS-only: once the AJAX response has put a `.cap-results` inside the root, `:has()`
 * collapses the hero + form, and the `#cap-edit` checkbox — toggled by the "✎ Edit" label printed inside
 * the results' cast strip — brings them back.
 */

/* ─── the shortcode root ──────────────────────────────────── */
.cap-shell .cap-calc { padding-top: var(--cap-space-hero-open); padding-bottom: var(--cap-space-xl); }
.cap-shell .cap-calc__editbox { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }

/* ─── form state — THE HERO FORM ─────────────────────────────
   Desktop (D1): a left column at the hero step 24 — ✦ eyebrow → h1 64 → lede 22 → the form (max 640:
   date · time, the minute caption, place + the ink button) → the trust row. Mobile (1a): the icon mark
   → h1 28 → lede, centred, step 14; the form stacks, the button goes full width, the caption under it.
   The landing (2g-1): ✦ both ends, the icon UNDER the form. No panel: the fields sit on the ground. */
.cap-shell .cap-calc__hero { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: var(--cap-space-hero-step); margin: 0 0 var(--cap-space-hero-step); }
.cap-shell .cap-calc__icon { display: none; width: var(--cap-hero-icon-w); height: var(--cap-hero-icon-h); }
.cap-shell .cap-calc__eyebrow { display: inline-flex; align-items: center; gap: var(--cap-space-chip-gap); }
.cap-shell .cap-calc__h1 { max-width: 16ch; line-height: var(--cap-leading-hero); letter-spacing: var(--cap-track-hero); }
.cap-shell .cap-calc__intro { max-width: 46ch; font-weight: 500; }
@media (min-width: 700px) { .cap-shell .cap-calc__intro { font-size: var(--cap-type-lede-hero); line-height: var(--cap-leading-lede-hero); } }
.cap-shell .cap-calc__panel-wrap { display: block; }
.cap-shell .cap-calc__panel { width: 100%; max-width: var(--cap-col-hero-form); display: flex; flex-direction: column; gap: var(--cap-space-lg); }
/* the form (CD's field-label rules §1, 26 Sep — owner ruling: the calculator bar joins them): ONE card of labelled cells
   (date | time, then the place with its ✕ — components.css `.cap-cells`), the minute helper 10 under it, the button
   18 under the helper; the values at the input's 17 */
.cap-shell .cap-calc__form { display: flex; flex-direction: column; gap: var(--cap-space-chip-gap); }
.cap-shell .cap-calc__error { contain: inline-size; }   /* the box takes the bar's width, never widens it (the form is as wide as its fields + the trust row) */
.cap-shell .cap-calc__form:has(.cap-calc__error:not([hidden])) .cap-calc__minute { display: none; }   /* D1b: the error box replaces the helper line (same slot, 10 under the bar); the helper returns when it clears */
.cap-shell .cap-calc__cells { --cap-cell-value: var(--cap-type-input); }
.cap-shell .cap-calc__submit { flex: none; align-self: flex-start; margin-top: calc(var(--cap-space-gap-3) + var(--cap-space-gap-1)); }
.cap-shell .cap-calc__caption { text-align: center; }
.cap-shell .cap-calc.is-loading .cap-calc__submit { pointer-events: none; }
/* 2g-1 (29 Sep sheet): while casting, the button reads "Casting…" with no spinner, the decorative chart icon dims to 40 %
   and nothing moves (the line under the button changes its words, not its box) */
.cap-shell .cap-calc .cap-calc__submit.is-loading::before { display: none; }
.cap-shell .cap-calc__icon { transition: opacity var(--cap-ease); }
.cap-shell .cap-calc.is-loading .cap-calc__icon { opacity: var(--cap-opacity-sink); }
/* the landing (2g-1): the copy centred at both widths, the icon under the form */
@media (max-width: 1279px) { .cap-shell .cap-calc--landing .cap-calc__hero { align-items: center; text-align: center; } }   /* centred below desktop (2g-1); D5a (26 Sep) is left-aligned like the home hero */
@media (min-width: 700px) and (max-width: 1279px) { .cap-shell .cap-calc__panel { max-width: none; } .cap-shell .cap-calc--landing .cap-calc__trust { justify-content: center; } }   /* below 1280 the form runs the full content width, page margins only (owner 2026-09-30, tablet pass 2) */
.cap-shell .cap-calc--landing .cap-calc__h1 { max-width: 20ch; }
.cap-shell .cap-calc--landing .cap-calc__intro { max-width: 42ch; }
/* the icon mark under the form is the phone's (2g-1); on desktop / tablet the wheel beside the form carries the picture */

/* the birth-time caption: WHY THE MINUTE MATTERS ⓘ · NOT SURE? FIND YOUR BIRTH TIME — one Barlow line,
   never wrapped; the control reveals ONE sentence (a popover ≥ 768, in place under the caption on a phone) */
.cap-shell .cap-calc__minute { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--cap-space-xs) var(--cap-space-gap-3); padding-left: var(--cap-space-field-cell-x); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-meta); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-muted); line-height: var(--cap-leading-small); }
.cap-shell .cap-calc__minute-btn { display: inline-flex; align-items: center; gap: var(--cap-space-gap-3); background: none; border: 0; padding: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; cursor: pointer; transition: color var(--cap-ease); }
.cap-shell .cap-calc__minute-btn:focus:not(:hover):not(.is-open) { background: none; color: inherit; }   /* the kit's button:focus plum, held off (sweep 1) */

.cap-shell .cap-calc__minute-btn.is-open { color: var(--cap-color-text); }
@media (hover: hover) { .cap-shell .cap-calc__minute-btn:hover { color: var(--cap-color-text); } }
.cap-shell .cap-calc__minute-label { display: inline-flex; align-items: center; gap: var(--cap-space-gap-3); transition: color var(--cap-ease); }

.cap-shell .cap-calc__minute-label:has(.cap-calc__minute-btn.is-open) { color: var(--cap-color-text); }
@media (hover: hover) { .cap-shell .cap-calc__minute-label:hover { color: var(--cap-color-text); } }
.cap-shell .cap-calc__minute-label:has(.cap-calc__minute-btn:focus-visible) { outline: var(--cap-ring, var(--cap-focus-ring)); outline-offset: var(--cap-focus-ring-offset); }
.cap-shell .cap-calc__minute-label .cap-calc__minute-btn:focus-visible { outline: 0; }   /* round 25: the label's ring above is the one marker (the button drew a second ring inside it) */
.cap-shell .cap-calc__i { width: 14px; height: 14px; border-radius: var(--cap-radius-pill); border: var(--cap-border-hairline) solid currentColor; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: var(--cap-type-hint); letter-spacing: 0; line-height: 1; }
.cap-shell .cap-calc__minute-link a { color: var(--cap-color-primary); border-bottom: var(--cap-border-hairline) solid var(--cap-color-primary); }
.cap-shell .cap-calc__minute-link .cap-tap-link::after { top: calc(-1 * var(--cap-space-xs)); bottom: calc(-1 * var(--cap-space-gap-4)); }   /* the hero's caption row sits between the date pills and the place field with 4 above and ~11 below: the link's reach stays inside that (26 tall, not 44 — flagged 2026-09-26) */
.cap-shell .cap-calc__pop { position: absolute; left: var(--cap-space-cell-x); top: auto; bottom: calc(100% + var(--cap-space-sm)); z-index: 5; width: var(--cap-minute-pop); background: var(--cap-color-surface); border: var(--cap-border-hairline) solid var(--cap-color-line-strong); border-radius: var(--cap-radius-md); padding: var(--cap-space-cell-y) var(--cap-space-md); box-shadow: var(--cap-shadow-lift); font-weight: 400; font-size: var(--cap-type-input); line-height: var(--cap-leading-lede); letter-spacing: var(--cap-track-data); text-transform: none; color: var(--cap-color-text); }
.cap-shell .cap-calc__pop::before { content: ""; position: absolute; left: var(--cap-space-lg); bottom: -6px; width: 10px; height: 10px; background: var(--cap-color-surface); border-right: var(--cap-border-hairline) solid var(--cap-color-line-strong); border-bottom: var(--cap-border-hairline) solid var(--cap-color-line-strong); transform: rotate(45deg); }
/* the popover opens ABOVE the line (26 Sep): the card layout put "Reveal my chart" 18 under it, and a popover below covered the button for a pointer passing over the line */
@media (hover: hover) { .cap-shell .cap-calc__minute:has(.cap-calc__minute-btn:hover) .cap-calc__pop[hidden] { display: block; } }   /* hover on the ⓘ only, never the whole line (owner 2026-09-27); a click on the ⓘ opens it and keeps it open */

/* the trust row under the desktop / tablet hero form (D1 / T1): three cells on hairlines */
.cap-shell .cap-calc__trust { display: flex; gap: var(--cap-trust-gap, var(--cap-gutter)); margin: 0; padding: 0; list-style: none; }   /* --cap-trust-gap: set by calculator.js only where the row would run past the form (round 36) */
.cap-shell .cap-calc__trust-item { display: flex; flex-direction: column; gap: var(--cap-space-xs); }
.cap-shell .cap-calc__trust-item .cap-caption { line-height: var(--cap-leading-tight); }   /* D1: the label's own line box (it inherited 1.7 — the trust row ran 55, the sheet's 48) */
.cap-shell .cap-calc__trust-item + .cap-calc__trust-item { border-left: var(--cap-border-hairline) solid var(--cap-color-line-strong); padding-left: var(--cap-trust-gap, var(--cap-gutter)); }
.cap-shell .cap-calc__trust-n { font-family: var(--cap-font-display-sm); font-weight: 800; font-size: var(--cap-type-lg); letter-spacing: var(--cap-track-tight); line-height: var(--cap-leading-tight); color: var(--cap-color-text); }

/* collapse the form once a chart is on the page; "✎ Edit" restores it */
.cap-shell .cap-calc:has(.cap-results) .cap-calc__hero,
.cap-shell .cap-calc:has(.cap-results) .cap-calc__panel-wrap { display: none; }
.cap-shell .cap-calc:has(.cap-results) .cap-calc__editbox:checked ~ .cap-calc__panel-wrap { display: block; margin-bottom: var(--cap-space-lg); }
.cap-shell .cap-calc:has(.cap-results) { padding-top: var(--cap-space-hero-open); }

/* ─── RESULTS (D5b): 1fr | 500, the wheel column sticky ─────────────────────────────── */
.cap-shell .cap-results { display: grid; grid-template-columns: minmax(0, 1fr) var(--cap-col-wheel); gap: var(--cap-page-x); align-items: start; }
.cap-shell .cap-results__main { display: contents; }
.cap-shell .cap-results__head { grid-column: 1; display: flex; flex-direction: column; gap: 0; }
.cap-shell .cap-results__eyebrow { margin-bottom: var(--cap-space-hero-step); }
.cap-shell .cap-results__title { font-size: var(--cap-type-xl); line-height: var(--cap-leading-hero-mid); letter-spacing: var(--cap-track-hero-mid); max-width: 20ch; margin-bottom: var(--cap-space-hero-step); }
.cap-shell .cap-results__lede { font-size: var(--cap-type-lede-band); line-height: var(--cap-leading-small); max-width: 46ch; }
.cap-shell .cap-results__cast { grid-column: 1; display: flex; justify-content: space-between; align-items: center; gap: var(--cap-gutter); padding: var(--cap-space-cell-y) 0; margin-top: var(--cap-space-lg); border-top: var(--cap-border-hairline) solid var(--cap-color-line); border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); }
.cap-shell .cap-results__cast-items { display: flex; flex-direction: column; gap: var(--cap-space-xs); }
.cap-shell .cap-results__cast-line { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-data-lg); letter-spacing: var(--cap-track-faq); color: var(--cap-color-text); }
.cap-shell .cap-results__edit { flex: none; cursor: pointer; font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-spec-stacked); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-primary); transition: color var(--cap-ease); }
@media (hover: hover) { .cap-shell .cap-results__edit:hover { color: var(--cap-color-text); } }
.cap-shell .cap-results__edit-long { display: none; }
.cap-shell .cap-results__words { display: none; }   /* the phone's "Want it in words? …↓" link (2g-2) */

/* the wheel column: sticky, the legend under the wheel, the poster card under that (D5b) */
.cap-shell .cap-results__canvas { grid-column: 2; grid-row: 1 / span 5; position: sticky; top: var(--cap-space-panel-pad); display: flex; flex-direction: column; align-items: center; gap: var(--cap-space-cell-x); }
.cap-shell .cap-results__wheel { width: 100%; }
.cap-shell .cap-results__wheel svg { display: block; width: 100%; height: auto; }
.cap-shell .cap-results__legend { display: flex; align-items: center; gap: var(--cap-gutter); list-style: none; margin: var(--cap-space-gap-3) 0 var(--cap-space-xl); padding: 0; font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-muted); }
.cap-shell .cap-results__legend li { display: flex; align-items: center; gap: var(--cap-space-sm); }
/* the swatches read the SAME two tokens Calculator::wheel_config() hands the renderer: tense is solid and pale, flowing dashed and saturated */
.cap-shell .cap-results__swatch { display: block; width: 20px; height: 0; border-top-width: var(--cap-border-selected); border-top-style: solid; }
.cap-shell .cap-results__swatch--hard { border-top-color: var(--cap-color-primary-pale); }
.cap-shell .cap-results__swatch--soft { border-top-style: dashed; border-top-color: var(--cap-color-primary); }
.cap-shell .cap-results__swatch--retro { width: auto; height: auto; border: 0; font-weight: 600; color: var(--cap-color-text); }
.cap-shell .cap-results__poster { display: flex; flex-direction: column; width: 100%; color: var(--cap-color-text); }
.cap-shell .cap-results__poster-media { display: block; height: 250px; }
.cap-shell .cap-results__poster-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cap-shell .cap-results__poster-body { display: flex; flex-direction: column; gap: var(--cap-space-md); padding: var(--cap-space-cell-x) var(--cap-space-lg) var(--cap-space-lg); }
.cap-shell .cap-results__poster-lede { font-size: var(--cap-type-lede); font-weight: 400; }
.cap-shell .cap-results__poster-row { display: flex; align-items: center; justify-content: space-between; margin-top: var(--cap-space-gap-3); }
.cap-shell .cap-results__poster-price { font-family: var(--cap-font-ui); font-weight: 600; font-size: var(--cap-type-price); letter-spacing: var(--cap-track-price); color: var(--cap-color-text); }
/* D5b (26 Sep, desktop): the body 24 all round; a Large button; the price = "FROM" (caps label, caption grey) + the amount
   (display 800 · 24), on one baseline — the money page's price pattern */
@media (min-width: 1280px) {
  .cap-shell .cap-results__poster-body { padding: var(--cap-space-cell-x) var(--cap-space-block-5) var(--cap-space-block-5); }
  .cap-shell .cap-results__poster-price { display: flex; align-items: baseline; gap: var(--cap-space-sm); font-weight: 500; font-size: var(--cap-type-summary-k); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-caption); }
  .cap-shell .cap-results__poster-media img { object-position: 50% calc(50% + var(--cap-space-gap-5) / 2); }   /* the sheet shows the photo 5 lower than centred */
  .cap-shell .cap-results__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); }
}
@media (hover: hover) { .cap-shell .cap-results__poster:hover .cap-btn { background: var(--cap-color-primary); color: var(--cap-color-bg); } }

/* Big Three: three cells on hairlines (D5b: glyph 30, label role F in violet, sign 26 · .08em, the degree line) */
.cap-shell .cap-results__b3 { grid-column: 1; display: grid; grid-template-columns: repeat(3, 1fr); margin: var(--cap-space-section-head-above) 0; }
.cap-shell .cap-results__b3-cell { display: flex; flex-direction: column; gap: var(--cap-space-gap-3); padding: var(--cap-space-xs) var(--cap-gutter); }
.cap-shell .cap-results__b3-cell:first-child { padding-left: 0; }
.cap-shell .cap-results__b3-cell + .cap-results__b3-cell { border-left: var(--cap-border-hairline) solid var(--cap-color-line); }
.cap-shell .cap-results__b3-glyph { font-family: var(--cap-font-glyph); font-size: var(--cap-type-h1-product); line-height: 1; color: var(--cap-color-text); }
.cap-shell .cap-results__b3-mark { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-lg); letter-spacing: var(--cap-track-card-title); line-height: 1; color: var(--cap-color-text); }
.cap-shell .cap-results__b3-label { margin-top: var(--cap-space-sm); font-family: var(--cap-font-ui); font-weight: 600; font-size: var(--cap-type-card-title); letter-spacing: var(--cap-track-label); text-transform: uppercase; color: var(--cap-color-primary); }
.cap-shell .cap-results__b3-sign { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-name); letter-spacing: var(--cap-track-card-title); text-transform: uppercase; color: var(--cap-color-text); line-height: var(--cap-leading-tight); }
/* D1c / D5b desktop type up (CD note 2026-09-24): the label 15 → 18 (role D, card-title), the degree line 16 → 19 (role C's size, faq);
   the phone keeps its own sizes (the 767 block below) */
.cap-shell .cap-results__b3-deg { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-faq); letter-spacing: var(--cap-track-data); color: var(--cap-color-muted); }

/* positions — one markup, two shapes: the D5b table, the 2g-2 rows */
.cap-shell .cap-results__positions { grid-column: 1; }
.cap-shell .cap-results__positions-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--cap-space-md); margin-bottom: var(--cap-space-cell-x); }
.cap-shell .cap-pos { border: var(--cap-border-hairline) solid var(--cap-color-line); background: var(--cap-color-surface); overflow: hidden; }
.cap-shell .cap-pos__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 130px 70px; align-items: center; border-top: var(--cap-border-hairline) solid var(--cap-color-line); }
.cap-shell .cap-pos__row:first-child { border-top: 0; }
.cap-shell .cap-pos__row > span { padding: var(--cap-space-head-y) var(--cap-space-gap-7); line-height: var(--cap-leading-tight); }
.cap-shell .cap-pos__row--head { background: var(--cap-color-bg-deep); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-text-tertiary); }
.cap-shell .cap-pos__row--head .cap-pos__sign { display: none; }   /* the desktop head has Body · Sign as two columns in the sheet; the rows print "Body in Sign" in one cell */
.cap-shell .cap-pos__glyph { font-family: var(--cap-font-glyph); font-size: var(--cap-type-section); color: var(--cap-color-text); }
.cap-shell .cap-pos__glyph--ac { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-data); letter-spacing: var(--cap-track-card-title); }
.cap-shell .cap-pos__name { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-data-lg); letter-spacing: var(--cap-track-faq); text-transform: uppercase; color: var(--cap-color-text); white-space: nowrap; }
.cap-shell .cap-pos__in { font-weight: 400; color: var(--cap-color-muted); text-transform: none; }
.cap-shell .cap-pos__row .cap-pos__sign { color: var(--cap-color-text-secondary); }
.cap-shell .cap-pos__deg,
.cap-shell .cap-pos__house { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-data); letter-spacing: var(--cap-track-data); color: var(--cap-color-muted); white-space: nowrap; }
.cap-shell .cap-pos__h { display: none; }   /* the phone's "H " before the house number */
.cap-shell .cap-results__more { display: flex; flex-wrap: wrap; gap: var(--cap-space-gap-3) var(--cap-space-gap-7); align-items: baseline; margin-top: var(--cap-space-gap-7); }
.cap-shell .cap-results__more-link { font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); }

/* ─── THE PREVIEW BAND (D5b: copy 56 | sheets 420; 2g-2: centred, no sheets) ─────────── */
.cap-shell .cap-results__bandwrap { margin-top: var(--cap-space-band-close); }
.cap-shell .cap-results__band { display: grid; grid-template-columns: minmax(0, 1fr) var(--cap-band-pages); align-items: center; padding: 0; overflow: hidden; color: var(--cap-color-on-ink-heading); }
.cap-shell .cap-results__band-copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cap-space-md); padding: var(--cap-space-band-close); }
.cap-shell .cap-results__band-icon { display: none; width: 86px; height: 52px; }
.cap-shell .cap-results__band-h { max-width: 21ch; color: var(--cap-color-on-ink-heading); }
.cap-shell .cap-results__band-lede { max-width: 48ch; font-weight: 400; }
.cap-shell .cap-results__band-lede-m { display: none; }
.cap-shell .cap-capture__form,
.cap-shell .cap-capture__b { display: flex; flex-direction: column; gap: var(--cap-space-chip-gap); width: 100%; max-width: 560px; margin-top: var(--cap-space-sm); }
.cap-shell .cap-capture__row { display: flex; gap: var(--cap-space-chip-gap); align-items: center; }
.cap-shell .cap-capture__field { flex: 1; min-width: 0; }
.cap-shell .cap-capture__btn { flex: none; white-space: nowrap; }
/* the 2j board on the ink band: the refused address keeps its carmine edge while focused; the alert reads left like every alert */
.cap-shell .cap-capture__field .cap-capture__email[aria-invalid="true"], .cap-shell .cap-capture__field .cap-capture__email[aria-invalid="true"]:focus { border-color: var(--cap-field-error-edge, var(--cap-color-error)); box-shadow: var(--cap-field-error-halo, none); }   /* on the ink band: the 2-px pink edge + the pink halo (CD 2g-4) */
.cap-shell .cap-capture__error.cap-alert { text-align: left; }
.cap-shell .cap-capture__note { padding-left: var(--cap-space-cell-x); color: var(--cap-color-on-ink-muted); }
.cap-shell .cap-capture__msg { color: var(--cap-color-on-ink); }
.cap-shell .cap-capture__msg strong { font-weight: inherit; }   /* the address is bold on the phone only (2g-3) */
.cap-shell .cap-capture__links,
.cap-shell .cap-capture__resent { color: var(--cap-color-on-ink-muted); }
.cap-shell .cap-capture__links a { color: var(--cap-color-primary-soft); }
.cap-shell .cap-capture__sep { padding: 0 var(--cap-space-xs); }
.cap-shell .cap-results__band-full { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--cap-space-sm) var(--cap-space-md); margin-top: var(--cap-space-sm); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-on-ink-muted); }
.cap-shell .cap-results__band-link { color: var(--cap-color-on-ink); border-bottom: var(--cap-border-hairline) solid var(--cap-color-primary); padding-bottom: var(--cap-space-gap-2); transition: color var(--cap-ease-fast); }
@media (hover: hover) { .cap-shell .cap-results__band-link:hover { color: var(--cap-color-primary-pale); } }   /* round 23: a link on ink turns the pale lilac (CD values: primary-pale = "link hover on ink") */
.cap-shell .cap-results__band-meta { color: var(--cap-color-on-ink-muted); }
.cap-shell .cap-capture__full-b { display: none; }
.cap-shell .cap-results__band-copy.is-sent .cap-capture__full-a { display: none; }
.cap-shell .cap-results__band-copy.is-sent .cap-capture__full-b { display: inline; }
.cap-shell .cap-results__band-pages { position: relative; height: 380px; }
.cap-shell .cap-results__band-sheet { position: absolute; width: 330px; height: 429px; background: var(--cap-color-bg); box-shadow: var(--cap-shadow-sheet); overflow: hidden; }
.cap-shell .cap-results__band-sheet img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.cap-shell .cap-results__band-sheet--back { left: -1px; top: 18px; transform: rotate(-4deg); }
.cap-shell .cap-results__band-sheet--front { left: 120px; top: 47px; transform: rotate(5deg); }

/* ─── 700–1279: THE TABLET HERO (T1 / T6a, 1 Oct 2026) — centred, item for item as the phone's 1a / 2g-1: the icon 240 × 126
   (8 more under it) · the ✦ eyebrow starred both ends · the h1 (64 at 1024, 52 at 820) · the lede · ONE 480 column: the card,
   the helper 6 under it, the full-width button 32 under the helper, the caption 10 under the button. No trust row. ── */
@media (min-width: 700px) and (max-width: 1279px) {
  .cap-shell .cap-calc--hero .cap-calc__hero { align-items: center; text-align: center; }
  .cap-shell .cap-calc--hero .cap-calc__icon { display: block; width: var(--cap-hero-icon-w-mid); height: var(--cap-hero-icon-h-mid); margin-bottom: var(--cap-space-sm); }
  .cap-shell .cap-calc--hero .cap-calc__eyebrow::before,
  .cap-shell .cap-calc--hero .cap-calc__eyebrow::after { content: "✦"; font-size: var(--cap-type-eyebrow-star); letter-spacing: 0; }   /* T1: a 14 star each side, 10 from the words (the eyebrow's own gap) */
  .cap-shell .cap-calc--hero .cap-calc__eyebrow { gap: var(--cap-space-chip-gap); }
  .cap-shell .cap-calc--hero .cap-calc__panel { max-width: var(--cap-col-hero-form-mid); margin: 0 auto var(--cap-space-sm); }
  .cap-shell .cap-calc--hero .cap-calc__minute { margin-top: calc(-1 * var(--cap-space-xs)); font-size: var(--cap-type-hint-mid); letter-spacing: var(--cap-track-caption); line-height: var(--cap-leading-hint-mid); color: var(--cap-color-caption); }
  .cap-shell .cap-calc--hero .cap-calc__caption { line-height: normal; color: var(--cap-color-caption); }
  .cap-shell .cap-calc--hero .cap-calc__submit { width: 100%; align-self: stretch; margin-top: calc(var(--cap-space-cell-x) + var(--cap-space-gap-1)); }
  .cap-shell .cap-calc--hero .cap-calc__caption { display: block; }
  .cap-shell .cap-calc--hero .cap-calc__trust { display: none; }
}

/* ─── 700–1279: the split un-splits (the 1280 rule, owner 2026-09-30) (T-width, no sheet: the mobile order at tablet geometry) ── */
@media (min-width: 700px) and (max-width: 1023px) {   /* T1-820 / T6a-820: the lede 32 above the card, the button 24 under the helper (1024: 24 and 32) */
  .cap-shell .cap-calc--hero .cap-calc__intro { margin-bottom: var(--cap-space-sm); }
  .cap-shell .cap-calc--hero .cap-calc__submit { margin-top: var(--cap-space-gap-7); }
}
@media (max-width: 1023px) { .cap-shell .cap-calc__h1 { font-size: var(--cap-type-xl); line-height: var(--cap-leading-hero-mid); letter-spacing: var(--cap-track-hero-mid); } }   /* T1-820 / T6a-820: 52; 1024–1279 keeps the 64 hero (T1 / T6a) */
@media (max-width: 1279px) {
  .cap-shell .cap-results { display: flex; flex-direction: column; align-items: stretch; gap: var(--cap-space-lg); }
  .cap-shell .cap-results__canvas { position: static; order: 3; }
  .cap-shell .cap-results__wheel { max-width: var(--cap-col-wheel); margin: 0 auto; }
  .cap-shell .cap-results__legend { margin-bottom: 0; }
  .cap-shell .cap-results__poster { display: none; }
  .cap-shell .cap-results__head { order: 1; }
  .cap-shell .cap-results__cast { order: 2; margin-top: 0; }
  .cap-shell .cap-results__words { order: 2; }   /* after the cast strip (source order keeps it there), before the wheel */
  .cap-shell .cap-results__b3 { order: 4; margin: 0; }
  .cap-shell .cap-results__positions { order: 5; }
  .cap-shell .cap-results__band { grid-template-columns: minmax(0, 1fr); }
  .cap-shell .cap-results__band-pages { display: none; }
}

/* ─── < 700: the mobile sheet (1a form · 2g-2 / 2g-3 results) ─────────────────────────── */
@media (max-width: 699px) {
  .cap-shell .cap-calc { padding-bottom: var(--cap-space-block-4); }
  .cap-shell .cap-calc__hero { align-items: center; text-align: center; gap: var(--cap-space-hero-step); }
  .cap-shell .cap-calc__icon { display: block; margin-bottom: var(--cap-space-chip-gap); }
  .cap-shell .cap-calc--landing .cap-calc__icon--after { margin: var(--cap-space-cell-x) auto var(--cap-space-xs); }
  .cap-shell .cap-calc__eyebrow { display: none; }
  .cap-shell .cap-calc--landing .cap-calc__eyebrow { display: inline-flex; }
  .cap-shell .cap-calc__h1 { font-size: var(--cap-type-h1-hero); line-height: var(--cap-leading-hero); letter-spacing: var(--cap-track-hero); max-width: none; }
  .cap-shell .cap-calc__intro { font-size: var(--cap-type-lede); max-width: none; }
  .cap-shell .cap-calc__minute { padding-left: var(--cap-space-field-cell-x); font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-label); gap: var(--cap-space-gap-1) var(--cap-space-gap-3); white-space: nowrap; line-height: var(--cap-mp-leading-calc-minute); }   /* 2l: the helper on a 14 line */
  .cap-shell .cap-calc__i { width: 12px; height: 12px; }
  .cap-shell .cap-calc__pop { position: static; width: auto; flex-basis: calc(100% + var(--cap-space-field-cell-x)); margin: var(--cap-space-gap-4) 0 0 calc(-1 * var(--cap-space-field-cell-x));   /* the card's edges = the form's (owner 2026-09-29) */ padding: var(--cap-space-chip-gap) var(--cap-space-md); box-shadow: none; font-size: var(--cap-type-input); white-space: normal; }
  .cap-shell .cap-calc__pop::before { display: none; }
  .cap-shell .cap-calc__submit { width: 100%; align-self: stretch; margin-top: var(--cap-space-gap-1); }   /* 2l: 12 under the helper (the form's 10 + 2) */
  .cap-shell .cap-calc__trust { display: none; }

  /* results (2g-2): centred head at step 14, the one-line strip, the "in words" link, the wheel 318 */
  .cap-shell .cap-results { gap: 0; }
  .cap-shell .cap-results__head { text-align: center; align-items: center; }
  .cap-shell .cap-results__eyebrow::after { content: "\00a0\00a0✦"; }
  .cap-shell .cap-results__title { font-size: var(--cap-type-h1-hero); line-height: var(--cap-leading-hero); letter-spacing: var(--cap-track-hero); max-width: none; }
  .cap-shell .cap-results__lede { font-size: var(--cap-type-lede); line-height: var(--cap-leading-lede); max-width: 42ch; }
  .cap-shell .cap-results__cast { margin-top: var(--cap-space-md); padding: var(--cap-space-chip-gap) 0; }
  .cap-shell .cap-results__cast-line { font-size: var(--cap-type-data); }
  .cap-shell .cap-results__edit { font-size: var(--cap-type-eyebrow-card); }
  .cap-shell .cap-results__words { display: block; margin-top: var(--cap-space-gap-6); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-eyebrow-card); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-primary); }
  .cap-shell .cap-results__canvas { gap: 0; padding-top: var(--cap-space-primary-air); }
  .cap-shell .cap-results__wheel { max-width: none; }   /* 2g-2: the wheel fills the 338 content width (was capped at 318 — measured 315 vs the sheet's 334 half-diameter) */
  .cap-shell .cap-results__legend { gap: var(--cap-space-gap-7); margin: var(--cap-space-block-5) 0 var(--cap-space-md); font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-label); }
  .cap-shell .cap-results__swatch { width: 18px; }

  /* Big Three: three centred cells, no house */
  .cap-shell .cap-results__b3 { padding-top: var(--cap-space-sm); }
  .cap-shell .cap-results__b3-cell { align-items: center; text-align: center; padding: var(--cap-space-sm) var(--cap-space-gap-6); gap: var(--cap-space-xs); }
  .cap-shell .cap-results__b3-cell:first-child { padding-left: 0; }
  .cap-shell .cap-results__b3-cell:last-child { padding-right: 0; }
  .cap-shell .cap-results__b3-glyph { font-size: var(--cap-type-card-h2); }
  .cap-shell .cap-results__b3-mark { font-size: var(--cap-type-data); letter-spacing: var(--cap-track-feature); line-height: 22px; }
  .cap-shell .cap-results__b3-label { font-weight: 500; font-size: var(--cap-type-eyebrow-card); letter-spacing: var(--cap-track-meta); margin-top: var(--cap-space-xs); }
  .cap-shell .cap-results__b3-sign { font-size: var(--cap-type-data); letter-spacing: var(--cap-track-faq); }
  .cap-shell .cap-results__b3-deg { font-weight: 400; font-size: var(--cap-type-data); }
  .cap-shell .cap-results__b3-house { display: none; }

  /* positions: the head row on a rule, hairline rows "GLYPH · Body in Sign · 07° 22′ · H 10" */
  .cap-shell .cap-results__positions { border-top: var(--cap-border-hairline) solid var(--cap-color-line); margin-top: var(--cap-space-block-5); }
  .cap-shell .cap-results__positions-head { padding: var(--cap-space-head-y) 0; border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); margin-bottom: 0; }
  .cap-shell .cap-results__positions-key { font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-feature); white-space: nowrap; }
  .cap-shell .cap-pos { border: 0; background: transparent; }
  .cap-shell .cap-pos__row { display: flex; align-items: baseline; gap: var(--cap-space-chip-gap); border-top: 0; border-bottom: var(--cap-border-hairline) solid var(--cap-color-line); }
  .cap-shell .cap-pos__row--head { display: none; }
  .cap-shell .cap-pos__row > span { padding: var(--cap-space-head-y) 0; }
  .cap-shell .cap-pos__glyph { width: 18px; flex: none; font-size: var(--cap-type-label); }
  .cap-shell .cap-pos__glyph--ac { font-size: var(--cap-type-sm); }
  .cap-shell .cap-pos__name { font-size: var(--cap-type-data); letter-spacing: var(--cap-track-card-title); }
  .cap-shell .cap-pos__row .cap-pos__sign { color: var(--cap-color-text); }
  .cap-shell .cap-pos__deg { margin-left: auto; font-size: var(--cap-type-data); }
  .cap-shell .cap-pos__house { width: 34px; flex: none; text-align: right; font-weight: 400; font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-card-title); text-transform: uppercase; }
  .cap-shell .cap-pos__h { display: inline; }
  .cap-shell .cap-results__more { flex-direction: column; align-items: flex-start; gap: var(--cap-space-gap-3); margin-top: var(--cap-space-gap-6); }
  .cap-shell .cap-results__more-link { font-size: var(--cap-type-caption); letter-spacing: var(--cap-track-feature); padding-bottom: var(--cap-space-gap-1); }

  /* the preview band (2g-2 / 2g-3): centred, the icon, the field then the button, the link on a hairline */
  .cap-shell .cap-results__bandwrap { margin-top: var(--cap-space-block-5); }
  .cap-shell .cap-results__band-copy { align-items: center; text-align: center; padding: var(--cap-space-cell-x); gap: var(--cap-space-gap-6); }
  .cap-shell .cap-results__band-eyebrow::after { content: "\00a0\00a0✦"; }
  .cap-shell .cap-results__band-icon { display: block; margin: var(--cap-space-gap-6) 0; }
  .cap-shell .cap-results__band-h { font-size: var(--cap-type-card-headline); line-height: 1.25; letter-spacing: 0; max-width: none; color: var(--cap-color-on-ink); }
  .cap-shell .cap-results__band-lede { font-size: var(--cap-type-lede); line-height: var(--cap-leading-lede); }
  .cap-shell .cap-results__band-lede-m { display: inline; }
  .cap-shell .cap-results__band-lede-d { display: none; }
  .cap-shell .cap-capture__form, .cap-shell .cap-capture__b { max-width: none; margin-top: var(--cap-space-gap-1); }
  .cap-shell .cap-capture__row { flex-direction: column; align-items: stretch; }
  .cap-shell .cap-capture__btn { width: 100%; }
  .cap-shell .cap-capture__email { text-align: left; }
  .cap-shell .cap-capture__note { padding-left: 0; }
  .cap-shell .cap-results__band-full { justify-content: center; width: 100%; min-height: 44px; margin-top: var(--cap-space-gap-3); padding-top: var(--cap-space-gap-6); border-top: var(--cap-border-hairline) solid var(--cap-color-line-on-ink); font-size: var(--cap-type-eyebrow-card); }
  .cap-shell .cap-results__band-meta { display: none; }
}

/* "Free · 30 seconds · No account" is a PHONE line (1a / the mobile calculator); no desktop or tablet sheet draws it, and on
   D1 it made the text column 24 px taller than the sheet's, which moved the centred wheel 12 px down (owner review 2026-09-23) */
@media (min-width: 1280px) { .cap-shell .cap-calc__caption { display: none; } }   /* the tablet hero shows it (T1 / T6a, 1 Oct 2026) */

/* ---- THE PREVIEW-CONFIRMED PAGE (CD D1c desktop · 1s phone; owner 2026-09-24) ----
   Desktop: the copy + the Big Three left, the wheel + legend right (the header's rule is the chrome's own);
   "While you wait" under a hairline, four white cards. Phone: centred copy, the wheel, the legend, the Big
   Three, a hairline, two cards (Daily tarot, Rune of the day) with their labels only. The cards take the
   design's card hover — the violet glow and border, no text or fill change. Tokens only. */
.cap-shell .cap-conf__top { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "copy canvas" "b3 canvas"; column-gap: var(--cap-space-block-5); align-items: center; padding-top: var(--cap-space-xl); padding-bottom: var(--cap-space-xl); }
.cap-shell .cap-conf__top--solo { grid-template-columns: 1fr; grid-template-areas: "copy"; }
.cap-shell .cap-conf__copy { grid-area: copy; display: flex; flex-direction: column; align-items: flex-start; gap: var(--cap-space-block-5); align-self: end; }
.cap-shell .cap-conf__eyebrow.cap-eyebrow--stars::after { content: none; }   /* desktop: the leading ✦ only (D1c); the phone keeps both (1s) */
.cap-shell .cap-conf__h1 { margin: 0; max-width: 20ch; line-height: var(--cap-leading-hero-mid); }
.cap-shell .cap-conf__lede { margin: 0; max-width: 46ch; font-size: var(--cap-type-lede-band); line-height: var(--cap-leading-small); color: var(--cap-color-text-secondary); }
.cap-shell .cap-conf__email { font-style: normal; font-weight: 600; color: var(--cap-color-text); }
.cap-shell .cap-conf__again { margin: 0; color: var(--cap-color-caption); }
.cap-shell .cap-conf__again-link { color: var(--cap-color-text); text-decoration: none; border-bottom: var(--cap-border-hairline) solid var(--cap-color-primary); padding-bottom: var(--cap-space-gap-3); }
@media (hover: hover) { .cap-shell .cap-conf__again-link:hover { color: var(--cap-color-primary); } }
.cap-shell .cap-conf__canvas { grid-area: canvas; display: flex; flex-direction: column; align-items: center; gap: var(--cap-space-cell-x); }
.cap-shell .cap-conf__legend { margin: 0; }
.cap-shell .cap-conf__b3 { grid-area: b3; margin: var(--cap-space-lg) 0 0; align-self: start; width: 100%; }
.cap-shell .cap-conf__wait { padding-bottom: var(--cap-space-band-close); }
.cap-shell .cap-conf__wait-h { display: block; border-top: var(--cap-border-hairline) solid var(--cap-color-line); padding-top: var(--cap-space-section-head-above); margin-bottom: var(--cap-space-section-head-below); }
.cap-shell .cap-conf__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--cap-space-tile-gap-x); }
.cap-shell .cap-conf__card { display: flex; flex-direction: column; gap: var(--cap-space-sm); padding: var(--cap-space-block-5); background: var(--cap-color-surface); border: var(--cap-border-hairline) solid var(--cap-color-line); color: var(--cap-color-text); text-decoration: none; transition: box-shadow var(--cap-ease), border-color var(--cap-ease); }

.cap-shell .cap-conf__card:focus-visible { color: var(--cap-color-text); }
@media (hover: hover) { .cap-shell .cap-conf__card:hover { color: var(--cap-color-text); } }
@media (hover: hover) { .cap-shell .cap-conf__card:hover { box-shadow: var(--cap-shadow-halo); } }   /* hover = the glow (0.51.398 had taken it off with the focus halo; restored 2026-09-29) */
.cap-shell .cap-conf__icon { display: block; color: var(--cap-color-primary); }
.cap-shell .cap-conf__icon svg { display: block; fill: currentColor; width: auto; height: calc(22px * 346.37 / 220.49); }   /* 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-conf__card-t { 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; line-height: var(--cap-leading-tight); }
.cap-shell .cap-conf__card-l { font-family: var(--cap-font-serif); font-style: italic; font-size: var(--cap-type-tile-sub); line-height: var(--cap-leading-lede); color: var(--cap-color-caption); }
/* desktop to the D1c sheet (27 Sep markup): the copy and the Big Three are ONE block, centred against the wheel + legend — four
   rows (flexible · copy · Big Three · flexible) beside the canvas, which spans them; the halves 24 apart */
@media (min-width: 1280px) {
  .cap-shell .cap-conf__top { align-items: start; column-gap: var(--cap-space-block-5); grid-template-areas: ". canvas" "copy canvas" "b3 canvas" ". canvas"; grid-template-rows: 1fr auto auto 1fr; }
  .cap-shell .cap-conf__canvas { align-self: center; gap: calc(var(--cap-space-cell-x) + var(--cap-space-gap-3)); }   /* the legend 26 under the wheel (20 + its 6) */
  .cap-shell .cap-conf__b3.cap-results__b3 { margin-top: var(--cap-space-band-close); }   /* the copy → the Big Three 56 (24 + 32), as D5b */
  .cap-shell .cap-conf__top { padding-bottom: calc(var(--cap-space-band-close) + var(--cap-space-gap-3) + var(--cap-space-gap-1) / 2); }   /* 26 Sep: the wait section 7 lower */
  .cap-shell .cap-conf__canvas .cap-conf__legend { margin: 0; }   /* not the results page's 74 below its legend */
  .cap-shell .cap-conf__card { gap: var(--cap-space-sm); }   /* 26 Sep: title → line 8 */
  .cap-shell .cap-conf__wait-h { margin-bottom: calc(var(--cap-space-section-head-below) + var(--cap-space-gap-1) / 2); }
  .cap-shell .cap-conf__again { line-height: var(--cap-leading-tight); }   /* on its caps' own line, 24 under the lede (27 Sep markup) */
  .cap-shell .cap-conf__again-link { padding-bottom: calc(var(--cap-space-gap-3) / 2); }   /* its violet underline 5 under the caps (was 8) */
  .cap-shell .cap-conf__icon { margin-bottom: calc(var(--cap-space-gap-5) / 2); }   /* the icon → title 13 */
  .cap-shell .cap-conf__copy { align-self: start; }
  .cap-shell .cap-conf__wheel { max-width: var(--cap-col-wheel-conf); }
  .cap-shell .cap-conf__icon svg { width: auto; height: calc(var(--cap-conf-card-icon) * 346.37 / 339.67); }   /* 46 on the 26 Sep sheet */
}
@media (max-width: 1279px) {
  .cap-shell .cap-conf__cards { grid-template-columns: repeat(2, 1fr); }
}
/* the confirmed page below 1280: ONE centred column in T6b's order and sizes (owner 2026-10-01) — eyebrow · headline · lede ·
   the "again" line on one line · the 480 wheel with its key on one line · the Big Three the full width (the results page's
   tablet cells, so degree and house share a line) · then the hairline and "While you wait" */
@media (min-width: 700px) and (max-width: 1279px) {
  .cap-shell .cap-conf__top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "canvas" "b3"; grid-template-rows: none; text-align: center; padding-top: var(--cap-space-band-close); }
  .cap-shell .cap-conf__copy { align-items: center; align-self: auto; gap: var(--cap-space-cell-x); }   /* T6b: eyebrow → headline → lede 20 apart */
  .cap-shell .cap-conf__eyebrow.cap-eyebrow--stars::after { content: "\00a0\00a0✦"; }
  .cap-shell .cap-conf__h1 { max-width: 20ch; }
  .cap-shell .cap-conf__lede { max-width: none; font-weight: 400; }
  .cap-shell .cap-conf__again { margin-top: var(--cap-space-gap-3); white-space: nowrap; line-height: var(--cap-leading-tight); }
  .cap-shell .cap-conf__canvas { align-self: auto; padding: var(--cap-space-panel-pad) 0 var(--cap-space-lg); gap: 0; }
  .cap-shell .cap-conf__wheel { max-width: var(--cap-results-wheel-mid); }
  .cap-shell .cap-conf__canvas .cap-conf__legend { margin: var(--cap-gutter) 0 0; flex-wrap: nowrap; white-space: nowrap; }
  .cap-shell .cap-conf__b3.cap-results__b3 { margin: var(--cap-space-lg) 0 0; }
}
@media (max-width: 699px) {
  .cap-shell .cap-conf__top { grid-template-columns: 1fr; grid-template-areas: "copy" "canvas" "b3"; padding-top: var(--cap-space-block-5); padding-bottom: 0; text-align: center; }
  .cap-shell .cap-conf__copy { align-items: center; gap: var(--cap-space-cell-y); }
  .cap-shell .cap-conf__eyebrow.cap-eyebrow--stars::after { content: "✦"; }   /* the site-wide phone star (components.css) sets its size and gap */
  .cap-shell .cap-conf__h1 { line-height: var(--cap-leading-hero); }
  .cap-shell .cap-conf__lede { font-size: var(--cap-type-lede); max-width: 42ch; }
  .cap-shell .cap-conf__canvas { margin-top: var(--cap-space-lg); gap: 0; }
  .cap-shell .cap-conf__b3 { margin-top: var(--cap-space-sm); }
  .cap-shell .cap-conf__wait { padding-bottom: var(--cap-space-block-5); }
  .cap-shell .cap-conf__wait-h { margin-top: var(--cap-space-block-5); padding-top: var(--cap-space-block-4); margin-bottom: var(--cap-space-chip-gap); }
  .cap-shell .cap-conf__cards { display: flex; gap: var(--cap-space-chip-gap); }
  .cap-shell .cap-conf__card { flex: 1; padding: var(--cap-space-cell-y); gap: var(--cap-space-xs); }
  .cap-shell .cap-conf__card--wide, .cap-shell .cap-conf__card-l { display: none; }
}

/* The positions key, each width to its own sheet (owner 2026-09-24): "H = house · R = retrograde" on a phone (2g-2), "R = retrograde" from 700 (D5b). */
.cap-shell .cap-results__key-m { display: none; }
@media (max-width: 699px) { .cap-shell .cap-results__key-m { display: inline; } .cap-shell .cap-results__key-d { display: none; } }

/* "Why the minute matters" as selectable TEXT + a real (i) button (owner 2026-09-24): the words are plain text, the
   press rule (cap-press.js) forwards a click on them to the button; the whole label darkens on hover as before. */
.cap-shell .cap-calc__minute-i { display: inline-flex; align-items: center; background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.cap-shell .cap-calc__minute.cap-press { cursor: pointer; transition: color var(--cap-ease); }

.cap-shell .cap-calc__minute-i[aria-expanded="true"] { color: var(--cap-color-text); }
@media (hover: hover) { .cap-shell .cap-calc__minute.cap-press:hover .cap-calc__minute-text, .cap-shell .cap-calc__minute.cap-press:hover .cap-calc__minute-i { color: var(--cap-color-text); } }

/* ═══ D5b, the 24 Sep revision (desktop 1280+; the phone and the tablet keep theirs) ═══════════════════════════════
   The left column reads as the sheet draws it: the lede on one line; "Cast for" on two lines (date · time, then the
   place); the rows close up (no 80 px grid gap between them — each block carries its own space above); the positions
   table in the sheet's FOUR columns Body · Sign · Degree · House (the phone keeps "Body in Sign" in one cell). */
@media (min-width: 1280px) {
  .cap-shell .cap-results { row-gap: 0; }
  .cap-shell .cap-results__wheel { width: var(--cap-hero-wheel); max-width: none; margin: 0 auto; }   /* D5b (27 Sep): the D1 / D5a wheel, 480 (radius 227.6 on the sheet) */
  .cap-shell .cap-results__more { font-size: var(--cap-type-sm); line-height: var(--cap-leading-tight); }   /* D5b: the line under the table on its 13 caps' own line, not the page's 30.6 */
  .cap-shell .cap-results__band .cap-capture__note { line-height: var(--cap-leading-tight); }   /* D5b: the reassurance on its own line (was 1.7) */
  .cap-shell .cap-results__band .cap-results__band-full { margin-top: var(--cap-space-sm); line-height: var(--cap-leading-tight); }   /* D5b: "Or get the full reading" 8 + the band's 16 under the form, on the caps' own 1.2 line */
  .cap-shell .cap-results__band .cap-results__band-link { padding-bottom: calc(var(--cap-space-gap-2) - var(--cap-space-gap-1) / 2); margin-bottom: calc(var(--cap-space-gap-1) / 2 - var(--cap-space-gap-2) - var(--cap-border-hairline)); }   /* D5b: the underline 3 under the text, and its padding never adds to the line (inline in the markup) */
  .cap-shell .cap-results__b3-mark { font-size: var(--cap-type-b3-mark); line-height: var(--cap-type-b3-glyph); }   /* "AC" on the glyphs' 30 line, so the three columns align (D5b) */
  .cap-shell :is(.cap-results__poster .cap-eyebrow--star, .cap-results__band-eyebrow)::before { content: "✦\00a0"; }   /* D5b: "✦ Natal Chart Poster" — one space, as written */
  .cap-shell .cap-results__lede { max-width: none; }
  .cap-shell .cap-results__cast { margin-top: var(--cap-space-block-5); padding: var(--cap-space-gap-7) 0; }   /* D5b: 14 above and below */
  .cap-shell .cap-results__cast-line { line-height: var(--cap-leading-ui); }
  .cap-shell .cap-results__cast-sep { display: none; }
  .cap-shell .cap-results__cast-when,
  .cap-shell .cap-results__cast-where { display: block; line-height: 1.333; }
  .cap-shell .cap-results__cast-h { line-height: var(--cap-leading-ui); }
  .cap-shell .cap-results__b3 { margin: var(--cap-space-band-close) 0 0; }   /* D5b 27 Sep: the "Cast for" rule → the row 56 (24 + 32), the glyph on its own 30 line */
  .cap-shell .cap-results__b3-glyph { font-size: var(--cap-type-b3-glyph); line-height: 1; }   /* D5b / D1c 27 Sep markup: the ☉ ☽ at 30 on their own 30 line */
  .cap-shell .cap-results__b3-label,
  .cap-shell .cap-results__b3-deg { line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__b3-label { margin-top: calc(var(--cap-space-sm) + var(--cap-space-gap-1) / 2); }   /* 8 + the cell's 6 under the glyph (+1: the 30 line sits a pixel higher than the markup's rounding) */
  .cap-shell .cap-results__legend { margin-bottom: calc(var(--cap-space-xl) + var(--cap-space-md)); line-height: var(--cap-leading-tight); }   /* D5b 27 Sep markup: the key on its caps' own line, 80 above the poster card */
  .cap-shell .cap-results__positions { margin-top: var(--cap-space-band-close); }

  .cap-shell .cap-pos__row { grid-template-columns: 44px 212px minmax(0, 1fr) 130px 70px; }
  .cap-shell .cap-pos__row--head .cap-pos__sign { display: block; }
  .cap-shell .cap-pos__name { display: contents; }
  .cap-shell .cap-pos__in { display: none; }
  .cap-shell .cap-pos__row > span,
  .cap-shell .cap-pos__name > .cap-pos__body,
  .cap-shell .cap-pos__name > .cap-pos__sign { padding: calc(var(--cap-space-gap-5) + var(--cap-space-gap-1) / 2) var(--cap-space-gap-7); line-height: var(--cap-leading-tight); }   /* D5b 27 Sep markup: 11 above and below the text's 1.2 line — rows 44.5 with their rule */
  .cap-shell .cap-pos__row > .cap-pos__glyph { line-height: 1; }   /* the ☉ never makes its row taller than the text's line */
  .cap-shell .cap-pos__row--head > span { font: inherit; line-height: var(--cap-leading-tight); letter-spacing: inherit; color: inherit; }   /* the head's Degree / House in the head's 13 caps, not the rows' 16 (D5b: head 39 with the table's rule) */
  .cap-shell .cap-results__positions-head { margin-bottom: calc(var(--cap-space-md) + var(--cap-space-gap-1)); }   /* D5b: "Positions" → the table 38.5 from the ink, as drawn (the head row is 26 with its baseline-aligned key) */
  .cap-shell .cap-pos__row .cap-pos__sign { color: var(--cap-color-text); }
}

/* ═══ D1 / D5a (26 Sep, desktop 1280+): the calculator card in ONE row — Birth date 154 | Birth time 159 | Place of birth,
   645 wide, 79 tall; the phone and tablet keep the two-row card (no sheet yet) ═══════════════════════════════════ */
@media (min-width: 1280px) {
  .cap-shell .cap-calc__panel { width: max-content; max-width: 100%; }
  /* the place list spans the whole bar (D1b): from the place cell, back over the date and time cells */
  .cap-shell .cap-calc__cells .cap-places { left: calc(-1 * (var(--cap-calc-cell-date) + var(--cap-calc-cell-time) + var(--cap-border-hairline))); }   /* D1 / D5a / D1b (27 Sep): the form takes the width its fields and the trust row under it need — the bar is as wide as the trust row */
  .cap-shell .cap-calc__cells { display: grid; grid-template-columns: var(--cap-calc-cell-date) var(--cap-calc-cell-time) minmax(0, 1fr); }
  .cap-shell .cap-calc__cells > .cap-field-row { display: contents; }
  .cap-shell .cap-cells.cap-calc__cells > .cap-field-row + .cap-field { border-top: 0; border-left: var(--cap-border-hairline) solid var(--cap-color-field-empty); }
  .cap-shell .cap-cells.cap-calc__cells > .cap-field-row:first-child > .cap-field:first-child { border-radius: var(--cap-radius-field-card) 0 0 var(--cap-radius-field-card); }
  .cap-shell .cap-cells.cap-calc__cells > .cap-field-row:first-child > .cap-field:last-child { border-radius: 0; }
  .cap-shell .cap-cells.cap-calc__cells > .cap-field:last-child { border-radius: 0 var(--cap-radius-field-card) var(--cap-radius-field-card) 0; }
  /* the cell as D1 draws it (79 with its line): label → value 10, the value on a 17 line (its 1.2 box pulled in, as the money page's cells) */
  .cap-shell .cap-calc__cells .cap-field { gap: var(--cap-space-gap-5); }
  .cap-shell .cap-calc__cells .cap-field > .cap-input { height: calc(var(--cap-type-input) * var(--cap-leading-tight)); margin: calc(var(--cap-type-input) * (1 - var(--cap-leading-tight)) / 2) 0; }
  .cap-shell .cap-calc__cells .cap-field > .cap-input--native { height: var(--cap-type-input); margin: 0; }
  .cap-shell .cap-calc__cells .cap-parts { height: var(--cap-type-input); align-items: center; min-height: 0; }
  .cap-shell .cap-calc__cells .cap-parts .cap-birth__part { height: var(--cap-type-input); }
  .cap-shell .cap-calc__cells .cap-parts :is(.cap-birth__part, .cap-birth__colon, .cap-birth__slash, .cap-birth__ap) { line-height: 1; }
  .cap-shell .cap-calc__trust-item .cap-caption { white-space: nowrap; }   /* D1's captions are one line each */
  /* D1 / D5a: the ✦ at 14, gap-5 to the text (the flex gap and the two spaces gone) — measured: star 10.5 tall, the text 21.5 from its left edge */
  .cap-shell :is(.cap-calc__eyebrow, .cap-results__eyebrow, .cap-conf__eyebrow) { gap: 0; }
  .cap-shell :is(.cap-calc__eyebrow, .cap-results__eyebrow, .cap-conf__eyebrow):is(.cap-eyebrow--star, .cap-eyebrow--stars)::before { content: "✦"; font-size: var(--cap-type-eyebrow-star); letter-spacing: 0; margin-right: var(--cap-space-gap-5); }   /* D5b's "✦ Your birth chart" too */
  .cap-shell .cap-calc--landing .cap-calc__intro { max-width: var(--cap-d5a-lede-measure); text-wrap: pretty; }   /* D5a breaks the lede after "the minute" */
  .cap-shell .cap-calc__minute { margin-top: 0; font-size: var(--cap-type-size-sub); line-height: calc(var(--cap-type-size-sub) + var(--cap-space-xs)); }   /* D1 / D1b: 12 on a 16 line; 10 under the card (was 6, D1) — the site's helper-line gap, as the poster's birth-time line (owner 2026-09-29) */
  .cap-shell .cap-calc__submit { margin-top: calc(var(--cap-space-section-head-below) + var(--cap-space-gap-1)); }   /* D1 / D1b: the helper or the error box → the button 32 (22 + the form's 10) */
}

/* ─── 1a + 2g-1, the phone hero (CD 28 Sep 2026; design-rules "Mobile hero — 1a and 2g-1") ───────────────────────
   The icon mark (195 × 102) opens both heroes: 20 above it, 16 below (2 + the stack's 14). The lede 16 / 1.5. The hint
   row is one component: a 32 row, pulled 10 up under the card and 6 over the button, in the caption grey; its (i) 12
   with an 8 letter. The caption under the button: 10 · 500 · .12em, caption grey. */
@media (max-width: 699px) {
  .cap-shell .cap-calc--hero { padding-top: var(--cap-space-block-4); }
  .cap-shell .cap-calc__icon { margin-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-calc__intro { font-size: var(--cap-type-hook); line-height: var(--cap-leading-lede); text-wrap: pretty; }
  .cap-shell .cap-calc__minute { padding-block: calc((var(--cap-mp-calc-hint-h) - var(--cap-mp-leading-calc-minute)) / 2); margin: calc(-1 * var(--cap-space-gap-5)) 0 var(--cap-space-gap-3); color: var(--cap-color-caption); }   /* the line sits the same distance under the form as "Free · right now" under the button, OPEN OR CLOSED (owner 2026-09-29): fixed padding, not a centred min-height — a centred line rose to the top of the row when the tip wrapped under it */
  .cap-shell .cap-calc__minute:has(.cap-calc__pop:not([hidden])) { padding-bottom: 0; }   /* open: the card's own gap to the button, as before */
  .cap-shell .cap-calc__i { font-size: var(--cap-mp-type-calc-i); }
  .cap-shell .cap-calc__caption { font-weight: 500; letter-spacing: var(--cap-track-feature); line-height: var(--cap-leading-tight); color: var(--cap-color-caption); }
  .cap-shell .cap-calc__minute { column-gap: var(--cap-mp-calc-hint-gap); }
  .cap-shell .cap-calc__minute-label, .cap-shell .cap-calc__minute-btn { gap: var(--cap-space-xs); }
  .cap-shell .cap-calc--landing .cap-calc__hero { margin-bottom: var(--cap-space-md); }   /* 2g-1: the hero → the card 16 (the form's own section opens at 16) */
  .cap-shell .cap-calc--landing .cap-calc__intro { font-weight: 400; }
  .cap-shell .cap-calc .cap-parts .cap-birth__ampm { gap: var(--cap-mp-calc-hint-gap); }   /* AM · PM 5 apart (the sheets' 1a / 2g-1 cells); the gap after the minutes is the touch rule in components.css (round 20 — 8 left the minute's tap area 39 wide) */
}

/* ─── 2g-2 / 2g-3 / 1s, the results on the phone (CD 28 Sep 2026; D5b / D1c / the tablet unchanged) ─────────────────
   Head: lede 16 · 400. Cast for: date · time, then the place on its own line. Legend in the caption grey. Big Three: sign
   16, degree 400 · 14 in text-secondary, the house on its own grey line (500 · 11 · .12em, −2). Positions: head 13 · 0, glyph
   15, "in" in capitals in the caption grey, degree + house caption grey. Then "Go deeper" (30) over the band (12) — the
   report's cover in place of the icon — and the poster card (24): photo 2:1, centred copy, the ink button at its price. */
.cap-shell .cap-results__deeper-h, .cap-shell .cap-results__poster-m-wrap, .cap-shell .cap-results__band-cover, .cap-shell .cap-results__poster-m-row { display: none; }
@media (max-width: 699px) {
  .cap-shell .cap-results__lede { font-size: var(--cap-type-hook); font-weight: 400; line-height: var(--cap-leading-lede); }
  .cap-shell .cap-results__cast-line { display: flex; flex-direction: column; gap: var(--cap-space-xs); }
  .cap-shell .cap-results__cast-sep { display: none; }
  .cap-shell .cap-results__cast-h { letter-spacing: var(--cap-track-feature); }
  .cap-shell .cap-results__legend { color: var(--cap-color-caption); }
  .cap-shell .cap-results__legend li { gap: var(--cap-space-gap-3); }
  .cap-shell .cap-results__b3-sign { font-size: var(--cap-mp-type-b3-sign); }
  .cap-shell .cap-results__b3-mark { font-size: var(--cap-mp-type-b3-sign); letter-spacing: var(--cap-track-feature); }
  .cap-shell .cap-results__b3-deg { color: var(--cap-color-text-secondary); letter-spacing: var(--cap-track-data); }
  .cap-shell .cap-results__b3-house { display: block; margin-top: calc(-1 * var(--cap-space-gap-1)); font-weight: 500; font-size: var(--cap-type-eyebrow-card); letter-spacing: var(--cap-track-feature); text-transform: uppercase; color: var(--cap-color-caption); }
  .cap-shell .cap-results__b3-hsep { display: none; }
  .cap-shell .cap-results__b3-house { margin-top: var(--cap-space-gap-1); line-height: var(--cap-leading-tight); }   /* the cell's 4 less the sheet's −2 (the house sits inside the degree) */
  .cap-shell .cap-results__b3-deg { display: flex; flex-direction: column; align-items: center; line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__b3-label { line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__cast-h, .cap-shell .cap-results__cast-when, .cap-shell .cap-results__cast-where, .cap-shell .cap-results__words, .cap-shell .cap-results__legend { line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__swatch--retro { width: auto; }
  .cap-shell .cap-results__wheel { width: calc(100% + 2 * var(--cap-border-hairline)); margin-left: calc(-1 * var(--cap-border-hairline)); }   /* the sheet's 338 wheel, 1 past the column each side */
  .cap-shell .cap-results__b3-cell:nth-child(2) { padding-top: var(--cap-space-gap-3); padding-bottom: var(--cap-space-gap-3); }   /* the sheet's middle cell: 6 · 12 */
  .cap-shell .cap-pos__deg { letter-spacing: var(--cap-track-data); }
  .cap-shell .cap-results__more { line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__more-link { padding-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-results__band-h { font-family: var(--cap-font-display-sm); }
  .cap-shell .cap-capture__note { letter-spacing: var(--cap-track-feature); line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__band-full { display: flex; align-items: center; padding-top: 0; margin-top: var(--cap-space-gap-3); line-height: var(--cap-leading-tight); }   /* the 44 row centres its link, 6 above it (the sheet) */
  .cap-shell .cap-results__band-link { padding-bottom: 0; border-bottom: 0; }   /* the bar is the span's alone — the link's own bar made a second line (owner 2026-09-29) */
  .cap-shell .cap-capture__full-a { border-bottom: var(--cap-border-hairline) solid var(--cap-color-primary); padding-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-results__positions-head { padding: var(--cap-mp-pos-head-y) 0; line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__key-m { color: var(--cap-color-caption); }
  .cap-shell .cap-pos__glyph { font-size: var(--cap-mp-type-pos-glyph); }
  .cap-shell .cap-pos__glyph--ac { font-size: var(--cap-mp-type-pos-ac); }
  .cap-shell .cap-pos__in { text-transform: uppercase; color: var(--cap-color-caption); font-weight: 400; }
  .cap-shell .cap-pos__deg, .cap-shell .cap-pos__house { color: var(--cap-color-caption); }
  .cap-shell .cap-results__more { color: var(--cap-color-caption); }
  .cap-shell .cap-results__more .cap-caption { letter-spacing: var(--cap-track-feature); color: var(--cap-color-caption); }
  .cap-shell .cap-results__more-link { font-weight: 500; }

  .cap-shell .cap-results__deeper-h { display: block; margin-top: var(--cap-space-block-6); }
  .cap-shell .cap-results__deeper-h .cap-section { display: block; line-height: var(--cap-leading-tight); }
  .cap-shell .cap-results__bandwrap { margin-top: var(--cap-space-gap-6); }
  .cap-shell .cap-results__band-copy { padding: var(--cap-space-block-4); gap: var(--cap-space-gap-6); }
  .cap-shell .cap-results__band-icon { display: none; }
  .cap-shell .cap-results__band-cover { display: block; width: var(--cap-mp-nat-cover-w); height: var(--cap-mp-nat-cover-h); margin: var(--cap-space-gap-6) 0; background: var(--cap-color-bg); box-shadow: var(--cap-shadow-dark); overflow: hidden; }
  .cap-shell .cap-results__band-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }

  .cap-shell .cap-results__poster-m-wrap { display: block; margin-top: var(--cap-space-lg); }
  .cap-shell .cap-results__poster-m { display: flex; flex-direction: column; overflow: hidden; color: var(--cap-color-text); padding: 0; }
  .cap-shell .cap-results__poster-m-media { display: block; aspect-ratio: 2 / 1; background: var(--cap-color-bg-deep); }
  .cap-shell .cap-results__poster-m-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 35% 50%; }
  .cap-shell .cap-results__poster-m-body { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--cap-space-gap-5); padding: var(--cap-space-block-4); }
  .cap-shell .cap-results__poster-m-h { width: 100%; font-family: var(--cap-font-display-sm); font-weight: 800; font-size: var(--cap-type-card-headline); line-height: var(--cap-leading-serif-title); color: var(--cap-color-text); }
  .cap-shell .cap-results__poster-m-lede { width: 100%; font-size: var(--cap-type-lede); line-height: var(--cap-mp-leading-sub); color: var(--cap-color-text-secondary); font-weight: 400; }
  .cap-shell .cap-results__poster-m-btn { margin-top: var(--cap-space-gap-1); white-space: nowrap; }

  /* 2g-3, the band's state B: the confirmation panel on ink-raised with the halo edge, no eyebrow, the address in bold,
     the two actions as cream underlined links in the 10 caps line (.12em, 1.8); 6 above the quiet line */
  .cap-shell .cap-capture__b { gap: var(--cap-space-chip-gap); margin-top: var(--cap-space-gap-1); padding: var(--cap-space-md); background: var(--cap-color-ink-raised); border: var(--cap-border-hairline) solid var(--cap-color-line-halo); text-align: center; }
  .cap-shell .cap-capture__eyebrow { display: none; }
  .cap-shell .cap-capture__msg { font-style: normal; font-weight: 400; line-height: var(--cap-mp-leading-capture-msg); color: var(--cap-color-on-ink); }
  .cap-shell .cap-capture__msg strong { font-weight: 700; }
  .cap-shell .cap-capture__links { letter-spacing: var(--cap-track-feature); line-height: var(--cap-mp-leading-capture-links); }
  .cap-shell .cap-capture__links a { color: var(--cap-color-on-ink); border-bottom: var(--cap-border-hairline) solid var(--cap-color-primary); padding-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-capture__sep { padding: 0; }
}

/* ─── 1s, the preview-confirmed page on the phone (CD 28 Sep 2026; D1c unchanged) ────────────────────────────────────
   The copy at the 14 step (eyebrow · h1 · lede 400 · 1.5 · the resend line on its 12 caps line, .12em); the wheel 30 under
   it; the legend 24 / 16; the two "Ask" cards (wheel-strings `wait`, the fifth cell) at 14 padding, the icon 30 tall, 6 over
   the title. */
@media (max-width: 699px) {
  .cap-shell .cap-conf__copy { gap: var(--cap-space-hero-step); }
  .cap-shell .cap-conf__lede { font-weight: 400; line-height: var(--cap-leading-lede); }
  .cap-shell .cap-conf__again { letter-spacing: var(--cap-track-feature); line-height: var(--cap-leading-tight); }
  .cap-shell .cap-conf__again-link { letter-spacing: var(--cap-track-feature); padding-bottom: var(--cap-space-gap-1); }
  .cap-shell .cap-conf__canvas { margin-top: var(--cap-space-block-6); }
  .cap-shell .cap-conf__canvas .cap-conf__legend { margin: var(--cap-space-block-5) 0 var(--cap-space-md); }
  .cap-shell .cap-conf__card { padding: var(--cap-space-card-pad); gap: var(--cap-space-gap-3); border-color: var(--cap-color-line-strong); }   /* 29 Sep sheet: the strong hairline */
  .cap-shell .cap-conf__card-t { line-height: normal; }   /* 29 Sep sheet: the label on its face's own line (15, not 14.4) */
  .cap-shell .cap-conf__icon svg { width: auto; height: calc(var(--cap-mp-conf-icon-h-m) * 346.37 / 339.67); }
  .cap-shell .cap-conf__b3 { margin-top: 0; }   /* the legend's 16 + the Big Three's own 8 (it carried a second 8) */
  .cap-shell .cap-conf__wait-h { line-height: var(--cap-mp-leading-home-head); }   /* the section label on the sheet's 23 line (as 1a's) */
}

/* ═══ 700–1279 · THE TABLET SHEETS T6b (1024) / T6b-820 (1 Oct 2026), the results ══════════════════════════════════════════
   One column on D5b's components: the head (h1 52, the lede 19), "Cast for" with the place on its own line, the wheel at the
   desktop size with its legend (40 above, 32 under), the Big Three 3-up with every cell CENTRED, the positions as D5b's table;
   then the free-preview band and the poster card SIDE BY SIDE (24 apart): the band's two report pages on the raised ink over
   its copy, the field and the button stacked, the full-reading link on a 44 row under a hairline; the poster card's photo over
   its copy and the desktop row (the button, "FROM" + the amount). Questions close. */
@media (min-width: 700px) and (max-width: 1279px) {
  .cap-shell .cap-calc__results:has(.cap-results) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--cap-gutter); padding: 0 var(--cap-page-x-mid); }
  .cap-shell .cap-calc__results > * { grid-column: 1 / -1; padding-left: 0; padding-right: 0; }
  .cap-shell .cap-calc:has(.cap-results) { padding-top: var(--cap-space-band-close); }
  .cap-shell .cap-results__head { align-items: center; text-align: center; }   /* the eyebrow, headline and lede centred above "Cast for" (owner 2026-10-01; T6b sets them left) — the Cast for row unchanged */
  .cap-shell .cap-results__eyebrow::after { content: "\00a0\00a0✦"; }   /* centred: ✦ on both sides, like the other centred eyebrows (owner 2026-10-01) */
  .cap-shell .cap-results__eyebrow { margin-bottom: var(--cap-gutter); }
  .cap-shell .cap-results__title { max-width: 20ch; margin-bottom: var(--cap-gutter); }
  .cap-shell .cap-results__lede { font-size: var(--cap-type-lede-band); line-height: var(--cap-leading-small); max-width: none; }
  .cap-shell .cap-results { gap: 0; }
  .cap-shell .cap-results__cast { margin-top: var(--cap-space-lg); padding: var(--cap-space-gap-7) 0; }
  .cap-shell .cap-results__cast-items { gap: var(--cap-space-xs); }
  .cap-shell .cap-results__cast-h { font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); color: var(--cap-color-muted); line-height: normal; }
  .cap-shell .cap-results__cast-line { display: flex; flex-direction: column; font-size: var(--cap-type-card-title); line-height: var(--cap-leading-cast-mid); letter-spacing: var(--cap-track-faq); }
  .cap-shell .cap-results__cast-sep { display: none; }
  .cap-shell .cap-results__edit { font-size: var(--cap-type-hint-mid); line-height: normal; }
  .cap-shell .cap-results__canvas { padding: var(--cap-space-panel-pad) 0 var(--cap-space-lg); gap: 0; }
  .cap-shell .cap-results__wheel { max-width: var(--cap-results-wheel-mid); }
  .cap-shell .cap-results__lede { font-weight: 400; }
  .cap-shell .cap-results__legend { margin: var(--cap-gutter) 0 0; font-size: var(--cap-type-sm); line-height: normal; }
  .cap-shell .cap-results__b3 { margin: var(--cap-space-lg) 0 var(--cap-space-band-close); }
  .cap-shell .cap-results__b3-cell, .cap-shell .cap-results__b3-cell:first-child { align-items: center; text-align: center; padding: var(--cap-space-xs) var(--cap-gutter); gap: var(--cap-space-gap-3); }
  .cap-shell .cap-results__b3-label { margin-top: var(--cap-space-sm); line-height: normal; }
  .cap-shell .cap-results__b3-glyph { font-size: var(--cap-type-b3-glyph); }   /* T6b: the glyph 30, the AC mark 22 on the glyph's own 30 line */
  .cap-shell .cap-results__b3-mark { font-size: var(--cap-type-b3-mark); line-height: var(--cap-type-b3-glyph); }
  .cap-shell .cap-results__positions-head { line-height: normal; }
  .cap-shell .cap-results__positions-head > * { line-height: normal; }
  .cap-shell .cap-results__b3-sign, .cap-shell .cap-results__b3-deg { line-height: normal; }
  .cap-shell .cap-results__deeper-h { display: none; }
  .cap-shell .cap-results__bandwrap { grid-column: 1; margin-top: var(--cap-space-band-close); }
  .cap-shell .cap-results__poster-m-wrap { grid-column: 2; display: flex; margin-top: var(--cap-space-band-close); }
  .cap-shell .cap-results__band { display: flex; flex-direction: column; align-items: stretch; height: 100%; color: var(--cap-color-on-ink-heading); }
  .cap-shell .cap-results__band-pages { display: block; order: -1; flex: none; height: var(--cap-results-pages-h-mid); overflow: hidden; background: var(--cap-color-ink-raised); }
  .cap-shell .cap-results__band-sheet { width: var(--cap-results-page-w-mid); height: var(--cap-results-page-h-mid); box-shadow: var(--cap-shadow-dark); }
  .cap-shell .cap-results__band-sheet--back { left: calc(50% - 146px); top: 31px; transform: rotate(-6deg); }
  .cap-shell .cap-results__band-sheet--front { left: calc(50% - 21px); top: 49px; transform: rotate(5deg); }
  .cap-shell .cap-results__band-copy { flex: 1; align-items: stretch; padding: var(--cap-gutter); gap: var(--cap-space-md); }
  .cap-shell .cap-results__band-h { font-family: var(--cap-font-display-sm); font-size: var(--cap-type-card-h2); line-height: var(--cap-leading-tight); letter-spacing: var(--cap-track-tight); max-width: none; }
  .cap-shell .cap-results__band-lede { font-size: var(--cap-type-lede-band); line-height: var(--cap-leading-lede); color: var(--cap-color-on-ink-3); }
  .cap-shell .cap-capture__form, .cap-shell .cap-capture__b { max-width: none; margin-top: auto; padding-top: var(--cap-space-gap-3); }
  .cap-shell .cap-capture__row { flex-direction: column; align-items: stretch; }
  .cap-shell .cap-capture__btn { width: 100%; }
  .cap-shell .cap-capture__note { padding-left: 0; text-align: center; line-height: normal; }
  .cap-shell .cap-results__band .cap-results__band-full { justify-content: center; width: 100%; min-height: var(--cap-tap-min); margin-top: var(--cap-space-xs); padding-top: 0; align-items: center; border-top: var(--cap-border-hairline) solid var(--cap-color-line-on-ink); line-height: normal; }
  .cap-shell .cap-results__band-meta { display: none; }
  .cap-shell .cap-results__poster-m { display: flex; flex-direction: column; width: 100%; overflow: hidden; padding: 0; color: var(--cap-color-text); }
  .cap-shell .cap-results__poster-m-media { display: block; flex: 1; min-height: var(--cap-results-pages-h-mid); background: var(--cap-color-bg-deep); position: relative; }
  .cap-shell .cap-results__poster-m-media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 40% 45%; }
  .cap-shell .cap-results__poster-m-body { flex: none; display: flex; flex-direction: column; gap: var(--cap-space-md); padding: var(--cap-space-block-4) var(--cap-gutter) var(--cap-gutter); }
  .cap-shell .cap-results__poster-m-body > .cap-eyebrow--stars::after { content: none; }
  .cap-shell .cap-results__poster-m-h { font-family: var(--cap-font-display-sm); font-weight: 800; font-size: var(--cap-type-card-h2); line-height: var(--cap-leading-tight); letter-spacing: var(--cap-track-tight); }
  .cap-shell .cap-results__poster-m-lede { font-size: var(--cap-type-lede-band); line-height: var(--cap-leading-lede); color: var(--cap-color-text-secondary); font-weight: 400; }
  .cap-shell .cap-results__poster-m-btn { display: none; }
  .cap-shell .cap-results__poster-m-row { display: flex; align-items: center; justify-content: space-between; gap: var(--cap-space-gap-6); margin-top: var(--cap-space-gap-3); }
  .cap-shell .cap-results__poster-m-row .cap-results__poster-price { display: flex; align-items: baseline; gap: var(--cap-space-sm); font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); text-transform: uppercase; color: var(--cap-color-caption); white-space: nowrap; }
  .cap-shell .cap-results__poster-m-row .cap-results__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); }
  @media (hover: hover) { .cap-shell .cap-results__poster-m:hover .cap-btn { background: var(--cap-color-primary); color: var(--cap-color-bg); } }
  .cap-shell .cap-nat:has(.cap-results) .cap-nat__deeper-wrap { display: none; }
  .cap-shell .cap-nat:has(.cap-results) .cap-nat__faq { margin: var(--cap-space-band-close) 0 0; max-width: none; }
  /* the positions: D5b's table with Body and Sign in their own columns (44 · .87fr · 1fr · 130 · 70), cells 11 · 14 */
  .cap-shell .cap-results__positions-head { margin-bottom: var(--cap-space-block-4); }
  .cap-shell .cap-pos__row { grid-template-columns: var(--cap-pos-glyph-col) minmax(0, .87fr) minmax(0, 1fr) var(--cap-pos-deg-col) var(--cap-pos-house-col); }
  .cap-shell .cap-pos__row > span, .cap-shell .cap-pos__name > span { padding: var(--cap-pos-cell-y) var(--cap-space-gap-7); line-height: normal; }
  .cap-shell .cap-pos__name { display: contents; }
  .cap-shell .cap-pos__in { display: none; }
  .cap-shell .cap-pos__row--head .cap-pos__sign { display: block; }
  .cap-shell .cap-pos__row--head > span { color: var(--cap-color-muted); }
  .cap-shell .cap-pos__glyph { line-height: 1; }
  .cap-shell .cap-pos__body, .cap-shell .cap-pos__row .cap-pos__sign { font-family: var(--cap-font-ui); font-weight: 500; font-size: var(--cap-type-card-title); letter-spacing: var(--cap-track-faq); text-transform: uppercase; white-space: nowrap; }
  .cap-shell .cap-pos__row .cap-pos__sign { color: var(--cap-color-text-secondary); }
  .cap-shell .cap-pos__row--head .cap-pos__body, .cap-shell .cap-pos__row--head .cap-pos__sign { font-size: var(--cap-type-sm); letter-spacing: var(--cap-track-meta); color: var(--cap-color-muted); }
  .cap-shell .cap-pos__deg, .cap-shell .cap-pos__house { font-size: var(--cap-type-data); letter-spacing: var(--cap-track-data); color: var(--cap-color-caption); }
  .cap-shell .cap-pos__glyph { font-size: var(--cap-type-section); }
  .cap-shell .cap-pos__glyph--ac { font-size: var(--cap-type-data); letter-spacing: var(--cap-track-card-title); }
}
@media (min-width: 1024px) and (max-width: 1279px) { .cap-shell .cap-results__band .cap-capture__note { white-space: nowrap; } }   /* T6b: one line at 1024; 820 breaks after "No account," */

/* 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. */
.cap-shell .cap-conf__wait { padding-bottom: var(--cap-space-footer-gap); }

/* A 320 PHONE (owner ruling 2026-10-05, round 31): below 360 the helper line broke in two — the "·" ended the first line and the
   ⓘ's tap area and the link's sat 16 apart — so "Not sure?" goes and the line stays one: "Why the minute matters ⓘ · Find your
   birth time" (241 of its 256). The same move as the checkout header's "Secure checkout" lead at 320 (2026-09-26). */
@media (max-width: 359px) {
  .cap-shell .cap-calc__minute-lead { display: none; }
  /* …which brings the ⓘ next to the link: its 44 tap band reaches LEFT, over its own words (they pass a tap to it — the press
     rule), never right over the link's */
  .cap-shell .cap-calc__minute .cap-calc__minute-label .cap-calc__minute-btn::after { left: auto; right: 0; transform: translateY(-50%); }   /* four classes: the shared 44-band list carries a three-class selector */
}

/* THE BEGINNER GUIDE under the wheel's key (owner 2026-10-18): the key's own space below it moves under the link, so the
   poster card (desktop) and the Big Three (phones) keep their distance. */
.cap-shell .cap-results__legend:has(+ .cap-results__guide) { margin-bottom: 0; }
.cap-shell .cap-results__guide { margin: var(--cap-space-sm) 0 0; text-align: center; }
@media (max-width: 699px) { .cap-shell .cap-results__guide { margin: var(--cap-space-md) 0; } }
@media (min-width: 1280px) { .cap-shell .cap-results__guide { margin: 0 0 calc(var(--cap-space-xl) + var(--cap-space-md)); } }
