*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:500;text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:2px}::selection{background:var(--green-dim-strong);color:var(--text-primary)}.container{width:min(var(--container),100% - var(--gutter) * 2);margin-inline:auto}.container-narrow{width:min(880px,100% - var(--gutter) * 2);margin-inline:auto}.section{padding-block:var(--section-y);position:relative;background:var(--surface-canvas)}.section-tight{padding-block:var(--section-y-tight)}.section-cool{background:var(--surface-canvas-alt)}.section-warm{background:var(--surface-sunken)}.section-deep{background:var(--surface-ink);color:var(--text-inverse)}.section-deep .label{color:var(--green-300)}.section-deep .lede,.section-deep p,.section-deep .meta,.section-deep .row-index,.section-deep .section-marker{color:var(--text-inverse-muted)}.section-ruled{border-top:1px solid var(--border-subtle)}.stack{display:grid;align-content:start}.stack-2{gap:var(--space-2)}.stack-3{gap:var(--space-3)}.stack-4{gap:var(--space-4)}.stack-5{gap:var(--space-5)}.stack-6{gap:var(--space-6)}.stack-7{gap:var(--space-7)}.stack-8{gap:var(--space-8)}.measure{max-width:var(--measure)}.hero-type{font-family:var(--font-sans);font-weight:600;font-size:var(--type-hero);line-height:var(--leading-tight);letter-spacing:-.022em}.display-xl{font-family:var(--font-sans);font-weight:600;font-size:var(--type-display-xl);line-height:1.04;letter-spacing:-.02em}.display-l{font-family:var(--font-sans);font-weight:600;font-size:var(--type-display-l);line-height:1.08;letter-spacing:var(--tracking-heading)}.display-m{font-family:var(--font-sans);font-weight:600;font-size:var(--type-display-m);line-height:1.14;letter-spacing:var(--tracking-heading)}.heading{font-family:var(--font-sans);font-size:var(--type-heading);font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-heading)}.lede{font-size:var(--type-lede);line-height:1.58;color:var(--text-secondary)}.body{color:var(--text-secondary)}.small{font-size:var(--type-small);color:var(--text-muted)}.label{font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--green-700)}.label-quiet{color:var(--text-muted)}.meta{font-family:var(--font-mono);font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums}.display-xl em,.display-l em,.display-m em,.hero-type em{font-style:normal;color:var(--green-700);font-weight:600}.link{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--type-small);color:var(--text-primary);padding-block:var(--space-2);border-bottom:1px solid var(--border-strong);transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.link:after{content:"→";transition:transform var(--dur) var(--ease-out);color:var(--green-700)}.link:hover{color:var(--green-700);border-color:var(--green-700)}.link:hover:after{transform:translate(4px)}.section-deep .link{color:var(--text-inverse);border-color:var(--border-inverse)}.section-deep .link:after{color:var(--green-300)}.section-deep .link:hover{color:var(--green-300);border-color:var(--green-300)}.button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding-inline:var(--space-6);font-family:var(--font-sans);font-size:var(--type-small);font-weight:600;letter-spacing:.005em;border:1px solid var(--border-strong);color:var(--text-primary);background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background var(--dur) var(--ease-out)}.button:hover{border-color:var(--text-primary)}.button-solid{background:var(--green-700);color:var(--text-inverse);border-color:var(--green-700)}.button-solid:hover{background:var(--green-900);border-color:var(--green-900)}.button-rust{background:var(--rust-500);color:var(--text-inverse);border-color:var(--rust-500)}.button-rust:hover{background:var(--rust-700);border-color:var(--rust-700)}.button-quiet{border-color:var(--border-strong);color:var(--text-primary)}.button-quiet:hover{border-color:var(--text-primary);background:var(--surface-raised)}.section-deep .button-quiet{border-color:var(--border-inverse);color:var(--text-inverse)}.section-deep .button-quiet:hover{border-color:var(--text-inverse);background:var(--surface-ink-raised)}@media(prefers-reduced-motion:no-preference){.enter{opacity:0;animation:enter-up var(--dur-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 80ms)}.enter-rule{transform:scaleX(0);transform-origin:left;animation:rule-in var(--dur-slow) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 80ms)}.enter-mask>span{display:inline-block;opacity:0;animation:enter-up var(--dur-reveal) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * .1s)}@supports (animation-timeline: view()){.reveal{animation:enter-up linear both;animation-timeline:view();animation-range:entry 0% entry 40%}.reveal-rule{animation:rule-in linear both;animation-timeline:view();animation-range:entry 0% entry 55%;transform-origin:left}.reveal-rule-y{animation:rule-in-y linear both;animation-timeline:view();animation-range:entry 0% entry 55%;transform-origin:top}.reveal-fade{animation:fade-in linear both;animation-timeline:view();animation-range:entry 0% entry 35%}}}@keyframes enter-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rule-in-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.link,.button,.link:after{transition:none}.enter,.enter-mask>span{opacity:1;animation:none}.enter-rule{transform:none;animation:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:var(--space-3) var(--space-5);background:var(--surface-ink);border-radius:var(--radius-sm);border:1px solid var(--green-500);color:var(--text-inverse);font-family:var(--font-mono);font-size:var(--type-small);transition:top var(--dur-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4)}
