@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2?dpl=dpl_BHrfCxHijwi77zvMLaspKiBesFg1)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--sans:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;--bg:#fafaf7;--panel:#f2f1ea;--ink:#1a1a18;--ink-2:#56544d;--ink-3:#8f8c82;--line:#e6e3d9;--line-2:#d6d2c5;--accent:#2f5c8f;--accent-soft:#eef2f7;--live:#3f9d6b;--gutter:clamp(20px, 5vw, 72px);--max:1080px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01";margin:0;font-size:16px;line-height:1.6}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.mono{font-family:var(--mono)}.tnum{font-variant-numeric:tabular-nums}.topbar{z-index:40;background:color-mix(in oklab, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{justify-content:space-between;align-items:center;height:60px;display:flex}.brand{font-family:var(--mono);color:var(--ink);align-items:center;gap:9px;font-size:13px;display:inline-flex}.brand .d{background:var(--live);border-radius:50%;flex:none;width:7px;height:7px}.brand b{font-weight:500}.brand i{color:var(--ink-3);font-style:normal}.tnav{align-items:center;gap:4px;display:flex}.tnav a{font-family:var(--mono);color:var(--ink-2);transition:.2s var(--ease);border-radius:7px;padding:7px 11px;font-size:12.5px}.tnav a:hover{color:var(--ink);background:var(--panel)}@media (max-width:680px){.tnav a:not(.tnav-cta){display:none}}.tnav-cta{color:var(--accent)!important}.hero{padding:clamp(64px,12vw,128px) 0 clamp(48px,7vw,72px)}.kicker{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);align-items:center;gap:10px;margin:0 0 26px;font-size:12.5px;display:flex}.kicker .dot{background:var(--live);width:6px;height:6px;animation:ping 2.6s var(--ease) infinite;border-radius:50%;box-shadow:0 0 #3f9d6b80}@keyframes ping{0%{box-shadow:0 0 #3f9d6b73}70%{box-shadow:0 0 0 7px #3f9d6b00}to{box-shadow:0 0 #3f9d6b00}}.hero h1{letter-spacing:-.025em;text-wrap:balance;max-width:18ch;margin:0 0 28px;font-size:clamp(34px,5.6vw,60px);font-weight:500;line-height:1.08}.hero h1 .q{color:var(--ink-3)}.hero-sub{color:var(--ink-2);text-wrap:pretty;max-width:56ch;margin:0;font-size:clamp(16px,1.9vw,19px);line-height:1.6}.hero-sub a{color:var(--accent);border-bottom:1px solid var(--line-2);transition:.2s var(--ease)}.hero-sub a:hover{border-color:var(--accent)}section.block{padding:clamp(56px,8vw,96px) 0}.s-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:8px;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:12px;display:flex}.eyebrow:before{content:"";background:var(--ink-3);width:18px;height:1px}.s-note{font-family:var(--mono);color:var(--ink-3);font-size:12px}.s-lead{letter-spacing:-.01em;color:var(--ink);text-wrap:balance;max-width:42ch;margin:18px 0 0;font-size:clamp(17px,2.1vw,22px);font-weight:500;line-height:1.45}.plist{grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;display:grid}@media (max-width:680px){.plist{grid-template-columns:1fr}}.pcard{border:1px solid var(--line);background:var(--bg);transition:border-color .25s var(--ease), background .25s var(--ease);border-radius:16px;flex-direction:column;gap:14px;padding:30px;display:flex;position:relative}.pcard:hover{border-color:var(--line-2)}.pcard-head{align-items:center;gap:12px;display:flex}.pcard-head h3{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600}.badge{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:400}.badge.live{color:var(--live);border-color:color-mix(in oklab, var(--live) 35%, var(--line-2))}.pcard-desc{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:14.5px;line-height:1.55}.pcard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-top:auto;padding-top:18px;display:flex}.pcard-metric{align-items:baseline;gap:8px;display:flex}.pcard-metric .n{font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);font-size:21px;font-weight:500}.pcard-metric .u{color:var(--ink-3);font-size:12.5px}.pcard-link{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;transition:color .2s var(--ease);font-size:12.5px}.pcard[href]:hover .pcard-link{color:var(--accent)}.pcard.feat{grid-column:1/-1;grid-template-columns:1.5fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(30px,4vw,44px);display:grid}.pcard.feat .pcard-body{flex-direction:column;gap:14px;display:flex}.pcard.feat .pcard-head h3{font-size:clamp(26px,3vw,34px)}.pcard.feat .pcard-desc{max-width:46ch;font-size:15.5px}.pcard.feat .pcard-big{text-align:right}.pcard.feat .pcard-big .n{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);font-size:clamp(48px,7vw,84px);font-weight:500;line-height:.9;display:block}.pcard.feat .pcard-big .u{font-family:var(--mono);color:var(--ink-3);letter-spacing:.02em;font-size:12.5px}@media (max-width:680px){.pcard.feat{grid-template-columns:1fr;gap:20px}.pcard.feat .pcard-big{text-align:left}}.build-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;display:grid}@media (max-width:760px){.build-grid{grid-template-columns:1fr}}.build{border:1px solid var(--line);background:var(--bg);transition:.25s var(--ease);border-radius:16px;flex-direction:column;gap:16px;padding:30px;display:flex}.build:hover{border-color:var(--line-2);box-shadow:0 16px 40px -28px #1a1a1866}.build-top{justify-content:space-between;align-items:center;display:flex}.build-role{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.build-when{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.build h3{letter-spacing:-.015em;margin:0;font-size:24px;font-weight:600}.build p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.build-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.chip{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:3px 9px;font-size:11px}.build-link{font-family:var(--mono);color:var(--accent);align-items:center;gap:6px;margin-top:6px;font-size:12.5px;display:inline-flex}.weekend{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;display:grid;overflow:hidden}@media (max-width:820px){.weekend{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.weekend{grid-template-columns:1fr}}.wk{background:var(--bg);transition:background .2s var(--ease);flex-direction:column;gap:9px;padding:20px 22px;display:flex}.wk:hover{background:var(--panel)}a.wk{text-decoration:none}a.wk:hover .wk-n{color:var(--accent)}.wk-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wk-n{letter-spacing:-.01em;font-size:15px;font-weight:600}.wk-s{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;flex:none;font-size:11px}.wk-d{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:13px;line-height:1.45}.work-wrap{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px;display:grid}@media (max-width:820px){.work-wrap{grid-template-columns:1fr}}.ww{border:1px solid var(--line);background:var(--bg);transition:.25s var(--ease);border-radius:16px;flex-direction:column;gap:12px;padding:28px;display:flex}.ww:hover{border-color:var(--line-2)}.ww-k{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.ww h3{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.ww p{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:14.5px;line-height:1.55}.ww-foot{font-family:var(--mono);color:var(--ink-3);margin-top:auto;padding-top:6px;font-size:12px}.contact{border-top:1px solid var(--line);padding:clamp(64px,9vw,112px) 0}.contact h2{letter-spacing:-.02em;text-wrap:balance;max-width:20ch;margin:0 0 30px;font-size:clamp(26px,4vw,42px);font-weight:500;line-height:1.1}.contact h2 a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:5px;transition:.2s var(--ease)}.contact h2 a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.links{flex-wrap:wrap;gap:10px;display:flex}.lnk{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line-2);transition:.2s var(--ease);border-radius:9px;align-items:center;gap:8px;padding:10px 15px;font-size:13px;display:inline-flex}.lnk:hover{border-color:var(--accent);color:var(--accent)}.foot{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-3);padding:34px 0 44px;font-size:12.5px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.foot a:hover{color:var(--accent)}.foot-links{gap:18px;display:flex}.legal-page{padding:clamp(56px,9vw,96px) 0 clamp(64px,10vw,112px)}.legal-head{border-bottom:1px solid var(--line);margin-bottom:clamp(32px,5vw,56px);padding-bottom:28px}.legal-eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;margin-bottom:14px;font-size:12px;display:flex}.legal-eyebrow:before{content:"";background:var(--ink-3);width:18px;height:1px}.legal-title{letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(36px,6vw,64px);font-weight:500;line-height:1}.legal-subtitle{color:var(--ink-2);max-width:60ch;margin:0;font-size:16px;line-height:1.5}.legal-body{grid-template-columns:200px 1fr;align-items:start;gap:clamp(28px,5vw,64px);display:grid}@media (max-width:820px){.legal-body{grid-template-columns:1fr}}.legal-toc{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:76px}.legal-toc-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;font-size:10px}.legal-toc a{font-family:var(--mono);color:var(--ink-3);border-bottom:1px dashed var(--line);transition:color .2s var(--ease), padding .2s var(--ease);padding:5px 0;font-size:11.5px}.legal-toc a:hover{color:var(--accent);padding-left:6px}@media (max-width:820px){.legal-toc{flex-flow:wrap;gap:6px;margin-bottom:24px;position:static}.legal-toc a{border-bottom:none;border:1px solid var(--line);border-radius:6px;padding:4px 10px}}.legal-section{max-width:64ch;margin-bottom:44px;scroll-margin-top:76px}.legal-section h2{letter-spacing:-.01em;margin:0 0 10px;font-size:clamp(18px,2vw,22px);font-weight:600}.legal-section .num{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:400;display:block}.legal-section h3{margin:24px 0 8px;font-size:15px;font-weight:600}.legal-section p,.legal-section ul{color:var(--ink-2);text-wrap:pretty;margin:0 0 12px;font-size:14.5px;line-height:1.65}.legal-section ul{padding-left:18px}.legal-section li{margin-bottom:5px}.field-block{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:10px;margin:12px 0;padding:16px 20px;font-size:14px;line-height:1.6}.field-block strong{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10.5px;font-weight:500;display:block}.field-block a{color:var(--accent)}.placeholder{background:var(--accent-soft);color:var(--accent);font-family:var(--mono);border-radius:3px;padding:1px 5px;font-size:.9em}.hint-note{color:var(--ink-3);margin-top:20px;font-size:13px}.hint-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10.5px;display:block}.lnk-inline{color:var(--accent);border-bottom:1px solid var(--line-2);transition:border-color .2s var(--ease)}.lnk-inline:hover{border-color:var(--accent)}.products-quote{color:var(--ink-3);text-align:center;max-width:44ch;margin:44px auto 0;font-size:clamp(15px,1.8vw,18px);font-style:italic;line-height:1.5}.reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(14px)}.reveal.vis{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}
