/* Shared publishing components, Organic export tokens, and responsive website integration. */
:root, [data-theme="dark"] {
  --ink:#072f28; --surface:#0e473a; --mint:#a5f3cb; --paper:#fafffc; --muted:#cae2d8; --marker:#65e879; --line:#356455;
  --amber:#f5c451; --coral:#ff9580; --pass-deep:#1e7a3c; --amber-deep:#8a5a00; --coral-deep:#b4382a;
  --bg:var(--ink); --bg-panel:var(--surface); --fg:var(--paper); --fg-muted:var(--muted); --fg-accent:var(--mint);
  --accent-fill:var(--mint); --on-accent:var(--ink); --border:var(--line); --focus-ring:var(--mint); --highlight:var(--marker);
  --status-pass:var(--marker); --status-warn:var(--amber); --status-fail:var(--coral); --logo:var(--mint);
  color-scheme: dark;
}
[data-theme="light"] {
  --bg:var(--paper); --bg-panel:var(--paper); --fg:var(--ink); --fg-muted:var(--surface); --fg-accent:var(--surface);
  --focus-ring:var(--ink); --status-pass:var(--pass-deep); --status-warn:var(--amber-deep); --status-fail:var(--coral-deep); --logo:var(--ink);
  color-scheme: light;
}
:root {
  --font-sans:"IBM Plex Sans","Segoe UI",Arial,sans-serif; --font-mono:"IBM Plex Mono",Consolas,"Courier New",monospace;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-8:64px; --space-12:96px;
  --radius-chip:8px; --radius-card:24px; --measure:680px; --wide:1120px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 400 16px/1.5 var(--font-sans); }
a { color: var(--fg-accent); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
img { max-width: 100%; height: auto; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: var(--space-2); top: var(--space-2); background: var(--accent-fill); color: var(--on-accent); padding: 8px 12px; z-index: 10; }

.wrap { width: 100%; max-width: var(--wide); margin: 0 auto; padding: 0 var(--space-3); }
@media (max-width: 600px) { .wrap { padding: 0 var(--space-2); } }

/* Header and footer */
.site-header { border-bottom: 1px solid var(--border); }
.site-header .wrap { display: flex; align-items: center; gap: 12px var(--space-3); min-height: 72px; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--fg); text-decoration: none; font-weight: 700; font-size: 18px; }
.logo { fill: var(--logo); display: block; height: auto; }
.brand .logo { width: 48px; height: auto; }
.nav { display: flex; gap: var(--space-3); margin-left: auto; flex-wrap: wrap; }
.nav a { color: var(--fg-muted); text-decoration: none; font-weight: 600; padding: 6px 0; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current] { color: var(--fg); border-bottom-color: var(--fg-accent); }
.theme-toggle { background: none; border: 1px solid var(--border); color: var(--fg-muted); border-radius: var(--radius-chip); font: 600 13px/1 var(--font-sans); padding: 8px 10px; cursor: pointer; }
.theme-toggle:hover { color: var(--fg); }
.site-footer { border-top: 1px solid var(--border); margin-top: var(--space-12); padding: var(--space-4) 0 var(--space-6); color: var(--fg-muted); font-size: 14px; }
.site-footer .wrap { display: flex; gap: var(--space-3); align-items: center; flex-wrap: wrap; }
.site-footer .logo { width: 36px; }
.site-footer nav { margin-left: auto; display: flex; gap: var(--space-3); }
.site-footer a { color: var(--fg-muted); }

/* Type */
h1, h2, h3 { line-height: 1.15; margin: 0; }
.h1 { font-size: clamp(32px, 5vw, 40px); line-height: 1.1; font-weight: 700; letter-spacing: -.01em; }
.lead { font-size: 18px; line-height: 28px; color: var(--fg-muted); margin: var(--space-2) 0 0; max-width: var(--measure); }
.gt-label { font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fg-accent); }
.gt-mono, code, pre { font-family: var(--font-mono); }
.muted { color: var(--fg-muted); }

/* Pixel kit */
.gt-pixel-rule { display: block; width: 40px; height: 8px; background: linear-gradient(90deg, var(--fg-accent) 8px, transparent 8px) 0 0 / 16px 8px repeat-x; }
.gt-panel { background: var(--bg-panel); border: 1px solid var(--border); border-radius: var(--radius-card); }
.gt-highlight { background: var(--highlight); color: var(--on-accent); padding: 0 .2em; border-radius: 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.gt-status { display: inline-flex; align-items: center; gap: 8px; padding: 3px 10px 3px 8px; border: 1px solid currentColor; border-radius: var(--radius-chip); font: 600 13px/16px var(--font-sans); vertical-align: middle; }
.gt-status svg { width: 10px; height: 10px; flex: none; shape-rendering: crispEdges; fill: currentColor; }
.gt-status--pass { color: var(--status-pass); } .gt-status--warn { color: var(--status-warn); } .gt-status--fail { color: var(--status-fail); } .gt-status--unchecked { color: var(--fg-muted); }
.gt-tag { display: inline-block; vertical-align: middle; font: 600 12px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border: 1px solid var(--border); border-radius: var(--radius-chip); color: var(--fg-accent); }
.gt-step { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: none; background: var(--accent-fill); color: var(--on-accent); font: 600 18px/1 var(--font-mono); }

.gt-evidence { position: relative; margin: var(--space-3) 0; padding: var(--space-3); --c: var(--fg-accent); --p: 8px; --a: 24px; }
.gt-evidence::before, .gt-evidence::after, .gt-evidence > .gt-corners::before, .gt-evidence > .gt-corners::after {
  content: ""; position: absolute; width: var(--a); height: var(--a); pointer-events: none;
  background: linear-gradient(var(--c), var(--c)) 0 0 / var(--a) var(--p) no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / var(--p) var(--a) no-repeat; }
.gt-evidence::before { left: 0; top: 0; } .gt-evidence::after { right: 0; top: 0; transform: scaleX(-1); }
.gt-evidence > .gt-corners::before { left: 0; bottom: 0; transform: scaleY(-1); } .gt-evidence > .gt-corners::after { right: 0; bottom: 0; transform: scale(-1, -1); }
.gt-evidence-tag { display: block; font: 600 12px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 8px; }
.gt-evidence pre { margin: 0; font-size: 15px; line-height: 22px; white-space: pre-wrap; overflow-wrap: anywhere; background: none; padding: 0; }
.gt-evidence > *:last-child { margin-bottom: 0; }
.gt-evidence img { display: block; border: 1px solid var(--border); }

/* Prose */
.prose { max-width: var(--measure); }
.prose > * + * { margin-top: var(--space-2); }
.prose h2 { font-size: 28px; line-height: 34px; font-weight: 700; margin-top: var(--space-6); display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.prose h3 { font-size: 22px; line-height: 28px; font-weight: 600; margin-top: var(--space-4); }
.prose p, .prose li { font-size: 16px; line-height: 24px; }
.prose p, .prose ul, .prose ol { margin-bottom: 0; }
.prose ul { list-style: none; padding: 0; }
.prose ul > li { position: relative; padding-left: 24px; }
.prose ul > li + li, .prose ol > li + li { margin-top: 8px; }
.prose ul > li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 8px; background: var(--fg-accent); }
.prose ol { padding-left: 1.4em; }
.prose code { font-size: .92em; }
.prose :not(pre) > code { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 4px; padding: 0 .3em; }
.prose pre { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 12px; padding: var(--space-2); overflow-x: auto; font-size: 14px; line-height: 21px; }
.prose pre code { background: none; border: 0; padding: 0; }
.prose table { border-collapse: collapse; width: 100%; font-size: 15px; display: block; overflow-x: auto; }
.prose th, .prose td { text-align: left; vertical-align: top; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.prose th { font-weight: 600; }
.prose blockquote { margin-left: 0; padding-left: var(--space-2); border-left: 1px solid var(--border); color: var(--fg-muted); }
.prose hr { border: 0; height: 8px; width: 40px; background: linear-gradient(90deg, var(--fg-accent) 8px, transparent 8px) 0 0 / 16px 8px repeat-x; margin: var(--space-6) 0; }
.gt-note { border: 1px solid var(--border); border-radius: 12px; padding: var(--space-2); color: var(--fg-muted); }
.gt-note > * { margin: 0; } .gt-note > * + * { margin-top: 8px; }

.sop-step { display: grid; grid-template-columns: 40px 1fr; gap: 0 20px; padding: var(--space-3); margin-top: var(--space-3); }
.sop-step__body > * + * { margin-top: 12px; }
.sop-step__body h3 { margin: 6px 0 0; font-size: 22px; line-height: 28px; font-weight: 600; }
.sop-step .gt-evidence { margin: var(--space-2) 0; }
.sop-expect { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { .sop-step { grid-template-columns: 1fr; gap: 12px; padding: var(--space-2); } }

/* Pages */
.page-head { padding: var(--space-8) 0 var(--space-4); }
.page-head .gt-pixel-rule { margin-bottom: var(--space-2); }
.post-meta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: var(--space-3); color: var(--fg-muted); font-size: 14px; }
.post-meta a { color: var(--fg-muted); }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-2); padding: var(--space-3); margin: 0 0 var(--space-4); max-width: var(--measure); }
.facts dt { font: 600 12px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-accent); }
.facts dd { margin: 4px 0 0; }
.notice { max-width: var(--measure); margin-bottom: var(--space-3); }

.hero { padding: var(--space-12) 0 var(--space-8); display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--space-6); align-items: center; }
.hero-copy .gt-label { margin: var(--space-2) 0 var(--space-3); }
.hero h1 { font-size: clamp(38px, 4.6vw, 54px); line-height: 1.04; font-weight: 700; letter-spacing: -.015em; }
.hero .lead { margin-top: var(--space-3); }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin: var(--space-4) 0 0; }
.btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: var(--radius-chip); background: var(--accent-fill); color: var(--on-accent); font-weight: 600; text-decoration: none; border: 1px solid var(--accent-fill); }
.btn:hover { text-decoration: none; filter: brightness(1.05); }
.btn--ghost { background: transparent; color: var(--fg); border-color: var(--border); }
.btn--ghost:hover { border-color: var(--fg-accent); }
.hero-demo { margin: 0; padding: var(--space-3); display: flex; flex-direction: column; gap: var(--space-2); }
.hero-demo__head { display: flex; align-items: center; gap: 12px; }
.hero-demo__head .logo { width: 30px; }
.hero-demo .gt-evidence { margin: 0; }
.hero-demo .gt-evidence pre { font-size: 18px; line-height: 30px; }
.hero-demo figcaption { color: var(--fg); }
.hero-demo__status { margin: 0; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-size: 14px; }
@media (max-width: 860px) { .hero { grid-template-columns: 1fr; gap: var(--space-6); padding: var(--space-8) 0 var(--space-6); } }

.gt-scales { display: block; width: 100%; height: 44px; fill: var(--fg-accent); shape-rendering: crispEdges; }
.pillars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.pillar { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.pillar h3 { font-size: 22px; line-height: 28px; font-weight: 600; }
.pillar p { margin: 0; color: var(--fg-muted); }
.pillar a { font-weight: 600; margin-top: auto; }
@media (max-width: 760px) { .pillars { grid-template-columns: 1fr; } }
.soon { padding: var(--space-4); }
.soon h2 { font-size: 28px; font-weight: 700; margin: var(--space-2) 0 8px; }
.soon p { margin: 0; color: var(--fg-muted); max-width: var(--measure); }

.section { margin-top: var(--space-8); }
.section-head { display: flex; align-items: baseline; gap: var(--space-2); justify-content: space-between; flex-wrap: wrap; margin-bottom: var(--space-3); }
.section-head h2 { font-size: 28px; font-weight: 700; }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-3); list-style: none; padding: 0; margin: 0; }
.card { padding: var(--space-3); display: flex; flex-direction: column; gap: 8px; position: relative; }
.card h3 { font-size: 20px; line-height: 26px; font-weight: 600; }
.card h3 a { color: var(--fg); text-decoration: none; }
.card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--radius-card); }
.card:hover { border-color: var(--fg-accent); }
.card:focus-within { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.card h3 a:focus-visible { outline: none; }
.card p { margin: 0; color: var(--fg-muted); }
.card .meta { margin-top: auto; padding-top: 8px; font-size: 13px; color: var(--fg-muted); display: flex; gap: 8px; flex-wrap: wrap; }
.empty { color: var(--fg-muted); }
.tags { display: flex; gap: 8px; flex-wrap: wrap; }
.tags a { text-decoration: none; }
.pager { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-8); max-width: var(--measure); flex-wrap: wrap; }
.pager a { text-decoration: none; display: block; max-width: 45%; }
.pager span { display: block; font-size: 13px; color: var(--fg-muted); }

.admin-banner { background: var(--accent-fill); color: var(--on-accent); font-weight: 600; font-size: 14px; padding: 8px 0; }

/* Evidence inside prose keeps its own frame (no code-block box) */
.prose .gt-evidence pre { background: none; border: 0; border-radius: 0; padding: 0; font-size: 15px; line-height: 22px; }
.prose li > input[type="checkbox"] { margin: 0 8px 0 0; accent-color: var(--fg-accent); }
.prose li:has(> input[type="checkbox"])::before { display: none; }
.prose li:has(> input[type="checkbox"]) { padding-left: 0; }

/* Standalone pages (Services) */
.prose--page { max-width: none; }
.prose--page > :not(.services):not(.cta) { max-width: var(--measure); }
.services { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.service { padding: var(--space-4); display: flex; flex-direction: column; gap: 12px; scroll-margin-top: var(--space-3); }
.service > * { margin: 0; }
.prose .service h2 { margin: 0; font-size: 24px; line-height: 30px; }
.service__summary { color: var(--fg-accent); font-weight: 600; }
.service p { color: var(--fg-muted); }
.cta { padding: var(--space-4); margin-top: var(--space-6); max-width: var(--measure); }
.cta > * { margin: 0; } .cta > * + * { margin-top: var(--space-2); }
.cta .btn { color: var(--on-accent); }

.section-sub { margin: 6px 0 0; color: var(--fg-muted); }

.cards--services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .cards--services, .services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .cards--services, .services { grid-template-columns: 1fr; } }


/* Organic design system from owner-supplied export. */
/* Organic — design-system tokens and component classes. This file is the source of truth for the system's look; retune it here and see readme.md. */
@font-face {
  font-family: 'Caprasimo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/caprasimo-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/figtree-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/figtree-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/figtree-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-bg: #f5ead8;
  --color-surface: #ebddc5;
  --color-text: #201e1d;
  --color-accent: #c67139;
  --color-accent-2: #7a8a5e;
  --color-divider: color-mix(in srgb, #201e1d 16%, transparent);

  /* Tonal ramps — generated in OKLCH on one shared lightness scale, so the
     same step of any role matches the others in visual value. */
  --color-neutral-100: #f9f4ed;
  --color-neutral-200: #eee7db;
  --color-neutral-300: #dcd3c4;
  --color-neutral-400: #c0b6a5;
  --color-neutral-500: #a19786;
  --color-neutral-600: #82796a;
  --color-neutral-700: #645c50;
  --color-neutral-800: #474238;
  --color-neutral-900: #2e2b25;

  --color-accent-100: #fff2eb;
  --color-accent-200: #ffe1d0;
  --color-accent-300: #ffc6a5;
  --color-accent-400: #f6a06b;
  --color-accent-500: #d67f48;
  --color-accent-600: #b2622d;
  --color-accent-700: #8c491a;
  --color-accent-800: #643312;
  --color-accent-900: #402310;

  --color-accent-2-100: #f0fae1;
  --color-accent-2-200: #e1eecc;
  --color-accent-2-300: #ccdbb2;
  --color-accent-2-400: #aebf92;
  --color-accent-2-500: #8fa073;
  --color-accent-2-600: #728157;
  --color-accent-2-700: #56633f;
  --color-accent-2-800: #3d472b;
  --color-accent-2-900: #272e1b;

  --font-heading: "Caprasimo", system-ui, sans-serif;
  --font-heading-weight: 400;
  --font-body: "Figtree", system-ui, sans-serif;

  --space-1: 4.4px;
  --space-2: 8.8px;
  --space-3: 13.2px;
  --space-4: 17.6px;
  --space-6: 26.4px;
  --space-8: 35.2px;

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;

  /* Elevation — derived from the ground: soft ink-tinted shadows on a
     light theme, a hairline edge + ambient darkness on a dark one. */
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2e2b25 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2e2b25 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2e2b25 22%, transparent);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }

.washed{filter:saturate(0.6) contrast(0.85) brightness(1.1) opacity(0.94)}

/* ══════════════════════════════════════════════════════════════════════════
   Components — built with the tokens above. Plain CSS
   on plain HTML: no JavaScript, no build step. Each class is documented in
   readme.md and demonstrated in foundations/ and components/.
   ══════════════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
figcaption {
  font-size: 11px; margin-top: var(--space-1);
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

/* — rules — */
.hr {
  height: 1px; border: 0; margin: var(--space-4) 0;
  background: var(--color-divider);
}

/* — buttons — */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text); /* matches the .input's 14px —
     the pair sits side by side in sign-up rows */
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0; }
.btn-block { width: 100%; margin-top: var(--space-2); }

/* — forms — */
.field > label {
  display: block; font-size: 12px; margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
.input {
  width: 100%; min-height: 36px; padding: 6px 10px; font: inherit;
  font-size: 14px; color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input {
  position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}
.radio .dot {
  width: 16px; height: 16px; flex: none; border-radius: 50%;
  border: 1.5px solid var(--color-divider);
}
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot {
  border-color: var(--color-accent); background: var(--color-accent);
  box-shadow: inset 0 0 0 4px var(--color-bg);
}
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg {
  display: inline-flex; overflow: hidden;
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.seg-opt {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 13px; cursor: pointer;
}
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }

/* — cards — */
.card {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface);
}
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 17px; line-height: 1.2;
}
.card-body { margin: 0; font-size: 13px; opacity: 0.8; flex: 1; }
.card-meta {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent);
}
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }

/* — tags — */
.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }

/* — navigation — */
.nav {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-bottom: none;
}
.nav-brand {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 18px; margin-right: auto;
}
.nav a { color: inherit; text-decoration: none; font-size: 14px; }
.nav a:hover, .nav a[aria-current='page'] { color: var(--color-accent); }

/* — tables — */
.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
  text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: var(--space-2); border-bottom: 1px solid var(--color-divider);
}
.table td {
  padding: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
}
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }

/* — dialog — */
.dialog-backdrop {
  position: fixed; inset: 0; display: grid; place-items: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
}
.dialog {
  width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--color-surface); box-shadow: var(--shadow-lg);
}
.dialog-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 20px;
}
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }

/* — rounded frame: everything softens, small controls go pill — */
.card, .dialog { border-radius: calc(var(--radius-lg) * 1.15); }
.btn, .tag, .seg, .input { border-radius: 999px; }
.input { padding-inline: 14px; }


/* GreenTetra Home — adapted from the supplied Organic design export. */
:root{--ink:#272e1b;--paper:#f9f4ed;--mint:#e1eecc;--muted:#474238;--line:color-mix(in srgb,#201e1d 16%,transparent);--max:1328px;--font:var(--font-body);--mono:Consolas,"Courier New",monospace}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--color-bg)}
body{font-size:17px;line-height:1.6;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);font-synthesis:none}
*{box-sizing:border-box}img{max-width:100%;height:auto}a{color:var(--color-accent-2-700);text-underline-offset:4px}a:hover{color:var(--color-accent-2-900)}
h1,h2,h3{font-family:var(--font-heading);font-weight:400;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(42px,6vw,76px)}h2{font-size:clamp(30px,3.3vw,44px)}h3{font-size:26px}
p{margin:0 0 1em}p:last-child{margin-bottom:0}.wrap{width:min(calc(100% - 112px),var(--max));margin-inline:auto}[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--color-accent-700);outline-offset:5px;border-radius:4px}::selection{background:var(--color-accent-300);color:var(--color-neutral-900)}
.skip{position:fixed;z-index:100;top:-100px;left:20px;background:var(--color-neutral-100);color:var(--ink);padding:12px 20px;border-radius:99px}.skip:focus{top:12px}
.eyebrow{font:700 13px/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-2-700);margin-bottom:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 26px;border:1px solid transparent;border-radius:999px;background:var(--color-accent);color:var(--color-neutral-100);font:600 16px/1.3 var(--font-body);text-decoration:none;cursor:pointer;transition:background .18s,color .18s}
.button:hover{background:var(--color-accent-700);color:var(--color-neutral-100)}.button-ghost{background:transparent;color:var(--paper);border-color:color-mix(in srgb,var(--paper) 35%,transparent)}.button-ghost:hover{background:var(--paper);color:var(--ink)}
.text-link{display:inline-flex;gap:8px;font-weight:600;text-decoration:underline}.muted,.micro{color:var(--color-neutral-800)}.micro{font-size:13px}
.site-header{background:var(--ink);color:var(--paper)}.nav{padding:24px 0;gap:32px;min-height:96px;border:0}.nav .nav-brand{font:400 25px/1.2 var(--font-heading);color:var(--paper);white-space:nowrap;margin-right:auto;text-decoration:none}.nav-links{display:flex;gap:30px;align-items:center}.nav a{color:var(--paper);font-size:15px;white-space:nowrap}.nav .nav-links a:hover,.nav .nav-links a[aria-current=page]{color:var(--color-accent-2-200);text-decoration:underline}.nav .nav-cta{background:var(--paper);color:var(--ink);font-size:15px;padding:10px 20px;min-height:44px}.nav .nav-cta:hover{background:var(--color-accent-2-200);color:var(--ink)}
.hero{background:var(--ink);color:var(--paper);overflow:hidden;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);min-height:520px;position:relative}.hero-copy{padding:72px 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:24px;position:relative;z-index:1;min-width:0}.hero h1{font-size:clamp(56px,7vw,96px);line-height:1;letter-spacing:-.025em;margin:0;color:var(--paper)}.hero .lede{margin:0;font-size:19px;line-height:1.55;max-width:44ch;color:var(--color-accent-2-200)}.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-scales{background-image:radial-gradient(circle at 50% 100%,transparent 21px,var(--color-accent-2-700) 22px,var(--color-accent-2-700) 24px,transparent 25px),radial-gradient(circle at 50% 100%,transparent 21px,var(--color-accent-2-700) 22px,var(--color-accent-2-700) 24px,transparent 25px);background-size:48px 24px;background-position:0 0,24px 12px;-webkit-mask-image:linear-gradient(115deg,transparent 15%,#000 70%);mask-image:linear-gradient(115deg,transparent 15%,#000 70%)}
.explain-section{padding-block:72px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.explain-section h2{font-size:40px;margin:0 0 12px}.section-copy{font-size:16px;color:var(--color-neutral-800);max-width:48ch}.example-card{background:var(--color-surface);border-radius:28px;padding:28px;display:grid;gap:14px}.example-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700}.example-card pre{margin:0;background:var(--color-neutral-100);padding:14px 18px;border-radius:16px;font:14px/1.6 var(--mono);overflow:auto}.example-card p{font-size:15px;margin:0}.example-card .example-label{font-size:12px;color:var(--color-neutral-700)}
.services-section{padding-block:72px 48px}.services-section>h2{font-size:40px;margin-bottom:28px}.service-list{display:grid}.service-row{display:grid;grid-template-columns:48px 260px minmax(0,1fr) 24px;gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line);color:var(--color-text);text-decoration:none}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{margin:0;font-size:26px}.service-row p{margin:0;font-size:16px;color:var(--color-neutral-800)}.service-row:hover h3{text-decoration:underline;text-underline-offset:6px}.service-dots{display:grid;grid-template-columns:7px 7px;gap:2px;align-self:center}.service-dots i{width:7px;height:7px;border-radius:50%;background:var(--color-accent-2-500)}.service-dots i:last-child{grid-column:1 / 3;margin-left:4px}.service-arrow{font-weight:700;color:var(--color-accent-2-700)}
.sharing-band{background:var(--ink);padding-block:72px 80px}.sharing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sharing-card{display:flex;flex-direction:column;gap:8px;border-radius:28px;background:color-mix(in srgb,var(--paper) 8%,var(--color-accent-2-700));border:1px solid color-mix(in srgb,var(--paper) 18%,var(--color-accent-2-700));padding:28px;text-decoration:none}.sharing-card>span{font-size:13px;font-weight:700;color:var(--color-accent-2-200)}.sharing-card h3{margin:0;font-size:24px;color:var(--paper)}.sharing-card p{margin:0;font-size:15px;color:var(--color-accent-2-100)}.sharing-card:hover{background:var(--color-accent-2-800);border-color:var(--color-accent-2-300)}
.site-footer{border-top:1px solid var(--line);padding-block:28px;color:var(--color-neutral-700);font-size:14px;background:var(--color-bg)}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-grid p{margin:0}.footer-grid nav{display:flex;gap:20px}.footer-grid .fine{font-size:13px}.footer-grid a{color:inherit}
.page-heading{padding-block:64px 40px;border-bottom:1px solid var(--line);margin-bottom:40px}.page-heading h1{max-width:22ch;margin-bottom:22px}.page-heading .lede{max-width:65ch;font-size:20px;color:var(--color-neutral-800)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;padding-bottom:48px}.content-layout.has-aside{grid-template-columns:minmax(0,1fr) 260px}.prose{max-width:72ch;font-size:17px;color:var(--color-neutral-800);overflow-wrap:anywhere}.prose h2,.prose h3,.prose strong{color:var(--color-text)}.prose h2{font-size:30px;margin-top:1.7em}.prose h3{font-size:24px;margin-top:1.6em}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.5em}.prose code{font-family:var(--mono);font-size:.9em;background:var(--color-surface);padding:2px 5px;border-radius:4px}.prose pre{padding:20px;border-radius:16px;background:var(--color-neutral-100);border:1px solid var(--line);overflow:auto}.prose pre code{background:transparent;padding:0}.prose table{display:block;width:100%;overflow:auto;border-collapse:collapse;font-size:15px}.prose td,.prose th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.prose blockquote{margin:24px 0;padding:20px 24px;background:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:0 16px 16px 0}.sources{padding:24px;background:var(--color-surface);border-radius:20px;margin-top:48px}.sources h2{font-size:24px;margin-top:0}.sources p,.sources ul{font-size:14px}.sources a{word-break:break-all}
.article-aside{position:sticky;top:24px;align-self:start;padding:24px;border-radius:24px;border:1px solid var(--line);background:var(--color-surface)}.article-aside a{display:block;padding-block:8px;font-weight:600}.aside-motto{font-family:var(--font-heading);font-size:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.status-note{padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:var(--color-surface);font-size:14px;margin-bottom:32px}.status-pending{background:var(--color-accent-100);color:var(--color-accent-900);border-color:var(--color-accent-300)}
.contact-section{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;padding-bottom:64px}.form-card{display:grid;gap:20px;background:var(--color-surface);border-radius:28px;padding:36px}.form-card h2{font-size:30px;margin:0}.form-card>p{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card label{display:flex;flex-wrap:wrap;gap:8px;font-weight:600;font-size:14px}.optional{font-weight:400;color:var(--color-neutral-700)}.form-card input,.form-card textarea{width:100%;border:1px solid var(--color-neutral-600);border-radius:12px;background:var(--color-neutral-100);color:var(--color-text);padding:12px 14px;font:400 16px/1.4 var(--font-body)}.form-card textarea{resize:vertical}.form-card .button{justify-self:start}.form-card .micro{font-size:13px}#form-status:empty{display:none}#form-status{font-weight:600;color:var(--color-accent-2-800)}.contact-aside{border-radius:28px;background:var(--ink);color:var(--paper);padding:36px;display:flex;flex-direction:column;gap:18px}.contact-aside h2{font-size:34px}.contact-aside p,.contact-aside .eyebrow{color:var(--color-accent-2-200)}.contact-email{color:var(--paper);font-weight:600;overflow-wrap:anywhere;margin-top:auto}.contact-email:hover{color:var(--color-accent-2-200)}.layout-contact .closing{display:none}
.library-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:64px;scroll-margin-top:24px}.library-card{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:28px;background:var(--color-surface);border:1px solid var(--line);text-decoration:none;color:var(--color-text)}.library-card:hover{background:var(--color-neutral-100);border-color:var(--color-accent-2-600)}.library-card h2{font-size:25px;margin:0}.library-card p{font-size:15px;color:var(--color-neutral-800);flex:1}.badge{align-self:flex-start;border-radius:999px;padding:5px 12px;background:var(--color-accent-2-100);color:var(--color-accent-2-800);font-size:12px;font-weight:600}.kind-journal .badge{background:var(--color-accent-100);color:var(--color-accent-800)}.library-card .text-link{font-size:14px}
.closing{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-block:32px 64px;padding:40px;border-radius:28px;background:var(--ink);color:var(--paper)}.closing h2{font-size:36px;margin:0}.closing .eyebrow{color:var(--color-accent-2-200)}
@media(min-width:1600px){.hero-grid{min-height:560px}}
@media(max-width:1100px){.nav-links{gap:20px}.nav{gap:24px}.service-row{grid-template-columns:30px 220px minmax(0,1fr) 20px;gap:20px}.explain-section{gap:40px}.library-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.nav{flex-wrap:wrap;gap:20px;padding-block:24px}.nav .nav-brand{margin-right:auto}.nav-links{gap:20px;order:3;width:100%;justify-content:space-between}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding-block:64px;max-width:700px}.hero h1{font-size:clamp(48px,9vw,80px)}.hero-scales{position:absolute;right:-10%;top:0;width:70%;height:100%;opacity:.32;pointer-events:none}.hero .lede{max-width:42ch}.explain-section{grid-template-columns:1fr;gap:32px;padding-top:56px}.explain-section h2{max-width:20ch}.services-section{padding-top:56px}.sharing-grid{grid-template-columns:1fr;gap:20px}.sharing-card{padding:28px}.sharing-band{padding-block:48px}.service-row{grid-template-columns:24px 180px minmax(0,1fr) 20px;gap:18px}.service-row h3{font-size:24px}.content-layout.has-aside{grid-template-columns:1fr}.article-aside{position:static}.contact-section{grid-template-columns:1fr}.closing{flex-wrap:wrap}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.nav{padding-block:20px;gap:20px}.nav .nav-brand{font-size:23px}.nav .nav-cta{font-size:14px;padding:10px 18px}.nav-links{gap:8px}.nav .nav-links a{font-size:14px}.hero-copy{padding-block:52px;gap:24px}.hero h1{font-size:clamp(42px,10.5vw,64px);overflow-wrap:normal}.hero .lede{font-size:17px;max-width:34ch}.hero-scales{right:-40%;width:110%;opacity:.2}.button{font-size:15px;padding:13px 21px}.explain-section{padding-block:48px 16px}.explain-section h2,.services-section>h2{font-size:32px}.example-card{padding:22px;gap:14px}.example-heading{font-size:14px;flex-wrap:wrap}.example-card pre{padding:14px;font-size:13px}.services-section{padding-block:48px 40px}.service-row{grid-template-columns:22px minmax(0,1fr) 18px;gap:12px;padding-block:24px;align-items:start}.service-row h3{grid-column:2;font-size:25px}.service-row p{grid-column:2;grid-row:2;font-size:15px}.service-dots{grid-row:1;align-self:center}.service-arrow{grid-column:3;grid-row:1;align-self:center}.sharing-band{padding-block:40px 48px}.sharing-card h3{font-size:26px}.sharing-grid{gap:16px}.footer-grid{display:grid;gap:16px;font-size:13px}.footer-grid nav{gap:24px}.page-heading{padding-block:44px 28px;margin-bottom:28px}.page-heading h1{font-size:40px;overflow-wrap:anywhere}.page-heading .lede{font-size:18px}.content-layout{padding-bottom:28px}.prose{font-size:16px}.prose h2{font-size:28px}.form-grid{grid-template-columns:1fr}.form-card,.contact-aside{padding:24px}.contact-aside h2{font-size:30px}.library-cards{grid-template-columns:1fr;gap:18px}.library-card{padding:24px}.closing{padding:28px;gap:24px}.closing h2{font-size:30px}.closing .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* Existing publishing components use these semantic aliases. */
.hero-pillars h1{font-size:clamp(36px,4.1vw,60px);max-width:none}.hero-copy>.eyebrow{color:var(--color-accent-2-200);margin:0}.hero-pillars .hero-copy{padding-block:64px}.security-paths{padding-block:12px 56px}.security-paths .section-heading{display:block;margin-bottom:28px}.security-paths h2{max-width:24ch}.security-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.security-path-card{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);border-radius:28px;background:var(--color-surface);padding:32px;text-decoration:none;color:var(--color-text)}.security-path-card:hover{background:var(--color-neutral-100);border-color:var(--color-accent-2-700)}.security-path-card h3{font-size:30px;margin:0}.security-path-card p{color:var(--color-neutral-800);font-size:16px;flex:1}.security-path-card .eyebrow{margin:0}.security-path-card .text-link{font-size:15px}.explain-section{padding-bottom:64px}.landing-hero{background:var(--ink);color:var(--paper);padding-block:64px}.landing-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:center}.landing-hero .eyebrow,.landing-back{color:var(--color-accent-2-200)}.landing-back{display:inline-block;font-size:14px;margin-bottom:28px}.landing-hero h1{font-size:clamp(40px,5vw,64px);max-width:19ch;color:var(--paper)}.landing-hero .lede{font-size:19px;max-width:50ch;color:var(--color-accent-2-200);margin-block:24px 28px}.landing-note{padding:28px;border:1px solid var(--color-accent-2-600);border-radius:28px;background:var(--color-accent-2-800)}.landing-note h2{font-size:32px;color:var(--paper)}.landing-note p{color:var(--color-accent-2-100)}.landing-content{padding-block:16px 64px;scroll-margin-top:24px}.landing-content .prose{max-width:800px}.landing-content .cta{margin-block:40px}.landing-content .prose>h2:first-child{margin-top:40px}.site-footer .footer-grid nav{flex-wrap:wrap;gap:12px 20px}
@media(max-width:900px){.landing-grid{grid-template-columns:1fr;gap:32px}.landing-note{max-width:650px}}
@media(max-width:600px){.hero-pillars h1{font-size:clamp(36px,9.5vw,52px)}.hero-pillars .hero-copy{padding-block:48px}.security-path-grid{grid-template-columns:1fr;gap:18px}.security-path-card{padding:24px}.security-path-card h3{font-size:27px}.security-paths{padding-bottom:0}.landing-hero{padding-block:40px}.landing-hero h1{font-size:38px}.landing-note{padding:24px}.landing-note h2{font-size:28px}.landing-hero .lede{font-size:18px}.landing-hero .actions .button{width:100%}.explain-section{padding-block:48px}}
:root,[data-theme="light"]{--bg:var(--color-bg);--bg-panel:var(--color-surface);--fg:var(--color-text);--fg-muted:var(--color-neutral-800);--fg-accent:var(--color-accent-2-700);--accent-fill:var(--color-accent);--on-accent:var(--color-neutral-100);--border:var(--color-divider);--focus-ring:var(--color-accent-700);--highlight:var(--color-accent-300);--status-pass:#3d472b;--status-warn:#8c491a;--status-fail:#9d2d21;--logo:var(--color-accent-2-700);--font-sans:var(--font-body);--font-mono:Consolas,"Courier New",monospace;--measure:720px;color-scheme:light}
.wrap{padding-inline:0;max-width:none}.site-header>.nav{padding-block:24px;min-height:96px;gap:32px}.nav-links{margin-left:0}.hero{padding:0;display:block}.hero-copy .actions{margin:0}.site-footer{margin-top:0}.site-footer .footer-grid{padding-block:0}.site-footer .footer-grid nav{margin-left:0}.site-footer .footer-grid a{color:inherit}.nav .nav-links a{border:0;padding:0}.h1{font-family:var(--font-heading);font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.1}.page-head{padding-block:64px 40px}.page-head .lead{font-size:19px}.section-head h2{font-family:var(--font-heading);font-weight:400;font-size:32px}.gt-label{color:var(--fg-accent)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.cards .card h3{font-family:var(--font-heading);font-weight:400;font-size:25px;line-height:1.2}.cards .card h3 a{color:var(--fg)}.gt-highlight{color:var(--color-accent-900)}.gt-note{background:var(--color-surface)}.sop-step{background:var(--color-surface)}.gt-pixel-rule{height:3px;width:36px;background:var(--fg-accent);border-radius:4px}.gt-evidence{background:var(--color-neutral-100)}.gt-evidence-tag{color:var(--color-accent-2-700)}.gt-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere}.prose ul{list-style:disc;padding-left:1.3em}.prose ul>li{padding-left:0}.prose ul>li::before{display:none}.prose .service h2{font-family:var(--font-heading);font-weight:400}.gt-panel{border-color:var(--border)}.btn{background:var(--accent-fill);border-color:transparent;color:var(--on-accent);border-radius:999px;font-family:var(--font-body)}.prose a.btn{color:var(--on-accent)}.post-meta{font-size:14px}.facts{margin-top:24px}.empty{padding-bottom:48px}.pager{margin-bottom:48px}
@media(max-width:900px){.site-header>.nav{gap:20px;padding-block:24px}.page-head{padding-top:48px}}
@media(max-width:600px){.site-header>.nav{gap:20px;padding-block:20px;min-height:0}.site-footer .footer-grid{display:grid}.page-head{padding-block:40px 28px}.cards .card{padding:24px}.prose{font-size:16px}.gt-evidence{padding:16px}.gt-evidence-tag{position:static;display:block;margin-bottom:12px}.sop-step{min-width:0}.facts{padding:20px}.services .service{padding:24px}}
