/* policy-cards — the row-49 policy-page template (Carlos approved 2026-09-20). Its markup renders on the
   /policies/ pages whose body is SECTION N blocks; the sheet is enqueued unconditionally like every parent sheet
   (the css guard's rule) — 1.6 KB of inert rules on other routes. Type and colors from the theme's own variables. */
/* `.page-width` is the gutter (`0 var(--page-width-padding)` in the harvest); the shorthand kept only the vertical
   values and zeroed it — under 1100 px the header and the grid ran to the viewport edge. */
.gv-policy-cards{padding:32px var(--page-width-padding,40px) 64px}
/* Under the page hero (the hero carries the H1): the harvest's `.gv-page-hero-wrap{margin-bottom:30px}` is dead — the
   later `.page-width{margin:0 auto}` at the same specificity zeroes it on every store — so the room between the card
   and the section count is set here. Carlos 2026-09-20: "has to breathe" — 24 px desktop, 16 px on phones. */
.gv-policy-cards--under-hero{padding-top:24px}
@media (max-width:768px){.gv-policy-cards--under-hero{padding-top:16px}}
.gv-policy-cards--under-hero .gv-policy-cards__header{margin-bottom:20px}
.gv-policy-cards__header{max-width:1100px;margin:0 auto 28px}
.gv-policy-cards__title{margin:0 0 6px}
.gv-policy-cards__meta{margin:0;opacity:.6;font-size:.9em}
.gv-policy-cards__layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;max-width:1100px;margin:0 auto;align-items:start}
.gv-policy-cards__toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding:18px 20px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:rgba(0,0,0,.02)}
.gv-policy-cards__toc-title{margin:0 0 10px;font-size:.78em;letter-spacing:.08em;text-transform:uppercase;opacity:.6;cursor:pointer;list-style:none}
.gv-policy-cards__toc-title::-webkit-details-marker{display:none}
@media (min-width:901px){.gv-policy-cards__toc-details>summary{pointer-events:none}}
.gv-policy-cards__toc ol{margin:0;padding:0 0 0 1.2em;font-size:.9em;line-height:1.45}
.gv-policy-cards__toc li{margin:0 0 8px}
.gv-policy-cards__toc a{text-decoration:none}
.gv-policy-cards__toc a:hover{text-decoration:underline}
.gv-policy-cards__preamble{margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid rgba(0,0,0,.08)}
.gv-policy-card{scroll-margin-top:96px;margin:0 0 20px;padding:24px 28px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}
.gv-policy-card__title{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;font-size:1.15em;line-height:1.3}
.gv-policy-card__number{flex:0 0 auto;margin-right:14px;min-width:2.1em;height:2.1em;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--gv-accent,var(--color-button-primary,#111));color:var(--gv-accent-ink,#ffffff);font-size:.8em;font-weight:700} /* the number badge is a FILLED brand element: the 076 tokens (Wulf white on red 4.73:1; #111 on the orange, blue and green — white was 2.2–2.4:1) */
.gv-policy-card p{margin:0 0 12px}
.gv-policy-card p:last-child{margin-bottom:0}
.gv-policy-cards__contact{scroll-margin-top:96px;margin:32px 0 0;padding:24px 28px;border-radius:12px;background:var(--gv-accent,var(--color-button-primary,#111));color:var(--gv-accent-ink,#ffffff)} /* the same filled-element tokens as the badge; dormant today (no staging policy ends in a contact line) */
.gv-policy-cards__contact a{color:inherit}
@media (max-width:900px){.gv-policy-cards__layout{grid-template-columns:1fr;gap:24px}.gv-policy-cards__toc{position:static;max-height:none;padding:14px 16px}.gv-policy-cards__toc-title{margin:0}.gv-policy-cards__toc-details[open]>.gv-policy-cards__toc-title{margin-bottom:10px}.gv-policy-card{padding:18px 18px}}
.gv-policy-cards__body{min-width:0}
