*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:#06080f;color:#e2e8f0;overflow-x:hidden}:root{--bg: #06080f;--surface: #0d1117;--accent: #4361ee;--accent-light: #818cf8;--cyan: #22d3ee;--border: rgba(255, 255, 255, .06);--text: #e2e8f0;--muted: #64748b}.cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-300px,-300px);will-change:transform;mix-blend-mode:difference}.cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;margin-left:-17px;margin-top:-17px;border:1.5px solid rgba(67,97,238,.55);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-300px,-300px);will-change:transform}.cursor-glow{position:fixed;width:480px;height:480px;pointer-events:none;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(67,97,238,.07) 0%,transparent 65%);transform:translate(-50%,-50%);transition:left 1s ease,top 1s ease}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--cyan));z-index:1000;transition:width .08s linear;box-shadow:0 0 10px #4361ee99}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.4rem 4rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s ease}.nav.scrolled{background:#06080fd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);padding:1rem 4rem}.nav-brand{font-size:1.35rem;font-weight:900;letter-spacing:-.5px;text-decoration:none;color:#fff}.nav-brand span{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;list-style:none;gap:2.75rem;align-items:center}.nav-links a{color:var(--muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .3s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:#fff;transition:width .35s cubic-bezier(.16,1,.3,1)}.nav-links a:hover{color:#fff}.nav-links a:hover:after{width:100%}.nav-social{display:flex;gap:1.25rem;align-items:center}.nav-social a{color:var(--muted);font-size:.85rem;font-weight:700;text-decoration:none;transition:color .3s,transform .2s;letter-spacing:.02em;display:flex;align-items:center;justify-content:center}.nav-social a:hover{color:var(--accent-light);transform:translateY(-2px)}.nav-social a svg{display:block}.hero{min-height:100vh;display:flex;align-items:center;padding:9rem 4rem 5rem;position:relative;overflow:hidden}.hero-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 55% 55% at 72% 50%,rgba(67,97,238,.13) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 15% 85%,rgba(34,211,238,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1280px;margin:0 auto;width:100%;position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1rem;border:1px solid rgba(67,97,238,.35);border-radius:2rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--accent-light);text-transform:uppercase;margin-bottom:1.75rem;opacity:0;animation:fadeSlideUp .8s cubic-bezier(.16,1,.3,1) .2s forwards}.eyebrow-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero-title{font-size:clamp(3.2rem,5.5vw,5.5rem);font-weight:900;letter-spacing:-2.5px;line-height:1;margin-bottom:1.75rem;opacity:0;animation:fadeSlideUp .9s cubic-bezier(.16,1,.3,1) .35s forwards}.hero-title-accent{display:block;background:linear-gradient(135deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc{font-size:1rem;color:var(--muted);line-height:1.85;max-width:460px;margin-bottom:2.5rem;opacity:0;animation:fadeSlideUp .9s cubic-bezier(.16,1,.3,1) .5s forwards}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem;opacity:0;animation:fadeSlideUp .9s cubic-bezier(.16,1,.3,1) .65s forwards}.btn-primary{padding:.9rem 2rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-weight:700;font-size:.875rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.btn-primary:hover{background:#3451d1;transform:translateY(-2px);box-shadow:0 12px 35px #4361ee66}.btn-ghost{padding:.9rem 2rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-ghost:hover{border-color:#ffffff4d;transform:translateY(-2px)}.hero-socials{display:flex;gap:1.75rem;align-items:center;opacity:0;animation:fadeSlideUp .9s cubic-bezier(.16,1,.3,1) .8s forwards}.hero-socials a{color:#475569;font-size:.82rem;font-weight:700;text-decoration:none;letter-spacing:.03em;transition:color .3s}.hero-socials a:hover{color:var(--accent-light)}.hero-image-side{display:flex;justify-content:center;align-items:center;position:relative;opacity:0;animation:fadeIn 1.2s ease .6s forwards}.hero-photo-ring{width:400px;height:400px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center}.hero-photo-ring:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--accent) 60deg,var(--cyan) 180deg,transparent 240deg,transparent 360deg);animation:spinRing 8s linear infinite}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-photo-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--bg)}.hero-photo-inner{position:relative;z-index:1;width:380px;height:380px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;align-items:center;justify-content:center}.hero-photo-inner img{width:100%;height:100%;object-fit:cover}.hero-photo-placeholder{font-size:8rem;opacity:.3}.hero-badge{position:absolute;background:#0d1117eb;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2}.hero-badge-num{font-size:1.6rem;font-weight:900;letter-spacing:-1px;color:#fff;line-height:1}.hero-badge-label{font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.hero-badge.pos-1{top:1.5rem;right:-1rem;animation:floatA 5s ease-in-out infinite}.hero-badge.pos-2{bottom:2rem;left:-2rem;animation:floatB 6s ease-in-out infinite}@keyframes floatA{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes floatB{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.container{max-width:1300px;margin:0 auto;padding:0 4rem}.section-pad{padding:8rem 0}.section-tag{display:inline-flex;align-items:center;gap:.75rem;font-size:.7rem;font-weight:700;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin-bottom:1.25rem}.section-tag:before,.section-tag:after{content:"";display:block;width:32px;height:1px;background:var(--accent);opacity:.5}.section-heading{font-size:clamp(2.5rem,4vw,3.75rem);font-weight:900;letter-spacing:-2px;line-height:1}.section-heading span{background:linear-gradient(135deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-line{width:50px;height:2px;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:2px;margin-top:1.5rem}.reveal{opacity:0;transform:translateY(50px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal-left{opacity:0;transform:translate(-60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal-right{opacity:0;transform:translate(60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal-scale{opacity:0;transform:scale(.88);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.reveal-clip{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.16,1,.3,1)}.reveal-clip-rtl{clip-path:inset(0 0 0 100%);transition:clip-path 1s cubic-bezier(.16,1,.3,1)}.is-visible{opacity:1!important;transform:none!important;clip-path:inset(0 0 0 0)!important}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}.d7{transition-delay:.7s}.d8{transition-delay:.8s}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2.5rem 2rem;text-align:center;transition:all .4s cubic-bezier(.16,1,.3,1);cursor:default}.about-card:hover{border-color:#4361ee4d;transform:translateY(-8px);box-shadow:0 24px 60px #4361ee1a}.about-icon{width:60px;height:60px;border-radius:50%;background:#4361ee1a;border:1px solid rgba(67,97,238,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:1.75rem;transition:all .3s ease}.about-card:hover .about-icon{background:#4361ee33;transform:scale(1.1)}.about-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.about-card p{color:var(--muted);font-size:.875rem;line-height:1.75}.projects-section{padding:8rem 0 4rem;position:relative}.projects-header{max-width:1300px;margin:0 auto;padding:0 4rem;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:5rem}.projects-header-left{max-width:600px}.projects-count{font-size:clamp(5rem,10vw,9rem);font-weight:900;letter-spacing:-5px;line-height:1;color:#ffffff0a;-webkit-user-select:none;user-select:none}.projects-stats{display:flex;gap:3rem;padding:2.5rem 4rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:1300px;margin:0 auto 6rem}.stat-item{text-align:left}.stat-num{font-size:2.75rem;font-weight:900;letter-spacing:-2px;line-height:1;background:linear-gradient(135deg,#fff,#64748b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.78rem;color:var(--muted);font-weight:500;margin-top:4px;letter-spacing:.05em}.project-row{max-width:1300px;margin:0 auto;padding:6rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.project-row.reversed{direction:rtl}.project-row.reversed>*{direction:ltr}.project-watermark{position:absolute;font-size:clamp(10rem,18vw,18rem);font-weight:900;letter-spacing:-10px;color:#ffffff05;pointer-events:none;-webkit-user-select:none;user-select:none;top:50%;left:50%;transform:translate(-50%,-50%);line-height:1;z-index:0}.project-image-wrap{position:relative;border-radius:1.25rem;overflow:hidden;aspect-ratio:16 / 10;z-index:1;background:var(--surface)}.project-image-inner{width:100%;height:100%;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-image-wrap:hover .project-image-inner{transform:scale(1.07)}.project-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4.5rem;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-image-wrap:hover .project-image-placeholder{transform:scale(1.07)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#06080fe0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;z-index:2}.project-image-wrap:hover .project-overlay{opacity:1}.project-overlay-cta{display:flex;align-items:center;gap:.6rem;padding:.9rem 2rem;background:#fff;color:#06080f;border-radius:.5rem;font-weight:700;font-size:.9rem;text-decoration:none;transform:translateY(16px);transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-image-wrap:hover .project-overlay-cta{transform:translateY(0)}.project-overlay-cta:hover{background:#f0f4ff}.project-info{z-index:1}.project-cat-row{display:flex;align-items:center;gap:.75rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--accent-light);text-transform:uppercase;margin-bottom:1rem}.project-cat-line{width:24px;height:1px;background:var(--accent-light)}.project-name{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:900;letter-spacing:-1.5px;line-height:1.05;margin-bottom:.75rem}.project-location{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.825rem;margin-bottom:1.5rem}.project-desc{color:#94a3b8;line-height:1.85;font-size:.925rem;margin-bottom:2rem}.project-tech-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem}.tech-tag{padding:.35rem .875rem;border-radius:.375rem;font-size:.76rem;font-weight:600;background:#4361ee14;border:1px solid rgba(67,97,238,.2);color:var(--accent-light);transition:all .3s}.tech-tag:hover{background:#4361ee26}.project-link-row{display:inline-flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700;font-size:.875rem;position:relative;padding-bottom:3px}.project-link-row:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .4s cubic-bezier(.16,1,.3,1)}.project-link-row:hover:after{width:100%}.link-arrow{display:inline-block;transition:transform .3s ease}.project-link-row:hover .link-arrow{transform:translate(6px)}.skills-bg{background:var(--surface);border-radius:2rem;padding:5rem 4rem;border:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1.5rem;margin-top:3.5rem}.skill-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 1rem;border-radius:1rem;border:1px solid transparent;transition:all .35s cubic-bezier(.16,1,.3,1);cursor:default}.skill-card:hover{background:#4361ee12;border-color:#4361ee33;transform:translateY(-6px)}.skill-icon{font-size:2.75rem}.skill-icon-img{width:2.75rem;height:2.75rem;object-fit:contain}.skill-name{font-size:.72rem;color:var(--muted);font-weight:600;text-align:center;letter-spacing:.02em}.contact-card{background:linear-gradient(135deg,#4361ee14,#22d3ee0d);border:1px solid rgba(67,97,238,.2);border-radius:2rem;padding:7rem 4rem;text-align:center;position:relative;overflow:hidden}.contact-glow-1{position:absolute;top:-150px;right:-150px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(67,97,238,.12),transparent 65%);pointer-events:none}.contact-glow-2{position:absolute;bottom:-150px;left:-150px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.08),transparent 65%);pointer-events:none}.contact-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;letter-spacing:-2px;line-height:1.1;margin-bottom:1.25rem;position:relative;z-index:1}.contact-sub{color:var(--muted);font-size:1.05rem;margin-bottom:3rem;position:relative;z-index:1}.contact-form{position:relative;z-index:1;width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.contact-form-group{display:flex;flex-direction:column;gap:.45rem}.contact-form-group label{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.contact-form-group input,.contact-form-group select,.contact-form-group textarea{background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .2s,background .2s;outline:none;width:100%;box-sizing:border-box}.contact-form-group input::placeholder,.contact-form-group textarea::placeholder{color:var(--muted)}.contact-form-group input:focus,.contact-form-group select:focus,.contact-form-group textarea:focus{border-color:var(--accent);background:#4361ee12}.contact-form-group select option{background:#0d1117;color:var(--text)}.contact-form-group textarea{resize:vertical;min-height:110px}.contact-form-error{color:#f87171;font-size:.875rem;text-align:center}.contact-form-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.contact-success{position:relative;z-index:1;text-align:center;padding:2rem}.contact-success-icon{font-size:3rem;margin-bottom:1rem}.contact-success h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--text)}.contact-success p{color:var(--muted);margin-bottom:1rem}@media (max-width: 600px){.contact-form-row{grid-template-columns:1fr}}.footer{padding:3rem 4rem;border-top:1px solid var(--border);max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-brand{font-weight:800;font-size:1rem;letter-spacing:-.3px}.footer-brand span{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--muted);text-decoration:none;font-size:.825rem;transition:color .3s}.footer-links a:hover{color:#fff}.footer-copy{color:#334155;font-size:.78rem}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 900px){.nav{padding:1rem 1.5rem}.nav-links{display:none}.nav.scrolled{padding:.875rem 1.5rem}.container{padding:0 1.5rem}.hero{padding:8rem 1.5rem 4rem}.hero-grid{grid-template-columns:1fr;gap:3rem}.hero-image-side{display:flex;justify-content:center}.section-pad{padding:5rem 0}.project-row{grid-template-columns:1fr;gap:2.5rem;padding:4rem 1.5rem}.project-row.reversed{direction:ltr}.projects-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:0 1.5rem}.projects-stats{padding:2rem 1.5rem;gap:1.75rem;flex-wrap:wrap}.about-grid{grid-template-columns:1fr;gap:1rem}.skills-bg{padding:3rem 1.5rem;border-radius:1.25rem}.contact-card{padding:4rem 1.5rem;border-radius:1.25rem}.footer{flex-direction:column;text-align:center;padding:2.5rem 1.5rem}.footer-links{justify-content:center}}
