/* Hylē v4 · legal-states · Round 2 — Document composition (terms, privacy, refund).
   System: .page-head, .l-doc, .doc-toc, .doc-sec, .doc-text, .doc-note (layouts.css). This file adds only what those pages need. */

/* Provider and retention tables use the existing document type scale. */
.lgd-data { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--fs-desc); line-height: 1.6; color: var(--ink); }
.lgd-data caption { text-align: left; font-weight: 600; padding-bottom: 12px; }
.lgd-data th, .lgd-data td { padding: 14px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline); overflow-wrap: anywhere; }
.lgd-data th { background: var(--raised); font-weight: 600; }
.lgd .doc-sec { grid-template-columns: minmax(0, 1fr); }
.lgd .doc-text, .lgd .doc-body { min-width: 0; }
.lgd-status-meta dd { overflow-wrap: anywhere; }
.lgd-status-meta dd a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
@media (max-width: 640px) {
  .lgd-data, .lgd-data tbody, .lgd-data tr, .lgd-data td { display: block; width: 100%; }
  .lgd-data thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .lgd-data tr { padding: 8px 0; border-bottom: 1px solid var(--hairline); }
  .lgd-data td { padding: 8px 0; border: 0; }
  .lgd-data td::before { content: attr(data-label); display: block; font-weight: 600; color: var(--ink-2); margin-bottom: 4px; }
  .lgd-status-meta > div { flex-wrap: wrap; }
}

/* ---------- Header ---------- */
.lgd-head { padding-top: calc(var(--nav-h) + clamp(18px, 3.5vh, 36px)); padding-bottom: 28px; }
.lgd-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.lgd-top .lgd-tabs { margin-bottom: 0; }
.lgd-tabs { display: flex; align-items: center; gap: 0; margin: 0 0 6px -12px; font-size: var(--fs-ui); }
.lgd-tabs-label { margin: 0 6px 0 12px; color: var(--ink-3); }
.lgd-tabs a { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; font-weight: 500; color: var(--ink-2); transition: color var(--d-2); }
.lgd-tabs a::before { content: ""; position: absolute; inset: 7px 0; border-radius: var(--r-pill); background: transparent; transition: background var(--d-2); }
.lgd-tabs a > span { position: relative; }
.lgd-tabs a:hover { color: var(--ink); }
.lgd-tabs a:hover::before { background: rgba(20,20,19,.05); }
.lgd-tabs a[aria-current="page"] { color: #fff; }
.lgd-tabs a[aria-current="page"]::before { background: var(--ink); }
.lgd-head .page-head-in { align-items: end; }
.lgd-head .t-title { max-width: 22ch; }
.lgd-head .page-sub { max-width: 58ch; margin-top: 14px; }
.lgd-head .page-meta { margin-top: 18px; gap: 4px 28px; font-size: var(--fs-small); }
.lgd-head .page-meta dt { color: var(--ink-3); }
.lgd-actions { padding: 0; }
.lgd-pending { margin-top: 26px; max-width: 74ch; padding: 12px 16px; font-size: var(--fs-desc); line-height: 1.55; }
.lgd-pending p { margin: 0; }
.lgd-pending strong { color: var(--ink); }

/* Reading progress: the field line grows along the bottom edge of the nav. */
.lgd .pnav::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--brand-gradient); transform-origin: 0 50%; transform: scaleX(var(--read, 0)); opacity: var(--read-o, 0); pointer-events: none; }

/* ---------- Table of contents ---------- */
.lgd .l-doc { padding-top: clamp(28px, 5vh, 48px); }
.lgd .doc-toc-label { margin-bottom: 8px; }
.lgd .doc-toc details > summary { display: none; }
.lgd .doc-toc a { padding-block: 8px; font-size: var(--fs-desc); }
.lgd .doc-toc a .t-mono { padding-top: 1px; }
.lgd-sum { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; }
.lgd-sum svg { width: 18px; height: 18px; color: var(--ink-2); }
.lgd-count { margin: 0 10px 0 auto; font-size: var(--fs-small); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.lgd .doc-toc summary { gap: 6px; }
.lgd .doc-toc summary > svg { width: 18px; height: 18px; color: var(--ink-3); transition: transform var(--d-3) var(--ease-out); flex: none; }
.lgd .doc-toc details[open] summary > svg { transform: rotate(180deg); }

/* ---------- Sections ---------- */
.lgd .doc-sec { scroll-margin-top: calc(var(--nav-h) + 24px); padding: 40px 0; }
.lgd .doc-sec:first-child { padding-top: 0; }
.lgd .doc-text { gap: 16px; }
.lgd .doc-text > p { max-width: 62ch; font-size: var(--fs-lead); line-height: 1.68; letter-spacing: -.008em; color: var(--ink); text-wrap: pretty; }
.lgd .doc-text h2 { align-items: baseline; margin-bottom: 2px; }
.lgd .doc-text h2 .t-mono { min-width: 22px; }
.lgd .tx { color: var(--accent-ink); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(15,99,184,.3); text-underline-offset: 3px; transition: text-decoration-color var(--d-2); }
.lgd .tx:hover { text-decoration-color: currentColor; }
.lgd .doc-note p { margin: 0; }
.lgd-anchor { width: 28px; height: 28px; margin-left: 2px; display: inline-grid; place-items: center; align-self: center; border-radius: var(--r-sm); color: var(--ink-3); opacity: 0; transition: opacity var(--d-2), background var(--d-2), color var(--d-2); }
.lgd-anchor svg { width: 15px; height: 15px; }
.doc-text h2:hover .lgd-anchor, .lgd-anchor:focus-visible { opacity: 1; }
.lgd-anchor:hover { background: rgba(20,20,19,.06); color: var(--ink); }
.doc-sec.is-flash .doc-text h2 { animation: lgd-flash 1.6s var(--ease-out); }
@keyframes lgd-flash { 0% { background: var(--selection); box-shadow: 0 0 0 8px var(--selection); border-radius: 4px; } 100% { background: transparent; box-shadow: 0 0 0 8px transparent; } }

/* Service boundary (terms §1): a ruled line splits what customers run from what is not sold. */
.lgd-bound { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: 0 clamp(28px, 5vw, 64px); margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--hairline); }
.lgd-bound-col > p { margin-bottom: 14px; font-size: var(--fs-ui); font-weight: 600; color: var(--ink); }
.lgd-bound-col ul { display: flex; flex-direction: column; gap: 11px; }
.lgd-bound-col li { display: flex; align-items: flex-start; gap: 12px; font-size: var(--fs-body); line-height: 1.4; color: var(--ink); }
.lgd-bound-col li svg { width: 18px; height: 18px; margin-top: 2px; flex: none; }
.lgd-bound-col.is-in li svg { color: var(--success); }
.lgd-bound-col.is-out > p, .lgd-bound-col.is-out li { color: var(--ink-2); }
.lgd-bound-col.is-out li svg { color: var(--ink-3); }
.lgd-bound-line { position: relative; }
.lgd-bound-line i { position: absolute; inset: 0; background: var(--ink); transform-origin: 50% 0; transform: scaleY(var(--line, 1)); }

/* Privacy: one path (inputs → workspace → indices; never → training). */
.lgd-flow { position: relative; margin: 0; padding: 40px 0 44px; border-top: 1px solid var(--hairline); }
.lgd-flow:first-child { padding-top: 0; border-top: 0; }
.lgd-flow-cap { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.lgd-flow-cap b { font-size: var(--fs-heading); font-weight: 600; letter-spacing: -.012em; }
.lgd-flow-cap span { font-size: var(--fs-desc); color: var(--ink-2); }
.lgd-flow-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.25fr); column-gap: clamp(44px, 7.5vw, 104px); row-gap: 14px; align-items: center; margin-top: 28px; }
.lgd-n-in1 { grid-column: 1; grid-row: 1; } .lgd-n-in2 { grid-column: 1; grid-row: 2; }
.lgd-n-core { grid-column: 2; grid-row: 1 / span 2; }
.lgd-n-idx { grid-column: 3; grid-row: 1; } .lgd-n-no { grid-column: 3; grid-row: 2; }
.lgd-node { position: relative; z-index: 1; display: flex; align-items: center; align-self: stretch; gap: 12px; padding: 14px 16px; border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-1); }
.lgd-node > svg { width: 18px; height: 18px; flex: none; color: var(--ink-2); }
.lgd-node em { font-style: normal; }
.lgd-node > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lgd-node b { font-size: var(--fs-ui); font-weight: 600; line-height: 1.3; color: var(--ink); }
.lgd-node span { font-size: var(--fs-small); line-height: 1.45; color: var(--ink-2); }
.lgd-node .badge { align-self: flex-start; margin-top: 6px; height: 24px; }
.lgd-node .badge span { font-size: inherit; color: inherit; }
.lgd-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.lgd-chips .badge { margin-top: 0; background: var(--sunken); color: var(--ink-2); }
.lgd-n-core { padding: 22px 22px 24px; background: var(--brand-night); box-shadow: inset 0 0 0 1px var(--night-edge), 0 24px 48px -28px rgba(5,15,40,.6); }
.lgd-n-core > svg { color: #fff; width: 20px; height: 20px; }
.lgd-n-core b { color: #fff; font-size: var(--fs-body); }
.lgd-n-core span { color: var(--on-dark-2); }
.lgd-n-core .badge { height: auto; min-height: 24px; padding: 4px 8px; white-space: normal; line-height: 1.3; background: rgba(62,207,158,.16); color: #7ee2c2; }
.lgd-n-no { background: transparent; box-shadow: none; border: 1.5px dashed var(--danger-line); }
.lgd-n-no > svg, .lgd-n-no b { color: var(--danger); }
.lgd-flow-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.lgd-flow-svg path { fill: none; stroke: var(--ink-3); stroke-width: 2; stroke-linecap: round; }
.lgd-flow-svg path.is-out { stroke: var(--accent); }
.lgd-flow-svg path.is-never { stroke: var(--danger); stroke-dasharray: 4 5; }
.lgd-flow-svg .end { fill: var(--paper); stroke: var(--ink-3); stroke-width: 1.5; }
.lgd-flow-svg .end.is-out { stroke: var(--accent); }
.lgd-flow-svg .bar { stroke: var(--danger); stroke-width: 2.5; stroke-dasharray: none; }
.lgd-flow-svg .pkt { fill: var(--ink); }
.lgd-flow-svg .pkt.is-out { fill: var(--accent); }
.lgd-flow-svg .pkt.is-never { fill: var(--danger); }

/* Refund: find your case (one instrument: choices on the left, the outcome on the right) */
.lgd-casesec { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; padding-bottom: 44px !important; }
.lgd-finder { display: grid; grid-template-columns: minmax(250px, 310px) minmax(0, 1fr); border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-1); overflow: hidden; }
.lgd-cases { display: flex; flex-direction: column; gap: 4px; padding: 8px; background: var(--sunken); }
.lgd-case { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 60px; padding: 10px 14px; border-radius: var(--r-md); text-align: left; color: var(--ink-2); transition: background var(--d-2), box-shadow var(--d-2), color var(--d-2); }
.lgd-case > svg { width: 20px; height: 20px; color: var(--ink-3); transition: color var(--d-2); }
.lgd-case b { display: block; font-size: var(--fs-ui); font-weight: 600; color: var(--ink); line-height: 1.3; }
.lgd-case > span > span { display: block; margin-top: 1px; font-size: var(--fs-desc); line-height: 1.4; color: var(--ink-2); }
.lgd-case:hover { background: rgba(20,20,19,.04); }
.lgd-case[aria-checked="true"] { background: var(--raised); box-shadow: var(--e-1); }
.lgd-case[aria-checked="true"] > svg { color: var(--accent-ink); }
.lgd-case:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: var(--r-md); }
.lgd-result { padding: clamp(22px, 3vw, 32px); min-height: 280px; }
.lgd-pane { display: flex; flex-direction: column; gap: 14px; height: 100%; }
.lgd-out { font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; line-height: 1.15; letter-spacing: -.03em; color: var(--ink); }
.lgd-says { max-width: 50ch; font-size: var(--fs-body); line-height: 1.6; color: var(--ink-2); }
.lgd-goto { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--fs-ui); }
.lgd-goto svg { width: 15px; height: 15px; }
.lgd-days { margin-top: 6px; max-width: 480px; }
.lgd-days-bar { position: relative; height: 14px; border-radius: var(--r-pill); background: var(--sunken-2); overflow: hidden; }
.lgd-days-bar i { position: absolute; inset: 0; background: var(--success); transform-origin: 0 50%; }
.lgd-days-bar::after { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / 14 - 2px), var(--raised) calc(100% / 14 - 2px), var(--raised) calc(100% / 14)); }
.lgd-days-ticks, .lgd-cycle-ticks { display: flex; justify-content: space-between; margin-top: 8px; font-size: var(--fs-small); color: var(--ink-2); }
.lgd-slider { margin-top: 4px; max-width: 480px; }
.lgd-slider-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; font-size: var(--fs-ui); font-weight: 500; }
.lgd-slider-top output { font-size: var(--fs-ui); font-weight: 600; font-variant-numeric: tabular-nums; }
.lgd-range { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 44px; margin: 0 0 4px; background: transparent; cursor: pointer; }
.lgd-range::-webkit-slider-runnable-track { height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--ink) 0, var(--ink) var(--used, 40%), var(--sunken-2) var(--used, 40%)); }
.lgd-range::-moz-range-track { height: 6px; border-radius: 6px; background: var(--sunken-2); }
.lgd-range::-moz-range-progress { height: 6px; border-radius: 6px; background: var(--ink); }
.lgd-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -8px; border-radius: 50%; background: var(--raised); border: 2px solid var(--ink); box-shadow: 0 1px 3px rgba(20,20,19,.25); }
.lgd-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--raised); border: 2px solid var(--ink); }
.lgd-range:focus-visible { outline: none; }
.lgd-range:focus-visible::-webkit-slider-thumb { box-shadow: var(--focus-ring); }
.lgd-split { display: flex; height: 12px; border-radius: var(--r-pill); overflow: hidden; gap: 2px; }
.lgd-split-used { flex: 0 0 var(--used, 40%); background: var(--ink-3); }
.lgd-split-left { flex: 1; background: var(--success); }
.lgd-split-read { margin-top: 10px; font-size: var(--fs-ui); color: var(--ink-2); }
.lgd-split-read b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.lgd-balance { margin-top: 4px; max-width: 480px; }
.lgd-balance-top { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: var(--fs-small); color: var(--ink-2); }
.lgd-balance-top span:last-child { font-weight: 600; color: var(--success); }
.lgd-balance-track { height: 12px; border-radius: var(--r-pill); background: var(--sunken-2); overflow: hidden; }
.lgd-balance-track span { display: block; height: 100%; background: var(--success); transform-origin: 0 50%; }
.lgd-cycle { margin-top: 4px; max-width: 480px; }
.lgd-cycle-track { position: relative; display: grid; grid-template-columns: 7fr 3fr; min-height: 44px; border-radius: var(--r-md); overflow: hidden; }
.lgd-cycle-a, .lgd-cycle-b { display: flex; align-items: center; padding: 6px 14px; font-size: var(--fs-small); line-height: 1.25; }
.lgd-cycle-a { background: var(--success-tint); color: var(--success); font-weight: 500; }
.lgd-cycle-b { background: var(--sunken); color: var(--ink-2); }
.lgd-cycle-mark { position: absolute; left: 70%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: var(--ink); }
.lgd-cycle-ticks { display: grid; grid-template-columns: 7fr 3fr; }
.lgd-cycle-ticks span:last-child { padding-left: 8px; margin-left: -1px; }

/* ---------- End of document ---------- */
.lgd-end { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; margin-top: 8px; padding-top: 32px; border-top: 1px solid var(--hairline); }
.lgd-end::before { content: ""; position: absolute; left: 0; top: -1px; width: 56px; height: 3px; border-radius: 3px; background: var(--brand-gradient); }
.lgd-end p { max-width: 52ch; font-size: var(--fs-ui); color: var(--ink-2); }
.lgd-next { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 14px; min-height: 44px; padding: 6px 0; color: var(--ink); }
.lgd-next span { grid-column: 1; font-size: var(--fs-small); color: var(--ink-3); }
.lgd-next b { grid-column: 1; font-size: var(--fs-heading); font-weight: 600; letter-spacing: -.012em; }
.lgd-next svg { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; transition: transform var(--d-3) var(--ease-out); }
.lgd-next:hover svg { transform: translateX(4px); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .lgd .doc-sec { grid-template-columns: minmax(0, 1fr); }
  .lgd-finder { grid-template-columns: minmax(220px, 270px) minmax(0, 1fr); }
}
@media (max-width: 860px) {
  .lgd .doc-toc { top: var(--nav-h); }
  .lgd .doc-toc-label { display: none; }
  .lgd .doc-toc details > summary { display: flex; }
  .lgd .doc-toc details[open] > summary { border-bottom: 1px solid var(--hairline); }
  .lgd .doc-toc-list { padding: 4px 0 8px; }
  .lgd .doc-toc a { font-size: var(--fs-ui); }
  .lgd .doc-sec { scroll-margin-top: calc(var(--nav-h) + 64px); padding: 30px 0; }
  .lgd .l-doc { padding-top: 0; gap: 0; }
  .lgd-finder { grid-template-columns: minmax(0, 1fr); }
  .lgd-cases { flex-direction: column; }
}
@media (max-width: 640px) {
  .lgd-head { padding-top: calc(var(--nav-h) + 4px); padding-bottom: 14px; }
  .lgd-head .t-title { font-size: clamp(28px, 8.2vw, 34px); }
  .lgd-anchor { display: none; }
  .lgd .doc-text > p { font-size: var(--fs-lead); }
  .lgd-bound { grid-template-columns: minmax(0, 1fr); gap: 20px 0; }
  .lgd-bound-line { height: 1px; }
  .lgd-bound-line i { transform-origin: 0 50%; transform: scaleX(var(--line, 1)); }
  .lgd-flow { padding: 32px 0 36px; }
  .lgd-flow-grid { grid-template-columns: minmax(0, 1fr); row-gap: 12px; padding-left: 30px; margin-top: 20px; }
  .lgd-n-in1, .lgd-n-in2, .lgd-n-core, .lgd-n-idx, .lgd-n-no { grid-column: 1; grid-row: auto; }
  .lgd-result { padding: 20px 18px 8px; min-height: 0; }
  .lgd-end { flex-direction: column; align-items: flex-start; }
}

/* ---------- Print ---------- */
@media print {
  .pnav, .pmenu, .skip-link, .doc-toc, .lgd-actions, .lgd-tabs, .lgd-anchor, .lgd-end .lgd-next, .pfoot, .lgd-finder, .lgd-casesec, .toast-region { display: none !important; }
  .lgd .l-doc { display: block; padding: 0; }
  .lgd-head { padding-top: 0; }
  html.motion-ok [data-reveal], html.motion-ok [data-split] { visibility: visible !important; }
}



/* =====================================================================================================
   Round 4B · legal masthead. Title, lede and the legal tabs on the left; the document's status is one bordered
   card on the right (draft badge, effective date, operator, the pending note and Copy/Print), where the blurred orb was.
   Body copy is the body step under an 18px lede; every section has its note or none.
   ===================================================================================================== */
.lgd .atmo-ribbon::after { content: none; }
.lgd-head { padding-bottom: 36px; }
.lgd-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; gap: 24px clamp(40px, 6vw, 96px); }
.lgd-head-main .lgd-tabs { margin: 0 0 12px -12px; }
.lgd-head .t-title { max-width: 22ch; }
.lgd-head .page-sub { margin-top: 12px; max-width: 54ch; font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--ink-2); }
.lgd-status { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 18px 20px 18px; border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-2); overflow: hidden; }
.lgd-status::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--brand-gradient); }
.lgd-status-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lgd-draft { height: 28px; padding: 0 10px; font-size: var(--fs-small); }
.lgd-actions { display: flex; gap: 2px; margin-right: -8px; }
.lgd-actions .icon-btn { width: 36px; height: 36px; color: var(--ink-2); }
.lgd-actions .icon-btn svg { width: 17px; height: 17px; }
.lgd-status-meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: var(--fs-desc); }
.lgd-status-meta > div { display: contents; }
.lgd-status-meta dt { color: var(--ink-2); }
.lgd-status-meta dd { margin: 0; font-weight: 500; color: var(--ink); }
.lgd-status-note { display: flex; gap: 10px; padding: 12px 14px; border-radius: var(--r-md); background: var(--warning-tint); font-size: var(--fs-small); line-height: 1.5; color: var(--ink-2); }
.lgd-status-note svg { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--warning); }
.lgd-status-note strong { color: var(--ink); font-weight: 600; }
.lgd .doc-text > p { max-width: 66ch; font-size: var(--fs-body); line-height: 1.75; letter-spacing: var(--ls-body); }
.lgd .doc-note { padding-top: 6px; }
.lgd .doc-note b { font-size: var(--fs-ui); }
.lgd-bound { margin-top: 28px; padding: 24px 28px; border-top: 0; border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-1); }
.lgd-bound-col.is-out { padding: 0; }
.lgd-n-in1, .lgd-n-in2, .lgd-n-idx { box-shadow: var(--e-2); }
.lgd-flow-svg path { stroke-width: 1.75; }
/* Refund: on the phone the outcome opens directly under the case you picked. */
.lgd-result.is-inline { min-height: 0; margin: -6px 0 2px; padding: 18px 16px 6px; border-radius: 0 0 var(--r-md) var(--r-md); background: var(--raised); box-shadow: var(--e-1); }
.lgd-cases .lgd-case[aria-checked="true"]:has(+ .is-inline) { border-radius: var(--r-md) var(--r-md) 0 0; }
.lgd-result.is-inline .lgd-out { font-size: var(--fs-heading); }
@media (max-width: 860px) {
  .lgd-head-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .lgd-status { max-width: 560px; }
}
@media (max-width: 640px) {
  .lgd-head { padding-bottom: 20px; }
  .lgd-head-main .lgd-tabs { margin: 0 calc(var(--gutter) * -1) 6px; padding: 0 calc(var(--gutter) - 12px); overflow-x: auto; scrollbar-width: none; }
  .lgd-head-main .lgd-tabs::-webkit-scrollbar { display: none; }
  .lgd-head-main .lgd-tabs a { flex: none; }
  .lgd-head .page-sub { display: none; }
  .lgd-status-meta { display: flex; flex-wrap: wrap; gap: 2px 14px; }
  .lgd-status-meta > div { display: flex; gap: 6px; }
  .lgd-status { gap: 10px; padding: 14px 16px; }
  .lgd-actions .icon-btn { width: 44px; height: 44px; }
  .lgd-actions { margin: -6px -10px -6px 0; }
  .lgd-status-note { padding: 10px 12px; }
  .lgd-bound { padding: 20px; }
  .lgd .doc-text > p { font-size: var(--fs-body); }
}

/* Hylē v4 · legal-states · Round 2 — Recovery composition (404, 500).
   System: .l-recover, .recover, .recover-mark (field tile), .recover-code, .recover-actions, .recover-diag (layouts.css). */
.rec { background: var(--paper); }
.rec-main { display: flex; flex-direction: column; min-height: 100dvh; }
.rec .l-recover { position: relative; isolation: isolate; flex: 1; min-height: 0; padding-top: calc(var(--nav-h) + 24px); padding-bottom: 40px; place-items: center; }
.rec .l-recover::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(rgba(20,20,19,.16) 1px, transparent 1.3px); background-size: 22px 22px; -webkit-mask-image: radial-gradient(ellipse 52% 60% at 50% 38%, #000 0%, rgba(0,0,0,.35) 55%, transparent 100%); mask-image: radial-gradient(ellipse 52% 60% at 50% 38%, #000 0%, rgba(0,0,0,.35) 55%, transparent 100%); }
.rec .recover { position: relative; width: min(580px, 100%); gap: 16px; }
.rec .recover-mark { --tile: 72px; margin-bottom: 8px; box-shadow: 0 18px 36px -18px rgba(13,50,110,.55), 0 0 0 1px rgba(255,255,255,.06) inset; }
.rec .recover-mark { background-size: 140% 140%, 140% 140%, 100% 100%; animation: rec-drift 14s ease-in-out infinite alternate; }
@keyframes rec-drift { 0% { background-position: 0% 100%, 100% 0%, 0 0; } 100% { background-position: 25% 70%, 70% 25%, 0 0; } }
.rec .recover-mark svg { width: 34px; height: 34px; stroke-width: 1.6; }
.rec .recover-code { display: inline-flex; align-items: center; gap: 9px; margin-top: 4px; font-size: var(--fs-small); font-weight: 500; letter-spacing: .01em; }
.rec .recover-code::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 4px var(--warning-tint); }
.rec-500 .recover-code::before { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-tint); }
.rec .recover .t-title { max-width: 18ch; }
.rec-500 .recover .t-title { max-width: 20ch; }
.rec .recover > p { max-width: 50ch; }
.rec .recover-actions { margin-top: 8px; gap: 10px; }

/* 404: one search that finds pages */
.rec-search { position: relative; width: 100%; max-width: 480px; display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.rec-search-label { font-size: var(--fs-ui); font-weight: 600; color: var(--ink); }
.rec-control { width: 100%; }
.rec-control input { font-size: var(--fs-body); }
.rec-kbd { margin-right: 12px; }
.rec .rec-hint { max-width: none; font-size: var(--fs-desc); color: var(--ink-2); }
.rec-suggest { position: absolute; z-index: 6; left: 0; right: 0; top: calc(100% - 2px); margin-top: 0; padding: 6px; border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-3); }
.rec-search.is-open .rec-hint { visibility: hidden; }
.rec-suggest li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: var(--r-md); font-size: var(--fs-ui); color: var(--ink); cursor: pointer; }
.rec-suggest li svg { width: 17px; height: 17px; color: var(--ink-3); }
.rec-suggest li .t-mono { color: var(--ink-3); }
.rec-suggest li[aria-selected="true"] { background: var(--accent-tint); }
.rec-suggest li[aria-selected="true"] svg { color: var(--accent-ink); }
.rec-suggest mark { background: var(--selection); color: inherit; border-radius: 2px; }
.rec-suggest .rec-suggest-foot { display: flex; gap: 16px; min-height: 0; margin-top: 4px; padding: 10px 12px 6px; border-top: 1px solid var(--hairline); border-radius: 0; font-size: var(--fs-small); color: var(--ink-3); cursor: default; }
.rec-suggest .rec-suggest-foot span { display: inline-flex; align-items: center; gap: 4px; }
.rec-suggest .rec-suggest-foot .kbd { min-width: 20px; height: 20px; font-size: var(--fs-mono); }
.rec-suggest .rec-suggest-empty { color: var(--ink-2); cursor: default; display: block; padding: 12px; min-height: 0; }
.rec .rec-msg { max-width: none; display: flex; align-items: center; gap: 8px; font-size: var(--fs-ui); color: var(--ink-2); }
.rec-msg svg { width: 16px; height: 16px; color: var(--accent-ink); }
.rec-search.is-shake .rec-control { animation: rec-shake .38s var(--ease-out); }
@keyframes rec-shake { 20% { transform: translateX(-7px); } 45% { transform: translateX(6px); } 70% { transform: translateX(-3px); } 100% { transform: none; } }

/* 500: incident block (stepper, identifiers, trace) */
.rec .rec-diag { display: block; margin-top: 14px; padding: 0; overflow: hidden; font-family: var(--font-sans); font-size: var(--fs-ui); background: var(--sunken); }
.rec-diag-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; font-size: var(--fs-small); font-weight: 600; color: var(--ink); }
.rec-run { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 4px 8px 18px; }
.rec-run li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: var(--fs-small); color: var(--ink-2); }
.rec-run li::before { content: ""; position: absolute; top: 10px; left: 50%; width: 100%; height: 2px; background: var(--hairline-strong); }
.rec-run li:last-child::before { display: none; }
.rec-run li.is-done::before { background: var(--success); }
.rec-run li > i { position: relative; z-index: 1; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--sunken); box-shadow: inset 0 0 0 2px var(--hairline-strong); color: #fff; }
.rec-run li > i svg { width: 12px; height: 12px; stroke-width: 2.6; }
.rec-run li.is-done > i { background: var(--success); box-shadow: none; }
.rec-run li.is-fail > i { background: var(--danger); box-shadow: 0 0 0 4px var(--danger-tint); }
.rec-run li.is-run > i { background: var(--sunken); box-shadow: inset 0 0 0 2px var(--accent); color: var(--accent); }
.rec-run li.is-run > i svg { animation: spin .9s linear infinite; }
.rec-run li.is-fail > span { color: var(--danger); font-weight: 600; }
.rec-run li.is-done > span { color: var(--ink); }
.rec-rows { background: var(--raised); border-top: 1px solid var(--hairline); }
.rec-rows > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 44px; padding: 8px 16px; border-bottom: 1px solid var(--hairline); }
.rec-rows dt { font-size: var(--fs-small); color: var(--ink-3); }
.rec-rows dd { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: var(--fs-small); color: var(--ink); overflow-wrap: anywhere; }
.rec-rows code { font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .01em; }
.rec-copy { width: 32px; height: 32px; margin: -4px 0; }
.rec-trace { background: var(--raised); border-bottom: 1px solid var(--hairline); }
.rec-trace-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 0 16px; font-size: var(--fs-ui); font-weight: 500; text-align: left; }
.rec-trace-btn:hover { background: rgba(20,20,19,.025); }
.rec-trace-btn svg { width: 16px; height: 16px; color: var(--ink-3); transition: transform var(--d-3) var(--ease-out); }
.rec-trace-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.rec-trace-panel { overflow: hidden; }
.rec-trace pre { margin: 0 16px; padding: 14px; border-radius: var(--r-md); background: var(--brand-night); color: #eaf0fb; font-family: var(--font-mono); font-size: var(--fs-mono); line-height: 1.6; overflow-x: auto; }
.rec-trace-copy { margin: 12px 16px 16px; }
.rec .rec-status { max-width: none; padding: 4px 16px; background: var(--raised); }
.rec-status a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--fs-ui); }
.rec-status svg { width: 15px; height: 15px; transition: transform var(--d-3) var(--ease-out); }
.rec-status a:hover svg { transform: translateX(3px); }
.rec-retry { width: 100%; }
.rec-retry-box { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: var(--r-md); font-size: var(--fs-ui); line-height: 1.5; color: var(--ink); }
.rec-retry-box svg { width: 17px; height: 17px; margin-top: 2px; flex: none; }
.rec-retry-box.is-run { background: var(--info-tint); } .rec-retry-box.is-run svg { color: var(--accent); animation: spin .9s linear infinite; }
.rec-retry-box.is-fail { background: var(--danger-tint); } .rec-retry-box.is-fail svg { color: var(--danger); }

/* Footer: one quiet line */
.rec-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 24px; padding: 8px max(var(--gutter), calc((100% - var(--page-max)) / 2)) 12px; border-top: 1px solid var(--hairline); font-size: var(--fs-small); color: var(--ink-3); }
.rec-foot nav { display: flex; flex-wrap: wrap; }
.rec-foot a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; color: var(--ink-2); }
.rec-foot a:hover { color: var(--ink); }
.rec-foot nav a:last-child { padding-right: 0; }

@media (hover: none) { .rec-suggest .rec-suggest-foot, .rec-kbd { display: none; } }
@media (max-width: 640px) {
  .rec-suggest .rec-suggest-foot, .rec-kbd { display: none; }
  .rec .l-recover::before { display: none; }
  .rec .l-recover { padding-top: calc(var(--nav-h) + 8px); padding-bottom: 20px; place-items: start center; }
  .rec .recover { gap: 14px; }
  .rec .recover-mark { --tile: 52px; margin-bottom: 0; }
  .rec .recover-mark svg { width: 24px; height: 24px; }
  .rec .recover .t-title { font-size: clamp(28px, 8.4vw, 34px); }
  .rec .recover-actions { width: 100%; flex-direction: column; align-items: stretch; margin-top: 4px; }
  .rec .recover-actions .btn { width: 100%; }
  .rec-search { margin-top: 6px; }
  .rec-rows > div { grid-template-columns: 88px minmax(0, 1fr); }
  .rec-copy { width: 44px; height: 44px; margin: -8px -8px -8px 0; }
  .rec-foot { justify-content: flex-start; gap: 0 16px; }
  .rec-foot nav a:first-child { padding-left: 0; }
}
@media print { .rec-foot { display: none; } }

.rec-500 .recover-code.is-ok::before { background: var(--success); box-shadow: 0 0 0 4px var(--success-tint); }

/* Hylē v4 · legal-states · Round 2 — Specimen composition (email-preview).
   System: .l-specimen, .spec-canvas, .spec-rail (layouts.css). The email sits on the dotted canvas; the rail inspects it. */
.spx { background: var(--paper); }
.spx-main { padding-top: var(--nav-h); }
.spx .l-specimen { min-height: calc(100dvh - var(--nav-h)); grid-template-columns: minmax(0, 1fr) 328px; }
.spx .spec-canvas { padding: clamp(24px, 4.5vh, 48px) var(--gutter) clamp(40px, 7vh, 72px); align-content: start; }
.spx-stage { width: 100%; display: flex; justify-content: center; }
.spx-frame { --em-w: 600px; container-type: inline-size; width: min(var(--em-w), 100%); border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-3); overflow: hidden; }
.spx-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 16px; padding: 10px 18px; background: var(--sunken); border-bottom: 1px solid var(--hairline); font-size: var(--fs-small); color: var(--ink-2); }
.spx-bar b { margin-right: 4px; font-weight: 600; color: var(--ink); }

/* The email itself (container-aware: it reflows when the client is narrow) */
.em-mail { padding: 28px 34px 30px; color: var(--ink); }
.em-mail[hidden] { display: none; }
.em-m-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; margin-bottom: 22px; border-bottom: 1px solid var(--hairline); }
.em-brand { font-family: var(--font-brand); font-weight: 500; font-size: var(--fs-heading); letter-spacing: -.035em; line-height: 1; font-synthesis: none; }
.em-job { font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .02em; color: var(--ink-3); }
.em-kicker { margin-bottom: 8px; font-size: var(--fs-small); font-weight: 600; color: var(--accent-ink); }
.em-h { font-size: var(--fs-heading); font-weight: 600; line-height: 1.3; letter-spacing: -.012em; text-wrap: balance; }
.em-p { margin-top: 10px; font-size: var(--fs-ui); line-height: 1.6; color: var(--ink-2); }
.em-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; border: 1px solid var(--hairline); border-radius: var(--r-md); }
.em-metrics > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 2px; padding: 14px 16px; }
.em-metrics > div + div { border-left: 1px solid var(--hairline); }
.em-metrics dt { font-size: var(--fs-small); line-height: 1.35; color: var(--ink-2); }
.em-metrics dd { font-size: var(--fs-heading); font-weight: 600; line-height: 1.2; letter-spacing: -.015em; font-variant-numeric: tabular-nums; }
.em-metrics dd.em-hash { font-family: var(--font-mono); font-size: var(--fs-ui); font-weight: 500; letter-spacing: .02em; color: var(--accent-ink); line-height: 1.5; }
.em-sub { margin-top: 24px; font-size: var(--fs-ui); font-weight: 600; }
.em-fig { margin-top: 12px; }
.em-fig img { width: 100%; height: auto; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--paper); }
.em-fig svg { width: 100%; height: auto; border: 1px solid var(--hairline); border-radius: var(--r-md); background: var(--raised); }
.em-fig figcaption { margin-top: 8px; font-size: var(--fs-desc); line-height: 1.45; color: var(--ink-2); }
.em-figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.em-fig svg text { font-family: var(--font-mono); font-size: 12px; fill: var(--ink-2); }
.em-fig svg text.t { font-family: var(--font-sans); }
.em-fig svg .ax { fill: none; stroke: var(--ink-3); stroke-width: 1; }
.em-fig svg .g path { fill: none; stroke: var(--hairline-strong); stroke-width: 1; }
.em-fig svg circle.n { fill: var(--ink-4); opacity: .7; }
.em-fig svg circle.u { fill: var(--success); }
.em-fig svg circle.d { fill: var(--brand-orange-deep); }
.em-fig svg .cv { fill: none; stroke: var(--success); stroke-width: 2; }
.em-fig svg .eb { fill: none; stroke: var(--success); stroke-width: 1.5; }
.em-fig svg circle:not([class]) { fill: var(--success); }
.em-cta { margin: 26px 0 0; }
.em-note { margin-top: 14px; font-size: var(--fs-small); color: var(--ink-2); }
.em-m-foot { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--hairline); font-size: var(--fs-small); line-height: 1.55; color: var(--ink-2); }
.em-m-foot a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.em-rows { margin-top: 18px; border-top: 1px solid var(--hairline); }
.em-rows > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--hairline); font-size: var(--fs-ui); }
.em-rows dt { font-size: var(--fs-small); color: var(--ink-3); padding-top: 1px; }
@container (max-width: 480px) {
  .em-mail { padding: 22px 18px 24px; }
  .em-figs { grid-template-columns: minmax(0, 1fr); }
  .em-metrics > div { padding: 12px 10px; }
  .em-rows > div { grid-template-columns: 88px minmax(0, 1fr); }
}

/* Rail */
.spx .spec-rail { width: 328px; padding: 28px 24px 32px; gap: 22px; top: var(--nav-h); }
.spx-title .t-title { font-size: 30px; max-width: none; }
.spx-title p { margin-top: 10px; font-size: var(--fs-ui); line-height: 1.5; color: var(--ink-2); }
.spx-label { margin-bottom: 8px; font-size: var(--fs-small); font-weight: 600; color: var(--ink-2); }
.spx-pick { display: none; }
.spx-list { display: flex; flex-direction: column; gap: 2px; }
.spx-tab { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 58px; padding: 9px 12px; border-radius: var(--r-md); text-align: left; transition: background var(--d-2), box-shadow var(--d-2); }
.spx-tab > svg { width: 19px; height: 19px; color: var(--ink-3); transition: color var(--d-2); }
.spx-tab b { display: block; font-size: var(--fs-ui); font-weight: 600; color: var(--ink); line-height: 1.3; }
.spx-tab > span > span { display: block; margin-top: 1px; font-size: var(--fs-desc); line-height: 1.4; color: var(--ink-2); }
.spx-tab:hover { background: rgba(20,20,19,.04); }
.spx-tab[aria-selected="true"] { background: var(--raised); box-shadow: var(--e-1); }
.spx-tab[aria-selected="true"] > svg { color: var(--accent-ink); }
.spx-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.spx-facts { display: flex; flex-direction: column; gap: 20px; padding-top: 22px; border-top: 1px solid var(--hairline); }
.spx-subject { display: flex; align-items: flex-start; gap: 6px; }
.spx-subject p { flex: 1; min-width: 0; font-size: var(--fs-ui); font-weight: 500; line-height: 1.45; color: var(--ink); }
.spx-subject .icon-btn { margin: -6px -6px 0 0; }
.spx-width-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.spx-px { font-family: var(--font-mono); font-size: var(--fs-mono); font-variant-numeric: tabular-nums; color: var(--ink-3); }
.spx-trigger { font-size: var(--fs-ui); line-height: 1.5; color: var(--ink-2); }
.spx-links { display: flex; flex-direction: column; }
.spx-links a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: var(--fs-ui); font-weight: 500; color: var(--accent-ink); }
.spx-links a svg { width: 15px; height: 15px; }
.spx-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
.spx-links .none { font-size: var(--fs-ui); color: var(--ink-2); }

@media (max-width: 960px) {
  .spx .l-specimen { display: flex; flex-direction: column; min-height: 0; }
  .spx .spec-rail { display: contents; }
  .spx-title { order: 1; padding: 14px var(--gutter) 0; }
  .spx-title p { display: none; }
  .spx-title .t-title { font-size: clamp(28px, 8vw, 34px); }
  .spx-pick { order: 2; display: block; padding: 12px var(--gutter) 16px; }
  .spx .spec-canvas { order: 3; padding: 20px 12px 28px; }
  .spx-list { display: none; }
  .spx-facts { order: 4; padding: 22px var(--gutter) 32px; border-top: 1px solid var(--hairline); background: var(--paper); }
  .spx-width { display: none; }
  .spx-subject .icon-btn { width: 44px; height: 44px; margin: -12px -10px 0 0; }
  .spx-links a { min-height: 44px; }
  .spx-frame { width: 100%; }
}

.spx-frame { transition: border-radius var(--d-4) var(--ease-out); }
.spx-frame.is-mobile { border-radius: 28px; }

.spx .segmented button { display: inline-flex; align-items: center; gap: 6px; }
.spx .segmented button svg { width: 16px; height: 16px; }


/* =====================================================================================================
   Round 4B · email preview. The email reads as a notification: the action sits right under the result, before the
   figures. The inspector column is paper the full height of the specimen; on a narrow client the metrics stack.
   ===================================================================================================== */
.spx .em-cta-lead { margin: 20px 0 4px; }
.spx .em-sub { margin-top: 28px; }
.spx-frame { box-shadow: 0 0 0 1px rgba(255,255,255,.4), 0 50px 100px -40px rgba(5,15,40,.75); }
@media (min-width: 961px) {
  .spx .l-specimen { background: linear-gradient(90deg, transparent calc(100% - 328px), var(--paper) calc(100% - 328px)); }
  .spx .spec-rail { border-left: 1px solid var(--hairline); }
}
@container (max-width: 480px) {
  .em-metrics { grid-template-columns: minmax(0, 1fr); }
  .em-metrics > div { flex-direction: row-reverse; justify-content: space-between; align-items: baseline; padding: 10px 14px; }
  .em-metrics > div + div { border-left: 0; border-top: 1px solid var(--hairline); }
  .em-metrics dd { font-size: var(--fs-row); }
  .em-cta .btn { width: 100%; justify-content: center; }
}

/* =====================================================================================================
   Audit fix B · 404 / 500. One container with the nav and footer (1200 / gutter), the lockup centred in the viewport.
   404: an evidence trail drawn on the canvas (sources → claim → broken link → missing page) and four destination cards.
   500: the incident card is the figure, beside the message; the stepper shows the break after Compute.
   On error routes the header's acquisition pill steps down to an outline so the recovery action is the only filled one.
   ===================================================================================================== */
.rec .pnav-cta { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--hairline-strong); }
.rec .pnav-cta:hover { background: var(--hover-tint, rgba(20,20,19,.04)); }
.rec .l-recover::before { display: none; }
.rec .l-recover.rec-stage { display: flex; flex-direction: column; justify-content: center; gap: 56px; width: min(var(--page-max), 100% - var(--gutter) * 2); min-height: 0; margin: 0 auto; padding: calc(var(--nav-h) + 40px) 0 56px; place-items: initial; }
.rec-lockup { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); align-items: center; gap: 80px; }
.rec-500 .rec-lockup { grid-template-columns: minmax(0, 500px) minmax(0, 560px); grid-template-rows: auto auto; justify-content: space-between; align-items: start; row-gap: 0; }
.rec-500 .rec-lockup > .recover { grid-column: 1; grid-row: 1; }
.rec-500 .rec-lockup > .rec-diag { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.rec-500 .rec-lockup > .rec-next { grid-column: 1; grid-row: 2; }
.rec .recover { width: 100%; gap: 16px; }
.rec .recover .t-title, .rec-500 .recover .t-title { max-width: 14ch; font-size: var(--fs-display); line-height: 1.08; letter-spacing: var(--ls-display); text-wrap: balance; }
.rec .recover > p { max-width: 46ch; font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--ink-2); }
.rec .recover-code { gap: 10px; margin: 0 0 4px; font-size: var(--fs-small); font-weight: 500; color: var(--ink-2); }
.rec .recover-code::before { display: none; }
.rec-chip { display: inline-flex; align-items: center; gap: 7px; height: 26px; padding: 0 10px; border-radius: var(--r-pill); background: var(--warning-tint); color: var(--warning); font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 600; letter-spacing: .06em; }
.rec-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rec-500 .rec-chip { background: var(--danger-tint); color: var(--danger); }
.rec-500 .recover-code.is-ok .rec-chip { background: var(--success-tint); color: var(--success); }
.rec .recover-actions { width: 100%; margin-top: 8px; gap: 12px; }
.rec .recover-actions .btn { min-height: 48px; border-radius: var(--r-md); }
.rec .recover-actions .btn svg { width: 18px; height: 18px; }
.rec .recover-actions .btn-secondary { box-shadow: none; border-color: var(--hairline-strong); }

/* 404 search: a ≥3:1 boundary, a submit affordance once there is text, and a 13px helper. */
.rec-search { max-width: none; margin-top: 20px; gap: 8px; }
.rec-search-label { font-family: var(--font-sans); font-size: var(--fs-small); font-weight: 500; color: var(--ink-2); letter-spacing: .01em; }
.rec-control { background: var(--raised); box-shadow: inset 0 0 0 1px #8f8a7e; border-color: transparent; }
.rec-control:focus-within { box-shadow: inset 0 0 0 1px var(--ink), 0 0 0 3px var(--accent-tint-2); }
.rec-go { width: 36px; height: 36px; margin-right: 6px; flex: none; border-radius: var(--r-sm); color: var(--ink); opacity: .45; transition: opacity var(--d-2), background var(--d-2); }
.rec-search.has-q .rec-go { opacity: 1; background: var(--sunken); }
.rec-search.has-q .rec-kbd { display: none; }
.rec .rec-hint { font-size: var(--fs-small); line-height: 1.45; color: var(--ink-3); }

/* Fig. 404 — drawn in ink on the canvas; the only accent is the break. */
.rec-fig { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.rec-fig svg { width: 100%; max-width: 520px; height: auto; overflow: visible; }
.rec-fig .rf-src rect { fill: var(--raised); stroke: var(--ink); stroke-width: 1.5; }
.rec-fig text { font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em; fill: var(--ink-2); }
.rec-fig .rf-ln { stroke: var(--ink); stroke-width: 1.5; stroke-linecap: round; }
.rec-fig .rf-claim rect { fill: var(--ink); }
.rec-fig .rf-claim text { fill: #fff; font-family: var(--font-sans); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.rec-fig .rf-break path { stroke: var(--brand-orange-deep); stroke-width: 2; stroke-linecap: round; }
.rec-fig .rf-gap { stroke: var(--brand-orange-deep); stroke-width: 2; stroke-dasharray: 2 4; stroke-linecap: round; }
.rec-fig .rf-miss rect { fill: var(--warning-tint); stroke: var(--brand-orange-deep); stroke-width: 1.75; stroke-dasharray: 5 4; }
.rec-fig .rf-miss text { fill: var(--warning); font-weight: 600; font-size: 13px; }
.rec-fig figcaption { display: flex; align-items: baseline; gap: 10px; padding-top: 12px; border-top: 1px solid var(--hairline); font-size: var(--fs-small); color: var(--ink-3); max-width: 520px; }
.rec-fig figcaption .t-mono { color: var(--ink); font-weight: 600; }

/* Destination cards (404) and next steps (500): one card language with an icon tile. */
.rec-dest { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.rec-dest-card, .rec-next a { display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; align-items: center; gap: 14px; min-height: 76px; padding: 14px 16px; border-radius: var(--r-lg); background: var(--raised); box-shadow: var(--e-1); color: var(--ink); transition: box-shadow var(--d-2), transform var(--d-2) var(--ease-out); }
.rec-dest-card:hover, .rec-next a:hover { box-shadow: var(--e-2); transform: translateY(-2px); }
.rec-dest-card:focus-visible, .rec-next a:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.rec-dest-ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--r-md); background: var(--accent-tint); color: var(--accent-ink); }
.rec-dest-ic svg { width: 20px; height: 20px; }
.rec-dest-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rec-dest-t b { font-size: var(--fs-ui); font-weight: 600; }
.rec-dest-t span { font-size: var(--fs-small); color: var(--ink-3); line-height: 1.4; }
.rec-dest-go { width: 18px; height: 18px; color: var(--ink-3); transition: transform var(--d-2) var(--ease-out), color var(--d-2); }
.rec-dest-card:hover .rec-dest-go, .rec-next a:hover .rec-dest-go { transform: translateX(3px); color: var(--ink); }
.rec-next { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 20px; }
.rec-next li:last-child .rec-dest-ic { background: var(--success-tint); color: var(--success); }

/* 500 incident card */
.rec .rec-diag { margin: 0; border-radius: var(--r-lg); background: var(--raised); box-shadow: 0 0 0 1px var(--hairline), 0 1px 2px rgba(20,20,19,.04), 0 18px 40px -22px rgba(20,20,19,.18); overflow: hidden; }
.rec-diag-head { padding: 16px 20px 6px; font-size: var(--fs-ui); font-weight: 600; }
.rec-diag-t { display: inline-flex; align-items: center; gap: 8px; }
.rec-diag-t svg { width: 18px; height: 18px; color: var(--danger); }
.rec-run { padding: 12px 12px 22px; }
.rec-run li { font-size: var(--fs-small); color: var(--ink-2); }
.rec-run li::before { top: 11px; background: rgba(20,20,19,.2); }
.rec-run li.is-fail::before, .rec-run li.is-idle::before { background: repeating-linear-gradient(90deg, #8f8a7e 0 4px, transparent 4px 8px); height: 2px; }
.rec-run li.is-idle > i { box-shadow: inset 0 0 0 1.5px #8f8a7e; color: #6c675d; background: var(--raised); }
.rec-run li.is-idle > i svg { width: 12px; height: 12px; stroke-width: 2; }
.rec-run li.is-idle > span { color: var(--ink-2); }
.rec-rows > div { grid-template-columns: 112px minmax(0, 1fr); align-items: baseline; padding: 10px 20px; min-height: 46px; }
.rec-rows dt { font-size: var(--fs-small); color: var(--ink-3); }
.rec-rows dd { font-size: var(--fs-small); align-items: center; }
.rec-rows code { font-size: var(--fs-small); letter-spacing: 0; color: var(--ink); font-variant-numeric: tabular-nums; }
.rec-dd-stack { flex-wrap: wrap; gap: 6px 8px; }
.rec-mchip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: var(--r-sm); background: var(--danger-tint); color: var(--danger); font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500; letter-spacing: .02em; }
.rec-copy { margin: -8px 0 -8px auto; border-radius: var(--r-sm); color: var(--ink-2); }
.rec-copy:hover { background: rgba(20,20,19,.06); color: var(--ink); }
.rec-copy.is-copied { color: var(--success); }
.rec-trace { border-bottom: 0; }
.rec-trace-btn { display: grid; grid-template-columns: 32px minmax(0, 1fr) 18px; gap: 12px; min-height: 60px; padding: 8px 20px; }
.rec-trace-ic { width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--r-sm); background: var(--sunken); color: var(--ink); }
.rec-trace-ic svg { width: 16px; height: 16px; color: var(--ink); }
.rec-trace-t { display: flex; flex-direction: column; gap: 1px; }
.rec-trace-t b { font-size: var(--fs-ui); font-weight: 500; }
.rec-trace-t span { font-family: var(--font-mono); font-size: var(--fs-mono); color: var(--ink-3); letter-spacing: .02em; }
.rec-trace-btn .rec-trace-chev { width: 18px; height: 18px; color: var(--ink-2); }
.rec-trace pre { margin: 0 20px; }
.rec-trace-copy { margin: 12px 20px 18px; }

/* Footer on the same container, links with real hit areas. */
.rec-foot { width: min(var(--page-max), 100% - var(--gutter) * 2); margin: 0 auto; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); gap: 4px 24px; border-top: 0; box-shadow: 0 -1px 0 var(--hairline); color: var(--ink-3); }
.rec-foot nav { gap: 4px; }
.rec-foot nav a { color: var(--ink-2); font-weight: 500; }
.rec-foot nav a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 960px) {
  .rec-lockup, .rec-500 .rec-lockup { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .rec-fig { order: -1; }
  .rec-fig svg { max-width: 420px; }
  .rec-dest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rec .l-recover.rec-stage { justify-content: flex-start; gap: 28px; padding: calc(var(--nav-h) + 20px) 0 32px; }
  .rec .recover { gap: 12px; }
  .rec .recover .t-title, .rec-500 .recover .t-title { font-size: 36px; line-height: 1.12; }
  .rec .recover > p { font-size: var(--fs-ui); line-height: 1.55; }
  .rec .recover-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .rec .recover-actions .btn { width: 100%; }
  .rec-fig { gap: 8px; }
  .rec-fig svg { max-width: 100%; }
  .rec-fig figcaption { padding-top: 8px; }
  .rec-dest { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .rec-dest-card, .rec-next a { min-height: 64px; padding: 10px 14px; gap: 12px; grid-template-columns: 36px minmax(0, 1fr) 18px; }
  .rec-dest-ic { width: 36px; height: 36px; }
  .rec-next { margin-top: 0; }
  .rec-500 .rec-lockup { gap: 20px; }
  .rec-rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 10px 16px; }
  .rec-diag-head { padding: 14px 16px 4px; }
  .rec-run { padding: 10px 4px 18px; }
  .rec-trace-btn { padding: 8px 16px; }
  .rec-trace pre { margin: 0 16px; }
  .rec-copy { width: 44px; height: 44px; margin: -12px -10px -12px auto; }
  .rec-foot { flex-direction: column; align-items: stretch; padding-top: 8px; }
  .rec-foot nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .rec-foot nav a, .rec-foot nav a:first-child, .rec-foot nav a:last-child { justify-content: center; padding: 0 4px; }
  .rec-foot > span { padding: 8px 0 0; }
}

/* =====================================================================================================
   Audit fix B · legal documents (terms, privacy, refund). The status card is one bordered card with the approval track
   and no cut cap; "Legal" is an eyebrow over equal tabs; section numbers are eyebrows over display H2s; the rails are
   240px so notes don't shred; every note is one component (icon + label, real lists); the end is a prev/next pager.
   ===================================================================================================== */
.lgd .lgd-tabs { flex-wrap: wrap; gap: 4px; margin: 0 0 18px; }
.lgd .lgd-tabs-label { flex-basis: 100%; margin: 0 0 6px; font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.lgd .lgd-tabs a { min-height: 40px; padding: 0 14px; }
.lgd .lgd-tabs a::before { inset: 2px 0; }
.lgd-head .t-title { font-size: clamp(36px, 3.4vw, 48px); line-height: 1.08; }
.lgd-head-grid { align-items: start; }
.lgd-status { gap: 14px; padding: 18px 20px 20px; box-shadow: 0 0 0 1px var(--hairline), 0 1px 2px rgba(20,20,19,.04), 0 12px 32px -18px rgba(20,20,19,.16); }
.lgd-status::before { content: none; }
.lgd-actions .icon-btn { border-radius: var(--r-sm); }
.lgd-actions .icon-btn:hover { background: rgba(20,20,19,.06); color: var(--ink); }
.lgd-status-meta { grid-template-columns: 112px minmax(0, 1fr); }
.lgd-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2px 0 0; padding: 12px 0 2px; border-top: 1px solid var(--hairline); }
.lgd-steps li { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-size: var(--fs-small); color: var(--ink-3); }
.lgd-steps li::before { content: ""; position: absolute; left: 12px; right: 0; top: 5px; height: 2px; background: repeating-linear-gradient(90deg, #a9a396 0 3px, transparent 3px 6px); }
.lgd-steps li:last-child::before { display: none; }
.lgd-steps li.is-done::before { background: var(--success); }
.lgd-steps li > i { position: relative; z-index: 1; width: 12px; height: 12px; border-radius: 50%; background: var(--raised); box-shadow: inset 0 0 0 1.5px #8f8a7e; }
.lgd-steps li.is-done > i { background: var(--success); box-shadow: none; }
.lgd-steps li.is-now > i { background: var(--brand-orange); box-shadow: 0 0 0 4px var(--warning-tint); }
.lgd-steps li.is-done, .lgd-steps li.is-now { color: var(--ink); }
.lgd-steps li.is-now span { font-weight: 600; }
.lgd-status-note { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 4px 10px; padding: 2px 0 0 12px; border-radius: 0; background: none; box-shadow: inset 2px 0 0 var(--brand-orange); }
.lgd-status-note svg { margin-top: 2px; }
.lgd-note-link { grid-column: 2; display: inline-flex; align-items: center; gap: 6px; justify-self: start; min-height: 32px; white-space: nowrap; font-size: var(--fs-small); }
.lgd-note-link svg { width: 14px; height: 14px; transition: transform var(--d-2) var(--ease-out); }
.lgd-note-link:hover svg { transform: translateX(3px); }

/* Grid: TOC 240 | article; inside: prose | 32 | 240 rail. */
.lgd .l-doc { grid-template-columns: 240px minmax(0, 1fr); column-gap: 48px; }
.lgd .doc-toc a { padding: 9px 0 9px 14px; font-size: var(--fs-ui); line-height: 1.4; }
.lgd .doc-toc a .t-mono { font-size: var(--fs-mono); color: var(--ink-3); padding-top: 2px; }
.lgd .doc-sec { grid-template-columns: minmax(0, 1fr) 240px; column-gap: 32px; padding: 44px 0; border-top-color: #ddd6c8; }
.lgd .doc-sec:first-child { padding-top: 0; }
.lgd .doc-text h2 { flex-wrap: wrap; align-items: center; gap: 10px 8px; font-family: var(--font-brand); font-size: var(--fs-heading); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; }
.lgd .doc-text h2 .t-mono { flex-basis: 100%; display: inline-flex; min-width: 0; font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 600; letter-spacing: .08em; color: var(--ink-2); }
.lgd .doc-text h2 .t-mono::before { content: "§ "; color: var(--ink-3); }
.lgd .doc-note { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-left: 0; border-radius: var(--r-lg); background: rgba(20,20,19,.035); font-size: var(--fs-small); line-height: 1.5; color: var(--ink-2); }
.lgd .doc-note b { display: flex; align-items: center; gap: 8px; margin: 0 0 2px; font-size: var(--fs-ui); }
.lgd .doc-note b svg { width: 18px; height: 18px; color: var(--accent-ink); flex: none; }
.lgd-list { display: flex; flex-direction: column; gap: 8px; margin: 2px 0 0; padding: 0; list-style: none; }
.lgd-list li { position: relative; padding-left: 16px; }
.lgd-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: var(--ink-3); }
.lgd-note-act { margin-top: 2px !important; }
.lgd-note-act .tx { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; white-space: nowrap; }
.lgd-note-act .tx svg { width: 14px; height: 14px; }

/* Service boundary: two tinted panels with one icon language. */
.lgd-bound { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 0; background: none; box-shadow: none; }
.lgd-bound-line { display: none; }
.lgd-bound-col { padding: 20px 22px 22px !important; border-radius: var(--r-lg); }
.lgd-bound-col.is-in { background: var(--success-tint); box-shadow: inset 0 0 0 1px var(--success-line); }
.lgd-bound-col.is-out { background: rgba(20,20,19,.03); box-shadow: inset 0 0 0 1px var(--hairline); }
.lgd-bound-col > p { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.lgd-bound-col.is-in > p { color: var(--success); }
.lgd-bound-col.is-out > p { color: var(--ink-2); }
.lgd-bound-col ul { gap: 10px; }
.lgd-bound-col li { align-items: center; }
.lgd-bound-col li svg { box-sizing: content-box; width: 12px; height: 12px; margin: 0; padding: 4px; border-radius: 50%; stroke-width: 2.4; }
.lgd-bound-col.is-in li svg { background: rgba(13,111,98,.14); color: var(--success); }
.lgd-bound-col.is-out li svg { background: rgba(20,20,19,.07); color: var(--ink-2); }

/* End: the question line, then one pager. */
.lgd-end { display: flex; flex-direction: column; align-items: stretch; gap: 20px; margin-top: 4px; padding-top: 32px; border-top-color: #ddd6c8; }
.lgd-end::before { content: none; }
.lgd-ask { display: flex; align-items: flex-start; gap: 10px; max-width: none !important; }
.lgd-ask svg { width: 18px; height: 18px; margin-top: 2px; color: var(--ink-3); flex: none; }
.lgd-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lgd-pg { display: grid; grid-template-columns: minmax(0, 1fr) 20px; grid-template-rows: auto auto; align-items: center; column-gap: 12px; min-height: 72px; padding: 14px 20px; border-radius: var(--r-lg); background: var(--raised); box-shadow: 0 0 0 1px var(--hairline), 0 1px 2px rgba(20,20,19,.04); color: var(--ink); transition: box-shadow var(--d-2), transform var(--d-2) var(--ease-out); }
.lgd-pg span { font-size: var(--fs-small); color: var(--ink-3); }
.lgd-pg b { font-size: var(--fs-row); font-weight: 600; letter-spacing: -.01em; }
.lgd-pg svg { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; color: var(--ink-2); transition: transform var(--d-2) var(--ease-out); }
.lgd-pg:hover { box-shadow: 0 0 0 1px var(--hairline-strong), 0 8px 20px -10px rgba(20,20,19,.18); transform: translateY(-1px); }
.lgd-pg:focus-visible { outline: var(--focus-outline); outline-offset: 2px; }
.lgd-pg.is-next { text-align: right; }
.lgd-pg.is-next svg { order: 2; }
.lgd-pg.is-prev { grid-template-columns: 20px minmax(0, 1fr); }
.lgd-pg.is-prev span, .lgd-pg.is-prev b { grid-column: 2; }
.lgd-pg.is-prev svg { grid-column: 1; grid-row: 1 / span 2; }
.lgd-pg.is-next:hover svg { transform: translateX(3px); }
.lgd-pg.is-prev:hover svg { transform: translateX(-3px); }
.lgd-pg-gap { display: block; }

@media (max-width: 1100px) {
  .lgd .doc-sec { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
  .lgd .doc-note { max-width: 66ch; }
}
@media (max-width: 860px) {
  .lgd .l-doc { grid-template-columns: minmax(0, 1fr); }
  .lgd .doc-toc { background: rgba(250,249,245,.97); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 6px 12px -10px rgba(20,20,19,.25); }
  .lgd .doc-toc summary { min-height: 48px; }
  .lgd-sum span { font-weight: 600; color: var(--ink); }
  .lgd-count { color: var(--ink-2); }
}
@media (max-width: 640px) {
  .lgd-head { padding-top: calc(var(--nav-h) + 20px); }
  .lgd .lgd-tabs { margin: 0 calc(var(--gutter) * -1) 14px; padding: 0 var(--gutter); gap: 4px; }
  .lgd-head .t-title { font-size: 34px; }
  .lgd-head .page-sub { display: block; margin: 10px 0 18px; font-size: var(--fs-ui); line-height: 1.5; }
  .lgd-status-meta { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 6px 12px; }
  .lgd-status-meta > div { display: contents; }
  .lgd-actions [data-print] { display: none; }
  .lgd .doc-sec { padding: 32px 0; }
  .lgd .doc-text h2 { font-size: 22px; }
  .lgd-bound { grid-template-columns: minmax(0, 1fr); }
  .lgd-bound-col { padding: 16px 18px 18px !important; }
  .lgd-pager { grid-template-columns: minmax(0, 1fr); }
  .lgd-pg-gap { display: none; }
  .lgd-end { padding-bottom: 8px; }
}
@media (max-width: 960px) {
  .rec-500 .rec-lockup > .recover, .rec-500 .rec-lockup > .rec-diag, .rec-500 .rec-lockup > .rec-next { grid-column: auto; grid-row: auto; }
}
@media (max-width: 640px) {
  .lgd .lgd-tabs a { min-height: 44px; }
  .lgd .lgd-tabs a::before { inset: 4px 0; }
  .lgd-note-link, .lgd-note-act .tx { min-height: 44px; }
  .rec-go { width: 44px; height: 44px; margin-right: 2px; }
}
.rec-fig .rf-claim text { color: #fff; }

/* =====================================================================================================
   Founder review 10-09 · C4: the legal head sits on the brand field like every other public page
   (same .atmo-band + .atmo-sheet pair as trust, help and status; field.js mounts the shader).
   ===================================================================================================== */
.lgd-head.atmo-band { padding-top: calc(var(--nav-h) + clamp(28px, 5vh, 56px)); padding-bottom: calc(var(--band-pad, 96px) + 8px); }
.lgd-head.atmo-band .page-sub { color: #fff; }
.lgd-head.atmo-band .lgd-tabs-label { color: var(--on-dark-2); }
.lgd-head.atmo-band .lgd-tabs a { color: #fff; }
.lgd-head.atmo-band .lgd-tabs a:hover::before { background: rgba(255,255,255,.14); }
.lgd-head.atmo-band .lgd-tabs a[aria-current="page"] { color: var(--ink); }
.lgd-head.atmo-band .lgd-tabs a[aria-current="page"]::before { background: #fff; box-shadow: 0 6px 16px -8px rgba(5,15,40,.5); }
.lgd-head.atmo-band .lgd-tabs a:focus-visible { outline-color: #fff; }
.lgd-head.atmo-band .lgd-status { box-shadow: 0 34px 80px -34px rgba(5,15,40,.65), 0 0 0 1px rgba(255,255,255,.12); }
@media (max-width: 640px) { .lgd-head.atmo-band { padding-top: calc(var(--nav-h) + 16px); padding-bottom: 64px; } }
@media print {
  .lgd-head.atmo-band { color: var(--ink); padding: 0; }
  .lgd-head.atmo-band > .field { display: none; }
  .lgd-head.atmo-band .t-title, .lgd-head.atmo-band .page-sub { color: var(--ink); }
  .lgd .atmo-sheet { margin-top: 0; }
}
