/* =====================================================================
 * The public site, corporate edition (October 2026).
 * ---------------------------------------------------------------------
 * Everything here is scoped to .c-site, which only the marketing pages
 * carry. It is a separate file from style.css on purpose: that file is
 * the console's and carries nine years of selectors the site never used;
 * a visitor who never signs in should not download them. The pages that
 * still use the earlier `lw-` system keep linking style.css beside this
 * one until each is moved over.
 *
 * Two typefaces: Plus Jakarta Sans for everything read, IBM Plex Mono for
 * every cryptographic value, identifier and count. Monospace means "these
 * are the exact bytes" and is never used for emphasis.
 *
 * One interface colour, blue. Three reserved hues that may only ever mean
 * provenance — observed green, attested amber, asserted red — and appear
 * on no button, tick, badge or state anywhere else on the site. Ticks are
 * blue or ink.
 * ===================================================================== */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url(plus-jakarta-sans-var.woff2) format("woff2-variations");
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url(ibm-plex-mono-400.woff2) format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url(ibm-plex-mono-500.woff2) format("woff2");
  font-weight: 500;
  font-display: swap;
}

.c-site {
  --c-ground: #ffffff;
  --c-sunk: #f3f5f9;
  --c-sunk-2: #e9edf4;
  --c-tint: #eef3ff;
  --c-tint-line: #c9d7ff;
  --c-line: #e3e7ee;
  --c-line-2: #cfd5df;
  --c-ink: #14161a;
  --c-ink-2: #3f4654;
  --c-muted: #5f6774;
  --c-faint: #8a919d;
  --c-blue: #1f5eff;
  --c-blue-ink: #1547d1;
  --c-blue-soft: rgba(31, 94, 255, 0.1);
  --c-dark: #0b0d13;
  --c-dark-2: #151926;
  --c-observed: #176b45;
  --c-observed-soft: #ecf6f0;
  --c-attested: #8a5a0b;
  --c-attested-soft: #fbf4e6;
  --c-asserted: #9e2b25;
  --c-asserted-soft: #fbefee;
  --c-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --c-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --c-wide: 1240px;
  --c-gutter: 24px;
  --c-r: 8px;
  --c-r-lg: 14px;
  --c-shadow: 0 1px 2px rgba(20, 22, 26, 0.06), 0 12px 32px -20px rgba(20, 22, 26, 0.25);
  --c-ease: cubic-bezier(0.2, 0.8, 0.2, 1);

  --brand-paper: #ffffff;
  background: var(--c-ground);
  color: var(--c-ink);
  font-family: var(--c-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body:has(.c-site) { margin: 0; background: var(--c-ground); }
.c-site *, .c-site *::before, .c-site *::after { box-sizing: border-box; }
.c-site a { color: inherit; text-decoration: none; }
.c-site p { margin: 0; }
.c-site h1, .c-site h2, .c-site h3, .c-site h4 { margin: 0; font-weight: 600; letter-spacing: -0.02em; line-height: 1.12; text-wrap: balance; }
.c-site h1 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.06; }
.c-site h2 { font-size: clamp(28px, 3vw, 40px); }
.c-site h3 { font-size: 20px; line-height: 1.3; letter-spacing: -0.01em; }
.c-site h4 { font-size: 16px; line-height: 1.35; }
.c-site code, .c-site .c-mono { font-family: var(--c-mono); }
.c-site :focus-visible { outline: 2px solid var(--c-blue); outline-offset: 3px; border-radius: 4px; }
.c-site img, .c-site svg { display: block; max-width: 100%; }

/* --- measure ---------------------------------------------------------- */
.c-wide { width: 100%; max-width: var(--c-wide); margin-inline: auto; padding-inline: var(--c-gutter); }
.c-sec { padding-block: 88px; }
.c-sec.tight { padding-block: 56px; }
.c-sec.sunk { background: var(--c-sunk); }
.c-sec.tint { background: var(--c-tint); }
.c-sec.dark { background: var(--c-dark); color: #fff; }
.c-sec.dark .c-muted, .c-sec.dark .c-lede, .c-sec.dark .c-eyebrow { color: rgba(255, 255, 255, 0.72); }
.c-sec + .c-sec.line, .c-line-top { border-top: 1px solid var(--c-line); }
@media (max-width: 760px) { .c-sec { padding-block: 60px; } .c-sec.tight { padding-block: 40px; } }

.c-eyebrow { font: 600 12px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-blue); }
.c-lede { font-size: 18px; line-height: 1.6; color: var(--c-muted); max-width: 62ch; }
.c-muted { color: var(--c-muted); }
.c-head { display: grid; gap: 14px; max-width: 760px; margin-bottom: 44px; }
.c-head.center { margin-inline: auto; text-align: center; justify-items: center; }
.c-head.row { max-width: none; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
@media (max-width: 760px) { .c-head.row { grid-template-columns: 1fr; align-items: start; } }

/* --- skip link -------------------------------------------------------- */
.c-skip { position: absolute; left: 16px; top: -48px; z-index: 100; background: var(--c-ink); color: #fff; padding: 10px 14px; border-radius: 6px; font-weight: 600; }
.c-skip:focus { top: 12px; }

/* --- buttons ---------------------------------------------------------- */
.c-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 6px; border: 1px solid transparent; font: 600 15px var(--c-sans); cursor: pointer; white-space: nowrap; transition: background 0.18s, border-color 0.18s, color 0.18s, transform 0.18s var(--c-ease); }
.c-btn svg { width: 16px; height: 16px; }
.c-btn.primary { background: var(--c-blue); color: #fff; }
.c-btn.primary:hover { background: var(--c-blue-ink); }
.c-btn.ink { background: var(--c-ink); color: #fff; }
.c-btn.ink:hover { background: #2a2e36; }
.c-btn.outline { background: transparent; color: var(--c-ink); border-color: var(--c-line-2); }
.c-btn.outline:hover { border-color: var(--c-ink); }
.c-btn.white { background: #fff; color: var(--c-ink); }
.c-btn.white:hover { background: #eef1f6; }
.c-btn.ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.c-btn.ghost:hover { border-color: #fff; }
.c-btn.sm { height: 38px; padding: 0 14px; font-size: 14px; }
.c-btn.lg { height: 50px; padding: 0 24px; font-size: 16px; }
.c-acts { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.c-textlink { display: inline-flex; align-items: center; gap: 6px; color: var(--c-blue); font-weight: 600; }
.c-textlink svg { width: 16px; height: 16px; transition: transform 0.18s var(--c-ease); }
.c-textlink:hover svg { transform: translateX(3px); }
.c-site .c-sec.dark .c-textlink { color: #fff; }

/* --- header ----------------------------------------------------------- */
.c-bar { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--c-line); }
.c-bar-in { display: flex; align-items: center; gap: 28px; height: 64px; }
.c-bar .c-brand { display: inline-flex; align-items: center; color: var(--c-ink); }
.c-nav { display: flex; align-items: center; gap: 4px; flex: 1; }
.c-nav > a, .c-dd > summary { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px; border-radius: 6px; font-size: 14.5px; font-weight: 500; color: var(--c-ink-2); cursor: pointer; list-style: none; user-select: none; }
.c-dd > summary::-webkit-details-marker { display: none; }
.c-nav > a:hover, .c-dd > summary:hover, .c-nav > a[aria-current="page"] { background: var(--c-sunk); color: var(--c-ink); }
.c-dd > summary svg { width: 14px; height: 14px; transition: transform 0.18s; }
.c-dd[open] > summary svg { transform: rotate(180deg); }
.c-dd { position: relative; }
.c-dd-panel { position: absolute; left: 0; top: calc(100% + 10px); min-width: 560px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); box-shadow: 0 24px 60px -24px rgba(20, 22, 26, 0.35), 0 2px 6px rgba(20, 22, 26, 0.06); padding: 20px; display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 8px 20px; z-index: 50; }
.c-dd-panel.wide { min-width: 820px; --cols: 4; }
.c-dd-col { display: grid; gap: 2px; align-content: start; }
.c-dd-h { font: 600 11.5px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-faint); padding: 6px 10px 8px; }
.c-dd-item { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 9px 10px; border-radius: 8px; color: var(--c-ink); }
.c-dd-item:hover { background: var(--c-sunk); }
.c-dd-item .ico { width: 34px; height: 34px; border-radius: 8px; background: var(--c-tint); color: var(--c-blue); display: grid; place-items: center; }
.c-dd-item .ico svg { width: 18px; height: 18px; }
.c-dd-item b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.c-dd-item small { display: block; font-size: 13px; color: var(--c-muted); line-height: 1.4; margin-top: 2px; }
.c-dd-foot { grid-column: 1 / -1; border-top: 1px solid var(--c-line); margin-top: 8px; padding-top: 14px; display: flex; justify-content: space-between; gap: 16px; align-items: center; font-size: 13.5px; color: var(--c-muted); }
.c-bar-acts { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.c-bar-acts .site-btn.plain { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; border-radius: 6px; font-size: 14.5px; font-weight: 500; color: var(--c-ink-2); }
.c-bar-acts .site-btn.plain:hover { background: var(--c-sunk); color: var(--c-ink); }
.c-bar-acts .site-btn.solid { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 6px; font-size: 14.5px; font-weight: 600; background: var(--c-blue); color: #fff; }
.c-bar-acts .site-btn.solid:hover { background: var(--c-blue-ink); }
.c-bar-burger { display: none; }
@media (max-width: 1020px) {
  .c-nav, .c-bar-acts .site-btn.plain { display: none; }
  .c-bar-acts { margin-left: auto; }
  .c-bar-burger { display: inline-flex; }
  .c-bar-burger > summary { list-style: none; width: 40px; height: 40px; border-radius: 6px; display: grid; place-items: center; cursor: pointer; }
  .c-bar-burger > summary::-webkit-details-marker { display: none; }
  .c-bar-burger > summary span { display: block; width: 18px; height: 2px; background: var(--c-ink); box-shadow: 0 -6px 0 var(--c-ink), 0 6px 0 var(--c-ink); }
  .c-bar-burger[open] > summary { background: var(--c-sunk); }
  .c-mnav { position: absolute; left: 0; right: 0; top: 100%; height: calc(100vh - 64px); background: #fff; border-top: 1px solid var(--c-line); overflow: auto; padding: 16px var(--c-gutter) 40px; display: grid; gap: 4px; align-content: start; z-index: 45; }
  .c-mnav a, .c-mnav summary { display: block; padding: 12px 8px; border-radius: 8px; font-size: 17px; font-weight: 600; color: var(--c-ink); list-style: none; cursor: pointer; }
  .c-mnav summary::-webkit-details-marker { display: none; }
  .c-mnav .c-mgroup { display: grid; gap: 2px; padding: 4px 0 8px 12px; border-left: 2px solid var(--c-line); margin: 0 0 6px 10px; }
  .c-mnav .c-mgroup a { font-size: 15px; font-weight: 500; color: var(--c-ink-2); padding: 8px; }
  .c-mnav .c-macts { display: grid; gap: 10px; margin-top: 16px; }
  .c-mnav .c-macts a { text-align: center; }
}

/* --- hero ------------------------------------------------------------- */
.c-hero { padding-block: 72px 64px; }
.c-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 56px; align-items: center; }
.c-hero .c-lede { margin-top: 18px; font-size: 19px; }
.c-hero .c-acts { margin-top: 28px; }
.c-hero-note { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 18px; font: 500 12.5px var(--c-mono); letter-spacing: 0.04em; color: var(--c-muted); }
.c-hero-note span::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--c-blue); margin-right: 8px; vertical-align: 2px; }
@media (max-width: 980px) { .c-hero-grid { grid-template-columns: 1fr; gap: 40px; } .c-hero { padding-block: 48px 40px; } }

/* the product visual: a console frame with a receipt card over its corner */
.c-visual { position: relative; min-height: 420px; margin-bottom: 56px; }
.c-frame { position: relative; background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); box-shadow: var(--c-shadow); overflow: hidden; }
.c-frame-bar { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-bottom: 1px solid var(--c-line); background: var(--c-sunk); }
.c-frame-bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--c-line-2); }
.c-frame-bar span { margin-left: 10px; font: 500 12px var(--c-mono); color: var(--c-muted); letter-spacing: 0.04em; }
.c-frame-body { padding: 18px; display: grid; gap: 14px; }
.c-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.c-kpi { border: 1px solid var(--c-line); border-radius: 10px; padding: 12px 14px; }
.c-kpi small { display: block; font-size: 12px; color: var(--c-muted); }
.c-kpi b { display: block; font: 500 22px var(--c-mono); letter-spacing: -0.02em; margin-top: 4px; }
.c-rows { border: 1px solid var(--c-line); border-radius: 10px; overflow: hidden; }
.c-rows > div { display: grid; grid-template-columns: 1.3fr 1fr 0.8fr auto; gap: 12px; align-items: center; padding: 10px 14px; font-size: 13px; border-top: 1px solid var(--c-line); }
.c-rows > div:first-child { border-top: 0; background: var(--c-sunk); font: 600 11.5px var(--c-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-faint); }
.c-rows code { font-size: 12.5px; color: var(--c-ink-2); }
.c-pill { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 11.5px var(--c-mono); letter-spacing: 0.04em; }
.c-pill.observed { background: var(--c-observed-soft); color: var(--c-observed); }
.c-pill.attested { background: var(--c-attested-soft); color: var(--c-attested); }
.c-pill.asserted { background: var(--c-asserted-soft); color: var(--c-asserted); }
.c-pill.plain { background: var(--c-sunk); color: var(--c-ink-2); }
.c-pill.blue { background: var(--c-tint); color: var(--c-blue); }
.c-receipt { position: absolute; right: -20px; bottom: -64px; width: min(320px, 82%); background: #fff; border: 1px solid var(--c-line); border-radius: 12px; box-shadow: 0 30px 60px -28px rgba(20, 22, 26, 0.45), 0 2px 6px rgba(20, 22, 26, 0.06); padding: 16px 16px 14px; font: 12.5px/1.55 var(--c-mono); color: var(--c-ink-2); }
.c-receipt .h { display: flex; justify-content: space-between; align-items: center; font-weight: 500; letter-spacing: 0.1em; font-size: 11px; color: var(--c-ink); padding-bottom: 8px; border-bottom: 1px dashed var(--c-line-2); margin-bottom: 8px; }
.c-receipt .h small { font-weight: 400; letter-spacing: 0.02em; color: var(--c-faint); }
.c-receipt .r { display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; white-space: nowrap; }
.c-receipt .r .k { color: var(--c-faint); }
.c-receipt .r .v { color: var(--c-ink); overflow: hidden; text-overflow: ellipsis; }
.c-receipt .r .v.observed { color: var(--c-observed); }
.c-receipt .sig { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--c-line-2); display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--c-ink); font-weight: 500; }
.c-receipt .sig svg { width: 64px; height: 22px; stroke: var(--c-ink); fill: none; stroke-width: 1.5; stroke-linecap: round; }
@media (max-width: 980px) { .c-visual { min-height: 0; padding-bottom: 40px; } .c-receipt { right: 0; } }
@media (max-width: 560px) { .c-rows > div { grid-template-columns: 1fr auto; } .c-rows > div > :nth-child(2), .c-rows > div > :nth-child(3) { display: none; } .c-kpis { grid-template-columns: 1fr 1fr; } }

/* --- standards band --------------------------------------------------- */
.c-band { border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); background: var(--c-sunk); }
.c-band-in { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 32px; padding-block: 18px; }
.c-band-in > span:first-child { font: 600 11.5px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-faint); margin-right: 8px; }
.c-band-in a, .c-band-in em { font: 500 13.5px var(--c-mono); font-style: normal; color: var(--c-ink-2); letter-spacing: 0.02em; }
.c-band-in a:hover { color: var(--c-blue); }

/* --- tiles ------------------------------------------------------------ */
.c-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.c-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.c-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1020px) { .c-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .c-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-grid2, .c-grid3, .c-grid4 { grid-template-columns: 1fr; } }
.c-card { display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 26px 24px; color: var(--c-ink); transition: border-color 0.18s, box-shadow 0.18s, transform 0.25s var(--c-ease); }
.c-card.sunk { background: var(--c-sunk); border-color: transparent; }
a.c-card:hover, .c-card.lift:hover { border-color: var(--c-line-2); box-shadow: var(--c-shadow); transform: translateY(-2px); }
.c-card p { color: var(--c-muted); font-size: 15px; line-height: 1.55; }
.c-card .grow { flex: 1; }
.c-card .c-textlink { margin-top: 6px; font-size: 14.5px; }
.c-ico { width: 44px; height: 44px; border-radius: 10px; background: var(--c-tint); color: var(--c-blue); display: grid; place-items: center; margin-bottom: 6px; }
.c-ico svg { width: 22px; height: 22px; }
.c-ico.ink { background: var(--c-ink); color: #fff; }
.c-fact { font: 500 12.5px var(--c-mono); letter-spacing: 0.04em; color: var(--c-ink-2); padding-top: 10px; border-top: 1px solid var(--c-line); }
.c-idx { font: 500 12px var(--c-mono); letter-spacing: 0.1em; color: var(--c-faint); }

/* --- alternating feature rows ---------------------------------------- */
.c-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding-block: 56px; }
.c-row + .c-row { border-top: 1px solid var(--c-line); }
.c-row.flip > .c-row-text { order: 2; }
.c-row-text { display: grid; gap: 16px; max-width: 520px; }
.c-row-text h2 { font-size: clamp(26px, 2.6vw, 34px); }
.c-row-text .c-lede { font-size: 17px; }
.c-row-text ul { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.c-row-text li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: var(--c-ink-2); font-size: 15.5px; line-height: 1.5; }
.c-row-text li svg { width: 20px; height: 20px; color: var(--c-blue); margin-top: 1px; }
.c-row-art { min-width: 0; }
@media (max-width: 900px) { .c-row { grid-template-columns: 1fr; gap: 32px; padding-block: 40px; } .c-row.flip > .c-row-text { order: 0; } .c-row-text { max-width: none; } }

/* art pieces: honest, drawn in CSS, labelled as illustrations by their captions */
.c-art { position: relative; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); background: var(--c-sunk); padding: 28px; overflow: hidden; }
.c-art-cap { position: absolute; left: 14px; top: 12px; font: 500 11px var(--c-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-faint); }
.c-sheet { background: #fff; border: 1px solid var(--c-line); border-radius: 6px; box-shadow: var(--c-shadow); padding: 26px 24px; font: 13px/1.9 var(--c-mono); color: var(--c-ink-2); margin-top: 18px; }
.c-sheet .t { color: var(--c-ink); font-weight: 500; }
.c-sheet .v { padding: 1px 4px; border-radius: 4px; background: var(--c-blue-soft); color: var(--c-ink); border-bottom: 1.5px solid var(--c-blue); }
.c-sheet .x { padding: 1px 4px; border-radius: 4px; background: var(--c-sunk-2); color: var(--c-faint); text-decoration: line-through; }
.c-sheet .ln { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-split { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.c-split .c-sheet { margin-top: 0; font-size: 12px; padding: 18px 16px; }
.c-split-h { font: 600 11px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-faint); margin-bottom: 8px; }
@media (max-width: 480px) { .c-split { grid-template-columns: 1fr; } }
.c-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.c-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 8px; background: #fff; border: 1px solid var(--c-line); font-size: 13.5px; color: var(--c-ink); }
.c-chip code { font-size: 12px; color: var(--c-muted); }
.c-chip.on { border-color: var(--c-blue); background: var(--c-tint); }
.c-surfaces { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }
.c-surface { display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; background: #fff; border: 1px solid var(--c-line); border-radius: 10px; padding: 14px; }
.c-surface .c-ico { width: 40px; height: 40px; margin: 0; }
.c-surface b { display: block; font-size: 14.5px; }
.c-surface small { display: block; font-size: 13px; color: var(--c-muted); line-height: 1.45; margin-top: 2px; }
.c-surface .c-pill { margin-top: 8px; }
@media (max-width: 480px) { .c-surfaces { grid-template-columns: 1fr; } }

/* --- stats band ------------------------------------------------------- */
.c-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.c-stat { border-top: 2px solid var(--c-ink); padding-top: 18px; }
.c-sec.dark .c-stat { border-top-color: rgba(255, 255, 255, 0.5); }
.c-stat b { display: block; font: 500 clamp(32px, 3.6vw, 48px)/1 var(--c-mono); letter-spacing: -0.03em; }
.c-stat span { display: block; margin-top: 10px; font-size: 15px; line-height: 1.5; color: var(--c-muted); }
.c-sec.dark .c-stat span { color: rgba(255, 255, 255, 0.72); }
.c-stat small { display: block; margin-top: 6px; font: 500 12px var(--c-mono); letter-spacing: 0.04em; color: var(--c-faint); }
@media (max-width: 900px) { .c-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .c-stats { grid-template-columns: 1fr; } }

/* --- provenance strip ------------------------------------------------- */
.c-prov { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.c-prov > div { border-radius: var(--c-r-lg); padding: 22px; border: 1px solid var(--c-line); background: #fff; }
.c-prov .w { font: 500 14px var(--c-mono); letter-spacing: 0.06em; display: inline-flex; align-items: center; gap: 8px; }
.c-prov .w::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.c-prov .observed .w { color: var(--c-observed); }
.c-prov .attested .w { color: var(--c-attested); }
.c-prov .asserted .w { color: var(--c-asserted); }
.c-prov p { margin-top: 8px; color: var(--c-muted); font-size: 15px; }
@media (max-width: 760px) { .c-prov { grid-template-columns: 1fr; } }
.c-art .c-prov { grid-template-columns: 1fr; gap: 10px; }
.c-art .c-prov > div { display: grid; grid-template-columns: 120px 1fr; align-items: baseline; gap: 12px; padding: 14px 18px; }
.c-art .c-prov p { margin-top: 0; }

/* --- honesty strip ---------------------------------------------------- */
.c-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.c-strip > div { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 15px; line-height: 1.5; color: var(--c-ink-2); }
.c-strip svg { width: 22px; height: 22px; color: var(--c-ink); margin-top: 1px; }
.c-sec.dark .c-strip > div { color: rgba(255, 255, 255, 0.82); }
.c-sec.dark .c-strip svg { color: #fff; }
@media (max-width: 900px) { .c-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .c-strip { grid-template-columns: 1fr; } }

/* --- CTA band --------------------------------------------------------- */
.c-cta { border-radius: 20px; background: var(--c-dark); color: #fff; padding: 56px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.c-cta h2 { font-size: clamp(26px, 2.8vw, 36px); }
.c-cta p { margin-top: 10px; color: rgba(255, 255, 255, 0.72); font-size: 17px; max-width: 56ch; }
@media (max-width: 900px) { .c-cta { grid-template-columns: 1fr; padding: 36px 28px; } }

/* --- pricing ---------------------------------------------------------- */
.c-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.c-plan { display: flex; flex-direction: column; gap: 14px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 26px 24px; }
.c-plan.pick { border-color: var(--c-blue); box-shadow: 0 0 0 1px var(--c-blue), var(--c-shadow); }
.c-plan-name { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; }
.c-tag { font: 600 11px var(--c-mono); letter-spacing: 0.08em; text-transform: uppercase; background: var(--c-tint); color: var(--c-blue); padding: 3px 8px; border-radius: 999px; }
.c-price { font: 500 40px/1 var(--c-mono); letter-spacing: -0.03em; }
.c-price small { font-size: 14px; color: var(--c-muted); letter-spacing: 0; }
.c-plan-line { color: var(--c-muted); font-size: 15px; }
.c-plan ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; flex: 1; }
.c-plan li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; font-size: 14.5px; color: var(--c-ink-2); line-height: 1.45; }
.c-plan li svg { width: 18px; height: 18px; color: var(--c-blue); margin-top: 1px; }
@media (max-width: 1020px) { .c-plans { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .c-plans { grid-template-columns: 1fr; } }
.c-table-wrap { overflow: auto; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); }
.c-table { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 720px; }
.c-table th, .c-table td { padding: 14px 16px; text-align: left; border-top: 1px solid var(--c-line); vertical-align: middle; }
.c-table thead th { border-top: 0; background: var(--c-sunk); font: 600 12px var(--c-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); }
.c-table thead th.pick { color: var(--c-blue); }
.c-table tbody th { font-weight: 500; color: var(--c-ink); }
.c-table td { color: var(--c-ink-2); }
.c-yes svg { width: 18px; height: 18px; color: var(--c-blue); }
.c-no { color: var(--c-faint); }
.c-val.strong { font-weight: 600; color: var(--c-ink); }
.c-faq { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.c-faq > div { background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 22px; }
.c-faq h3 { font-size: 17px; }
.c-faq p { margin-top: 8px; color: var(--c-muted); font-size: 15px; }
@media (max-width: 760px) { .c-faq { grid-template-columns: 1fr; } }
.c-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; margin-top: 24px; padding: 18px 22px; border-radius: 12px; background: var(--c-sunk); font-size: 15px; color: var(--c-ink-2); }

/* --- inner page hero and prose --------------------------------------- */
.c-phero { padding-block: 64px 40px; border-bottom: 1px solid var(--c-line); }
.c-phero .c-eyebrow { margin-bottom: 14px; }
.c-phero h1 { font-size: clamp(32px, 3.8vw, 50px); max-width: 20ch; }
.c-phero .c-lede { margin-top: 18px; }
.c-phero .c-acts { margin-top: 26px; }
.c-phero.center { text-align: center; }
.c-phero.center h1, .c-phero.center .c-lede { margin-inline: auto; }
.c-phero.center .c-acts { justify-content: center; }
.c-prose { max-width: 72ch; font-size: 17px; line-height: 1.7; color: var(--c-ink-2); }
.c-prose h2 { font-size: 26px; margin: 40px 0 12px; color: var(--c-ink); }
.c-prose h3 { font-size: 20px; margin: 28px 0 8px; color: var(--c-ink); }
.c-prose p + p { margin-top: 14px; }
.c-prose ul, .c-prose ol { padding-left: 22px; margin: 12px 0; }
.c-prose li + li { margin-top: 6px; }
.c-prose a { color: var(--c-blue); text-decoration: underline; text-underline-offset: 3px; }
.c-prose code { font-size: 0.9em; background: var(--c-sunk); padding: 2px 6px; border-radius: 4px; }
.c-prose pre { background: var(--c-dark); color: #e8ecf4; padding: 18px 20px; border-radius: 12px; overflow: auto; font: 13px/1.6 var(--c-mono); }
.c-prose pre code { background: none; padding: 0; color: inherit; }
.c-steps { counter-reset: step; display: grid; gap: 0; }
.c-step { counter-increment: step; display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid var(--c-line); }
.c-step::before { content: counter(step, decimal-leading-zero); font: 500 14px var(--c-mono); color: var(--c-blue); padding-top: 4px; }
.c-step h3 { font-size: 20px; }
.c-step p { margin-top: 8px; color: var(--c-muted); font-size: 15.5px; max-width: 64ch; }
.c-form { display: grid; gap: 14px; max-width: 520px; }
.c-form label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; color: var(--c-ink-2); }
.c-form input, .c-form textarea, .c-form select { font: 15px var(--c-sans); color: var(--c-ink); border: 1px solid var(--c-line-2); border-radius: 8px; padding: 11px 12px; background: #fff; width: 100%; }
.c-form input:focus, .c-form textarea:focus { outline: 2px solid var(--c-blue); outline-offset: 1px; border-color: var(--c-blue); }
.c-form small { font-size: 13px; color: var(--c-muted); }

/* --- footer ----------------------------------------------------------- */
.c-foot { border-top: 1px solid var(--c-line); background: var(--c-sunk); color: var(--c-ink-2); }
.c-foot-in { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 32px; padding-block: 56px 40px; }
.c-foot-brand { display: grid; gap: 14px; align-content: start; color: var(--c-ink); }
.c-foot-brand p { color: var(--c-muted); font-size: 14.5px; max-width: 30ch; }
.c-foot-h { font: 600 11.5px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-faint); margin-bottom: 12px; }
.c-foot-col { display: grid; gap: 9px; align-content: start; }
.c-foot-col a { font-size: 14.5px; color: var(--c-ink-2); }
.c-foot-col a:hover { color: var(--c-blue); }
.c-foot-bar { border-top: 1px solid var(--c-line); }
.c-foot-bar-in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 20px; padding-block: 18px; font-size: 13px; color: var(--c-muted); }
.c-foot-bar nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.c-foot-bar nav a { color: var(--c-muted); padding: 4px 0; }
.c-foot-bar nav a:hover { color: var(--c-ink); }
@media (max-width: 1020px) { .c-foot-in { grid-template-columns: 1fr 1fr; } .c-foot-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .c-foot-in { grid-template-columns: 1fr; } }

/* --- utilities -------------------------------------------------------- */
.c-center { text-align: center; }
.c-mt-8 { margin-top: 8px; } .c-mt-16 { margin-top: 16px; } .c-mt-24 { margin-top: 24px; } .c-mt-40 { margin-top: 40px; } .c-mt-56 { margin-top: 56px; }
@media (max-width: 760px) { .c-hide-sm { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .c-site * { transition: none !important; } }

/* --- get started: the request form beside the four steps ------------- */
.c-gs { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .c-gs { grid-template-columns: 1fr; } }
.c-site .rq-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 28px; display: grid; gap: 18px; box-shadow: var(--c-shadow); }
.c-site .rq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .c-site .rq-row { grid-template-columns: 1fr; } }
.c-site .rq-field { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.c-site .rq-field label, .c-site .rq-field legend { font-size: 14px; font-weight: 600; color: var(--c-ink-2); }
.c-site .rq-opt { font-weight: 400; color: var(--c-faint); margin-left: 6px; }
.c-site .rq-field input, .c-site .rq-field textarea, .c-site .rq-field select { font: 15px var(--c-sans); color: var(--c-ink); border: 1px solid var(--c-line-2); border-radius: 8px; padding: 11px 12px; background: #fff; width: 100%; }
.c-site .rq-field input:focus, .c-site .rq-field textarea:focus { outline: 2px solid var(--c-blue); outline-offset: 1px; border-color: var(--c-blue); }
.c-site .rq-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.c-site .rq-chips label, .c-site .rq-chips button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--c-line-2); background: #fff; font: 500 14px var(--c-sans); color: var(--c-ink-2); cursor: pointer; }
.c-site .rq-chips label:has(input:checked), .c-site .rq-chips button[aria-pressed="true"] { border-color: var(--c-blue); background: var(--c-tint); color: var(--c-blue); }
.c-site .rq-chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.c-site .rq-err, .c-site .rq-alert { font-size: 13.5px; color: var(--c-ink); background: var(--c-sunk); border-left: 3px solid var(--c-ink); padding: 8px 10px; border-radius: 4px; }
.c-site .rq-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.c-site .rq-actions { display: grid; gap: 10px; }
.c-site .rq-actions .site-btn.solid { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border-radius: 6px; border: 0; background: var(--c-blue); color: #fff; font: 600 15px var(--c-sans); cursor: pointer; }
.c-site .rq-actions .site-btn.solid:disabled { opacity: 0.6; cursor: default; }
.c-site .rq-small { font-size: 13px; color: var(--c-muted); }
.c-site .rq-done { text-align: left; }
.c-site .rq-done-mark { width: 40px; height: 40px; border-radius: 50%; background: var(--c-tint); color: var(--c-blue); display: grid; place-items: center; }
.c-site .rq-done-note { color: var(--c-muted); font-size: 15px; }
.c-gs-privacy { font-size: 14px; }

/* --- the bar on pages that still carry .site --------------------------
   style.css styles .site-btn and .bar-verify for the September pill bar,
   under selectors that outrank the ones above on the pages that still
   run that system. Restated here with the same weight and later in the
   cascade, so the bar reads the same on every public page. ----------- */
:root .c-site .c-bar .c-bar-acts .site-btn.plain, :root .site .c-bar .c-bar-acts .site-btn.plain,
:root[data-theme] .site .c-bar .c-bar-acts .site-btn.plain { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; border-radius: 6px; border: 0; background: transparent; box-shadow: none; font: 500 14.5px var(--c-sans); color: var(--c-ink-2); }
:root .c-site .c-bar .c-bar-acts .site-btn.solid, :root .site .c-bar .c-bar-acts .site-btn.solid,
:root[data-theme] .site .c-bar .c-bar-acts .site-btn.solid { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 6px; border: 0; box-shadow: none; font: 600 14.5px var(--c-sans); background: var(--c-blue); color: #fff; }
:root .c-site .c-bar .c-bar-acts .c-btn.bar-verify, :root .site .c-bar .c-bar-acts .c-btn.bar-verify,
:root[data-theme] .site .c-bar .c-bar-acts .c-btn.bar-verify { height: 38px; padding: 0 14px; border-radius: 6px; border: 1px solid var(--c-line-2); background: transparent; box-shadow: none; font: 600 14px var(--c-sans); letter-spacing: 0; text-transform: none; color: var(--c-ink); }
:root .site .c-bar, :root[data-theme] .site .c-bar { --c-wide: 1240px; --c-gutter: 24px; --c-ink: #14161a; --c-ink-2: #3f4654; --c-sunk: #f3f5f9; --c-line: #e3e7ee; --c-line-2: #cfd5df; --c-blue: #1f5eff; --c-blue-ink: #1547d1; --c-tint: #eef3ff; --c-faint: #8a919d; --c-muted: #5f6774; --c-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; --c-mono: "IBM Plex Mono", ui-monospace, monospace; --c-r-lg: 14px; --c-shadow: 0 1px 2px rgba(20, 22, 26, 0.06), 0 12px 32px -20px rgba(20, 22, 26, 0.25); --c-ease: cubic-bezier(0.2, 0.8, 0.2, 1); --brand-paper: #fff; background: rgba(255, 255, 255, 0.92); color: var(--c-ink); font-family: var(--c-sans); }
:root .site .c-foot, :root[data-theme] .site .c-foot { --c-wide: 1240px; --c-gutter: 24px; --c-ink: #14161a; --c-ink-2: #3f4654; --c-sunk: #f3f5f9; --c-line: #e3e7ee; --c-blue: #1f5eff; --c-faint: #8a919d; --c-muted: #5f6774; --c-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; --c-mono: "IBM Plex Mono", ui-monospace, monospace; --brand-paper: #f3f5f9; background: var(--c-sunk); color: var(--c-ink-2); font-family: var(--c-sans); }
:root .site .c-foot a, :root[data-theme] .site .c-foot a { color: var(--c-ink-2); }
:root .site .c-foot .c-foot-col a:hover { color: var(--c-blue); }

/* --- pages still carrying the earlier (lw-) content system -------------
   LwPage now draws the corporate frame around content that style.css
   still styles under .site. These rules settle the seams: hero copy and
   buttons set for a dark opening band, sections that used to be bands,
   the close, and the few shared primitives that read wrong on white. -- */
.c-site.site { background: var(--c-ground); color: var(--c-ink); }
body:has(.c-site.site) { background: var(--c-ground); }
.c-site.site main > .c-phero { background: var(--c-ground); border-bottom: 1px solid var(--c-line); }
.c-site .c-phero h1 { color: var(--c-ink); font-weight: 600; letter-spacing: -0.02em; }
.c-site .c-phero .lw-hero-sub, .c-site .c-phero .lw-hero-note, .c-site .c-phero h1 + p { color: var(--c-muted); font-size: 18px; line-height: 1.6; max-width: 62ch; margin-top: 18px; }
.c-site .c-phero .lw-hero-note { font-size: 15.5px; margin-top: 12px; }
.c-site .c-phero .lw-acts, .c-site .c-phero .c-acts { margin-top: 26px; display: flex; gap: 12px; flex-wrap: wrap; }
.c-site .c-phero .lw-kicker { display: inline-block; margin-bottom: 14px; color: var(--c-blue); }
.c-site .c-phero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 48px; align-items: center; }
@media (max-width: 980px) { .c-site .c-phero-grid { grid-template-columns: 1fr; } }
.c-site .lw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 6px; border: 1px solid transparent; font: 600 15px var(--c-sans); cursor: pointer; white-space: nowrap; text-decoration: none; }
.c-site .c-phero .lw-btn.white, .c-site .c-sec:not(.dark) .lw-btn.white, .c-site .lw-btn.blue { background: var(--c-blue); color: #fff; }
.c-site .c-phero .lw-btn.ghost, .c-site .c-sec:not(.dark) .lw-btn.ghost, .c-site .lw-btn.line { background: transparent; color: var(--c-ink); border-color: var(--c-line-2); }
.c-site .c-cta .lw-btn.white { background: #fff; color: var(--c-ink); }
.c-site .c-cta .lw-btn.ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.c-site .c-sec .lw-eyebrow { font: 600 12px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-blue); margin-bottom: 12px; }
.c-site .c-sec .lw-h2 { font-size: clamp(26px, 2.8vw, 36px); color: var(--c-ink); font-weight: 600; letter-spacing: -0.02em; line-height: 1.12; margin: 0 0 14px; }
.c-site .c-sec .lw-lede, .c-site .c-sec .lw-std-lede { font-size: 17px; line-height: 1.6; color: var(--c-muted); max-width: 62ch; margin-bottom: 28px; }
.c-site .c-sec .lw-std-note { font-size: 15px; color: var(--c-muted); margin-top: 14px; }
.c-site .c-sec .lw-card, .c-site .c-sec .lw-tile { background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 24px; color: var(--c-ink); box-shadow: none; }
.c-site .c-sec .lw-card h3 { font-size: 19px; margin: 0 0 8px; color: var(--c-ink); }
.c-site .c-sec .lw-card p, .c-site .c-sec .lw-card li { color: var(--c-muted); font-size: 15px; line-height: 1.55; }
.c-site .c-sec .lw-idx { display: block; font: 500 12px var(--c-mono); letter-spacing: 0.1em; color: var(--c-faint); margin-bottom: 10px; }
.c-site .c-sec .lw-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.c-site .c-sec .lw-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.c-site .c-sec .lw-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1020px) { .c-site .c-sec .lw-grid3, .c-site .c-sec .lw-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .c-site .c-sec .lw-grid3, .c-site .c-sec .lw-grid4, .c-site .c-sec .lw-two { grid-template-columns: 1fr; } }
.c-site .c-sec .lw-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
@media (max-width: 900px) { .c-site .c-sec .lw-split { grid-template-columns: 1fr; gap: 28px; } }
.c-site .c-sec .snippet, .c-site .c-sec .lw-snippet, .c-site .c-sec pre.site-line { background: var(--c-dark); color: #e8ecf4; padding: 18px 20px; border-radius: 12px; overflow: auto; font: 13px/1.6 var(--c-mono); margin-top: 24px; }
.c-site .c-sec .site-card pre.site-line { margin-top: 0; }
.c-site .c-sec .site-receipt { background: #fff; border: 1px solid var(--c-line); border-radius: 12px; padding: 18px; font: 12.5px/1.6 var(--c-mono); color: var(--c-ink-2); box-shadow: var(--c-shadow); }
.c-site .c-sec .site-receipt-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px dashed var(--c-line-2); margin-bottom: 10px; color: var(--c-ink); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; font-size: 11px; }
.c-site .c-sec .site-receipt-body { margin: 0; display: grid; gap: 6px; }
.c-site .c-sec .site-receipt-row { display: flex; justify-content: space-between; gap: 12px; }
.c-site .c-sec .site-receipt-row dt { color: var(--c-faint); margin: 0; }
.c-site .c-sec .site-receipt-row dd { color: var(--c-ink); margin: 0; text-align: right; }
.c-site .site-prov { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font: 500 11.5px var(--c-mono); letter-spacing: 0.04em; }
.c-site .site-prov.observed { background: var(--c-observed-soft); color: var(--c-observed); }
.c-site .site-prov.attested { background: var(--c-attested-soft); color: var(--c-attested); }
.c-site .site-prov.asserted { background: var(--c-asserted-soft); color: var(--c-asserted); }
.c-site .c-sec .lw-controls { display: grid; gap: 16px; }
.c-site .c-sec .lw-control-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.c-site .c-sec .lw-control-id { font: 500 13px var(--c-mono); color: var(--c-blue); }
.c-site .c-sec .lw-control-asks { color: var(--c-ink-2); }
.c-site .c-sec .lw-dtable-wrap { overflow: auto; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); background: #fff; }
.c-site .c-sec .lw-dtable { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 720px; }
.c-site .c-sec .lw-dtable th, .c-site .c-sec .lw-dtable td { padding: 14px 16px; text-align: left; border-top: 1px solid var(--c-line); vertical-align: top; color: var(--c-ink-2); line-height: 1.55; }
.c-site .c-sec .lw-dtable thead th { border-top: 0; background: var(--c-sunk); font: 600 12px var(--c-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); }
.c-site .c-sec .lw-dtable td:first-child { color: var(--c-ink); font-weight: 500; }
.c-site .c-sec .lw-src { display: block; margin-top: 6px; font: 500 12.5px var(--c-mono); color: var(--c-blue); }
.c-site .c-sec .lw-quote { margin: 0; padding: 28px 32px; border-left: 3px solid var(--c-blue); background: var(--c-sunk); border-radius: 0 12px 12px 0; }
.c-site .c-sec .lw-quote blockquote { margin: 0; font-size: 20px; line-height: 1.5; color: var(--c-ink); }
.c-site .c-sec .lw-quote cite { display: block; margin-top: 12px; font: 500 13px var(--c-mono); font-style: normal; }
.c-site .c-sec .lw-quote cite a { color: var(--c-blue); }
.c-site .c-sec .lw-quote-after { margin-top: 24px; }
.c-site .c-sec .lw-prose-card ul { padding-left: 20px; margin: 8px 0 0; display: grid; gap: 8px; }
.c-site .c-sec .lw-prose, .c-site .c-sec .site-prose { font-size: 16px; line-height: 1.7; color: var(--c-ink-2); max-width: 68ch; }
.c-site .c-sec .lw-prose p + p, .c-site .c-sec .site-prose p + p { margin-top: 12px; }
.c-site .c-sec .site-stack { display: grid; gap: 16px; }
.c-site .c-sec .site-stack.tight { gap: 10px; }
.c-site .c-sec .site-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 24px; color: var(--c-ink-2); font-size: 15.5px; line-height: 1.6; }
.c-site .c-sec .site-card p { margin: 0; }
.c-site .c-sec .site-eyebrow { font: 600 12px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-blue); margin: 0; }
.c-site .c-sec .site-stack > h2 { font-size: clamp(24px, 2.6vw, 32px); color: var(--c-ink); margin: 0; }
.c-site .c-sec .site-cols-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 900px) { .c-site .c-sec .site-cols-2 { grid-template-columns: 1fr; } }
.c-site .c-sec .site-topline { border-top: 3px solid var(--c-ink); }
.c-site .site-mono, .c-site .mono { font-family: var(--c-mono); }
.c-site .c-sec code, .c-site .c-sec .site-card code { font-family: var(--c-mono); font-size: 0.92em; background: var(--c-sunk); padding: 1px 5px; border-radius: 4px; }
.c-site .c-sec pre code { background: none; padding: 0; }
.c-site .c-sec .lw-steps .lw-card { position: relative; }
.c-site .lw-sec.dark { background: var(--c-dark); color: #fff; }
.c-site .lw-sec:not(.c-sec) { padding-block: 88px; }
.c-site .lw-sec:not(.c-sec) .lw-wrap { width: 100%; max-width: var(--c-wide); margin-inline: auto; padding-inline: var(--c-gutter); }
.c-site .lw-sec.white:not(.c-sec) { background: var(--c-ground); }
.c-site .lw-sec.blue:not(.c-sec) { background: var(--c-sunk); }
.c-site .lw-sec:not(.c-sec) .lw-eyebrow { font: 600 12px var(--c-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-blue); margin-bottom: 12px; }
.c-site .lw-sec:not(.c-sec) .lw-h2 { font-size: clamp(26px, 2.8vw, 36px); color: var(--c-ink); margin: 0 0 14px; }
.c-site .lw-sec:not(.c-sec) .lw-lede { font-size: 17px; color: var(--c-muted); max-width: 62ch; margin-bottom: 28px; }
.c-site .lw-sec.dark:not(.c-sec) .lw-h2 { color: #fff; }
.c-site .lw-sec.dark:not(.c-sec) .lw-lede { color: rgba(255, 255, 255, 0.72); }
.c-site .site-band { padding-block: 64px; }
.c-site .site-band .site-wide { width: 100%; max-width: var(--c-wide); margin-inline: auto; padding-inline: var(--c-gutter); }
.c-site .site-band h1 { font-size: clamp(30px, 3.4vw, 44px); margin: 10px 0 18px; }
.c-site .site-band .site-stack { display: grid; gap: 14px; }
.c-site .site-band .site-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--c-r-lg); padding: 24px; }
.c-site .site-band .site-btn { display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 6px; font: 600 15px var(--c-sans); border: 1px solid transparent; cursor: pointer; }
.c-site .site-band .site-btn.solid { background: var(--c-blue); color: #fff; }
.c-site .site-band .site-btn.outline { background: transparent; color: var(--c-ink); border-color: var(--c-line-2); }
.c-site .site-band .site-more { color: var(--c-muted); font-size: 14px; }
.c-site .c-sec.dark .lw-h2, .c-site .c-sec.dark h2 { color: #fff; }

:root[data-theme] .c-site.site[class][class] main .c-phero .lw-btn.white, :root .c-site.site[class][class] main .c-phero .lw-btn.white { background: var(--c-blue); color: #fff; border-color: var(--c-blue); }
:root[data-theme] .c-site.site[class][class] main .c-phero .lw-btn.ghost, :root .c-site.site[class][class] main .c-phero .lw-btn.ghost { background: transparent; color: var(--c-ink); border-color: var(--c-line-2); }
:root[data-theme] .c-site.site[class][class] main .c-cta .lw-btn.white, :root .c-site.site[class][class] main .c-cta .lw-btn.white { background: #fff; color: var(--c-ink); border-color: #fff; }
:root[data-theme] .c-site.site[class][class] main .c-cta .lw-btn.ghost, :root .c-site.site[class][class] main .c-cta .lw-btn.ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
:root[data-theme] .c-site.site[class][class] main .c-cta h2, :root .c-site.site[class][class] main .c-cta h2 { color: #fff; }
:root[data-theme] .c-site.site[class][class] main .c-cta p, :root .c-site.site[class][class] main .c-cta p { color: rgba(255, 255, 255, 0.72); }
:root[data-theme] .c-site.site[class][class] main > .c-phero, :root .c-site.site[class][class] main > .c-phero { background: var(--c-ground); padding-block: 64px 40px; }
:root[data-theme] .c-site.site[class][class] > main, :root .c-site.site[class][class] > main { padding-top: 0; margin-top: 0; background: var(--c-ground); }
