:root{--bg: #06070b;--bg-2: #0b0d14;--surface: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .09);--border-2: rgba(255, 255, 255, .16);--text: #eef0f6;--text-2: #a3a8b8;--text-3: #6b7083;--accent: #7cffc4;--accent-2: #8b7bff;--auto: #ff3b2f;--auto-2: #ff9a3c;--fl: #c6ff3d;--fit: #4fd1a1;--fit-2: #ffb547;--infra: #3dd9ff;--ssp: #4d8dff;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--gutter: clamp(16px, 5vw, 72px);--radius: 18px;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.is-booting{overflow:hidden}::selection{background:var(--accent);color:#000}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}code{font-family:var(--font-mono);font-size:.9em;color:var(--accent)}kbd{font-family:var(--font-mono);font-size:.75em;padding:2px 6px;border-radius:6px;border:1px solid var(--border-2);background:var(--surface-2)}.mono{font-family:var(--font-mono)}svg.lucide{width:1.1em;height:1.1em;stroke-width:2;flex:none}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;display:block}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:1;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-2%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60}.progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),var(--accent-2))}main{position:relative;z-index:2}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--gutter);gap:18px}.boot__log{margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text-3);white-space:pre-wrap;max-height:60vh;overflow:hidden}.boot__log .ok{color:var(--accent)}.boot__bar{height:2px;background:var(--border)}.boot__bar span{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 18px var(--accent)}.boot__pct{font-family:var(--font-display);font-weight:700;font-size:clamp(64px,16vw,200px);line-height:.85;letter-spacing:-.04em;text-align:right}.cursor{position:fixed;top:0;left:0;z-index:90;pointer-events:none;mix-blend-mode:difference}.cursor__dot,.cursor__ring{position:fixed;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}.cursor__dot{width:6px;height:6px;background:#fff}.cursor__ring{width:38px;height:38px;border:1px solid #fff;transition:width .35s var(--ease),height .35s var(--ease),background .35s}.cursor.is-hover .cursor__ring{width:74px;height:74px;background:#fff}.cursor__label{position:fixed;top:0;left:0;transform:translate(-50%,-50%);font:600 11px var(--font-mono);color:#000;opacity:0;text-transform:uppercase;letter-spacing:.08em;transition:opacity .2s}.cursor.is-hover.has-label .cursor__label{opacity:1}@media(hover:none),(pointer:coarse){.cursor{display:none}}@media(hover:hover)and (pointer:fine){body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--gutter)}.nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(var(--bg),transparent);opacity:.85;pointer-events:none}.nav__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.nav__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#05060a;font-weight:700;font-size:14px}.nav__links{display:flex;gap:28px;font-size:14px;color:var(--text-2)}.nav__links a{position:relative;transition:color .2s}.nav__links a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.nav__links a:hover{color:var(--text)}.nav__links a:hover:after{transform:scaleX(1);transform-origin:left}.nav__term{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;border:1px solid var(--border-2);background:#06070b99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:var(--text)}.nav__term svg.lucide{width:18px;height:18px;color:var(--accent)}.nav__term:hover{border-color:var(--accent)}.nav__kbd{display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:500;line-height:1;padding:5px 10px;border-radius:999px;color:var(--text);background:var(--surface-2);border-color:var(--border-2);letter-spacing:.02em}.nav__kbd svg{width:10.5px;height:10.5px;stroke-width:2.6;color:inherit;margin-right:1px}@media(max-width:760px){.nav__links,.nav__kbd,.nav__termlbl{display:none}.nav__term{padding:10px}}.eyebrow{color:var(--accent);font-size:13px;letter-spacing:.04em;margin:0 0 18px}.h2{font-family:var(--font-display);font-weight:600;font-size:clamp(36px,6.4vw,92px);line-height:.98;letter-spacing:-.035em;margin:0;max-width:16ch;text-wrap:balance}.h2 em,.contact__big em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.h3{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,6vw,84px);line-height:.95;letter-spacing:-.04em;margin:0 0 22px}.h3 .sub{display:block;font-size:.32em;letter-spacing:0;font-weight:500;color:var(--text-2);margin-top:10px}.split .ch{display:inline-block;will-change:transform}.line{display:block;overflow:hidden;padding-bottom:.04em}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:500;font-size:15px;border:1px solid var(--border-2);transition:background .3s,color .3s,border-color .3s;will-change:transform}.btn--primary{background:var(--text);color:#05060a;border-color:var(--text)}.btn--primary:hover{background:var(--accent);border-color:var(--accent)}.btn--ghost{background:#06070b80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--xl{padding:18px 28px;font-size:17px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.chips span{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-2);color:var(--text-2);background:#06070b8c}.chips--center{justify-content:center;margin-top:56px}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--gutter) 64px;position:relative;pointer-events:none}.hero a,.hero button{pointer-events:auto}.hero__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-2);position:absolute;top:96px;left:var(--gutter);right:var(--gutter)}.hero__meta span{display:inline-flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #7cffc499}70%{box-shadow:0 0 0 12px #7cffc400}to{box-shadow:0 0 #7cffc400}}.hero__title{font-family:var(--font-display);font-weight:700;font-size:clamp(56px,min(15vw,21vh),240px);line-height:.84;letter-spacing:-.055em;margin:0 0 28px;mix-blend-mode:difference}.hero__role{font-size:clamp(18px,2.2vw,28px);color:var(--text-2);max-width:34ch;margin:0 0 36px;line-height:1.35}.scramble{color:var(--text);font-family:var(--font-mono);font-size:.9em;display:inline-block}.hero__foot{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.hero__scroll{position:absolute;right:var(--gutter);bottom:64px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;color:var(--text-3);writing-mode:vertical-rl}.hero__scroll i{width:1px;height:64px;background:linear-gradient(var(--text-3),transparent);position:relative;overflow:hidden}.hero__scroll i:after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--accent);animation:drip 1.8s var(--ease) infinite}@keyframes drip{to{top:100%}}@media(max-width:760px){.hero__scroll{display:none}}.marquee{overflow:hidden;border-block:1px solid var(--border);background:#06070bb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px 0;position:relative;z-index:2}.marquee__track{display:flex;width:max-content;font-size:15px;color:var(--text-2);white-space:nowrap;animation:marquee 45s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.marquee__track span{display:inline-flex;align-items:center;gap:48px;padding-right:48px}.marquee__track span:after{content:"/";color:var(--accent)}.about{padding:18vh var(--gutter) 14vh}.about__text{font-family:var(--font-display);font-size:clamp(26px,3.6vw,54px);line-height:1.18;letter-spacing:-.02em;margin:0;max-width:24ch;font-weight:500}.reveal-words .w{opacity:.14;transition:none}.stats{margin-top:12vh;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.stat{background:#06070bc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:32px 26px;display:flex;flex-direction:column;gap:8px}.stat__num{font-family:var(--font-display);font-weight:700;font-size:clamp(44px,5vw,76px);line-height:1;letter-spacing:-.04em}.stat__lbl{color:var(--text-2);font-size:14px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}.section-head{padding:12vh var(--gutter) 6vh}.section-head--in{padding:0 0 8vh}.proj{position:relative;padding:12vh var(--gutter);min-height:100vh}.proj__idx{position:absolute;top:12vh;right:var(--gutter);font-size:13px;color:var(--text-3)}.proj__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}.proj__info{max-width:560px}.proj__kicker{color:var(--text-3);font-size:13px;margin:0 0 14px}.proj__desc{color:var(--text-2);font-size:17px;margin:0 0 26px}.feats{list-style:none;padding:0;margin:0;display:grid;gap:12px}.feats li{display:flex;align-items:flex-start;gap:12px;font-size:15px}.feats svg{margin-top:3px;color:var(--pa, var(--accent))}.proj__visual{position:relative}@media(max-width:900px){.proj__grid{grid-template-columns:1fr}.proj__grid--rev .proj__visual{order:2}.proj{min-height:0}}.proj--auto{--pa: var(--auto)}.proj--auto .chips span{border-color:#ff3b2f59}.auto__title{margin-bottom:26px;line-height:0}.auto__logo{width:min(100%,440px);height:auto;margin-left:-8px;filter:drop-shadow(0 18px 50px rgba(255,59,47,.22))}.auto__visual{display:grid;gap:22px}.dash{width:min(100%,400px);margin:0 auto;display:grid;gap:16px}.shift{display:flex;justify-content:center;gap:7px}.shift span{width:24px;height:9px;border-radius:5px;background:#17181d;box-shadow:inset 0 0 0 1px #ffffff0f;transition:background .05s,box-shadow .05s}.shift span.on.g{background:#3dff7a;box-shadow:0 0 12px #3dff7acc}.shift span.on.y{background:#ffd23d;box-shadow:0 0 12px #ffd23dcc}.shift span.on.r{background:#ff3b2f;box-shadow:0 0 14px #ff3b2fe6}.shift.limiter span{background:#ff3b2f;box-shadow:0 0 16px #ff3b2f}.shift.limiter.blink span{background:#2a0d0b;box-shadow:none}.tacho{position:relative;width:100%;aspect-ratio:1;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}.tacho__svg{width:100%;height:100%;overflow:visible}.tacho__sweep{fill:none;stroke:url(#tSweep);stroke-width:3;stroke-linecap:round;stroke-dasharray:0 780;transform:rotate(135deg);transform-origin:150px 150px;filter:drop-shadow(0 0 6px rgba(255,90,47,.9))}.tacho__red{fill:none;stroke:#ff3b2f;stroke-width:9;opacity:.85}#tachoTicks line{stroke:#ffffff47;stroke-width:1.5}#tachoTicks line.major{stroke:#e9ebf2;stroke-width:3}#tachoTicks line.red{stroke:#ff6a5f}#tachoTicks text{fill:#d6d8e0;font:600 17px var(--font-display);text-anchor:middle;dominant-baseline:central}#tachoTicks text.red{fill:#ff3b2f}.tacho__unit{fill:var(--text-3);font:500 9px var(--font-mono);text-anchor:middle;letter-spacing:.08em}.tacho__needle{fill:#ff3b2f;filter:drop-shadow(0 0 5px rgba(255,59,47,.9))}#tachoNeedle{transform-origin:150px 150px;transform:rotate(-135deg)}.tacho__gear{position:absolute;left:50%;top:67%;transform:translate(-50%,-50%);min-width:62px;padding:0 14px;text-align:center;font-size:46px;font-weight:700;line-height:1.15;color:#fff;border-radius:12px;background:#ff3b2f14;border:1px solid rgba(255,59,47,.35);text-shadow:0 0 18px rgba(255,59,47,.6)}.tacho__speed{position:absolute;left:0;right:0;bottom:7%;display:flex;justify-content:center;align-items:baseline;gap:6px}.tacho__speed span{font-size:24px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.tacho__speed small{font-size:11px;color:var(--text-3)}.reswall{height:210px;overflow:hidden;border:1px solid rgba(255,59,47,.22);border-radius:14px;padding:12px;background:#0a0606b8;font-size:10.5px;line-height:1.55;display:flex;flex-wrap:wrap;gap:2px 10px;align-content:flex-start;-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}.reswall span{color:#3a2a2a;transition:color .4s,text-shadow .4s}.reswall span.on{color:#ffb3a8}.reswall span.hot{color:#fff;text-shadow:0 0 10px var(--auto)}.reswall__count{font-size:12px;color:var(--text-3);text-align:right;margin-top:-10px}.proj--fl{--pa: var(--fl)}.fl__title{margin-bottom:44px}.fl-logo{position:relative;display:inline-flex;flex-direction:column;line-height:.86}.fl-logo__word{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(56px,6.6vw,104px);letter-spacing:.01em;color:#f1ece2;text-shadow:0 4px 0 rgba(0,0,0,.35)}.fl-logo__tag{position:absolute;right:-18px;bottom:-22px;background:#f2b705;color:#121212;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-weight:800;font-size:clamp(15px,1.6vw,22px);letter-spacing:.06em;line-height:1.2;padding:4px 12px 3px;transform:rotate(-4deg);box-shadow:3px 3px #121212}.proj--fl .btn--primary:hover{background:var(--fl);border-color:var(--fl)}.fl__stage{position:relative;aspect-ratio:1 / 1;max-height:70vh;width:100%;border-radius:28px;overflow:hidden;background:radial-gradient(60% 50% at 50% 60%,rgba(198,255,61,.14),transparent 70%),#080a0699;border:1px solid rgba(198,255,61,.18);touch-action:pan-y}.fl__stage canvas{width:100%;height:100%;display:block}.fl__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-3);font-size:12px}.fl__drag{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-3)}.pipeline{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:0;counter-reset:p}.pipeline li{display:flex;align-items:baseline;gap:14px;padding:10px 0 10px 30px;position:relative;border-left:1px dashed rgba(198,255,61,.25);margin-left:8px;opacity:.25;transition:opacity .5s}.pipeline li:before{counter-increment:p;content:counter(p);position:absolute;left:-9px;top:12px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:var(--bg);border:1px solid var(--fl);color:var(--fl)}.pipeline li.on{opacity:1}.pipeline span{font-size:14px;color:var(--text)}.pipeline small{font-size:12px;color:var(--text-3)}.proj--fit{--pa: var(--fit)}.fit__visual{display:grid;place-items:center;perspective:1200px}.phone{width:min(330px,86vw);aspect-ratio:9 / 19;border-radius:46px;padding:12px;background:linear-gradient(145deg,#2a2d35,#0d0e12);box-shadow:0 40px 120px #4fd1a12e,inset 0 0 0 1px #ffffff14;position:relative;transform-style:preserve-3d}.phone__notch{position:absolute;top:22px;left:50%;transform:translate(-50%);width:92px;height:26px;border-radius:20px;background:#000;z-index:2}.phone__screen{height:100%;border-radius:36px;background:#121311;padding:58px 18px 18px;display:flex;flex-direction:column;gap:14px;overflow:hidden;position:relative;color:#f1efe9}.fit__top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#a39f94}.fit__streak{display:inline-flex;align-items:center;gap:4px;color:var(--fit-2);font-weight:600;font-family:var(--font-body)}.fit__ringwrap{position:relative;width:150px;margin:6px auto}.fit__ring{width:100%;transform:rotate(-90deg)}.ring__bg,.ring__fg{fill:none;stroke-width:10}.ring__bg{stroke:#24251f}.ring__fg{stroke:var(--fit);stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314}.fit__ringtxt{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.fit__ringtxt b{font-family:var(--font-display);font-size:30px;line-height:1}.fit__ringtxt small{font-size:10px;color:#a39f94}.fit__card{background:#1b1c18;border-radius:18px;padding:14px;border:1px solid #2a2b25}.fit__cardhead{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:8px}.pr{font-size:10px;padding:2px 8px;border-radius:6px;background:#ffb54726;color:var(--fit-2)}.fit__chart{width:100%;height:80px;overflow:visible}.fit__chart path{fill:none;stroke:var(--fit);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 4px 8px rgba(79,209,161,.5))}.fit__axis{display:flex;justify-content:space-between;font-size:10px;color:#6f6c63;margin-top:4px}.fit__toast{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#2aabee1f;border:1px solid rgba(42,171,238,.3);font-size:12px;transform:translateY(140%);opacity:0}.fit__toast svg{color:#2aabee;width:20px;height:20px}.fit__toast div{display:flex;flex-direction:column;line-height:1.3}.fit__toast small{color:#b9c3c9}.proj--infra{--pa: var(--infra)}.infra__head{max-width:760px;margin-bottom:6vh}.infra__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:stretch}.topo{border:1px solid rgba(61,217,255,.2);border-radius:var(--radius);background:#050a0eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px}.topo__svg{width:100%;height:auto;display:block}.topo__svg .link{stroke:#3dd9ff38;stroke-width:1.2;fill:none;stroke-dasharray:4 5}.topo__svg .node rect{fill:#0a141b;stroke:#3dd9ff73;stroke-width:1}.topo__svg .node.core rect{stroke:var(--infra);fill:#0b1c26}.topo__svg .node text{fill:var(--text);font:500 12px var(--font-mono);dominant-baseline:middle}.topo__svg .node text.s{fill:var(--text-3);font-size:10px}.topo__svg .node .led{fill:#3dff9a}.topo__svg .pkt{fill:var(--infra);filter:url(#glow)}.term-mini{border:1px solid var(--border-2);border-radius:var(--radius);background:#040508e0;overflow:hidden;display:flex;flex-direction:column;min-height:320px}.term-mini__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:11px;color:var(--text-3)}.term-mini__bar i{width:10px;height:10px;border-radius:50%;background:#2a2d36}.term-mini__bar span{margin-left:8px}.term-mini pre{margin:0;padding:14px;font-size:11.5px;line-height:1.75;color:var(--text-2);white-space:pre;overflow-x:auto;flex:1}.term-mini .g{color:#3dff9a}.term-mini .c{color:var(--infra)}.term-mini .d{color:var(--text-3)}@media(max-width:900px){.infra__grid{grid-template-columns:1fr}}.ssp{padding:16vh var(--gutter);--pa: var(--ssp)}.ssp .h2 em{background:linear-gradient(90deg,#4d8dff,#9ad1ff);-webkit-background-clip:text;background-clip:text}.ssp__lead{color:var(--text-2);font-size:18px;max-width:60ch;margin:26px 0 0}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:34px;margin-bottom:10vh}.timeline__line{position:absolute;top:8px;left:0;right:0;height:2px;background:var(--border)}.timeline__line span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4d8dff,#9ad1ff);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 14px #4d8dff}.tl{position:relative;background:#06080eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius);padding:26px}.tl__dot{position:absolute;top:-32px;left:26px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid #4d8dff}.tl.on .tl__dot{background:#4d8dff;box-shadow:0 0 16px #4d8dff}.tl__when{color:#9ad1ff;font-size:12px;margin:0 0 6px}.tl h4{font-family:var(--font-display);font-size:24px;margin:0 0 10px;letter-spacing:-.02em}.tl p{color:var(--text-2);margin:0;font-size:15px}.sspgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sspcard{position:relative;padding:26px;border-radius:var(--radius);border:1px solid var(--border);background:#06080eb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;transform-style:preserve-3d}.sspcard:before,.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),rgba(77,141,255,.16),transparent 60%)}.sspcard:hover:before,.card:hover:before{opacity:1}.sspcard svg{width:26px;height:26px;color:#6ea6ff;margin-bottom:18px}.sspcard h5{font-family:var(--font-display);font-size:19px;margin:0 0 6px}.sspcard p{color:var(--text-2);margin:0;font-size:14px}@media(max-width:900px){.timeline,.sspgrid{grid-template-columns:1fr}.timeline__line,.tl__dot{display:none}}.more{padding:14vh var(--gutter)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;min-height:230px;border-radius:var(--radius);border:1px solid var(--border);background:#06070bbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;transform-style:preserve-3d;transition:border-color .3s}.card:before{background:radial-gradient(300px circle at var(--mx, 50%) var(--my, 50%),rgba(124,255,196,.14),transparent 60%)}.card:hover{border-color:var(--border-2)}.card__icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent)}.card__icon svg{width:20px;height:20px}.card h5{font-family:var(--font-display);font-size:20px;margin:8px 0 0;letter-spacing:-.01em}.card p{color:var(--text-2);font-size:14px;margin:0;flex:1}.card__tags{font-size:11px;color:var(--text-3)}.card__go{position:absolute;top:22px;right:22px;color:var(--text-3);transition:transform .3s var(--ease),color .3s}.card:hover .card__go{color:var(--accent);transform:translate(3px,-3px)}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards{grid-template-columns:1fr}}.contact{min-height:100svh;padding:18vh var(--gutter) 32px;display:flex;flex-direction:column}.contact__big{font-family:var(--font-display);font-weight:700;font-size:clamp(52px,11vw,190px);line-height:.9;letter-spacing:-.05em;margin:0 0 56px}.contact__links{display:flex;flex-wrap:wrap;gap:16px}.foot{margin-top:auto;padding-top:14vh;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-3)}.term{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#0304078c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.term[hidden]{display:none}.term__win{width:min(760px,100%);height:min(520px,80svh);display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--border-2);background:#08090ef5;box-shadow:0 40px 140px #0009,0 0 0 1px #7cffc40f;overflow:hidden}.term__bar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-3)}.term__dots{display:flex;gap:6px}.term__dots i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.term__dots i:nth-child(2){background:#febc2e}.term__dots i:nth-child(3){background:#28c840}.term__close{margin-left:auto;color:var(--text-3);display:grid;place-items:center}.term__close:hover{color:var(--text)}.term__body{flex:1;overflow-y:auto;padding:16px;font-size:13px;line-height:1.7;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.term__body .cmd{color:var(--text)}.term__body .acc{color:var(--accent)}.term__body .err{color:#ff6b6b}.term__body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.term__input{display:flex;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);font-size:13px}.term__ps{color:var(--accent);white-space:nowrap}.term__input input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font:inherit;caret-color:var(--accent)}@media(max-width:600px){.term__ps{display:none}}.toast{position:fixed;left:50%;bottom:28px;z-index:95;transform:translate(-50%,calc(100% + 60px));visibility:hidden;padding:12px 18px;border-radius:999px;background:var(--text);color:#000;font-size:13px;transition:transform .5s var(--ease);white-space:nowrap}.toast.show{transform:translate(-50%);visibility:visible}@media(prefers-reduced-motion:reduce){.grain,.pulse,.hero__scroll i:after,.marquee__track{animation:none}.reveal-words .w{opacity:1}}.fl__switch{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:999px;background:#06070bb3;border:1px solid rgba(198,255,61,.25);font-size:12px}.fl__switch button{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;padding:0;background:var(--fl);color:#000;transition:transform .4s var(--ease)}.fl__switch button svg{width:16px;height:16px;stroke-width:2.4;display:block}.fl__switch button:hover{transform:rotate(180deg)}.caret{color:var(--infra);animation:blink 1s steps(2) infinite}.fl__loading[hidden]{display:none}.mailbox{display:flex;gap:8px}.btn--icon{padding-inline:18px}@media(max-width:600px){.contact__links .btn--xl{padding:15px 20px;font-size:15px}.mailbox{width:100%}.mailbox .btn--primary{flex:1;min-width:0}}.before{color:var(--text-3);font-size:13px;margin:-6vh 0 8vh;line-height:1.8}.before b{color:var(--text-2);font-weight:500}@media(max-width:900px){.before{margin-top:0}}
