:root{--hp-bg:#07090d;--hp-surface:#0d1118;--hp-ink:#e8edf4;--hp-muted:#8b97a8;--hp-line:#e8edf41a;--hp-accent:#3d9b8f;--hp-accent-bright:#5eead4;--hp-warn:#c4a574;--hp-ease:cubic-bezier(.22, 1, .36, 1);--hp-font:"Syne", ui-sans-serif, system-ui, sans-serif;--hp-mono:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}.hp-body{min-height:100vh;color:var(--hp-ink);background:var(--hp-bg);font-family:var(--hp-font);cursor:none;margin:0;overflow-x:hidden}.hp-body a,.hp-body button{cursor:none}@media (width<=900px),(pointer:coarse){.hp-body,.hp-body a,.hp-body button{cursor:auto}.hp-cursor,.hp-cursor-ring{display:none!important}}.hp-mono{font-family:var(--hp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hp-muted);font-size:.75rem}.hp-noise{pointer-events:none;z-index:80;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.hp-cursor,.hp-cursor-ring{pointer-events:none;z-index:100;will-change:transform;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.hp-cursor{background:var(--hp-accent-bright);width:6px;height:6px;box-shadow:0 0 12px #5eead48c}.hp-cursor-ring{width:36px;height:36px;transition:width .25s var(--hp-ease), height .25s var(--hp-ease), border-color .25s ease;border:1px solid #5eead459}.hp-body.is-hovering .hp-cursor-ring{border-color:#5eead4b3;width:56px;height:56px}.hp-progress{z-index:90;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.hp-progress span{background:linear-gradient(90deg, transparent, var(--hp-accent-bright));width:0%;height:100%;display:block}@keyframes hp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.hp-nav{z-index:60;pointer-events:none;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.hp-nav>*{pointer-events:auto}.hp-lang{border:1px solid var(--hp-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d1118b3;border-radius:999px;align-items:center;gap:.15rem;padding:.28rem;display:inline-flex}.hp-lang-btn{appearance:none;color:var(--hp-muted);font-family:var(--hp-mono);letter-spacing:.08em;background:0 0;border:0;border-radius:999px;padding:.45rem .75rem;font-size:.72rem;font-weight:500;transition:color .2s,background .2s}.hp-lang-btn:hover{color:var(--hp-ink)}.hp-lang-btn.is-active{color:#06110f;background:var(--hp-accent-bright)}.hp-lang-sep{background:var(--hp-line);width:1px;height:.9rem}.hp-nav-links{align-items:center;gap:1.25rem;display:flex}.hp-nav-links a{color:var(--hp-muted);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.hp-nav-links a:hover{color:var(--hp-ink)}.hp-nav-cta{border:1px solid var(--hp-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d11188c;border-radius:999px;color:var(--hp-ink)!important;padding:.45rem .9rem!important}.hp-hero{align-items:center;min-height:100dvh;padding:7rem 1.5rem 3.5rem;display:flex;position:relative;overflow:clip visible}.hp-hero-layout{z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(280px,.85fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);width:min(1180px,100%);margin:0 auto;display:grid;position:relative}.hp-grid,.hp-particles{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hp-grid{opacity:.45}.hp-particles{opacity:.85;pointer-events:none}.hp-scanlines{pointer-events:none;z-index:1;opacity:.07;mix-blend-mode:soft-light;background:repeating-linear-gradient(#0000 0 2px,#e8edf459 3px);position:absolute;inset:0}.hp-hero-glow{filter:blur(10px);pointer-events:none;background:radial-gradient(circle,#3d9b8f38 0%,#0000 65%);border-radius:50%;width:48vw;height:48vw;animation:12s ease-in-out infinite alternate hp-drift;position:absolute;top:8%;right:-8%}.hp-hero-glow-2{background:radial-gradient(circle,#e8edf40f 0%,#0000 70%);width:42vw;height:42vw;animation-duration:16s;animation-direction:alternate-reverse;inset:auto auto -20% -18%}@keyframes hp-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-8%,6%)scale(1.08)}}.hp-hero-inner{z-index:2;max-width:40rem;position:relative}.hp-kicker{margin:0 0 1.25rem}.hp-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,7vw,5.4rem);font-weight:800;line-height:.95;overflow:visible}.hp-title-line{margin-bottom:-.04em;padding-bottom:.08em;display:block;overflow:hidden}.hp-title-line span{opacity:0;color:var(--hp-ink);transition:transform .9s var(--hp-ease), opacity .9s var(--hp-ease);display:inline-block;transform:translateY(115%)}.hp-title-line.is-in span{opacity:1;transform:translateY(0)}.hp-title-accent span{color:var(--hp-accent-bright);text-shadow:0 0 28px #5eead447}.hp-portrait{justify-self:end;width:min(100%,460px);padding:2.5rem;position:relative}.hp-tech-float{z-index:5;pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.hp-tech-badge{will-change:transform;background:#fff;border-radius:50%;place-items:center;width:3.75rem;height:3.75rem;animation:8s ease-in-out infinite hp-tech-float;display:grid;position:absolute;box-shadow:0 12px 32px #0006,0 0 0 1px #ffffffb3}.hp-tech-badge i{font-size:1.7rem;line-height:1}.hp-tech-badge.is-php{color:#777bb4;animation-delay:0s;top:2%;left:0}.hp-tech-badge.is-js{color:#f0db4f;animation-delay:1s;top:8%;right:0}.hp-tech-badge.is-node{color:#393;animation-delay:2s;top:26%;left:-4%}.hp-tech-badge.is-laravel{color:#ff2d20;animation-delay:3s;top:32%;right:-4%}.hp-tech-badge.is-vue{color:#42b883;animation-delay:4s;top:50%;left:-2%}.hp-tech-badge.is-docker{color:#2496ed;animation-delay:5s;top:54%;right:0}.hp-tech-badge.is-mysql{color:#4479a1;animation-delay:6s;bottom:16%;left:-2%}.hp-tech-badge.is-git{color:#f05032;animation-delay:7s;bottom:8%;right:0}.hp-tech-badge.is-cubes{color:#ff6b35;animation-delay:8s;bottom:0;left:16%}@keyframes hp-tech-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-16px)scale(1.06)}}.hp-portrait-frame{aspect-ratio:4/5;transition:transform .45s var(--hp-ease);background:#0a0e14;border:1px solid #5eead438;border-radius:1.5rem;position:relative;overflow:hidden;transform:perspective(900px)rotateY(-6deg)rotateX(2deg);box-shadow:0 0 0 1px #07090dcc,0 30px 80px #00000073,0 0 60px #3d9b8f1f}.hp-portrait:hover .hp-portrait-frame{transform:perspective(900px)rotateY(-2deg)rotateX(0)translateY(-4px)}.hp-portrait-img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;filter:contrast(1.05)saturate(.92);width:100%;height:100%;animation:hp-portrait-in 1.2s var(--hp-ease) both;display:block}@keyframes hp-portrait-in{0%{opacity:0;filter:blur(8px)contrast(1.05)saturate(.92);transform:scale(1.08)}to{opacity:1;filter:blur()contrast(1.05)saturate(.92);transform:scale(1)}}.hp-portrait-frame:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(#0000 45%,#07090d8c 100%),linear-gradient(90deg,#3d9b8f1f,#0000 35%);position:absolute;inset:0}.hp-portrait-scan{z-index:2;pointer-events:none;background:linear-gradient(#0000,#5eead42e,#0000);height:28%;animation:3.8s ease-in-out infinite hp-scan;position:absolute;top:-30%;left:0;right:0}@keyframes hp-scan{0%{opacity:0;top:-30%}15%{opacity:1}85%{opacity:1}to{opacity:0;top:110%}}.hp-portrait-corners{z-index:3;pointer-events:none;position:absolute;inset:.7rem}.hp-portrait-corners i{border-color:var(--hp-accent-bright);opacity:.85;border-style:solid;width:16px;height:16px;position:absolute}.hp-portrait-corners i:first-child{border-width:2px 0 0 2px;top:0;left:0}.hp-portrait-corners i:nth-child(2){border-width:2px 2px 0 0;top:0;right:0}.hp-portrait-corners i:nth-child(3){border-width:0 0 2px 2px;bottom:0;left:0}.hp-portrait-corners i:nth-child(4){border-width:0 2px 2px 0;bottom:0;right:0}.hp-portrait-rings{z-index:0;pointer-events:none;position:absolute;inset:-12%}.hp-portrait-rings span{border:1px solid #5eead424;border-radius:50%;animation:22s linear infinite hp-spin;position:absolute;inset:0}.hp-portrait-rings span:nth-child(2){opacity:.7;border-style:dashed;animation-duration:34s;animation-direction:reverse;inset:8%}.hp-portrait-rings span:nth-child(3){opacity:.45;animation-duration:18s;inset:16%}.hp-portrait-hud{z-index:4;justify-content:space-between;gap:.5rem;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.hp-portrait-hud .hp-mono{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--hp-accent-bright);background:#07090d8c;border:1px solid #5eead440;border-radius:.45rem;padding:.35rem .55rem;font-size:.62rem}.hp-hud-live{align-items:center;gap:.4rem;display:inline-flex}.hp-hud-live i{background:var(--hp-accent-bright);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite hp-pulse;box-shadow:0 0 8px #5eead4cc}.hp-portrait-tag{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--hp-ink);background:#07090d99;border:1px solid #e8edf41f;border-radius:.45rem;padding:.4rem .65rem;font-size:.62rem;position:absolute;bottom:1rem;left:1rem}.hp-lead{max-width:34rem;color:var(--hp-muted);margin:1.5rem 0 0;font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:500;line-height:1.55}.hp-cta-row{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.hp-btn,.hp-btn-ghost{transition:transform .25s var(--hp-ease), background .2s ease, border-color .2s ease, color .2s ease;border-radius:999px;align-items:center;gap:.55rem;padding:.9rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.hp-btn{color:#06110f;background:var(--hp-accent-bright);border:1px solid #0000}.hp-btn:hover{background:#99f6e4}.hp-btn-ghost{color:var(--hp-ink);border:1px solid var(--hp-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d111866}.hp-btn-ghost:hover{color:var(--hp-accent-bright);border-color:#5eead459}.hp-hero-meta{border-top:1px solid var(--hp-line);flex-wrap:wrap;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;display:flex}.hp-hero-meta>div{flex-direction:column;gap:.25rem;min-width:5rem;display:flex}.hp-hero-meta .hp-mono{color:var(--hp-accent-bright);letter-spacing:.04em;text-transform:none;font-size:.95rem}.hp-hero-meta span:last-child{color:var(--hp-muted);font-size:.85rem}.hp-scroll-hint{font-family:var(--hp-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hp-muted);z-index:2;flex-direction:column;align-items:center;gap:.55rem;font-size:.65rem;display:flex;position:absolute;bottom:2rem;right:1.5rem}.hp-scroll-hint span{background:linear-gradient(to bottom, var(--hp-accent-bright), transparent);width:1px;height:3rem;animation:2s ease-in-out infinite hp-scroll-line}@keyframes hp-scroll-line{0%,to{opacity:.4;transform-origin:top;transform:scaleY(.4)}50%{opacity:1;transform-origin:top;transform:scaleY(1)}}.hp-marquee{border-block:1px solid var(--hp-line);background:#0d1118a6;padding:1rem 0;overflow:hidden}.hp-marquee-track{width:max-content;font-family:var(--hp-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hp-muted);gap:2.5rem;font-size:.8rem;animation:28s linear infinite hp-marquee;display:flex}.hp-marquee-track span:after{content:"·";color:var(--hp-accent);margin-left:2.5rem}@keyframes hp-marquee{to{transform:translate(-50%)}}.hp-section{max-width:72rem;margin:0 auto;padding:6rem 1.5rem}.hp-section-head{margin-bottom:2.5rem}.hp-section-head h2{letter-spacing:-.04em;margin:.75rem 0 0;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;line-height:1.05}.hp-section-lead{max-width:40rem;color:var(--hp-muted);margin:1rem 0 0;font-size:1.05rem;line-height:1.55}.hp-about-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:2rem;display:grid}.hp-prose p{color:var(--hp-muted);margin:0 0 1.1rem;font-size:1.05rem;line-height:1.65}.hp-values{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.hp-values li{border:1px solid var(--hp-line);background:#0d11188c;border-radius:1rem;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.1rem;display:grid}.hp-values strong{letter-spacing:-.02em;margin-bottom:.25rem;display:block}.hp-values p{color:var(--hp-muted);margin:0;font-size:.92rem;line-height:1.45}.hp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.hp-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-card{border:1px solid var(--hp-line);transform-style:preserve-3d;transition:border-color .25s ease, transform .25s var(--hp-ease);background:linear-gradient(160deg,#3d9b8f14,#0000 45%),#0d1118bf;border-radius:1.25rem;padding:1.5rem;position:relative;overflow:hidden}.hp-card:before{content:"";background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #5eead41f, transparent 45%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.hp-card:hover:before{opacity:1}.hp-card:hover{border-color:#5eead447}.hp-card h3{letter-spacing:-.02em;margin:1rem 0 .6rem;font-size:1.25rem}.hp-card p{color:var(--hp-muted);margin:0;font-size:.95rem;line-height:1.55}.hp-stack{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.hp-stack li{border:1px solid var(--hp-line);letter-spacing:-.02em;transition:transform .25s var(--hp-ease), border-color .2s ease, color .2s ease;background:#0d11188c;border-radius:.9rem;padding:1.1rem 1.2rem;font-weight:600}.hp-stack li:hover{color:var(--hp-accent-bright);border-color:#5eead459;transform:translateY(-3px)}.hp-contact{border:1px solid var(--hp-line);background:radial-gradient(600px 280px at 80% 20%, #3d9b8f29, transparent 60%), var(--hp-surface);border-radius:1.75rem;margin:2rem 1.5rem 4rem;padding:3.5rem 1.5rem;position:relative;overflow:hidden}.hp-contact-grid{z-index:1;grid-template-columns:1fr 1fr;align-items:start;gap:2.5rem;width:min(1100px,100%);margin:0 auto;display:grid;position:relative}.hp-contact-title{letter-spacing:-.045em;margin:.75rem 0 0;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.02}.hp-contact .hp-lead{margin-top:1rem}.hp-contact-meta{gap:.9rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.hp-contact-meta li{gap:.2rem;display:grid}.hp-contact-meta a,.hp-contact-meta span:not(.hp-mono){color:var(--hp-ink);font-weight:500;text-decoration:none}.hp-contact-meta a:hover{color:var(--hp-accent-bright)}.hp-form{border:1px solid var(--hp-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07090d73;border-radius:1.25rem;gap:.9rem;padding:1.35rem;display:grid}.hp-form-row{gap:.4rem;display:grid}.hp-form-row label{font-family:var(--hp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hp-muted);font-size:.68rem}.hp-form-row input,.hp-form-row textarea{border:1px solid var(--hp-line);width:100%;color:var(--hp-ink);font:inherit;background:#0d1118d9;border-radius:.75rem;outline:none;padding:.8rem .9rem;transition:border-color .2s}.hp-form-row input:focus,.hp-form-row textarea:focus{border-color:#5eead473}.hp-form-submit{justify-content:center;width:100%;margin-top:.25rem}.hp-form-submit:disabled{opacity:.65}.hp-form-status{margin:0;font-size:.9rem;line-height:1.4}.hp-form-status.is-ok{color:var(--hp-accent-bright)}.hp-form-status.is-error{color:#fca5a5}.hp-contact-orbit{pointer-events:none;border:1px solid #5eead426;border-radius:50%;width:28rem;height:28rem;animation:28s linear infinite hp-spin;position:absolute;bottom:-10rem;right:-6rem}.hp-contact-orbit:before,.hp-contact-orbit:after{content:"";border:1px solid #5eead41f;border-radius:50%;position:absolute}.hp-contact-orbit:before{inset:2.5rem}.hp-contact-orbit:after{border-style:dashed;inset:5rem}@keyframes hp-spin{to{transform:rotate(360deg)}}.hp-footer{border-top:1px solid var(--hp-line);justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 2rem;display:flex}[data-reveal]{opacity:0;transition:opacity .8s var(--hp-ease), transform .8s var(--hp-ease);transform:translateY(28px)}[data-reveal].is-in{opacity:1;transform:translateY(0)}@media (width<=900px){.hp-nav{padding-inline:1rem}.hp-nav-links a:not(.hp-nav-cta){display:none}.hp-hero-layout{grid-template-columns:1fr;gap:2.5rem}.hp-portrait{order:-1;justify-self:center;width:min(100%,340px);padding:2rem 1.75rem}.hp-portrait-frame{transform:none}.hp-portrait-rings{display:none}.hp-tech-badge{width:3rem;height:3rem}.hp-tech-badge i{font-size:1.35rem}.hp-cards,.hp-cards-2,.hp-stack,.hp-about-grid,.hp-contact-grid{grid-template-columns:1fr}.hp-hero{align-items:center;padding-top:5.5rem}.hp-scroll-hint{display:none}}@media (prefers-reduced-motion:reduce){.hp-tech-badge{animation:none}}.hp-auth{min-height:100vh;color:var(--hp-ink);background:var(--hp-bg);font-family:var(--hp-font);margin:0;position:relative;overflow-x:hidden}.hp-auth-glow{pointer-events:none;z-index:0;filter:blur(10px);background:radial-gradient(circle,#3d9b8f38,#0000 68%);border-radius:50%;width:36rem;height:36rem;position:fixed;top:-10rem;right:-8rem}.hp-auth-glow-2{background:radial-gradient(circle,#5eead41a,#0000 70%);inset:auto auto -12rem -10rem}.hp-auth-nav{z-index:2;padding:1.25rem 1.5rem;position:relative}.hp-auth-back{color:var(--hp-muted);font-family:var(--hp-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.72rem;text-decoration:none;transition:color .2s;display:inline-flex}.hp-auth-back:hover{color:var(--hp-accent-bright)}.hp-auth-main{z-index:1;place-items:center;min-height:calc(100vh - 4.5rem);padding:1.5rem;display:grid;position:relative}.hp-auth-card{border:1px solid var(--hp-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(420px 180px at 90% 0,#3d9b8f24,#0000 60%),#0d1118c7;border-radius:1.5rem;width:min(26rem,100%);padding:2rem 1.6rem;box-shadow:0 30px 80px #00000059}.hp-auth-kicker{margin:0}.hp-auth-title{letter-spacing:-.04em;margin:.7rem 0 0;font-size:clamp(2rem,5vw,2.6rem);font-weight:800;line-height:1.05}.hp-auth-lead{color:var(--hp-muted);margin:.85rem 0 0;font-size:.98rem;line-height:1.5}.hp-auth-form{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;margin-top:1.6rem;padding:0}.hp-auth-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.hp-auth-remember{color:var(--hp-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.hp-auth-remember input{width:1rem;height:1rem;accent-color:var(--hp-accent)}.hp-auth-link{color:var(--hp-muted);font-size:.88rem;text-decoration:none;transition:color .2s}.hp-auth-link:hover{color:var(--hp-accent-bright)}.hp-auth-status{margin:1rem 0 0;font-size:.9rem}.hp-auth-status.is-ok{color:var(--hp-accent-bright)}.hp-auth-error{color:#fca5a5;margin:.35rem 0 0;padding:0;font-size:.85rem;list-style:none}.hp-auth-error li{margin:0}.hp-auth-card label:not(.hp-auth-remember){font-family:var(--hp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hp-muted);margin-bottom:.4rem;font-size:.68rem;display:block}.hp-auth-card input[type=email],.hp-auth-card input[type=password],.hp-auth-card input[type=text]{border:1px solid var(--hp-line);width:100%;color:var(--hp-ink);font:inherit;background:#0d1118d9;border-radius:.75rem;outline:none;padding:.8rem .9rem}.hp-auth-card input:focus{border-color:#5eead473}.hp-auth-card .text-gray-600,.hp-auth-card .text-slate-600,.hp-auth-card .text-sm{color:var(--hp-muted)!important}.hp-auth-card button[type=submit],.hp-auth-card .hub-btn{width:100%;font:inherit;color:#06110f;background:var(--hp-accent-bright);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:.5rem;padding:.9rem 1.25rem;font-weight:600;display:inline-flex}.hp-auth-card a:not(.hp-auth-link){color:var(--hp-accent-bright)}
