/**
 * DOBGuard homepage — "The Record" visual system
 * Shared system scoped to body.dg-rec (nav, type, buttons, footer).
 * Page compositions: .hm-* (homepage, body.dg-home) · .pr-* (pricing, body.dg-plans).
 * Loaded after public-ds.css. Does not affect /account/.
 *
 * Type:     Archivo (variable wdth/wght) for display + UI · IBM Plex Mono for data
 * Palette:  graphite ink · bone paper · hairline steel · signal amber
 * Motion:   draw-on line-work, staggered reveals, pinned state diagram
 */

/* ------------------------------------------------------------------ tokens */
.dg-rec {
  --ink: #0E1116;
  --ink-2: #141922;
  --ink-3: #1B212C;
  --paper: #F4F1EA;
  --paper-2: #ECE8DF;
  --bone: #FBF9F4;
  --line: #D6D0C4;
  --line-d: rgba(244, 241, 234, 0.14);
  --line-d2: rgba(244, 241, 234, 0.28);
  --text: #15181E;
  --muted: #5D6470;
  --muted-d: rgba(244, 241, 234, 0.64);
  --faint-d: rgba(244, 241, 234, 0.38);
  --amber: #F2B705;
  --amber-ink: #8A6A0A;
  --red: #C8321F;

  --f-display: "Archivo", "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --f-ui: "Archivo", "IBM Plex Sans", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --wrap: 1280px;
  --gutter: clamp(20px, 4vw, 48px);
  --sec: clamp(72px, 10vw, 128px);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  font-family: var(--f-ui);
  color: var(--text);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.dg-rec { margin: 0; }
.dg-rec .dg-main { padding-top: 0; }  /* nav is sticky and already in flow */

.hm-wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.hm-visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* --------------------------------------------------------------------- nav */
.dg-rec .dg-nav {
  background: rgba(14, 17, 22, 0.86);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-d);
  box-shadow: none;
  color: var(--paper);
}
.dg-rec .dg-nav__brand img { height: 40px; width: auto; filter: invert(1) brightness(1.08); }
.dg-rec .dg-nav__link,
.dg-rec button.dg-nav__link { color: var(--paper); font-family: var(--f-ui); font-weight: 500; background: transparent; border: 0; cursor: pointer; }
.dg-rec .dg-nav__actions { gap: 6px; }
.dg-rec .dg-nav__actions .dg-nav__login { padding: 0 12px; font-size: 14px; }
.dg-rec .dg-nav__actions .dg-btn--accent {
  white-space: nowrap;
  min-height: 36px;
  padding: 0 14px;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-left: 6px;
}
.dg-rec .dg-nav__toggle { width: 36px; height: 36px; min-height: 0; border-radius: 3px; }
.dg-rec .dg-nav { height: var(--dg-nav-h); }
.dg-rec .dg-nav__link:hover,
.dg-rec .dg-nav__link[aria-current="page"] { background: rgba(244, 241, 234, 0.08); color: var(--paper); }
.dg-rec .dg-nav__menu { background: var(--ink-2); border-color: var(--line-d); color: var(--paper); top: 100%; margin-top: 0; }
.dg-rec .dg-nav__menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.dg-rec .dg-nav__dropdown:focus-within .dg-nav__menu { display: block; }
body.dg-rec.dg-signup { display: block; }
.dg-rec .dg-nav__menu a:hover { background: rgba(244, 241, 234, 0.06); }
.dg-rec .dg-nav__menu-hint { color: var(--muted-d); }
.dg-rec .dg-nav__toggle { background: transparent; border-color: var(--line-d2); color: var(--paper); }
.dg-rec .dg-nav__mobile { background: var(--ink-2); border-color: var(--line-d); color: var(--paper); }
.dg-rec .dg-nav__mobile a,
.dg-rec .dg-nav__mobile button.dg-nav__accordion { color: var(--paper); border-color: var(--line-d); }
.dg-rec .dg-btn--accent { background: var(--amber); color: var(--ink); border-radius: 3px; font-family: var(--f-ui); font-weight: 600; }
.dg-rec .dg-btn--accent:hover { background: #ffc81f; }

/* ------------------------------------------------------------------- type */
.hm-eyebrow {
  margin: 0 0 18px;
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 12px;
}
.hm-eyebrow span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 20px;
  padding: 0 6px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.hm-eyebrow--amber { color: var(--amber); }
.hm-hero .hm-eyebrow, .hm-story .hm-eyebrow, .hm-report .hm-eyebrow, .hm-final .hm-eyebrow { color: var(--amber); }
.hm-ledger .hm-eyebrow, .hm-scale .hm-eyebrow, .hm-plans .hm-eyebrow { color: var(--amber-ink); }

.hm-d1 {
  margin: 0 0 26px;
  font-family: var(--f-display);
  font-variation-settings: "wdth" 96;
  font-weight: 600;
  font-size: clamp(40px, 5.3vw, 74px);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: var(--paper);
}
.hm-d1__l { display: block; }
.hm-d1__l--soft {
  color: var(--amber);
  font-weight: 500;
  font-variation-settings: "wdth" 92;
  letter-spacing: -0.03em;
  margin-top: 0.06em;
}

.hm-d2 {
  margin: 0 0 20px;
  font-family: var(--f-display);
  font-variation-settings: "wdth" 96;
  font-weight: 600;
  font-size: clamp(32px, 4.1vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  max-width: 16ch;
}

.hm-lead {
  margin: 0 0 30px;
  font-size: clamp(17px, 1.3vw, 19px);
  line-height: 1.55;
  max-width: 40ch;
  color: var(--muted-d);
  font-weight: 400;
}
.hm-body {
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.6;
  max-width: 46ch;
  color: var(--muted);
}
.hm-fine {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.hm-story .hm-body, .hm-report .hm-body, .hm-final .hm-body { color: var(--muted-d); }
.hm-story .hm-fine, .hm-report .hm-fine, .hm-final .hm-fine { color: var(--faint-d); }

.hm-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: inherit;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: color 180ms var(--ease), border-color 180ms var(--ease);
}
.hm-link::after { content: "→"; font-weight: 500; }
.hm-link:hover { color: var(--amber); }
.hm-ledger .hm-link:hover, .hm-scale .hm-link:hover, .hm-plans .hm-link:hover { color: var(--amber-ink); }

.hm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 3px;
  font-family: var(--f-ui);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border: 1px solid transparent;
  transition: background 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease), transform 180ms var(--ease);
}
.hm-btn:active { transform: translateY(1px); }
.hm-btn--amber { background: var(--amber); color: var(--ink); }
.hm-btn--amber:hover { background: #ffc81f; }
.hm-btn--line { background: transparent; color: var(--text); border-color: var(--text); }
.hm-btn--line:hover { background: var(--text); color: var(--paper); }

/* ------------------------------------------------------------------- hero */
.hm-hero {
  position: relative;
  background:
    radial-gradient(120% 70% at 85% 10%, rgba(242, 183, 5, 0.08), transparent 55%),
    radial-gradient(60% 50% at 10% 100%, rgba(60, 80, 120, 0.18), transparent 60%),
    var(--ink);
  color: var(--paper);
  overflow: hidden;
  min-height: calc(100svh - var(--dg-nav-h));
  display: flex;
  align-items: center;
  padding: clamp(32px, 4.5vw, 56px) 0 clamp(36px, 4vw, 52px);
}
.hm-hero__grain {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--line-d) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-d) 1px, transparent 1px);
  background-size: 96px 96px;
  opacity: 0.5;
  mask-image: linear-gradient(180deg, transparent 0%, #000 25%, #000 80%, transparent 100%);
}
.hm-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: end;
}
.hm-hero__copy { padding-bottom: 8px; }

.hm-hero__meta {
  margin: 28px 0 0;
  display: grid;
  grid-template-columns: auto auto;
  gap: 10px 32px;
  font-size: 13px;
}
.hm-hero__meta div { display: grid; gap: 4px; }
.hm-hero__meta dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.hm-hero__meta dd { margin: 0; color: var(--muted-d); }

/* search — integrated plate, no card */
.hm-search .dg-search {
  background: var(--bone);
  color: var(--text);
  border: 0;
  border-radius: 4px;
  padding: 6px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset, 0 30px 60px -20px rgba(0,0,0,0.6);
  max-width: 520px;
}
.hm-search .dg-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hm-search .dg-search__row { grid-template-columns: 1fr auto; gap: 6px; align-items: stretch; }
.hm-search .dg-input {
  min-height: 48px;
  border: 0;
  background: transparent;
  font-family: var(--f-ui);
  font-size: 16px;
  padding: 0 14px;
}
.hm-search .dg-input:focus { outline: none; box-shadow: inset 0 -2px 0 var(--amber); }
.hm-search .dg-btn {
  min-height: 48px;
  border-radius: 3px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--f-ui);
  font-weight: 600;
  font-size: 14px;
  padding: 0 18px;
}
.hm-search .dg-btn:hover { background: var(--ink-3); opacity: 1; }
.hm-search .dg-search__hint { margin: 8px 0 2px 14px; font-size: 12px; color: var(--muted); }

/* canvas */
.hm-canvas {
  margin: 0;
  position: relative;
  display: grid;
  gap: 14px;
  color: var(--paper);
}
.hm-plate {
  margin: 0;
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line-d2);
  border-bottom: 1px solid var(--line-d);
}
.hm-plate div { padding: 10px 14px 10px 0; display: grid; gap: 5px; border-right: 1px solid var(--line-d); margin-right: 14px; }
.hm-plate div:last-child { border-right: 0; margin-right: 0; }
.hm-plate dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.hm-plate dd { margin: 0; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--muted-d); white-space: nowrap; }
.hm-plate div:first-child dt { color: var(--amber); }
.hm-plate div:first-child dd { color: transparent; }
.hm-plate--live div:first-child dd { color: var(--amber); }

.hm-canvas__art { position: relative; }
.hm-facade { display: block; width: 100%; height: auto; max-height: 46vh; color: var(--paper); }
.hm-canvas__cap {
  position: static; display: block; margin: 14px 0 2px;
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d);
}

/* façade draw-on */
.hm-draw path, .hm-draw rect, .hm-subject path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.hm-static .hm-draw path, .hm-static .hm-draw rect, .hm-static .hm-subject path { stroke-dashoffset: 0; }
.hm-motion .hm-hero.is-live .hm-draw path,
.hm-motion .hm-hero.is-live .hm-draw rect,
.hm-motion .hm-hero.is-live .hm-subject path { stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--ease-out); }
.hm-motion .hm-hero.is-live .hm-draw--ground * { transition-delay: 0s; transition-duration: 0.9s; }
.hm-motion .hm-hero.is-live .hm-draw--ctx * { transition-delay: 0.15s; }
.hm-motion .hm-hero.is-live .hm-draw--body * { transition-delay: 0.3s; transition-duration: 1.6s; }
.hm-motion .hm-hero.is-live .hm-draw--tower * { transition-delay: 0.9s; }
.hm-motion .hm-hero.is-live .hm-draw--windows * { transition-delay: 0.8s; transition-duration: 2s; }
.hm-motion .hm-hero.is-live .hm-draw--escape * { transition-delay: 1.3s; transition-duration: 2s; }
.hm-motion .hm-hero.is-live .hm-draw--store * { transition-delay: 1.1s; }
.hm-motion .hm-hero.is-live .hm-subject * { transition-delay: 2.2s; transition-duration: 0.7s; }

/* rails */
.hm-rails { display: grid; gap: 0; border-top: 1px solid var(--line-d2); margin-top: 6px; }
.hm-rail {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  height: 30px;
  border-bottom: 1px solid var(--line-d);
  opacity: 0;
  transform: translateY(4px);
}
.hm-static .hm-rail { opacity: 1; transform: none; }
.hm-motion .hm-hero.is-live .hm-rail {
  opacity: 1; transform: none;
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
  transition-delay: calc(1.6s + var(--i) * 120ms);
}
.hm-rail__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-d); }
.hm-rail__t { position: relative; height: 100%; }
.hm-rail__t::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line-d); }
.hm-rail__t i {
  position: absolute; left: var(--x); top: 50%; width: 1.5px; height: 10px; margin-top: -5px;
  background: var(--paper); opacity: 0.8; transform: scaleY(0); transform-origin: center;
}
.hm-static .hm-rail__t i { transform: none; }
.hm-motion .hm-hero.is-live .hm-rail__t i {
  transform: none;
  transition: transform 0.35s var(--ease-out);
  transition-delay: calc(2.1s + var(--i) * 120ms);
}
.hm-rail__new { background: var(--amber) !important; opacity: 1 !important; width: 2px !important; height: 14px !important; margin-top: -7px !important; }
.hm-motion .hm-hero.is-live .hm-rail__new { transition-delay: 3s !important; }
.hm-rail__new b {
  position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px;
  border: 1px solid var(--amber); border-radius: 50%; opacity: 0;
}
.hm-motion .hm-hero.is-live .hm-rail__new b { animation: hm-ping 2.6s ease-out 3.4s infinite; }
@keyframes hm-ping {
  0%   { transform: scale(0.4); opacity: 0.9; }
  70%  { transform: scale(2.4); opacity: 0; }
  100% { transform: scale(2.4); opacity: 0; }
}
/* signal drop from the new DOB record down to the signal row (3 rails × 30px + half) */
.hm-rail__new::after {
  content: ""; position: absolute; left: 0; top: 100%; width: 1px; height: calc(30px * 4 - 7px);
  background: repeating-linear-gradient(180deg, var(--amber) 0 3px, transparent 3px 6px);
  opacity: 0; transform: scaleY(0); transform-origin: top;
}
.hm-static .hm-rail__new::after { opacity: 0.9; transform: none; }
.hm-motion .hm-hero.is-live .hm-rail__new::after { opacity: 0.9; transform: none; transition: transform 0.6s var(--ease-out), opacity 0.3s; transition-delay: 3.3s; }

.hm-rail--signal { height: 34px; border-bottom: 0; }
.hm-rail--signal .hm-rail__t::before { display: none; }
.hm-rail--signal .hm-rail__k { color: var(--amber); }
.hm-rail__label {
  position: absolute; right: calc(100% - 86% + 16px); top: 50%; transform: translateY(-50%);
  font-style: normal; font-size: 12px; color: var(--paper); white-space: nowrap; opacity: 0;
}
.hm-rail__node {
  position: absolute; left: var(--x); top: 50%; width: 10px !important; height: 10px !important; margin: -5px 0 0 -4px !important;
  background: var(--amber) !important; opacity: 1 !important; border-radius: 1px; transform: scale(0) !important;
}
.hm-static .hm-rail__label { opacity: 1; }
.hm-static .hm-rail__node { transform: none !important; }
.hm-motion .hm-hero.is-live .hm-rail__node { transform: none !important; transition: transform 0.4s var(--ease-out) !important; transition-delay: 3.9s !important; }
.hm-motion .hm-hero.is-live .hm-rail__label { opacity: 1; transition: opacity 0.5s var(--ease); transition-delay: 4.1s; }

/* copy entrance */
.hm-motion .hm-hero__copy > * { opacity: 0; transform: translateY(14px); }
.hm-motion .hm-hero.is-live .hm-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.8s var(--ease), transform 0.8s var(--ease-out); }
.hm-motion .hm-hero.is-live .hm-hero__copy > :nth-child(1) { transition-delay: 0.05s; }
.hm-motion .hm-hero.is-live .hm-hero__copy > :nth-child(2) { transition-delay: 0.15s; }
.hm-motion .hm-hero.is-live .hm-hero__copy > :nth-child(3) { transition-delay: 0.3s; }
.hm-motion .hm-hero.is-live .hm-hero__copy > :nth-child(4) { transition-delay: 0.42s; }
.hm-motion .hm-hero.is-live .hm-hero__copy > :nth-child(5) { transition-delay: 0.55s; }

/* ----------------------------------------------------------------- reveal */
.hm-motion [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion [data-reveal].is-in { opacity: 1; transform: none; }

/* ----------------------------------------------------------------- ledger */
.hm-ledger { background: var(--paper); padding: var(--sec) 0; border-bottom: 1px solid var(--line); }
.hm-ledger__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.hm-ledger__lead { position: sticky; top: calc(var(--dg-nav-h) + 40px); }
.hm-ledger .hm-d2 { color: var(--text); }

.hm-rows { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.hm-row {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1.5fr);
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
  align-items: baseline;
}
.hm-row::before {
  content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--amber);
}
.hm-motion .hm-row.is-in::before { width: 84px; transition: width 0.7s var(--ease-out); transition-delay: calc(var(--d, 0ms) + 200ms); }
.hm-row__k { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--amber-ink); font-weight: 500; display: inline-flex; align-items: center; gap: 10px; }
.hm-row__m { width: 7px; height: 7px; background: var(--amber); border: 1px solid var(--amber); border-radius: 1px; flex: none; }
.hm-row__m--sup { background: transparent; border-color: var(--amber-ink); }
.hm-legend { margin: 22px 0 0; display: flex; gap: 20px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.hm-legend span { display: inline-flex; align-items: center; gap: 8px; }
.hm-legend i { width: 7px; height: 7px; background: var(--amber); border: 1px solid var(--amber); border-radius: 1px; }
.hm-legend i.is-sup { background: transparent; border-color: var(--amber-ink); }
.hm-row__n { font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; font-size: clamp(20px, 2vw, 26px); letter-spacing: -0.02em; line-height: 1.15; color: var(--text); }
.hm-row__d { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* ------------------------------------------------------------------ story */
.hm-story { background: var(--ink); color: var(--paper); padding: var(--sec) 0 calc(var(--sec) * 0.6); position: relative; }
.hm-story::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 1px; background: linear-gradient(90deg, var(--amber), transparent 40%); opacity: 0.7; }
.hm-story__head { margin-bottom: clamp(32px, 5vw, 64px); }
.hm-story .hm-d2 { color: var(--paper); }
.hm-story__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }

.hm-stage { position: sticky; top: calc(var(--dg-nav-h) + 32px); display: flex; flex-direction: column; min-height: calc(100svh - var(--dg-nav-h) - 32px - 40px); }
.hm-stage__frame { border-top: 1px solid var(--line-d2); padding-top: 18px; }
.hm-stage [data-watch], .hm-stage [data-detect], .hm-stage [data-act] { display: none; }

/* record stub — evolves with state; schema only, no live values */
.hm-stage__rec { margin: auto 0 0; padding-top: 32px; }
.hm-stage__rec dl { margin: 0; border-top: 1px solid var(--line-d2); }
.hm-stage__rec dl div { display: grid; grid-template-columns: 72px 1fr; align-items: center; min-height: 36px; border-bottom: 1px solid var(--line-d); }
.hm-stage__rec dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.hm-stage__rec dd { margin: 0; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--muted-d); transition: color 0.4s; }
.hm-stage__rec em { font-style: normal; }
.hm-stage[data-state="detect"] .hm-stage__rec .is-status dd { color: var(--amber); }
.hm-stage[data-state="act"] .hm-stage__rec .is-status dd { color: var(--paper); }
.hm-stage__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 36px; }
.hm-stage__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.hm-stage__status { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-d); position: relative; min-width: 120px; justify-content: flex-end; }
.hm-stage__status i { width: 8px; height: 8px; border-radius: 50%; background: var(--muted-d); transition: background 0.4s; }
.hm-stage__status em { font-style: normal; display: none; }
.hm-stage[data-state="watch"] [data-watch],
.hm-stage[data-state="detect"] [data-detect],
.hm-stage[data-state="act"] [data-act] { display: inline; }
.hm-stage[data-state="detect"] .hm-stage__status i { background: var(--amber); box-shadow: 0 0 0 4px rgba(242, 183, 5, 0.18); }
.hm-stage[data-state="act"] .hm-stage__status i { background: var(--paper); }
.hm-stage__note { margin: 14px 0 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); }

/* timeline — four record rails, same language as the hero */
.hm-tl { position: relative; --rail: 46px; --k: 72px; padding-bottom: 26px; }
.hm-tl__rail { display: grid; grid-template-columns: var(--k) 1fr; align-items: center; height: var(--rail); border-top: 1px solid var(--line-d); }
.hm-tl__rail:first-child { border-top: 0; }
.hm-tl__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-d); }
.hm-tl__t { position: relative; height: 100%; }
.hm-tl__t::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line-d2); }
.hm-tl__t i { position: absolute; left: var(--x); top: 50%; width: 1.5px; height: 18px; margin-top: -9px; background: var(--paper); opacity: 0.8; }
.hm-tl__axis { position: absolute; left: var(--k); right: 0; bottom: 0; display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.hm-tl__axis::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 1px; background: var(--line-d2); }

.hm-tl__scan {
  position: absolute; top: 0; bottom: 26px; width: 72px; left: var(--k);
  border-left: 1px solid rgba(242, 183, 5, 0.6); border-right: 1px solid rgba(242, 183, 5, 0.6);
  background: linear-gradient(90deg, rgba(242, 183, 5, 0.0), rgba(242, 183, 5, 0.08), rgba(242, 183, 5, 0.0));
  opacity: 0.9; pointer-events: none;
}
.hm-motion .hm-stage[data-state="watch"] .hm-tl__scan { animation: hm-scan 5.5s var(--ease) infinite; }
.hm-static .hm-tl__scan, .hm-stage:not([data-state="watch"]) .hm-tl__scan { opacity: 0; transition: opacity 0.4s; }
@keyframes hm-scan { 0% { left: var(--k); } 50% { left: calc(100% - 72px); } 100% { left: var(--k); } }

.hm-tl__new { background: var(--amber) !important; opacity: 1 !important; width: 2px !important; height: 26px !important; margin-top: -13px !important; transform: scaleY(0); transform-origin: bottom; transition: transform 0.5s var(--ease-out); }
.hm-tl__new b { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 1px solid var(--amber); border-radius: 50%; opacity: 0; }
.hm-stage:not([data-state="watch"]) .hm-tl__new, .hm-static .hm-tl__new { transform: none; }
.hm-motion .hm-stage[data-state="detect"] .hm-tl__new b { animation: hm-ping 2.2s ease-out 0.4s infinite; }

/* signal drop: from the DOB rail centre down through the rails to the alert row */
.hm-tl__drop {
  position: absolute; left: calc(var(--k) + (100% - var(--k)) * 0.84); top: calc(var(--rail) / 2); width: 1px; height: 0;
  background: repeating-linear-gradient(180deg, var(--amber) 0 3px, transparent 3px 6px);
  transition: height 0.7s var(--ease-out);
}
.hm-stage:not([data-state="watch"]) .hm-tl__drop, .hm-static .hm-tl__drop { height: calc(var(--rail) * 3.5 + 26px + 22px); }

/* signal */
.hm-sig { position: relative; display: grid; grid-template-columns: 72px 1fr; align-items: center; min-height: 64px; margin-top: 8px; border-top: 1px solid var(--line-d); padding-top: 8px; }
.hm-sig__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); }
.hm-sig__out { display: flex; gap: 28px; justify-content: flex-end; }
.hm-sig__node {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; color: var(--paper); font-weight: 500;
  opacity: 0; transform: translateY(6px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out);
}
.hm-sig__node small { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); }
.hm-sig__node i { width: 11px; height: 11px; background: var(--amber); border-radius: 1px; }
.hm-sig__node--sms i { background: transparent; border: 1px solid var(--amber); }
.hm-stage:not([data-state="watch"]) .hm-sig__node, .hm-static .hm-sig__node { opacity: 1; transform: none; }
.hm-stage:not([data-state="watch"]) .hm-sig__node--sms { transition-delay: 0.15s; }
.hm-stage[data-state="act"] .hm-sig__node { opacity: 0.45; }

/* act list */
.hm-act { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--line-d); }
.hm-act li { display: flex; align-items: center; gap: 14px; height: 46px; border-bottom: 1px solid var(--line-d); font-size: 14px; color: var(--muted-d); opacity: 0.35; transition: opacity 0.5s var(--ease), color 0.5s; }
.hm-act li i { width: 12px; height: 12px; border: 1px solid var(--muted-d); border-radius: 2px; position: relative; flex: none; }
.hm-act li i::after { content: ""; position: absolute; inset: 2px; background: var(--amber); transform: scale(0); transition: transform 0.35s var(--ease-out); }
.hm-stage[data-state="act"] .hm-act li, .hm-static .hm-act li { opacity: 1; color: var(--paper); }
.hm-stage[data-state="act"] .hm-act li:nth-child(1) i::after, .hm-static .hm-act li:nth-child(1) i::after { transform: none; transition-delay: 0.1s; }
.hm-stage[data-state="act"] .hm-act li:nth-child(2) i::after, .hm-static .hm-act li:nth-child(2) i::after { transform: none; transition-delay: 0.3s; }
.hm-stage[data-state="act"] .hm-act li:nth-child(3) i::after, .hm-static .hm-act li:nth-child(3) i::after { transform: none; transition-delay: 0.5s; }

/* steps — spine with numbered markers */
.hm-steps { list-style: none; margin: 0; padding: 0 0 0 36px; border-left: 1px solid var(--line-d2); }
.hm-step { position: relative; min-height: 58vh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px 0; opacity: 0.4; transition: opacity 0.5s var(--ease); }
.hm-step.is-active, .hm-static .hm-step { opacity: 1; }
.hm-step .hm-eyebrow span { position: absolute; left: -50px; top: -1px; background: var(--ink); transition: background 0.3s, color 0.3s; }
.hm-step .hm-eyebrow { position: relative; }
.hm-step.is-active .hm-eyebrow span, .hm-static .hm-step .hm-eyebrow span { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.hm-step h3 { margin: 0 0 14px; font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -0.025em; line-height: 1.08; color: var(--paper); }
.hm-step p:not(.hm-eyebrow) { margin: 0 0 18px; font-size: 16px; line-height: 1.6; color: var(--muted-d); max-width: 44ch; }
.hm-step .hm-link { color: var(--paper); }

/* ------------------------------------------------------------------ scale */
.hm-scale { background: var(--paper); padding: var(--sec) 0; border-bottom: 1px solid var(--line); }
.hm-scale .hm-d2 { color: var(--text); margin-bottom: 0; }
.hm-scale__head { margin-bottom: clamp(32px, 5vw, 56px); }
.hm-scale__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--text); border-bottom: 1px solid var(--line); }
.hm-num { padding: 28px 24px 28px 0; border-right: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: end; }
.hm-num:last-child { border-right: 0; }
.hm-num + .hm-num { padding-left: 24px; }
.hm-num__v { font-family: var(--f-display); font-variation-settings: "wdth" 90; font-weight: 600; font-size: clamp(64px, 8vw, 120px); line-height: 0.85; letter-spacing: -0.05em; color: var(--text); font-variant-numeric: tabular-nums; }
.hm-num__l { font-size: 14px; line-height: 1.35; color: var(--muted); padding-bottom: 6px; }
.hm-num__l em { font-style: normal; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); }

.hm-who { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.hm-who li { padding: 18px 24px 0 0; border-right: 1px solid var(--line); display: grid; gap: 8px; }
.hm-who li + li { padding-left: 24px; }
.hm-who li:last-child { border-right: 0; }
.hm-who strong { font-family: var(--f-display); font-weight: 600; font-size: 18px; letter-spacing: -0.015em; color: var(--text); }
.hm-who span { font-size: 14px; line-height: 1.5; color: var(--muted); }

/* ----------------------------------------------------------------- report */
.hm-report { background: var(--ink-2); color: var(--paper); padding: var(--sec) 0; }
.hm-report__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.hm-report__price { display: grid; gap: 10px; border-left: 2px solid var(--amber); padding-left: clamp(20px, 2.5vw, 36px); }
.hm-report__num { font-family: var(--f-display); font-variation-settings: "wdth" 88; font-weight: 600; font-size: clamp(88px, 11vw, 168px); line-height: 0.82; letter-spacing: -0.06em; color: var(--paper); }
.hm-report__tag { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); }
.hm-report .hm-d2 { color: var(--paper); }
.hm-report__svc { border-top: 1px solid var(--line-d2); padding-top: 20px; }
.hm-report__svc h3 { margin: 0 0 10px; font-family: var(--f-display); font-weight: 600; font-size: 20px; letter-spacing: -0.02em; line-height: 1.2; color: var(--paper); }
.hm-report__svc p:not(.hm-eyebrow) { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: var(--muted-d); }
.hm-report__svc .hm-link { color: var(--paper); }

/* ------------------------------------------------------------------ plans */
.hm-plans { background: var(--paper); padding: var(--sec) 0; }
.hm-plans .hm-d2 { color: var(--text); }
.hm-plans__head { margin-bottom: clamp(28px, 4vw, 48px); display: grid; gap: 6px; }
.hm-plans__table { display: grid; grid-template-columns: 1fr 1.1fr 1fr; border-top: 2px solid var(--text); }
.hm-plan { position: relative; padding: 30px 28px 34px 0; border-right: 1px solid var(--line); display: grid; align-content: start; gap: 0; }
.hm-plan + .hm-plan { padding-left: 28px; }
.hm-plan:last-child { border-right: 0; padding-right: 0; }
.hm-plan__name { margin: 0 0 22px; font-family: var(--f-display); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; color: var(--text); display: flex; align-items: baseline; gap: 10px; }
.hm-plan__name small { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); font-weight: 500; }
.hm-plan__price { margin: 0; display: flex; align-items: baseline; gap: 8px; font-family: var(--f-display); font-variation-settings: "wdth" 92; }
.hm-plan__price strong { font-weight: 600; font-size: clamp(40px, 4vw, 56px); letter-spacing: -0.045em; line-height: 0.95; color: var(--text); font-variant-numeric: tabular-nums; }
.hm-plan__price span { font-size: 14px; color: var(--muted); }
.hm-plan__yr { margin: 10px 0 24px; font-size: 13px; color: var(--muted); }
.hm-plan__spec { margin: 0 0 28px; padding: 0; border-top: 1px solid var(--line); }
.hm-plan__spec div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.hm-plan__spec dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); align-self: center; }
.hm-plan__spec dd { margin: 0; color: var(--text); font-weight: 500; }
.hm-plan .hm-btn { justify-self: start; min-width: 168px; }
.hm-plan--pro::before { content: ""; position: absolute; left: 28px; right: 28px; top: -2px; height: 2px; background: var(--amber); }
.hm-plan--pro .hm-plan__price strong { font-size: clamp(48px, 4.8vw, 68px); }

/* ------------------------------------------------------------------ final */
.hm-final { background: var(--ink); color: var(--paper); padding: var(--sec) 0; border-top: 1px solid var(--line-d); }
.hm-final__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.hm-final .hm-d2 { color: var(--paper); max-width: 20ch; }
.hm-final__search { display: grid; gap: 16px; justify-items: start; }
.hm-final__search .dg-search { background: var(--bone); color: var(--text); border: 0; border-radius: 4px; padding: 8px; width: 100%; }
.hm-final__search .dg-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hm-final__search .dg-input { min-height: 54px; border: 0; background: transparent; font-family: var(--f-ui); font-size: 17px; padding: 0 14px; }
.hm-final__search .dg-input:focus { outline: none; box-shadow: inset 0 -2px 0 var(--amber); }
.hm-final__search .dg-btn { min-height: 54px; border-radius: 3px; background: var(--ink); color: var(--paper); font-family: var(--f-ui); font-weight: 600; }
.hm-final__search .dg-search__hint { margin: 10px 0 2px 14px; font-size: 12px; color: var(--muted); }

/* ===================================================================== */
/* PRICING — capacity rails + plan ledger                                 */
/* ===================================================================== */
.hm-btn--ghost { background: transparent; color: var(--paper); border-color: var(--line-d2); }
.hm-btn--ghost:hover { border-color: var(--paper); }

/* hero */
.pr-hero {
  position: relative;
  background:
    radial-gradient(110% 70% at 90% 0%, rgba(242, 183, 5, 0.07), transparent 55%),
    var(--ink);
  color: var(--paper);
  overflow: hidden;
  padding: clamp(48px, 6vw, 88px) 0 clamp(48px, 6vw, 80px);
}
.pr-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.pr-d1 { font-size: clamp(40px, 5vw, 68px); margin-bottom: 24px; }
.pr-hero__meta { margin-top: 0; }
.pr-hero .hm-lead { margin-bottom: 28px; }
.hm-motion .pr-hero__copy > * { opacity: 0; transform: translateY(14px); }
.hm-motion .pr-hero.is-live .pr-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.8s var(--ease), transform 0.8s var(--ease-out); }
.hm-motion .pr-hero.is-live .pr-hero__copy > :nth-child(2) { transition-delay: 0.1s; }
.hm-motion .pr-hero.is-live .pr-hero__copy > :nth-child(3) { transition-delay: 0.22s; }
.hm-motion .pr-hero.is-live .pr-hero__copy > :nth-child(4) { transition-delay: 0.34s; }

/* capacity rails: one mark per property, truthful to plan capacity */
.pr-rails { margin: 0; display: grid; gap: 0; color: var(--paper); }
.pr-rails__head, .pr-rails__axis {
  display: flex; justify-content: space-between;
  font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d);
}
.pr-rails__head { padding-bottom: 12px; border-bottom: 1px solid var(--line-d2); }
.pr-rails__axis { padding-top: 10px; }
.pr-rail {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) 72px;
  grid-template-areas: "k t n" "k m n";
  align-items: center;
  column-gap: 20px;
  padding: 22px 0 18px;
  border-bottom: 1px solid var(--line-d);
  opacity: 0; transform: translateY(6px);
}
.hm-static .pr-rail { opacity: 1; transform: none; }
.hm-motion .pr-hero.is-live .pr-rail { opacity: 1; transform: none; transition: opacity 0.6s var(--ease), transform 0.6s var(--ease-out); transition-delay: calc(0.3s + var(--i) * 140ms); }
.pr-rail__k { grid-area: k; font-family: var(--f-display); font-weight: 600; font-size: 18px; letter-spacing: -0.015em; align-self: start; padding-top: 2px; }
.pr-rail--pro .pr-rail__k { color: var(--amber); }
.pr-rail__t { grid-area: t; position: relative; height: 22px; display: flex; align-items: center; }
.pr-rail__t::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--line-d2); }
.pr-rail__bar { position: relative; display: block; height: 3px; width: max(3px, calc(var(--n) / 150 * 100%)); background: var(--paper); transform: scaleX(0); transform-origin: left; }
.pr-rail--pro .pr-rail__bar { background: var(--amber); }
.hm-static .pr-rail__bar { transform: none; }
.hm-motion .pr-hero.is-live .pr-rail__bar { transform: none; transition: transform 0.7s var(--ease-out); transition-delay: calc(0.55s + var(--i) * 140ms); }
.pr-rail__t i { position: relative; display: block; width: 1.5px; height: 14px; background: var(--paper); opacity: 0.85; flex: none; transform: scaleY(0); transform-origin: bottom; }
.pr-rail__t i:only-child { margin-right: auto; }
.pr-rail--pro .pr-rail__t i { background: var(--amber); }
.hm-static .pr-rail__t i { transform: none; }
.hm-motion .pr-hero.is-live .pr-rail__t i { transform: none; transition: transform 0.4s var(--ease-out); transition-delay: calc(0.8s + var(--i) * 140ms + var(--d, 0ms)); }
.pr-rail__n { grid-area: n; justify-self: end; font-family: var(--f-display); font-variation-settings: "wdth" 90; font-weight: 600; font-size: clamp(36px, 3.4vw, 48px); line-height: 0.9; letter-spacing: -0.045em; font-variant-numeric: tabular-nums; }
.pr-rail__m { grid-area: m; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); margin-top: 8px; }

/* ledger */
.pr-ledger { background: var(--paper); padding: var(--sec) 0 calc(var(--sec) * 0.75); }
.pr-ledger .hm-d2 { color: var(--text); margin-bottom: 0; }
.pr-ledger__head { margin-bottom: clamp(28px, 4vw, 48px); }
.pr-grid {
  display: grid;
  grid-template-columns: 150px repeat(3, minmax(0, 1fr));
  border-top: 2px solid var(--text);
}
.pr-labels, .pr-col { display: grid; grid-template-rows: subgrid; grid-row: span 9; }
.pr-labels span, .pr-cell { border-bottom: 1px solid var(--line); display: flex; align-items: center; min-height: 52px; }
.pr-labels span { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding-right: 16px; }
.pr-labels__spacer { border-bottom-color: var(--line); }
.pr-col { position: relative; padding: 0 0 0 24px; border-left: 1px solid var(--line); }
.pr-col--pro::before { content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 2px; background: var(--amber); }
.pr-cell { padding: 10px 20px 10px 0; font-size: 15px; color: var(--text); gap: 12px; }
.pr-cell__l { display: none; }
.pr-cell__v { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; }
.pr-cell--name { min-height: 84px; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pr-name { font-family: var(--f-display); font-weight: 600; font-size: 24px; letter-spacing: -0.02em; }
.pr-tag { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); }
.pr-cell--price { min-height: 96px; }
.pr-cell--price .pr-cell__v { align-items: baseline; gap: 8px; font-family: var(--f-display); font-variation-settings: "wdth" 92; }
.pr-cell--price strong { font-weight: 600; font-size: clamp(36px, 3.6vw, 52px); letter-spacing: -0.045em; line-height: 0.95; font-variant-numeric: tabular-nums; }
.pr-col--pro .pr-cell--price strong { font-size: clamp(42px, 4.2vw, 60px); }
.pr-cell--price small { font-size: 13px; color: var(--muted); font-family: var(--f-ui); }
.pr-cell--n b { font-family: var(--f-display); font-variation-settings: "wdth" 90; font-weight: 600; font-size: 26px; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; margin-right: 2px; }
.pr-yes i, .pr-no i { width: 9px; height: 9px; border-radius: 1px; flex: none; }
.pr-yes i { background: var(--amber); border: 1px solid var(--amber); }
.pr-no i { background: transparent; border: 1px solid var(--line); }
.pr-no, .pr-dim { color: var(--muted); font-weight: 400; }
.pr-cell--cta { min-height: 92px; border-bottom: 0; }
.pr-cell--cta .hm-btn { min-width: 168px; }
.pr-ledger__note { margin-top: 22px; max-width: 70ch; }

/* included */
.pr-incl { background: var(--paper); border-top: 1px solid var(--line); padding: var(--sec) 0; }
.pr-incl__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.pr-incl .hm-d2 { color: var(--text); }
.pr-incl__h { margin: 0 0 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); font-weight: 500; }
.pr-incl__h--sep { margin-top: 36px; color: var(--muted); }
.pr-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.pr-list li { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.45; color: var(--text); }
.pr-list li i { width: 9px; height: 9px; background: var(--amber); border: 1px solid var(--amber); border-radius: 1px; flex: none; position: relative; top: -1px; }
.pr-list--sep { border-top-color: var(--line); }
.pr-list--sep li { color: var(--muted); }
.pr-list--sep li i { background: transparent; border-color: var(--muted); }

/* report */
.pr-report { background: var(--ink-2); color: var(--paper); padding: var(--sec) 0; }
.pr-report__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: end; }
.pr-report .hm-d2 { color: var(--paper); }
.pr-report__actions { margin: 0; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.pr-report .hm-link { color: var(--paper); }

/* faq */
.pr-faq { background: var(--paper); padding: var(--sec) 0; }
.pr-faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.pr-faq__lead { position: sticky; top: calc(var(--dg-nav-h) + 40px); }
.pr-faq .hm-d2 { color: var(--text); }
.pr-faq .hm-link { color: var(--text); }
.dg-plans .dg-faq { border-top: 2px solid var(--text); }
.dg-plans .dg-faq__item { border-bottom: 1px solid var(--line); }
.dg-plans .dg-faq__btn { font-family: var(--f-display); font-weight: 600; font-size: 19px; letter-spacing: -0.015em; color: var(--text); padding: 20px 0; align-items: baseline; }
.dg-plans .dg-faq__btn span:last-child { font-family: var(--f-mono); font-weight: 400; font-size: 18px; color: var(--amber-ink); }
.dg-plans .dg-faq__panel { padding: 0 0 22px; font-size: 16px; line-height: 1.6; color: var(--muted); max-width: 60ch; }

/* final */
.pr-final { background: var(--ink); color: var(--paper); padding: var(--sec) 0; border-top: 1px solid var(--line-d); }
.pr-final__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.pr-final .hm-d2 { color: var(--paper); max-width: 18ch; }
.pr-final .hm-body { max-width: 54ch; }
.pr-final__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }

@media (max-width: 1100px) {
  .pr-hero__grid { grid-template-columns: 1fr; gap: 48px; align-items: start; }
  .pr-rail { grid-template-columns: 84px minmax(0, 1fr) 64px; }
  .pr-grid { grid-template-columns: 120px repeat(3, minmax(0, 1fr)); }
  .pr-col { padding-left: 18px; }
  .pr-cell { padding-right: 12px; font-size: 14px; }
  .pr-cell--cta .hm-btn { min-width: 0; width: 100%; }
}

@media (max-width: 760px) {
  .pr-d1 { font-size: clamp(38px, 11vw, 48px); }
  .pr-hero { padding: 36px 0 44px; }
  .pr-hero__meta { grid-template-columns: 1fr 1fr; }
  .pr-rail { grid-template-columns: 1fr auto; grid-template-areas: "k n" "t t" "m m"; row-gap: 10px; padding: 18px 0 16px; }
  .pr-rail__k { align-self: center; padding-top: 0; }
  .pr-rail__n { font-size: 32px; }
  .pr-rail__m { margin-top: 0; }

  /* ledger → stacked plan blocks with inline row labels */
  .pr-grid { display: block; border-top: 0; }
  .pr-labels { display: none; }
  .pr-col { display: block; padding: 0; border-left: 0; border-top: 2px solid var(--text); margin-top: 36px; }
  .pr-col:first-of-type { margin-top: 0; }
  .pr-col--pro::before { top: -2px; }
  .pr-cell { min-height: 46px; padding: 10px 0; display: grid; grid-template-columns: 104px 1fr; gap: 12px; align-items: center; }
  .pr-cell__l { display: block; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
  .pr-cell--name { display: flex; min-height: 0; padding: 20px 0 14px; border-bottom: 1px solid var(--line); }
  .pr-cell--price { min-height: 0; padding: 14px 0; }
  .pr-cell--price .pr-cell__v { align-self: baseline; }
  .pr-cell--cta { display: block; padding: 20px 0 0; min-height: 0; }
  .pr-cell--cta .hm-btn { width: 100%; }

  .pr-incl__grid, .pr-report__grid, .pr-faq__grid, .pr-final__grid { grid-template-columns: 1fr; }
  .pr-faq__lead { position: static; }
  .pr-final__actions { justify-content: flex-start; }
  .pr-final__actions .hm-btn { flex: 1 1 auto; }
}

@media (max-width: 640px) {
  .pr-rail__t i { width: 1px; }
  .pr-rail--enterprise .pr-rail__t i { opacity: 0.55; }
  .pr-cell { grid-template-columns: 92px 1fr; font-size: 14px; }
  .pr-cell--price strong { font-size: 40px; }
  .pr-col--pro .pr-cell--price strong { font-size: 46px; }
  .dg-plans .dg-faq__btn { font-size: 17px; }
  .pr-final__actions { flex-direction: column; }
}

/* ===================================================================== */
/* LOOKUP — the property record                                           */
/* ===================================================================== */
.hm-btn--red { background: var(--red); color: #fff; }
.hm-btn--red:hover { background: #a8281a; }
.hm-btn[disabled] { cursor: not-allowed; }

/* hero */
.lk-hero {
  position: relative;
  background: radial-gradient(110% 70% at 90% 0%, rgba(242, 183, 5, 0.07), transparent 55%), var(--ink);
  color: var(--paper);
  overflow: hidden;
  padding: clamp(44px, 6vw, 84px) 0 clamp(40px, 5vw, 64px);
}
.lk-hero--result { padding: clamp(32px, 4vw, 48px) 0 clamp(28px, 3vw, 40px); }
.lk-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.lk-hero--result .lk-hero__grid { grid-template-columns: 1fr; }
.lk-hero--result .lk-hero__copy { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 12px clamp(24px, 4vw, 64px); align-items: start; }
.lk-hero--result .lk-hero__copy > .hm-eyebrow { grid-column: 1 / -1; margin-bottom: 6px; }
.lk-hero--result .lk-hero__copy > .lk-h1 { grid-column: 1; margin: 0; }
.lk-hero--result .lk-hero__copy > .lk-lead { grid-column: 1; margin: 0; font-size: 15px; }
.lk-hero--result .lk-hero__copy > .lk-search { grid-column: 2; grid-row: 2 / span 2; align-self: center; }
.lk-hero--result .lk-hero__copy > .lk-fine { grid-column: 1 / -1; margin-top: 14px; }
.lk-h1.hm-d1 { font-size: clamp(38px, 4.6vw, 64px); margin-bottom: 22px; }
.lk-h1.hm-d2 { color: var(--paper); font-size: clamp(26px, 2.6vw, 34px); max-width: none; }
.lk-lead { margin-bottom: 26px; max-width: 46ch; }
.lk-fine { margin: 18px 0 0; font-size: 12px; line-height: 1.55; color: var(--faint-d); max-width: 72ch; }
.lk-fine a { color: var(--paper); border-bottom: 1px solid var(--line-d2); }
.hm-motion .lk-hero__copy > * { opacity: 0; transform: translateY(12px); }
.hm-motion .lk-hero.is-live .lk-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease-out); }
.hm-motion .lk-hero.is-live .lk-hero__copy > :nth-child(2) { transition-delay: 0.08s; }
.hm-motion .lk-hero.is-live .lk-hero__copy > :nth-child(3) { transition-delay: 0.18s; }
.hm-motion .lk-hero.is-live .lk-hero__copy > :nth-child(4) { transition-delay: 0.28s; }
.hm-motion .lk-hero.is-live .lk-hero__copy > :nth-child(5) { transition-delay: 0.38s; }

/* search plate — same plate language as the homepage */
.lk-search { max-width: 640px; }
.lk-alert { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 12px 14px; border-left: 2px solid var(--red); background: rgba(200, 50, 31, 0.1); font-size: 13px; line-height: 1.5; color: var(--paper); }
.lk-alert i { color: #ff7a66; margin-top: 2px; }
.lk-alert p { margin: 0; }
.lk-plate {
  display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: stretch;
  background: var(--bone); color: var(--text); border-radius: 4px; padding: 6px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset, 0 30px 60px -20px rgba(0,0,0,0.6);
  transition: box-shadow 200ms var(--ease);
}
.lk-plate:focus-within { box-shadow: 0 0 0 2px var(--amber), 0 30px 60px -20px rgba(0,0,0,0.6); }
.lk-input {
  min-height: 48px; border: 0; background: transparent; font-family: var(--f-ui); font-size: 16px; color: var(--text); padding: 0 14px; width: 100%; outline: none;
}
.lk-input::placeholder { color: var(--muted); }
.lk-submit {
  min-height: 48px; padding: 0 18px; border: 0; border-radius: 3px; background: var(--ink); color: var(--paper);
  font-family: var(--f-ui); font-weight: 600; font-size: 14px; letter-spacing: 0.01em; cursor: pointer; white-space: nowrap;
  transition: background 180ms var(--ease), opacity 180ms var(--ease);
}
.lk-submit:hover { background: var(--ink-3); }
.lk-submit[disabled] { opacity: 0.42; cursor: not-allowed; }
.lk-hint { margin: 10px 0 0 2px; font-size: 12px; color: var(--muted-d); }
.lk-turnstile { margin-top: 14px; min-height: 65px; }
.lk-turnstile .cf-turnstile { display: block; }
#addressStatus {
  margin: 12px 0 0; padding: 10px 12px 10px 12px; font-size: 13px; line-height: 1.5; color: var(--paper);
  border-left: 2px solid var(--amber); background: rgba(244, 241, 234, 0.06); border-radius: 0; gap: 10px; align-items: flex-start;
}
#addressStatus.bg-red-50 { border-left-color: var(--red); background: rgba(200, 50, 31, 0.12); }
#addressStatus.bg-green-50 { border-left-color: #3BA35E; background: rgba(59, 163, 94, 0.12); }
#addressStatus i { margin-top: 3px; font-size: 12px; }
#addressStatus .text-red-500 { color: #ff7a66; }
#addressStatus .text-green-500 { color: #6CCF8A; }
#addressStatus .text-yellow-500 { color: var(--amber); }
#addressStatus span { color: var(--paper); }

/* schema aside (landing) */
.lk-schema { color: var(--paper); border-top: 1px solid var(--line-d2); padding-top: 12px; }
.lk-schema__k { margin: 0 0 6px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); }
.lk-schema__dl { margin: 0; }
.lk-schema__dl div { display: grid; grid-template-columns: 96px 1fr; align-items: center; min-height: 36px; border-bottom: 1px solid var(--line-d); }
.lk-schema__dl dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.lk-schema__dl dd { margin: 0; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--muted-d); }
.lk-schema__note { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted-d); max-width: 42ch; }
.lk-schema__rails { list-style: none; margin: 18px 0 0; padding: 0; }
.lk-schema__rails li { display: grid; grid-template-columns: 96px 1fr; align-items: center; height: 26px; }
.lk-schema__rails span { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.lk-schema__rails i { display: block; height: 1px; background: var(--line-d2); transform: scaleX(0); transform-origin: left; }
.hm-static .lk-schema__rails i { transform: none; }
.hm-motion .lk-hero.is-live .lk-schema__rails i { transform: none; transition: transform 0.9s var(--ease-out); transition-delay: calc(0.5s + var(--i) * 90ms); }
.hm-motion .lk-schema { opacity: 0; }
.hm-motion .lk-hero.is-live .lk-schema { opacity: 1; transition: opacity 0.8s var(--ease) 0.3s; }

/* ------------------------------------------------------------- record */
.lk-record { background: var(--paper); color: var(--text); padding: clamp(40px, 5vw, 64px) 0 var(--sec); }
.lk-dim { color: var(--muted); font-weight: 400; }

.lk-id { border-top: 2px solid var(--text); padding-top: 18px; }
.lk-id .hm-eyebrow { color: var(--amber-ink); margin-bottom: 14px; }
.lk-id__addr { margin: 0 0 22px; font-family: var(--f-display); font-variation-settings: "wdth" 94; font-weight: 600; font-size: clamp(30px, 3.6vw, 52px); letter-spacing: -0.03em; line-height: 1; color: var(--text); display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; }
.lk-id__boro { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 400; }
.lk-id__plate { margin: 0; display: grid; grid-template-columns: repeat(6, auto); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lk-id__plate div { padding: 12px 20px 12px 0; margin-right: 20px; border-right: 1px solid var(--line); display: grid; gap: 6px; align-content: start; }
.lk-id__plate div:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.lk-id__plate dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.lk-id__plate dd { margin: 0; font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.06em; color: var(--text); white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.lk-id__plate dd .lk-dim { font-size: 11px; letter-spacing: 0.06em; }
.lk-id__plate dd.lk-sources { display: grid; gap: 2px; white-space: normal; align-items: start; }
.lk-id__status dd i { width: 9px; height: 9px; border-radius: 1px; border: 1px solid var(--text); background: transparent; flex: none; }
.lk-id__status--resolved_only dd i { background: var(--muted); border-color: var(--muted); }
.lk-id__status--open dd i { background: var(--amber); border-color: var(--amber); }
.lk-id__status--high_priority dd i { background: var(--red); border-color: var(--red); }
.lk-id__status--high_priority dd { color: var(--red); }

/* notices */
.lk-notes { margin-top: 18px; display: grid; gap: 0; }
.lk-note { margin: 0; display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.55; color: var(--muted); }
.lk-note i { margin-top: 4px; font-size: 12px; flex: none; }
.lk-note strong { color: var(--text); font-weight: 600; }
.lk-note--lock i { color: var(--amber-ink); }
.lk-note--money i { color: var(--amber-ink); }
.lk-note--clean i { color: #2F7D4A; }

/* report strip */
.lk-strip { margin-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 0 20px; border-top: 2px solid var(--amber); border-bottom: 1px solid var(--line); }
.lk-strip--high_priority { border-top-color: var(--red); }
.lk-strip__copy { display: grid; gap: 4px; }
.lk-strip__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); }
.lk-strip--high_priority .lk-strip__k { color: var(--red); }
.lk-strip__copy strong { font-family: var(--f-display); font-weight: 600; font-size: 20px; letter-spacing: -0.02em; color: var(--text); }
.lk-strip__copy span:last-child { font-size: 14px; color: var(--muted); }
.lk-strip .hm-btn { flex: none; }

/* source index */
.lk-index { margin-top: 40px; }
.lk-index__head { display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--text); font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.lk-index__head span:nth-child(2) { display: none; }
.lk-index__legend { display: inline-flex; gap: 14px; align-items: center; justify-self: end; grid-column: 2 / -1; }
.lk-index__legend i { width: 8px; height: 8px; border-radius: 1px; margin-right: 6px; display: inline-block; vertical-align: middle; border: 1px solid var(--text); }
.lk-index__legend i.is-open { background: var(--amber); border-color: var(--amber); }
.lk-index__legend i.is-some { background: var(--text); }
.lk-index__legend i.is-none { background: transparent; border-color: var(--line); }
.lk-index__legend i.is-na { background: transparent; border-style: dashed; border-color: var(--muted); }
.lk-index__rows { list-style: none; margin: 0; padding: 0; }
.lk-index__row { display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; align-items: center; min-height: 44px; border-bottom: 1px solid var(--line); }
.lk-index__k { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--text); font-weight: 500; }
a.lk-index__k:hover { color: var(--amber-ink); }
.lk-index__k i { width: 8px; height: 8px; border-radius: 1px; border: 1px solid var(--text); flex: none; }
.lk-index__row.is-open .lk-index__k i { background: var(--amber); border-color: var(--amber); }
.lk-index__row.is-some .lk-index__k i { background: var(--text); }
.lk-index__row.is-none .lk-index__k i { border-color: var(--line); }
.lk-index__row.is-na .lk-index__k i { border-style: dashed; border-color: var(--muted); }
.lk-index__row.is-none .lk-index__k, .lk-index__row.is-na .lk-index__k { color: var(--muted); }
.lk-index__n { font-size: 14px; color: var(--muted); }
.lk-index__row.is-open .lk-index__n, .lk-index__row.is-some .lk-index__n { color: var(--text); }
.lk-index__c { font-family: var(--f-display); font-variation-settings: "wdth" 92; font-weight: 600; font-size: 18px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--text); text-align: right; white-space: nowrap; }
.lk-index__c em { font-style: normal; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber-ink); margin-left: 8px; font-weight: 500; }
.lk-index__c.lk-dim { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 400; }
.lk-index__cap { margin-top: 12px; color: var(--muted); }
.hm-motion .lk-index__row { opacity: 0; transform: translateX(-6px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion .lk-index__row.is-in { opacity: 1; transform: none; }

/* record sections */
.lk-sections { margin-top: 56px; display: grid; gap: 40px; }
.lk-src { border-top: 2px solid var(--text); padding-top: 16px; }
.lk-src--empty { border-top-color: var(--line); }
.lk-src__head { display: grid; grid-template-columns: 72px 1fr auto; gap: 20px; align-items: start; padding-bottom: 14px; }
.lk-src__k { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--amber-ink); font-weight: 500; padding-top: 6px; }
.lk-src--empty .lk-src__k { color: var(--muted); }
.lk-src__t h3 { margin: 0; font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; font-size: 22px; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); }
.lk-src--empty .lk-src__t h3 { color: var(--muted); font-weight: 500; }
.lk-src__t p { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.lk-src__c { font-size: 13px; color: var(--muted); white-space: nowrap; text-align: right; padding-top: 4px; }
.lk-src__c b { font-family: var(--f-display); font-variation-settings: "wdth" 92; font-weight: 600; font-size: 22px; letter-spacing: -0.03em; color: var(--text); font-variant-numeric: tabular-nums; margin-right: 4px; }
.lk-src--empty .lk-src__c b { color: var(--muted); }
.lk-src__c em { font-style: normal; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber-ink); }
.lk-src__none { margin: 0; padding: 4px 0 2px 92px; font-size: 14px; color: var(--muted); }

.lk-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.lk-rec { display: grid; grid-template-columns: 240px minmax(0, 1fr) auto; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: start; }
.lk-rec__meta { display: grid; gap: 6px; }
.lk-rec__id { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; color: var(--text); }
.lk-rec__st { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.lk-rec__st i { width: 8px; height: 8px; border-radius: 1px; border: 1px solid var(--muted); background: var(--muted); flex: none; }
.lk-rec--open .lk-rec__st { color: var(--amber-ink); }
.lk-rec--open .lk-rec__st i { background: var(--amber); border-color: var(--amber); }
.lk-rec__dt { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--muted); }
.lk-rec__title { margin: 0; font-size: 15px; line-height: 1.45; color: var(--text); font-weight: 500; }
.lk-rec__desc { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.lk-rec__act { white-space: nowrap; padding-top: 2px; }
.lk-rec__act .hm-link { color: var(--text); font-size: 13px; }
.lk-rec__lock { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; }
.lk-rec__lock i { font-size: 10px; color: var(--line); color: #B8B1A3; }
.lk-src__more { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 14px 0 0; }
.lk-src__more p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.lk-src__more strong { color: var(--text); font-weight: 600; }
.lk-src__more .hm-btn { flex: none; min-height: 40px; font-size: 13px; }

/* report layer (dark panel inside the record) */
.lk-report { margin-top: 64px; background: var(--ink-2); color: var(--paper); padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.lk-report__num { display: grid; gap: 10px; border-left: 2px solid var(--amber); padding-left: clamp(18px, 2vw, 28px); align-self: start; }
.lk-report[data-severity="high_priority"] .lk-report__num { border-left-color: var(--red); }
.lk-report[data-severity="high_priority"] .hm-report__tag { color: #ff7a66; }
.lk-report .hm-report__num { font-size: clamp(80px, 9vw, 140px); }
.lk-report .hm-d2 { color: var(--paper); font-size: clamp(28px, 3vw, 42px); max-width: 22ch; }
.lk-report .hm-body { color: var(--muted-d); max-width: 60ch; }
.lk-report .hm-body strong { color: var(--paper); font-weight: 500; }
.lk-report__incl { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; max-width: 560px; }
.lk-report__incl li { display: flex; gap: 10px; align-items: baseline; font-size: 14px; color: var(--paper); }
.lk-report__incl i { width: 8px; height: 8px; background: var(--amber); border-radius: 1px; flex: none; position: relative; top: -1px; }
.lk-report__actions { margin: 0 0 18px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.lk-report__actions .lk-fine { margin: 0; color: var(--faint-d); }
.lk-report__details { border-top: 1px solid var(--line-d); padding-top: 12px; }
.lk-report__details summary { cursor: pointer; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); list-style: none; display: inline-flex; gap: 8px; align-items: center; }
.lk-report__details summary::-webkit-details-marker { display: none; }
.lk-report__details summary::before { content: "+"; font-weight: 400; }
.lk-report__details[open] summary::before { content: "–"; }
.lk-report__details > div { margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--muted-d); max-width: 64ch; }
.lk-report__details > div p { margin: 0 0 8px; }
.lk-report__details > div ul { margin: 0 0 10px; padding: 0; list-style: none; border-top: 1px solid var(--line-d); }
.lk-report__details > div li { padding: 6px 0; border-bottom: 1px solid var(--line-d); }
.lk-report__details strong { color: var(--paper); font-weight: 500; }
.lk-report .lk-fine { color: var(--faint-d); }

/* after: monitor + services */
.lk-after { margin-top: 40px; border-top: 2px solid var(--text); }
.lk-after__row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.lk-after__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); }
.lk-after__row p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); max-width: 60ch; }
.lk-after__row .hm-link { color: var(--text); }

/* ------------------------------------------------------------- landing */
.lk-scope { background: var(--paper); padding: var(--sec) 0; }
.lk-scope__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.lk-scope .hm-d2 { color: var(--text); }
.lk-scope .hm-eyebrow { color: var(--amber-ink); }
.lk-scope__lead .hm-fine { margin-top: 12px; max-width: 46ch; }
.lk-idx__h { margin: 0 0 10px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); font-weight: 500; }
.lk-idx { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.lk-idx__row { display: grid; grid-template-columns: 32px minmax(7.5rem, auto) minmax(0, 1fr) minmax(0, 1.5fr); gap: 12px 20px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); }
.lk-idx__i { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--muted); }
.lk-idx__k { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; color: var(--amber-ink); font-weight: 500; white-space: nowrap; }
.lk-idx__n { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.015em; line-height: 1.2; color: var(--text); }
.lk-idx__d { font-size: 14px; line-height: 1.5; color: var(--muted); }
.hm-motion .lk-idx__row { opacity: 0; transform: translateY(8px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion .lk-idx__row.is-in { opacity: 1; transform: none; }

.lk-notes-sec { background: var(--paper-2); border-top: 1px solid var(--line); padding: var(--sec) 0; }
.lk-notes-sec__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.lk-notes-sec .hm-d2 { color: var(--text); }
.lk-notes-sec .hm-eyebrow { color: var(--amber-ink); }
.lk-prose { max-width: 70ch; }
.lk-prose h3 { margin: 0 0 8px; font-family: var(--f-display); font-weight: 600; font-size: 19px; letter-spacing: -0.015em; color: var(--text); }
.lk-prose p { margin: 0 0 26px; font-size: 15px; line-height: 1.65; color: var(--muted); }
.lk-prose p strong { color: var(--text); font-weight: 600; }
.lk-prose a { color: var(--text); border-bottom: 1px solid var(--line); }
.lk-prose a:hover { color: var(--amber-ink); border-color: currentColor; }
.lk-prose .hm-fine { margin-top: 26px; }
.lk-tools { list-style: none; margin: 0 0 8px; padding: 0; border-top: 2px solid var(--text); }
.lk-tools li { border-bottom: 1px solid var(--line); }
.lk-tools a { display: grid; grid-template-columns: 200px 1fr; gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 0; color: var(--text); }
.lk-tools a span { font-family: var(--f-display); font-weight: 600; font-size: 16px; letter-spacing: -0.01em; }
.lk-tools a span::after { content: " →"; color: var(--amber-ink); }
.lk-tools a small { font-size: 13px; color: var(--muted); }

/* layers */
.lk-layers { background: var(--ink); color: var(--paper); padding: var(--sec) 0; border-top: 1px solid var(--line-d); }
.lk-layers .hm-d2 { color: var(--paper); margin-bottom: 0; }
.lk-layers__head { margin-bottom: clamp(28px, 4vw, 48px); }
.lk-layers__rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-d2); }
.lk-layers__rows li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line-d); }
.lk-layers__i { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 22px; border: 1px solid var(--line-d2); border-radius: 2px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.08em; color: var(--muted-d); }
.lk-layers__rows li.is-here .lk-layers__i { background: var(--amber); color: var(--ink); border-color: var(--amber); }
.lk-layers__rows h3 { margin: 0 0 6px; font-family: var(--f-display); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; color: var(--paper); display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.lk-layers__rows h3 small { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); font-weight: 500; }
.lk-layers__rows p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted-d); max-width: 58ch; }
.lk-layers__act { white-space: nowrap; }
.lk-layers__act .hm-link { color: var(--paper); }
.lk-layers__foot { margin-top: 18px; color: var(--faint-d); }
.lk-layers__foot a { color: var(--paper); border-bottom: 1px solid var(--line-d2); }

/* overlay, modal, sticky bar */
#searchOverlay { display: none; position: fixed; inset: 0; background: rgba(14, 17, 22, 0.96); z-index: 9999; flex-direction: column; align-items: center; justify-content: center; color: var(--paper); text-align: center; padding: 24px; }
#searchOverlay.active { display: flex; }
#searchOverlay .spinner { width: 44px; height: 44px; border: 2px solid rgba(244, 241, 234, 0.18); border-top-color: var(--amber); border-radius: 50%; animation: lk-spin 0.8s linear infinite; margin-bottom: 22px; }
.lk-overlay__t { margin: 0 0 6px; font-family: var(--f-display); font-weight: 600; font-size: 20px; letter-spacing: -0.02em; }
.lk-overlay__s { margin: 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
@keyframes lk-spin { to { transform: rotate(360deg); } }
.hm-static #searchOverlay .spinner { animation: none; border-top-color: var(--amber); }

#dgEmailCaptureOverlay { display: none; position: fixed; inset: 0; background: rgba(14, 17, 22, 0.72); z-index: 10000; align-items: center; justify-content: center; backdrop-filter: blur(3px); padding: 16px; }
#dgEmailCaptureOverlay.active { display: flex; }
#dgEmailCaptureBox { background: var(--bone); color: var(--text); border-radius: 4px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45); padding: 32px 32px 28px; max-width: 460px; width: 100%; position: relative; border-top: 2px solid var(--amber); font-family: var(--f-ui); }
.hm-motion #dgEmailCaptureBox { animation: lk-up 0.24s var(--ease-out); }
@keyframes lk-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.lk-ec__eyebrow { color: var(--amber-ink); margin-bottom: 12px; }
#dgEmailCaptureBox h2 { margin: 0 0 8px; font-family: var(--f-display); font-weight: 600; font-size: 24px; letter-spacing: -0.025em; line-height: 1.1; color: var(--text); }
#dgEmailCaptureBox p { margin: 0 0 18px; font-size: 14px; line-height: 1.55; color: var(--muted); }
#dgEmailCaptureBox p strong { color: var(--text); font-weight: 600; }
#dgEmailCaptureInput { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 3px; background: #fff; font-family: var(--f-ui); font-size: 15px; color: var(--text); outline: none; box-sizing: border-box; transition: border-color 150ms, box-shadow 150ms; }
#dgEmailCaptureInput:focus { border-color: var(--amber); box-shadow: 0 0 0 2px rgba(242, 183, 5, 0.25); }
#dgEmailCaptureInput.dg-ec-error { border-color: var(--red); }
.dg-ec-errmsg { display: none; color: var(--red); font-size: 12px; margin-top: 6px; }
.dg-ec-errmsg.visible { display: block; }
#dgEmailCaptureBtn { width: 100%; margin-top: 14px; min-height: 48px; background: var(--amber); color: var(--ink); font-family: var(--f-ui); font-size: 14px; font-weight: 600; border: 0; border-radius: 3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: background 150ms, opacity 150ms; }
#dgEmailCaptureBtn:hover { background: #ffc81f; }
#dgEmailCaptureBtn:disabled { opacity: 0.55; cursor: not-allowed; }
#dgEmailCaptureBtn .dg-ec-spinner { display: none; width: 14px; height: 14px; border: 2px solid rgba(0, 0, 0, 0.2); border-top-color: var(--ink); border-radius: 50%; animation: lk-spin 0.7s linear infinite; }
#dgEmailCaptureBtn.loading .dg-ec-spinner { display: inline-block; }
#dgEmailCaptureBtn.loading .dg-ec-btn-text { opacity: 0.6; }
#dgEmailCaptureClose { position: absolute; top: 12px; right: 14px; background: none; border: 0; cursor: pointer; font-size: 22px; line-height: 1; color: var(--muted); padding: 4px; }
#dgEmailCaptureClose:hover { color: var(--text); }

#dgStickyBuy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000; background: rgba(14, 17, 22, 0.94); backdrop-filter: blur(10px); border-top: 1px solid var(--amber); color: var(--paper); padding: 10px 0; }
.lk-sticky { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lk-sticky__t { min-width: 0; }
.lk-sticky__a { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: 14px; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lk-sticky__s { margin: 2px 0 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); }
.lk-sticky .hm-btn { flex: none; min-height: 40px; font-size: 13px; }
.dg-lookup--result .dg-footer { padding-bottom: 104px; }

/* Google Places dropdown */
body.dg-rec .pac-container { font-family: var(--f-ui); border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.5); margin-top: 6px; }
body.dg-rec .pac-item { padding: 10px 14px; font-size: 13px; border-top: 1px solid var(--line); color: var(--muted); }
body.dg-rec .pac-item-query { font-size: 14px; color: var(--text); }
body.dg-rec .pac-item:hover, body.dg-rec .pac-item-selected { background: var(--paper); }

@media (max-width: 1100px) {
  .lk-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .lk-schema__dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; }
  .lk-schema__dl div { grid-template-columns: 1fr; gap: 4px; align-content: start; padding: 10px 0; min-height: 0; }
  .lk-schema__rails { display: none; }
  .lk-id__plate { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lk-id__plate div { padding-right: 16px; margin-right: 16px; }
  .lk-id__plate div:nth-child(3) { border-right: 0; }
  .lk-id__plate div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .lk-id__plate div:last-child { padding-right: 16px; margin-right: 16px; }
  .lk-id__plate dd { white-space: normal; }
  .lk-rec { grid-template-columns: 200px minmax(0, 1fr) auto; }
}

@media (max-width: 900px) {
  .lk-hero--result .lk-hero__copy { grid-template-columns: 1fr; }
  .lk-hero--result .lk-hero__copy > .lk-search { grid-column: 1; grid-row: auto; }
  .lk-scope__grid, .lk-notes-sec__grid { grid-template-columns: 1fr; gap: 32px; }
  .lk-report { grid-template-columns: 1fr; gap: 28px; }
  .lk-report .hm-report__num { font-size: 88px; }
  .lk-src__head { grid-template-columns: 60px 1fr; }
  .lk-src__c { grid-column: 2; text-align: left; padding-top: 0; }
  .lk-src__none { padding-left: 80px; }
  .lk-rec { grid-template-columns: 1fr; gap: 8px; }
  .lk-rec__meta { grid-template-columns: auto auto auto; justify-content: start; gap: 14px; align-items: center; }
  .lk-rec__act { padding-top: 2px; }
  .lk-src__more { flex-direction: column; align-items: flex-start; gap: 14px; }
  .lk-after__row { grid-template-columns: 1fr; gap: 10px; align-items: start; padding: 16px 0; }
  .lk-layers__rows li { grid-template-columns: 44px 1fr; gap: 12px 16px; }
  .lk-layers__act { grid-column: 2; }
  .lk-idx__row { grid-template-columns: 28px minmax(0, 1fr); }
  .lk-idx__k, .lk-idx__n, .lk-idx__d { grid-column: 2; }
  .lk-idx__k { white-space: normal; }
  .lk-tools a { grid-template-columns: 1fr; gap: 2px; }
}

@media (max-width: 640px) {
  .lk-h1.hm-d1 { font-size: clamp(34px, 10vw, 44px); }
  .lk-plate { grid-template-columns: 1fr; }
  .lk-submit { width: 100%; }
  .lk-schema__dl { grid-template-columns: 1fr 1fr; }
  .lk-id__addr { font-size: clamp(28px, 8vw, 36px); }
  .lk-id__plate { grid-template-columns: 1fr 1fr; }
  .lk-id__plate div:nth-child(3) { border-right: 1px solid var(--line); }
  .lk-id__plate div:nth-child(2n) { border-right: 0; }
  .lk-id__plate div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .lk-strip { flex-direction: column; align-items: flex-start; gap: 16px; }
  .lk-strip .hm-btn { width: 100%; }
  .lk-index__head { grid-template-columns: 1fr; gap: 8px; }
  .lk-index__legend { justify-self: start; grid-column: 1; flex-wrap: wrap; gap: 10px; }
  .lk-index__row { grid-template-columns: minmax(72px, auto) minmax(0, 1fr) auto; gap: 12px; }
  .lk-index__k { font-size: 11px; letter-spacing: 0.08em; gap: 8px; }
  .lk-index__n { font-size: 13px; }
  .lk-index__c em { display: block; margin: 2px 0 0; }
  .lk-rec__meta { grid-template-columns: 1fr; gap: 4px; }
  .lk-report { padding: 28px 20px; margin: 48px calc(var(--gutter) * -1) 0; }
  .lk-report__incl { grid-template-columns: 1fr; }
  .lk-report__actions .hm-btn { width: 100%; }
  .lk-layers__act .hm-btn { width: 100%; }
  .lk-sticky__t { display: none; }
  .lk-sticky .hm-btn { width: 100%; }
  .lk-idx__row { grid-template-columns: 28px 1fr; }
  .lk-idx__k { grid-column: 2; }
  .lk-idx__n, .lk-idx__d { grid-column: 2; }
}

/* ----------------------------------------------------------------- footer */
.dg-rec .dg-footer { background: #0A0D12; color: var(--paper); border-top: 1px solid var(--line-d); font-family: var(--f-ui); padding: 56px 0 28px; }
.dg-rec .dg-footer .dg-container { max-width: var(--wrap); padding: 0 var(--gutter); }
.dg-rec .dg-footer__grid { grid-template-columns: minmax(0, 2.2fr) repeat(5, minmax(0, 1fr)); gap: 32px 24px; margin-bottom: 48px; padding-bottom: 40px; border-bottom: 1px solid var(--line-d); }
.dg-rec .dg-footer__brand { margin-bottom: 18px; }
.dg-rec .dg-footer__brand img { height: 34px; filter: invert(1) brightness(1.08); }
.dg-rec .dg-footer .dg-small { font-size: 13px; line-height: 1.55; color: var(--muted-d) !important; max-width: 30ch !important; margin: 0; }
.dg-rec .dg-footer h3 { color: var(--amber); font-family: var(--f-mono); font-weight: 500; font-size: 10px; letter-spacing: 0.16em; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line-d); }
.dg-rec .dg-footer nav { gap: 9px; }
.dg-rec .dg-footer a { color: var(--muted-d); font-size: 14px; line-height: 1.3; transition: color 160ms var(--ease); }
.dg-rec .dg-footer a:hover { color: var(--paper); }
.dg-rec .dg-footer__legal { border-top: 0; padding-top: 0; display: flex; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--faint-d); }
.dg-rec .dg-footer__legal p { margin: 0; }
@media (max-width: 1000px) {
  .dg-rec .dg-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dg-rec .dg-footer__grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .dg-rec .dg-footer { padding: 44px 0 24px; }
  .dg-rec .dg-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; margin-bottom: 32px; padding-bottom: 28px; }
  .dg-rec .dg-footer__legal { flex-direction: column; gap: 8px; }
}

/* ------------------------------------------------------------ responsive */
@media (max-width: 1100px) {
  .hm-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .hm-plate { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hm-plate div:first-child { display: none; }
  .hm-who { grid-template-columns: 1fr 1fr; }
  .hm-who li:nth-child(2) { border-right: 0; }
  .hm-who li:nth-child(n+3) { padding-top: 24px; margin-top: 6px; border-top: 1px solid var(--line); }
  .hm-who li:nth-child(3) { padding-left: 0; }
  .hm-report__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .hm-report__svc { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  /* Mobile art direction: the first fold is copy + search, closed by the
     property-record plate. The elevation begins below the fold as its own
     framed figure (search → record → intelligence). */
  .hm-hero { min-height: 0; align-items: start; padding-top: 32px; padding-bottom: 40px; }
  .hm-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .hm-canvas { display: contents; }
  .hm-hero__copy { padding-bottom: 40px; }
  .hm-hero__meta { margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
  .hm-facade { max-height: 440px; }
  .hm-plate { position: relative; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hm-plate::before {
    content: ""; position: absolute; left: 0; top: -34px; width: 1px; height: 26px;
    background: repeating-linear-gradient(180deg, var(--amber) 0 3px, transparent 3px 6px);
  }
  .hm-plate dd { font-size: 11px; letter-spacing: 0.08em; }
  .hm-canvas__art { margin-top: 40px; }
  .hm-rails { margin-top: 14px; }

  .hm-ledger__grid, .hm-final__grid { grid-template-columns: 1fr; }
  .hm-ledger__lead { position: static; }
  .hm-row { grid-template-columns: 64px 1fr; gap: 8px 16px; padding: 18px 0; }
  .hm-row__d { grid-column: 2; }

  .hm-story__grid { grid-template-columns: 1fr; gap: 0; }
  .hm-stage { top: var(--dg-nav-h); z-index: 2; background: var(--ink); padding: 14px 0 6px; margin: 0 calc(var(--gutter) * -1); padding-left: var(--gutter); padding-right: var(--gutter); border-bottom: 1px solid var(--line-d); min-height: 0; display: block; }
  .hm-stage__rec { display: none; }
  .hm-stage__head { margin-bottom: 12px; }
  .hm-tl { --rail: 27px; --k: 56px; padding-bottom: 20px; }
  .hm-tl__t i { height: 12px; margin-top: -6px; }
  .hm-tl__new { height: 18px !important; margin-top: -9px !important; }
  .hm-tl__scan { bottom: 20px; width: 56px; }
  .hm-stage:not([data-state="watch"]) .hm-tl__drop, .hm-static .hm-tl__drop { height: calc(var(--rail) * 3.5 + 20px + 14px); }
  .hm-sig { grid-template-columns: 56px 1fr; min-height: 44px; padding-top: 4px; margin-top: 4px; }
  .hm-sig__out { gap: 16px; justify-content: flex-start; }
  .hm-sig__node { font-size: 13px; white-space: nowrap; }
  .hm-sig__node small { display: none; }
  .hm-act { margin-top: 4px; }
  .hm-act li { height: 32px; font-size: 13px; }
  .hm-stage__note { display: none; }
  .hm-steps { padding-left: 28px; }
  .hm-step .hm-eyebrow span { left: -42px; }
  .hm-step { min-height: 0; padding: 44px 0; justify-content: flex-start; }
  .hm-step:first-child { padding-top: 36px; }

  .hm-scale__nums { grid-template-columns: 1fr; }
  .hm-num, .hm-num + .hm-num { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); grid-template-columns: 1fr auto; }
  .hm-num:last-child { border-bottom: 0; }
  .hm-num__l { text-align: right; }

  .hm-report__grid { grid-template-columns: 1fr; }
  .hm-report__svc { grid-column: auto; }

  .hm-plans__table { grid-template-columns: 1fr; }
  .hm-plan, .hm-plan + .hm-plan { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .hm-plan:last-child { border-bottom: 0; }
  .hm-plan--pro::before { left: 0; right: 0; top: -1px; }
}

@media (max-width: 640px) {
  .hm-eyebrow { margin-bottom: 14px; }
  .hm-d1 { font-size: clamp(38px, 11.5vw, 50px); letter-spacing: -0.03em; }
  .hm-d2 { font-size: clamp(30px, 8.6vw, 38px); }
  .hm-lead { font-size: 17px; margin-bottom: 22px; }
  .hm-search .dg-search__row, .hm-final__search .dg-search__row { grid-template-columns: 1fr; }
  .hm-search .dg-btn, .hm-final__search .dg-btn { width: 100%; }
  /* Phones: the copy block is sized so the record plate (≈112px) closes the
     first fold; surplus height is split between headline→lede and lede→search. */
  .hm-hero__copy { padding-bottom: 44px; min-height: calc(100svh - var(--dg-nav-h) - 32px - 112px); display: flex; flex-direction: column; }
  .hm-hero__copy .hm-lead { margin-top: auto; margin-bottom: 26px; }
  .hm-hero__copy .hm-search { margin-top: auto; }
  .hm-hero__meta { margin-top: 22px; font-size: 12px; }
  .hm-facade { max-height: none; }
  .hm-plate { grid-template-columns: 1fr 1fr; }
  .hm-plate div:nth-child(2) { grid-column: 1 / -1; border-right: 0; }
  .hm-rail { grid-template-columns: 56px 1fr; }
  .hm-rail__label { font-size: 11px; right: calc(100% - 86% + 12px); }
  .hm-canvas__art { margin-top: 36px; }
  .hm-who { grid-template-columns: 1fr; }
  .hm-who li, .hm-who li + li { padding: 16px 0 0; border-right: 0; margin: 0; }
  .hm-who li:nth-child(n+2) { border-top: 1px solid var(--line); padding-top: 16px; }
  .hm-who li:nth-child(n+3) { margin-top: 0; padding-top: 16px; }
  .hm-num__v { font-size: 64px; }
  .hm-report__num { font-size: 96px; }
  .hm-plan__spec div { grid-template-columns: 84px 1fr; }
  .hm-plan .hm-btn { width: 100%; }
}

/* ======================================================================= */
/* RECORD SKIN — legacy dg-* primitives, every shell page is body.dg-rec   */
/* ======================================================================= */
.dg-rec .dg-main { background: var(--paper); }
.dg-rec .dg-container { max-width: var(--wrap); padding: 0 var(--gutter); }
.dg-rec .dg-container--wide { max-width: var(--wrap); }
.dg-rec .dg-crumb-band { padding: 18px var(--gutter) 0; }
.dg-rec .dg-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.dg-rec .dg-breadcrumb a { color: var(--muted); border-bottom: 1px solid transparent; }
.dg-rec .dg-breadcrumb a:hover { color: var(--text); border-color: var(--text); }
.dg-rec .dg-breadcrumb span[aria-hidden] { color: var(--line); }

.dg-rec .dg-display { font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; letter-spacing: -0.03em; line-height: 1.02; color: var(--text); }
.dg-rec .dg-h1 { font-size: clamp(36px, 4.6vw, 60px); margin: 0 0 20px; }
.dg-rec .dg-h2 { font-size: clamp(28px, 3vw, 40px); margin: 0 0 16px; max-width: 20ch; }
.dg-rec .dg-h3 { font-size: 22px; letter-spacing: -0.02em; }
.dg-rec .dg-lead { font-size: 17px; line-height: 1.55; color: var(--muted); max-width: 60ch; }
.dg-rec .dg-small { font-size: 14px; line-height: 1.55; color: var(--muted); }
.dg-rec .dg-caption, .dg-rec .dg-kicker { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--amber-ink); margin: 0 0 14px; }
.dg-rec .dg-mono { font-family: var(--f-mono); }

.dg-rec .dg-hero { padding: clamp(40px, 5vw, 72px) 0 clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--line); }
.dg-rec .dg-hero--compact { padding-top: clamp(28px, 3.5vw, 48px); }
.dg-rec .dg-hero .dg-lead a, .dg-rec .dg-band .dg-lead a, .dg-rec .dg-small a { color: var(--text); border-bottom: 1px solid var(--line-d2); border-bottom-color: #B9B2A4; }
.dg-rec .dg-band { padding: clamp(56px, 7vw, 96px) 0; }
.dg-rec .dg-band--tight { padding: clamp(40px, 5vw, 64px) 0; }
.dg-rec .dg-band--white { background: var(--bone); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dg-rec .dg-band--white + .dg-band--white { border-top: 0; }
.dg-rec .dg-band--ink { background: var(--ink); color: var(--paper); border: 0; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; }
.dg-rec .dg-band--ink .dg-display { color: var(--paper); }
.dg-rec .dg-band--ink .dg-lead, .dg-rec .dg-band--ink .dg-small { color: var(--muted-d); }
.dg-rec .dg-band--ink .dg-caption, .dg-rec .dg-band--ink .dg-kicker { color: var(--amber); }
.dg-rec .dg-band--ink .dg-lead a, .dg-rec .dg-band--ink .dg-small a { color: var(--paper); border-bottom-color: var(--line-d2); }
.dg-rec .dg-section-header { margin-bottom: 32px; }
.dg-rec .dg-section-header .dg-lead { margin: 0; }
.dg-rec .dg-split { gap: clamp(32px, 5vw, 72px); align-items: start; }
.dg-rec .dg-measure, .dg-rec .dg-measure--faq { max-width: 820px; }

.dg-rec .dg-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 3px; font-family: var(--f-ui); font-size: 14px; font-weight: 600; letter-spacing: 0.01em; border: 1px solid transparent; box-shadow: none; transition: background 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease); }
.dg-rec .dg-btn--primary { background: var(--ink); color: var(--paper); }
.dg-rec .dg-btn--primary:hover { background: var(--ink-3); }
.dg-rec .dg-btn--secondary { background: transparent; color: var(--text); border-color: var(--text); }
.dg-rec .dg-btn--secondary:hover { background: var(--text); color: var(--paper); }
.dg-rec .dg-band--ink .dg-btn--secondary, .dg-rec .dg-band--ink .dg-btn--primary { background: transparent; color: var(--paper); border-color: var(--paper) !important; }
.dg-rec .dg-band--ink .dg-btn--secondary:hover, .dg-rec .dg-band--ink .dg-btn--primary:hover { background: var(--paper); color: var(--ink) !important; }
.dg-rec .dg-cta { padding: 0; background: transparent; border: 0; }
.dg-rec .dg-cta .dg-h2 { max-width: 22ch; }
.dg-rec .dg-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.dg-rec .dg-card { background: var(--bone); border: 1px solid var(--line); border-radius: 3px; box-shadow: none; }
.dg-rec .dg-card--pad { padding: 22px 24px; }
.dg-rec .dg-card .dg-caption { margin-bottom: 8px; }
.dg-rec .dg-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text); }
.dg-rec .dg-audience, .dg-rec .dg-home-sources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; margin-top: 8px; }
.dg-rec .dg-audience .dg-card { background: transparent; border: 0; border-top: 2px solid var(--text); border-radius: 0; padding: 18px 0 8px; }
.dg-rec .dg-home-sources { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 24px; }
.dg-rec .dg-home-sources .dg-card { background: transparent; border: 0; border-top: 1px solid var(--text); border-radius: 0; padding: 14px 0 18px; }
.dg-rec .dg-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; counter-reset: dgstep; margin-top: 8px; }
.dg-rec .dg-steps:has(> :nth-child(5)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dg-rec .dg-step { position: relative; padding: 44px 0 8px; border-top: 1px solid var(--text); background: transparent; border-radius: 0; box-shadow: none; }
.dg-rec .dg-step::before { counter-increment: dgstep; content: "0" counter(dgstep); position: absolute; top: 12px; left: 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--amber-ink); border: 1px solid currentColor; padding: 2px 6px; border-radius: 2px; width: auto; height: auto; background: transparent; }
.dg-rec .dg-step h3 { margin: 0 0 8px; font-family: var(--f-display); font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.dg-rec .dg-step p { margin: 0; }

.dg-rec .dg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dg-rec .dg-chip, .dg-rec .dg-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid #B9B2A4; border-radius: 2px; background: transparent; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text); box-shadow: none; }
.dg-rec a.dg-chip:hover { border-color: var(--text); background: var(--text); color: var(--paper); }
.dg-rec .dg-badge--agency { color: var(--text); }
.dg-rec .dg-badge--open, .dg-rec .dg-badge--critical { color: var(--red); border-color: var(--red); background: transparent; }
.dg-rec .dg-badge--hearing { color: var(--amber-ink); border-color: var(--amber-ink); }
.dg-rec .dg-badge--resolved { color: #2E7D4F; border-color: #2E7D4F; }

.dg-rec .dg-faq { border-top: 2px solid var(--text); }
.dg-rec .dg-faq__item { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; margin: 0; }
.dg-rec .dg-faq__btn { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; padding: 18px 0; background: transparent; border: 0; text-align: left; font-family: var(--f-display); font-size: 17px; font-weight: 600; letter-spacing: -0.01em; color: var(--text); cursor: pointer; }
.dg-rec .dg-faq__btn span:last-child { font-family: var(--f-mono); font-weight: 400; color: var(--amber-ink); font-size: 16px; line-height: 1.3; }
.dg-rec .dg-faq__btn[aria-expanded="true"] span:last-child { transform: rotate(45deg); }
.dg-rec .dg-faq__panel { padding: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--muted); max-width: 64ch; }
.dg-rec .dg-faq__panel a { color: var(--text); border-bottom: 1px solid #B9B2A4; }
.dg-rec .dg-faq__item:not(.is-open) .dg-faq__panel, .dg-rec .dg-faq__btn[aria-expanded="false"] + .dg-faq__panel { display: none; }
.dg-rec .dg-faq__btn[aria-expanded="true"] + .dg-faq__panel { display: block; }

.dg-rec .dg-label { display: block; margin: 0 0 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.dg-rec .dg-input, .dg-rec .dg-select, .dg-rec .dg-textarea { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #B9B2A4; border-radius: 3px; background: var(--bone); color: var(--text); font-family: var(--f-ui); font-size: 15px; box-shadow: none; }
.dg-rec .dg-textarea { padding: 12px 14px; min-height: 120px; }
.dg-rec .dg-input:focus, .dg-rec .dg-select:focus, .dg-rec .dg-textarea:focus { outline: none; border-color: var(--text); box-shadow: 0 0 0 2px var(--amber); }
.dg-rec .dg-error { color: var(--red); font-size: 13px; }
.dg-rec .dg-note { background: var(--paper-2); border: 0; border-left: 2px solid var(--amber); border-radius: 0; padding: 12px 14px; font-size: 14px; color: var(--muted); }

/* content defaults at element specificity — for pages written in utility markup */
:where(.dg-rec .dg-main) :where(h1) { font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; letter-spacing: -0.03em; line-height: 1.04; font-size: clamp(32px, 4vw, 52px); color: var(--text); margin: 0 0 18px; }
:where(.dg-rec .dg-main) :where(h2) { font-family: var(--f-display); font-variation-settings: "wdth" 96; font-weight: 600; letter-spacing: -0.025em; line-height: 1.08; font-size: clamp(24px, 2.6vw, 34px); color: var(--text); margin: 44px 0 14px; }
:where(.dg-rec .dg-main) :where(h3) { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.02em; line-height: 1.2; font-size: 20px; color: var(--text); margin: 28px 0 10px; }
:where(.dg-rec .dg-main) :where(h4, h5) { font-family: var(--f-display); font-weight: 600; font-size: 16px; color: var(--text); margin: 20px 0 8px; }
:where(.dg-rec .dg-main) :where(p, li) { font-size: 16px; line-height: 1.65; color: var(--text); }
:where(.dg-rec .dg-main) :where(p) { margin: 0 0 14px; }
:where(.dg-rec .dg-main) :where(ul, ol) { margin: 0 0 16px; padding-left: 22px; }
:where(.dg-rec .dg-main) :where(li) { margin: 0 0 6px; }
:where(.dg-rec .dg-main) :where(p, li, td, th, blockquote, dd, figcaption, h2, h3, h4) :where(a) { color: var(--text); text-decoration: none; border-bottom: 1px solid #B9B2A4; }
:where(.dg-rec .dg-main) :where(p, li, td, th, blockquote, dd, figcaption, h2, h3, h4) :where(a:hover) { border-bottom-color: var(--text); }
:where(.dg-rec .dg-main) :where(table) { width: 100%; border-collapse: collapse; margin: 20px 0 24px; font-size: 14px; border: 0 !important; }
:where(.dg-rec .dg-main) :where(th) { text-align: left; font-family: var(--f-mono); font-weight: 500; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding: 10px 12px 10px 0; border: 0 !important; border-bottom: 2px solid var(--text) !important; background: transparent !important; }
:where(.dg-rec .dg-main) :where(td) { padding: 12px 12px 12px 0; border: 0 !important; border-bottom: 1px solid var(--line) !important; vertical-align: top; color: var(--text); background: transparent !important; }
:where(.dg-rec .dg-main) :where(tr:hover td) { background: transparent !important; }
:where(.dg-rec .dg-main) :where(blockquote) { margin: 20px 0; padding: 0 0 0 18px; border-left: 2px solid var(--amber); color: var(--muted); }
:where(.dg-rec .dg-main) :where(hr) { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }
:where(.dg-rec .dg-main) :where(img) { max-width: 100%; height: auto; }
:where(.dg-rec .dg-main) :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]), select, textarea) { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid #B9B2A4; border-radius: 3px; background: var(--bone); color: var(--text); font-family: var(--f-ui); font-size: 15px; }
:where(.dg-rec .dg-main) :where(textarea) { padding: 12px 14px; min-height: 120px; }
:where(.dg-rec .dg-main) :where(input:focus, select:focus, textarea:focus) { outline: none; border-color: var(--text); box-shadow: 0 0 0 2px var(--amber); }
:where(.dg-rec .dg-main) :where(label) { display: block; margin: 0 0 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
:where(.dg-rec .dg-main) :where(button, input[type=submit], a.btn) { font-family: var(--f-ui); font-weight: 600; font-size: 14px; border-radius: 3px; cursor: pointer; }
:where(.dg-rec .dg-main) :where(summary) { cursor: pointer; }
:where(.dg-rec .dg-main) :where(details) { border-bottom: 1px solid var(--line); }
:where(.dg-rec .dg-main) :where(strong) { font-weight: 600; color: var(--text); }
:where(.dg-rec .dg-main) :where(.fas, .fa, .far, .fab) { border: 0; }

/* ======================================================================= */
/* UTILITY SHIM — the utility vocabulary used by legacy public markup,     */
/* re-expressed in Record tokens (no blue, no shadows, 3px radii).         */
/* ======================================================================= */
.dg-rec .container, .dg-rec .max-w-7xl, .dg-rec .max-w-6xl { max-width: var(--wrap); margin-left: auto; margin-right: auto; }
.dg-rec .max-w-5xl { max-width: 1024px; } .dg-rec .max-w-4xl { max-width: 896px; } .dg-rec .max-w-3xl { max-width: 768px; } .dg-rec .max-w-2xl { max-width: 672px; } .dg-rec .max-w-xl { max-width: 576px; } .dg-rec .max-w-lg { max-width: 512px; } .dg-rec .max-w-md { max-width: 448px; } .dg-rec .max-w-sm { max-width: 384px; }
.dg-rec .mx-auto { margin-left: auto; margin-right: auto; }
.dg-rec .w-full { width: 100%; } .dg-rec .h-full { height: 100%; } .dg-rec .h-auto { height: auto; } .dg-rec .min-h-screen { min-height: 60vh; }
.dg-rec .flex { display: flex; } .dg-rec .inline-flex { display: inline-flex; } .dg-rec .grid { display: grid; } .dg-rec .block { display: block; } .dg-rec .inline-block { display: inline-block; } .dg-rec .hidden { display: none; }
.dg-rec .flex-col { flex-direction: column; } .dg-rec .flex-wrap { flex-wrap: wrap; } .dg-rec .flex-1 { flex: 1 1 0%; } .dg-rec .flex-shrink-0 { flex-shrink: 0; }
.dg-rec .items-start { align-items: flex-start; } .dg-rec .items-center { align-items: center; } .dg-rec .items-end { align-items: flex-end; }
.dg-rec .justify-center { justify-content: center; } .dg-rec .justify-between { justify-content: space-between; } .dg-rec .justify-end { justify-content: flex-end; }
.dg-rec .gap-1 { gap: 4px; } .dg-rec .gap-2, .dg-rec .gap-2\.5 { gap: 8px; } .dg-rec .gap-3 { gap: 12px; } .dg-rec .gap-4 { gap: 16px; } .dg-rec .gap-6 { gap: 24px; } .dg-rec .gap-8 { gap: 32px; }
.dg-rec .grid-cols-1 { grid-template-columns: 1fr; } .dg-rec .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dg-rec .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dg-rec .space-y-1 > * + * { margin-top: 4px; } .dg-rec .space-y-2 > * + *, .dg-rec .space-y-2\.5 > * + * { margin-top: 8px; } .dg-rec .space-y-3 > * + * { margin-top: 12px; } .dg-rec .space-y-4 > * + * { margin-top: 16px; } .dg-rec .space-y-6 > * + * { margin-top: 24px; }
.dg-rec .space-y-1 > p, .dg-rec .space-y-2 > p, .dg-rec .space-y-3 > p, .dg-rec .space-y-4 > p, .dg-rec .space-y-6 > p { margin-bottom: 0; }
.dg-rec .p-3 { padding: 12px; } .dg-rec .p-4 { padding: 16px; } .dg-rec .p-5, .dg-rec .sm\:p-5 { padding: 20px; } .dg-rec .p-6 { padding: 24px; } .dg-rec .p-8, .dg-rec .sm\:p-8 { padding: 28px; }
.dg-rec .px-3 { padding-left: 12px; padding-right: 12px; } .dg-rec .px-4 { padding-left: var(--gutter); padding-right: var(--gutter); } .dg-rec .px-5 { padding-left: 20px; padding-right: 20px; } .dg-rec .px-6 { padding-left: 24px; padding-right: 24px; } .dg-rec .px-8 { padding-left: 28px; padding-right: 28px; }
.dg-rec .py-1 { padding-top: 4px; padding-bottom: 4px; } .dg-rec .py-2, .dg-rec .py-2\.5 { padding-top: 8px; padding-bottom: 8px; } .dg-rec .py-3 { padding-top: 12px; padding-bottom: 12px; } .dg-rec .py-4 { padding-top: 16px; padding-bottom: 16px; } .dg-rec .py-6 { padding-top: 24px; padding-bottom: 24px; } .dg-rec .py-8, .dg-rec .sm\:py-8 { padding-top: 32px; padding-bottom: 32px; } .dg-rec .py-10 { padding-top: 40px; padding-bottom: 40px; } .dg-rec .py-12 { padding-top: 48px; padding-bottom: 48px; } .dg-rec .py-16, .dg-rec .lg\:py-14 { padding-top: 64px; padding-bottom: 64px; }
.dg-rec .pt-0 { padding-top: 0; } .dg-rec .pt-4 { padding-top: 16px; } .dg-rec .pb-3 { padding-bottom: 12px; } .dg-rec .pl-6 { padding-left: 24px; }
.dg-rec .m-0 { margin: 0; } .dg-rec .mb-1 { margin-bottom: 4px; } .dg-rec .mb-2 { margin-bottom: 8px; } .dg-rec .mb-3 { margin-bottom: 12px; } .dg-rec .mb-4 { margin-bottom: 16px; } .dg-rec .mb-5 { margin-bottom: 20px; } .dg-rec .mb-6 { margin-bottom: 24px; } .dg-rec .mb-8 { margin-bottom: 32px; } .dg-rec .mb-12 { margin-bottom: 48px; }
.dg-rec .mt-0\.5 { margin-top: 2px; } .dg-rec .mt-1 { margin-top: 4px; } .dg-rec .mt-2 { margin-top: 8px; } .dg-rec .mt-3 { margin-top: 12px; } .dg-rec .mt-4 { margin-top: 16px; } .dg-rec .mt-5 { margin-top: 20px; } .dg-rec .mt-6 { margin-top: 24px; } .dg-rec .mt-8 { margin-top: 32px; } .dg-rec .mt-12 { margin-top: 48px; } .dg-rec .mt-16 { margin-top: 64px; }
.dg-rec .my-4 { margin-top: 16px; margin-bottom: 16px; } .dg-rec .my-6 { margin-top: 24px; margin-bottom: 24px; } .dg-rec .my-8 { margin-top: 32px; margin-bottom: 32px; } .dg-rec .my-12 { margin-top: 48px; margin-bottom: 48px; }
.dg-rec .ml-4 { margin-left: 16px; } .dg-rec .ml-5 { margin-left: 20px; } .dg-rec .ml-6 { margin-left: 24px; } .dg-rec .mr-1 { margin-right: 4px; } .dg-rec .mr-2 { margin-right: 8px; }
.dg-rec .text-left { text-align: left; } .dg-rec .text-center { text-align: center; } .dg-rec .text-right { text-align: right; }
.dg-rec .text-xs { font-size: 12px; } .dg-rec .text-sm { font-size: 14px; } .dg-rec .text-base { font-size: 16px; } .dg-rec .text-lg { font-size: 17px; } .dg-rec .text-xl, .dg-rec .sm\:text-xl { font-size: 19px; } .dg-rec .text-2xl, .dg-rec .sm\:text-2xl { font-size: 22px; } .dg-rec .text-3xl, .dg-rec .sm\:text-3xl { font-size: 28px; } .dg-rec .text-4xl, .dg-rec .sm\:text-4xl { font-size: 34px; }
.dg-rec h1.text-3xl, .dg-rec h1.text-4xl, .dg-rec h1.sm\:text-4xl { font-size: clamp(32px, 4vw, 52px); }
.dg-rec h2.text-xl, .dg-rec h2.text-2xl, .dg-rec h2.sm\:text-2xl, .dg-rec h2.sm\:text-3xl { font-size: clamp(24px, 2.6vw, 34px); }
.dg-rec h3.text-lg, .dg-rec h3.text-xl, .dg-rec h3.sm\:text-xl { font-size: 20px; }
.dg-rec .font-medium { font-weight: 500; } .dg-rec .font-semibold { font-weight: 600; } .dg-rec .font-bold { font-weight: 600; }
.dg-rec .italic { font-style: italic; } .dg-rec .uppercase { text-transform: uppercase; font-family: var(--f-mono); letter-spacing: 0.12em; font-size: 11px; } .dg-rec .tracking-wide, .dg-rec .tracking-widest { letter-spacing: 0.12em; } .dg-rec .leading-relaxed { line-height: 1.65; } .dg-rec .underline { border-bottom: 1px solid currentColor; text-decoration: none; }
.dg-rec .text-white, .dg-rec .text-blue-100, .dg-rec .text-gray-200, .dg-rec .text-gray-300 { color: var(--paper); }
.dg-rec .text-gray-900, .dg-rec .text-gray-800, .dg-rec .text-black, .dg-rec .text-blue-900, .dg-rec .text-blue-800 { color: var(--text); }
.dg-rec .text-gray-700, .dg-rec .text-gray-600, .dg-rec .text-gray-500, .dg-rec .text-gray-400 { color: var(--muted); }
.dg-rec .text-blue-600, .dg-rec .text-blue-700, .dg-rec .text-yellow-600, .dg-rec .text-yellow-700, .dg-rec .text-amber-800, .dg-rec .text-amber-900 { color: var(--amber-ink); }
.dg-rec .text-yellow-400, .dg-rec .text-yellow-500 { color: var(--amber); }
.dg-rec .text-red-600, .dg-rec .text-red-500 { color: var(--red); } .dg-rec .text-green-600, .dg-rec .text-green-800, .dg-rec .text-green-900, .dg-rec .text-emerald-500 { color: #2E7D4F; }
.dg-rec a.text-blue-600, .dg-rec a.text-blue-700, .dg-rec a.hover\:underline { color: var(--text); border-bottom: 1px solid #B9B2A4; }
.dg-rec a.text-blue-600:hover, .dg-rec a.text-blue-700:hover { border-bottom-color: var(--text); }
.dg-rec .bg-white { background: var(--bone); } .dg-rec .bg-gray-50, .dg-rec .bg-gray-100, .dg-rec .bg-blue-50, .dg-rec .from-blue-50, .dg-rec .from-yellow-50 { background: var(--paper-2); background-image: none; }
.dg-rec .bg-yellow-50, .dg-rec .bg-amber-50 { background: rgba(242, 183, 5, 0.1); } .dg-rec .bg-green-50 { background: rgba(46, 125, 79, 0.08); } .dg-rec .bg-red-50 { background: rgba(200, 50, 31, 0.08); }
.dg-rec .bg-yellow-400, .dg-rec .hover\:bg-yellow-500:hover, .dg-rec .hover\:bg-yellow-300:hover { background: var(--amber); color: var(--ink); }
.dg-rec .bg-gray-900, .dg-rec .bg-black, .dg-rec .bg-blue-600, .dg-rec .from-blue-600, .dg-rec .from-gray-900, .dg-rec .bg-gradient-to-r, .dg-rec .bg-gradient-to-br { background: var(--ink); background-image: none; color: var(--paper); }
.dg-rec .bg-gradient-to-br.from-red-50, .dg-rec .bg-gradient-to-br.from-yellow-50, .dg-rec .bg-gradient-to-br.from-blue-50, .dg-rec .bg-gradient-to-br.from-green-50 { background: var(--bone); color: var(--text); }
.dg-rec .bg-gray-900 p, .dg-rec .bg-black p, .dg-rec .bg-blue-600 p, .dg-rec .from-blue-600 p, .dg-rec .from-gray-900 p, .dg-rec .bg-gray-900 h2, .dg-rec .bg-gray-900 h3, .dg-rec .from-blue-600 h2, .dg-rec .from-blue-600 h3, .dg-rec .from-gray-900 h2, .dg-rec .from-gray-900 h3, .dg-rec .bg-blue-600 h2, .dg-rec .bg-blue-600 h3, .dg-rec .from-blue-600 li, .dg-rec .from-gray-900 li { color: var(--paper); }
.dg-rec .from-blue-600 a, .dg-rec .from-gray-900 a, .dg-rec .bg-gray-900 a, .dg-rec .bg-blue-600 a { color: var(--paper); border-bottom-color: var(--line-d2); }
.dg-rec .hover\:bg-blue-700:hover, .dg-rec .hover\:bg-gray-800:hover, .dg-rec .hover\:bg-gray-700:hover { background: var(--ink-3); }
.dg-rec .hover\:bg-gray-50:hover, .dg-rec .hover\:bg-blue-50:hover { background: var(--paper-2); }
.dg-rec .bg-white\/10, .dg-rec .hover\:bg-white\/20:hover { background: rgba(244, 241, 234, 0.08); }
.dg-rec .border { border: 1px solid var(--line); } .dg-rec .border-2 { border: 1px solid #B9B2A4; } .dg-rec .border-t { border-top: 1px solid var(--line); } .dg-rec .border-b { border-bottom: 1px solid var(--line); }
.dg-rec .border-l-4 { border-left: 2px solid var(--amber); }
.dg-rec .border-gray-100, .dg-rec .border-gray-200, .dg-rec .border-gray-300, .dg-rec .border-gray-500, .dg-rec .border-blue-200, .dg-rec .border-yellow-200, .dg-rec .border-blue-500, .dg-rec .border-blue-600, .dg-rec .border-amber-500 { border-color: var(--line); }
.dg-rec .border-l-4.border-red-500 { border-left-color: var(--red); } .dg-rec .border-l-4.border-green-500 { border-left-color: #2E7D4F; } .dg-rec .border-l-4.border-amber-500, .dg-rec .border-l-4.border-yellow-500, .dg-rec .border-l-4.border-blue-500, .dg-rec .border-l-4.border-blue-600 { border-left-color: var(--amber); }
.dg-rec .border-collapse { border-collapse: collapse; }
.dg-rec .rounded, .dg-rec .rounded-md, .dg-rec .rounded-lg, .dg-rec .rounded-xl, .dg-rec .rounded-2xl, .dg-rec .rounded-r-lg { border-radius: 3px; } .dg-rec .rounded-full { border-radius: 3px; }
.dg-rec .shadow-sm, .dg-rec .shadow-md, .dg-rec .shadow-lg, .dg-rec .hover\:shadow-md:hover, .dg-rec .hover\:shadow-lg:hover, .dg-rec .hover\:shadow-2xl:hover { box-shadow: none; }
.dg-rec .hover\:-translate-y-1:hover, .dg-rec .hover\:-translate-y-2:hover { transform: none; }
.dg-rec .list-disc { list-style: disc; } .dg-rec .list-decimal { list-style: decimal; } .dg-rec .list-none { list-style: none; padding-left: 0; }
.dg-rec .overflow-hidden { overflow: hidden; } .dg-rec .overflow-x-auto { overflow-x: auto; } .dg-rec .max-h-80 { max-height: 320px; }
.dg-rec .relative { position: relative; } .dg-rec .absolute { position: absolute; } .dg-rec .inset-0 { inset: 0; } .dg-rec .sticky { position: sticky; top: calc(var(--dg-nav-h) + 16px); }
.dg-rec .cursor-pointer { cursor: pointer; } .dg-rec .object-cover { object-fit: cover; } .dg-rec .h-10 { height: 40px; } .dg-rec .w-10 { width: 40px; }
.dg-rec .transition, .dg-rec .transition-colors, .dg-rec .transition-all, .dg-rec .transition-shadow, .dg-rec .transition-transform { transition: background 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease); }
.dg-rec .group-open\:rotate-180 { transition: transform 180ms var(--ease); } .dg-rec details[open] .group-open\:rotate-180 { transform: rotate(180deg); }
.dg-rec .text-4xl.mb-3 { display: none; }  /* legacy emoji glyph tiles */
.dg-rec .fas.text-emerald-500, .dg-rec .fa-check { color: var(--amber-ink); }
.dg-rec .lg\:w-3\/4 { min-width: 0; } .dg-rec .lg\:w-1\/4 { min-width: 0; }
.dg-rec .max-w-7xl.lg\:flex-row, .dg-rec .flex.lg\:flex-row { align-items: flex-start; }
.dg-rec .sm\:text-lg { font-size: 17px; }
.dg-rec button.bg-yellow-400, .dg-rec a.bg-yellow-400, .dg-rec button.bg-blue-600, .dg-rec a.bg-blue-600, .dg-rec a.bg-gray-900, .dg-rec button.bg-gray-900, .dg-rec a.bg-white, .dg-rec a.bg-black { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 3px; font-family: var(--f-ui); font-weight: 600; font-size: 14px; letter-spacing: 0.01em; border: 1px solid transparent; }
.dg-rec a.bg-white { background: transparent; color: var(--paper); border-color: var(--paper); }
.dg-rec .bg-gray-900 a.bg-white, .dg-rec .from-gray-900 a.bg-white, .dg-rec .from-blue-600 a.bg-white { border-bottom: 1px solid var(--paper); }
.dg-rec .bg-gray-900 a.bg-white:hover, .dg-rec .from-gray-900 a.bg-white:hover, .dg-rec .from-blue-600 a.bg-white:hover { background: var(--paper); color: var(--ink); }
.dg-rec a.bg-yellow-400, .dg-rec button.bg-yellow-400 { color: var(--ink); }
.dg-rec a.bg-blue-600, .dg-rec button.bg-blue-600, .dg-rec a.bg-gray-900, .dg-rec button.bg-gray-900, .dg-rec a.bg-black { color: var(--paper); }
.dg-rec .bg-gray-900 a.bg-yellow-400, .dg-rec .from-gray-900 a.bg-yellow-400, .dg-rec .from-blue-600 a.bg-yellow-400 { border-bottom: 0; }
.dg-rec .bg-gray-900 .text-gray-400, .dg-rec .from-gray-900 .text-gray-400, .dg-rec .from-blue-600 .text-blue-100, .dg-rec .bg-blue-600 .text-blue-100 { color: var(--muted-d); }
@media (min-width: 640px) {
  .dg-rec .sm\:flex-row { flex-direction: row; } .dg-rec .sm\:flex-wrap { flex-wrap: wrap; } .dg-rec .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .dg-rec .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dg-rec .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dg-rec .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .dg-rec .lg\:flex-row { flex-direction: row; } .dg-rec .lg\:w-3\/4 { width: 75%; } .dg-rec .lg\:w-1\/4 { width: 25%; }
}
@media (max-width: 900px) {
  .dg-rec .dg-steps, .dg-rec .dg-steps:has(> :nth-child(5)), .dg-rec .dg-audience { grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .dg-rec .dg-home-sources { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dg-rec .dg-split, .dg-rec .dg-split--reverse { grid-template-columns: 1fr; gap: 32px; }
  .dg-rec .dg-split--reverse > :first-child { order: 2; }
}
@media (max-width: 640px) {
  .dg-rec .dg-steps, .dg-rec .dg-steps:has(> :nth-child(5)), .dg-rec .dg-audience { grid-template-columns: 1fr; }
  .dg-rec .dg-home-sources { grid-template-columns: 1fr 1fr; }
  .dg-rec .dg-cta__actions .dg-btn { width: 100%; }
  .dg-rec .text-4xl, .dg-rec .sm\:text-4xl { font-size: 28px; } .dg-rec .text-3xl, .dg-rec .sm\:text-3xl { font-size: 24px; }
  :where(.dg-rec .dg-main) :where(table) { display: block; overflow-x: auto; }
}

/* ======================================================================= */
/* SHARED SITE PRIMITIVES — used by all secondary compositions             */
/* ======================================================================= */
.dg-rec .mn-crumb, .dg-rec .st-crumb { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(28px, 4vw, 48px); font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.dg-rec .mn-crumb a, .dg-rec .st-crumb a { color: var(--muted-d); } .dg-rec .mn-crumb a:hover, .dg-rec .st-crumb a:hover { color: var(--paper); }
.dg-rec .st-crumb--paper { color: var(--muted); } .dg-rec .st-crumb--paper a { color: var(--muted); } .dg-rec .st-crumb--paper a:hover { color: var(--text); }
.st-ink { position: relative; background: var(--ink); color: var(--paper); overflow: hidden; }
.st-ink::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); opacity: 0.7; }
.st-ink > * { position: relative; }
.st-ink .hm-eyebrow { color: var(--amber); }
.st-ink .hm-body { color: var(--muted-d); }
.st-paper .hm-eyebrow { color: var(--amber-ink); }
.st-bone { background: var(--bone); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.st-sec { padding: var(--sec) 0; }
.st-sec--tight { padding: clamp(48px, 6vw, 80px) 0; }
.st-h1 { color: var(--paper); font-size: clamp(36px, 4.6vw, 64px); margin-bottom: 20px; }
.st-h1--paper { color: var(--text); }
.st-h2 { font-size: clamp(28px, 3.2vw, 44px); max-width: 18ch; }
.st-lead { color: var(--muted-d); max-width: 52ch; }
.st-lead--paper { color: var(--muted); }
.st-fine { margin: 18px 0 0; font-size: 12px; line-height: 1.55; color: var(--faint-d); max-width: 70ch; }
.st-fine--paper { color: var(--muted); }
.st-fine a { color: inherit; border-bottom: 1px solid currentColor; }
.st-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.st-grid-2 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.st-grid-2--even { grid-template-columns: 1fr 1fr; }
.st-ledger { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.st-ink .st-ledger { border-top-color: var(--paper); }
.st-ledger li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.55; }
.st-ink .st-ledger li { border-bottom-color: var(--line-d); color: var(--muted-d); }
.st-ledger__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--amber-ink); padding-top: 4px; }
.st-ink .st-ledger__k { color: var(--amber); }
.st-ledger__head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 10px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.st-ink .st-ledger__head { color: var(--faint-d); }
.st-rows { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.st-rows li { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 16px 32px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.st-rows li span { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; }
.st-rows li em { font-style: normal; color: var(--muted); font-size: 15px; line-height: 1.55; }
.st-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; counter-reset: st; }
.st-steps li { position: relative; padding: 46px 0 8px; border-top: 1px solid var(--text); }
.st-steps__k { position: absolute; top: 12px; left: 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--amber-ink); border: 1px solid currentColor; padding: 2px 6px; border-radius: 2px; }
.st-steps h3 { margin: 0 0 8px; font-family: var(--f-display); font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.st-steps p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }
.st-ink .st-steps li { border-top-color: var(--line-d2); } .st-ink .st-steps__k { color: var(--amber); } .st-ink .st-steps p { color: var(--muted-d); }
.st-faq { border-top: 2px solid var(--text); }
.st-faq__item { border-bottom: 1px solid var(--line); }
.st-faq__item summary { list-style: none; display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 12px; align-items: start; padding: 18px 0; cursor: pointer; }
.st-faq__item summary::-webkit-details-marker { display: none; }
.st-faq__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--amber-ink); padding-top: 4px; }
.st-faq__q { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; color: var(--text); }
.st-faq__i { font-family: var(--f-mono); color: var(--amber-ink); font-size: 16px; text-align: right; transition: transform 180ms var(--ease); }
.st-faq__item[open] .st-faq__i { transform: rotate(45deg); }
.st-faq__item p, .st-faq__item .st-faq__a { margin: 0; padding: 0 0 20px 48px; font-size: 15px; line-height: 1.6; color: var(--muted); max-width: 64ch; }
.st-faq__item .st-faq__a a { color: var(--text); border-bottom: 1px solid #B9B2A4; }
.st-reveal, .hm-motion [data-reveal] { }
.hm-motion .st-r { opacity: 0; transform: translateY(10px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion .st-r.is-in { opacity: 1; transform: none; }
.hm-motion .dg-mon [data-reveal], .hm-motion .dg-feat [data-reveal], .hm-motion .dg-about [data-reveal], .hm-motion .dg-faqp [data-reveal], .hm-motion .dg-vl [data-reveal], .hm-motion .dg-rep [data-reveal], .hm-motion .dg-svc [data-reveal], .hm-motion .dg-auth [data-reveal], .hm-motion .dg-enroll [data-reveal], .hm-motion .dg-ent [data-reveal] { opacity: 0; transform: translateY(10px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion .dg-mon [data-reveal].is-in, .hm-motion .dg-feat [data-reveal].is-in, .hm-motion .dg-about [data-reveal].is-in, .hm-motion .dg-faqp [data-reveal].is-in, .hm-motion .dg-vl [data-reveal].is-in, .hm-motion .dg-rep [data-reveal].is-in, .hm-motion .dg-svc [data-reveal].is-in, .hm-motion .dg-auth [data-reveal].is-in, .hm-motion .dg-enroll [data-reveal].is-in, .hm-motion .dg-ent [data-reveal].is-in { opacity: 1; transform: none; }
@media (max-width: 900px) {
  .st-grid-2, .st-grid-2--even { grid-template-columns: 1fr; gap: 32px; }
  .st-steps { grid-template-columns: 1fr 1fr; gap: 0 24px; }
}
@media (max-width: 640px) {
  .st-steps { grid-template-columns: 1fr; }
  .st-rows li { grid-template-columns: 1fr; gap: 4px; }
  .st-actions .hm-btn { width: 100%; }
  .st-faq__item summary { grid-template-columns: 28px minmax(0, 1fr) 16px; }
  .st-faq__item p, .st-faq__item .st-faq__a { padding-left: 40px; }
}

/* ======================================================================= */
/* MONITORING — the watch system                                           */
/* ======================================================================= */
.mn-hero { position: relative; background: radial-gradient(110% 70% at 85% 0%, rgba(242, 183, 5, 0.07), transparent 55%), var(--ink); color: var(--paper); overflow: hidden; padding: clamp(28px, 3.5vw, 44px) 0 clamp(48px, 6vw, 88px); }
.mn-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); opacity: 0.7; }
.mn-hero .hm-wrap { position: relative; }
.mn-hero .hm-eyebrow { color: var(--amber); }
.mn-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.mn-h1 { font-size: clamp(36px, 4.6vw, 64px); margin-bottom: 20px; }
.mn-lead { max-width: 50ch; margin-bottom: 0; }
.mn-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.mn-fine { margin: 18px 0 0; font-size: 12px; line-height: 1.55; color: var(--faint-d); max-width: 64ch; }
.mn-fine--paper { color: var(--muted); margin-top: 28px; } .mn-fine--paper a { color: var(--text); border-bottom: 1px solid #B9B2A4; }
.hm-motion .mn-hero__copy > * { opacity: 0; transform: translateY(12px); }
.hm-motion .mn-hero.is-live .mn-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease-out); }
.hm-motion .mn-hero.is-live .mn-hero__copy > :nth-child(2) { transition-delay: 0.08s; }
.hm-motion .mn-hero.is-live .mn-hero__copy > :nth-child(3) { transition-delay: 0.18s; }
.hm-motion .mn-hero.is-live .mn-hero__copy > :nth-child(4) { transition-delay: 0.28s; }
.hm-motion .mn-hero.is-live .mn-hero__copy > :nth-child(5) { transition-delay: 0.38s; }

.mn-rail { margin: 6px 0 0; padding: 0; border-top: 1px solid var(--line-d2); }
.mn-rail__head { display: grid; grid-template-columns: auto auto 1fr; gap: 14px; align-items: baseline; padding: 14px 0 22px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.mn-rail__head b { font-family: var(--f-display); font-variation-settings: "wdth" 92; font-weight: 600; font-size: 28px; letter-spacing: -0.02em; color: var(--paper); text-transform: none; }
.mn-rail__head em { font-style: normal; justify-self: end; text-align: right; }
.mn-rail__list { list-style: none; margin: 0; padding: 0 0 0 0; position: relative; }
.mn-rail__list::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: var(--line-d2); transform-origin: top; }
.mn-rail__list li { position: relative; display: grid; grid-template-columns: 16px 76px minmax(0, 1fr); gap: 0 16px; align-items: start; padding: 0 0 26px; }
.mn-rail__list li:last-child { padding-bottom: 0; }
.mn-rail__list i { width: 8px; height: 8px; margin: 6px 0 0 4px; border: 1px solid var(--paper); border-radius: 1px; background: var(--ink); display: block; position: relative; }
.mn-rail__list li[data-st="watch"] i { background: var(--paper); }
.mn-rail__list li[data-st="change"] i { border-color: var(--amber); background: var(--ink); }
.mn-rail__list li[data-st="signal"] i { background: var(--amber); border-color: var(--amber); }
.mn-rail__list li[data-st="signal"] i::after { content: ""; position: absolute; inset: -6px; border: 1px solid var(--amber); border-radius: 1px; opacity: 0; }
.mn-rail__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper); padding-top: 3px; }
.mn-rail__list li[data-st="signal"] .mn-rail__k { color: var(--amber); }
.mn-rail__t { font-size: 14px; line-height: 1.5; color: var(--muted-d); }
.mn-rail__foot { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 6px 10px; margin: 24px 0 0; padding-top: 14px; border-top: 1px solid var(--line-d); font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); }
.mn-rail__foot em { font-style: normal; color: var(--paper); }
.hm-motion .mn-rail__list::before { transform: scaleY(0); }
.hm-motion .mn-hero.is-live .mn-rail__list::before { transform: scaleY(1); transition: transform 1.1s var(--ease-out) 0.3s; }
.hm-motion .mn-rail__list li { opacity: 0; transform: translateY(6px); }
.hm-motion .mn-hero.is-live .mn-rail__list li { opacity: 1; transform: none; transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); }
.hm-motion .mn-hero.is-live .mn-rail__list li:nth-child(1) { transition-delay: 0.45s; }
.hm-motion .mn-hero.is-live .mn-rail__list li:nth-child(2) { transition-delay: 0.7s; }
.hm-motion .mn-hero.is-live .mn-rail__list li:nth-child(3) { transition-delay: 0.95s; }
.hm-motion .mn-hero.is-live .mn-rail__list li:nth-child(4) { transition-delay: 1.2s; }
.hm-motion .mn-hero.is-live .mn-rail__list li[data-st="signal"] i::after { animation: mn-ring 3.2s var(--ease) 1.6s infinite; }
@keyframes mn-ring { 0% { opacity: 0.9; transform: scale(0.6); } 60% { opacity: 0; transform: scale(1.5); } 100% { opacity: 0; transform: scale(1.5); } }
.hm-motion .mn-rail__head { opacity: 0; } .hm-motion .mn-hero.is-live .mn-rail__head { opacity: 1; transition: opacity 0.6s var(--ease) 0.25s; }

.mn-scope { padding: var(--sec) 0; }
.mn-scope .hm-eyebrow, .mn-flow .hm-eyebrow, .mn-who .hm-eyebrow, .mn-faq .hm-eyebrow { color: var(--amber-ink); }
.mn-scope__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.mn-h2 { font-size: clamp(28px, 3.2vw, 44px); }
.mn-note { margin: 18px 0 0; padding: 12px 14px; border-left: 2px solid var(--amber); background: var(--paper-2); font-size: 14px; line-height: 1.55; color: var(--muted); max-width: 46ch; }
.mn-ledger__head { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 2px solid var(--text); font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.mn-ledger { list-style: none; margin: 0; padding: 0; }
.mn-ledger li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.mn-ledger__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--amber-ink); padding-top: 4px; }
.mn-ledger__t { font-size: 16px; line-height: 1.55; color: var(--text); }
.mn-ledger__na .mn-ledger__k { color: var(--muted); }
.mn-ledger__na .mn-ledger__t { color: var(--muted); font-size: 14px; }
.hm-motion .mn-ledger li { opacity: 0; transform: translateX(-6px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); transition-delay: var(--d, 0ms); }
.hm-motion .mn-ledger li.is-in { opacity: 1; transform: none; }

.mn-flow { padding: var(--sec) 0; background: var(--bone); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mn-flow__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.mn-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; }
.mn-steps li { position: relative; padding: 46px 0 8px; border-top: 1px solid var(--text); }
.mn-steps li::after { content: "→"; position: absolute; right: -22px; top: 8px; font-family: var(--f-mono); color: var(--line); font-size: 14px; }
.mn-steps li:last-child::after { display: none; }
.mn-steps__k { position: absolute; top: 12px; left: 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--amber-ink); border: 1px solid currentColor; padding: 2px 6px; border-radius: 2px; }
.mn-steps h3 { margin: 0 0 8px; font-family: var(--f-display); font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.mn-steps p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }

.mn-who { padding: var(--sec) 0; }
.mn-who__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.mn-who__list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.mn-who__list li { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 2fr); gap: 16px 32px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.mn-who__list span { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; }
.mn-who__list em { font-style: normal; color: var(--muted); font-size: 15px; line-height: 1.55; }

.mn-faq { padding: var(--sec) 0; background: var(--bone); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mn-faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.mn-faq__list { border-top: 2px solid var(--text); }
.mn-faq__item { border-bottom: 1px solid var(--line); }
.mn-faq__item summary { list-style: none; display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 12px; align-items: start; padding: 18px 0; cursor: pointer; }
.mn-faq__item summary::-webkit-details-marker { display: none; }
.mn-faq__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--amber-ink); padding-top: 4px; }
.mn-faq__q { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; }
.mn-faq__i { font-family: var(--f-mono); color: var(--amber-ink); text-align: right; transition: transform 180ms var(--ease); }
.mn-faq__item[open] .mn-faq__i { transform: rotate(45deg); }
.mn-faq__item p { margin: 0; padding: 0 0 20px 48px; font-size: 15px; line-height: 1.6; color: var(--muted); max-width: 64ch; }

.mn-final { padding: var(--sec) 0; background: var(--ink); color: var(--paper); position: relative; overflow: hidden; }
.mn-final::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; opacity: 0.5; }
.mn-final .hm-wrap { position: relative; }
.mn-final .hm-eyebrow { color: var(--amber); }
.mn-final .hm-body { color: var(--muted-d); }
.mn-final__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.mn-final__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }

@media (max-width: 1100px) {
  .mn-hero__grid { grid-template-columns: 1fr; gap: 44px; }
  .mn-rail { max-width: 640px; }
}
@media (max-width: 900px) {
  .mn-scope__grid, .mn-who__grid, .mn-faq__grid, .mn-final__grid { grid-template-columns: 1fr; gap: 32px; }
  .mn-final__actions { justify-content: flex-start; }
  .mn-steps { grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .mn-steps li::after { display: none; }
}
@media (max-width: 640px) {
  .mn-h1 { font-size: clamp(34px, 10vw, 44px); }
  .mn-actions .hm-btn, .mn-final__actions .hm-btn { width: 100%; }
  .mn-rail__list li { grid-template-columns: 16px minmax(0, 1fr); gap: 2px 14px; }
  .mn-rail__list .mn-rail__t { grid-column: 2; }
  .mn-rail__head { grid-template-columns: auto 1fr; } .mn-rail__head b { justify-self: start; } .mn-rail__head em { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .mn-rail__foot { grid-template-columns: auto 1fr; }
  .mn-steps { grid-template-columns: 1fr; }
  .mn-who__list li { grid-template-columns: 1fr; gap: 4px; }
  .mn-faq__item summary { grid-template-columns: 28px minmax(0, 1fr) 16px; }
  .mn-faq__item p { padding-left: 40px; }
}
.st-ink .hm-d2, .mn-final .hm-d2, .mn-hero .hm-d2 { color: var(--paper); }
.st-ink .hm-fine { color: var(--faint-d); }

/* ======================================================================= */
/* VIOLATION LOOKUP FAMILY — the enforcement record (.dg-vl)               */
/* ======================================================================= */
.dg-vl .dg-main { background: linear-gradient(var(--ink), var(--ink)) 0 0 / 100% 220px no-repeat, var(--paper); }
.dg-vl .dg-crumb-band { position: relative; padding-top: 22px; }
.dg-vl .dg-breadcrumb, .dg-vl .dg-breadcrumb a { color: var(--faint-d); } .dg-vl .dg-breadcrumb a { color: var(--muted-d); } .dg-vl .dg-breadcrumb a:hover { color: var(--paper); border-color: var(--paper); } .dg-vl .dg-breadcrumb span[aria-hidden] { color: var(--line-d2); }
.dg-vl .vl-hero { position: relative; background: radial-gradient(110% 70% at 85% 0%, rgba(242, 183, 5, 0.07), transparent 55%), var(--ink); color: var(--paper); border-bottom: 0; padding: clamp(28px, 3.5vw, 44px) 0 clamp(44px, 5vw, 72px); overflow: hidden; }
.dg-vl .vl-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); opacity: 0.7; }
.dg-vl .vl-hero > .dg-container { position: relative; }
.dg-vl .vl-hero .dg-caption { color: var(--amber); display: flex; align-items: center; gap: 12px; }
.dg-vl .vl-hero .dg-caption::before { content: "03"; display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 20px; padding: 0 6px; border: 1px solid currentColor; border-radius: 2px; font-size: 10px; letter-spacing: 0.08em; }
.dg-vl .vl-hero .dg-h1 { color: var(--paper); font-size: clamp(36px, 4.6vw, 64px); max-width: 16ch; }
.dg-vl .vl-hero .dg-lead { color: var(--muted-d); max-width: 56ch; font-size: clamp(16px, 1.3vw, 18px); }
.dg-vl .dg-lookup-search__box { margin-top: 32px; background: var(--bone); color: var(--text); border-radius: 4px; padding: 18px 18px 14px; box-shadow: 0 1px 0 rgba(255,255,255,0.08) inset, 0 30px 60px -20px rgba(0,0,0,0.6); }
.dg-vl .dg-lookup-search__box .grid { display: grid; grid-template-columns: 0.7fr 1fr 0.8fr 1.6fr auto; gap: 10px; align-items: end; }
.dg-vl .dg-lookup-search__box .dg-label { color: var(--muted); margin-bottom: 6px; }
.dg-vl .dg-lookup-search__box .dg-input, .dg-vl .dg-lookup-search__box .dg-select { background: var(--paper); min-height: 48px; }
.dg-vl .dg-lookup-search__box .dg-btn--accent { min-height: 48px; padding: 0 20px; background: var(--ink); color: var(--paper); }
.dg-vl .dg-lookup-search__box .dg-btn--accent:hover { background: var(--ink-3); }
.dg-vl .dg-lookup-search__box label.invisible { display: none; }
.dg-vl .dg-lookup-search__box > p.text-xs { text-align: left; margin: 12px 0 0 2px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.dg-vl .dg-lookup-search__box .dg-rate-limit-note, .dg-vl .dg-lookup-search__box .bg-yellow-50 { margin-top: 12px; }
.hm-motion .dg-vl .vl-hero .dg-container > * { opacity: 0; transform: translateY(12px); }
.hm-motion .dg-vl .vl-hero.is-live .dg-container > * { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease-out); }
.hm-motion .dg-vl .vl-hero.is-live .dg-container > :nth-child(2) { transition-delay: 0.08s; }
.hm-motion .dg-vl .vl-hero.is-live .dg-container > :nth-child(3) { transition-delay: 0.18s; }
.hm-motion .dg-vl .vl-hero.is-live .dg-container > :nth-child(4) { transition-delay: 0.3s; }
#searchOverlay p { color: var(--paper); margin: 0; } #searchOverlay p.text-gray-400 { color: var(--muted-d); font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 8px; }

/* results */
.dg-vl section.py-10.bg-white { background: var(--paper); padding: clamp(40px, 5vw, 64px) 0; }
.dg-vl section.py-10.bg-white > div { max-width: var(--wrap); }
.dg-vl section.py-10.bg-white h2.text-xl { font-family: var(--f-display); font-variation-settings: "wdth" 94; font-size: clamp(26px, 3vw, 40px); letter-spacing: -0.03em; line-height: 1; margin: 0; }
.dg-vl section.py-10.bg-white h2.text-xl span { display: block; margin-top: 8px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-variation-settings: normal; }
.dg-vl section.py-10.bg-white h2.text-xl span::before { content: ""; }
.dg-vl section.py-10.bg-white p.text-red-600 { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 12px; }
.dg-vl .overflow-x-auto { border: 0 !important; border-radius: 0 !important; margin-top: 20px; }
.dg-vl table.min-w-full { min-width: 720px; }
.dg-vl table.min-w-full thead { background: transparent !important; }
.dg-vl table.min-w-full th { padding-left: 0; }
.dg-vl table.min-w-full td { padding-left: 0; font-size: 14px; }
.dg-vl td .font-mono, .dg-vl td.font-mono { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.02em; color: var(--text); }
.dg-vl td span.inline-block { display: inline-flex; align-items: center; min-height: 22px; padding: 0 7px; border: 1px solid var(--line); border-radius: 2px; background: transparent !important; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; color: var(--muted); white-space: nowrap; }
.dg-vl td span.inline-block.text-red-700, .dg-vl td span.inline-block.bg-red-100 { color: var(--red); border-color: var(--red); }
.dg-vl td span.inline-block.text-green-700, .dg-vl td span.inline-block.bg-green-100 { color: #2E7D4F; border-color: #2E7D4F; }
.dg-vl td span.inline-block.text-amber-700, .dg-vl td span.inline-block.bg-amber-100, .dg-vl td span.inline-block.bg-yellow-100, .dg-vl td span.inline-block.text-yellow-700 { color: var(--amber-ink); border-color: var(--amber-ink); }
.dg-vl td span.block.text-red-600 { display: block; margin-top: 4px; font-family: var(--f-mono); font-size: 9px; letter-spacing: 0.14em; color: var(--red); font-weight: 500; }
.dg-vl tr.bg-red-50 { background: transparent !important; box-shadow: inset 2px 0 0 var(--red); } .dg-vl tr.bg-red-50 td:first-child { padding-left: 12px; }
.dg-vl tr.hover\:bg-gray-50:hover td { background: var(--bone) !important; }
.dg-vl .bg-yellow-50.rounded-xl, .dg-vl .bg-yellow-50.rounded-lg, .dg-vl .bg-green-50.rounded-xl, .dg-vl .bg-red-50.rounded-lg, .dg-vl .bg-red-50.rounded-xl { background: var(--paper-2); border: 0; border-left: 2px solid var(--amber); border-radius: 0; padding: 18px 20px; text-align: left; }
.dg-vl .bg-green-50.rounded-xl { border-left-color: #2E7D4F; } .dg-vl .bg-red-50.rounded-lg, .dg-vl .bg-red-50.rounded-xl { border-left-color: var(--red); }
.dg-vl .bg-green-50.rounded-xl .text-4xl { display: none; }
.dg-vl .bg-green-50 h2, .dg-vl .bg-green-50 p { color: var(--text); } .dg-vl .bg-green-50 .text-green-700, .dg-vl .bg-green-50 .text-gray-600, .dg-vl .bg-green-50 .text-gray-500 { color: var(--muted); }
.dg-vl .bg-yellow-50 .text-gray-600, .dg-vl .bg-yellow-50 .text-gray-900 { color: var(--text); } .dg-vl .bg-yellow-50 .text-xs { color: var(--muted); }
.dg-vl a.rounded-full, .dg-vl button.rounded-full { border-radius: 3px; }
.dg-vl a.text-yellow-600, .dg-vl a.text-yellow-700 { color: var(--text); border-bottom: 1px solid #B9B2A4; }

/* educational blocks → ledgers */
.dg-vl section.py-14, .dg-vl section.py-12, .dg-vl section.py-10.bg-gray-50 { padding: var(--sec) 0; }
.dg-vl section.py-14.bg-gray-50, .dg-vl section.py-10.bg-gray-50, .dg-vl section.py-12.bg-gray-50 { background: var(--bone); border-color: var(--line) !important; }
.dg-vl section.py-14.bg-white, .dg-vl section.py-12.bg-white { background: var(--paper); border-color: var(--line) !important; }
.dg-vl section.py-14 > div, .dg-vl section.py-12 > div, .dg-vl section.py-10 > div { max-width: var(--wrap); }
.dg-vl section h2.text-center, .dg-vl section h3.text-center, .dg-vl section p.text-center, .dg-vl section .text-center { text-align: left; }
.dg-vl section h2.text-2xl, .dg-vl section h2.text-xl { font-size: clamp(28px, 3.2vw, 44px); max-width: 20ch; margin-bottom: 14px; }
.dg-vl section h2 + p.text-center, .dg-vl section h2 + p.text-gray-500 { max-width: 60ch; margin-bottom: clamp(32px, 4vw, 48px); font-size: 16px; }
.dg-vl section h2.mb-10 { margin-bottom: clamp(32px, 4vw, 48px); }
.dg-vl .grid > .bg-white.rounded-xl, .dg-vl .grid > a.block { background: transparent !important; border: 0 !important; border-top: 1px solid var(--text) !important; border-radius: 0 !important; padding: 18px 0 10px !important; }
.dg-vl .grid > a.block:hover { background: transparent !important; } .dg-vl .grid > a.block:hover p:first-child { color: var(--amber-ink); }
.dg-vl .grid > .bg-white.rounded-xl h3 { margin-top: 0; font-size: 20px; }
.dg-vl .grid > .bg-white.rounded-xl h3.text-red-700 { color: var(--red); } .dg-vl .grid > .bg-white.rounded-xl h3.text-orange-700, .dg-vl .grid > .bg-white.rounded-xl h3.text-yellow-700, .dg-vl .grid > .bg-white.rounded-xl h3.text-amber-700 { color: var(--amber-ink); }
.dg-vl .grid > .bg-white.rounded-xl ul { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.02em; color: var(--muted); }
.dg-vl .grid.gap-6, .dg-vl .grid.gap-4 { gap: 0 32px; }
.dg-vl .bg-white.rounded-xl.p-6.shadow-sm:not(.grid > *) { background: transparent; border: 0; border-top: 2px solid var(--text); border-radius: 0; padding: 22px 0 0; margin-top: clamp(32px, 4vw, 48px); }
.dg-vl .bg-white.rounded-xl.p-6.shadow-sm:not(.grid > *) h3 { margin-top: 0; }
.dg-vl .bg-white.rounded-xl.p-6.shadow-sm ul { list-style: none; padding-left: 0; margin: 0; }
.dg-vl .bg-white.rounded-xl.p-6.shadow-sm ul li { border-bottom: 1px solid var(--line); padding: 8px 0; margin: 0; }
.dg-vl .grid.md\:grid-cols-4.relative > .hidden.md\:block { display: none !important; }
.dg-vl .grid.md\:grid-cols-4 > .relative.text-center { text-align: left; padding: 46px 0 10px; border-top: 1px solid var(--text); margin-bottom: 0; position: relative; }
.dg-vl .w-16.h-16.rounded-full { width: auto !important; height: 20px !important; min-width: 26px; padding: 0 6px; margin: 0 !important; position: absolute !important; top: 12px; left: 0; border-radius: 2px; background: transparent !important; border: 1px solid var(--amber-ink); display: inline-flex; }
.dg-vl .w-16.h-16.rounded-full span { color: var(--amber-ink) !important; font-family: var(--f-mono); font-size: 10px !important; letter-spacing: 0.14em; font-weight: 500 !important; }
.dg-vl .grid.md\:grid-cols-4 h3 { margin-top: 0; font-size: 20px; }
.dg-vl .mt-10.bg-yellow-50 { background: var(--paper-2); border: 0; border-left: 2px solid var(--amber); border-radius: 0; padding: 20px 22px; text-align: left; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.dg-vl .mt-10.bg-yellow-50 p { margin: 0; max-width: 60ch; }
.dg-vl .mt-10.bg-yellow-50 a { margin: 0 !important; }
.dg-vl .space-y-4 > details, .dg-vl details.bg-white { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; }
.dg-vl .space-y-4:has(> details) { border-top: 2px solid var(--text); }
.dg-vl details.bg-white summary { padding: 18px 0; font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; gap: 16px; }
.dg-vl details.bg-white summary span { color: var(--amber-ink); font-family: var(--f-mono); font-size: 16px; }
.dg-vl details.bg-white p { margin: 0 0 20px; max-width: 64ch; }
.dg-vl .max-w-3xl:has(> h2 + .space-y-4) { max-width: var(--wrap); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.dg-vl .max-w-3xl:has(> h2 + .space-y-4) > h2 { margin: 0; }
.dg-vl section.py-10.bg-yellow-50 { background: var(--ink); color: var(--paper); border: 0 !important; padding: var(--sec) 0; position: relative; overflow: hidden; }
.dg-vl section.py-10.bg-yellow-50::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; opacity: 0.5; }
.dg-vl section.py-10.bg-yellow-50 > div { position: relative; max-width: var(--wrap); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 16px clamp(32px, 6vw, 96px); align-items: center; }
.dg-vl section.py-10.bg-yellow-50 p.text-xs { color: var(--amber); grid-column: 1; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.16em; margin: 0 0 14px; }
.dg-vl section.py-10.bg-yellow-50 h3 { grid-column: 1; color: var(--paper); font-size: clamp(28px, 3.2vw, 44px); letter-spacing: -0.03em; line-height: 1.02; margin: 0 0 14px; max-width: 18ch; }
.dg-vl section.py-10.bg-yellow-50 p.text-sm { grid-column: 1; color: var(--muted-d); margin: 0; max-width: 52ch; }
.dg-vl section.py-10.bg-yellow-50 a, .dg-vl section.py-10.bg-yellow-50 button { grid-column: 2; grid-row: 1 / span 3; justify-self: end; background: var(--amber); color: var(--ink); }
.dg-vl section.py-10.bg-gray-50 > div { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 12px clamp(32px, 6vw, 96px); align-items: center; }
.dg-vl section.py-10.bg-gray-50 h3 { grid-column: 1; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -0.025em; margin: 0; }
.dg-vl section.py-10.bg-gray-50 p { grid-column: 1; margin: 0; max-width: 52ch; }
.dg-vl section.py-10.bg-gray-50 .flex { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; margin: 0; }
.dg-vl section.py-10.bg-gray-50 .flex a, .dg-vl section.py-10.bg-gray-50 .flex button { background: transparent; border: 1px solid var(--text); color: var(--text); border-radius: 3px; min-height: 46px; padding: 0 22px; display: inline-flex; align-items: center; font-weight: 600; box-shadow: none; }
.dg-vl section.py-10.bg-gray-50 .flex a:hover, .dg-vl section.py-10.bg-gray-50 .flex button:hover { background: var(--text); color: var(--paper); }
.dg-vl section.py-10.bg-gray-50 > div > a.text-yellow-600 { grid-column: 1; justify-self: start; }
@media (max-width: 1024px) {
  .dg-vl .dg-lookup-search__box .grid { grid-template-columns: 1fr 1fr 1fr; }
  .dg-vl .dg-lookup-search__box .grid > div:nth-child(4) { grid-column: 1 / 3; }
}
@media (max-width: 900px) {
  .dg-vl .max-w-3xl:has(> h2 + .space-y-4), .dg-vl section.py-10.bg-yellow-50 > div, .dg-vl section.py-10.bg-gray-50 > div { grid-template-columns: 1fr; }
  .dg-vl section.py-10.bg-yellow-50 a, .dg-vl section.py-10.bg-yellow-50 button, .dg-vl section.py-10.bg-gray-50 .flex { grid-column: 1; grid-row: auto; justify-self: start; justify-content: flex-start; margin-top: 12px; }
  .dg-vl .grid.md\:grid-cols-4, .dg-vl .grid.md\:grid-cols-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .dg-vl .dg-lookup-search__box { padding: 14px 14px 12px; }
  .dg-vl .dg-lookup-search__box .grid { grid-template-columns: 1fr 1fr; }
  .dg-vl .dg-lookup-search__box .grid > div:nth-child(4), .dg-vl .dg-lookup-search__box .grid > div:nth-child(5) { grid-column: 1 / -1; }
  .dg-vl .dg-lookup-search__box .dg-btn--accent { width: 100%; }
  .dg-vl .grid.md\:grid-cols-4, .dg-vl .grid.md\:grid-cols-3, .dg-vl .grid.sm\:grid-cols-2 { grid-template-columns: 1fr; }
  .dg-vl .mt-10.bg-yellow-50 a { width: 100%; }
}
/* violation lookup hub */
.vlh-hero { padding: clamp(28px, 3.5vw, 44px) 0 clamp(48px, 6vw, 88px); }
.vlh-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.hm-motion .vlh-hero__copy > * { opacity: 0; transform: translateY(12px); }
.hm-motion .vlh-hero.is-live .vlh-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease-out); }
.hm-motion .vlh-hero.is-live .vlh-hero__copy > :nth-child(2) { transition-delay: 0.08s; } .hm-motion .vlh-hero.is-live .vlh-hero__copy > :nth-child(3) { transition-delay: 0.18s; } .hm-motion .vlh-hero.is-live .vlh-hero__copy > :nth-child(4) { transition-delay: 0.28s; }
.vlh-schema { margin: 6px 0 0; border-top: 1px solid var(--line-d2); }
.vlh-schema figcaption { padding: 14px 0 6px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); }
.vlh-schema dl { margin: 0; }
.vlh-schema dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line-d); font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.04em; }
.vlh-schema dt { color: var(--faint-d); text-transform: uppercase; font-size: 10px; letter-spacing: 0.14em; padding-top: 2px; }
.vlh-schema dd { margin: 0; color: var(--muted-d); display: flex; align-items: center; gap: 10px; }
.vlh-schema dd i { width: 8px; height: 8px; background: var(--amber); border-radius: 1px; }
.hm-motion .vlh-schema dl div { opacity: 0; } .hm-motion .vlh-hero.is-live .vlh-schema dl div { opacity: 1; transition: opacity 0.5s var(--ease); }
.hm-motion .vlh-hero.is-live .vlh-schema dl div:nth-child(1) { transition-delay: 0.4s; } .hm-motion .vlh-hero.is-live .vlh-schema dl div:nth-child(2) { transition-delay: 0.55s; } .hm-motion .vlh-hero.is-live .vlh-schema dl div:nth-child(3) { transition-delay: 0.7s; } .hm-motion .vlh-hero.is-live .vlh-schema dl div:nth-child(4) { transition-delay: 0.85s; } .hm-motion .vlh-hero.is-live .vlh-schema dl div:nth-child(5) { transition-delay: 1s; }
.vlh-index { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.vlh-index li { border-bottom: 1px solid var(--line); }
.vlh-index a { display: grid; grid-template-columns: 72px minmax(0, 1.2fr) minmax(0, 1.4fr) 24px; gap: 16px; align-items: center; padding: 18px 0; color: inherit; transition: background 160ms var(--ease); }
.vlh-index a:hover { background: linear-gradient(to right, transparent, var(--bone) 20%, var(--bone) 80%, transparent); }
.vlh-index a:hover .vlh-index__a { color: var(--amber-ink); transform: translateX(4px); }
.vlh-index__k { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.14em; font-weight: 500; }
.vlh-index__k i { width: 8px; height: 8px; border: 1px solid var(--text); border-radius: 1px; }
.vlh-index__n b { display: block; font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; }
.vlh-index__n em { display: block; font-style: normal; font-size: 13px; color: var(--muted); margin-top: 2px; }
.vlh-index__r { font-size: 14px; color: var(--muted); line-height: 1.5; }
.vlh-index__a { font-family: var(--f-mono); color: var(--muted); transition: color 160ms var(--ease), transform 160ms var(--ease); }
.hm-motion .vlh-index li { opacity: 0; transform: translateX(-6px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); transition-delay: var(--d, 0ms); } .hm-motion .vlh-index li.is-in { opacity: 1; transform: none; }
.dg-vlhub .st-rows + .st-actions { margin-top: 28px; }
.hm-motion .dg-vlhub [data-reveal] { opacity: 0; transform: translateY(10px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease-out); transition-delay: var(--d, 0ms); } .hm-motion .dg-vlhub [data-reveal].is-in { opacity: 1; transform: none; }
.hm-motion .dg-vlhub .vlh-index[data-reveal-group] { opacity: 1; transform: none; }
@media (max-width: 1100px) { .vlh-hero__grid { grid-template-columns: 1fr; gap: 40px; } .vlh-schema { max-width: 560px; } }
@media (max-width: 900px) { .vlh-index a { grid-template-columns: 64px minmax(0, 1fr) 24px; } .vlh-index__r { grid-column: 2; } }
@media (max-width: 640px) { .vlh-index a { grid-template-columns: minmax(0, 1fr) 24px; gap: 6px 12px; } .vlh-index__n, .vlh-index__r { grid-column: 1; } .vlh-index__a { grid-row: 1; grid-column: 2; } .vlh-schema dl div { grid-template-columns: 90px 1fr; } }

/* ======================================================================= */
/* FEATURES — product system / record layers (.dg-feat)                    */
/* ======================================================================= */
.ft-hero { position: relative; background: radial-gradient(110% 70% at 85% 0%, rgba(242, 183, 5, 0.07), transparent 55%), var(--ink); color: var(--paper); overflow: hidden; padding: clamp(28px, 3.5vw, 44px) 0 clamp(48px, 6vw, 88px); }
.ft-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, var(--line-d) 1px, transparent 1px), linear-gradient(to bottom, var(--line-d) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%); opacity: 0.7; }
.ft-hero .hm-wrap { position: relative; }
.ft-hero .hm-eyebrow { color: var(--amber); }
.ft-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.hm-motion .ft-hero__copy > * { opacity: 0; transform: translateY(12px); }
.hm-motion .ft-hero.is-live .ft-hero__copy > * { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease-out); }
.hm-motion .ft-hero.is-live .ft-hero__copy > :nth-child(2) { transition-delay: 0.08s; } .hm-motion .ft-hero.is-live .ft-hero__copy > :nth-child(3) { transition-delay: 0.18s; } .hm-motion .ft-hero.is-live .ft-hero__copy > :nth-child(4) { transition-delay: 0.28s; } .hm-motion .ft-hero.is-live .ft-hero__copy > :nth-child(5) { transition-delay: 0.38s; }
.ft-strata { margin: 0; }
.ft-strata figcaption { display: flex; justify-content: space-between; padding: 0 0 10px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.ft-strata figcaption em { font-style: normal; color: var(--amber); }
.ft-strata ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-d2); }
.ft-strata li { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 2px 14px; align-items: baseline; padding: 18px 14px 18px 0; border-bottom: 1px solid var(--line-d); background: linear-gradient(to right, rgba(244, 241, 234, 0.03), transparent); }
.ft-strata li[data-l="lookup"] { background: linear-gradient(to right, rgba(244, 241, 234, 0.08), transparent); }
.ft-strata li[data-l="watch"] { background: linear-gradient(to right, rgba(244, 241, 234, 0.06), transparent); }
.ft-strata li[data-l="signal"] { background: linear-gradient(to right, rgba(242, 183, 5, 0.1), transparent); }
.ft-strata__k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--faint-d); border: 1px solid var(--line-d2); padding: 2px 5px; border-radius: 2px; justify-self: start; align-self: start; margin-top: 4px; }
.ft-strata li b { font-family: var(--f-display); font-variation-settings: "wdth" 92; font-weight: 600; font-size: 24px; letter-spacing: -0.02em; color: var(--paper); }
.ft-strata li em { grid-column: 2; font-style: normal; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--muted-d); }
.ft-strata li[data-l="signal"] b { color: var(--amber); }
.ft-strata li i { position: absolute; right: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; background: var(--amber); border-radius: 1px; }
.ft-strata li i::after { content: ""; position: absolute; inset: -6px; border: 1px solid var(--amber); border-radius: 1px; opacity: 0; }
.ft-strata__base { display: grid; grid-template-columns: 50px 1fr; gap: 14px; padding: 14px 0 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--faint-d); }
.ft-strata__base em { font-style: normal; color: var(--muted-d); letter-spacing: 0.08em; line-height: 1.6; }
.hm-motion .ft-strata li { opacity: 0; transform: translateY(8px); }
.hm-motion .ft-hero.is-live .ft-strata li { opacity: 1; transform: none; transition: opacity 0.55s var(--ease), transform 0.55s var(--ease-out); }
.hm-motion .ft-hero.is-live .ft-strata li:nth-child(4) { transition-delay: 0.35s; } .hm-motion .ft-hero.is-live .ft-strata li:nth-child(3) { transition-delay: 0.55s; } .hm-motion .ft-hero.is-live .ft-strata li:nth-child(2) { transition-delay: 0.75s; } .hm-motion .ft-hero.is-live .ft-strata li:nth-child(1) { transition-delay: 0.95s; }
.hm-motion .ft-hero.is-live .ft-strata li i::after { animation: mn-ring 3.2s var(--ease) 1.4s infinite; }
.hm-motion .ft-strata figcaption, .hm-motion .ft-strata__base { opacity: 0; } .hm-motion .ft-hero.is-live .ft-strata figcaption, .hm-motion .ft-hero.is-live .ft-strata__base { opacity: 1; transition: opacity 0.6s var(--ease) 0.3s; }

.ft-layers { padding: var(--sec) 0; }
.ft-layers__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.ft-layer-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.ft-layer { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 4fr) minmax(0, 2fr); gap: 24px clamp(24px, 3vw, 48px); padding: clamp(28px, 3.5vw, 44px) 0; border-bottom: 1px solid var(--line); }
.ft-layer__k { display: inline-block; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--amber-ink); border: 1px solid currentColor; padding: 2px 6px; border-radius: 2px; margin-bottom: 14px; }
.ft-layer__id h3 { margin: 0 0 6px; font-family: var(--f-display); font-variation-settings: "wdth" 94; font-weight: 600; font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.03em; line-height: 1; }
.ft-layer__tag { margin: 0; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.ft-layer__lbl { margin: 0 0 8px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.ft-layer__is p:last-child, .ft-layer__not p:last-child { margin: 0; font-size: 15px; line-height: 1.6; color: var(--text); }
.ft-layer__not p:last-child { color: var(--muted); }
.ft-layer__act { justify-self: end; align-self: start; padding-top: 24px; }

.ft-sources { padding: var(--sec) 0; }
.ft-sources .hm-fine { margin-top: 18px; max-width: 48ch; line-height: 1.8; } .ft-sources .hm-fine a { color: var(--text); border-bottom: 1px solid #B9B2A4; }
.ft-src { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.ft-src li { display: grid; grid-template-columns: 110px minmax(0, 1.1fr) minmax(0, 1.2fr); gap: 16px; align-items: center; min-height: 44px; padding: 4px 0; border-bottom: 1px solid var(--line); }
.ft-src__k { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.12em; font-weight: 500; white-space: nowrap; }
.ft-src__k i { width: 8px; height: 8px; background: var(--text); border-radius: 1px; flex: none; }
.ft-src__n { font-size: 14px; } .ft-src__d { font-size: 13px; color: var(--muted); }
.hm-motion .ft-src li { opacity: 0; transform: translateX(-6px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease-out); transition-delay: var(--d, 0ms); } .hm-motion .ft-src li.is-in { opacity: 1; transform: none; }
.hm-motion .dg-feat .ft-src[data-reveal-group] { opacity: 1; transform: none; }

.ft-three { padding: var(--sec) 0; }
.ft-three__head { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.ft-three__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(24px, 3vw, 48px); border-top: 2px solid var(--text); }
.ft-three__col { padding: 22px 0 8px; }
.ft-three__col + .ft-three__col { border-left: 1px solid var(--line); padding-left: clamp(24px, 3vw, 48px); margin-left: calc(clamp(24px, 3vw, 48px) * -1); }
.ft-three__k { margin: 0; font-family: var(--f-display); font-variation-settings: "wdth" 94; font-weight: 600; font-size: 28px; letter-spacing: -0.03em; }
.ft-three__p { margin: 4px 0 18px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber-ink); }
.ft-three__col dl { margin: 0 0 20px; }
.ft-three__col dl div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; }
.ft-three__col dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding-top: 3px; } .ft-three__col dd { margin: 0; }
.ft-final { padding: var(--sec) 0; }
.ft-final__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.ft-final__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
@media (max-width: 1100px) {
  .ft-hero__grid { grid-template-columns: 1fr; gap: 44px; } .ft-strata { max-width: 560px; }
  .ft-layer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ft-layer__id { grid-column: 1 / -1; } .ft-layer__act { grid-column: 1 / -1; justify-self: start; padding-top: 0; }
}
@media (max-width: 900px) {
  .ft-three__grid { grid-template-columns: 1fr; }
  .ft-three__col + .ft-three__col { border-left: 0; padding-left: 0; margin-left: 0; border-top: 1px solid var(--text); margin-top: 8px; }
  .ft-final__grid { grid-template-columns: 1fr; gap: 32px; } .ft-final__actions { justify-content: flex-start; }
  .ft-src li { grid-template-columns: 90px minmax(0, 1fr); } .ft-src__d { grid-column: 2; margin-top: -6px; padding-bottom: 6px; }
}
@media (max-width: 640px) {
  .ft-layer { grid-template-columns: 1fr; gap: 18px; }
  .st-actions .hm-btn, .ft-final__actions .hm-btn { width: 100%; }
  .ft-strata li b { font-size: 20px; }
}
/* ======================================================================= */
/* ABOUT / FAQ / AUTH / SIGNUP / REPORT / SERVICES / RESOURCES / LEGAL    */
/* ======================================================================= */
.ab-hero, .fq-hero, .au-page, .su-hero, .rp-hero, .sv-hero, .rs-hero, .br-hero, .lg-hero, .er-page { padding: clamp(28px, 3.5vw, 44px) 0 clamp(48px, 6vw, 88px); }
.ab-hero__grid, .fq-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.ab-record { margin: 0; border-top: 1px solid var(--line-d2); }
.ab-record div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line-d); font-family: var(--f-mono); font-size: 12px; }
.ab-record dt { color: var(--faint-d); text-transform: uppercase; font-size: 10px; letter-spacing: 0.14em; padding-top: 2px; }
.ab-record dd { margin: 0; color: var(--paper); }
.ab-problem, .ab-flow, .ab-data, .ab-sep, .ab-who, .ab-final, .fq-group, .fq-final { padding: var(--sec) 0; }
.ab-before { margin: 0; border-top: 2px solid var(--text); }
.ab-before figcaption { display: flex; justify-content: space-between; padding: 0 0 10px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.ab-before figcaption em { font-style: normal; color: var(--amber-ink); }
.ab-before ol { list-style: none; margin: 0; padding: 0; }
.ab-before li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.ab-before li span { font-family: var(--f-mono); font-size: 11px; color: var(--amber-ink); }
.ab-flow__head, .ab-sep__head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.ab-src { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.ab-src li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.ab-src b { font-family: var(--f-mono); font-weight: 500; letter-spacing: 0.08em; }
.ab-src span { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.ab-final__grid, .fq-final__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.ab-final__actions, .fq-final__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }

.fq-index { border-top: 1px solid var(--line-d2); }
.fq-index__h, .fq-index a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: center; }
.fq-index__h { padding: 0 0 10px; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint-d); }
.fq-index ol { list-style: none; margin: 0; padding: 0; }
.fq-index a { padding: 12px 0; border-bottom: 1px solid var(--line-d); color: var(--paper); }
.fq-index a:hover { color: var(--amber); }
.fq-index__k { font-family: var(--f-mono); font-size: 11px; color: var(--amber); }
.fq-index__n { font-family: var(--f-mono); font-size: 11px; color: var(--faint-d); }
.fq-group__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.fq-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.fq-item { border-bottom: 1px solid var(--line); }
.fq-item details { padding: 0; }
.fq-item summary { display: grid; grid-template-columns: 48px minmax(0, 1fr) 16px; gap: 16px; align-items: start; padding: 16px 0; cursor: pointer; list-style: none; }
.fq-item summary::-webkit-details-marker { display: none; }
.fq-item__k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--amber-ink); padding-top: 4px; }
.fq-item__q { font-family: var(--f-display); font-weight: 600; font-size: 17px; letter-spacing: -0.02em; }
.fq-item__i { width: 10px; height: 10px; border-right: 1px solid var(--text); border-bottom: 1px solid var(--text); transform: rotate(45deg); margin-top: 6px; transition: transform 180ms var(--ease); }
.fq-item details[open] .fq-item__i { transform: rotate(225deg); margin-top: 10px; }
.fq-item__a { padding: 0 0 20px 64px; max-width: 62ch; }
.fq-item__a p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--muted); }
.fq-top { color: inherit; border-bottom: 1px solid currentColor; }

.au-page { background: var(--ink); color: var(--paper); min-height: calc(100vh - var(--dg-nav-h)); }
.au-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.au-meta { margin: 28px 0 0; border-top: 1px solid var(--line-d2); }
.au-meta div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-d); font-family: var(--f-mono); font-size: 12px; }
.au-meta dt { color: var(--faint-d); text-transform: uppercase; font-size: 10px; letter-spacing: 0.14em; }
.au-meta dd { margin: 0; } .au-meta a { color: var(--amber); }
.au-panel { background: var(--bone); color: var(--text); padding: clamp(24px, 3vw, 36px); border-radius: 4px; }
.au-field { margin: 0 0 16px; }
.au-field label { display: block; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.au-field input, .au-field select, .au-field textarea { width: 100%; min-height: 46px; border: 1px solid var(--line); background: var(--paper); color: var(--text); font-family: var(--f-ui); font-size: 16px; padding: 0 12px; border-radius: 3px; }
.au-field textarea { min-height: 120px; padding: 12px; }
.au-field__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.au-field__row a { font-family: var(--f-mono); font-size: 11px; color: var(--muted); }
.au-pwd { position: relative; }
.au-pwd button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.au-submit { width: 100%; margin-top: 8px; }
.au-alt { margin: 18px 0 0; font-size: 13px; color: var(--muted); text-align: center; }
.au-alt a { color: var(--text); border-bottom: 1px solid var(--line); }
.au-msg { margin: 0 0 16px; padding: 10px 12px; font-size: 13px; border-left: 2px solid var(--amber); background: rgba(242,183,5,0.08); }
.au-msg--err { border-left-color: var(--red); background: rgba(200,50,31,0.08); }
.au-msg--ok { border-left-color: #2E7D4F; background: rgba(46,125,79,0.08); }
.au-msg.hidden { display: none; }

.su-page { background: var(--paper); }
.su-hero { background: var(--ink); color: var(--paper); }
.su-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: start; padding: clamp(32px, 5vw, 64px) 0 var(--sec); }
.su-plans { display: flex; flex-direction: column; gap: 8px; }
.dg-plan-option { text-align: left; width: 100%; border: 1px solid var(--line); background: var(--bone); padding: 16px 18px; border-radius: 3px; cursor: pointer; color: inherit; }
.dg-plan-option.is-on { border-color: var(--text); box-shadow: inset 3px 0 0 var(--amber); }
.dg-plan-option__name { margin: 0 0 4px; font-family: var(--f-display); font-weight: 600; font-size: 18px; }
.su-form { background: var(--bone); padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: 4px; }
#card-element { padding: 12px; border: 1px solid var(--line); background: var(--paper); border-radius: 3px; }
.dg-rec .dg-toggle { width: 44px; height: 24px; border-radius: 12px; background: var(--line); border: 0; position: relative; cursor: pointer; padding: 0; }
.dg-rec .dg-toggle__knob { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: var(--paper); border-radius: 50%; transition: transform 180ms var(--ease); }
.dg-rec .dg-billing { display: flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: 12px; }

.rp-hero { background: var(--ink); color: var(--paper); }
.rp-doc { background: var(--bone); color: var(--text); padding: 28px 24px; border: 1px solid var(--line-d2); }
.rp-doc__h { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--text); padding-bottom: 10px; margin-bottom: 16px; }
.rp-doc dl div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.rp-doc dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.rp-doc dd { margin: 0; }
.rp-sec { padding: var(--sec) 0; }
.rp-order { max-width: 720px; margin: 0 auto; background: var(--bone); border: 1px solid var(--line); padding: clamp(24px, 4vw, 40px); }
.rp-order h1 { font-family: var(--f-display); font-size: clamp(28px, 4vw, 40px); margin: 0 0 10px; }
.rp-order dl div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.rp-order dt { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }

.sv-hero { background: var(--ink); color: var(--paper); }
.sv-rail { margin: 0; border-top: 1px solid var(--line-d2); }
.sv-rail ol { list-style: none; margin: 0; padding: 0; }
.sv-rail li { display: grid; grid-template-columns: 72px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line-d); font-size: 14px; color: var(--muted-d); }
.sv-rail .sv-k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); }
#service-lead-form { background: var(--paper) !important; padding: var(--sec) 0; overflow-x: hidden; }
#service-lead-form .g-recaptcha { transform-origin: left top; max-width: 100%; overflow: hidden; }
#service-lead-form input, #service-lead-form select, #service-lead-form textarea { width: 100%; min-height: 46px; border: 1px solid var(--line); background: var(--bone); font-family: var(--f-ui); font-size: 16px; padding: 0 12px; border-radius: 3px; }
#service-lead-form textarea { min-height: 120px; padding: 12px; }
#sl-submit, #submitBtn { min-height: 46px; padding: 0 22px; border: 0; background: var(--amber); color: var(--ink); font-weight: 600; border-radius: 3px; cursor: pointer; }
.dvr-tile { border: 1px solid var(--line) !important; border-radius: 3px !important; box-shadow: none !important; transform: none !important; background: var(--bone) !important; }
.dvr-tile:hover { transform: none !important; box-shadow: none !important; border-color: var(--text) !important; }

.rs-hero, .br-hero { background: var(--ink); color: var(--paper); }
.rs-hero.st-ink::before { content: none; }
.rs-intro { max-width: 68ch; padding: clamp(40px, 5vw, 64px) 0 8px; text-align: left; }
.rs-intro__k { margin: 0 0 12px; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--amber-ink); }
.rs-intro__body { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -0.02em; line-height: 1.35; color: var(--text); }
.rs-intro__fine { margin: 16px 0 0; max-width: 62ch; font-size: 14px; line-height: 1.55; color: var(--muted); font-style: normal; }
.rs-intro + .rs-grid { padding-top: 36px; }
.rs-col h2, .rs-more h2, .rs-more h3 { font-family: var(--f-display); font-weight: 600; letter-spacing: -0.02em; border-bottom: 2px solid var(--text); padding-bottom: 10px; }
.rs-col a, .rs-more a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); color: inherit; }
.rs-col a:hover, .rs-more a:hover { color: var(--amber-ink); }
.rs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 40px; padding: var(--sec) 0; }
.rs-more { padding: 0 0 var(--sec); }
.rs-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 40px; }
.br-index { list-style: none; margin: 0; padding: var(--sec) 0; border-top: 2px solid var(--text); }
.br-index a { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); color: inherit; }
.br-index b { font-family: var(--f-display); font-size: 22px; }
.br-index em { font-style: normal; font-size: 14px; color: var(--muted); }
.lg-page .legal-content, .lg-page .dg-container { max-width: 760px; }
.lg-page h1 { font-family: var(--f-display); font-size: clamp(32px, 4vw, 48px); }
.lg-page h2 { font-family: var(--f-display); font-size: 22px; margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); }
.lg-hero { padding-bottom: 32px; }
.er-page { background: var(--ink); color: var(--paper); min-height: calc(100vh - var(--dg-nav-h)); display: flex; align-items: center; }
.er-k { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.2em; color: var(--amber); }
.er-code { font-family: var(--f-display); font-variation-settings: "wdth" 80; font-weight: 700; font-size: clamp(72px, 14vw, 140px); line-height: 0.9; letter-spacing: -0.06em; margin: 8px 0 16px; }

.dg-rec article.lg\:w-3\/4 h1, .dg-rec article h1.text-3xl { font-family: var(--f-display); font-variation-settings: "wdth" 92; letter-spacing: -0.03em; }
.dg-rec article.lg\:w-3\/4 { font-size: 16px; line-height: 1.7; color: var(--text); }

.sv-scope, .sv-flow { padding: var(--sec) 0; }
.sv-handle { list-style: none; margin: 28px 0 0; padding: 0; border-top: 2px solid var(--text); }
.sv-handle li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px 28px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.sv-handle li > span { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.12em; color: var(--amber-ink); padding-top: 4px; }
.sv-handle h3 { margin: 0 0 4px; font-family: var(--f-display); font-weight: 600; font-size: 18px; letter-spacing: -0.02em; }
.sv-handle p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); max-width: 68ch; }
.sv-scope .st-rows, .sv-flow .st-steps { margin-top: 28px; }
.sv-flow .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; border-top: 2px solid var(--text); }
.sv-flow .grid > div { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 22px 0 !important; }
.sv-flow .grid > div + div { border-left: 1px solid var(--line) !important; padding-left: 24px !important; }
.sv-flow .absolute { display: none; }
@media (max-width: 900px) { .sv-flow .grid { grid-template-columns: 1fr; } .sv-flow .grid > div + div { border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid var(--line) !important; } }
.dg-svc .dvr-tile { display: contents; }
.dg-svc .dvr-tile > div:first-child { display: none; }
.dg-svc details.bg-white { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 16px 0; box-shadow: none; }
.dg-svc details summary { font-family: var(--f-display); font-weight: 600; }
.dg-svc section.bg-white, .dg-svc section.bg-gray-50 { background: var(--paper); border-color: var(--line); padding: clamp(40px, 5vw, 72px) 0; }
.dg-svc section.bg-gray-50 { background: var(--bone); }
.dg-svc section.bg-gray-900 { background: var(--ink); }
.dg-svc .rounded-xl, .dg-svc .rounded-2xl { border-radius: 3px; box-shadow: none !important; }
.dg-svc .w-10.h-10, .dg-svc .w-11.h-11, .dg-svc .w-12.h-12.rounded-full { display: none; }
.dg-svc h2.text-xl, .dg-svc h2.text-2xl { font-family: var(--f-display); font-variation-settings: "wdth" 94; letter-spacing: -0.03em; }
.dg-svc #sl-submit, .dg-svc a.rounded-full { border-radius: 3px; box-shadow: none; }
.dg-svc [id$="-help"] .w-10 { display: none; }
.dg-svc [id$="-help"] h2 { font-family: var(--f-display); font-variation-settings: "wdth" 94; letter-spacing: -0.03em; }
.dg-svc [id$="-help"] .rounded-xl { background: transparent !important; border: 0 !important; border-top: 1px solid var(--line) !important; border-radius: 0 !important; padding: 8px 0 0 !important; }
.dg-svc [id$="-help"] .fa-check, .dg-svc [id$="-help"] .text-xs.font-bold.uppercase { font-family: var(--f-mono); letter-spacing: 0.14em; color: var(--muted); }
.dg-svc [id$="-help"] .fa-check { display: none; }
.dg-svc .vr-faq-item { border-bottom: 1px solid var(--line); background: transparent; box-shadow: none; }
.dg-svc .vr-faq-btn { font-family: var(--f-display); font-weight: 600; background: transparent; border: 0; width: 100%; text-align: left; padding: 16px 0; display: flex; justify-content: space-between; gap: 12px; color: var(--text); }
.dg-svc .vr-faq-answer { font-size: 15px; line-height: 1.6; color: var(--muted); padding: 0 0 18px; }
.dg-svc .bg-blue-50 { background: var(--ink); color: var(--paper); border: 0; border-radius: 0; }
.dg-rs .p-5.rounded-xl { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; padding: 14px 0; }
.dg-rs .p-5.rounded-xl h3 { font-family: var(--f-display); font-weight: 600; font-size: 17px; margin: 0 0 4px; }
.dg-rs a.group:hover h3, .dg-rs a.group:hover { color: var(--amber-ink) !important; }
.dg-rs .mt-16.bg-blue-50 { background: var(--ink); color: var(--paper); border: 0; border-radius: 0; margin: 0 calc(var(--gutter) * -1); padding: clamp(40px, 5vw, 72px) var(--gutter); }
.dg-rs .mt-16.bg-blue-50 h2, .dg-rs .mt-16.bg-blue-50 p { color: var(--paper); }
.dg-rs .bg-blue-600 { background: var(--amber); color: var(--ink); border-radius: 3px; font-weight: 600; box-shadow: none; }
.dg-rs .text-blue-700 { color: var(--text); }

@media (max-width: 700px) {
  .dg-vl table.min-w-full { min-width: 0 !important; width: 100%; }
  .dg-vl .overflow-x-auto { overflow: visible; }
  .dg-vl table.min-w-full thead { display: none; }
  .dg-vl table.min-w-full, .dg-vl table.min-w-full tbody, .dg-vl table.min-w-full tr { display: block; width: 100%; }
  .dg-vl table.min-w-full tr { padding: 16px 0; border-bottom: 1px solid var(--line); }
  .dg-vl table.min-w-full td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; padding: 6px 0; white-space: normal !important; width: 100%; }
  .dg-vl table.min-w-full td::before { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
  .dg-vl table.min-w-full td:nth-child(1)::before { content: "ID"; }
  .dg-vl table.min-w-full td:nth-child(2)::before { content: "Cat."; }
  .dg-vl table.min-w-full td:nth-child(3)::before { content: "Type"; }
  .dg-vl table.min-w-full td:nth-child(4)::before { content: "Record"; }
  .dg-vl table.min-w-full td:nth-child(5)::before { content: "Issued"; }
  .dg-vl table.min-w-full td:nth-child(6)::before { content: "Status"; }
  .dg-vl table.min-w-full td:nth-child(7)::before { content: "Notes"; }
}

@media (max-width: 1100px) {
  .ab-hero__grid, .fq-hero__grid, .au-grid, .su-grid, .ab-final__grid, .fq-final__grid, .fq-group__grid { grid-template-columns: 1fr; }
  .rs-grid, .rs-more__grid { grid-template-columns: 1fr 1fr; }
  .ab-final__actions, .fq-final__actions { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .rs-grid, .rs-more__grid { grid-template-columns: 1fr; }
  .fq-item__a { padding-left: 0; }
  .fq-item summary { grid-template-columns: 36px minmax(0, 1fr) 16px; gap: 10px; }
  .au-submit, .st-actions .hm-btn { width: 100%; }
  .su-form, .au-panel { padding: 18px; }
  #service-lead-form .g-recaptcha { transform: scale(0.82); }
}

.dg-rec .dg-nav__phone { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 959px) {
  .dg-rec .dg-nav__actions .dg-nav__phone { display: none; }
}
