:root{--primary: #14b8a6;--primary-light: #2dd4bf;--accent: #f97316;--bg-primary: #0b1120;--bg-secondary: #111827;--text-primary: #f8fafc;--text-secondary: #cbd5f5;--text-muted: #aab4c6;--gradient-primary: linear-gradient(135deg, #14b8a6 0%, #22d3ee 45%, #f97316 100%);--gradient-hero: radial-gradient(circle at top, rgba(34, 211, 238, .2), transparent 60%), linear-gradient(135deg, #0b1120 0%, #0f172a 45%, #111827 100%);--gradient-card: linear-gradient(145deg, #0f172a 0%, #111827 100%);--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .1);--shadow-strong: 0 30px 60px rgba(5, 10, 24, .45);--font-display: "Space Grotesk", "Sora", sans-serif;--font-body: "Sora", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.7}main{display:block}section{padding:72px 20px;scroll-margin-top:90px}img{max-width:100%;display:block}.skip-link{position:absolute;left:10px;top:-40px;background:var(--primary);color:#fff;padding:8px 14px;border-radius:6px;text-decoration:none;z-index:2000;transition:top .2s ease}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;background:#0b1120f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);z-index:1000}.logo a{font-size:1.8rem;font-weight:700;font-family:var(--font-display);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none}nav{display:flex;align-items:center;gap:18px}.nav-list{display:flex;gap:1.5rem;list-style:none}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .3s;display:inline-flex;align-items:center;gap:8px}.nav-link:hover{color:var(--text-primary)}.nav-toggle{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-bg);cursor:pointer;align-items:center;justify-content:center;gap:4px;flex-direction:column}.nav-toggle span{width:18px;height:2px;background:var(--text-primary);border-radius:999px;transition:transform .3s ease,opacity .3s ease}.site-header.nav-open .nav-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}.site-header.nav-open .nav-toggle span:nth-child(2){opacity:0}.site-header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.theme-toggle{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);width:45px;height:45px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.theme-toggle:hover{background:var(--primary)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 5% 80px;background:var(--gradient-hero);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.2) 1px,transparent 0);background-size:32px 32px;opacity:.15}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(34,211,238,.35),transparent 55%),radial-gradient(circle at 15% 85%,rgba(249,115,22,.25),transparent 55%)}.hero-container{display:flex;align-items:center;justify-content:space-between;gap:60px;max-width:1000px;position:relative;z-index:1}.hero-image{position:relative}.hero-image img{width:280px;height:280px;border-radius:50%;object-fit:cover;border:4px solid var(--primary);box-shadow:var(--shadow-strong)}.hero-orbit{position:absolute;inset:-20px;border-radius:50%;border:1px dashed rgba(148,163,184,.35);animation:orbit 14s linear infinite}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-text{max-width:500px}.greeting{display:block;font-size:1.1rem;color:var(--primary-light);margin-bottom:10px}.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#0f172ab3;border:1px solid rgba(148,163,184,.3);color:var(--text-secondary);font-size:.85rem;margin-bottom:18px;text-transform:uppercase;letter-spacing:.08em}.hero-text h1{font-size:3rem;font-weight:700;font-family:var(--font-display);margin-bottom:10px;background:linear-gradient(to right,#f8fafc,#67e8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-text h2{font-size:1.4rem;font-weight:500;color:var(--text-secondary);margin-bottom:20px;min-height:1.8rem}.cursor{animation:blink 1s infinite;color:var(--primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-text p{font-size:1rem;color:var(--text-secondary);margin-bottom:25px}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.hero-stat{background:#0f172a99;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.stat-value{font-family:var(--font-display);font-size:1.1rem;color:var(--text-primary)}.stat-label{font-size:.85rem;color:var(--text-muted)}.highlights{background:var(--bg-primary);padding-top:32px}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.highlight-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:16px;padding:24px;box-shadow:var(--shadow-strong)}.highlight-label{color:var(--primary-light);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.highlight-card h3{font-size:1.2rem;margin-bottom:8px}.highlight-card p{color:var(--text-secondary);font-size:.95rem}.proof{padding-top:30px}.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;text-align:center}.proof-item{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:14px;padding:18px 12px}.proof-item h3{font-size:1.6rem;font-family:var(--font-display);margin-bottom:6px}.proof-item p{color:var(--text-secondary)}.hero-buttons{display:flex;gap:15px;margin-bottom:25px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .3s;border:none;cursor:pointer}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #14b8a659}.btn-outline{background:transparent;color:var(--text-primary);border:2px solid rgba(255,255,255,.2)}.btn-outline:hover{background:#ffffff1a;border-color:var(--primary)}.btn-ghost{background:transparent;color:var(--primary-light);border:1px solid var(--primary)}.btn-ghost:hover{background:var(--primary);color:#fff}.social-links{display:flex;gap:12px}.social-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);font-size:1.1rem;text-decoration:none;transition:all .3s}.social-icon:hover{background:var(--primary);border-color:var(--primary);color:#fff}.container{max-width:900px;margin:0 auto}.section-title{text-align:center;font-size:2rem;font-weight:700;font-family:var(--font-display);margin-bottom:32px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-subtitle{text-align:center;color:var(--text-secondary);margin-top:-30px;margin-bottom:32px}.now{background:var(--bg-primary)}.now-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:start}.now-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:16px;padding:28px}.now-panel{background:#14b8a61f}.now-card h3{font-size:1.3rem;margin-bottom:10px}.now-card p{color:var(--text-secondary);margin-bottom:16px}.now-list{list-style:none;display:grid;gap:12px;margin:20px 0 24px;color:var(--text-secondary)}.now-list i{color:var(--primary-light);margin-right:10px}.now-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.now-tags span{background:#14b8a633;color:var(--text-primary);padding:6px 12px;border-radius:999px;font-size:.85rem}.now-note{color:var(--text-muted);font-size:.85rem}.about{background:var(--bg-secondary)}.about-content{max-width:700px;margin:0 auto 40px}.about-content p{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem}.about-content p i{color:var(--primary-light);margin-right:10px}.highlight{color:var(--primary-light);font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;max-width:700px;margin:0 auto}.skill-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:10px;padding:20px 15px;text-align:center;transition:all .3s}.skill-card:hover{transform:translateY(-3px);border-color:var(--primary)}.skill-card i{font-size:2rem;margin-bottom:10px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.skill-card span{display:block;font-weight:600;font-size:.9rem}.education,.experience{background:var(--bg-secondary)}.timeline{max-width:700px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--glass-border)}.timeline-item{position:relative;padding-left:30px;margin-bottom:30px}.timeline-dot{position:absolute;left:-6px;top:5px;width:14px;height:14px;background:var(--gradient-primary);border-radius:50%;border:3px solid var(--bg-secondary)}.timeline-content{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:12px;padding:20px;transition:all .3s}.timeline-content:hover{transform:translate(5px);border-color:var(--primary)}.timeline-content h3{font-size:1.1rem;margin-bottom:8px;display:flex;align-items:center;gap:10px}.timeline-content h3 i{color:var(--primary-light)}.timeline-school{color:var(--text-primary);font-weight:600;margin-bottom:5px}.timeline-date{color:var(--text-muted);font-size:.85rem;margin-bottom:10px;display:flex;align-items:center;gap:6px}.timeline-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.services{background:var(--bg-primary)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.service-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:15px;padding:30px 20px;text-align:center;transition:all .3s}.service-card:hover{transform:translateY(-5px);border-color:var(--primary)}.service-icon{width:60px;height:60px;margin:0 auto 20px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.service-icon i{font-size:1.5rem;color:#fff}.service-card h3{font-size:1.1rem;margin-bottom:10px}.service-card p{color:var(--text-secondary);font-size:.9rem}.projects{background:var(--bg-primary)}.project-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:26px}.filter-chip{background:#0f172a99;border:1px solid rgba(148,163,184,.2);color:var(--text-secondary);padding:8px 16px;border-radius:999px;font-size:.85rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.chip-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.filter-chip.is-active,.filter-chip:hover{background:#14b8a633;border-color:#14b8a680;color:var(--text-primary)}.project-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:15px;overflow:hidden;margin-bottom:30px;transition:all .3s}.project-card:hover{transform:translateY(-5px);border-color:var(--primary)}.project-image{width:100%;height:220px}.project-image img{width:100%;height:100%;object-fit:cover}.project-info{padding:25px}.project-info h3{font-size:1.3rem;margin-bottom:10px;display:flex;align-items:center;gap:10px}.project-info h3 i{color:var(--primary-light)}.project-info p{color:var(--text-secondary);font-size:.95rem;margin-bottom:15px}.project-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px;color:var(--text-muted);font-size:.85rem}.project-meta i{color:var(--primary-light);margin-right:6px}.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tech-stack span{background:#14b8a626;color:var(--primary-light);padding:4px 10px;border-radius:15px;font-size:.8rem}.project-actions{display:flex;flex-wrap:wrap;gap:10px}.brand-strip{background:var(--bg-secondary)}.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;text-align:center;color:var(--text-secondary)}.brand-grid span{padding:14px;border-radius:12px;border:1px solid var(--glass-border);background:#0f172a66;font-weight:600;letter-spacing:.02em}.process{background:var(--bg-primary)}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.process-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:16px;padding:24px}.process-card h3{font-family:var(--font-display);font-size:1.1rem;margin-bottom:8px}.process-card p{color:var(--text-secondary)}.skills-depth{background:var(--bg-secondary)}.skills-bars{display:grid;gap:16px}.skill-row{display:grid;gap:10px}.skill-label{font-weight:600;color:var(--text-primary)}.skill-bar{height:10px;border-radius:999px;background:#94a3b833;overflow:hidden}.skill-bar span{display:block;height:100%;background:var(--gradient-primary);border-radius:inherit}.contact{background:var(--bg-secondary)}.contact-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:15px;padding:40px 30px;text-align:center;max-width:500px;margin:0 auto}.contact-card h3{font-size:1.5rem;margin-bottom:10px}.contact-card>p{color:var(--text-secondary);margin-bottom:25px}.contact-form{margin-bottom:30px;text-align:left}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field label{font-size:.85rem;color:var(--text-muted)}.form-field input,.form-field textarea{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:10px;padding:10px 12px;color:var(--text-primary);font-family:var(--font-body)}.form-field input:focus,.form-field textarea:focus{border-color:var(--primary);outline:none}.form-status{margin-top:10px;font-size:.85rem;color:var(--text-muted)}.contact-info{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.contact-item{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);text-decoration:none;padding:10px 15px;background:#ffffff08;border-radius:8px;transition:all .3s}.contact-item:hover{background:#14b8a626;color:var(--primary-light)}.contact-item i{color:var(--primary-light)}.social-links-center{display:flex;justify-content:center;gap:12px}.cv{background:var(--bg-secondary)}.cv-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:15px;padding:40px;text-align:center;max-width:400px;margin:0 auto;transition:all .3s}.cv-card:hover{transform:translateY(-5px);border-color:var(--primary)}.cv-icon{width:70px;height:70px;margin:0 auto 20px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}.cv-icon i{font-size:1.8rem;color:#fff}.cv-card h3{font-size:1.3rem;margin-bottom:8px}.cv-card>p{color:var(--text-secondary);margin-bottom:20px}.cta{background:var(--bg-primary);padding-top:32px}.cta-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:20px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-card h2{font-size:1.8rem;margin-bottom:6px}.cta-card p{color:var(--text-secondary)}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.testimonials{background:var(--bg-secondary)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.testimonial-card{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:16px;padding:24px}.quote{font-size:1rem;color:var(--text-secondary);margin-bottom:20px}.quote-meta{display:flex;flex-direction:column;gap:4px}.quote-name{font-weight:600;color:var(--text-primary)}.quote-role{font-size:.85rem;color:var(--text-muted)}.modal{position:fixed;inset:0;background:#020617b3;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:2000}.modal.is-open{opacity:1;pointer-events:auto}.modal-content{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:18px;padding:28px;max-width:520px;width:100%;position:relative;box-shadow:var(--shadow-strong)}.modal-content h3{font-family:var(--font-display);margin-bottom:12px}.modal-content p{color:var(--text-secondary);margin-bottom:10px}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff14;color:var(--text-primary);font-size:1.6rem;cursor:pointer}footer{background:var(--bg-secondary);border-top:1px solid var(--glass-border);padding:30px 5%;text-align:center;position:relative}.footer-logo{font-size:1.3rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px}.footer-content p{color:var(--text-muted);font-size:.9rem;margin-bottom:15px}.footer-social{display:flex;justify-content:center;gap:12px}.footer-social a{color:var(--text-muted);font-size:1.2rem;transition:all .3s}.footer-social a:hover{color:var(--primary-light)}.back-to-top{position:fixed;bottom:25px;right:25px;width:45px;height:45px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:all .3s;opacity:0;pointer-events:none;z-index:999}.back-to-top.is-visible{opacity:.9;pointer-events:auto}.back-to-top:hover{transform:translateY(-3px);opacity:1}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-reveal].is-visible{opacity:1;transform:translateY(0)}body.light-mode{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--glass-bg: rgba(15, 23, 42, .06);--glass-border: rgba(15, 23, 42, .12);--text-muted: #5f6b7a}body.light-mode .hero{background:linear-gradient(135deg,#e0f2fe,#fef3c7)}body.light-mode header{background:#fffffff2}body.light-mode .hero-text h1{background:linear-gradient(to right,#0f172a,#14b8a6);-webkit-background-clip:text}body.light-mode .project-card,body.light-mode .skill-card,body.light-mode .service-card,body.light-mode .cv-card{background:#fff;box-shadow:0 4px 15px #0000001a}body.light-mode .contact-card{background:#fffc}body.light-mode .timeline:before{background:#0000001a}body.light-mode .timeline-content{background:#fff}body.light-mode .timeline-dot{border-color:#fff}body.light-mode .nav-list,body.light-mode .highlight-card,body.light-mode .now-card,body.light-mode .cta-card,body.light-mode .testimonial-card,body.light-mode .proof-item,body.light-mode .brand-grid span,body.light-mode .process-card,body.light-mode .skill-bar,body.light-mode .modal-content{background:#fff}@media(max-width:900px){header{padding:1rem 3%}.nav-toggle{display:inline-flex}.nav-list{position:absolute;top:70px;right:5%;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:12px;padding:16px 18px;flex-direction:column;gap:12px;box-shadow:var(--shadow-strong);display:none}.site-header.nav-open .nav-list{display:flex}.cta-card{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.hero-container{flex-direction:column;text-align:center;gap:30px}.hero-text h1{font-size:2.2rem}.hero-text h2{font-size:1.1rem}.hero-image img{width:220px;height:220px}.hero-stats{justify-items:center}}@media(max-width:480px){.hero-buttons{flex-direction:column}.btn{width:100%;justify-content:center}.skills-grid{grid-template-columns:repeat(2,1fr)}.back-to-top{right:16px;bottom:16px}.now-card{padding:22px}.project-actions{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.hero-orbit{animation:none!important}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}::selection{background:var(--primary);color:#fff}
