.trail{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.trail svg{display:block;overflow:visible}.trail-c{stop-color:var(--color-cyan)}.trail-v{stop-color:var(--color-violet)}.trail-track{stroke:color-mix(in srgb, var(--color-fg) 9%, transparent);stroke-width:1px}.trail-line{stroke-width:2px;stroke-linecap:square;stroke-linejoin:miter}.trail-halo{stroke-width:10px;stroke-linecap:square;stroke-linejoin:miter;opacity:.2}.trail-head{opacity:0;background:var(--brand-violet);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-violet) 30%, transparent), 0 0 22px 6px color-mix(in srgb, var(--brand-cyan) 55%, transparent), 0 0 60px 14px color-mix(in srgb, var(--brand-violet) 35%, transparent);will-change:transform;transition:opacity .3s;position:absolute;top:-5px;left:-5px}@media (prefers-color-scheme:light){.trail-halo{opacity:.16}.trail-head{background:var(--color-violet)}}.hero{--hh:max(100svh, 600px);min-height:var(--hh);grid-template-rows:1fr min(calc(var(--hh) * .32), 60vw) 1fr}@media (width<=400px) and (height<=700px){.hero{--hh:680px}}.hero-title{font-size:clamp(1.9rem, min(9.2vw, calc(var(--hh) * .105)), 8.5rem);letter-spacing:-.045em;text-wrap:balance;line-height:.96}.hero-sub{margin-top:calc(var(--hh) * .018);font-size:clamp(.94rem, calc(var(--hh) * .023), 1.4rem);text-wrap:balance;max-width:34em;line-height:1.45}.hero-cta{margin-top:calc(var(--hh) * .03)}.hero-cta .btn{padding:clamp(.7rem, calc(var(--hh) * .017), 1.15rem) clamp(1.25rem, calc(var(--hh) * .03), 2rem);font-size:clamp(.92rem, calc(var(--hh) * .019), 1.15rem)}.hero-bg,.hero-bg>*{z-index:-20;pointer-events:none;position:absolute;inset:0}.hero-grid{background-image:linear-gradient(to right, color-mix(in srgb, var(--color-fg) 11%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--color-fg) 11%, transparent) 1px, transparent 1px);background-position:50%;background-size:64px 64px;mask-image:radial-gradient(62% 58%,#000 0%,#0000 100%)}.hero-glow{filter:blur(110px);opacity:.2;will-change:transform;width:34vmax;height:34vmax;inset:50% auto auto 50%}.hero-glow-a{background:var(--brand-cyan);animation:16s ease-in-out infinite alternate drift-a;transform:translate(-82%,-62%)}.hero-glow-b{background:var(--brand-violet);animation:19s ease-in-out infinite alternate drift-b;transform:translate(-18%,-40%)}@keyframes drift-a{to{transform:translate(-62%,-48%)scale(1.12)}}@keyframes drift-b{to{transform:translate(-38%,-58%)scale(.9)}}.hero-grain{opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.hero:after{content:"";z-index:-15;background:linear-gradient(to bottom, transparent, var(--color-ink));pointer-events:none;height:22%;position:absolute;inset:auto 0 0}#hero3d{cursor:grab;touch-action:pan-y}@media (prefers-color-scheme:light){.hero-glow{opacity:.42}.hero-grain{opacity:.3;mix-blend-mode:soft-light}}.display{letter-spacing:-.04em;font-size:clamp(2.25rem,5.6vw,6.5rem);font-weight:600;line-height:.98}.case-name{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(2rem,3.9vw,4rem);line-height:1}.contact-title{letter-spacing:-.05em;max-width:14ch;font-size:clamp(2.5rem,8.4vw,10rem);line-height:.94}.wordmark{margin-bottom:clamp(1.25rem,3vw,3rem)}.btn{align-items:center;font-size:.95rem;font-weight:500;transition:transform .2s cubic-bezier(.2,.7,.2,1),background-color .2s,color .2s,opacity .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn-solid{background:var(--color-fg);color:var(--color-ink)}.btn-quiet{background:color-mix(in srgb, var(--color-fg) 9%, transparent);color:var(--color-fg)}.btn-quiet:hover{background:color-mix(in srgb, var(--color-fg) 15%, transparent)}.btn-invert{background:var(--color-ink);color:var(--color-fg)}.btn-invert-quiet{background:color-mix(in srgb, var(--color-ink) 12%, transparent);color:var(--color-ink)}.btn-invert-quiet:hover{background:color-mix(in srgb, var(--color-ink) 20%, transparent)}.link{text-underline-offset:5px;text-decoration:underline 2px;text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);transition:text-decoration-color .2s}.link:hover{text-decoration-color:currentColor}.row{transition:background-color .25s}.row:hover{background:var(--color-ink)}.arrow{transition:transform .25s cubic-bezier(.2,.7,.2,1),color .25s}.group:hover .arrow{color:var(--color-fg);transform:translate(4px)}.shot img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}a.shot:hover img,.group:hover .shot img{transform:scale(1.035)}.step-bar{background:linear-gradient(90deg, var(--brand-cyan), var(--brand-violet));width:3rem;height:6px}.js [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.js [data-reveal].in{opacity:1;transform:none}:focus-visible{outline:2px solid var(--color-cyan);outline-offset:3px}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transition:none;transform:none}.hero-glow{animation:none}.btn:hover,.group:hover .arrow,a.shot:hover img,.group:hover .shot img{transform:none}}
