*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#07090f;color:#eceef7;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.app-wrapper{min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(86,102,173,.14),transparent 38%),radial-gradient(circle at 90% 85%,rgba(54,80,138,.16),transparent 36%),#07090f}@media(max-width:768px){section{padding-left:1rem;padding-right:1rem}}.hero{--cursor-x: 50%;--cursor-y: 50%;min-height:100vh;display:flex;align-items:center;padding:5.5rem 1.25rem 3.5rem;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#080b15eb,#101424e6),url(/backgd.png);background-size:cover;background-position:center;border-bottom:1px solid rgba(188,198,255,.18)}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 46px,rgba(255,255,255,.03) 47px,rgba(255,255,255,.03) 48px);opacity:.35;z-index:-2}.hero-cursor-glow{position:absolute;width:340px;aspect-ratio:1;left:var(--cursor-x);top:var(--cursor-y);transform:translate(-50%,-50%);background:radial-gradient(circle,#89a7ff47,#89a7ff00);filter:blur(16px);pointer-events:none;z-index:-1;transition:left .12s linear,top .12s linear}.hero-content{width:min(1080px,92vw);margin:0 auto;padding:clamp(1.25rem,2vw,2rem);border:1px solid rgba(214,220,255,.25);border-radius:18px;background:linear-gradient(145deg,#101525eb,#080a12eb);box-shadow:0 24px 50px #02030880,inset 0 1px #ffffff1f}.hero-content h3{font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;color:#9eb4ff;margin-bottom:.65rem}.hero-content h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.6rem);margin-bottom:.65rem;color:#f7f4ee}.hero-content h1 span{color:#b7c8ff}.hero-content h2{font-size:clamp(1.05rem,2.4vw,1.6rem);color:#d8ddf2}.typing-text{font-weight:700;color:#f5f7ff}.hero-actions{margin-top:2rem;display:flex;gap:.9rem;flex-wrap:wrap}.card{border:1px solid rgba(182,196,255,.45);background:linear-gradient(140deg,#2a3d7af2,#3e5397db);color:#f5f7ff;border-radius:999px;padding:.8rem 1.35rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 20px #627ce159;filter:brightness(1.08)}@media(max-width:768px){.hero{min-height:auto;padding-top:5rem}.hero-content{width:100%;padding:1.1rem}}.projects-section{padding:5.5rem 1.25rem}.projects-title{max-width:1100px;margin:0 auto 2.2rem;font-size:clamp(1.9rem,3.8vw,2.7rem);color:#dce4ff;font-family:Georgia,Times New Roman,serif;letter-spacing:.03em}.projects-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.project-card{--rotate-x: 0deg;--rotate-y: 0deg;--lift: 0px;display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:16px;border:1px solid rgba(184,194,244,.22);background:linear-gradient(155deg,#0c111ff2,#070911fa);box-shadow:inset 0 1px #ffffff12,0 18px 34px #03040b75;transform-style:preserve-3d;transform:perspective(920px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateY(var(--lift));will-change:transform;transition:transform .18s ease,box-shadow .25s ease,border-color .25s ease}.project-card:hover{border-color:#bbcbff75;box-shadow:0 22px 38px #425cb638}.project-image{width:100%;height:175px;object-fit:cover;border-radius:10px;border:1px solid rgba(188,199,255,.18);transform:translateZ(14px);transition:transform .2s ease}.project-card h3{color:#eff2ff;font-size:1.12rem;transform:translateZ(18px)}.project-card .tech-stack{display:flex;flex-wrap:wrap;gap:.45rem}.project-card .tech-stack span{font-size:.75rem;font-weight:700;padding:.32rem .66rem;border-radius:999px;background:#99b0ff24;border:1px solid rgba(177,193,255,.35);color:#dce6ff}.project-links{margin-top:auto;transform:translateZ(16px)}.project-links a{display:inline-block;margin-right:.75rem;color:#b8cbff;font-weight:700;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}.project-links a:hover{color:#eff3ff;border-color:#eff3ff}.projects-section>a{max-width:1100px;margin:0 auto;display:block}.projects-section button{margin-top:1.6rem;border:1px solid rgba(190,203,255,.48);background:linear-gradient(140deg,#2d4185f2,#3f5498e6);color:#f4f7ff;border-radius:999px;padding:.72rem 1.24rem;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.projects-section button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #4d68ca52}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.project-card{transform:none}}.about-section{padding:5.5rem 1.25rem}.about-container{max-width:1100px;margin:0 auto}.about-title{margin-bottom:2.4rem;font-size:clamp(1.9rem,3.8vw,2.7rem);color:#dce4ff;font-family:Georgia,Times New Roman,serif;letter-spacing:.03em}.about-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:1.35rem}.about-left,.about-right{background:linear-gradient(155deg,#0b0f1ced,#070912f2);border:1px solid rgba(185,195,245,.22);border-radius:18px;box-shadow:inset 0 1px #ffffff0f,0 16px 36px #02040c73}.about-left{padding:2rem}.about-left p{color:#d2d8ef;margin-bottom:1rem;font-size:1.05rem}.tech-stack{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.55rem}.tech-stack span{padding:.38rem .78rem;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.03em;border:1px solid rgba(179,194,255,.45);background:linear-gradient(130deg,#2d3f81d9,#253262eb);color:#eef2ff}.about-right{padding:1.5rem}.about-right h3{color:#bcd0ff;font-family:Georgia,Times New Roman,serif;margin-bottom:1rem}.education-item{margin-bottom:1.15rem;padding:.85rem;border-left:2px solid rgba(143,163,233,.7);background:#1c25465c;border-radius:0 10px 10px 0}.edu-title{color:#f3f6ff;font-weight:700}.edu-meta{color:#cad3f0;font-size:.94rem}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-left,.about-right{padding:1.2rem}}.services-section{padding:5.5rem 1.25rem}.services-container{max-width:1100px;margin:0 auto}.services-title{margin-bottom:2rem;font-size:clamp(1.9rem,3.8vw,2.7rem);color:#dce4ff;font-family:Georgia,Times New Roman,serif;letter-spacing:.03em}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.service-card{border-radius:16px;padding:1.5rem 1.25rem;border:1px solid rgba(184,194,244,.24);background:linear-gradient(155deg,#0c1120f0,#070a12fa);box-shadow:inset 0 1px #ffffff12,0 18px 34px #02040b7a;transition:transform .24s ease,box-shadow .24s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 34px #485fbf3d}.service-icon{font-size:2rem;margin-bottom:.8rem;display:inline-block;animation:float 3.4s ease-in-out infinite}.service-card h3{color:#edf2ff;margin-bottom:.55rem;font-size:1.1rem}.service-card p{color:#cfd7f4}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@media(max-width:900px){.services-grid{grid-template-columns:1fr}}.contact-section{padding:5.5rem 1.25rem}.contact-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-info,.contact-form{border-radius:16px;border:1px solid rgba(184,194,244,.24);background:linear-gradient(155deg,#0c111ff2,#070911fa);box-shadow:inset 0 1px #ffffff12,0 18px 34px #02040b7a}.contact-info{padding:1.5rem}.contact-info h2{font-size:clamp(1.9rem,3.8vw,2.7rem);color:#dce4ff;font-family:Georgia,Times New Roman,serif;margin-bottom:1.5rem}.contact-details{list-style:none}.contact-details li{margin-bottom:.9rem}.contact-details span{display:block;color:#aac0ff;font-weight:700;margin-bottom:.15rem}.contact-details a,.contact-details p{color:#ebefff}.cv-button{display:inline-block;margin-top:1rem;padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(189,201,255,.4);background:linear-gradient(140deg,#2d4185f2,#3f5498e6);color:#f5f7ff;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.cv-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #4a66c654}.contact-socials{display:flex;gap:.7rem;margin-top:1.1rem}.contact-socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(175,191,255,.45);background:#2b3a7366;transition:transform .2s ease,background .2s ease}.contact-socials a:hover{transform:translateY(-3px);background:#546fd08c}.contact-socials svg{width:18px;height:18px;fill:#e7edff}.contact-form{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.contact-form input,.contact-form textarea{background:#f0f5ff0f;border:1px solid rgba(185,196,255,.28);color:#f2f5ff;padding:.78rem;border-radius:10px;outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#c1cceb}.contact-form button{margin-top:.45rem;border:1px solid rgba(189,201,255,.4);background:linear-gradient(140deg,#2d4185f2,#3f5498e6);color:#f5f7ff;font-weight:700;padding:.75rem 1rem;border-radius:10px;cursor:pointer}@media(max-width:900px){.contact-container{grid-template-columns:1fr}}.footer{padding:1.4rem 1.25rem 2rem;border-top:1px solid rgba(181,191,238,.2);background:#080a14cc}.footer-container{max-width:1100px;margin:0 auto;text-align:center}.footer p{color:#b6c2e6;font-size:.9rem}.buddy{position:fixed;top:-32px;left:-32px;width:64px;height:64px;pointer-events:none;z-index:1200;transition:opacity .3s ease,transform .12s ease-out}.buddy-shadow{position:absolute;left:11px;right:11px;bottom:-12px;height:9px;border-radius:999px;background:#232a4f73;filter:blur(2px)}.buddy-body{position:relative;width:64px;height:64px;border-radius:50%;border:1px solid rgba(185,196,255,.58);background:radial-gradient(circle at 30% 28%,#e9effff2,#a3b5ffdb 40%,#4259b2f2);box-shadow:inset -8px -8px 14px #2636795c,inset 5px 5px 12px #ffffff73,0 12px 20px #1f295459;animation:buddyFloat 2.6s ease-in-out infinite}.buddy-eye{position:absolute;top:23px;width:8px;height:10px;border-radius:999px;background:#132458;transition:transform .12s ease}.buddy-eye.left{left:19px}.buddy-eye.right{right:19px}.buddy-mouth{position:absolute;left:25px;bottom:15px;width:14px;height:5px;border-bottom:2px solid #132458;border-radius:0 0 10px 10px;transition:all .18s ease}.buddy-bubble{position:absolute;left:74px;top:2px;white-space:nowrap;font-size:.72rem;font-weight:700;color:#ecf2ff;padding:.34rem .5rem;border-radius:999px;border:1px solid rgba(183,196,255,.4);background:#152048e0;opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease}.buddy-hand{position:absolute;left:-8px;top:18px;font-size:.86rem;font-weight:700;color:#e4ecff;opacity:0;transform-origin:85% 70%;transform:rotate(-20deg)}.buddy-sparkle{position:absolute;color:#dbe6ff;text-shadow:0 0 8px rgba(219,230,255,.8);opacity:0}.buddy-sparkle.one{right:-5px;top:-2px}.buddy-sparkle.two{right:6px;top:-12px}.buddy-happy .buddy-mouth,.buddy-excited .buddy-mouth{left:22px;width:20px;height:7px;border-bottom-width:3px}.buddy-blink .buddy-eye{transform:scaleY(.18)}.buddy-excited .buddy-body{animation-duration:1.2s}.buddy-happy .buddy-bubble,.buddy-excited .buddy-bubble{opacity:1;transform:translate(0)}.buddy-wave .buddy-hand{opacity:1;animation:handWave .9s ease-in-out infinite}.buddy-wave .buddy-bubble{opacity:1;transform:translate(0)}.buddy-excited .buddy-sparkle{opacity:1;animation:sparklePop .9s ease-in-out infinite}.buddy-excited .buddy-sparkle.two{animation-delay:.2s}@keyframes buddyFloat{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes sparklePop{0%{transform:translateY(0) scale(.85);opacity:0}40%{transform:translateY(-6px) scale(1.1);opacity:1}to{transform:translateY(-11px) scale(.9);opacity:0}}@keyframes handWave{0%{transform:rotate(-22deg) translateY(0)}50%{transform:rotate(10deg) translateY(-1px)}to{transform:rotate(-22deg) translateY(0)}}@media(max-width:768px){.buddy{display:none}}
