@font-face{font-family:Manrope;src:url('/fonts/Manrope-Variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{color-scheme:dark;font-family:Manrope,system-ui,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;--bg:#0b0d0f}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg)}
.scene{position:relative;width:100%;height:100svh;min-height:320px;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#101519 0%,#0b0d0f 66%)}
.geometry{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.strand{--ink:#c9dade;color:var(--ink)}
.strand-scribe{--ink:#d9b7a7}
.line,.trace{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.line{stroke-width:1;opacity:.75;transition:opacity .65s ease}
.trace{stroke:var(--ink);stroke-width:1;stroke-dasharray:42 1800;stroke-dashoffset:0;opacity:0;transition:opacity .5s ease;animation:travel 4s linear infinite;animation-play-state:paused}
.node{fill:var(--bg);stroke:var(--ink);stroke-width:1;opacity:.65;transition:r .45s ease,opacity .45s ease}
.strand.active .line{opacity:1}
.strand.active .trace{opacity:.8;animation-play-state:running}
.strand.active .node{r:4;opacity:1}
.links{position:absolute;inset:0;pointer-events:none}
.app-link{position:absolute;left:30%;top:47%;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 48px);min-height:48px;padding:0 0 13px 17px;transform:rotate(-14deg);transform-origin:0 100%;color:#c7ced0;font-size:clamp(18px,2vw,28px);font-weight:400;letter-spacing:-.045em;line-height:1.2;text-decoration:none;white-space:nowrap;pointer-events:auto;outline:none}
.app-link-scribe{left:63%;top:59%;transform:rotate(26deg);color:#c9bdb6}
.app-link span{transition:color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.app-link svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translate(-6px,4px);transition:opacity .35s ease,transform .45s ease}
.app-link:hover span,.app-link:focus-visible span{color:#f0f1ec;transform:translateY(-3px)}
.app-link:hover svg,.app-link:focus-visible svg{opacity:1;transform:translate(0,-3px)}
.app-link:focus-visible span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
@keyframes travel{to{stroke-dashoffset:-1842}}
@media(max-width:600px){.app-link{font-size:19px;gap:10px;padding-left:12px}.app-link-scribe{font-size:23px}.app-link svg{width:14px;height:14px}}
@media(hover:none){.app-link svg{opacity:.5;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.strand-ezlift{--ink:#b7c9a4}.app-link-ezlift{left:44%;top:28%;color:#bcc5b3;transform:rotate(50deg)}
