
  :root{
    --ink:#0A0A0B; --ink2:#151517; --paper:#F7F6F5; --paper2:#EBE9E7; --white:#FFFFFF;
    --txt:#111112; --mut:rgba(17,17,18,.64); --mut2:rgba(17,17,18,.58);
    --line:rgba(17,17,18,.13); --dline:rgba(247,246,245,.15);
    --acc:#FF0914; --acc-d:#C10009; --acc-l:#FF8A85; --sig:#FFA9A2;
    --dsp:"Space Grotesk",system-ui,sans-serif; --bod:"Archivo",system-ui,sans-serif; --mono:"Space Mono",ui-monospace,monospace;
    --gut:clamp(20px,4vw,60px); --max:1340px; --r:20px;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--txt);font-family:var(--bod);font-size:16px;line-height:1.6;text-wrap:pretty;-webkit-font-smoothing:antialiased;-moz-osd-grayscale:auto}
  h1,h2,h3{text-wrap:balance;font-variant-ligatures:common-ligatures}
  a{color:var(--acc-d);text-decoration:none}
  a:hover{color:var(--acc)}
  ::selection{background:var(--acc);color:#fff}
  :focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
  @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes sweep{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes slidein{from{opacity:0;transform:translateX(52px)}to{opacity:1;transform:none}}
  @keyframes flow{to{stroke-dashoffset:-160}}
  @keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}
  @keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes gbar{0%,100%{transform:scaleX(.28)}50%{transform:scaleX(1)}}
  @keyframes grow{0%,100%{transform:scaleY(.32)}50%{transform:scaleY(1)}}
  @keyframes docfly{0%{transform:translateX(38px);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(132px);opacity:0}}
  @keyframes draw{0%{stroke-dashoffset:240}55%,100%{stroke-dashoffset:0}}
  @keyframes arc{0%{stroke-dashoffset:150}55%,100%{stroke-dashoffset:44}}
  @keyframes needle{0%,100%{transform:rotate(-58deg)}50%{transform:rotate(46deg)}}
  @keyframes hook{0%,100%{transform:translateY(0)}50%{transform:translateY(13px)}}
  @keyframes orbit{to{transform:rotate(360deg)}}
  @keyframes blip{0%,100%{opacity:.3}50%{opacity:1}}
  .a-gbar{transform-box:fill-box;transform-origin:left center;animation:gbar 5.2s ease-in-out infinite}
  .a-grow{transform-box:fill-box;transform-origin:bottom center;animation:grow 4.6s ease-in-out infinite}
  .a-doc{animation:docfly 3.2s linear infinite}
  .a-draw{stroke-dasharray:240;animation:draw 5.4s ease-in-out infinite}
  .a-arc{stroke-dasharray:150;animation:arc 5s ease-in-out infinite}
  .a-needle{animation:needle 5s ease-in-out infinite}
  .a-hook{transform-box:fill-box;animation:hook 3.6s ease-in-out infinite}
  .a-orbit{animation:orbit 22s linear infinite}
  .a-blip{animation:blip 2.6s ease-in-out infinite}
  @keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes popIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}
  .pg{animation:pageIn .5s cubic-bezier(.16,.84,.28,1) both}
  .pal{animation:popIn .22s cubic-bezier(.16,.84,.28,1) both}
  @keyframes drift{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
  @keyframes feed{to{stroke-dashoffset:-96}}
  @keyframes halo{0%,100%{transform:scale(1);opacity:.08}50%{transform:scale(1.09);opacity:.2}}
  @keyframes spin{to{transform:rotate(360deg)}}
  @keyframes spinr{to{transform:rotate(-360deg)}}
  @keyframes chaos{to{stroke-dashoffset:-60}}
  .a-drift{animation:drift 7s ease-in-out infinite}
  .a-feed{stroke-dasharray:5 11;animation:feed 2.6s linear infinite}
  .a-halo{animation:halo 5s ease-in-out infinite}
  .a-ring{animation:spin 30s linear infinite}
  .a-ring-r{animation:spinr 44s linear infinite}
  .a-chaos{animation:chaos 5s linear infinite}
  @keyframes travel{0%{transform:translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateX(780px);opacity:0}}
  @keyframes ringdash{to{stroke-dashoffset:-72}}
  .a-travel{animation:travel 5.5s cubic-bezier(.5,0,.5,1) infinite}
  .a-ring-dash{animation:ringdash 6s linear infinite}
  @keyframes scan{to{transform:rotate(360deg)}}
  @keyframes emit{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}
  @keyframes scanline{0%{transform:translateY(0);opacity:0}12%{opacity:.85}88%{opacity:.85}100%{transform:translateY(var(--sweep,128px));opacity:0}}
  @keyframes word{0%,2%{opacity:0}6%,30%{opacity:1}34%,100%{opacity:0}}
  @keyframes tick{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
  .a-scan{animation:scan 2.8s linear infinite}
  .a-emit{animation:emit 3s ease-out infinite}
  .a-scanline{animation:scanline 2.4s ease-in-out infinite}
  .a-word{animation:word 6s linear infinite}
  .a-tick{transform-box:fill-box;transform-origin:center;animation:tick 1.1s ease-in-out infinite}
  body.mo [data-rev]{opacity:0;transform:translateY(22px)}
  body.mo [data-rev].in{animation:rise .9s cubic-bezier(.16,.84,.28,1) forwards}
  .flow{stroke-dasharray:5 11;animation:flow 4.5s linear infinite}
  .node{animation:pulse 3.4s ease-in-out infinite}
  .team-card:hover{box-shadow:0 2px 12px rgba(17,17,18,.08);transform:translateY(-2px)}
  .blog-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .blog-learn-more:hover{color:var(--acc-d)}
  .blog-learn-more:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
  .blog-modal-overlay.active{opacity:1!important;pointer-events:auto!important}
  .blog-modal.active{opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%) scale(1)!important}
  @media (prefers-reduced-motion:reduce){
    body.mo [data-rev]{opacity:1;transform:none;animation:none}
    .pg,.pal,.a-drift,.a-feed,.a-halo,.a-ring,.a-ring-r,.a-chaos,.a-travel,.a-ring-dash,.a-scan,.a-emit,.a-scanline,.a-word,.a-tick,.flow,.node,.tick,.a-gbar,.a-grow,.a-doc,.a-draw,.a-arc,.a-needle,.a-hook,.a-orbit,.a-blip,.team-card:hover,.blog-learn-more:hover,.blog-modal-overlay.active,.blog-modal.active{animation:none!important;transform:none!important;opacity:1!important}
  }
  @media (max-width:1120px){.navlinks{display:none!important}.burger{display:inline-flex!important}}
  @media (max-width:980px){
    .g2,.g3,.g4,.split,.rsplit{grid-template-columns:1fr!important}
    .team-grid{grid-template-columns:repeat(2,1fr)!important}
    .bento>*{grid-column:span 6!important}
    .drawer{width:100%!important}
    .rowidx{grid-template-columns:46px 1fr!important}
    .rowidx .go{display:none!important}
    .trow{grid-template-columns:1fr!important;gap:6px!important}
  }
  .dgm-tall{display:none}
  .dgm-wide{display:block}
  .home-ecosystem-mobile{display:none!important}
  @media (max-width:620px){
    .g4b{grid-template-columns:1fr 1fr!important}
    .team-grid{grid-template-columns:1fr!important}
    .blog-modal{max-width:calc(100vw - 32px)!important;max-height:90vh!important}
    .dgm-wide{display:none!important}
    .dgm-tall{display:block!important}
    /* Allow hero diagram SVG to render on mobile — keep it responsive */
    .hero-dgm{display:block!important}
  }
  @media (max-width:600px){
    .home-ecosystem-desktop{display:block!important;width:100%;height:auto}
    .hero-dgm,.home-ecosystem-mobile{display:none!important}
    .home-ecosystem-mobile__group{min-width:0}
    .home-ecosystem-mobile__group h2{margin:0 0 9px;color:#ff8a85;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.45;text-align:center;overflow-wrap:anywhere}
    .home-ecosystem-mobile__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .home-ecosystem-mobile__items>div{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:3px;padding:9px 8px;border:1px solid rgba(247,247,247,.17);border-radius:8px;background:rgba(247,247,247,.055)}
    .home-ecosystem-mobile__items strong{color:rgba(247,247,247,.94);font-family:var(--bod);font-size:12.5px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
    .home-ecosystem-mobile__items span{color:rgba(247,247,247,.62);font-family:var(--bod);font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
    .home-ecosystem-mobile__connector{position:relative;display:block;height:20px}
    .home-ecosystem-mobile__connector::before{position:absolute;top:0;left:50%;height:100%;border-left:1px solid rgba(255,51,68,.55);content:""}
    .home-ecosystem-mobile__connector::after{position:absolute;top:0;left:calc(50% - 2px);width:5px;height:5px;border-radius:50%;background:#ff3344;box-shadow:0 0 8px rgba(255,51,68,.7);content:"";animation:homeEcosystemMobileFlow 1.8s ease-in-out infinite}
    @keyframes homeEcosystemMobileFlow{50%{transform:translateY(15px);opacity:.45}}
  }
  @media (max-width:600px) and (prefers-reduced-motion:reduce){.home-ecosystem-mobile__connector::after{animation:none}}