@font-face{font-family:Haffer;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Haffer-VF.ttf) format("truetype-variations")}@font-face{font-family:Haffer XH;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/HafferXH-Regular.woff2) format("woff2")}@font-face{font-family:Haffer Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/HafferMono-Regular.woff2) format("woff2")}@font-face{font-family:Haffer Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/HafferMono-Medium.woff2) format("woff2")}@font-face{font-family:Brisa Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/BrisaPro-Regular.woff2) format("woff2")}:root{--bg: #f4f4f4;--bg-card: #ffffff;--fg: #201d1d;--muted: #6f6b6b;--line: rgba(32, 29, 29, .14);--accent: #a1ff62;--accent-ink: #16210c;--ink: #14110f;--ink-muted: #9b9794;--ink-line: rgba(244, 244, 244, .12);--grey-pill: #eaeaea;--login: #4f4c4c;--sans: "Haffer", system-ui, sans-serif;--display: "Haffer XH", "Haffer", system-ui, sans-serif;--mono: "Haffer Mono", ui-monospace, monospace;--script: "Brisa Pro", Georgia, serif;--ease: cubic-bezier(.16, 1, .3, 1);--pad-m: clamp(3.5rem, 6vw, 6rem);--pad-l: clamp(5rem, 8vw, 9rem);--gap-xl: clamp(1.5rem, 3vw, 3rem);--sidebar-w: 264px}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}@media (min-width: 901px){body:has(.site-sidebar){padding-left:0;transition:padding-left .4s var(--ease)}body.sidebar-revealed:has(.site-sidebar){padding-left:var(--sidebar-w)}}@media (max-width: 900px){body:has(.site-sidebar){padding-top:64px}}h1,h2,h3,h4{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:1.08}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}::selection{background:var(--accent);color:#000}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#main-content:focus{outline:none}[id]{scroll-margin-top:5rem}.wrap{width:min(92%,1240px);margin-inline:auto}.eyebrow{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.eyebrow.on-dark{color:var(--ink-muted)}.tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:.16rem .5rem;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;height:46px;padding:0 24px;border-radius:999px;font-size:.98rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.roll-in{display:inline-grid;overflow:hidden}.roll-in>span{grid-area:1 / 1;transition:transform .42s var(--ease)}.roll-in>span:nth-child(2){transform:translateY(112%)}.btn:hover .roll-in>span:nth-child(1){transform:translateY(-112%)}.btn:hover .roll-in>span:nth-child(2){transform:translateY(0)}.btn-primary{background:var(--fg);color:var(--bg)}.btn-primary:hover{background:#000}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{background:#8ee650}.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--fg)}.btn-ghost-dark{background:transparent;color:var(--bg);border:1px solid var(--ink-line)}.btn-ghost-dark:hover{border-color:var(--bg)}.btn-dark-pill{background:var(--login);color:var(--bg)}.btn-dark-pill:hover{background:#5c5959}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal].no-anim{transition:none}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
