@font-face{font-family:Manrope;src:url('./fonts/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{
  /* Type system: one UI family, shared scale, explicit tracking. */
  --font-ui:"Manrope",system-ui,sans-serif;
  --font-size-display:clamp(2.75rem,5vw,4.75rem);
  --font-size-heading:clamp(2rem,3.4vw,3.5rem);
  --font-size-body:clamp(1rem,1.15vw,1.125rem);
  --font-size-label:clamp(.8125rem,.9vw,.9375rem);
  --font-size-nav:.8125rem;
  --font-size-meta:.75rem;
  --font-weight-regular:500;
  --font-weight-semibold:650;
  --font-weight-bold:750;
  --leading-tight:1.15;
  --leading-body:1.5;
  --tracking-label:.12em;
  --tracking-nav:.14em;
  /* Palette: every surface and component reads from these semantic aliases. */
  --color-canvas:#090909;
  --color-footer:#111111;
  --color-footer-muted:rgba(244,244,244,.62);
  --color-paper:#f2eee7;
  --color-graphite:#151716;
  --color-graphite-muted:#59605c;
  --color-cookie-surface:var(--color-paper);
  --color-cookie-ink:var(--color-graphite);
  --color-cookie-muted:var(--color-graphite-muted);
  --color-signal:#f4c400;
  --color-impulse:#f47a2f;
  --color-ink:#f4f4f4;
  --color-ink-soft:#d9d9d9;
  --color-ink-muted:rgba(244,244,244,.68);
  --color-focus:#176b9f;
  --color-selection:#37c8ed;
  --color-orbit:rgba(244,244,244,.22);
  --color-signal-glow:rgba(244,196,0,.08);
  --color-signal-glow-strong:rgba(244,196,0,.42);
  --canvas-night:var(--color-canvas);
  --signal-yellow:var(--color-signal);
  --signal-impulse:var(--color-impulse);
  --ink-primary:var(--color-ink);
  --ink-secondary:var(--color-ink-soft);
  --header-muted:var(--color-ink-muted);
  --focus-blue:var(--color-focus);
  --selection-cyan:var(--color-selection);
  --blue:var(--focus-blue);
  --cyan:var(--selection-cyan);
  --max:1280px;
  --grid-columns:12;
  --header-height-desktop:86px;
  --header-height-mobile:72px;
  --touch-target:44px;
  --ease:cubic-bezier(.16,1,.3,1);
  --pointer-dx:0px;
  --pointer-dy:0px
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#090909}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas-night);color:var(--ink-primary);font-family:var(--font-ui);line-height:1.45;overflow-x:hidden}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{font:inherit;color:inherit}::selection{background:var(--cyan);color:var(--ink-primary)}.wrap{width:min(calc(100% - 72px),var(--max));margin-inline:auto}
.site-header{position:relative;z-index:20;min-height:var(--header-height-desktop);padding:22px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{display:inline-flex;width:max-content;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;background:transparent;border-radius:0;overflow:visible;transition:transform .45s var(--ease)}.brand-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.brand-wordmark{display:block;width:116px;height:48px;object-fit:contain;object-position:left center}.brand:hover .brand-mark{transform:rotate(-3deg) scale(1.04)}.site-nav{display:flex;align-items:center;gap:18px}.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:var(--touch-target);padding:10px 12px;color:var(--ink-secondary);font-size:var(--font-size-nav);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-nav);text-transform:uppercase;text-decoration:none}.site-nav a:after{content:"";position:absolute;left:12px;right:100%;bottom:7px;height:1px;background:var(--selection-cyan);transition:right .45s var(--ease)}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink-primary)}.site-nav a:hover:after,.site-nav a[aria-current="page"]:after{right:12px}
.pointer-trail{position:fixed;z-index:9999;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease}.pointer-trail.is-active{opacity:1}.pointer-trail span{position:absolute;top:0;left:0;width:6px;height:6px;border-radius:50%;background:var(--signal-yellow);box-shadow:0 0 6px var(--color-signal-glow-strong),0 0 14px var(--color-signal-glow);transform:translate3d(-100px,-100px,0) scale(var(--trail-scale,1));transform-origin:center;will-change:transform,opacity}
.motion-ready .site-header{animation:header-enter .72s var(--ease) both}.motion-ready .site-header .brand{animation:header-item-in .72s .08s var(--ease) both}.motion-ready .site-header .site-nav{animation:header-item-in .72s .16s var(--ease) both}@keyframes header-enter{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}@keyframes header-item-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.wrap{width:min(calc(100% - 48px),var(--max))}.site-header{grid-template-columns:1fr auto}.site-nav{display:flex}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.site-header{min-height:var(--header-height-mobile);padding:17px 0}.brand-mark{width:36px;height:36px;flex-basis:36px}.brand-wordmark{width:102px;height:42px}.site-nav a{font-size:11px;padding-inline:8px}.site-nav a:after{left:8px;right:100%}.site-nav a:hover:after{right:8px}}
@media(min-width:701px){.blog-page__surface,.processes-surface,.documents-surface,.article-surface,.work-hero{min-height:100svh}}
@media(pointer:coarse),(max-width:700px){.pointer-trail{display:none}}
@keyframes page-kicker-in{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}@keyframes page-kicker-line-in{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.blog-kicker,.processes-kicker,.documents-kicker,.work-kicker,.article-kicker,.blog-kicker span,.processes-kicker span,.documents-kicker span,.work-kicker__line,.article-kicker span{animation:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .site-header,.motion-ready .site-header .brand,.motion-ready .site-header .site-nav{animation:none!important;opacity:1;transform:none}.pointer-trail{display:none}}
