body{margin:0;background:var(--bg-page);font-family:var(--font-body);color:var(--text-body);text-wrap:pretty}
#root{min-block-size:100vh;display:flex;flex-direction:column}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
.wrap{max-inline-size:var(--container-max);margin-inline:auto;padding-inline:var(--gutter);inline-size:100%;box-sizing:border-box}
.narrow{max-inline-size:var(--container-narrow)}
.sec{padding-block:var(--section-y)}
.sec-sm{padding-block:clamp(40px,6vw,72px)}
.g{display:grid;gap:var(--space-5)}
.g-items{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.g-3{grid-template-columns:repeat(auto-fit,minmax(clamp(240px,28vw,300px),1fr))}
.g-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.g-2{grid-template-columns:repeat(auto-fit,minmax(minmax(0,300px),1fr))}
.row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.col{display:flex;flex-direction:column}
.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,4vw,56px);align-items:center}
.hero-art{position:relative}
.hero-art img{inline-size:100%;max-inline-size:min(100%,560px);block-size:auto;display:block;margin-inline:auto;mix-blend-mode:multiply}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:clamp(24px,4vw,48px);align-items:start}
.split-wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,48px);align-items:start}
.sticky-side{position:sticky;inset-block-start:120px}
@media(max-width:980px){.hero{grid-template-columns:1fr}.split,.split-wide{grid-template-columns:1fr}.sticky-side{position:static}}
.only-desktop{display:flex}
.only-mobile{display:none}
@media(max-width:860px){.only-desktop{display:none!important}.only-mobile{display:flex!important}}
.bar-space{block-size:0}
@media(max-width:860px){.bar-space{block-size:86px}}
.prose{font-size:var(--text-body);line-height:var(--lh-body)}
.prose p{margin:0 0 var(--space-5)}
.prose h2{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--text-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-display);margin:var(--space-7) 0 var(--space-4)}
.prose h3{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--text-h3);margin:var(--space-6) 0 var(--space-3)}
.prose ul{margin:0 0 var(--space-5);padding-inline-start:1.3em;display:flex;flex-direction:column;gap:var(--space-2)}
.prose a{font-weight:var(--fw-bold);border-block-end:1px solid color-mix(in srgb,var(--maroon-800) 35%,transparent)}
.lift{transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.plain{color:inherit}
.plain:hover{color:inherit}
.hdr-search{flex:1;max-inline-size:560px;min-inline-size:0}
.mb-hide{display:block}
@media(max-width:700px){.mb-hide{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.chips>*{white-space:nowrap}

/* — production additions — */
.ltr{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.state{display:flex;gap:10px;align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-body-sm);line-height:var(--lh-body)}
.state-err{background:color-mix(in srgb,var(--maroon-800) 8%,var(--cream-100));border:1px solid color-mix(in srgb,var(--maroon-800) 35%,transparent);color:var(--maroon-900)}
.state-ok{background:color-mix(in srgb,var(--green-900) 7%,var(--cream-100));border:1px solid color-mix(in srgb,var(--green-900) 25%,transparent);color:var(--green-900)}
.state-warn{background:var(--cream-200);border:1px solid var(--cream-400);color:var(--ink-700)}
.spin{animation:dk-spin 900ms linear infinite}
@keyframes dk-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
#dk-crash{position:fixed;inset-block-start:0;inset-inline:0;z-index:999;padding:14px 20px;background:var(--maroon-800);color:var(--cream-100);font-family:var(--font-body);font-size:14px;line-height:1.7}
#dk-crash a{color:var(--cream-100);text-decoration:underline}
.dk-boot{padding:64px 24px;text-align:center;font-family:var(--font-body);color:var(--ink-500)}
