@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin-400-normal.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin-500-normal.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-latin-700-normal.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-300-italic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Space Grotesk Fallback;src:local(Helvetica Neue),local(Arial);size-adjust:101%;ascent-override:98%;descent-override:30%}*,:before,:after{box-sizing:border-box;margin:0}html{color-scheme:dark;scroll-behavior:smooth}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;line-height:1.65;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:2px}::selection{background:var(--c-accent);color:var(--c-onAccent)}h1,h2,h3{font-family:"Space Grotesk", "Space Grotesk Fallback", var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.15}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}.serif{font-family:var(--font-serif);letter-spacing:0;color:var(--c-accent);font-style:italic;font-weight:300}.muted{color:var(--c-muted)}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}.section{padding-block:var(--sp-xxl)}.sec-label{align-items:center;gap:var(--sp-md);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--sec-head-gap);font-size:13px;font-weight:500;display:flex}.sec-label:after{content:"";background:linear-gradient(90deg, var(--c-border), transparent);flex:1;height:1px}.sec-label .idx{color:var(--c-accent)}.gradient-band{background:var(--g-divider)}.btn{align-items:center;gap:var(--sp-sm);border-radius:var(--r-sm);background:var(--c-accent);color:var(--c-onAccent);font-family:var(--font-display);border:1px solid #0000;padding:12px 24px;font-weight:500;transition:transform .18s,box-shadow .18s;display:inline-flex}.btn:hover{box-shadow:0 6px 24px var(--c-accentWash);transform:translateY(-1px)}.btn--ghost{color:var(--c-text);border-color:var(--c-border);background:0 0}.btn--ghost:hover{border-color:var(--c-accent);box-shadow:none}.metric{gap:var(--sp-xs);flex-direction:column;display:flex}.metric__value{font-family:"Space Grotesk", "Space Grotesk Fallback", var(--font-display);letter-spacing:-.02em;color:var(--c-text);font-size:clamp(26px,3.4vw,40px);font-weight:700}.metric__label{color:var(--c-muted);font-size:14px}.kind-tag{vertical-align:middle;margin-left:var(--sp-sm);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.kind-tag--measured{color:var(--c-accent);border:1px solid var(--c-accent)}.kind-tag--estimated{color:var(--c-muted);border:1px dashed var(--c-muted)}.work-card{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);transition:border-color .25s,transform .25s;display:block;overflow:hidden}.work-card:hover{border-color:var(--c-accent);transform:translateY(-3px)}.work-card__media{aspect-ratio:16/9;overflow:hidden}.work-card__media img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .35s,transform .6s}.work-card:hover .work-card__media img,.work-card:focus-visible .work-card__media img{filter:grayscale(0);transform:scale(1.03)}.work-card__body{padding:var(--sp-lg);gap:var(--sp-sm);flex-direction:column;display:flex}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(24px)}@supports (animation-timeline:view()){.reveal{opacity:1;animation:.9s both reveal-in view();animation-range:entry entry 42%;transform:none}}@supports not (animation-timeline:view()){.reveal{transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.prose{max-width:72ch}.prose h2{font-size:var(--fs-h2);margin-top:var(--sp-xl);margin-bottom:var(--sp-md)}.prose h3{margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}.prose p{margin-bottom:var(--sp-md);line-height:1.75}.prose ul,.prose ol{margin-bottom:var(--sp-md);padding-left:1.4em;line-height:1.75}.prose li{margin-bottom:var(--sp-xs)}.prose blockquote{border-left:3px solid var(--c-accent);padding-left:var(--sp-md);margin:var(--sp-lg) 0;color:var(--c-muted);font-style:italic}.prose table{border-collapse:collapse;width:100%;margin:var(--sp-lg) 0;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--c-border);padding:var(--sp-sm) var(--sp-md);text-align:left}.prose th{font-family:var(--font-display);color:var(--c-muted);font-weight:500}.prose a{color:var(--c-accent);text-underline-offset:3px;text-decoration:underline}.prose code{background:var(--c-raised);border-radius:var(--r-sm);padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.prose pre{margin:var(--sp-lg) 0;padding:var(--sp-md) var(--sp-lg);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:13.5px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.skip-link{z-index:100;background:var(--c-accent);color:var(--c-onAccent);border-radius:0 0 var(--r-sm) 0;padding:10px 18px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--c-bg) 82%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);position:sticky;top:0}.site-header__in[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;height:64px;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--font-display);letter-spacing:-.03em;font-size:20px;font-weight:700}.brand__dot[data-astro-cid-nen7h5rs]{color:var(--c-accent)}.nav-list[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(14px,2.4vw,28px);padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{font-family:var(--font-display);color:var(--c-muted);font-size:14px;font-weight:500;transition:color .2s}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--c-text)}.lang-toggle[data-astro-cid-nen7h5rs]{font-family:var(--font-display);letter-spacing:.1em;border:1px solid var(--c-border);color:var(--c-muted);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;transition:color .2s,border-color .2s}.lang-toggle[data-astro-cid-nen7h5rs]:hover{color:var(--c-accent);border-color:var(--c-accent)}.footer-cta[data-astro-cid-jo6i4kqk]{background:var(--g-footerCta);border-top:1px solid var(--c-border);padding-block:var(--sp-xxl)}.footer-cta__in[data-astro-cid-jo6i4kqk]{gap:var(--sp-lg);flex-direction:column;display:flex}.footer-cta__title[data-astro-cid-jo6i4kqk]{font-size:clamp(28px,4vw,44px)}.footer-cta__actions[data-astro-cid-jo6i4kqk]{gap:var(--sp-md);flex-wrap:wrap;display:flex}.footer-cta__small[data-astro-cid-jo6i4kqk]{margin-top:var(--sp-xl);font-size:13px}.footer-cta[data-astro-cid-jo6i4kqk] .sec-label[data-astro-cid-jo6i4kqk]{margin-bottom:var(--sp-md)}
