@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/space-grotesk-latin-600-normal.DjKNqYRj.woff2)format("woff2"),url(/_astro/space-grotesk-latin-600-normal.BflQw4A9.woff)format("woff")}:root{color-scheme:dark;--c-bg:#0b0f14;--c-surface:#121a26;--c-surface-2:#1a2433;--c-line:#263142;--c-line-strong:#5a6b82;--c-text:#f8fafc;--c-text-muted:#a8b4c3;--c-text-subtle:#8494a7;--c-accent:#38bdf8;--c-accent-hover:#7dd3fc;--c-accent-2:#22d3ee;--c-accent-deep:#0ea5e9;--c-accent-tint:#0f2433;--c-ok:#4ade80;--c-ok-tint:#10291c;--c-on-accent:#0b0f14;--f-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--f-body:"Inter", ui-sans-serif, system-ui, sans-serif;--t-xs:.75rem;--t-sm:.875rem;--t-nav:.9375rem;--t-base:clamp(1rem, .96rem + .2vw, 1.0625rem);--t-lg:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--t-xl:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--t-2xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--t-3xl:clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);--t-display:clamp(2.5rem, 1.6rem + 4.2vw, 4.5rem);--lh-tight:1.05;--lh-heading:1.15;--lh-snug:1.5;--lh-body:1.65;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--section:clamp(4rem, 2.5rem + 6vw, 7rem);--gutter:clamp(1.25rem, .5rem + 3vw, 2.5rem);--maxw:72rem;--measure:65ch;--r-1:.375rem;--r-2:.75rem;--r-pill:999px}*,:before,:after{box-sizing:border-box}html{background:var(--c-bg)}body{color:var(--c-text);background:var(--c-bg);font-family:var(--f-body);font-size:var(--t-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}img,svg{max-width:100%;display:block}a{color:var(--c-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--c-accent-hover)}:focus-visible{outline:3px solid var(--c-accent-2);outline-offset:3px;border-radius:var(--r-1)}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.02em;font-weight:600;line-height:var(--lh-heading);text-wrap:balance;margin:0}p{margin:0}p,li{max-width:var(--measure)}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.skip{left:-999px;top:var(--s-4);z-index:10;padding:var(--s-2) var(--s-4);background:var(--c-accent);color:var(--c-on-accent);position:absolute}.skip:focus{left:var(--s-4)}.eyebrow{color:var(--c-accent-2);font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:1.4}.site-header{border-bottom:1px solid var(--c-line);background:var(--c-bg)}.site-header .wrap{justify-content:space-between;align-items:center;column-gap:var(--s-6);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--s-3);min-height:3.5rem;color:var(--c-text);text-decoration:none;display:inline-flex}.brand:hover{color:var(--c-text)}.brand-emblem{flex:none;width:2.25rem;height:2.25rem}.brand-wordmark{width:10.625rem;height:auto}.nav{width:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));border-top:1px solid var(--c-line);grid-template-columns:repeat(4,1fr);display:grid}.nav a{min-height:2.75rem;padding-inline:var(--s-3);color:var(--c-text-muted);font-size:var(--t-nav);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--c-text)}.nav a[aria-current=page]:after{content:"";left:var(--s-3);right:var(--s-3);background:var(--c-accent);border-radius:2px;height:2px;position:absolute;bottom:-1px}@media (width>=768px){.site-header .wrap{flex-wrap:nowrap;min-height:4.5rem}.brand{min-height:4.5rem}.brand-emblem{width:2.75rem;height:2.75rem}.brand-wordmark{width:13.625rem}.nav{gap:var(--s-1);border:0;width:auto;margin:0;display:flex}.nav a{min-height:4.5rem}.nav a[aria-current=page]:after{bottom:0}}#main{min-height:60vh}.actions{gap:var(--s-3);flex-direction:column;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:3rem;padding:0 var(--s-5);border-radius:var(--r-1);border:1px solid #0000;font-size:1rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--c-accent);color:var(--c-on-accent)}.btn-primary:hover{background:var(--c-accent-hover);color:var(--c-on-accent)}.btn-secondary{border-color:var(--c-line-strong);color:var(--c-text)}.btn-secondary:hover{border-color:var(--c-accent);color:var(--c-text);background:var(--c-surface)}@media (width>=480px){.actions{flex-flow:wrap}}.hero{padding-block:var(--s-7) var(--section)}.hero-grid{gap:var(--s-6);align-items:center;display:grid}.hero-copy{gap:var(--s-5);display:grid}.hero h1{max-width:13ch;font-size:var(--t-display);line-height:var(--lh-tight);letter-spacing:-.03em}.hero h1 em{color:var(--c-accent);font-style:normal}.hero .lede{max-width:38rem;color:var(--c-text-muted);font-size:var(--t-lg);line-height:var(--lh-snug)}.hero .actions{margin-top:var(--s-2)}.hero-mark{aspect-ratio:1;order:-1;width:4.5rem;display:none;position:relative}.hero-mark img{object-fit:contain;width:100%;height:100%;position:relative}@media (width>=768px){.hero{padding-block:var(--s-9) var(--section)}.hero-grid{gap:var(--s-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero-mark{border:1px solid var(--c-line);border-radius:var(--r-2);background:radial-gradient(closest-side, #38bdf829, transparent 75%), repeating-linear-gradient(0deg, transparent 0 31px, #5a6b822e 31px 32px), repeating-linear-gradient(90deg, transparent 0 31px, #5a6b822e 31px 32px), var(--c-surface);order:0;justify-self:end;width:100%;max-width:22rem;display:block;overflow:hidden}.hero-mark img{padding:14%}}.hero-mobile-emblem{width:4.5rem;height:4.5rem}@media (width>=768px){.hero-mobile-emblem{display:none}}.section{padding-block:0 var(--section)}.section-head{gap:var(--s-3);margin-bottom:var(--s-6);display:grid}.section-head h2{font-size:var(--t-2xl)}.principles{gap:var(--s-4);counter-reset:p;margin:0;padding:0;list-style:none;display:grid}.principles li{max-width:none;padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-2);background:var(--c-surface);counter-increment:p}.principles li:before{content:"0" counter(p);margin-bottom:var(--s-4);color:var(--c-accent);font-family:var(--f-display);font-size:var(--t-sm);letter-spacing:.08em;font-weight:600;display:block}.principles h3{margin-bottom:var(--s-2);font-size:var(--t-xl)}.principles p{color:var(--c-text-muted)}@media (width>=768px){.principles{grid-template-columns:repeat(3,minmax(0,1fr))}}.page-head{gap:var(--s-4);padding-block:var(--s-7);display:grid}.page-head h1{font-size:var(--t-3xl)}.page-head .lede{color:var(--c-text-muted);font-size:var(--t-lg);line-height:var(--lh-snug)}@media (width>=768px){.page-head{padding-block:var(--s-9) var(--s-7)}}.projects{gap:var(--s-6);padding-bottom:var(--section);display:grid}.project{gap:var(--s-6);padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--r-2);background:var(--c-surface);display:grid}.project-head{gap:var(--s-4);align-content:start;display:grid}.project-meta{align-items:center;gap:var(--s-2) var(--s-4);color:var(--c-text-subtle);font-size:var(--t-sm);flex-wrap:wrap;display:flex}.badge{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:var(--c-accent-tint);color:var(--c-accent);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;padding:.25rem .625rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.badge[data-status=shipped]{background:var(--c-ok-tint);color:var(--c-ok)}.badge[data-status=planned]{background:var(--c-surface-2);color:var(--c-text-muted)}.project h2{font-size:var(--t-2xl)}.project-summary{color:var(--c-text-muted);font-size:var(--t-lg);line-height:var(--lh-snug)}.facts{gap:0;margin:0;display:grid}.facts div{gap:var(--s-1);padding-block:var(--s-4);border-top:1px solid var(--c-line);display:grid}.facts div:first-child{border-top:0;padding-top:0}.facts div:last-child{padding-bottom:0}.facts dt{color:var(--c-accent-2);font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:600}.facts dd{margin:0}.project-notes{padding-top:var(--s-5);border-top:1px solid var(--c-line);color:var(--c-text-muted);grid-column:1/-1}.project-notes h3{margin-bottom:var(--s-2);color:var(--c-text);font-size:var(--t-base);font-family:var(--f-body);letter-spacing:0;font-weight:600}.project-notes>:not(h3){max-width:var(--measure)}.project-notes p+p,.project-notes ul,.project-notes ol{margin-top:var(--s-3)}@media (width>=768px){.project{padding:var(--s-6)}}@media (width>=1024px){.project{column-gap:var(--s-8);padding:var(--s-7);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.facts div{gap:var(--s-5);grid-template-columns:8.5rem minmax(0,1fr)}.facts dt{padding-top:.3em}}.prose{padding-bottom:var(--section)}.prose h2{margin-top:var(--s-7);font-size:var(--t-2xl)}.prose h3{margin-top:var(--s-6);font-size:var(--t-xl)}.prose p,.prose ul,.prose ol{margin-top:var(--s-4)}.prose ul,.prose ol{padding-left:1.5rem}.site-footer{border-top:1px solid var(--c-line);color:var(--c-text-subtle);font-size:var(--t-sm)}.site-footer .wrap{justify-content:space-between;gap:var(--s-3) var(--s-6);padding-block:var(--s-6);flex-wrap:wrap;display:flex}.site-footer a{color:var(--c-text-muted)}.agent-list{gap:var(--s-4);grid-template-columns:1fr;list-style:none;display:grid}.prose .agent-list{padding:0}.agent-list li{border-left:2px solid var(--c-accent);background:var(--c-surface);padding:1.2rem}.agent-list strong{font-family:var(--f-display);font-size:1.1rem;display:block}@media (width>=768px){.agent-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
