:root{--font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-text: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--step--2: clamp(.69rem, .66rem + .15vw, .76rem);--step--1: clamp(.83rem, .79rem + .2vw, .92rem);--step-0: clamp(1rem, .95rem + .25vw, 1.1rem);--step-1: clamp(1.2rem, 1.12rem + .4vw, 1.42rem);--step-2: clamp(1.44rem, 1.31rem + .65vw, 1.85rem);--step-3: clamp(1.73rem, 1.53rem + 1vw, 2.4rem);--step-4: clamp(2.07rem, 1.77rem + 1.5vw, 3.12rem);--step-5: clamp(2.49rem, 2.03rem + 2.3vw, 4.05rem);--step-6: clamp(2.99rem, 2.3rem + 3.4vw, 5.27rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--measure: 68ch;--container: 1240px;--container-wide: 1440px;--radius: 3px;--radius-lg: 6px;--hairline: 1px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-snap: cubic-bezier(.2, .9, .25, 1)}:root,[data-theme=light]{--bg: #fbfbfa;--bg-2: #f2f2f0;--bg-3: #eaeae7;--surface: #ffffff;--ink: #16181d;--ink-2: #3a3d45;--ink-3: #6b6f78;--ink-faint: #9a9ea6;--line: #dcdcd8;--line-strong: #c3c3be;--accent: #2f5fe0;--accent-hover: #1f47b8;--accent-soft: rgba(47, 95, 224, .1);--accent-2: #0b8f6a;--danger: #c8492f;--shadow: 0 1px 2px rgba(22, 24, 29, .06), 0 8px 24px rgba(22, 24, 29, .06);--shadow-sm: 0 1px 2px rgba(22, 24, 29, .08);--grid-line: rgba(22, 24, 29, .045);color-scheme:light}[data-theme=dark]{--bg: #0c0e12;--bg-2: #12151b;--bg-3: #191d25;--surface: #14171e;--ink: #f4f5f7;--ink-2: #c4c8d0;--ink-3: #8b909b;--ink-faint: #5c626e;--line: #262b34;--line-strong: #363c47;--accent: #5b86ff;--accent-hover: #7c9dff;--accent-soft: rgba(91, 134, 255, .14);--accent-2: #2bd39a;--danger: #ff6b52;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--grid-line: rgba(255, 255, 255, .04);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-text);font-size:var(--step-0);line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1;transition:background-color .4s var(--ease-out),color .4s var(--ease-out);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}img,svg{display:block;max-width:100%}.tabular,.mono{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent);color:#fff}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:200;padding:var(--space-3) var(--space-5);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:var(--step--1);border-radius:var(--radius);transition:top .2s var(--ease-out)}.skip-link:focus{top:var(--space-4)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-5)}@media(min-width:768px){.container{padding-inline:var(--space-6)}}.container-wide{max-width:var(--container-wide)}.section{padding-block:var(--space-9)}@media(max-width:640px){.section{padding-block:var(--space-8)}}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:var(--space-2)}.index-num{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em}.hairline{border:none;border-top:var(--hairline) solid var(--line)}.prose{max-width:var(--measure);color:var(--ink-2);font-size:var(--step-0);line-height:1.72}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--step-2);margin-top:var(--space-8);color:var(--ink)}.prose h3{font-size:var(--step-1);margin-top:var(--space-6);color:var(--ink)}.prose h2+*,.prose h3+*{margin-top:var(--space-4)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in oklab,var(--accent) 40%,transparent)}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:var(--space-5)}.prose ul li{list-style:none;position:relative;padding-left:var(--space-4)}.prose ul li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}.prose ol{list-style:decimal}.prose ol li{padding-left:var(--space-2)}.prose li+li{margin-top:var(--space-2)}.prose blockquote{border-left:2px solid var(--accent);padding:var(--space-3) 0 var(--space-3) var(--space-5);font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);line-height:1.4}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-3);padding:.15em .4em;border-radius:var(--radius);border:1px solid var(--line)}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.6}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose figure{margin-block:var(--space-6)}.prose figcaption{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-3);margin-top:var(--space-3);text-align:center;letter-spacing:.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.grid-bg{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:40px 40px}.nav{position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);height:68px}.nav__brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.monogram{color:var(--ink);flex-shrink:0}.monogram__bg{fill:var(--ink)}.monogram__n{stroke:var(--bg)}.nav__brand-text{display:flex;flex-direction:column;line-height:1.1}.nav__brand-name{font-family:var(--font-display);font-weight:600;font-size:var(--step-0);letter-spacing:-.01em}.nav__brand-role{font-size:var(--step--2);color:var(--ink-3);letter-spacing:.02em}.nav__links{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.nav__link{position:relative;font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-2);padding:.5em .75em;border-radius:var(--radius);transition:color .2s var(--ease-out),background-color .2s var(--ease-out);display:inline-flex;align-items:center;gap:.35em}.nav__link:hover{color:var(--ink);background:var(--bg-2)}.nav__link--active{color:var(--accent)}.nav__link--active:after{content:"";position:absolute;left:.75em;right:.75em;bottom:.1em;height:2px;background:var(--accent);border-radius:2px}.nav__more{position:relative}.nav__chevron{transition:transform .2s var(--ease-out)}.nav__chevron--open{transform:rotate(180deg)}.nav__dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-2);display:grid;gap:1px}.nav__dropdown-link{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-2);padding:.6em .75em;border-radius:var(--radius);transition:color .15s,background-color .15s}.nav__dropdown-link:hover{background:var(--bg-2);color:var(--ink)}.nav__dropdown-link--active{color:var(--accent);background:var(--accent-soft)}.nav__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.nav__contact{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink);padding:.5em .9em;border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color .2s,color .2s,background-color .2s}.nav__contact:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--line);color:var(--ink-2);background:var(--bg-2);transition:color .2s,border-color .2s,background-color .2s}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle__icon{display:inline-flex}.nav__burger{display:none;width:38px;height:38px;align-items:center;justify-content:center;border-radius:var(--radius);border:1px solid var(--line);color:var(--ink);background:var(--bg-2)}.nav__mobile{overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg)}.nav__mobile-inner{padding-block:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.nav__mobile-label{font-size:var(--step--2);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--space-4);margin-bottom:var(--space-2)}.nav__mobile-label:first-child{margin-top:0}.nav__mobile-link{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);padding:.5em 0;border-bottom:1px solid var(--line)}.nav__mobile-link--active{color:var(--accent)}.nav__mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-5)}.nav__mobile-link--small{font-size:var(--step-0);font-family:var(--font-mono)}@media(max-width:900px){.nav__links,.nav__contact{display:none}.nav__burger{display:inline-flex}.nav__brand-role{display:none}}.footer{border-top:1px solid var(--line);background:var(--bg-2);padding-block:var(--space-8) var(--space-6);margin-top:var(--space-10)}.footer__top{display:grid;grid-template-columns:1.2fr 2fr;gap:var(--space-8);padding-bottom:var(--space-7);border-bottom:1px solid var(--line)}.footer__brand{max-width:34ch}.footer__mono{color:var(--ink);display:inline-block}.footer__tagline{margin-top:var(--space-4);font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);line-height:1.3;letter-spacing:-.01em}.footer__social{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.footer__social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);background:var(--surface);transition:color .2s,border-color .2s}.footer__social a:hover{color:var(--accent);border-color:var(--accent)}.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.footer__col{display:flex;flex-direction:column;gap:var(--space-2)}.footer__col-title{font-size:var(--step--2);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.footer__link{font-size:var(--step--1);color:var(--ink-2);transition:color .2s;width:fit-content}.footer__link:hover{color:var(--accent)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-5);gap:var(--space-4);flex-wrap:wrap}.footer__copy,.footer__loc{font-size:var(--step--2);color:var(--ink-3)}@media(max-width:768px){.footer__top{grid-template-columns:1fr;gap:var(--space-6)}.footer__cols{gap:var(--space-4)}}@media(max-width:480px){.footer__cols{grid-template-columns:1fr 1fr}}#main{min-height:60vh;outline:none}.route-fallback{position:fixed;top:68px;left:0;right:0;height:2px;overflow:hidden;z-index:90;background:var(--bg-3)}.route-fallback__bar{height:100%;width:40%;background:var(--accent);animation:route-loading 1s var(--ease-out) infinite}@keyframes route-loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}.back-to-top{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:80;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--ink);color:var(--bg);box-shadow:var(--shadow);transition:background-color .2s}.back-to-top:hover{background:var(--accent);color:#fff}
