/* ==========================================================================
   Marque Analytics · base.css
   Dossier system: paper documents on a midnight-navy desk.
   Gold marks the anomaly only (rotated square, released findings, hit markers).
   ========================================================================== */
:root {
  /* desk */
  --desk: #0a0d14;
  --desk-2: #080b11;
  --desk-3: #111621;
  /* paper */
  --paper: #e9e5db;
  --paper-2: #dfdacd;
  --paper-3: #d4cebf;
  --ink: #14171d;
  --ink-2: #3a3f48;
  --ink-3: #585d66;
  --steel-ink: #34557d;
  /* accents */
  --gold: #c9a84c;
  --gold-ink: #7a601b;
  --steel: #6b8aad;
  --steel-hi: #93abc6;
  --stamp: #2d4b72;
  /* ivory text on desk */
  --ivory: #ece8de;
  --fog: rgba(236, 232, 222, .74);
  --fog-2: rgba(236, 232, 222, .58);
  --hair: rgba(236, 232, 222, .11);
  --hair-2: rgba(236, 232, 222, .2);
  --hair-ink: rgba(20, 23, 29, .15);
  /* type */
  --serif: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --sans: 'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  /* layout */
  --max: 1320px;
  --gut: 40px;
  --rail: 132px;
  --rail-gap: 56px;
  --sec: clamp(96px, 9vw, 136px);
  --nav-h: 64px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.08  0 0 0 0 0.07  0 0 0 0 0.05  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --ink-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='m'><feTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='2' seed='7'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -3.2 2.8'/></filter><rect width='100%' height='100%' filter='url(%23m)'/></svg>");
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-padding-top: calc(var(--nav-h) + 24px); -webkit-text-size-adjust: 100%; background: var(--desk); }
body {
  margin: 0; min-height: 100vh;
  background: var(--desk); color: var(--ivory);
  font: 400 16.5px/1.6 var(--sans);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  font-feature-settings: "cv11", "ss01";
}
h1, h2, h3, h4, p, dl, dd, ol, ul, figure, blockquote, address { margin: 0; padding: 0; }
address { font-style: normal; }
ol, ul { list-style: none; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
sup { font-size: .6em; line-height: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--steel); color: var(--desk); }
:focus-visible { outline: 2px solid var(--steel-hi); outline-offset: 3px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--ivory); color: var(--ink); padding: 10px 14px; font: 600 14px var(--sans); text-decoration: none; }
.skip:focus { top: 12px; }
p, li, dd { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; font-weight: 400; }

/* ---------- layout ---------- */
.frame { max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.sec { position: relative; padding-block: calc(var(--sec) / 2); }
.sec--rule::before { content: ""; position: absolute; top: 0; left: max(var(--gut), calc((100% - var(--max)) / 2 + var(--gut))); right: max(var(--gut), calc((100% - var(--max)) / 2 + var(--gut))); height: 1px; background: var(--hair); }
.sec--band { background: linear-gradient(var(--desk), var(--desk-2) 14%, var(--desk-2) 86%, var(--desk)); }
.sec-grid { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: 0 var(--rail-gap); }
.sec-body { min-width: 0; }
.rail { align-self: start; position: sticky; top: calc(var(--nav-h) + 32px); }
.sec-no { font: 300 40px/1 var(--serif); color: var(--steel); font-variant-numeric: lining-nums; letter-spacing: -.01em; }
.sec-no:empty { display: none; }
.sec-t { margin-top: 12px; font: 500 13px/1.4 var(--sans); color: var(--ivory); letter-spacing: .01em; }
.rail-note { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--hair); font: 400 13px/1.55 var(--sans); color: var(--fog-2); max-width: 15em; }
.sec-head { margin-bottom: clamp(40px, 5vw, 64px); max-width: 52rem; }
.sec-head > p { margin-top: 22px; }

/* ---------- type ---------- */
.kicker { font: 500 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--steel-hi); }
.h2 { font: 400 clamp(36px, 3.7vw, 56px)/1.04 var(--serif); letter-spacing: -.02em; color: var(--ivory); }
.h3 { font: 400 clamp(26px, 2.3vw, 34px)/1.12 var(--serif); letter-spacing: -.015em; }
.lede { font-size: 18px; line-height: 1.62; color: var(--fog); max-width: 36em; }
.serif-lede { font: 400 italic clamp(19px, 1.6vw, 22px)/1.45 var(--serif); color: var(--fog); max-width: 30em; }
.prose p + p { margin-top: 1em; }
.prose a, .link { color: var(--ivory); text-decoration: underline; text-decoration-color: var(--hair-2); text-underline-offset: 3px; }
.prose a:hover, .link:hover { text-decoration-color: var(--ivory); }
.mono-cap { font: 500 11px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.num { font-variant-numeric: lining-nums tabular-nums; }

/* ---------- the anomaly ---------- */
.anom { display: inline-block; width: .14em; height: .14em; margin-left: .08em; background: var(--gold); transform: translateY(-.035em) rotate(45deg); vertical-align: baseline; }

/* ---------- buttons + links ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 16px;
  background: var(--ivory); color: var(--ink);
  font: 500 15px/1.2 var(--sans); letter-spacing: .005em;
  text-decoration: none; padding: 17px 22px 17px 24px; border: 0; border-radius: 0; cursor: pointer;
  transition: background .25s, color .25s;
}
.btn:hover { background: #fff; }
.btn--ink { background: var(--ink); color: var(--paper); }
.btn--ink:hover { background: #000; }
.btn-arr { position: relative; width: 22px; height: 1px; background: currentColor; transition: width .3s var(--ease); flex: none; }
.btn-arr::after { content: ""; position: absolute; right: 0; top: -3.5px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.btn:hover .btn-arr { width: 32px; }
.txtlink { font: 500 15px var(--sans); color: var(--ivory); text-decoration: none; border-bottom: 1px solid var(--hair-2); padding-bottom: 3px; transition: border-color .2s; }
.txtlink:hover { border-color: var(--ivory); }
.txtlink--ink { color: var(--ink); border-color: rgba(20, 23, 29, .3); }
.txtlink--ink:hover { border-color: var(--ink); }

/* ---------- utility bar + nav ---------- */
.util { border-bottom: 1px solid var(--hair); background: var(--desk-2); }
.util-in { max-width: var(--max); margin: 0 auto; padding: 8px var(--gut); display: flex; align-items: center; justify-content: flex-end; gap: 14px; font: 400 12px/1.4 var(--sans); letter-spacing: .04em; color: var(--fog-2); }
.util-dot { width: 4px; height: 4px; background: var(--fog-2); transform: rotate(45deg); }
.nav {
  position: sticky; top: 0; z-index: 60;
  background: rgba(10, 13, 20, .9);
  -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--hair);
}
.nav-in { max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); height: var(--nav-h); display: flex; align-items: center; gap: 40px; }
.brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; color: var(--ivory); flex: none; }
.brand-mark { width: 15px; height: 15px; flex: none; margin-bottom: 2px; } /* diamond centred on the cap height, not the line box */
.wordmark { display: flex; flex-direction: column; line-height: 1; gap: 5px; }
.wordmark b { font: 600 14px/1 var(--sans); letter-spacing: .22em; }
.wordmark i { font: 400 8.5px/1 var(--mono); font-style: normal; letter-spacing: .4em; color: var(--steel); }
.nav-links { display: flex; gap: 30px; margin-left: auto; }
.nav-links a, .mnav a { text-decoration: none; color: var(--fog); font-size: 14px; letter-spacing: .005em; transition: color .2s; position: relative; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--ivory); }
.nav-links a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -23px; height: 1px; background: var(--ivory); }
.nav-links sup, .mnav sup { font: 500 9px var(--mono); color: var(--steel); margin-right: 6px; vertical-align: 5px; letter-spacing: .06em; }
.nav-cta { font: 500 13.5px var(--sans); text-decoration: none; color: var(--ivory); border: 1px solid var(--hair-2); padding: 9px 14px; transition: border-color .2s, background .2s; white-space: nowrap; }
.nav-cta:hover { border-color: var(--ivory); }
.nav-toggle { display: none; }
.mnav { display: none; }

/* ---------- paper ---------- */
.paper {
  position: relative;
  background-color: var(--paper);
  background-image: var(--noise), linear-gradient(170deg, #eeeae1 0%, var(--paper) 45%, #e1dccf 100%);
  color: var(--ink);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), 0 2px 3px rgba(0, 0, 0, .22), 0 24px 48px -18px rgba(0, 0, 0, .55), 0 60px 120px -40px rgba(0, 0, 0, .7);
}
.paper ::selection { background: var(--ink); color: var(--paper); }
.sheet-under { position: absolute; inset: 16px -12px -16px 12px; background: #cbc5b6; transform: rotate(2.2deg); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7); }
.doc-label { font: 600 11px/1.3 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }

/* ---------- seal: blind-debossed tilted plate with a foil-stamped diamond (use data-foil for sheen) ----------
   The plate and foil are rotated 45deg, so shadow offsets are written in the rotated frame:
   screen (0, 1) = local (.71, .71); screen (1, 0) = local (.71, -.71). */
.seal { --s: 64px; position: relative; width: var(--s); height: var(--s); flex: none; }
.seal::before {
  content: ""; position: absolute; inset: 14.645%; transform: rotate(45deg);
  background: linear-gradient(100deg, #d9d3c4, #e2ddd1 55%, #e8e3d8);
  box-shadow: inset 1.06px 1.06px 2.4px rgba(74, 58, 26, .3), inset .71px -.71px 1px rgba(74, 58, 26, .1),
    inset -.71px -.71px 0 rgba(255, 255, 255, .7), .71px .71px 0 rgba(255, 255, 255, .6);
}
.foil {
  position: absolute; z-index: 1; width: 36%; height: 36%; left: 32%; top: 32%;
  background: linear-gradient(90deg, #8a6a22 0%, #c9a84c 24%, #ecd894 42%, #c9a84c 58%, #93722a 80%, #5e4613 100%);
  transform: rotate(45deg); overflow: hidden;
  box-shadow: .71px .71px 0 rgba(255, 255, 255, .45), 2.1px 2.1px 7px -3px rgba(90, 66, 18, .65);
}
.foil::after { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(255, 245, 210, .32); }
.foil i { position: absolute; inset: -60%; background: linear-gradient(105deg, transparent 38%, rgba(255, 249, 226, .8) 49%, rgba(255, 249, 226, .1) 56%, transparent 62%); transform: translate3d(-30%, 0, 0); will-change: transform; }

/* ---------- redaction ---------- */
/* Unreleased findings are set faintly under a paper wash, not blacked out. Only identity (.rd-hold) is withheld. */
.rd { position: relative; isolation: isolate; display: inline; --bar: rgba(233, 229, 219, .84); }
.rd > .bar, .rd > .ghost { pointer-events: none; }
.js-motion .rd[data-redact] { display: inline-block; max-width: 100%; vertical-align: top; }
.js-motion .rd[data-redact]:not(.armed)::before { content: ""; position: absolute; left: -.16em; right: -.16em; top: .1em; bottom: .02em; background: var(--bar); }
.rd > .bar {
  position: absolute; left: -.16em; right: -.16em; top: .1em; bottom: .02em;
  background: var(--bar); transform-origin: 100% 50%; will-change: transform, opacity;
}
.rd > .bar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(20, 23, 29, .22); }
.rd > .ghost { position: absolute; left: -.12em; right: -.12em; bottom: -.02em; height: .3em; background: rgba(201, 168, 76, .3); transform-origin: 0 50%; transform: scaleX(0); z-index: -1; }
.no-motion .rd[data-hit] > .ghost, .rd.is-out[data-hit] > .ghost { transform: scaleX(1); }
.rd:not([data-hit]) > .ghost { display: none; }
.rd-hold { position: relative; display: inline-block; color: transparent !important; user-select: none; min-width: 9em; }
.rd-hold::after { content: ""; position: absolute; inset: .12em -.12em .04em; background: #0b0d11; }
.rd-hold--wide { min-width: 13em; }

/* ---------- stamp (one per page, on the signal ledger only) ---------- */
.stamp {
  --c: var(--stamp);
  display: inline-flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 9px 16px 8px;
  border: 2.5px solid var(--c); outline: 1px solid var(--c); outline-offset: 3px;
  color: var(--c);
  font: 700 16px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase;
  -webkit-mask-image: var(--ink-mask); mask-image: var(--ink-mask); -webkit-mask-size: 220px; mask-size: 220px;
  transform: rotate(-6deg); opacity: 1;
}
.stamp span { white-space: nowrap; }
.stamp small { font: 500 9.5px/1.2 var(--mono); letter-spacing: .2em; opacity: .85; }
.js-motion .stamp { opacity: 0; transform: rotate(-11deg) scale(1.6); transition: opacity .12s linear, transform .34s cubic-bezier(.2, 1.5, .35, 1); }
.js-motion .stamp.in { opacity: .92; transform: rotate(-6deg) scale(1); }

/* ---------- figures ---------- */
.fig { position: relative; }
.fig-cap { position: relative; z-index: 1; margin-top: 18px; font: 400 13px/1.6 var(--mono); letter-spacing: .015em; color: rgba(236, 232, 222, .86); max-width: 64em; }
.fig-cap .fig-no { color: var(--ivory); font-weight: 500; margin-right: .6em; }
.paper .fig-cap, .fig-cap--ink { color: var(--ink-2); }
.paper .fig-cap .fig-no, .fig-cap--ink .fig-no { color: var(--ink); }

/* ---------- footnotes ---------- */
.fn { font: 500 .58em var(--mono); color: var(--steel-hi); margin-left: .14em; vertical-align: .85em; text-decoration: none; }
.paper .fn { color: var(--steel-ink); }
.notes { display: grid; gap: 10px; }
.notes li { position: relative; padding-left: 22px; font: 400 13px/1.55 var(--sans); color: var(--fog-2); }
.notes li > sup:first-child, .notes .n { position: absolute; left: 0; top: .2em; font: 500 10.5px/1.5 var(--mono); color: var(--steel-hi); }
.paper .notes li { color: var(--ink-3); }
.paper .notes .n { color: var(--steel-ink); }
.notes a { color: inherit; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 2px; text-decoration-thickness: 1px; word-break: break-word; }

/* ---------- memorandum ---------- */
.memo { padding: 56px 72px 52px; max-width: 920px; }
.memo::before { content: ""; position: absolute; left: 30px; top: 0; bottom: 0; width: 1px; background: rgba(160, 60, 50, .22); }
.memo-title { font: 500 15px/1 var(--serif); letter-spacing: .42em; text-transform: uppercase; }
.memo-meta { margin-top: 26px; padding-bottom: 18px; border-bottom: 3px double var(--ink); }
.memo-meta div { display: grid; grid-template-columns: 76px 1fr; padding: 3px 0; }
.memo-meta dt { font: 500 11px/2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.memo-meta dd { font: 400 17px/1.55 var(--serif); }
.memo-meta .re { font-weight: 500; }
.memo-body { margin-top: 30px; display: grid; gap: 20px; }
.memo-p { display: grid; grid-template-columns: 36px 1fr; }
.memo-n { font: 400 18px/1.6 var(--serif); color: var(--ink-3); }
.memo-p p { font: 400 18px/1.6 var(--serif); color: var(--ink-2); max-width: 36em; }
.memo-p b { color: var(--ink); font-weight: 600; }
.memo-pull { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--hair-ink); font: 400 italic clamp(24px, 2.4vw, 30px)/1.25 var(--serif); letter-spacing: -.01em; color: var(--ink); max-width: 22em; }
.memo-notes { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--hair-ink); }
.memo-notes li { font-size: 12.5px; }

/* ---------- Fig: cycle (pay-and-chase) ---------- */
.cycle-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 28px; }
.cycle-row li { position: relative; padding-top: 24px; border-top: 1px solid var(--hair-2); }
.cycle-row li::after { content: ""; position: absolute; top: -4px; right: 0; width: 7px; height: 7px; border-top: 1px solid var(--fog-2); border-right: 1px solid var(--fog-2); transform: rotate(45deg); }
.cycle-row li:last-child::after { display: none; }
.cycle-row .c-n { display: block; font: 500 11px var(--mono); letter-spacing: .1em; color: var(--fog-2); margin-bottom: 14px; }
.cycle-row b { display: block; font: 400 clamp(24px, 2.2vw, 32px)/1.05 var(--serif); letter-spacing: -.015em; color: var(--ivory); }
.cycle-row p { margin-top: 12px; font-size: 14.5px; line-height: 1.55; color: var(--fog-2); max-width: 15em; }
.cycle-row .is-stop { border-top: 2px solid var(--ivory); padding-top: 23px; }
.cycle-row .is-stop::before { content: ""; position: absolute; left: 0; top: -7px; width: 12px; height: 12px; background: var(--ivory); }
.cycle-row .is-stop p { color: var(--fog); }
.cycle-row .stop-tag { display: inline-block; margin-top: 16px; padding: 7px 10px 6px; border: 1px solid var(--ivory); font: 500 10.5px/1.45 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ivory); }
.cycle-return { position: relative; height: 40px; margin-top: 30px; margin-right: 10%; border: 1px solid var(--hair-2); border-top: 0; }
.cycle-return::before { content: ""; position: absolute; left: -4px; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--fog-2); border-left: 1px solid var(--fog-2); transform: rotate(45deg); }
.cycle-return span { position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); background: var(--desk); padding: 0 14px; font: 500 10.5px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--fog-2); white-space: nowrap; }

/* ---------- method steps (pair with a ledger) ---------- */
.steps { display: grid; }
.step { position: relative; padding: 22px 0 34px; border-top: 1px solid var(--hair); }
.step-n { font: 400 italic 19px var(--serif); color: var(--steel-hi); }
.step h3 { margin-top: 8px; font: 400 clamp(26px, 2.2vw, 31px)/1.1 var(--serif); letter-spacing: -.015em; color: var(--ivory); }
.step p { margin-top: 12px; font-size: 16px; line-height: 1.65; color: var(--fog); max-width: 27em; }
.js-motion .step { opacity: .62; transition: opacity .45s; }
.js-motion .step.cur, .js-motion .step.done { opacity: 1; }

/* ---------- signal ledger ---------- */
.ledger { padding: 26px 30px 22px 34px; }
.ledger-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.ledger-head .doc-label { margin-right: auto; }
.ledger-cap { font: 400 12.5px/1.45 var(--sans); color: var(--ink-2); flex-basis: 100%; }
.ledger-cap b { font-weight: 600; color: var(--ink); }
.rows { position: relative; }
.row { display: grid; grid-template-columns: 30px minmax(0, 200px) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 12px 0 11px; border-bottom: 1px solid var(--hair-ink); position: relative; }
.r-no { font: 500 11px var(--mono); color: var(--ink-3); letter-spacing: .06em; }
.r-sig { font: 500 14px/1.35 var(--sans); color: var(--ink); }
.r-find { font: 400 16.5px/1.35 var(--serif); color: var(--ink); }
.row:not(.hit) .r-find { color: var(--ink-3); font-style: italic; }
.row.hit::before { content: ""; position: absolute; left: -20px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; background: var(--gold-ink); transform: rotate(45deg) scale(1); transition: transform .35s cubic-bezier(.2, 1.4, .4, 1); }
.js-motion .row.hit:not(.on)::before { transform: rotate(45deg) scale(0); }
.ledger-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; min-height: 92px; }
.tally { display: flex; flex-direction: column; gap: 10px; }
.tally-n { display: flex; align-items: baseline; gap: 10px; }
.tally-n b { font: 400 52px/.9 var(--serif); letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums lining-nums; min-width: .55em; }
.tally-n span { font: 500 10.5px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.meter { display: grid; grid-template-columns: repeat(10, 18px); gap: 3px; }
.meter i { height: 5px; background: rgba(20, 23, 29, .12); transition: background .3s; }
.meter i.clear { background: rgba(20, 23, 29, .34); }
.meter i.hit { background: var(--gold-ink); }

/* ---------- statement of work / schedules / terms ---------- */
.sow { padding: 56px 64px 52px; }
.sow-id { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.sow-id p { font: 500 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); }
.specimen { display: inline-block; padding: 5px 9px; border: 1px solid var(--ink-3); font: 500 10.5px/1.2 var(--mono); letter-spacing: .1em; text-transform: none; color: var(--ink-2); }
.sow-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px 64px; align-items: end; padding-bottom: 30px; border-bottom: 2px solid var(--ink); }
.sow-title { font: 400 clamp(34px, 3.4vw, 50px)/1.02 var(--serif); letter-spacing: -.02em; }
.sow-out { font: 400 italic 20px/1.45 var(--serif); color: var(--ink-2); }
.sched { margin-top: 36px; }
.sched-t { display: flex; align-items: baseline; gap: 14px; font: 600 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; }
.sched-t span { font-weight: 500; color: var(--ink-3); letter-spacing: .1em; text-transform: none; }
.sched-table { width: 100%; border-collapse: collapse; }
.sched-table thead th { text-align: left; font: 500 10px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); padding: 10px 16px 10px 0; border-bottom: 1px solid var(--ink); }
.sched-table tbody td, .sched-table tbody th { text-align: left; vertical-align: baseline; padding: 16px 16px 16px 0; border-bottom: 1px solid var(--hair-ink); }
.sched-table .ref { font: 500 11.5px var(--mono); color: var(--steel-ink); width: 56px; }
.sched-table tbody th { font: 500 19px/1.3 var(--serif); width: 31%; color: var(--ink); }
.sched-table .desc { font: 400 15px/1.55 var(--sans); color: var(--ink-2); }
.sched-table .form { font: 500 10.5px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); width: 150px; padding-right: 0; text-align: right; }
.terms { margin-top: 8px; border-top: 1px solid var(--ink); }
.terms > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--hair-ink); }
.terms dt { font: 500 11px/1.9 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.terms dd { font: 400 17px/1.5 var(--serif); color: var(--ink); }
.terms dd small { display: block; margin-top: 4px; font: 400 13.5px/1.5 var(--sans); color: var(--ink-3); }
.sched-pair { margin-top: 44px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 2px solid var(--ink); }
.sched-pair > section { padding: 28px 0 0; }
.sched-pair > section + section { padding-left: 40px; margin-left: 40px; border-left: 1px solid var(--hair-ink); }
.sched-pair h3 { margin-top: 6px; font: 400 clamp(26px, 2.3vw, 32px)/1.08 var(--serif); letter-spacing: -.015em; }
.sched-pair .sched-out { margin-top: 10px; font: 400 italic 17.5px/1.45 var(--serif); color: var(--ink-2); max-width: 26em; }
.items { margin-top: 22px; border-top: 1px solid var(--hair-ink); }
.items li { display: grid; grid-template-columns: 44px 1fr; padding: 13px 0; border-bottom: 1px solid var(--hair-ink); }
.items li > span { font: 500 11px/1.9 var(--mono); color: var(--steel-ink); }
.items b { font: 600 15px/1.4 var(--sans); }
.items p { margin-top: 2px; font: 400 14.5px/1.55 var(--sans); color: var(--ink-3); }
.sched-link { display: inline-block; margin-top: 20px; }
.sow-sign { margin-top: 48px; padding-top: 28px; border-top: 2px solid var(--ink); display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.sow-sign > span:empty { flex: 1; }
.sign-line { flex: 1; min-width: 240px; max-width: 420px; display: flex; align-items: flex-end; gap: 14px; }
.sign-line span { font: 500 10.5px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; }
.sign-line i { flex: 1; height: 1px; background: var(--ink); margin-bottom: 3px; }

/* ---------- index list (cross-links) ---------- */
.index-list { border-top: 1px solid var(--hair-2); }
.index-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 48px; gap: 32px; align-items: baseline; padding: 28px 0; border-bottom: 1px solid var(--hair); text-decoration: none; }
.index-name { font: 400 clamp(24px, 2.2vw, 30px)/1.15 var(--serif); letter-spacing: -.012em; color: var(--ivory); }
.index-name small { display: block; margin-top: 8px; font: 400 13px/1.4 var(--sans); letter-spacing: .01em; color: var(--steel-hi); }
.index-d { font: 400 15px/1.6 var(--sans); color: var(--fog-2); }
.index-go { justify-self: end; position: relative; width: 26px; height: 1px; background: var(--ivory); align-self: center; transition: width .3s var(--ease); }
.index-go::after { content: ""; position: absolute; right: 0; top: -3.5px; width: 7px; height: 7px; border-top: 1px solid var(--ivory); border-right: 1px solid var(--ivory); transform: rotate(45deg); }
.index-row:hover .index-go { width: 40px; }
.index-row:hover .index-d { color: var(--fog); }

/* ---------- register (people) ---------- */
.register { border-top: 1px solid var(--ivory); }
.register li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 32px; align-items: baseline; padding: 30px 0 28px; border-bottom: 1px solid var(--hair); }
.reg-name b { display: block; font: 400 clamp(28px, 2.7vw, 40px)/1.05 var(--serif); letter-spacing: -.018em; color: var(--ivory); }
.reg-name span { display: block; margin-top: 10px; font: 500 12px/1.4 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--steel-hi); }
.reg-bio { font: 400 17px/1.6 var(--serif); color: var(--fog); max-width: 30em; }

/* ---------- conditions ---------- */
.conds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; }
.conds > div { padding: 22px 0; border-top: 1px solid var(--hair); }
.conds .c-n { display: inline-block; width: 40px; font: 400 italic 17px/1.3 var(--serif); color: var(--steel-hi); }
.conds dt { font: 400 21px/1.3 var(--serif); color: var(--ivory); }
.conds dd { margin-top: 6px; padding-left: 40px; font: 400 15px/1.6 var(--sans); color: var(--fog-2); max-width: 32em; }

/* ---------- FAQ ---------- */
.faq { border-top: 1px solid var(--hair-2); }
.faq-item { border-bottom: 1px solid var(--hair); }
.faq-item summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 12px; align-items: baseline; padding: 24px 0; font: 400 clamp(20px, 1.8vw, 24px)/1.3 var(--serif); color: var(--ivory); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: ""; justify-self: end; align-self: center; width: 9px; height: 9px; border-right: 1px solid var(--fog); border-bottom: 1px solid var(--fog); transform: rotate(45deg) translate(-2px, -2px); transition: transform .3s var(--ease); }
.faq-item[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.faq-item summary:hover { color: #fff; }
.faq-n { font: 500 11px var(--mono); letter-spacing: .08em; color: var(--steel-hi); }
.faq-a { padding: 0 36px 28px 0; max-width: 52em; }
.faq-a p { font-size: 16px; line-height: 1.7; color: var(--fog); }
.faq-a p + p { margin-top: .8em; }

/* ---------- contact + intake form ---------- */
.co-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 80px; align-items: start; }
.co-copy { position: sticky; top: calc(var(--nav-h) + 40px); }
.co-copy .h2 { margin-top: 18px; }
.co-copy .sec-no:empty + .h2 { margin-top: 0; }
.co-lede { margin-top: 22px; color: var(--fog); font-size: 17px; max-width: 28em; }
.co-terms { margin-top: 40px; border-top: 1px solid var(--hair-2); }
.co-terms div { display: grid; grid-template-columns: 128px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--hair); }
.co-terms dt { font: 500 10.5px/1.9 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--fog-2); }
.co-terms dd { font-size: 15px; line-height: 1.5; color: var(--ivory); }
.co-terms a { color: var(--ivory); text-decoration: none; border-bottom: 1px solid var(--hair-2); }
.co-terms a:hover { border-color: var(--ivory); }
.intake { padding: 40px 48px 40px; }
.intake-head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); font: 600 11px var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.intake-head p:last-child { color: var(--ink-3); font-weight: 500; }
.fgrid { margin-top: 6px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.fl { display: block; padding-top: 22px; min-width: 0; }
.fl-w { grid-column: 1 / -1; }
.fl > span { display: block; font: 500 10.5px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.fl em { font-style: normal; text-transform: none; letter-spacing: .02em; color: var(--ink-2); margin-left: 4px; }
.fl input, .fl select, .fl textarea {
  display: block; width: 100%; margin-top: 6px; padding: 8px 0 9px;
  font: 400 18px/1.35 var(--serif); color: var(--ink);
  background: transparent; border: 0; border-bottom: 1px solid rgba(20, 23, 29, .42); border-radius: 0;
  outline: none; transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none; appearance: none;
}
.fl textarea { resize: vertical; min-height: 104px; }
.fl select { cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 12px) 55%, calc(100% - 7px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 28px; text-overflow: ellipsis; }
.fl select:invalid, .fl select:has(option[value=""]:checked) { color: var(--ink-3); }
.fl input:focus, .fl select:focus, .fl textarea:focus { border-bottom-color: var(--steel-ink); box-shadow: 0 1px 0 0 var(--steel-ink); }
.intake-foot { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.intake-foot p { flex: 1; min-width: 220px; font: 400 13px/1.5 var(--sans); color: var(--ink-3); }

/* ---------- interior page hero (for section pages) ---------- */
.page-hero { padding: calc(var(--sec) * .55) 0 calc(var(--sec) / 2); }
.page-hero .kicker { margin-bottom: 26px; }
.page-title { font: 400 clamp(46px, 5.6vw, 84px)/1 var(--serif); letter-spacing: -.026em; color: var(--ivory); max-width: 13em; }
.page-title em { display: block; margin-top: .12em; font-style: italic; font-weight: 300; font-size: .6em; color: var(--fog); letter-spacing: -.015em; }
.page-lede { margin-top: 30px; font-size: 18.5px; line-height: 1.6; color: var(--fog); max-width: 36em; }
.page-act { margin-top: 36px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; }

/* ---------- plain document page (privacy, success, 404) ---------- */
.doc-page { padding: calc(var(--sec) * .55) 0 var(--sec); }
.doc-sheet { max-width: 860px; margin: 0 auto; padding: 56px 72px 60px; }
.doc-sheet .doc-label + h1 { margin-top: 14px; }
.doc-sheet h1 { font: 400 clamp(36px, 4vw, 52px)/1.05 var(--serif); letter-spacing: -.02em; }
.doc-sheet h2 { margin-top: 36px; font: 500 21px/1.3 var(--serif); }
.doc-sheet p:not([class]), .doc-sheet li { margin-top: 12px; font: 400 17px/1.65 var(--serif); color: var(--ink-2); max-width: 38em; }
.doc-sheet ul { margin-top: 8px; }
.doc-sheet ul li { position: relative; padding-left: 20px; margin-top: 8px; }
.doc-sheet ul li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 5px; height: 5px; background: var(--ink-3); transform: rotate(45deg); }
.doc-sheet a { color: var(--ink); text-underline-offset: 3px; }
.doc-meta { margin-top: 18px; padding-bottom: 22px; border-bottom: 3px double var(--ink); font: 500 11px/1.6 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }

/* ---------- reveal ---------- */
.js-motion [data-reveal] { opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js-motion [data-reveal].in { opacity: 1; transform: none; }

/* ---------- footer ---------- */
.foot { padding: 72px 0 56px; border-top: 1px solid var(--hair); background: var(--desk-2); }
.foot-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) auto auto; gap: 40px 72px; align-items: start; }
/* footer signature: the 4x4 field with its one displaced cell, set large as the closing mark */
.foot-id { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 44px; align-items: start; }
.foot-id > .brand, .foot-id > .foot-line { grid-column: 2; }
.foot-id > .brand { justify-self: start; }
.foot-id > .foot-line { align-self: end; }
.foot-sig { --g: 132px; grid-column: 1; grid-row: 1 / span 2; width: var(--g); height: var(--g); display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 1fr); gap: 8px; }
.foot-sig > span { border: 1px solid rgba(236, 232, 222, .18); background: rgba(236, 232, 222, .02); }
.foot-sig > .foot-sig-slot { position: relative; border-color: transparent; background: none; }
.foot-sig-slot i { position: absolute; inset: 17%; background: var(--gold); transform: rotate(45deg); }
@media (min-width: 761px) and (max-width: 1180px) {
  /* signature + identity take the full first row; links and address sit beneath */
  .foot-grid { grid-template-columns: auto auto; justify-content: start; gap: 44px 72px; }
  .foot-id { grid-column: 1 / -1; }
  .foot-nav { margin-left: 176px; }
}
.foot-line { margin-top: 22px; max-width: 30em; font-size: 14px; line-height: 1.6; color: var(--fog-2); }
.foot-nav { display: grid; grid-template-columns: auto auto; gap: 11px 40px; }
.foot-nav a, .foot-meta a { color: var(--fog); text-decoration: none; font-size: 14px; }
.foot-nav a:hover, .foot-meta a:hover, .foot-base a:hover { color: var(--ivory); }
.foot-meta { display: flex; flex-direction: column; gap: 11px; font-size: 14px; color: var(--fog-2); }
.foot-base { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--hair); display: flex; justify-content: space-between; gap: 16px 40px; flex-wrap: wrap; font-size: 13px; color: var(--fog-2); }
.foot-base a { color: var(--fog); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(236, 232, 222, .35); }
.foot-base span { margin: 0 10px; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1180px) {
  :root { --rail: 100px; --rail-gap: 40px; }
  .nav-links { gap: 22px; }
  .nav-links a { font-size: 13.5px; }
  .nav-in { gap: 28px; }
}

@media (max-width: 1060px) {
  .nav-links { display: none; }
  .nav-cta { margin-left: auto; }
  .nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 6px; width: 42px; height: 40px; background: none; border: 1px solid var(--hair-2); cursor: pointer; padding: 0 11px; }
  .nav-toggle span { display: block; height: 1px; background: var(--ivory); transition: transform .3s; }
  .nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mnav { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }
  .mnav.open { grid-template-rows: 1fr; border-top: 1px solid var(--hair); }
  .mnav-in { overflow: hidden; min-height: 0; display: flex; flex-direction: column; padding: 0 var(--gut); }
  .mnav-in a { padding: 15px 0; border-bottom: 1px solid var(--hair); font-size: 17px; color: var(--ivory); }
  .mnav-in a[aria-current="page"] { color: var(--ivory); font-weight: 500; }
  .mnav-in a:first-child { margin-top: 6px; }
  .mnav-in .mnav-cta { border-bottom: 0; margin-bottom: 14px; }
  .co-grid { grid-template-columns: 1fr; gap: 56px; }
  .co-copy { position: static; }
  .cycle-row { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 18px; }
}

@media (max-width: 860px) {
  .sec-grid { grid-template-columns: 1fr; }
  .rail { position: static; display: flex; align-items: baseline; gap: 14px; margin-bottom: 28px; }
  .sec-no { font-size: 30px; }
  .sec-t { margin-top: 0; }
  .rail-note { display: none; }
  .cycle-row { grid-template-columns: 1fr; border-left: 1px solid var(--hair-2); margin-left: 5px; }
  .cycle-row li, .cycle-row .is-stop { border-top: 0; padding: 0 0 26px 24px; }
  .cycle-row li::after { display: none; }
  .cycle-row li::before { content: ""; position: absolute; left: -4px; top: 6px; width: 7px; height: 7px; background: var(--desk); border: 1px solid var(--fog-2); }
  .cycle-row .is-stop::before { left: -7px; top: 3px; width: 13px; height: 13px; background: var(--ivory); border: 0; }
  .cycle-row .c-n { display: inline-block; margin: 0 10px 0 0; }
  .cycle-row b { display: inline; font-size: 26px; }
  .cycle-row p { max-width: none; margin-top: 6px; }
  .cycle-return { height: auto; margin: 0 0 0 5px; border: 0; padding: 0 0 0 24px; }
  .cycle-return::before { display: none; }
  .cycle-return span { position: static; transform: none; padding: 0; background: none; }
  .conds { grid-template-columns: 1fr; }
  .register li { grid-template-columns: 1fr; gap: 12px; }
  .index-row { grid-template-columns: minmax(0, 1fr) 30px; gap: 10px 16px; }
  .index-d { grid-column: 1; grid-row: 2; }
  .index-go { grid-column: 2; grid-row: 1; }
  .sched-pair { grid-template-columns: 1fr; }
  .sched-pair > section + section { padding-left: 0; margin-left: 0; border-left: 0; margin-top: 28px; border-top: 1px solid var(--ink); }
}

@media (max-width: 760px) {
  :root { --gut: 16px; --nav-h: 58px; --sec: 88px; }
  body { font-size: 16px; }
  .util-in { justify-content: center; font-size: 11.5px; padding: 7px var(--gut); }
  .nav-in { gap: 10px; }
  .nav-cta { padding: 8px 10px; font-size: 12.5px; }
  .brand { gap: 8px; }
  .brand-mark { width: 13px; height: 13px; margin-bottom: 2px; }
  .wordmark b { font-size: 12.5px; letter-spacing: .2em; }
  .wordmark i { font-size: 7.5px; letter-spacing: .36em; }
  .lede { font-size: 16.5px; }
  .h2 { font-size: 34px; }
  .btn { padding: 16px 18px 16px 20px; }

  .memo { padding: 34px 20px 34px 30px; }
  .memo::before { left: 14px; }
  .memo-meta div { grid-template-columns: 52px 1fr; }
  .memo-meta dd { font-size: 16px; }
  .memo-p { grid-template-columns: 24px 1fr; }
  .memo-p p { font-size: 16.5px; }

  .ledger { padding: 18px 16px 16px 24px; }
  .row { grid-template-columns: 24px 1fr; gap: 2px 10px; padding: 12px 0; }
  .r-find { grid-column: 2; font-size: 16px; }
  .r-sig { font-size: 13px; color: var(--ink-3); }
  .row.hit::before { left: -16px; top: 19px; margin-top: 0; }
  .tally-n b { font-size: 42px; }
  .meter { grid-template-columns: repeat(10, 12px); }
  .stamp { font-size: 13px; padding: 7px 10px 6px; }

  .sow { padding: 30px 18px 30px; }
  .sow-id { flex-direction: column; gap: 10px; align-items: flex-start; }
  .sow-head { grid-template-columns: 1fr; gap: 14px; }
  .sow-title { font-size: 34px; }
  .sow-out { font-size: 18px; }
  .sched-table thead { display: none; }
  .sched-table, .sched-table tbody, .sched-table tr { display: block; }
  .sched-table tr { display: grid; grid-template-columns: 40px 1fr; padding: 16px 0; border-bottom: 1px solid var(--hair-ink); }
  .sched-table tbody td, .sched-table tbody th { border: 0; padding: 0; width: auto !important; text-align: left !important; }
  .sched-table tbody th { grid-column: 2; font-size: 18px; }
  .sched-table .ref { grid-row: 1; padding-top: 4px; }
  .sched-table .desc { grid-column: 2; margin-top: 6px; font-size: 14.5px; }
  .sched-table .form { grid-column: 2; margin-top: 8px; }
  .terms > div { grid-template-columns: 1fr; gap: 4px; }
  .sow-sign { flex-direction: column; align-items: stretch; }
  .sow-sign .btn { justify-content: space-between; }

  .conds dt { font-size: 19px; }
  .faq-item summary { grid-template-columns: minmax(0, 1fr) 18px; font-size: 19px; padding: 20px 0; }
  .faq-a { padding: 0 0 24px; }

  .co-terms div { grid-template-columns: 1fr; gap: 2px; }
  .intake { padding: 26px 18px 28px; }
  .intake-head { flex-direction: column; gap: 4px; letter-spacing: .14em; }
  .fgrid { grid-template-columns: 1fr; }
  .intake-foot .btn { width: 100%; justify-content: space-between; }

  .page-title { font-size: 44px; }
  .page-lede { font-size: 16.5px; }
  .doc-sheet { padding: 34px 20px 38px; }

  .foot { padding: 56px 0 40px; }
  .foot-grid { grid-template-columns: 1fr; gap: 32px; }
  .foot-id { column-gap: 24px; }
  .foot-sig { --g: 92px; gap: 6px; }
  .foot-base { flex-direction: column; gap: 10px; margin-top: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---------- notices (success, 404) ---------- */
.notice { min-height: calc(100vh - 260px); display: flex; align-items: center; }
.notice .frame { width: 100%; }
.notice-sheet { margin: 0 auto; max-width: 720px; transform: rotate(-.4deg); }
.notice-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.notice-head .seal { --s: 52px; }
.notice-back { margin-top: 32px !important; }
.notice-back .btn { color: var(--paper); text-decoration: none; }

/* ---------- in-section links (round 2) ---------- */
.sec-link { margin-top: 26px; }
.sec-head .sec-link { margin-top: 22px; }
.link { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: currentColor; }

/* ---------- register: lede + compact variant (litigation) ---------- */
.reg-lede { margin-bottom: 30px; font: 400 italic clamp(19px, 1.6vw, 22px)/1.45 var(--serif); color: var(--fog); max-width: 32em; }
.register--compact li { padding: 22px 0 20px; }
.reg-foot { margin-top: 22px; font: 400 14px/1.5 var(--sans); color: var(--fog); }
.register--compact .reg-name b { font-size: clamp(24px, 2.1vw, 30px); }
.register--compact .reg-bio { font-size: 16px; }

/* ---------- terms sheet on the desk (insights standards) ---------- */
.std-sheet { padding: 40px 48px 34px; max-width: 980px; }
.std-sheet .sched-t { margin-bottom: 12px; }
.std-sheet .terms dt { color: var(--ink-2); }
@media (max-width: 760px) { .std-sheet { padding: 26px 18px 22px; } }

/* ---------- correspondence: the closing on research notes ---------- */
.contact--letter .co-grid { grid-template-columns: minmax(0, 1fr); max-width: 940px; gap: 0; }
.contact--letter .co-copy { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 56px; align-items: end; padding-bottom: 34px; }
.contact--letter .co-copy .h2 { grid-column: 1; font-size: clamp(30px, 3vw, 42px); }
.contact--letter .co-lede { grid-column: 1; margin-top: 10px; font-size: 16px; }
.contact--letter .co-terms { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
.contact--letter .co-terms div { grid-template-columns: 112px 1fr; padding: 9px 0; }
.contact--letter .intake { transform: rotate(-.35deg); }
.contact--letter .intake-head p:first-child::before { content: "Correspondence · "; }
@media (max-width: 860px) {
  .contact--letter .co-copy { grid-template-columns: 1fr; }
  .contact--letter .co-terms { grid-column: 1; grid-row: auto; margin-top: 22px; }
}
@media (max-width: 760px) {
  .contact--letter .co-terms div { grid-template-columns: 1fr; }
  .contact--letter .intake { transform: none; }
}
@media (max-width: 520px) { .util-in span:nth-child(n+2) { display: none; } }

/* ==========================================================================
   Round 4
   ========================================================================== */
/* wordmark: MARQUE in the display serif in the header; the descriptor lives in the footer */
.wordmark--nav b { font: 500 21px/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; font-optical-sizing: auto; padding-top: 2px; }
.wordmark--foot { gap: 7px; }
.wordmark--foot b { font: 500 22px/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; }
.wordmark--foot i { font: 500 10.5px/1 var(--mono); letter-spacing: .32em; text-transform: uppercase; color: var(--steel-hi); }
@media (max-width: 760px) {
  .wordmark--nav b { font-size: 18px; letter-spacing: .12em; }
}

/* closed mobile menu: hidden from focus and assistive tech even before JS runs */
@media (max-width: 1060px) {
  .mnav:not(.open) .mnav-in { visibility: hidden; transition: visibility 0s linear .35s; }
  .mnav.open .mnav-in { visibility: visible; transition-delay: 0s; }
}

/* touch targets */
.foot-nav a, .foot-meta a { display: inline-block; min-height: 24px; padding-block: 2px; }
.crumbs a { display: inline-block; padding-block: 4px; }
a.fn { display: inline-block; padding: 6px 4px; margin: -6px -2px -6px -4px; line-height: 1; }

/* statement of work: what follows the first engagement */

/* physical variation: the memorandum is clipped, the statement of work is a folded sheet */
.memo::after { content: ""; position: absolute; top: -16px; right: 96px; width: 18px; height: 64px; border: 1.6px solid #9a978f; border-radius: 9px; box-shadow: inset 0 0 0 3px transparent, 1px 2px 3px rgba(0, 0, 0, .3); background: linear-gradient(#9a978f, #9a978f) 50% 10px / 1.6px 40px no-repeat; }
.sow { --fold: 34px; }
.sow::after { content: ""; position: absolute; top: -1px; right: -1px; width: calc(var(--fold) + 1px); height: calc(var(--fold) + 1px); background: linear-gradient(225deg, var(--desk) 50%, #c9c3b4 50%, #d8d2c4 72%, #cbc5b6 100%); filter: drop-shadow(-2px 2px 2px rgba(0, 0, 0, .16)); }
@media (max-width: 760px) {
  .memo::after { right: 40px; height: 52px; }
  .sow { --fold: 24px; }
}

/* documents set straight on the desk, as typography (paper is rationed per page) */
.desk-sheet { position: relative; max-width: 980px; padding-top: 22px; border-top: 2px solid var(--ivory); }
.desk-sheet .sched-t { color: var(--ivory); }
.desk-sheet .sched-t span { color: var(--fog-2); }
.desk-sheet .terms { border-top-color: var(--hair-2); }
.desk-sheet .terms > div { border-bottom-color: var(--hair); }
.desk-sheet .terms dt { color: var(--fog-2); }
.desk-sheet .terms dd { color: var(--ivory); }
.desk-sheet .terms dd small { color: var(--fog-2); }
.desk-sheet .link { color: var(--ivory); text-decoration-color: var(--hair-2); }
.desk-sheet .fn { color: var(--steel-hi); }
.desk-sheet .is-floor dd { font-size: 19px; }
.desk-sheet .is-floor dt { color: var(--steel-hi); }
/* conflicts and data use: one block, identical on home, /payment-integrity/ and /litigation-support/ */
.cdu .sched-t { margin-bottom: 10px; }
.desk-sheet .cdu { margin-top: clamp(36px, 4vw, 52px); padding-top: 22px; border-top: 2px solid var(--ivory); }
.desk-sheet .cdu .terms { border-top-color: var(--hair-2); }
.cdu.desk-sheet { margin-top: clamp(48px, 5vw, 72px); max-width: none; }

/* ---------- cursor: the anomaly (fine pointers only; touch devices keep the platform default) ----------
   Gold rotated square with an ink outline and a faint ivory edge, legible on the desk and on paper.
   Interactive elements get the lit variant (brighter gold, open ivory core). Text fields keep the system text cursor.
   Hotspots are the centers. Disabled controls fall back to the platform default and must out-rank the interactive rule. */
@media (hover: hover) and (pointer: fine) {
  html {
    cursor: url("/assets/cursor/mark.png") 12 12, auto;
    cursor: -webkit-image-set(url("/assets/cursor/mark.png") 1x, url("/assets/cursor/mark@2x.png") 2x) 12 12, auto;
    cursor: image-set(url("/assets/cursor/mark.png") 1x, url("/assets/cursor/mark@2x.png") 2x) 12 12, auto;
  }
  html body :is(a[href], button, select, summary, label[for], label:has(input[type="checkbox"]), label:has(input[type="radio"]), [role="button"], .js [data-stack]) {
    cursor: url("/assets/cursor/mark-hand.png") 14 14, pointer;
    cursor: -webkit-image-set(url("/assets/cursor/mark-hand.png") 1x, url("/assets/cursor/mark-hand@2x.png") 2x) 14 14, pointer;
    cursor: image-set(url("/assets/cursor/mark-hand.png") 1x, url("/assets/cursor/mark-hand@2x.png") 2x) 14 14, pointer;
  }
  html body :is(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="reset"], [type="range"], [type="color"], [type="file"]), textarea, [contenteditable]:not([contenteditable="false"])) { cursor: text; }
  html body :is(button, input, select, textarea, .js [data-stack]):disabled, html body :is([aria-disabled="true"]):is(.js *, *) { cursor: default; }
}

