:root{--paper-50:#f2f1ec;--paper-100:#f8f7f2;--paper-200:#c5d7ca;--paper-300:#8fa797;--ink-900:#07120b;--ink-700:#1f2d25;--ink-500:#34423a;--ink-300:#5b6a61;--sage-100:#e5f1e7;--sage-300:#6baf85;--sage-500:#08753c;--sage-900:#064a27;--clay:#b25e2e;--edge:#fff;--on-accent:#fff;--shadow:0 3px 7px #07120b1a;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--r-card:10px;--r-control:22px;--r-panel:28px;--t-fast:.12s;--t-base:.2s;--t-slow:.32s;--ease:cubic-bezier(.25, .46, .45, .94);--wrap:1100px;--grain-opacity:.05;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper-50:#07120b;--paper-100:#101812;--paper-200:#2d4034;--paper-300:#5c7767;--ink-900:#f4fbf5;--ink-700:#e2ede4;--ink-500:#d4e2d7;--ink-300:#9cad9f;--sage-100:#152119;--sage-300:#1e6b43;--sage-500:#2aba6b;--sage-900:#6fd89e;--clay:#e29a62;--edge:#edebe4;--on-accent:#07120b;--shadow:0 3px 9px #00000073;--grain-opacity:.07}}*,:before,:after{box-sizing:border-box}body{background:var(--paper-50);color:var(--ink-700);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}body:after{content:"";z-index:60;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:128px 128px;position:fixed;inset:0}@media (prefers-color-scheme:dark){body:after{mix-blend-mode:screen}}h1,h2,h3{font-family:var(--font-sans);color:var(--ink-900);letter-spacing:-.022em;margin:0 0 .5em;font-weight:700;line-height:1.12}h1{font-size:clamp(2.35rem,5.4vw,3.6rem)}h2{font-size:clamp(1.65rem,3.2vw,2.3rem)}h3{letter-spacing:-.012em;font-size:1.25rem;font-weight:650;line-height:1.3}p{margin:0 0 1em}.lead{color:var(--ink-500);max-width:34ch;font-size:1.2rem}.muted{color:var(--ink-300)}.eyebrow{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-300);font-size:.6875rem;font-weight:600}.slot-label{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-300);font-size:.68rem;font-weight:600}a{color:var(--sage-500);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--sage-900)}::selection{background:var(--sage-100);color:var(--ink-900)}:focus-visible{outline:2px solid var(--sage-500);outline-offset:3px;border-radius:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--paper-100);border-radius:var(--r-control);padding:10px 18px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}.section{padding-block:clamp(64px,9vw,118px)}.hairline{border:0;border-top:1px solid var(--paper-200);margin:0}.btn{border-radius:var(--r-control);min-height:44px;font:600 1rem/1 var(--font-sans);cursor:pointer;transition:background-color var(--t-base) var(--ease), color var(--t-base) var(--ease), border-color var(--t-base) var(--ease), transform var(--t-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 24px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--sage-500);color:var(--on-accent)}.btn-primary:hover{background:var(--sage-900);color:var(--on-accent)}@media (prefers-color-scheme:dark){.btn-primary:hover{background:var(--sage-300)}}.btn-ghost{color:var(--ink-700);border-color:var(--paper-300);background:0 0}.btn-ghost:hover{border-color:var(--ink-500);color:var(--ink-900)}.site-nav{z-index:50;background:color-mix(in srgb, var(--paper-50) 86%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--paper-200);position:sticky;top:0}.site-nav .wrap{align-items:center;gap:28px;height:64px;display:flex}.brand{color:var(--ink-900);font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin-right:auto;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.brand img{border-radius:7px;width:28px;height:28px}.site-nav a:not(.brand):not(.btn){color:var(--ink-500);font-size:.95rem;text-decoration:none}.site-nav a:not(.brand):not(.btn):hover{color:var(--ink-900)}.nav-links{align-items:center;gap:24px;display:flex}.paper-dots{background-image:radial-gradient(circle, color-mix(in srgb, var(--ink-900) 14%, transparent) 1.3px, transparent 1.3px);background-size:22px 22px}.paper-lines{background-image:linear-gradient(to bottom, color-mix(in srgb, var(--ink-900) 10%, transparent) .75px, transparent .75px);background-size:100% 30px}.paper-grid{background-image:linear-gradient(color-mix(in srgb, var(--ink-900) 8%, transparent) .6px, transparent .6px), linear-gradient(90deg, color-mix(in srgb, var(--ink-900) 8%, transparent) .6px, transparent .6px);background-size:26px 26px}.card{background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--r-card)}.panel{background:var(--paper-100);border:1px solid var(--paper-200);border-radius:var(--r-panel)}.washi{background:color-mix(in srgb, var(--sage-300) 42%, transparent);border-left:1px dashed color-mix(in srgb, var(--ink-900) 18%, transparent);border-right:1px dashed color-mix(in srgb, var(--ink-900) 18%, transparent);border-radius:2px;width:74px;height:20px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg)}.washi.clay{background:color-mix(in srgb, var(--clay) 34%, transparent)}.tilt-l{transform:rotate(-1.25deg)}.tilt-r{transform:rotate(1.25deg)}@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);transition-delay:var(--reveal-delay,0s);transform:translateY(12px)}.js .reveal.in-view{opacity:1;transform:none}.js .reveal.in-view.tilt-l{transform:rotate(-1.25deg)}.js .reveal.in-view.tilt-r{transform:rotate(1.25deg)}}.page-head{padding-block:clamp(48px,7vw,88px) clamp(20px,3vw,36px)}.prose{max-width:66ch;padding-bottom:clamp(64px,9vw,110px)}.prose h2{margin-top:2.2em;font-size:1.45rem}.prose h3{margin-top:1.6em}.prose li{margin-bottom:.45em}.prose hr{border:0;border-top:1px solid var(--paper-200);margin:2.4em 0}.prose .aside{border-left:2px solid var(--sage-300);color:var(--ink-500);padding:2px 0 2px 18px}.site-footer{border-top:1px solid var(--paper-200);color:var(--ink-300);padding-block:44px 52px;font-size:.95rem}.brand-lockup{flex-direction:column;gap:12px;margin-bottom:30px;display:flex}.brand-lockup .mark{align-items:center;gap:10px;display:inline-flex}.brand-lockup .mark img{border-radius:6px;width:24px;height:24px}.brand-lockup .wordmark{font:700 .98rem/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-900)}.brand-lockup .tagline{font:500 .76rem/1.7 var(--font-sans);letter-spacing:.13em;text-transform:uppercase;color:color-mix(in srgb, var(--sage-500) 62%, transparent)}.site-footer .cols{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px 40px;display:flex}.site-footer nav{flex-wrap:wrap;gap:22px;display:flex}.site-footer a{color:var(--ink-500);text-decoration:none}.site-footer a:hover{color:var(--ink-900);text-decoration:underline}.footer-line{margin-top:20px;font-size:.9rem}@media (width<=720px){.nav-links{gap:16px}.nav-links a[data-secondary]{display:none}.site-footer .cols{flex-direction:column}}
