:root{--color-primary:#d32240;--color-primary-200:#ec7a8c;--color-secondary:#00724b;--color-secondary-200:#4dc9a0;--color-ink:#161616;--color-ink-soft:#2a2a2a;--color-surface:#f2f2f2;--color-surface-2:#fff;--color-neutral-100:#f2f2f2;--color-neutral-200:#e6e6e6;--color-neutral-300:#ccc;--color-neutral-400:#999;--color-neutral-500:#6b6b6b;--color-neutral-600:#4a4a4a;--color-neutral-700:#333;--color-neutral-800:#222;--color-neutral-900:#161616;--color-text:var(--color-ink);--color-text-invert:var(--color-surface);--color-text-on-dark:#fff;--color-bg:var(--color-surface);--color-border:var(--color-ink);--font-display:var(--font-josefin), system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:var(--font-josefin), system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:clamp(.75rem, .72rem + .15vw, .8125rem);--text-sm:clamp(.875rem, .84rem + .18vw, .9375rem);--text-base:clamp(1rem, .96rem + .2vw, 1.0625rem);--text-lg:clamp(1.125rem, 1.08rem + .22vw, 1.1875rem);--text-xl:clamp(1.25rem, 1.18rem + .35vw, 1.375rem);--text-2xl:clamp(1.5rem, 1.4rem + .5vw, 1.75rem);--text-3xl:clamp(1.875rem, 1.7rem + .875vw, 2.25rem);--text-4xl:clamp(2.25rem, 2rem + 1.25vw, 3rem);--text-5xl:clamp(2.75rem, 2.3rem + 2.25vw, 4rem);--text-6xl:clamp(3.25rem, 2.6rem + 3.25vw, 5rem);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.05;--lh-snug:1.2;--lh-normal:1.5;--lh-relaxed:1.65;--tracking-tight:-.01em;--tracking-wide:.04em;--tracking-wider:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-py:clamp(2rem, 1.5rem + 3vw, 4rem);--container-prose:68ch;--container-narrow:48rem;--container-base:75rem;--container-wide:85rem;--container-px:clamp(1.25rem, .8rem + 2vw, 2.5rem);--radius-sm:2px;--radius-md:4px;--shadow-offset:8px 8px 0 0 var(--color-ink);--shadow-offset-sm:4px 4px 0 0 var(--color-ink);--shadow-offset-lg:12px 12px 0 0 var(--color-ink);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--z-nav:50;--z-overlay:80}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100dvh;line-height:var(--lh-normal);font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}img,picture,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#__next,#root{isolation:isolate}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px;border-radius:2px}::selection{background:var(--color-ink);color:var(--color-surface)}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}
body{font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--lh-relaxed)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{font-size:var(--text-base);line-height:var(--lh-relaxed);color:var(--color-text);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-word}a{color:inherit;transition:color var(--duration-fast) var(--ease-out)}strong,b{font-weight:var(--fw-bold)}small{font-size:var(--text-sm)}
p a{color:var(--color-ink);font-weight:var(--fw-semibold);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--color-secondary);text-decoration-color:var(--color-secondary);transition:color var(--duration-fast) var(--ease-out)}p a:hover{color:var(--color-secondary)}[data-tone=ink] p a{color:var(--color-surface);-webkit-text-decoration-color:var(--color-surface);text-decoration-color:var(--color-surface)}[data-tone=ink] p a:hover{color:var(--color-surface);opacity:.85}[data-card-variant=primary] p a{color:var(--color-surface);-webkit-text-decoration-color:var(--color-secondary);text-decoration-color:var(--color-secondary)}[data-card-variant=primary] p a:hover{color:var(--color-secondary)}[data-card-variant=accent] p a{color:var(--color-text-on-dark);-webkit-text-decoration-color:var(--color-secondary);text-decoration-color:var(--color-secondary)}[data-card-variant=accent] p a:hover{color:var(--color-secondary)}[data-card-variant=primary] footer a{color:var(--color-text-on-dark)!important}[data-card-variant=primary] footer a span{-webkit-text-decoration-color:var(--color-text-on-dark)!important;text-decoration-color:var(--color-text-on-dark)!important}[data-tone=ink] ::selection,[data-tone=accent] ::selection{background:var(--color-surface);color:var(--color-ink)}
