/* Generated from data/design.json and data/site.json. Edit those sources. */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400 800; font-display: swap; src: url('../assets/fonts/manrope-latin.woff2?v=a30ddcd34970') format('woff2'); }
@font-face { font-family: 'DM Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/dm-serif-latin.woff2?v=fdf61e20fd2c') format('woff2'); }
@font-face { font-family: 'DM Serif Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('../assets/fonts/dm-serif-italic-latin.woff2?v=ed8b291611e3') format('woff2'); }
:root {
  color-scheme: light;
--paper: #f4f0e8;--surface: #eae4d8;--ink: #292924;--muted: #686259;--rule: #d6cfc3;--accent: #ad371f;--accent-soft: #ead2c4;--button: #292924;--button-text: #f4f0e8;--on-accent: #f4f0e8;--feature-paper: #282723;--feature-ink: #f4eee4;--feature-muted: #c0b6a8;--feature-rule: #555044;--feature-accent: #f29c80;--feature-button: #f4eee4;--feature-button-text: #282723;--feature-on-accent: #282723;  --header: rgba(244, 240, 232, 0.94);
  --sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --serif: 'DM Serif Display', Georgia, serif;
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --max-width: 1280px;
  --gutter-min: 22px;
  --gutter: clamp(22px, 5vw, 80px);
  --section-space: clamp(64px, 8vw, 96px);
  --mobile-section-space: 54px;
  --reveal-duration: 500ms;
  --arrival-duration: 600ms;
  --reveal-distance: 16px;
--identity-name: 25px;--identity-mobile-name: 23px;--identity-compact-name: 21px;--identity-role: 15px;--identity-mobile-role: 12px;--identity-employer: 15px;--identity-mobile-employer: 13px;--identity-row-gap: 8px;--identity-mobile-row-gap: 6px;--identity-portrait: 88px;--identity-mobile-portrait: 72px;--type-body: 17px;--type-mobile-body: 16px;--type-note-title: 24px;--type-mobile-note-title: 22px;--type-case-body: 17px;  --ease: cubic-bezier(.22, 1, .36, 1);
}
[data-theme='dark'] {
  color-scheme: dark;
--paper: #23221f;--surface: #302c27;--ink: #f4eee4;--muted: #c0b6a8;--rule: #50493e;--accent: #f29c80;--accent-soft: #4c342b;--button: #f4eee4;--button-text: #23221f;--on-accent: #23221f;  --header: rgba(35, 34, 31, 0.94);
}

/* Diagram coordinates stay configurable without inline styles. */
.map-node--source { --x: 8%; --y: 50%; }
.map-node--router { --x: 34%; --y: 50%; }
.map-node--primary { --x: 64%; --y: 26%; }
.map-node--standby { --x: 64%; --y: 76%; }
.map-node--data { --x: 92%; --y: 50%; }
