:root{--color-ink:#15191E;--color-limestone:#F3EFE6;--color-harbour:#1F5A7A;--color-signal:#4FA3E3;--color-slate:#6A737D;--color-hairline:#D9D4C9;--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-display:500 48px/52px var(--font-sans);--text-h1:500 32px/38px var(--font-sans);--text-h2:500 22px/28px var(--font-sans);--text-body:400 17px/27px var(--font-sans);--text-small:400 13px/19px var(--font-sans);--text-mono:500 13px/19px var(--font-mono);--tracking-display:-0.02em;--tracking-h1:-0.015em;--tracking-h2:-0.01em;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--radius-s:4px;--radius-m:6px;--radius-l:8px;--radius-xl:10px;--control-h:44px;--container:1200px;--cursor-w:0.42em;--cursor-h:0.72em;--bg:var(--color-ink);--fg:var(--color-limestone);--accent:var(--color-signal);--muted:#A3ABB5;--line:#2A3038;--surface:#1B2027;color-scheme:dark}[data-theme=light],.theme-light{--bg:var(--color-limestone);--fg:var(--color-ink);--accent:var(--color-harbour);--muted:var(--color-slate);--line:var(--color-hairline);--surface:#FFFFFF;color-scheme:light}.cursor::after{content:"";display:inline-block;width:var(--cursor-w);height:var(--cursor-h);background:var(--accent);margin-left:.18em;vertical-align:-.06em}@font-face{font-family:geist;src:url(/fonts/GeistVF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:geist mono;src:url(/fonts/GeistMonoVF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,*::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(--bg);color:var(--fg);font:var(--text-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}h1,.t-display{font:var(--text-display);letter-spacing:var(--tracking-display);text-wrap:balance}h2,.t-h1{font:var(--text-h1);letter-spacing:var(--tracking-h1);text-wrap:balance}h3,.t-h2{font:var(--text-h2);letter-spacing:var(--tracking-h2);text-wrap:balance}.label{font:var(--text-mono);color:var(--muted)}.muted{color:var(--muted);font:var(--text-small)}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}code{font:var(--text-mono);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);padding:1px 5px}pre{background:#0c0f13;color:var(--color-limestone);border-radius:var(--radius-m);padding:14px 16px;font:500 13px/1.7 var(--font-mono);overflow-x:auto}pre code{background:0 0;border:0;padding:0;font:inherit}.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--space-5)}@media(max-width:560px){.wrap{padding-inline:var(--space-4)}}.prose{max-width:68ch}.section{padding-block:var(--space-6)}.section>.label{margin-bottom:var(--space-2)}.section>h2{max-width:30ch;margin-bottom:var(--space-4)}.skip{position:absolute;left:var(--space-3);top:calc(-1 * var(--control-h) - var(--space-3));z-index:50;display:inline-flex;align-items:center;height:var(--control-h);padding:0 var(--space-3);background:var(--accent);color:var(--color-ink);font:var(--text-mono);text-decoration:none;border-radius:var(--radius-m);transition:top 500ms cubic-bezier(.22,1,.36,1)}.skip:focus{top:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;height:var(--control-h);padding:0 20px;border:1px solid transparent;border-radius:var(--radius-m);font:500 14px/1 var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color 300ms cubic-bezier(.22,1,.36,1),border-color 300ms cubic-bezier(.22,1,.36,1),transform 300ms cubic-bezier(.22,1,.36,1)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--color-ink)}[data-theme=light] .btn-primary{color:#fff}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--fg))}.btn-secondary{background:0 0;color:var(--fg);border-color:var(--line)}.btn-secondary:hover{border-color:var(--fg)}.btn-ghost{color:var(--accent);padding:0 8px;text-decoration:none}.btn-ghost:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px)}.site-header-in{display:flex;align-items:center;gap:var(--space-4);min-height:64px}.site-nav{margin-left:auto}.site-header-in>a:first-child+.toggle{margin-left:auto}.site-nav ul{display:flex;gap:var(--space-4);font:var(--text-mono)}.site-nav a{color:var(--muted);text-decoration:none;transition:color 300ms cubic-bezier(.22,1,.36,1)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--fg)}@media(max-width:760px){.site-header-in{flex-wrap:wrap;min-height:0;padding-block:var(--space-2);row-gap:var(--space-2)}.site-header .toggle{margin-left:auto}.site-nav{order:3;width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav ul{gap:var(--space-3);white-space:nowrap}}:target{scroll-margin-top:calc(64px + var(--space-4))}.wordmark{height:18px;width:auto}.wordmark-light{display:none}[data-theme=light] .wordmark-light{display:block}[data-theme=light] .wordmark-dark{display:none}.toggle{font:var(--text-mono);color:var(--muted);background:0 0;border:1px solid var(--line);border-radius:var(--radius-s);padding:8px 12px;cursor:pointer;transition:color 300ms cubic-bezier(.22,1,.36,1),border-color 300ms cubic-bezier(.22,1,.36,1)}.toggle:hover{color:var(--fg);border-color:var(--fg)}.toggle-icon{display:inline-flex;align-items:center;justify-content:center;padding:8px}.toggle-icon svg{display:block}.toggle-icon .icon-moon{display:none}[data-theme=light] .toggle-icon .icon-sun{display:none}[data-theme=light] .toggle-icon .icon-moon{display:block}.hero{padding-block:var(--space-6)}.hero h1{font-size:clamp(48px,7vw,92px);line-height:1.04;margin:var(--space-4)0;max-width:16ch}.hero-lede{max-width:56ch;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.hero-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--line);font:var(--text-mono);color:var(--muted)}.hero-meta a{color:inherit}.teaser{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-inline:var(--space-5)}.fx{display:block;width:100%;height:100%}.fx-panel{aspect-ratio:16/9;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l)}.teaser-canvas{position:absolute;inset:0;z-index:0}.teaser::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient( to top,color-mix(in srgb,var(--bg) 96%,transparent) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 18%,transparent 38% ),radial-gradient( 120% 90% at 22% 50%,color-mix(in srgb,var(--bg) 88%,transparent) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 42%,transparent 72% )}.teaser-toggle{position:absolute;z-index:2;top:var(--space-3);right:var(--space-3)}.teaser-in{width:100%;max-width:var(--container);margin:0 auto}.teaser-body{position:relative;z-index:2;flex-grow:1;display:flex;align-items:center;padding-block:var(--space-6)}.teaser-wordmark{height:44px;width:auto}.teaser-lede{margin-top:var(--space-5);max-width:38ch;font-size:clamp(22px,3vw,32px);line-height:1.25;font-weight:500;letter-spacing:var(--tracking-h1);text-wrap:balance}.teaser-where{margin-top:var(--space-3);max-width:44ch;color:var(--muted)}.teaser-links{display:flex;flex-wrap:wrap;gap:var(--space-3)var(--space-4);padding-top:calc(19px + var(--space-1))}.teaser-links a{color:var(--accent);font-weight:500;text-decoration:none}.teaser-links a::after{content:" \2192"}.teaser-links a:hover{text-decoration:underline}.teaser-footer{position:relative;z-index:2}.teaser-footer .teaser-in{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-4)var(--space-6);padding-block:var(--space-4)var(--space-5)}.teaser-footer .teaser-in::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:1px;background:linear-gradient( to right,color-mix(in srgb,var(--accent) 60%,transparent) 0%,color-mix(in srgb,var(--accent) 22%,transparent) 55%,var(--line) 100% )}.teaser-contact{display:flex;flex-wrap:wrap;gap:var(--space-4)var(--space-6)}.teaser-contact dt{font:var(--text-mono);color:var(--muted);margin-bottom:var(--space-1)}@media(max-width:560px){.teaser{padding-inline:var(--space-4)}.teaser-body{padding-block:var(--space-5)}.teaser-wordmark{height:34px}.teaser-contact{gap:var(--space-3)var(--space-5)}.teaser-links{padding-top:0}}.page-head{padding-block:var(--space-6)var(--space-5);border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(36px,5vw,56px);line-height:1.08;margin:var(--space-3)0;max-width:20ch}.page-head .lede{max-width:60ch;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--space-4);margin-top:var(--space-5)}.card{border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-4);background:var(--surface);transition:border-color 500ms cubic-bezier(.22,1,.36,1)}.card:hover{border-color:color-mix(in srgb,var(--fg) 40%,var(--line))}.card h3{margin:var(--space-2)0}.card p{color:var(--muted)}.card ul{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--space-2)}.card li{font:var(--text-mono);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-s);padding:3px 8px}.statement{padding-block:var(--space-6)}.statement>p:first-child{font-size:clamp(32px,4.4vw,56px);line-height:1.1;font-weight:500;letter-spacing:var(--tracking-display);max-width:30ch;text-wrap:balance}.band-light{--bg:var(--color-limestone);--fg:var(--color-ink);--accent:var(--color-harbour);--muted:var(--color-slate);--line:var(--color-hairline);--surface:#ffffff;color-scheme:light;background:var(--bg);color:var(--fg)}[data-theme=light] .band-light{--bg:#ffffff;--surface:var(--color-limestone)}.band-light a{color:var(--accent)}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);margin-top:var(--space-5)}.steps>li{counter-increment:step}.steps>li::before{content:"0" counter(step);display:block;font:var(--text-mono);color:var(--accent);margin-bottom:var(--space-2)}.steps h3{margin-bottom:var(--space-2)}.steps p{color:var(--fg);max-width:42ch}.notes{margin-top:var(--space-5);border-top:1px solid var(--line)}.notes li{border-bottom:1px solid var(--line)}.notes a{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-3)0;color:var(--fg);text-decoration:none;transition:color 300ms cubic-bezier(.22,1,.36,1)}.notes a:hover{color:var(--accent)}.notes time{font:var(--text-mono);color:var(--muted);flex:none;width:7rem}.notes-empty{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);color:var(--muted);max-width:60ch}@media(max-width:560px){.notes a{flex-direction:column;gap:var(--space-1)}.notes time{width:auto}}.faq{margin-top:var(--space-5);border-top:1px solid var(--line);max-width:760px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3)0;font:var(--text-h2);letter-spacing:var(--tracking-h2);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:var(--text-mono);color:var(--accent);flex:none}.faq details[open] summary::after{content:"−"}.faq details p{padding-bottom:var(--space-4);color:var(--muted)}.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5);align-items:start}.contact .label{margin-bottom:var(--space-2)}.contact h2{margin-bottom:var(--space-3)}.contact dl{display:grid;gap:var(--space-3)}.contact dt{font:var(--text-mono);color:var(--muted);margin-bottom:var(--space-1)}.contact a{text-decoration:none}.contact a:hover{text-decoration:underline}address{font-style:normal}.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:var(--space-5)var(--space-4);margin-top:var(--space-5)}.fx-card{margin:0}.fx-card figcaption{margin-top:var(--space-3)}.fx-name{font:var(--text-mono);color:var(--accent)}.fx-title{margin-top:var(--space-1);font-weight:500}.fx-note{margin-top:var(--space-1);max-width:46ch;font:var(--text-small);color:var(--muted)}@media(max-width:460px){.fx-grid{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font:var(--text-small)}th{text-align:left;font:var(--text-mono);color:var(--muted);padding:8px 0;border-bottom:1px solid var(--fg)}td{padding:10px 0;border-bottom:1px solid var(--line)}.table-scroll{overflow-x:auto}.content{max-width:68ch;padding-block:var(--space-5)var(--space-6)}.content>*+*{margin-top:var(--space-3)}.content h2{margin-top:var(--space-6)}.content h3{margin-top:var(--space-5)}.content ul,.content ol{padding-left:var(--space-4)}.content ul>li{list-style:none;position:relative}.content ul>li::before{content:"—";position:absolute;left:calc(-1 * var(--space-4));color:var(--accent)}.content ol{list-style:decimal}.content li+li{margin-top:var(--space-2)}.content blockquote{padding-left:var(--space-3);border-left:2px solid var(--accent);color:var(--muted)}.content hr{border:0;border-top:1px solid var(--line);margin-block:var(--space-5)}.note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-m);padding:12px 14px;font:var(--text-small)}.todo{display:inline-block;font:var(--text-mono);color:var(--accent);border:1px dashed var(--accent);border-radius:var(--radius-s);padding:1px 6px;margin-left:var(--space-2);vertical-align:2px}[data-theme=light] .hero-lede,[data-theme=light] .page-head .lede,[data-theme=light] .card p,[data-theme=light] .faq details p,[data-theme=light] .notes-empty,[data-theme=light] .teaser-where{color:var(--fg)}.site-footer{border-top:1px solid var(--line);margin-top:var(--space-6);padding-block:var(--space-4)var(--space-5)}.footer-in{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;font:var(--text-small);color:var(--muted)}.site-footer nav{display:flex;gap:var(--space-3);flex-wrap:wrap}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--fg)}.legal{font:var(--text-mono)}.notfound{padding-block:var(--space-6);min-height:52vh}.notfound h1{font-size:clamp(36px,6vw,72px);line-height:1.06;margin:var(--space-3)0}.reveal{opacity:0;transform:translateY(32px);transition:opacity 700ms cubic-bezier(.22,1,.36,1),transform 700ms cubic-bezier(.22,1,.36,1)}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important}.reveal{opacity:1;transform:none}}