/* SETU · developer portal
 * Design system 2.0 (Day). Loaded after /assets/site.css, which brings the tokens
 * (/assets/ds/tokens.css) and shared components (/assets/ds/components.css).
 * Monospace is used for code only; labels are sentence case.
 */

main { min-width: 0; }
[hidden] { display: none !important; }
main code { overflow-wrap: anywhere; }
.frame.dv { width: min(1240px, 100%); }

/* ── hero and portal navigation ────────────────────────────────── */

.dv-hero { padding: 0 0 clamp(26px, 4vw, 40px); }
.dv-hero .crumb .tg { color: var(--accent); }
.dv-hero h1 {
  font-size: var(--t-headline);
  line-height: 1.06;
  letter-spacing: -0.022em;
  font-weight: 650;
  font-variation-settings: "wdth" var(--wdth-headline);
  max-width: 24ch;
  overflow-wrap: anywhere;
}
.dv-hero.big h1 {
  font-size: var(--t-display);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-variation-settings: "wdth" var(--wdth-display);
  max-width: 15ch;
}
.dv-hero .lead { margin-top: 18px; }
.dv-hero .name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 14px; }
.dv-hero .name .deva { font-family: var(--font-script); color: var(--ink-3); font-size: 1.0625rem; }
.dv-hero .actions { margin-top: 24px; }

.dv-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 5px;
  margin: 0 0 clamp(28px, 4vw, 44px);
  background: var(--surface-2);
  border-radius: 22px;
}
.dv-nav a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 16px;
  border-radius: var(--r-pill);
  color: var(--ink-2);
  font-size: var(--t-15);
  font-weight: 550;
  text-decoration: none;
}
.dv-nav a:hover { color: var(--ink); background: var(--surface-3); text-decoration: none; }
.dv-nav a[aria-current="page"] { background: var(--bg); color: var(--ink); box-shadow: 0 1px 2px oklch(0.21 0.02 272 / 0.08), 0 0 0 1px var(--line); }
.dv-nav a .tg { color: var(--accent); }

/* ── sections and prose ────────────────────────────────────────── */

.dv-sec { padding: clamp(34px, 5vw, 52px) 0; border-top: 1px solid var(--line); min-width: 0; }
.dv-sec:first-of-type { border-top: 0; padding-top: 8px; }
.dv-sec > h2 {
  font-size: var(--t-24);
  line-height: 1.2;
  letter-spacing: -0.012em;
  font-weight: 650;
  margin-bottom: 10px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 16px;
  flex-wrap: wrap;
}
.dv-sec > h2 .aside { font-size: var(--t-14); font-weight: 550; color: var(--ink-3); letter-spacing: 0; }
.dv-sec h3 { font-size: var(--t-17); font-weight: 650; margin: 26px 0 8px; }
.dv-sec > .intro, .dv-prose { max-width: var(--measure); color: var(--ink-2); }
.dv-sec > .intro { margin-bottom: 18px; }
.dv-prose { color: var(--ink); }
.dv-prose p + p, .dv-prose p + ul, .dv-prose ul + p { margin-top: 0.85em; }
.dv-prose ul, .dv-prose ol { padding-left: 1.25em; margin: 0.6em 0 0; }
.dv-prose li + li { margin-top: 0.35em; }
.dv-prose li::marker { color: var(--ink-3); }
.dv-sub { font-size: var(--t-14); color: var(--ink-3); }

.dv-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
.dv-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(24px, 4vw, 48px); align-items: start; }
@media (max-width: 960px) { .dv-grid2, .dv-split { grid-template-columns: minmax(0, 1fr); } }
.dv-aside { position: sticky; top: 76px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (max-width: 960px) { .dv-aside { position: static; } }

.kpis.dv-kpis { margin: 0 0 14px; padding: 20px 0; gap: 20px; }
.kpis.dv-kpis .kpi .v { font-size: 1.75rem; }
.kpis.dv-kpis + .provenance { margin-bottom: clamp(36px, 5vw, 56px); }
.kpi .d { margin-top: 2px; font-size: var(--t-13); color: var(--ink-3); }

.provenance time, .dv-time { text-decoration: underline dotted; text-underline-offset: 3px; text-decoration-color: var(--line-strong); }
.provenance a { font-weight: 550; }

/* ── chips ─────────────────────────────────────────────────────── */

.dv-chips { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.dv-chips .chip { margin-right: 0; }
.chip.fmt { --chip: var(--accent); }
.chip.own { --chip: var(--accent); }
.chip.stale { --chip: var(--warn); }
.chip.mixed { background: transparent; border: 1px dashed var(--ink-3); color: var(--ink-2); height: 21px; }
.chip.quiet { --chip: var(--ink-3); }
.chip.review { --chip: var(--danger); }
.chip.ok { --chip: var(--ok); }

/* ── buttons, copy, URLs ───────────────────────────────────────── */

.dv-copy, .dv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 13px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line-strong);
  background: var(--bg);
  color: var(--ink);
  font: 550 var(--t-14)/1 var(--font-ui);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--d-1) var(--ease), border-color var(--d-1) var(--ease);
}
.dv-copy:hover, .dv-btn:hover { background: var(--surface-2); border-color: var(--ink-3); text-decoration: none; }
.dv-copy.done { color: var(--ok); border-color: currentColor; }
.dv-btn.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.dv-btn.primary:hover { background: var(--accent-ink); }
.dv-btn .tg, .dv-copy .tg { flex: none; }

.dv-url {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 5px 5px 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  background: var(--bg);
  min-width: 0;
}
.dv-url code {
  flex: 1;
  min-width: 0;
  background: transparent;
  padding: 4px 0;
  font-size: var(--t-14);
  overflow-wrap: anywhere;
  word-break: break-all;
}
.dv-url + .dv-url { margin-top: 8px; }
@media (max-width: 520px) {
  .dv-url { flex-wrap: wrap; justify-content: flex-end; padding: 8px 8px 8px 12px; }
  .dv-url code { flex: 1 1 100%; }
}
.dv-field-k { font-size: var(--t-13); font-weight: 550; color: var(--ink-3); margin: 12px 0 6px; }
.dv-field-k:first-child { margin-top: 0; }

.dv-text {
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--surface);
  padding: 12px 14px;
  font-size: var(--t-15);
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.dv-text pre { margin: 0; padding: 0; border: 0; background: transparent; border-radius: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--t-13); }
.dv-textbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 16px 0 8px; flex-wrap: wrap; }
.dv-textbar .t { font-size: var(--t-15); font-weight: 650; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ── code samples ──────────────────────────────────────────────── */

.dv-code { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); overflow: hidden; min-width: 0; margin-top: 4px; }
.dv-code .bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-bottom: 1px solid var(--line); background: var(--surface-2); flex-wrap: wrap; }
.dv-code .bar .ttl { font-size: var(--t-14); font-weight: 550; color: var(--ink-2); padding: 0 6px; }
.dv-tabs { display: flex; gap: 2px; flex-wrap: wrap; }
.dv-tabs [role="tab"] {
  font: 550 var(--t-14)/1 var(--font-ui);
  color: var(--ink-2);
  background: transparent;
  border: 0;
  border-radius: var(--r-pill);
  min-height: 32px;
  padding: 0 13px;
  cursor: pointer;
}
.dv-tabs [role="tab"]:hover { color: var(--ink); background: var(--surface-3); }
.dv-tabs [role="tab"][aria-selected="true"] { background: var(--bg); color: var(--ink); box-shadow: 0 0 0 1px var(--line); }
.dv-code pre { margin: 0; border: 0; border-radius: 0; background: transparent; padding: 14px 16px; font-size: var(--t-13); line-height: 1.6; overflow-x: auto; white-space: pre; tab-size: 2; }
.dv-code [role="tabpanel"][hidden] { display: none; }
.dv-code .c { color: var(--ink-3); }

/* ── tables ────────────────────────────────────────────────────── */

table.data th[scope="row"] { color: var(--ink); font-size: var(--t-14); font-weight: 600; white-space: normal; background: transparent; border-bottom: 1px solid var(--line); vertical-align: top; padding-top: 11px; }
table.data tr:last-child th[scope="row"] { border-bottom: none; }
.dv-table td a, .dv-table th a { color: var(--accent); }
.dv-table td a:hover code { text-decoration: underline; }
table.data td.num, table.data th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
table.data thead th { position: sticky; top: 0; z-index: 1; }
table.data td code, table.data th code { font-size: var(--t-13); }
/* Address patterns read as one token: keep them whole where there is room. */
@media (min-width: 900px) { #addresses table.data td:not(:nth-child(2)) code { white-space: nowrap; overflow-wrap: normal; word-break: normal; } }
.dv-table { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg); }
/* Tables keep readable columns and scroll inside their frame on narrow screens. */
.dv-table table.data { min-width: 600px; }
.dv-table table.data th { background: var(--surface); }
.dv-table.tall { max-height: 640px; overflow: auto; }

/* ── catalogue ─────────────────────────────────────────────────── */

.dv-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 14px;
  align-items: end;
}
.dv-filters .q { grid-column: span 2; }
@media (max-width: 760px) { .dv-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .dv-filters .dv-field select { font-size: 15px; padding-left: 10px; } }
.dv-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dv-field label { font-size: var(--t-13); font-weight: 550; color: var(--ink-2); }
.dv-field input, .dv-field select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  font: 400 16px/1.2 var(--font-ui);
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  padding: 0 12px;
}
.dv-field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 34px;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);
  background-position: calc(100% - 18px) 52%, calc(100% - 13px) 52%;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.dv-field input::placeholder { color: var(--ink-3); opacity: 1; }
.dv-field input:focus-visible, .dv-field select:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); border-radius: var(--r-sm); }
.dv-search { position: relative; }
.dv-search > [data-glyph] { position: absolute; left: 12px; bottom: 13px; line-height: 0; color: var(--ink-3); pointer-events: none; }
.dv-search input { padding-left: 40px; }

.dv-resultbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 18px 0 4px; font-size: var(--t-14); color: var(--ink-2); }
.dv-resultbar strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.dv-built { color: var(--ink-3); }
.dv-age { margin-top: 16px; }
#prov .provenance { margin-top: 28px; }

.dv-group { margin-top: 30px; }
.dv-group > .gh { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; padding: 0 0 10px; border-bottom: 1px solid var(--line-strong); }
.dv-group > .gh .tg { color: var(--accent); }
.dv-group > .gh h2 { font-size: var(--t-20); font-weight: 650; letter-spacing: -0.01em; }
.dv-group > .gh .deva { font-family: var(--font-script); color: var(--ink-3); }
.dv-group > .gh .meta { font-size: var(--t-14); color: var(--ink-3); }
.dv-group > .gh a { font-size: var(--t-14); font-weight: 550; margin-left: auto; }
@media (max-width: 640px) { .dv-group > .gh a { margin-left: 0; } }

.dv-group > .gl { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 0 4px; }
.dv-list { list-style: none; margin: 0; padding: 0; }
.dv-item { padding: 18px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 20px; min-width: 0; }
.dv-item .head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; min-width: 0; }
.dv-item .t { font-size: var(--t-17); font-weight: 650; letter-spacing: -0.005em; color: var(--ink); }
.dv-item .t:hover { color: var(--accent); }
.dv-item .id { font-family: var(--font-code); font-size: var(--t-13); color: var(--ink-3); overflow-wrap: anywhere; }
.dv-item .desc { grid-column: 1; font-size: var(--t-15); color: var(--ink-2); max-width: 74ch; }   /* under the title, even with no chips beside it */
.dv-item .side { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: flex-start; align-items: center; gap: 6px; max-width: 340px; }
.dv-item .facts, .dv-item .acts, .dv-item .more { grid-column: 1 / -1; }
.dv-item .facts { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: var(--t-14); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.dv-item .facts b { color: var(--ink); font-weight: 600; }
.dv-item .acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
.dv-item .acts code { font-size: var(--t-13); min-width: 0; max-width: 100%; word-break: break-all; }
.dv-item .more { margin-top: 6px; }
@media (max-width: 720px) {
  .dv-item { grid-template-columns: minmax(0, 1fr); }
  .dv-item .side { grid-column: 1; grid-row: auto; justify-content: flex-start; max-width: none; }
  #results .dv-item .head .id { display: none; }   /* the address below repeats it */
}

.dv-outline { list-style: none; margin: 0; padding: 12px 14px; border-radius: var(--r-sm); background: var(--surface); border: 1px solid var(--line); columns: 2; column-gap: 32px; font-size: var(--t-14); }
.dv-outline li { break-inside: avoid; display: flex; flex-wrap: wrap; gap: 0 10px; padding: 3px 0; min-width: 0; }
.dv-outline .n { font-family: var(--font-code); font-size: var(--t-13); color: var(--ink); overflow-wrap: anywhere; }
.dv-outline .ty { color: var(--ink-3); overflow-wrap: anywhere; }
@media (max-width: 720px) { .dv-outline { columns: 1; } }

.dv-state { margin-top: 14px; }

/* ── product directory (overview) ──────────────────────────────── */

.dv-dir { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 32px; }
.dv-dir li { border-bottom: 1px solid var(--line); min-width: 0; }
.dv-dir a { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; padding: 14px 2px; color: var(--ink); text-decoration: none; }
.dv-dir a:hover { background: var(--surface); text-decoration: none; }
.dv-dir .tg { color: var(--accent); grid-row: 1 / span 2; }
.dv-dir .nm { font-weight: 650; }
.dv-dir .nm .deva { font-family: var(--font-script); font-weight: 400; color: var(--ink-3); margin-left: 6px; }
.dv-dir .ct { font-size: var(--t-14); color: var(--ink-3); font-variant-numeric: tabular-nums; text-align: right; }
.dv-dir .tl { grid-column: 2 / -1; font-size: var(--t-14); color: var(--ink-2); line-height: 1.45; }

/* ── schema tree ───────────────────────────────────────────────── */

.dv-treebar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.dv-treebar .dv-field { flex: 1 1 200px; }
.dv-treebar .dv-field input { min-height: 38px; font-size: 15px; }
.dv-tree { font-size: var(--t-14); line-height: 1.55; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--bg); padding: 12px 14px; overflow-x: auto; }
.dv-tree ul { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 1px solid var(--line); }
.dv-tree > ul { padding-left: 0; border-left: 0; }
.dv-tree li { padding: 2px 0; min-width: 0; }
.dv-tree details > summary { cursor: pointer; list-style: none; border-radius: 6px; }
.dv-tree details > summary::-webkit-details-marker { display: none; }
.dv-tree details > summary::before { content: "+"; display: inline-block; width: 16px; color: var(--accent); font-weight: 650; }
.dv-tree details[open] > summary::before { content: "−"; }
.dv-tree details > summary:hover { background: var(--surface); }
.dv-tree .leaf { padding-left: 16px; }
.dv-tree .fn { font-family: var(--font-code); font-size: var(--t-13); color: var(--ink); font-weight: 600; }
.dv-tree .ty { color: var(--accent); margin-left: 8px; }
.dv-tree .opt { margin-left: 8px; font-size: var(--t-12); color: var(--watch); font-weight: 600; }
.dv-tree .ex { color: var(--ink-3); margin-left: 8px; overflow-wrap: anywhere; }
.dv-tree .ex q { color: var(--ok); }
.dv-tree mark { background: var(--watch-wash); color: var(--ink); border-radius: 3px; padding: 0 2px; }

/* ── JSON sample ───────────────────────────────────────────────── */

pre.dv-json { font-size: var(--t-13); line-height: 1.55; max-height: 560px; overflow: auto; white-space: pre; margin: 0; }
.dv-json .k { color: var(--ink); }
.dv-json .s { color: var(--ok); }
.dv-json .n { color: var(--accent); }
.dv-json .b { color: var(--watch); }
.dv-json .z { color: var(--ink-3); }

/* ── checks and facts ──────────────────────────────────────────── */

.dv-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; font-size: var(--t-15); margin: 0; }
.dv-facts dt { color: var(--ink-3); font-size: var(--t-14); font-weight: 550; padding-top: 1px; }
.dv-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.dv-facts dd code { font-size: var(--t-13); }
@media (max-width: 420px) { .dv-facts { grid-template-columns: minmax(0, 1fr); gap: 2px 0; } .dv-facts dd { margin-bottom: 8px; } }

.dv-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; font-size: var(--t-14); font-weight: 550; }
.dv-checks { list-style: none; margin: 0; padding: 0; }
.dv-checks li { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 4px 20px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: var(--t-15); }
.dv-checks li:first-child { border-top: 1px solid var(--line); }
.dv-checks .k { font-weight: 600; }
.dv-checks .paths { display: block; margin-top: 4px; font-size: var(--t-13); color: var(--ink-3); overflow-wrap: anywhere; }
.dv-checks .paths code { font-size: var(--t-12); }
@media (max-width: 720px) { .dv-checks li { grid-template-columns: minmax(0, 1fr); } }

.dv-members { list-style: none; padding: 0; margin: 10px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 20px; font-size: var(--t-14); max-height: 320px; overflow: auto; }
.dv-members li { overflow-wrap: anywhere; padding: 2px 0; }
.dv-members .sz { color: var(--ink-3); margin-left: 6px; font-variant-numeric: tabular-nums; }
.dv-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-top: 14px; }
.dv-thumbs figure { margin: 0; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: var(--surface); }
.dv-thumbs img { display: block; width: 100%; height: 120px; object-fit: contain; background: var(--surface-3); }
.dv-thumbs figcaption { padding: 6px 8px; font-size: var(--t-12); color: var(--ink-3); overflow-wrap: anywhere; }

/* ── licences ──────────────────────────────────────────────────── */

.dv-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 860px) { .dv-notes { grid-template-columns: minmax(0, 1fr); } }
.dv-note { border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); padding: 18px 20px; min-width: 0; }
.dv-note h3 { font-size: var(--t-17); font-weight: 650; margin: 0 0 6px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dv-note p { font-size: var(--t-15); color: var(--ink-2); }
.dv-note p + p { margin-top: 8px; }
.dv-note .credit { margin-top: 10px; font-size: var(--t-14); color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-xs); padding: 8px 10px; overflow-wrap: anywhere; }

/* ── changelog ─────────────────────────────────────────────────── */

.dv-log { list-style: none; margin: 0; padding: 0; }
.dv-log > li { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 4px 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.dv-log > li:first-child { border-top: 1px solid var(--line); }
.dv-log .when { font-size: var(--t-14); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.dv-log .sum { font-weight: 600; }
.dv-log details { margin-top: 8px; font-size: var(--t-14); }
.dv-log details summary { cursor: pointer; color: var(--accent); font-weight: 550; }
.dv-log .ds { margin-top: 10px; }
.dv-log .ds code { font-size: var(--t-13); }
.dv-log .paths { font-size: var(--t-13); color: var(--ink-2); overflow-wrap: anywhere; margin-top: 2px; }
@media (max-width: 720px) { .dv-log > li { grid-template-columns: minmax(0, 1fr); } }

.dv-steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.dv-steps > * { counter-increment: s; border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px 18px; background: var(--surface); min-width: 0; }
.dv-steps > * > b { display: block; font-weight: 650; margin-bottom: 4px; }
.dv-steps > * > span { font-size: var(--t-15); color: var(--ink-2); }
.dv-sec > h2 [data-glyph] { color: var(--accent); vertical-align: -3px; margin-right: 6px; }

@media print {
  .masthead, .colophon, .dv-nav, .dv-copy, .dv-filters, .dv-tabs, .dv-treebar { display: none !important; }
}

/* ── skip link ─────────────────────────────────────────────────── */

.dv-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--accent); color: var(--on-accent); padding: 10px 16px; border-radius: var(--r-pill); font-weight: 600; }
.dv-skip:focus { left: 16px; }
main:focus { outline: none; }
