:root{--bg:#ededef;--surface:#e6e6e9;--surface-hover:#dddde1;--surface-raised:#f5f5f7;--footer:#e2e2e6;--dark:#0a0a0b;--dark-hover:#141416;--line:#d8d8dc;--line-strong:#c9c9ce;--line-tag:#c2c2c8;--line-footer:#d0d0d5;--line-dark:#2a2a2d;--ink:#000;--ink-2:#3a3a40;--ink-3:#4a4a50;--ink-4:#5a5a60;--ink-5:#7a7a82;--green:#00d95a;--green-text:#00a845;--green-hover:#007223;--green-deep:#00351a;--font-sans:var(--font-geist), var(--font-space-grotesk), system-ui, sans-serif;--font-display:var(--font-space-grotesk), system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, monospace;--container:1320px;--gutter:40px;--header-h:76px;--ease:cubic-bezier(.2, .7, .2, 1)}@media (max-width:1024px){:root{--gutter:32px}}@media (max-width:640px){:root{--gutter:20px;--header-h:60px}}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-display)}a{color:var(--ink);transition:color .15s var(--ease);text-decoration:none}a:hover{color:var(--green-hover)}:focus-visible{outline:2px solid var(--green);outline-offset:2px}img,video,svg{display:block}.container{max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:12px;font-size:12px;display:flex}.eyebrow-rule:before{content:"";background:var(--green);width:28px;height:1px;display:block}@media (max-width:640px){.eyebrow{gap:10px;font-size:11px}.eyebrow-rule:before{width:22px}}@media (min-width:641px){.phone-only{display:none!important}}@media (max-width:640px){.no-phone{display:none!important}}.index{font-family:var(--font-mono);color:var(--green-text);font-size:12px}.chip{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--line-tag);color:var(--ink-2);align-items:center;padding:7px 12px;font-size:11px;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-quint:cubic-bezier(.83, 0, .17, 1)}.word{vertical-align:top;margin:-.12em 0 -.16em;padding:.12em 0 .16em;display:inline-block;overflow:clip}.word>span{display:inline-block}@keyframes word-in{0%{translate:0 110%}to{translate:0}}@keyframes rise-in{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){.words .word>span{animation:word-in 1s var(--ease-out-expo) both;animation-delay:calc(var(--d,0s) + var(--i,0) * 55ms)}.enter{animation:rise-in 1s var(--ease-out-expo) both;animation-delay:var(--d,0s)}@supports (animation-timeline:view()){.words-scroll .word>span{animation:linear both word-in;animation-timeline:view();animation-range:entry calc(20% + var(--i,0) * 4%) entry calc(80% + var(--i,0) * 4%)}.reveal{animation:linear both rise-in;animation-timeline:view();animation-range:entry entry 55%}}}::view-transition-group(site-header){z-index:10;animation:none}::view-transition-old(.page-fade){animation:.16s ease-in reverse both fade-in}::view-transition-new(.page-fade){animation:.32s ease-out 80ms both fade-in}::view-transition-old(.nav-forward){animation:.6s var(--ease-in-out-quint) both vt-push-left}::view-transition-new(.nav-forward){animation:.6s var(--ease-in-out-quint) both vt-wipe-from-right}::view-transition-old(.nav-back){animation:.6s var(--ease-in-out-quint) both vt-push-right}::view-transition-new(.nav-back){animation:.6s var(--ease-in-out-quint) both vt-wipe-from-left}::view-transition-group(.case-move){animation-duration:.5s;animation-timing-function:var(--ease-out-expo)}::view-transition-old(.case-out){animation:.18s ease-in reverse both fade-in}::view-transition-new(.case-in){animation:.45s var(--ease-out-expo) .12s both rise-in}@keyframes vt-push-left{to{opacity:.4;translate:-80px}}@keyframes vt-push-right{to{opacity:.4;translate:80px}}@keyframes vt-wipe-from-right{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes vt-wipe-from-left{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
