.hero{max-width:1280px;margin:0 auto;padding:150px 20px 100px;position:relative;overflow:hidden}.hero__content{z-index:1;max-width:680px;position:relative}.hero__badge{color:#a78bfa;background:#a78bfa1a;border:1px solid #a78bfa4d;border-radius:100px;align-items:center;gap:8px;margin-bottom:28px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.hero__pulse{background:#7fd8a6;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite hero-pulse;box-shadow:0 0 8px #7fd8a6}@keyframes hero-pulse{0%,to{opacity:1}50%{opacity:.35}}.hero__content h1{letter-spacing:-.02em;margin:0 0 26px;font-size:56px;font-weight:800;line-height:1.1}.hero__description{color:#9c93b8;max-width:540px;margin-bottom:40px;font-size:19px;font-weight:400;line-height:1.6}.hero__actions{gap:24px;display:flex}@media (prefers-reduced-motion:reduce){.hero__pulse{animation:none}}@media (max-width:1024px){.hero{text-align:center;padding-top:130px}.hero__content{max-width:100%}.hero__description{margin-left:auto;margin-right:auto}.hero__actions{justify-content:center}}@media (max-width:640px){.hero__content h1{font-size:38px}}.btn{cursor:pointer;color:#fff;background:linear-gradient(90deg,#4c3aa5,#8b5cf6,#6d5dfc);border:none;border-radius:8px;padding:16px 32px;font-size:18px;font-weight:700;transition:transform .2s,opacity .2s}.btn:hover{opacity:.9;transform:translateY(-2px)}.globe-wrap{z-index:0;pointer-events:none;width:700px;height:700px;position:absolute;top:40px;right:-50px}.globe-wrap canvas{display:block}@media (max-width:980px){.globe-wrap{width:340px;height:340px;top:0;right:-90px}}@media (max-width:640px){.globe-wrap{display:none}}.starfield{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.starfield__star{animation:starfield-twinkle var(--d)ease-in-out infinite;animation-delay:var(--delay);background:#a78bfa;border-radius:50%;position:absolute}@keyframes starfield-twinkle{0%,to{opacity:var(--op)}50%{opacity:.05}}@media (prefers-reduced-motion:reduce){.starfield__star{opacity:var(--op);animation:none}}.stats{background:#ffffff0a;border-radius:8px;justify-content:space-between;gap:30px;max-width:534px;margin:0 auto 120px;padding:24px;display:flex}.stat{border-right:1px solid #7a7191;flex:1;padding-right:30px}.stat:last-child{border-right:none;padding-right:0}.stat strong{color:#8b5cf6;margin-bottom:6px;font-size:24px;font-weight:800;display:block}.stat span{color:#e4def2;font-size:20px;font-weight:700}@media (max-width:768px){.stats{text-align:center;flex-direction:column}.stat{border-bottom:1px solid #7a7191;border-right:none;padding:20px 0}.stat:last-child{border-bottom:none}}.services{max-width:1280px;margin:0 auto 160px;padding:0 20px}.services__header{text-align:center;margin-bottom:80px}.services__header h2{color:#8b5cf6;font-size:48px;font-weight:800}.services__header p{color:#9c93b8;margin-top:16px;font-size:18px}.services__grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.services__card{background:#160f2b;border:1px solid #ffffff0d;border-radius:24px;padding:40px 32px;transition:transform .3s,background .3s}.services__card:hover{background:#ffffff0f;transform:translateY(-10px)}.services__card h3{color:#8b5cf6;margin-bottom:16px;font-size:22px;font-weight:700}.services__card p{color:#9c93b8;font-size:16px;line-height:1.6}.fade-up{opacity:0;transform:translateY(40px)}.fade-up.show{opacity:1;transition:all .6s;transform:translateY(0)}@media (max-width:1024px){.services__grid{grid-template-columns:1fr}}.about{grid-template-columns:220px 1fr 1fr;align-items:start;gap:60px;max-width:1280px;margin:0 auto 160px;padding:0 20px;display:grid}.about__image{aspect-ratio:1;background:#a78bfa14;border:1px solid #a78bfa33;border-radius:50%;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.about__image img{object-fit:cover;width:100%;height:100%}.about__content h2{color:#a78bfa;margin-bottom:24px;font-size:40px;font-weight:800}.about__content p{color:#9c93b8;margin-bottom:20px;font-size:17px;line-height:1.6}.about__skills{flex-direction:column;gap:24px;display:flex}.skill span{color:#f1eefa;font-size:16px;font-weight:600}.skill__bar{background:#ffffff14;border-radius:4px;width:100%;height:8px;margin-top:8px;overflow:hidden}.skill__progress{background:linear-gradient(90deg,#4c3aa5,#8b5cf6,#a78bfa);height:100%}@media (max-width:1100px){.about{grid-template-columns:1fr 1fr}.about__image{grid-column:1/-1;max-width:220px;margin:0 auto}}@media (max-width:700px){.about{text-align:center;grid-template-columns:1fr}.about__image{max-width:180px}.about__content p{text-align:left}}.portfolio{max-width:1280px;margin:0 auto 160px;padding:80px 60px}.portfolio h2{text-align:center;color:#8b5cf6;margin-bottom:60px;font-size:48px;font-weight:800}.portfolio__grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;display:grid}.portfolio__card{background:#160f2b;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 10px 25px #00000014}.portfolio__card:hover{transform:translateY(-8px)}.portfolio__image{object-fit:cover;width:100%;height:220px;display:block}.portfolio__image img{object-fit:cover;object-position:top;width:100%;height:260px;transition:all .4s}.portfolio__card:hover .portfolio__image img{transform:scale(1.05)}.portfolio__content{margin-top:15px;padding:20px}.portfolio__content h3{color:#fff;margin-bottom:8px;font-size:22px;font-weight:700}.portfolio__content a{color:#8b5cf6;font-size:14px;text-decoration:none}.portfolio__placeholder{align-items:flex-end;width:100%;height:220px;padding:16px 20px;display:flex}.portfolio__placeholder span{text-transform:uppercase;letter-spacing:.05em;color:#ffffffeb;text-shadow:0 2px 12px #00000080;font-size:11px;font-weight:700}.mg-1{background:linear-gradient(135deg,#2a1b5c,#5b3fa0 55%,#a78bfa)}.mg-2{background:linear-gradient(135deg,#4c3aa5,#0a0714)}.portfolio__role{color:#a78bfa;margin-bottom:10px;font-size:13px;font-weight:600}.portfolio__description{color:#9c93b8;margin-bottom:16px;font-size:14px}.portfolio__tags{flex-wrap:wrap;gap:7px;display:flex}.portfolio__tags span{color:#9c93b8;border:1px solid #a78bfa4d;border-radius:100px;padding:5px 11px;font-size:11.5px}@media (max-width:1024px){.portfolio__grid{grid-template-columns:1fr}}.header{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14161cd9;border-bottom:1px solid #ffffff0a;width:100%;position:fixed;top:0}.header__container{align-items:center;max-width:1200px;margin:0 auto;padding:20px 40px;display:flex}.logo{cursor:pointer;background:linear-gradient(94.36deg,#8b5cf6 3.1%,#7c5cdb 94.54%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:900;text-decoration:none;transition:opacity .2s,transform .2s}.logo:hover{opacity:.85;transform:scale(1.03)}.point{color:#fff}.nav{z-index:1000;background:#0f0a1f;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:80vw;max-width:320px;height:100vh;transition:transform .35s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav.open{transform:translate(0)}.nav a{color:#e4def2;opacity:.85;text-decoration:none}.nav a:hover{opacity:1;color:#a78bfa}.menu-toggle{z-index:1100;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:22px;margin-left:auto;display:flex;position:relative}.menu-toggle span{background:#fff;border-radius:2px;height:3px;transition:all .3s}.menu-toggle.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}@media (min-width:768px){.menu-toggle{display:none}.nav{background:0 0;flex-direction:row;align-items:center;gap:2rem;height:auto;margin-left:auto;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nav a{font-size:20px}}.footer{background:#0a0714;margin-top:160px;padding:80px 20px 30px}.footer__container{grid-template-columns:2fr 1fr 1fr;gap:40px;max-width:1280px;margin:0 auto;display:grid}.footer__brand h3{color:#fff;font-size:28px;font-weight:800}.footer__brand h3 span{color:#8b5cf6}.footer__brand p{color:#9c93b8;margin-top:16px;font-size:16px;line-height:1.6}.footer__nav,.footer__social{flex-direction:column;gap:14px;display:flex}.footer__nav a,.footer__social a{color:#9c93b8;font-size:16px;text-decoration:none;transition:color .3s}.footer__nav a:hover,.footer__social a:hover{color:#8b5cf6}.footer__bottom{text-align:center;border-top:1px solid #ffffff14;margin-top:60px;padding-top:20px}.footer__bottom p{color:#6e6483;font-size:14px}@media (max-width:768px){.footer__container{text-align:center;grid-template-columns:1fr}.footer__nav,.footer__social{align-items:center}}body{color:#f1eefa;background:radial-gradient(circle at top,#150f28 0%,#0a0714 35%,#050307 100%);margin:0;font-family:Inter,Arial,sans-serif}h1,h2,h3,.logo{font-family:Sora,Inter,Arial,sans-serif}.card{background:#fff;border-radius:8px;padding:20px}.skills{gap:40px;display:flex}.projects-grid{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.project-card{background:#fff;border-radius:12px;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 10px 20px #0000000d}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 30px #00000014}.project-header{justify-content:space-between;align-items:center;display:flex}.badge{color:#fff;background:#2563eb;border-radius:999px;padding:4px 10px;font-size:12px}.tech-list{margin:16px 0;padding:0;list-style:none}.tech-list li{color:#555;font-size:14px}.project-links{flex-wrap:wrap;gap:10px;display:flex}.project-links a{text-align:center;white-space:nowrap;flex:1}.project-card{min-height:360px}.project-card p{flex-grow:1}.project-card h4{min-height:48px}.reveal{opacity:0;transform:translateY(40px)}.reveal.show{opacity:1;transition:all .7s;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-40px)}.reveal-left.show{opacity:1;transition:all .7s;transform:translate(0)}.reveal-right{opacity:0;transform:translate(40px)}.reveal-right.show{opacity:1;transition:all .7s;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.95)}.reveal-scale.show{opacity:1;transition:all .7s;transform:scale(1)}
