*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#050505;color:#f3f3f3;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 15% 0%,rgba(255,255,255,.06),transparent 32%),radial-gradient(circle at 88% 100%,rgba(255,255,255,.04),transparent 26%),#050505}@media(max-width:768px){section{padding-left:1rem;padding-right:1rem}}.hero{--cursor-x: 50%;--cursor-y: 50%;min-height:92vh;display:flex;align-items:center;padding:5.2rem 1.25rem 3.2rem;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#050505e6,#121212eb),url(/backgd.png);background-size:cover;background-position:center;border-bottom:1px solid #202020}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 36%,rgba(255,255,255,.02));z-index:-2}.hero-cursor-glow{position:absolute;width:320px;aspect-ratio:1;left:var(--cursor-x);top:var(--cursor-y);transform:translate(-50%,-50%);background:radial-gradient(circle,#ffffff38,#fff0);filter:blur(14px);pointer-events:none;z-index:-1;transition:left .12s linear,top .12s linear}.hero-content{width:min(1120px,92vw);margin:0 auto;padding:clamp(1.35rem,2vw,2rem);border:1px solid #2a2a2a;border-radius:16px;background:linear-gradient(145deg,#0c0c0ce0,#080808e6);box-shadow:0 22px 44px #00000080}.hero-content h3{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:#b3b3b3;margin-bottom:.6rem}.hero-content h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.8rem);margin-bottom:.5rem;color:#fff}.hero-content h1 span{color:#d9d9d9}.hero-content h2{font-size:clamp(1.05rem,2.4vw,1.5rem);color:#ececec}.hero-subtitle{margin-top:.72rem;max-width:720px;color:#bdbdbd;font-size:clamp(.95rem,2vw,1.06rem)}.typing-text{font-weight:700;color:#fff}.hero-actions{margin-top:1.8rem;display:flex;gap:.8rem;flex-wrap:wrap}.card{border:1px solid #5e5e5e;background:linear-gradient(145deg,#f5f5f5,#d9d9d9);color:#121212;border-radius:999px;padding:.74rem 1.24rem;font-size:.9rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.card:hover{transform:translateY(-2px);box-shadow:0 10px 18px #00000059}@media(max-width:768px){.hero{min-height:auto;padding-top:4.8rem}.hero-content{width:100%;padding:1.1rem}}.projects-section{padding:5.2rem 1.25rem}.projects-title{max-width:1120px;margin:0 auto 2rem;font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-family:Georgia,Times New Roman,serif}.projects-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem}.project-card{--rotate-x: 0deg;--rotate-y: 0deg;--lift: 0px;display:flex;flex-direction:column;gap:.7rem;padding:1rem;border-radius:14px;border:1px solid #2a2a2a;background:#0d0d0d;box-shadow:0 20px 36px #00000075;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,border-color .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#717171;box-shadow:0 24px 40px #0000008a}.project-image{width:100%;height:230px;object-fit:cover;border-radius:10px;border:1px solid #242424;transform:translateZ(14px)}.project-card h3{color:#fff;font-size:1.1rem;transform:translateZ(18px)}.project-description{color:#b5b5b5;font-size:.95rem;line-height:1.55;transform:translateZ(16px)}.project-card .tech-stack{display:flex;flex-wrap:wrap;gap:.45rem;transform:translateZ(14px)}.project-card .tech-stack span{font-size:.74rem;font-weight:700;padding:.28rem .58rem;border-radius:999px;background:#151515;border:1px solid #343434;color:#d9d9d9}.project-links{margin-top:auto;transform:translateZ(16px)}.project-links a{display:inline-block;margin-right:.8rem;color:#efefef;font-weight:700;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}.project-links a:hover{color:#fff;border-color:#fff}.projects-section>a{max-width:1120px;margin:0 auto;display:block}.projects-section button{margin-top:1.6rem;border:1px solid #676767;background:linear-gradient(145deg,#f2f2f2,#d7d7d7);color:#111;border-radius:999px;padding:.7rem 1.2rem;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 10px 20px #00000059}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.project-image{height:210px}.project-card{transform:none}}.about-section{padding:5.2rem 1.25rem}.about-container{max-width:1120px;margin:0 auto}.about-title{margin-bottom:2rem;font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-family:Georgia,Times New Roman,serif}.about-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:1rem}.about-left,.about-right{background:#0d0d0d;border:1px solid #262626;border-radius:14px;box-shadow:0 18px 34px #00000073}.about-left{padding:1.6rem}.about-left p{color:#c8c8c8;margin-bottom:1rem;font-size:1rem}.tech-stack{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:.55rem}.tech-stack .tech-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid #303030;background:#111;transition:transform .2s ease,border-color .2s ease}.tech-stack .tech-icon img{width:22px;height:22px;object-fit:contain}.tech-stack .tech-icon:hover{transform:translateY(-2px);border-color:#8a8a8a}.about-right{padding:1.4rem}.about-right h3{color:#fff;font-family:Georgia,Times New Roman,serif;margin-bottom:.9rem}.education-item{margin-bottom:.9rem;padding:.8rem;border-left:2px solid #6e6e6e;background:#121212;border-radius:0 8px 8px 0}.edu-title{color:#f3f3f3;font-weight:700}.edu-meta{color:#a6a6a6;font-size:.92rem}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-left,.about-right{padding:1.1rem}}.services-section{padding:5.2rem 1.25rem}.services-container{max-width:1120px;margin:0 auto}.services-title{margin-bottom:1.9rem;font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-family:Georgia,Times New Roman,serif}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.service-card{border-radius:14px;padding:1.4rem 1.2rem;border:1px solid #2a2a2a;background:#0d0d0d;box-shadow:0 20px 34px #00000075;transition:transform .24s ease,border-color .24s ease}.service-card:hover{transform:translateY(-4px);border-color:#6f6f6f}.service-icon{font-size:1.8rem;margin-bottom:.7rem;display:inline-block}.service-card h3{color:#f7f7f7;margin-bottom:.52rem;font-size:1.06rem}.service-card p{color:#b7b7b7}@media(max-width:900px){.services-grid{grid-template-columns:1fr}}.contact-section{padding:5.2rem 1.25rem}.contact-container{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-info,.contact-form{border-radius:14px;border:1px solid #2a2a2a;background:#0d0d0d;box-shadow:0 20px 34px #00000075}.contact-info{padding:1.4rem}.contact-info h2{font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-family:Georgia,Times New Roman,serif;margin-bottom:1.2rem}.contact-details{list-style:none}.contact-details li{margin-bottom:.85rem}.contact-details span{display:block;color:#d0d0d0;font-weight:700;margin-bottom:.15rem}.contact-details a,.contact-details p{color:#f2f2f2}.cv-button{display:inline-block;margin-top:1rem;padding:.64rem 1rem;border-radius:10px;border:1px solid #666;background:linear-gradient(145deg,#f5f5f5,#d7d7d7);color:#111;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.cv-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00000059}.contact-socials{display:flex;gap:.68rem;margin-top:1.05rem}.contact-socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid #4a4a4a;background:#151515;transition:transform .2s ease,border-color .2s ease}.contact-socials a:hover{transform:translateY(-3px);border-color:#a8a8a8}.contact-socials svg{width:18px;height:18px;fill:#f0f0f0}.contact-form{padding:1.4rem;display:flex;flex-direction:column;gap:.75rem}.contact-form input,.contact-form textarea{background:#111;border:1px solid #2d2d2d;color:#efefef;padding:.78rem;border-radius:10px;outline:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#949494}.contact-form button{margin-top:.4rem;border:1px solid #666;background:linear-gradient(145deg,#f5f5f5,#d7d7d7);color:#111;font-weight:700;padding:.74rem 1rem;border-radius:10px;cursor:pointer}@media(max-width:900px){.contact-container{grid-template-columns:1fr}}.footer{padding:1.25rem 1.25rem 1.8rem;border-top:1px solid #232323;background:#080808}.footer-container{max-width:1120px;margin:0 auto;text-align:center}.footer p{color:#a8a8a8;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}}.certs-section{padding:5.5rem 1.25rem;background:#0a0a0a}.certs-container{max-width:1120px;margin:0 auto}.certs-title{font-size:clamp(2rem,4vw,2.8rem);color:#fff;font-family:Georgia,Times New Roman,serif}.certs-subtitle{margin-top:.7rem;max-width:760px;color:#b9b9b9}.certs-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.cert-card{border:1px solid #242424;border-radius:14px;overflow:hidden;background:#111;box-shadow:0 20px 38px #00000073;transition:transform .22s ease,border-color .22s ease}.cert-card:hover{transform:translateY(-4px);border-color:#5a5a5a}.cert-image{width:100%;height:240px;object-fit:cover}.cert-body{padding:.95rem 1rem 1.1rem}.cert-body h3{color:#fff;font-size:1.05rem}.cert-body p{margin-top:.35rem;color:#adadad;font-size:.92rem}
