@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--font-sans:"Archivo", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--w-regular:400;--w-medium:500;--w-semi:600;--t-display-size:3rem;--t-display-weight:600;--t-display-lh:1.05;--t-display-track:-.02em;--t-h1-size:2.25rem;--t-h1-weight:600;--t-h1-lh:1.1;--t-h1-track:-.015em;--t-h2-size:1.6875rem;--t-h2-weight:600;--t-h2-lh:1.2;--t-h2-track:-.01em;--t-h3-size:1.25rem;--t-h3-weight:600;--t-h3-lh:1.3;--t-h3-track:-.005em;--t-body-lg-size:1.125rem;--t-body-lg-weight:400;--t-body-lg-lh:1.55;--t-body-size:1rem;--t-body-weight:400;--t-body-lh:1.6;--t-body-sm-size:.875rem;--t-body-sm-weight:400;--t-body-sm-lh:1.55;--t-caption-size:.8125rem;--t-caption-weight:400;--t-caption-lh:1.45;--t-caption-track:.005em;--t-label-family:var(--font-mono);--t-label-size:.6875rem;--t-label-weight:500;--t-label-lh:1.2;--t-label-track:.12em;--t-label-case:uppercase;--t-data-family:var(--font-mono);--t-data-size:.875rem;--t-data-weight:400;--t-data-lh:1.5;--measure:68ch;--t-display:clamp(2.125rem, 1.7037rem + 1.728vw, var(--t-display-size));--t-h1:clamp(1.75rem, 1.5093rem + .988vw, var(--t-h1-size));--t-h2:clamp(1.375rem, 1.2245rem + .617vw, var(--t-h2-size));--t-h3:clamp(1.125rem, 1.0648rem + .247vw, var(--t-h3-size));--t-body-lg:clamp(1.0625rem, 1.0324rem + .123vw, var(--t-body-lg-size));--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:2.5rem;--s-8:3rem;--s-9:4rem;--s-10:5rem;--s-11:6.5rem;--section-y:clamp(3.5rem, 7vw, 6rem);--gutter:clamp(1.25rem, 5vw, 3rem);--page-max:72rem;--rail:10.5rem;--rail-gap:var(--s-8);--r-0:0;--r-1:2px;--r-2:3px;--r-max:3px;--rule:1px solid var(--border);--rule-strong:1px solid var(--border-strong);--rule-accent:2px solid var(--accent);--tick-gap:12px;--tick-minor-h:4px;--tick-major-h:9px;--tick-major-n:5;--dur-1:90ms;--dur-2:.14s;--ease:cubic-bezier(.2, 0, .2, 1);--focus:var(--accent);--focus-width:2px;--focus-offset:2px;color-scheme:light;--surface:#fff;--surface-2:#f4f5f6;--surface-3:#e7e9eb;--border:#c9ced2;--border-strong:#7e858a;--muted:#5c646a;--ink:#17191c;--accent:#2a5bd7;--accent-strong:#1d42a3;--accent-quiet:#ebf0fd;--on-accent:var(--surface)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface:#101315;--surface-2:#191d21;--surface-3:#23282c;--border:#3a4247;--border-strong:#646e74;--muted:#98a1a8;--ink:#e9ecee;--accent:#82a7fa;--accent-strong:#a9c3fc;--accent-quiet:#182742;--on-accent:#101315}}[data-theme=dark]{color-scheme:dark;--surface:#101315;--surface-2:#191d21;--surface-3:#23282c;--border:#3a4247;--border-strong:#646e74;--muted:#98a1a8;--ink:#e9ecee;--accent:#82a7fa;--accent-strong:#a9c3fc;--accent-quiet:#182742;--on-accent:#101315}[data-theme=light]{color-scheme:light;--surface:#fff;--surface-2:#f4f5f6;--surface-3:#e7e9eb;--border:#c9ced2;--border-strong:#7e858a;--muted:#5c646a;--ink:#17191c;--accent:#2a5bd7;--accent-strong:#1d42a3;--accent-quiet:#ebf0fd;--on-accent:#fff}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-body-size);font-weight:var(--t-body-weight);line-height:var(--t-body-lh);font-synthesis:none;font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{background:0 0;border:0}[hidden]{display:none!important}::selection{background:var(--accent-quiet);color:var(--ink)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--w-semi);text-wrap:balance}.t-display{font-size:var(--t-display);font-weight:var(--t-display-weight);line-height:var(--t-display-lh);letter-spacing:var(--t-display-track);max-width:20ch}h1,.t-h1{font-size:var(--t-h1);font-weight:var(--t-h1-weight);line-height:var(--t-h1-lh);letter-spacing:var(--t-h1-track);max-width:24ch}h2,.t-h2{font-size:var(--t-h2);font-weight:var(--t-h2-weight);line-height:var(--t-h2-lh);letter-spacing:var(--t-h2-track);max-width:28ch}h3,.t-h3{font-size:var(--t-h3);font-weight:var(--t-h3-weight);line-height:var(--t-h3-lh);letter-spacing:var(--t-h3-track);max-width:34ch}p{max-width:var(--measure)}.t-body-lg{font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh)}.t-body-sm{font-size:var(--t-body-sm-size);line-height:var(--t-body-sm-lh)}.t-caption{font-size:var(--t-caption-size);line-height:var(--t-caption-lh);letter-spacing:var(--t-caption-track);color:var(--muted)}.t-muted{color:var(--muted)}.prose>*+*{margin-top:var(--s-4)}.prose p,.prose li{max-width:var(--measure)}.prose ul{padding:0;list-style:none}.prose li{padding-left:var(--s-5);position:relative}.prose li+li{margin-top:var(--s-2)}.prose li:before{content:"";background:var(--border-strong);width:12px;height:1px;position:absolute;top:.7em;left:0}strong,b{font-weight:var(--w-semi)}a{color:var(--accent);text-decoration:none}.link{color:var(--accent);transition:color var(--dur-1) var(--ease);border-bottom:1px solid;padding-bottom:1px}.link:hover{color:var(--accent-strong)}.label{font-family:var(--t-label-family);font-size:var(--t-label-size);font-weight:var(--t-label-weight);line-height:var(--t-label-lh);letter-spacing:var(--t-label-track);text-transform:var(--t-label-case);color:var(--muted);white-space:nowrap;margin-inline-start:-.06em;display:block}.label--accent{color:var(--accent)}.label--ink{color:var(--ink)}.label--ruled{border-top:var(--rule);padding-top:var(--s-3)}.sec-index{align-items:baseline;gap:var(--s-3);font-family:var(--t-label-family);font-size:var(--t-label-size);font-weight:var(--t-label-weight);line-height:var(--t-label-lh);letter-spacing:var(--t-label-track);text-transform:uppercase;color:var(--muted);display:flex}.sec-index__num{color:var(--ink);font-variant-numeric:tabular-nums}.sec-index__num:after{content:"/";color:var(--border-strong);font-weight:var(--w-regular);margin-inline-start:var(--s-3)}.data{font-family:var(--t-data-family);font-size:var(--t-data-size);font-weight:var(--t-data-weight);line-height:var(--t-data-lh);font-variant-numeric:tabular-nums;color:var(--ink)}.data--muted{color:var(--muted)}.tag{font-family:var(--t-label-family);font-size:var(--t-label-size);font-weight:var(--t-label-weight);letter-spacing:var(--t-label-track);text-transform:uppercase;border:1px solid var(--border-strong);border-radius:var(--r-1);color:var(--ink);white-space:nowrap;padding:.42em .6em .38em;line-height:1;display:inline-block}.tag--accent{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-quiet)}.kv{gap:var(--s-4);display:grid}.kv__row{gap:var(--s-1);border-top:var(--rule);padding-top:var(--s-3);display:grid}.kv__v{font-size:var(--t-body-size)}@media (width>=48rem){.kv__row{gap:var(--s-5);grid-template-columns:12rem minmax(0,1fr);align-items:start}}.rule{height:var(--tick-major-h);border-top:var(--rule);background-position:0 0,0 0;background-repeat:repeat-x;background-size:100% var(--tick-minor-h), 100% var(--tick-major-h);background-image: repeating-linear-gradient(90deg, var(--border) 0 1px, transparent 1px var(--tick-gap)),  repeating-linear-gradient(90deg, var(--border-strong) 0 1px, transparent 1px calc(var(--tick-gap) * var(--tick-major-n)))}.rule--plain{background-image:none;height:0}.rule--arc{background:var(--border);background-image:none;border-top:0;height:14px;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%2014'%3E%3Cpath%20d='M0%2011%20Q120%203%20240%2011'%20fill='none'%20stroke='%23000'%20stroke-width='1'/%3E%3Cpath%20d='M0.5%2011.2v2.6M40.5%208.9v2.2M80.5%207.2v2.2M120.5%206.6v3.2M160.5%207.2v2.2M200.5%208.9v2.2M239.5%2011.2v2.6'%20stroke='%23000'%20stroke-width='1'%20fill='none'/%3E%3C/svg%3E");mask-size:240px 14px;mask-repeat:repeat-x}.rule-v{width:var(--tick-major-h);border-left:var(--rule);background-repeat:repeat-y;background-size:var(--tick-minor-h) 100%, var(--tick-major-h) 100%;background-image:repeating-linear-gradient(180deg, var(--border) 0 1px, transparent 1px var(--tick-gap)), repeating-linear-gradient(180deg, var(--border-strong) 0 1px, transparent 1px calc(var(--tick-gap) * var(--tick-major-n)))}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section--tight{padding-block:calc(var(--section-y) * .7)}.section--band{background:var(--surface-2)}.rail{gap:var(--s-5);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=64rem){.rail{grid-template-columns:var(--rail) minmax(0, 1fr);gap:var(--rail-gap);align-items:start}.rail__label{position:sticky;top:6rem}}@media (prefers-reduced-motion:reduce){.rail__label{position:static}}.stack{gap:var(--s-5);display:grid}.stack-6{gap:var(--s-6);display:grid}.stack-8{gap:var(--s-8);display:grid}.cluster{gap:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-3) var(--s-5);border-radius:var(--r-1);font-family:var(--font-sans);font-size:var(--t-body-size);font-weight:var(--w-medium);letter-spacing:-.005em;cursor:pointer;text-align:center;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000;line-height:1.2;display:inline-flex}.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--primary:active{background:var(--accent-strong)}.btn--ghost{color:var(--ink);border-color:var(--border-strong);background:0 0}.btn--ghost:hover{border-color:var(--ink);background:var(--surface-2)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn--block{width:100%}.site-header{z-index:10;background:var(--surface);border-bottom:var(--rule);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:4rem;display:flex}.wordmark{width:auto;height:20px;display:block}@media (width>=48rem){.wordmark{height:22px}}.site-footer{border-top:var(--rule);padding-block:var(--s-8);color:var(--muted)}.site-footer .data{color:var(--muted)}.hero{padding-block:clamp(3rem,9vw,7rem) 0}.hero__overline{margin-bottom:var(--s-5);white-space:normal}.hero__h{margin-bottom:var(--s-5)}.hero__sub{font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh);color:var(--muted);max-width:52ch;margin-bottom:var(--s-7)}.hero__cta{gap:var(--s-3)}.hero__note{margin-top:var(--s-4)}.spec-strip{margin-top:var(--s-9);border-top:var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.spec-strip__cell{padding:var(--s-4) 0;border-bottom:var(--rule);gap:var(--s-2);display:grid}@media (width>=48rem){.spec-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.spec-strip__cell{padding:var(--s-5) var(--s-5) var(--s-5) 0;border-bottom:0;border-right:var(--rule)}.spec-strip__cell:last-child{border-right:0}.spec-strip__cell+.spec-strip__cell{padding-left:var(--s-5)}}.quote{border-left:var(--rule-accent);padding-left:var(--s-5);margin-block:var(--s-6)}.quote__text{font-size:var(--t-h2);font-weight:var(--w-semi);line-height:var(--t-h2-lh);letter-spacing:var(--t-h2-track);text-wrap:balance;max-width:30ch}.quote__attr{margin-top:var(--s-3)}.cmp{border-top:var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.cmp__head{display:none}.cmp__row{border-bottom:var(--rule);padding-block:var(--s-5);gap:0;display:grid}.cmp__dim{margin-bottom:var(--s-4)}.cmp__cell{gap:var(--s-2);padding-block:var(--s-3);display:grid}.cmp__cell p{font-size:var(--t-body-size);max-width:46ch}.cmp__cell--tool p{color:var(--muted)}.cmp__cell--sys{background:var(--surface-2);border-top:var(--rule-accent);padding:var(--s-4);border-radius:var(--r-2)}.cmp__tag{margin-bottom:var(--s-1)}@media (width>=60rem){.cmp{grid-template-columns:11rem minmax(0,1fr) minmax(0,1fr)}.cmp__head,.cmp__row{display:contents}.cmp__tag{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.cmp__h{padding:var(--s-4) var(--s-5);border-bottom:var(--rule-strong);align-self:end}.cmp__h--sys{background:var(--surface-2);border-top:var(--rule-accent);border-bottom:var(--rule-strong)}.cmp__dim{padding:var(--s-5) var(--s-5) var(--s-5) 0;border-bottom:var(--rule);white-space:normal;align-self:start;margin-bottom:0}.cmp__cell{padding:var(--s-5);border-bottom:var(--rule);border-radius:0;align-content:start}.cmp__cell--sys{background:var(--surface-2);border-top:0}.cmp__row:last-of-type .cmp__cell--sys{border-bottom:var(--rule-strong)}}.cmp__verdict{border-top:var(--rule-strong);padding-top:var(--s-5);margin-top:var(--s-6);font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh);max-width:var(--measure)}@media (width>=60rem){.cmp__verdict{margin-top:var(--s-7);grid-column:1/-1}}.layers{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.layer{gap:var(--s-3);padding-block:var(--s-5);border-top:var(--rule);display:grid}.layer:first-child{border-top:var(--rule-strong)}.layer p{color:var(--muted);max-width:44ch}.layer__n{color:var(--ink)}@media (width>=60rem){.layers{border-top:var(--rule-strong);grid-template-columns:repeat(3,minmax(0,1fr))}.layer{border-top:0;border-left:var(--rule);padding:var(--s-6) var(--s-5);align-content:start}.layer:first-child{border-top:0;border-left:0;padding-left:0}}.ladder{gap:0 var(--s-5);grid-template-columns:auto minmax(0,1fr);display:grid}.ladder__spine{grid-row:1/-1}.ladder__rungs{display:grid}.rung{gap:var(--s-2);padding:var(--s-5) 0;border-top:var(--rule);display:grid;position:relative}.rung:first-child{border-top:0}.rung__meta{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.rung p{color:var(--muted);max-width:58ch}.rung--wedge{background:var(--surface-2);border-left:var(--rule-accent);padding:var(--s-5);margin-left:calc(var(--s-5) * -1);border-radius:0 var(--r-2) var(--r-2) 0}@media (width>=64rem){.rung{gap:var(--s-3) var(--s-6);grid-template-columns:16rem minmax(0,1fr);align-items:start}.rung__meta{align-items:start;gap:var(--s-2);flex-direction:column;grid-column:1}.rung__body{grid-column:2}.rung h3{margin-bottom:var(--s-2)}}.proof__lede{font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh);max-width:54ch}.proof__ledger{margin-top:var(--s-7)}.faq{border-top:var(--rule-strong)}.faq__item{border-bottom:var(--rule)}.faq__q{align-items:center;gap:var(--s-4);padding:var(--s-5) 0;cursor:pointer;font-size:var(--t-h3);font-weight:var(--w-semi);line-height:var(--t-h3-lh);letter-spacing:var(--t-h3-track);list-style:none;display:flex}.faq__q::-webkit-details-marker{display:none}.faq__n{font-family:var(--font-mono);font-size:var(--t-label-size);font-weight:var(--w-medium);letter-spacing:var(--t-label-track);color:var(--muted);flex:0 0 2.25rem;padding-top:.35em}.faq__qt{flex:1;max-width:46ch}.faq__sign{flex:0 0 12px;width:12px;height:12px;margin-left:auto;position:relative}.faq__sign:before,.faq__sign:after{content:"";background:var(--ink);transition:opacity var(--dur-1) var(--ease);position:absolute}.faq__sign:before{height:1px;inset:5px 0 auto}.faq__sign:after{width:1px;inset:0 auto 0 5px}.faq__item[open] .faq__sign:after{opacity:0}.faq__a{padding:0 0 var(--s-6) 0}.faq__a p{color:var(--muted);max-width:var(--measure)}@media (width>=48rem){.faq__a{padding-left:2.25rem}}@media (prefers-reduced-motion:reduce){.faq__sign:before,.faq__sign:after{transition:none}}.book{gap:var(--s-8);display:grid}@media (width>=64rem){.book{gap:var(--s-11);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}.book__copy p{color:var(--muted);max-width:48ch}.form{gap:var(--s-5);display:grid}.field{gap:var(--s-2);display:grid}.field__label{font-family:var(--font-sans);font-size:var(--t-body-sm-size);font-weight:var(--w-medium);line-height:var(--t-body-sm-lh);color:var(--ink)}.input,.select,.textarea{width:100%;min-height:44px;padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--r-1);font-size:var(--t-body-size);transition:border-color var(--dur-1) var(--ease)}.textarea{resize:vertical;min-height:7rem;line-height:var(--t-body-lh)}.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:1}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink)}.select{appearance:none;padding-right:var(--s-8);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.field__hint{color:var(--muted)}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--ink);border-width:2px}.field__error{font-family:var(--font-sans);font-size:var(--t-body-sm-size);font-weight:var(--w-medium);line-height:var(--t-body-sm-lh);color:var(--ink)}.field__error:before{content:"! "}.hp{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.form__consent{color:var(--muted)}.form__status{border-left:var(--rule-strong);padding-left:var(--s-4)}.field--group{border:0;margin:0;padding:0}.field--group legend{margin-bottom:var(--s-2);padding:0}.check-group{gap:var(--s-2);display:grid}.check{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-1);cursor:pointer;transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);display:flex}.check:hover{border-color:var(--ink)}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:.15em}.check:has(input:checked){background:var(--accent-quiet);border-color:var(--accent)}.check input:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.field--error .check{border-color:var(--ink)}:focus{outline:none}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);border-radius:var(--r-1)}.faq__q:focus-visible{outline-offset:0}.skip-link{left:var(--gutter);z-index:100;padding:var(--s-3) var(--s-4);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--r-1);position:absolute;top:-6rem}.skip-link:focus-visible{top:var(--s-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-contrast:more){:root{--border:var(--border-strong)}.link{border-bottom-width:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root{--surface:#fff;--surface-2:#fff;--surface-3:#fff;--border:#c9ced2;--border-strong:#7e858a;--muted:#5c646a;--ink:#17191c;--accent:#17191c;--accent-strong:#17191c;--accent-quiet:#fff}.site-header,.site-footer,.form,.btn,.rule--arc,.skip-link{display:none!important}.faq__item{border-bottom:1px solid #c9ced2}.faq__a{display:block!important}.cmp__cell--sys{background:#fff;border-left:2px solid #17191c}a[href^=http]:after{content:" (" attr(href) ")";color:#5c646a;font-size:.8em}.section{padding-block:var(--s-6);break-inside:avoid}}span[data-astro-cid-qisgtjgl]{color:var(--ink);display:inline-flex}span[data-astro-cid-qisgtjgl] svg{width:auto;height:100%;display:block}
