:root{--paper:#f3f2ec;--paper-2:#e8e7df;--card:#fbfaf6;--ink:#141c18;--ink-2:#2a332e;--text:#2b332f;--muted:#5d6762;--line:#141c1824;--line-strong:#141c1847;--green:#2f6a3a;--green-deep:#234f2c;--green-bright:#8fd09a;--on-dark:#eef1ec;--on-dark-muted:#a8b3ad;--line-dark:#eef1ec24;--font-display:"Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--container:1200px;--gutter:clamp(1rem, 4vw, 2.5rem);--radius:4px;--header-h:72px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit}h1,h2,h3,h4{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}h1{letter-spacing:-.02em;font-size:clamp(2.6rem,6.2vw,4.9rem)}h2{font-size:clamp(2rem,4vw,3.1rem)}h3{font-size:1.45rem}p{text-wrap:pretty;margin:0}::selection{background:var(--green);color:#fff}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.dark :focus-visible{outline-color:var(--green-bright)}.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,10vw,8rem)}.section--tight{padding-block:clamp(3rem,6vw,5rem)}.dark{background:var(--ink);color:var(--on-dark-muted)}.dark h1,.dark h2,.dark h3,.dark h4{color:var(--on-dark)}.grid-bg{background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-position:-1px -1px;background-size:48px 48px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--radius);padding:.75rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.eyebrow{color:var(--green);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:.78rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:1.75rem;height:1px}.dark .eyebrow{color:var(--green-bright)}.lead{max-width:38rem;color:var(--muted);font-size:clamp(1.1rem,1.6vw,1.25rem);line-height:1.6}.dark .lead{color:var(--on-dark-muted)}.mono{font-family:var(--font-mono)}.btn{border-radius:var(--radius);min-height:3rem;font:600 .98rem/1 var(--font-body);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.4rem;text-decoration:none;display:inline-flex}.btn svg{width:1.1em;height:1.1em;transition:transform .2s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn--primary{background:var(--green);color:#fff}.btn--primary:hover{background:var(--green-deep)}.btn--ghost{border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.dark .btn--ghost{color:var(--on-dark);border-color:#eef1ec59}.dark .btn--ghost:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--ink)}.btn:disabled{opacity:.6;cursor:progress}.js .reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay,0s);transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;transform:none}}.page-enter-active,.page-leave-active{transition:opacity .25s var(--ease)}.page-enter-from,.page-leave-to{opacity:0}.err[data-v-268b8a2b]{padding-block:clamp(5rem,14vw,10rem)}.err__lead[data-v-268b8a2b]{margin-top:1.5rem}.err__actions[data-v-268b8a2b]{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}
