:root{--bg: #010102;--ink: #8a8f9c;--ink-bright: #d6d9e0;--ink-dim: #565b66;--hairline: rgba(214, 217, 224, .12);--mono: "IBM Plex Mono", monospace;--display: "Michroma", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;background:var(--bg);scroll-behavior:smooth}body{min-height:100%;background:var(--bg)}body{background:linear-gradient(180deg,#090509,#010102 60%,#000)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 320px 320px at 50% 300px,#191c2a 0%,#0a0d15 35%,transparent 75%);animation:bg-glow 8s ease-in-out infinite}@keyframes bg-glow{0%,to{opacity:.05}50%{opacity:.35}}#scene{position:absolute;top:0;left:0;width:100%;height:100vh;display:block;opacity:0;animation:reveal 2.4s ease .3s forwards}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 220px 250px at 50% 36%,transparent 0%,transparent 40%,rgba(0,0,0,.75) 100%)}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain-shift 1.2s steps(4) infinite}.site-header,.site-footer{position:fixed;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(1.75rem,8vw,7rem);opacity:0;animation:reveal 1.6s ease forwards}.site-header{top:clamp(1.5rem,4vh,2.5rem);justify-content:flex-end;animation-delay:.4s}.site-footer{position:static;padding-block:1.75rem;border-top:1px solid var(--hairline);animation-delay:1.8s}.socials{display:flex;align-items:center;gap:1.75rem}.socials a{display:flex;color:var(--ink-dim);transition:color .3s ease}.socials a:hover{color:var(--ink-bright)}.socials svg{width:15px;height:15px;fill:currentColor}.brand{display:flex;align-items:center;justify-content:center;gap:.9rem;font-family:var(--display);font-weight:400;font-size:.75rem;letter-spacing:.5em;color:var(--ink-bright);margin-bottom:1.6rem;animation-delay:.9s}.brand .alt{color:var(--ink-dim)}.brand .mark{width:27px;flex:none;overflow:visible}.brand .mark rect{fill:var(--ink)}.brand .mark .row-top rect{fill:var(--ink-bright)}.brand .mark .row-top{transition:transform .6s cubic-bezier(.16,1,.3,1)}.brand:hover .mark .row-top{transform:translate(-3px)}.site-header nav{display:flex;gap:2.25rem}.site-header a,.site-footer a{font-family:var(--mono);font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;color:var(--ink-dim);transition:color .3s ease}.site-header a:hover,.site-footer a:hover{color:var(--ink-bright)}.site-footer p{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-inline:1.75rem;padding-top:55vh;text-align:left;pointer-events:none}.hero-inner{width:fit-content;max-width:100%;text-align:center}.hero-inner>*{opacity:0;animation:rise 3s cubic-bezier(.16,1,.3,1) forwards}.hero h2{font-family:var(--display);font-weight:400;font-size:2.2rem;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-bright);white-space:nowrap;animation-duration:4.5s;animation-delay:1.4s}.lede{font-family:var(--mono);font-size:.78rem;line-height:2;color:var(--ink-dim);margin-top:1.4rem;animation-duration:5s;animation-delay:2.6s}@media(max-width:768px){.hero-inner{text-align:left}.brand{justify-content:flex-start}.hero h2{font-size:1.45rem}.lede{margin-top:1rem}}.mobile-break{display:block}.products{position:relative;padding-inline:clamp(1.75rem,8vw,7rem);padding-block:clamp(4rem,12vh,7.5rem);border-top:1px solid var(--hairline)}.products-head{display:flex;align-items:baseline;justify-content:space-between;max-width:62rem;margin-inline:auto;margin-bottom:3rem}.products-head h2,.products-head span{font-family:var(--mono);font-size:.62rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim)}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.5rem;max-width:62rem;margin-inline:auto}.product{position:relative;display:flex;flex-direction:column;gap:1.2rem;padding:2.1rem 2.2rem 2rem;border:1px solid var(--hairline);background:#d6d9e005;text-decoration:none;transition:border-color .35s ease,background .35s ease}a.product:hover{border-color:#d6d9e052;background:#d6d9e00b}.product .index{position:absolute;top:2.1rem;right:2.2rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;color:var(--ink-dim)}.product h3{font-family:var(--display);font-weight:400;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-bright)}.product p{font-family:var(--mono);font-size:.72rem;line-height:1.9;color:var(--ink);max-width:24rem}.product .cta{display:flex;align-items:center;gap:.6rem;margin-top:auto;padding-top:.6rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-bright)}.product .arrow{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}a.product:hover .arrow{transform:translate(3px,-3px)}.product .badge{display:inline-block;margin-left:.7rem;padding:.3em .55em .25em;border:1px solid var(--hairline);font-family:var(--mono);font-size:.52rem;letter-spacing:.22em;vertical-align:.15em;color:var(--ink)}.product.is-redacted{-webkit-user-select:none;user-select:none}.product.is-redacted h3,.product.is-redacted p,.product.is-redacted .cta{color:var(--ink-dim)}.product.is-redacted h3{letter-spacing:.06em;opacity:.55}.product.is-redacted p{opacity:.4}.product.is-beta h3,.product.is-beta .cta{color:var(--ink);transition:color .35s ease}.product.is-beta:hover h3,.product.is-beta:hover .cta{color:var(--ink-bright)}@supports (animation-timeline: view()){.product{animation:rise 1s cubic-bezier(.16,1,.3,1) both;animation-timeline:view();animation-range:entry 5% entry 45%}}@keyframes reveal{to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain,.product{animation:none}#scene,.hero-inner>*,.site-header,.site-footer{animation:none;opacity:1}}
