/* LedgeX 2.0 layer. Loads AFTER style.css and changes nothing in it.
   Same tokens, same fonts, same solid = known / dashed = not known drawing language.
   What it adds: one site header with a Research menu, a research rail on the homepage,
   two research desks (Your Lot, The Bigger Picture), a reading path, "keep reading" endings,
   an email signup and a sitemap footer.
   Radius rule (whole site): 0 for drawn objects (files, cards, plats), 4px for buttons and inputs only. */

:root {
  --desk-lot: #E9C84A;        /* Your Lot desk = the zoning yellow already used for the accent */
  --desk-big: #18282E;        /* The Bigger Picture desk = ink */
  --sheet-2: #FAFBFA;
  --shadow-y: 6px 6px 0 var(--zoning);
  --header-h: 68px;
}

/* ---------- Header ---------- */
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--paper); }
.gh { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--paper); border-bottom: 1px solid transparent; transition: border-color .2s; }
.gh.scrolled { border-bottom-color: var(--rule); }
.gh .wrap { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lockup { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.lockup .wordmark { font-weight: 800; font-size: 1.25rem; letter-spacing: -0.01em; }
.lockup .sub { font-family: var(--mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding-left: 12px; border-left: 1.5px solid var(--ink); line-height: 1.6; }
.gh-nav { display: flex; align-items: center; gap: 4px; }
.gh-nav > a:not(.button), .gh-nav > button { font: 600 0.95rem/1 var(--sans); color: var(--ink); background: none; border: 0; padding: 10px 12px; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.gh-nav > a:not(.button):hover, .gh-nav > button:hover { text-decoration: underline; text-underline-offset: 6px; }
.gh-nav [aria-current="page"], .gh-nav button.current { text-decoration: underline; text-decoration-color: var(--zoning); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.gh-nav > button svg { transition: transform .2s; }
.gh-nav > button[aria-expanded="true"] svg { transform: rotate(180deg); }
.gh-nav .button { margin-left: 10px; }
.gh-nav a:focus-visible, .gh-nav button:focus-visible, .menu-btn:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.menu-btn { display: none; font: 700 0.95rem var(--sans); color: var(--ink); background: var(--sheet); border: 1.5px solid var(--ink); border-radius: 4px; padding: 9px 14px; cursor: pointer; }

/* Research menu: the one place every page shows the whole research desk */
.rmenu { position: absolute; left: 0; right: 0; top: 100%; padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
.rmenu-panel { max-width: 1080px; margin: 0 auto; background: var(--sheet); border: 1px solid var(--ink); box-shadow: 8px 8px 0 var(--zoning); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.9fr); }
.rmenu-col { padding: 24px 24px 20px; min-width: 0; display: grid; gap: 12px; align-content: start; }
.rmenu-col + .rmenu-col { border-left: 1px solid var(--rule); }
.rmenu-col ul { list-style: none; display: grid; gap: 2px; }
.rmenu-col li a { display: block; padding: 8px 10px; margin-inline: -10px; text-decoration: none; transition: background .15s; }
.rmenu-col li a:hover, .rmenu-col li a:focus-visible { background: var(--zoning-wash); }
.rmenu-col li a:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.rmenu-col li b { display: block; font-weight: 700; font-size: 0.95rem; line-height: 1.3; }
.rmenu-col li span { display: block; font-size: 0.82rem; color: var(--ink-soft); margin-top: 2px; }
.rmenu-new { background: var(--sheet-2); }
.rmenu-new a.feature { display: grid; gap: 8px; text-decoration: none; padding: 4px 0; }
.rmenu-new .fig { font-weight: 800; font-size: 1.6rem; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; border-top: 2px solid var(--known); padding-top: 8px; }
.rmenu-new .figcap { font-size: 0.82rem; color: var(--ink-soft); }
.rmenu-new h3 { font-size: 1rem; line-height: 1.3; }
.rmenu-foot { grid-column: 1 / -1; border-top: 1px solid var(--rule); padding: 14px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font-weight: 700; font-size: 0.92rem; }
.rmenu-foot a { text-underline-offset: 4px; }
.rmenu[hidden] { display: none !important; }
.js .rmenu-panel { animation: drop .22s cubic-bezier(.16,1,.3,1); }
@keyframes drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Desk marks: a small filled square, the way a map legend keys a layer */
.desk { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.desk::before { content: ""; width: 10px; height: 10px; background: var(--desk-lot); border: 1.5px solid var(--ink); flex: none; }
.desk.is-big::before { background: var(--desk-big); }

/* Mobile sheet */
@media (max-width: 900px) {
  .gh-nav { display: none; }
  .menu-btn { display: inline-block; }
  .gh.open .gh-nav { display: grid; position: absolute; left: 0; right: 0; top: 100%; background: var(--paper); border-block: 1px solid var(--ink); padding: 12px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px)); gap: 0; max-height: calc(100dvh - var(--header-h)); overflow-y: auto; }
  .gh.open .gh-nav > a:not(.button), .gh.open .gh-nav > button { padding: 14px 0; border-bottom: 1px solid var(--rule); justify-content: space-between; font-size: 1.05rem; }
  .gh.open .gh-nav .button { margin: 16px 0 0; text-align: center; }
  .rmenu { position: static; padding: 0; }
  .rmenu-panel { grid-template-columns: 1fr; box-shadow: none; border: 0; background: transparent; }
  .rmenu-col { padding: 8px 0 12px; }
  .rmenu-col + .rmenu-col { border-left: 0; }
  .rmenu-new { display: none; }
  .rmenu-foot { padding: 12px 0 4px; }
  .js .rmenu-panel { animation: none; }
}
@media (max-width: 420px) { .lockup .sub { display: none; } }

/* ---------- Homepage ---------- */
.hero2 { padding-block: 40px 56px; }
.hero2 .eyebrow { display: block; margin-bottom: 18px; }
.hero2 h1 { max-width: 22ch; font-size: clamp(2.2rem, 4.1vw, 3.3rem); line-height: 1.06; }
.hero2 .hero-actions .text-link { font-weight: 700; }

/* Research rail: the newest work, right under the hero, on every visit */
.rail { border-block: 1px solid var(--ink); background: var(--sheet); }
.rail .wrap { padding-block: 28px 32px; }
.rail-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.rail-head h2 { font-size: 1.15rem; letter-spacing: -0.005em; max-width: none; }
.rail-head a { font-weight: 700; font-size: 0.95rem; text-underline-offset: 4px; white-space: nowrap; }
.rail-list { list-style: none; margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-left: 1px solid var(--rule); }
.rail-list li { border-right: 1px solid var(--rule); min-width: 0; display: flex; }
.rail-card { display: grid; grid-template-rows: auto auto 1fr auto; gap: 10px; padding: 4px 20px 6px; text-decoration: none; width: 100%; transition: background .15s; }
.rail-card:hover { background: var(--zoning-wash); }
.rail-card:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.rail-card .fig { font-weight: 800; font-size: 1.45rem; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; line-height: 1.15; }
.rail-card h3 { font-size: 1rem; line-height: 1.3; font-weight: 700; }
.rail-card .meta { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-soft); }
@media (max-width: 900px) {
  .rail-list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(250px, 76%); overflow-x: auto; scroll-snap-type: x mandatory; border-left: 0; padding-bottom: 6px; }
  .rail-list li { scroll-snap-align: start; border-right: 0; border-left: 1px solid var(--rule); }
  .rail-card { padding-inline: 16px; }
}

/* Questions: research answers in the same three statuses a Property File uses */
.ask { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 48px; margin-top: 40px; align-items: start; }
.ask-list { list-style: none; border-top: 2px solid var(--ink); }
.ask-list li { border-bottom: 1px solid var(--rule); }
.ask-q { width: 100%; text-align: left; background: none; border: 0; font: 700 1.12rem/1.35 var(--sans); color: var(--ink); padding: 18px 40px 18px 0; cursor: pointer; position: relative; }
.ask-q::after { content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: translateY(-50%) rotate(45deg); transition: transform .2s; }
.ask-q[aria-selected="true"] { box-shadow: inset 4px 0 0 var(--zoning); padding-left: 16px; }
.ask-q[aria-selected="true"]::after { transform: translate(4px, -50%) rotate(45deg); }
.ask-q:hover { text-decoration: underline; text-underline-offset: 5px; }
.ask-q:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.ask-panel { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--header-h) + 24px); background: var(--sheet); border: 1px solid var(--ink); box-shadow: 8px 8px 0 var(--zoning); }
.ask-ans { padding: 26px 28px; display: grid; gap: 14px; }
.ask-ans .status { justify-self: start; }
.ask-ans p.short { font-size: 1.3rem; line-height: 1.35; font-weight: 700; letter-spacing: -0.01em; }
.ask-ans .cite { font-family: var(--mono); font-size: 0.76rem; color: var(--ink-soft); }
.ask-ans .go { font-weight: 700; text-underline-offset: 4px; }
.ask-foot { border-top: 1px solid var(--rule); padding: 16px 28px; font-size: 0.92rem; color: var(--ink-soft); background: var(--sheet-2); }
.ask-foot a { color: var(--ink); font-weight: 700; text-underline-offset: 4px; }
@media (max-width: 860px) { .ask { grid-template-columns: 1fr; gap: 20px; } .ask-panel { position: static; } .ask-ans, .ask-foot { padding-inline: 18px; } }

/* The Bigger Picture: one lead story, two side stories */
.big { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0; border: 1px solid var(--ink); background: var(--sheet); }
.big a { text-decoration: none; display: grid; gap: 10px; align-content: start; padding: 26px 28px; transition: background .15s; min-width: 0; }
.big a:hover { background: var(--sheet-2); }
.big a:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.big .lead-story { border-right: 1px solid var(--ink); }
.big .lead-story .fig { font-size: clamp(3rem, 7vw, 4.5rem); }
.big .side { display: grid; }
.big .side a + a { border-top: 1px solid var(--rule); }
.big .fig { font-weight: 800; font-size: 2rem; letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.big .figcap { font-size: 0.86rem; color: var(--ink-soft); max-width: 44ch; }
.big h3 { font-size: 1.15rem; line-height: 1.3; }
.big .lead-story h3 { font-size: clamp(1.3rem, 2.4vw, 1.6rem); }
.big .meta { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-soft); }
@media (max-width: 820px) { .big { grid-template-columns: 1fr; } .big .lead-story { border-right: 0; border-bottom: 1px solid var(--ink); } .big a { padding: 22px 18px; } }

/* Coverage + email signup */
.split2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
@media (max-width: 820px) { .split2 { grid-template-columns: 1fr; gap: 40px; } }
.signup { background: var(--sheet); border: 1px solid var(--ink); padding: 26px 28px; display: grid; gap: 14px; }
.signup h2, .signup h3 { font-size: 1.35rem; line-height: 1.25; max-width: none; }
.signup p { color: var(--ink-soft); font-size: 0.97rem; }
.signup form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.signup label { grid-column: 1 / -1; font-weight: 600; font-size: 0.92rem; }
.signup input { font: inherit; padding: 12px 12px; border: 1.5px solid var(--ink-soft); border-radius: 4px; background: var(--sheet); color: var(--ink); min-width: 0; width: 100%; }
.signup input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.signup button { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.signup button:active, .button:active { transform: scale(0.98); }
.signup .msg { grid-column: 1 / -1; font-size: 0.88rem; min-height: 1.4em; }
.signup .msg.err { color: #9B2C1F; }
.signup .msg.ok { color: var(--known); }
@media (max-width: 420px) { .signup { padding: 22px 18px; } .signup form { grid-template-columns: 1fr; } .signup button { justify-self: start; } }
.signup.band { border-inline: 0; padding-inline: 0; background: transparent; }

/* ---------- Footer sitemap ---------- */
.gf { border-top: 1px solid var(--ink); background: var(--sheet); margin-top: 0; }
.gf .wrap { padding-block: 48px 40px; }
.gf-cols { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 32px; }
.gf-cols h2 { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); max-width: none; }
.gf-cols ul { list-style: none; margin-top: 12px; display: grid; gap: 8px; font-size: 0.95rem; }
.gf-cols a { text-decoration: none; }
.gf-cols a:hover { text-decoration: underline; text-underline-offset: 4px; }
.gf-brand p { margin-top: 10px; color: var(--ink-soft); font-size: 0.95rem; max-width: 34ch; }
.gf-brand .wordmark { font-weight: 800; font-size: 1.25rem; }
.gf-base { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 0.88rem; color: var(--ink-soft); display: grid; gap: 10px; }
.gf-base .disclaimer { color: var(--ink); font-weight: 600; max-width: 70ch; }
.gf-base .legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.gf-base .legal a { color: inherit; }
@media (max-width: 820px) { .gf-cols { grid-template-columns: 1fr 1fr; } .gf-brand { grid-column: 1 / -1; } }
@media (max-width: 420px) { .gf-cols { grid-template-columns: 1fr; } }

/* ---------- Research hub ---------- */
.mast { padding-block: 40px 8px; }
.mast h1 { font-size: clamp(2.4rem, 5.4vw, 4rem); line-height: 1.04; font-weight: 800; letter-spacing: -0.025em; }
.mast .dek { margin-top: 14px; max-width: 58ch; font-size: 1.15rem; color: var(--ink-soft); }
.desk-switch { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.desk-switch .seg button { padding: 9px 14px; font-size: 0.9rem; }
.desk-switch .count { font-family: var(--mono); font-size: 0.78rem; color: var(--ink-soft); }
.lead-wrap { padding-block: 32px 8px; }
.lead-wrap .insight-card { margin-top: 0; box-shadow: 8px 8px 0 var(--zoning); }
.lead-wrap .insight-card h3 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.desk-sec { padding-block: 64px; }
.desk-sec + .desk-sec { border-top: 1px solid var(--rule); }
.desk-head { display: grid; gap: 10px; }
.desk-head h2 { max-width: none; }
.desk-head p { color: var(--ink-soft); max-width: 60ch; }
[data-desk-hide] { display: none !important; }

/* Reading path: a real sequence, so it is numbered */
.path { list-style: none; margin-top: 32px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: p; position: relative; }
.path li { counter-increment: p; min-width: 0; display: flex; }
.path a { position: relative; display: grid; gap: 10px; align-content: start; padding: 0 22px 8px 0; text-decoration: none; width: 100%; }
.path a::before { content: counter(p); display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--ink); background: var(--sheet); font: 600 0.9rem var(--mono); position: relative; z-index: 1; }
.path li:not(:last-child) a::after { content: ""; position: absolute; left: 34px; right: 0; top: 16px; border-top: 2px solid var(--ink); }
.path a:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.path a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.path a:hover::before { background: var(--zoning); }
.path h3 { font-size: 1.05rem; line-height: 1.3; }
.path p { font-size: 0.9rem; color: var(--ink-soft); }
.path .meta { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-soft); }
@media (max-width: 860px) {
  .path { grid-template-columns: 1fr; gap: 0; }
  .path a { grid-template-columns: 34px minmax(0, 1fr); column-gap: 16px; padding: 0 0 26px; }
  .path a > * { grid-column: 2; }
  .path a::before { grid-column: 1; grid-row: 1 / span 3; }
  .path li:not(:last-child) a::after { left: 16px; right: auto; top: 34px; bottom: 0; border-top: 0; border-left: 2px solid var(--ink); }
}

/* Investigations list: figure left, story right */
.inv { list-style: none; margin-top: 32px; border-top: 2px solid var(--ink); }
.inv li { border-bottom: 1px solid var(--rule); }
.inv a { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 8px 32px; padding: 26px 0; text-decoration: none; align-items: start; }
.inv a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.inv a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.inv .fig { font-weight: 800; font-size: 2.2rem; letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.inv .figcap { font-size: 0.84rem; color: var(--ink-soft); margin-top: 8px; }
.inv h3 { font-size: clamp(1.2rem, 2.2vw, 1.45rem); line-height: 1.25; }
.inv p { color: var(--ink-soft); margin-top: 8px; max-width: 62ch; }
.inv .meta { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-soft); margin-top: 10px; display: block; }
@media (max-width: 720px) { .inv a { grid-template-columns: 1fr; } }

/* Grid of guides (Your Lot desk, beyond the reading path) */
.bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 40px; align-items: center; padding: 28px; border: 2px dashed var(--unknown); background: var(--sheet); }
.bridge h2 { font-size: 1.35rem; max-width: 36ch; }
.bridge p { color: var(--ink-soft); margin-top: 8px; max-width: 60ch; }
@media (max-width: 720px) { .bridge { grid-template-columns: 1fr; padding: 22px 18px; } }

/* ---------- Article ---------- */
.article-head .desk { margin-top: 18px; }
.article-head .crumbs + .desk { display: flex; }
.toc-next { margin-top: 28px; border-top: 2px solid var(--ink); padding-top: 12px; display: grid; gap: 8px; }
.toc-next .lbl { font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); }
.toc-next a { font-weight: 700; font-size: 0.92rem; line-height: 1.35; text-underline-offset: 4px; }
.related { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; padding: 16px 18px; border-left: 4px solid var(--zoning); background: var(--sheet); text-decoration: none; }
.related .lbl { grid-column: 1 / -1; font-family: var(--mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); }
.related b { grid-column: 1 / -1; font-size: 1.02rem; }
.related:hover b { text-decoration: underline; text-underline-offset: 4px; }
.article-body a.related { text-decoration: none; }
.proto-note { padding: 18px 20px; border: 2px dashed var(--unknown); background: var(--sheet); color: var(--ink-soft); font-size: 0.92rem; }
.proto-note b { color: var(--ink); }

.keep { border-top: 1px solid var(--ink); background: var(--sheet); }
.keep .wrap { padding-block: 56px 64px; }
.keep h2 { max-width: none; }
.keep-grid { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.next-card { display: grid; gap: 14px; padding: 28px; border: 1px solid var(--ink); box-shadow: 8px 8px 0 var(--zoning); background: var(--paper); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.next-card:hover { transform: translate(-3px,-3px); box-shadow: 11px 11px 0 var(--zoning); }
.next-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.next-card .lbl { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.next-card h3 { font-size: clamp(1.4rem, 2.8vw, 1.9rem); line-height: 1.15; letter-spacing: -0.015em; }
.next-card p { color: var(--ink-soft); }
.next-card .go { font-weight: 700; }
.next-card .go span { display: inline-block; transition: transform .2s; }
.next-card:hover .go span { transform: translateX(5px); }
.more { list-style: none; border-top: 2px solid var(--ink); }
.more li { border-bottom: 1px solid var(--rule); }
.more a { display: grid; gap: 6px; padding: 16px 0; text-decoration: none; }
.more a:hover b { text-decoration: underline; text-underline-offset: 4px; }
.more a:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.more b { font-size: 1rem; line-height: 1.3; }
.more .meta { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-soft); }
.keep-low { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.soft-bridge { padding: 26px 28px; border: 2px dashed var(--unknown); display: grid; gap: 12px; align-content: start; background: var(--paper); }
.soft-bridge h3 { font-size: 1.2rem; line-height: 1.3; }
.soft-bridge p { color: var(--ink-soft); font-size: 0.97rem; }
.soft-bridge a { font-weight: 700; text-underline-offset: 4px; }
@media (max-width: 820px) { .keep-grid, .keep-low { grid-template-columns: 1fr; } .next-card, .soft-bridge { padding: 22px 18px; } }

/* San José guide: quick answers carry a status, like a Property File line */
.qa { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; border-top: 2px solid var(--ink); }
.qa li { padding: 18px 20px 18px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 8px; align-content: start; min-width: 0; }
.qa li:nth-child(odd) { padding-right: 24px; border-right: 1px solid var(--rule); }
.qa li:nth-child(even) { padding-left: 24px; }
.qa .q { font-weight: 800; font-size: 1.02rem; }
.qa .status { justify-self: start; font-size: 0.76rem; }
.qa p { font-size: 0.95rem; }
@media (max-width: 720px) { .qa { grid-template-columns: 1fr; } .qa li, .qa li:nth-child(odd), .qa li:nth-child(even) { padding: 16px 0; border-right: 0; } }
.mini-file { border: 1px solid var(--ink); background: var(--sheet); box-shadow: 8px 8px 0 var(--zoning); }
.mini-file .file-row { grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1.4fr); padding: 12px 20px; }
.mini-file .file-head { padding: 16px 20px; }
.mini-file .file-head h3 { font-size: 1.05rem; }
@media (max-width: 720px) { .mini-file .file-row { grid-template-columns: 1fr; } }

/* Motion: everything is visible without JS. Reduced motion turns it all off. */
@media (prefers-reduced-motion: reduce) {
  .gh, .ask-q::after, .next-card, .next-card .go span, .rail-card, .big a { transition: none; }
  .js .rmenu-panel { animation: none; }
}

/* hidden must win over component display rules */
.ask-ans[hidden], .rmenu[hidden] { display: none !important; }
.lockup .sub { text-decoration: none; }
.lockup .sub:hover { text-decoration: underline; text-underline-offset: 4px; }
[id] { scroll-margin-top: calc(var(--header-h) + 16px); }

/* Email signup stays off until Kit's form action is wired in (build/site_v2.py SIGNUP_ACTION): one flag hides every block and link. */
body[data-signup="off"] .signup, body[data-signup="off"] [data-signup-link] { display: none !important; }
