/* HcFlows design system: tokens, components, layout. Source: design system artifact. */
body{margin:0}
img{max-width:100%}
:root{--bg:#0e0b1a;--surface:#151027;--surface-raised:#1d1734;--brand-soft:#241a45;--line:#2c2449;--line-strong:#6f62a6;--ink:#f1edfc;--ink-muted:#a9a1c6;--brand:#7c3aed;--brand-hover:#6a2bd8;--on-brand:#ffffff;--brand-text:#b79cff;--spark:#ffc861;--on-spark:#1c1300;--spark-text:#ffc861;--success:#5fd4a0;--danger:#ff8f8f;--focus:#c4b5fd;--shadow-node:0 1px 0 0 rgba(255,255,255,0.04), 0 12px 32px -12px rgba(0,0,0,0.6);--shadow-glow:0 0 0 1px rgba(124,58,237,0.55), 0 10px 40px -8px rgba(124,58,237,0.55);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--font-display:"Sora", "Geist", system-ui, sans-serif;--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:dark}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--bg:#f8f6fd;--surface:#ffffff;--surface-raised:#f1edfb;--brand-soft:#ede5ff;--line:#e3ddf2;--line-strong:#8f84ad;--ink:#17122b;--ink-muted:#574f72;--brand:#7c3aed;--brand-hover:#6a2bd8;--on-brand:#ffffff;--brand-text:#6d28d9;--spark:#ffc861;--on-spark:#1c1300;--spark-text:#8a5200;--success:#0f7b52;--danger:#c2283b;--focus:#6d28d9;--shadow-node:0 1px 2px 0 rgba(23,18,43,0.06), 0 12px 32px -14px rgba(76,29,149,0.22);--shadow-glow:0 0 0 1px rgba(124,58,237,0.45), 0 10px 30px -10px rgba(124,58,237,0.45);color-scheme:light}}
:root[data-theme="light"]{--bg:#f8f6fd;--surface:#ffffff;--surface-raised:#f1edfb;--brand-soft:#ede5ff;--line:#e3ddf2;--line-strong:#8f84ad;--ink:#17122b;--ink-muted:#574f72;--brand:#7c3aed;--brand-hover:#6a2bd8;--on-brand:#ffffff;--brand-text:#6d28d9;--spark:#ffc861;--on-spark:#1c1300;--spark-text:#8a5200;--success:#0f7b52;--danger:#c2283b;--focus:#6d28d9;--shadow-node:0 1px 2px 0 rgba(23,18,43,0.06), 0 12px 32px -14px rgba(76,29,149,0.22);--shadow-glow:0 0 0 1px rgba(124,58,237,0.45), 0 10px 30px -10px rgba(124,58,237,0.45);color-scheme:light}
:root[data-theme="dark"]{--bg:#0e0b1a;--surface:#151027;--surface-raised:#1d1734;--brand-soft:#241a45;--line:#2c2449;--line-strong:#6f62a6;--ink:#f1edfc;--ink-muted:#a9a1c6;--brand:#7c3aed;--brand-hover:#6a2bd8;--on-brand:#ffffff;--brand-text:#b79cff;--spark:#ffc861;--on-spark:#1c1300;--spark-text:#ffc861;--success:#5fd4a0;--danger:#ff8f8f;--focus:#c4b5fd;--shadow-node:0 1px 0 0 rgba(255,255,255,0.04), 0 12px 32px -12px rgba(0,0,0,0.6);--shadow-glow:0 0 0 1px rgba(124,58,237,0.55), 0 10px 40px -8px rgba(124,58,237,0.55);color-scheme:dark}
.display-xl{font-family:var(--font-display);font-size:64px;line-height:68px;font-weight:600;letter-spacing:-0.03em;}
.display-l{font-family:var(--font-display);font-size:44px;line-height:50px;font-weight:600;letter-spacing:-0.025em;}
.heading-1{font-family:var(--font-display);font-size:32px;line-height:38px;font-weight:600;letter-spacing:-0.02em;}
.heading-2{font-family:var(--font-display);font-size:24px;line-height:30px;font-weight:600;letter-spacing:-0.015em;}
.heading-3{font-family:var(--font-sans);font-size:18px;line-height:26px;font-weight:600;letter-spacing:-0.005em;}
.body-l{font-family:var(--font-sans);font-size:18px;line-height:29px;font-weight:400;letter-spacing:0;}
.body{font-family:var(--font-sans);font-size:16px;line-height:26px;font-weight:400;letter-spacing:0;}
.body-s{font-family:var(--font-sans);font-size:14px;line-height:22px;font-weight:400;letter-spacing:0;}
.label{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;}
.code{font-family:var(--font-mono);font-size:14px;line-height:22px;font-weight:400;letter-spacing:0;}

/* HcFlows components. Every value comes from tokens.css custom properties. */
.hf-root, .hf-root body { background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 26px; }
.hf-icon { width: 20px; height: 20px; flex: none; }
.hf-eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-text); }

/* Button */
.hf-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); height: 44px; padding: 0 20px; border-radius: var(--radius-md); border: 1px solid transparent; font: 600 15px/1 var(--font-sans); letter-spacing: -.005em; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background-color .15s, border-color .15s, box-shadow .2s, color .15s; }
.hf-btn .hf-icon { width: 18px; height: 18px; }
.hf-btn:focus-visible, .hf-input:focus-visible, .hf-switch button:focus-visible, .hf-nav a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.hf-btn--primary { background: var(--brand); color: var(--on-brand); }
.hf-btn--primary:hover { background: var(--brand-hover); box-shadow: var(--shadow-glow); }
.hf-btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.hf-btn--secondary:hover { background: var(--surface-raised); border-color: var(--brand-text); }
.hf-btn--ghost { background: transparent; color: var(--brand-text); padding: 0 12px; }
.hf-btn--ghost:hover { background: var(--brand-soft); }
.hf-btn--sm { height: 36px; padding: 0 14px; font-size: 14px; }
.hf-btn--lg { height: 52px; padding: 0 26px; font-size: 16px; }
.hf-btn[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* Badge */
.hf-badge { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: var(--radius-pill); font: 500 12px/1 var(--font-mono); letter-spacing: .04em; border: 1px solid var(--line); background: var(--surface); color: var(--ink-muted); white-space: nowrap; }
.hf-badge--brand { background: var(--brand-soft); color: var(--brand-text); border-color: transparent; }
.hf-badge--spark { background: transparent; color: var(--spark-text); border-color: var(--line); }
.hf-badge--success { color: var(--success); }
.hf-badge--danger { color: var(--danger); }
.hf-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.hf-badge--spark .hf-dot { background: var(--spark); box-shadow: 0 0 0 3px color-mix(in srgb, var(--spark) 25%, transparent); }

/* Flow node + pipeline: the signature component */
.hf-flow { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0; }
.hf-node { position: relative; display: grid; grid-template-columns: 40px 1fr; gap: 4px 12px; align-items: center; min-width: 180px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-node); }
.hf-node__icon { grid-row: span 2; width: 40px; height: 40px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--surface-raised); color: var(--brand-text); }
.hf-node__label { font: 500 11px/14px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
.hf-node__title { font: 600 15px/20px var(--font-sans); color: var(--ink); }
.hf-node::before, .hf-node::after { content: ""; position: absolute; top: 50%; width: 9px; height: 9px; margin-top: -5px; border-radius: 50%; background: var(--bg); border: 2px solid var(--line-strong); }
.hf-node::before { left: -6px; } .hf-node::after { right: -6px; }
.hf-node--first::before, .hf-node--last::after { display: none; }
.hf-node--guard { border-color: var(--brand); background: var(--brand-soft); }
.hf-node--guard .hf-node__icon { background: var(--brand); color: var(--on-brand); }
.hf-node--ai .hf-node__icon { color: var(--spark-text); }
.hf-node--ai::after, .hf-node--ai::before { border-color: var(--spark-text); }
.hf-edge { position: relative; flex: 1 0 32px; min-width: 32px; align-self: center; height: 2px; background: repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 11px); }
.hf-edge::after { content: ""; position: absolute; top: -3px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--spark); animation: hf-run 2.4s linear infinite; }
@keyframes hf-run { from { left: 0; } to { left: calc(100% - 8px); } }
@media (prefers-reduced-motion: reduce) { .hf-edge::after { animation: none; left: calc(50% - 4px); } }
.hf-flow--vertical { flex-direction: column; align-items: flex-start; }
.hf-flow--vertical .hf-edge { flex: 0 0 28px; width: 2px; min-width: 0; height: 28px; margin-left: 35px; align-self: flex-start; background: repeating-linear-gradient(180deg, var(--line-strong) 0 6px, transparent 6px 11px); }
.hf-flow--vertical .hf-edge::after { left: -3px; animation-name: hf-run-v; }
@keyframes hf-run-v { from { top: 0; } to { top: calc(100% - 8px); } }
.hf-flow--vertical .hf-node::before, .hf-flow--vertical .hf-node::after { display: none; }

/* Card */
.hf-card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); transition: border-color .15s, background-color .15s; min-width: 0; }
.hf-card:hover { border-color: var(--line-strong); background: var(--surface-raised); }
.hf-card__icon { width: 44px; height: 44px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--brand-soft); color: var(--brand-text); }
.hf-card__icon .hf-icon { width: 22px; height: 22px; }
.hf-card__title { font: 600 18px/26px var(--font-sans); letter-spacing: -.005em; margin: 0; color: var(--ink); }
.hf-card__text { font-size: 15px; line-height: 24px; color: var(--ink-muted); margin: 0; }
.hf-card__meta { margin-top: auto; padding-top: var(--space-2); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.hf-card--featured { background: var(--brand-soft); border-color: var(--brand); }
.hf-card--featured .hf-card__icon { background: var(--brand); color: var(--on-brand); }

/* Field */
.hf-field { display: flex; flex-direction: column; gap: 6px; }
.hf-label { font: 500 14px/20px var(--font-sans); color: var(--ink); }
.hf-input { height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-md); border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); font: 400 15px/1 var(--font-sans); width: 100%; box-sizing: border-box; }
textarea.hf-input { height: auto; min-height: 96px; padding: var(--space-3); line-height: 22px; resize: vertical; }
.hf-input::placeholder { color: var(--ink-muted); opacity: .8; }
.hf-input:hover { border-color: var(--brand-text); }
.hf-hint { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.hf-field--error .hf-input { border-color: var(--danger); }
.hf-field--error .hf-hint { color: var(--danger); }

/* Callout */
.hf-callout { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); padding: var(--space-4) var(--space-5); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--surface); }
.hf-callout .hf-icon { color: var(--brand-text); width: 22px; height: 22px; margin-top: 2px; }
.hf-callout__title { font: 600 15px/22px var(--font-sans); color: var(--ink); margin: 0 0 2px; }
.hf-callout__text { font-size: 14px; line-height: 22px; color: var(--ink-muted); margin: 0; }
.hf-callout--secure { background: var(--brand-soft); border-color: var(--brand); }
.hf-callout--warn .hf-icon { color: var(--spark-text); }

/* Redaction block: PII masked before it reaches a cloud model */
.hf-redact { font: 400 14px/24px var(--font-mono); color: var(--ink); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-4); overflow-wrap: anywhere; }
.hf-pii { border-radius: 4px; padding: 0 3px; }
.hf-pii__raw { color: var(--danger); text-decoration: underline wavy; text-underline-offset: 3px; }
.hf-pii__mask { display: none; background: var(--brand); color: var(--on-brand); }
.hf-redact.is-masked .hf-pii__raw { display: none; }
.hf-redact.is-masked .hf-pii__mask { display: inline; }

/* Language / segment switch */
.hf-switch { display: inline-flex; padding: 3px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--surface); }
.hf-switch button { border: 0; background: transparent; color: var(--ink-muted); font: 500 12px/1 var(--font-mono); letter-spacing: .06em; padding: 7px 11px; border-radius: var(--radius-pill); cursor: pointer; }
.hf-switch button[aria-pressed="true"] { background: var(--brand); color: var(--on-brand); }

/* Navbar */
.hf-nav { display: flex; align-items: center; gap: var(--space-5); height: 64px; padding: 0 var(--space-5); background: color-mix(in srgb, var(--bg) 82%, transparent); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.hf-nav__logo { display: flex; align-items: center; height: 32px; }
.hf-nav__logo img, .hf-nav__logo svg { height: 32px; width: auto; display: block; }
.hf-nav__links { display: flex; gap: var(--space-5); margin-right: auto; margin-left: var(--space-5); }
.hf-nav__links a { color: var(--ink-muted); text-decoration: none; font: 500 14px/1 var(--font-sans); }
.hf-nav__links a:hover { color: var(--ink); }
.hf-nav__end { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }
@media (max-width: 760px) { .hf-nav__links { display: none; } .hf-nav { padding: 0 var(--space-4); gap: var(--space-3); } }

/* Logo swap per theme */
.hf-logo-light { display: none; }
[data-theme="light"] .hf-logo-light { display: block; }
[data-theme="light"] .hf-logo-dark { display: none; }

/* Dot grid motif */
.hf-grid-bg { background-image: radial-gradient(circle at 1px 1px, var(--line) 1px, transparent 1.5px); background-size: var(--space-5) var(--space-5); }

/* Layout: left-weighted hero with a live vertical flow on the right; full-bleed bands alternate bg / surface; 24px dot grid behind the hero. */
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 26px; -webkit-font-smoothing: antialiased; }
.hf-site h1, .hf-site h2, .hf-site h3, .hf-site p, .hf-site ol, .hf-site ul { margin: 0; }
.hf-site h1, .hf-site h2 { text-wrap: balance; color: var(--ink); }
.muted { color: var(--ink-muted); }
.wrap, .wrap-nav { max-width: 1160px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); box-sizing: border-box; }
@media (min-width: 900px) { .wrap, .wrap-nav { padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); } }
.site-head { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.site-head .hf-nav { background: transparent; border-bottom: 0; backdrop-filter: none; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .hf-logo-light { display: block; } :root:not([data-theme="dark"]) .hf-logo-dark { display: none; } }
.hf-logo-dark svg, .hf-logo-light svg { height: 30px; width: auto; display: block; }
@media (max-width: 520px) { .nav-cta { display: none; } }

.hero { padding-block: 72px 88px; border-bottom: 1px solid var(--line); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; min-width: 0; }
.hero__title em { font-style: normal; color: var(--brand-text); }
.hero__lead { color: var(--ink-muted); max-width: 34em; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
.hero__visual { background: color-mix(in srgb, var(--surface) 70%, transparent); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.hero__visual .hf-node { width: 100%; box-sizing: border-box; }
.hero__visual .hf-flow--vertical { align-items: stretch; }
.flow-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--ink-muted); flex-wrap: wrap; }
@media (max-width: 900px) { .hero__grid { grid-template-columns: 1fr; gap: 40px; } .display-xl { font-size: 44px; line-height: 48px; } .display-l { font-size: 32px; line-height: 38px; } .hero { padding-block: 48px 56px; } }
@media (max-width: 420px) { .display-xl { font-size: 36px; line-height: 40px; } }

.section { padding-block: 96px; }
.section--band { background: var(--surface); border-block: 1px solid var(--line); }
@media (max-width: 900px) { .section { padding-block: 64px; } }
.section__head { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin-bottom: 48px; }

.services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.services__wide { grid-column: span 2; }
@media (max-width: 900px) { .services { grid-template-columns: repeat(2, minmax(0, 1fr)); } .services__wide { grid-column: span 2; } }
@media (max-width: 600px) { .services { grid-template-columns: 1fr; } .services__wide { grid-column: auto; } }

.security { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.security__copy { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.security__demo { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 20px; border-radius: var(--radius-lg); background: var(--bg); border: 1px solid var(--line); }
.security__demo .hf-redact { background: var(--surface); }
.demo-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.checks { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.checks li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; }
.checks .hf-icon { color: var(--brand-text); margin-top: 3px; }
@media (max-width: 900px) { .security { grid-template-columns: 1fr; gap: 36px; } }

.steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--line-strong); counter-reset: s; }
.steps li { position: relative; padding: 28px 24px 0 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.steps li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); border: 2px solid var(--brand-text); }
.steps li:last-child::before { background: var(--spark); border-color: var(--spark); }
.step__n { color: var(--brand-text); }
@media (max-width: 800px) { .steps { grid-template-columns: 1fr 1fr; row-gap: 36px; } }
@media (max-width: 480px) { .steps { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--line-strong); row-gap: 28px; } .steps li { padding: 0 0 0 24px; } .steps li::before { top: 4px; left: -7px; } }

.training { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.training > div { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.courses { list-style: none; padding: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg); }
.courses li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; }
.courses li + li { border-top: 1px solid var(--line); }
.courses li > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
@media (max-width: 900px) { .training { grid-template-columns: 1fr; gap: 32px; } }

.cta { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; max-width: 720px; margin: 0 auto; }
.cta__mark svg { width: 56px; height: 56px; display: block; }
.cta__mail { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; padding: 10px 10px 10px 18px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--surface); margin-top: 8px; }
.cta__mail .code { color: var(--ink); user-select: all; }

.foot { border-top: 1px solid var(--line); padding-block: 28px; }
.foot__row { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}

/* --- Generator additions: same tokens, cases the reference page did not need --- */

/* Language switch as links (one URL per language) */
.hf-switch a { color: var(--ink-muted); font: 500 12px/1 var(--font-mono); letter-spacing: .06em; padding: 7px 11px; border-radius: var(--radius-pill); text-decoration: none; }
.hf-switch a:hover { color: var(--ink); }
.hf-switch a[aria-current="true"] { background: var(--brand); color: var(--on-brand); }
.hf-switch a:focus-visible, .cta__mail a:focus-visible, .prose a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Logo and mark as image files */
.site-head .hf-nav__logo img { height: 30px; width: auto; }
.cta__mark img { width: 56px; height: 56px; display: block; }
.cta__mail a.code { color: var(--ink); text-decoration: none; }
.cta__mail a.code:hover { color: var(--brand-text); }

/* Optional parts left out */
.hero__grid--solo { grid-template-columns: minmax(0, 1fr); }
.hero__grid--solo .hero__copy { max-width: 820px; }
.security--solo { grid-template-columns: minmax(0, 1fr); }
.security--solo .security__copy { max-width: 760px; }
.cta > .hf-btn { margin-top: 8px; }

/* Steps: column count follows the number of steps on wide screens */
@media (min-width: 801px) { .steps { grid-template-columns: repeat(var(--steps, 4), minmax(0, 1fr)); } }

/* Prose: free-form markdown */
.prose { max-width: 720px; display: flex; flex-direction: column; gap: var(--space-4); }
.prose > * { margin: 0; }
.prose h1 { font: 600 44px/50px var(--font-display); letter-spacing: -.025em; }
.prose h2 { font: 600 32px/38px var(--font-display); letter-spacing: -.02em; margin-top: var(--space-5); }
.prose h3 { font: 600 18px/26px var(--font-sans); margin-top: var(--space-3); }
.prose p, .prose li { color: var(--ink-muted); }
.prose ul, .prose ol { padding-left: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
.prose a { color: var(--brand-text); text-underline-offset: 3px; }
.prose strong { color: var(--ink); font-weight: 600; }
.prose code { font: 400 14px/22px var(--font-mono); background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 1px 5px; }
.prose pre { background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-4); overflow-x: auto; }
.prose pre code { background: none; border: 0; padding: 0; }
.prose blockquote { border-left: 2px solid var(--brand); padding-left: var(--space-4); }
.prose table { border-collapse: collapse; width: 100%; font-size: 15px; }
.prose th, .prose td { text-align: left; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); }
.prose th { color: var(--ink); font-weight: 600; }
@media (max-width: 900px) { .prose h1 { font-size: 32px; line-height: 38px; } .prose h2 { font-size: 24px; line-height: 30px; } }

/* Logo swap for <img> logos (must outrank `.hf-nav__logo img { display: block }`) */
.hf-nav__logo img.hf-logo-light { display: none; }
[data-theme="light"] .hf-nav__logo img.hf-logo-light { display: block; }
[data-theme="light"] .hf-nav__logo img.hf-logo-dark { display: none; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .hf-nav__logo img.hf-logo-light { display: block; } :root:not([data-theme="dark"]) .hf-nav__logo img.hf-logo-dark { display: none; } }
