@keyframes fadeUp{0%{opacity:0;transform:translateY(18px) scale(.98);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes pulseDot{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.12);filter:brightness(1.25)}}:root{--bg:#050505;--card:#0b0b0b;--text:#f5f5f5;--muted:#b5b5b5;--accent:#ffffff;--accent2:#d9d9d9;--border:rgba(255,255,255,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}#contacts,#portfolio,#services,#stack,#work{scroll-margin-top:86px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.wrap,body{position:relative}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(1100px 700px at 20% -10%,rgba(255,255,255,.14),transparent 55%),radial-gradient(900px 600px at 85% 0%,rgba(255,255,255,.1),transparent 58%),radial-gradient(800px 520px at 50% 100%,rgba(255,255,255,.06),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 38%),var(--bg);line-height:1.5;overflow-x:hidden}body::before{position:fixed;inset:-20vh -20vw;z-index:0;background:conic-gradient(from 210deg at 50% 10%,transparent 0deg,rgba(255,255,255,.1) 18deg,transparent 42deg,rgba(255,255,255,.07) 70deg,transparent 108deg,rgba(255,255,255,.06) 150deg,transparent 210deg,rgba(255,255,255,.08) 252deg,transparent 360deg),radial-gradient(900px 550px at 50%0,rgba(255,255,255,.12),transparent 62%),radial-gradient(700px 480px at 0 30%,rgba(255,255,255,.06),transparent 60%),radial-gradient(700px 480px at 100% 35%,rgba(255,255,255,.05),transparent 60%);filter:blur(18px);opacity:.75}.card::before,body::after,body::before{content:"";pointer-events:none}body::after{position:fixed;inset:0;z-index:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.045)0,rgba(255,255,255,.045) 1px,transparent 10px,transparent 22px);opacity:.1;mix-blend-mode:overlay}a{color:inherit;text-decoration:none}.wrap{max-width:1100px;margin:0 auto;padding:28px 18px 89px;z-index:1}.brand,.nav{display:flex;align-items:center}.nav{justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);background:rgba(0,0,0,.55);backdrop-filter:blur(10px);border-radius:16px;position:sticky;top:14px;z-index:10;box-shadow:0 10px 50px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06) inset;flex-wrap:wrap}.brand{gap:10px;font-weight:700}.dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.menu{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.menu a{color:var(--muted);font-size:14px;padding:6px 8px;border-radius:10px}.menu a:hover,body{color:var(--text)}.menu a:active{background:rgba(255,255,255,.06)}.hero{display:grid;grid-template-columns:1.4fr .9fr;gap:18px;margin-top:18px}@media (max-width:900px){.hero{grid-template-columns:1fr}.nav{position:static}}.card{border:1px solid var(--border);background:rgba(255,255,255,.03);border-radius:20px;padding:22px;position:relative;overflow:hidden}.card::before{position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(500px 220px at 20%0,rgba(255,255,255,.12),transparent 60%),radial-gradient(420px 240px at 85% 15%,rgba(255,255,255,.08),transparent 62%);opacity:.55}h1,h2{margin:0 0 10px}h1{font-size:38px;letter-spacing:-.02em}.lead{color:var(--muted);margin:0 0 18px;font-size:16px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.badge{font-size:13px;padding:7px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.03)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.btn,.footer a{color:var(--text)}.btn{padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.04);font-weight:600;font-size:14px;-webkit-tap-highlight-color:transparent}.btn.primary{border:0;background:linear-gradient(90deg,#fff,#cfcfcf);color:#0a0a0a}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.grid>#contacts{grid-column:1/-1}@media (max-width:900px){.grid{grid-template-columns:1fr}}h2{font-size:20px}.list,.mini,.muted{color:var(--muted)}.list{margin:10px 0 0;padding-left:18px}.list li{margin:6px 0}.mini{font-size:13px}.kpi{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.kpi .badge{border-color:rgba(255,255,255,.18)}.section{margin-top:14px}.footer{margin-top:26px;padding:8px 0 6px;text-align:center;color:var(--muted);font-size:14px;border-top:1px solid var(--border);position:relative;z-index:2}.footer a{text-decoration:underline;text-underline-offset:3px;opacity:.9}.footer,.footer a:hover{opacity:1}.no-js .reveal{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.js .reveal{opacity:0;transform:translateY(18px) scale(.98);filter:blur(6px);will-change:opacity,transform,filter}.js .reveal.is-visible{animation:fadeUp 850ms cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d, 0ms)}.card{transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease}.card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.28);box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1) inset}.btn{transition:transform 160ms ease,filter 160ms ease,opacity 160ms ease}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn:active{transform:translateY(0);opacity:.92}.badge{transition:transform 160ms ease,border-color 160ms ease}.badge:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.22)}.dot{animation:pulseDot 2.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;filter:none}.badge,.btn,.card{transition:none}.dot,.reveal.is-visible{animation:none}}@media (max-width:700px){.hero{margin-top:12px}.grid,.hero{gap:12px}.card{padding:18px}h1{font-size:30px}.lead{font-size:15px}.nav{top:10px}}@media (max-width:520px){body::before{opacity:.45;filter:blur(24px)}body::after{opacity:.05}.wrap{padding:18px 12px 10px}.nav{padding:10px 12px;gap:10px;border-radius:14px}.brand,.menu{width:100%;justify-content:flex-start}.menu a{font-size:13px}h1{font-size:26px;line-height:1.12}h2{font-size:18px}.card{border-radius:16px;padding:16px}.badges{gap:7px;margin:12px 0 14px}.badge{font-size:12px;padding:6px 9px}.actions{flex-direction:column;align-items:stretch;gap:10px}.btn{width:100%;text-align:center;padding:12px 14px;border-radius:14px}.kpi{gap:8px}.reveal{filter:blur(4px)}}@media (max-width:380px){h1{font-size:24px}.menu a{padding:6px 7px}}