@font-face{font-family:Hanken;src:url(/fonts/kinetic/hanken-grotesk-variable-subset.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:InterK;src:url(/fonts/kinetic/inter-variable-subset.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrainsK;src:url(/fonts/kinetic/jetbrains-mono-variable-subset.woff2)format("woff2");font-weight:100 800;font-display:swap}.kinetic{--paper:#f8f9fa;--white:#fff;--graphite:#121212;--ink:#191c1d;--muted:#5f5e5e;--line:#e0e0e0;--dark-line:#343738;--orange:#ff5733;--orange-deep:#b72301;--cyan:#00ced1;--canvas:1440px;--margin:clamp(1.25rem,4.45vw,4rem);background:var(--paper);color:var(--ink);font-synthesis:none;overflow-wrap:anywhere;margin:0;font:400 1rem/1.65 InterK,Inter,ui-sans-serif,system-ui,sans-serif}.kinetic *{box-sizing:border-box}.kinetic a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}.kinetic a:hover{text-decoration-color:var(--orange-deep)}.kinetic :focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 6px var(--orange)}.kinetic main:focus{outline:none}.skip-link{z-index:50;background:var(--white);padding:.7rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.ks-canvas{width:min(100%,var(--canvas));padding-inline:var(--margin);margin-inline:auto}.ks-header{z-index:5;min-height:5.5rem;padding:0 var(--margin);border-bottom:1px solid var(--line);background:#f8f9faf0;justify-content:space-between;align-items:center;display:flex;position:relative}.ks-brand{text-transform:uppercase;font:700 clamp(.82rem,1.2vw,1rem)/1 Hanken,ui-sans-serif,sans-serif;text-decoration:none}.ks-header nav,.ks-footer nav{align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.ks-header nav a{min-height:44px;color:var(--muted);align-items:center;font-size:.86rem;text-decoration:none;display:flex}.ks-header nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--orange)}.ks-footer{padding:4rem var(--margin);border-top:2px solid var(--orange);background:var(--graphite);color:var(--paper);justify-content:space-between;align-items:end;gap:2rem;display:flex}.ks-footer strong{text-transform:uppercase;font:600 1rem Hanken,sans-serif;display:block}.ks-footer span{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin-top:.65rem;font:500 .62rem/1.5 JetBrainsK,monospace;display:block}.ks-footer a{letter-spacing:.09em;text-transform:uppercase;align-items:center;min-height:44px;font:500 .65rem JetBrainsK,monospace;display:flex}.ks-label{letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.5rem;font:600 .68rem/1.5 JetBrainsK,ui-monospace,monospace}.ks-label:before{content:"";vertical-align:.25em;border-top:1px solid;width:2.75rem;margin-right:.8rem;display:inline-block}.ks-label--orange{color:var(--orange-deep)}.ks-label--cyan{color:var(--cyan)}.ks-label--muted{color:var(--muted)}.ks-trace-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ks-trace-field i{opacity:.11;border:1px solid;display:block;position:absolute;transform:rotate(-23deg)}.ks-trace-field i:first-child{width:55vw;height:1px;top:27%;right:-5%}.ks-trace-field i:nth-child(2){border-radius:50%;width:38vw;height:38vw;top:8%;right:-12%}.ks-trace-field i:nth-child(3){width:30vw;height:1px;bottom:20%;left:-5%;transform:rotate(37deg)}.ks-trace-field i:nth-child(4){background:currentColor;width:12px;height:12px;top:28%;right:20%}.ks-proof{border-block:1px solid var(--line);margin:3rem 0;padding:1.75rem 0}.ks-proof .ks-label{margin-bottom:.8rem}.ks-proof h3{margin:0;font-size:1.35rem}.ks-proof__body{color:var(--muted)}.ks-proof>a{min-height:44px;color:var(--orange-deep);align-items:center;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.kinetic *{transition:none!important;animation:none!important}}@media (forced-colors:active){.ks-label:before{border-color:canvastext}.ks-trace-field{display:none}}@media (width<=600px){.ks-header{min-height:4.5rem}.ks-header nav{gap:.4rem}.ks-header nav a{font-size:.66rem}.ks-brand{font-size:.65rem}.ks-footer{flex-direction:column;align-items:start}.ks-footer nav{flex-wrap:wrap}}
