.cl{background:var(--ink);color:var(--paper)}.clh{box-sizing:border-box;height:calc(100svh - 74px);min-height:600px;padding:clamp(28px, 5vh, 56px) var(--pad);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(32px,4vw,72px);display:grid;overflow:hidden}.clh h1{font-family:var(--display);letter-spacing:-.065em;color:var(--paper);margin:20px 0 clamp(18px,3vh,32px);font-size:clamp(52px,min(8vw,14vh),144px);font-weight:800;line-height:.88}.clh-intro{max-width:58ch;color:var(--body-invert);margin:0;font-size:clamp(15px,min(1.15vw,2vh),18px);line-height:1.6}.clh-figure{place-items:center;height:100%;min-height:0;display:grid}.clh-swarm{width:100%;height:min(100%,560px);position:relative}.clh-swarm canvas{cursor:pointer;touch-action:manipulation;width:100%;height:100%;display:block}.clh-swarm-name{text-align:center;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-invert);opacity:0;transition:opacity .5s var(--ease), transform .6s var(--ease);margin:0;font-size:12px;position:absolute;bottom:6%;left:0;right:0;transform:translateY(6px)}.clh-swarm-name[data-on]{opacity:1;transition-delay:.5s;transform:none}@media (max-width:900px){.clh{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:start;min-height:0}.clh-swarm{height:100%;min-height:260px}}.cl-sec{padding:80px var(--pad);border-top:1px solid #1f1f1f}.cl-h2{font-family:var(--display);letter-spacing:-.05em;color:var(--paper);margin:0 0 40px;font-size:clamp(34px,4.4vw,64px);font-weight:800;line-height:.98}.cl-wall{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px clamp(16px,2vw,32px);display:grid}.cl-logo{aspect-ratio:3/2;justify-content:center;align-items:center;padding:22px;display:flex}.cl-logo img{object-fit:contain;opacity:.62;width:auto;max-width:70%;height:auto;max-height:52%;transition:opacity .3s var(--ease), transform .4s var(--ease);display:block}.cl-logo.is-dark img{filter:invert()}.cl-logo.is-color img{filter:brightness(0)invert()}@media (hover:hover) and (pointer:fine){.cl-logo:hover img{opacity:1;transform:scale(1.05)}}@media (hover:none),(pointer:coarse){.cl-logo img{opacity:.85}}@media (max-width:520px){.cl-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.cl-logo{aspect-ratio:2;padding:10px}.cl-logo img{opacity:.85;max-width:82%;max-height:70%}}@media (prefers-reduced-motion:reduce){.cl-logo img,.clh-swarm-name{transition:none}}
