@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #000000;--color-surface: #111111;--color-surface-2: #1a1a1a;--color-surface-3: #222222;--color-text: #f5f5f7;--color-text-secondary: #86868b;--color-text-tertiary: #6e6e73;--color-border: rgba(255, 255, 255, .08);--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-success: #30d158;--color-error: #ff453a;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--font-size-6xl: 4.5rem;--font-size-hero: clamp(3rem, 8vw, 6rem);--section-padding: clamp(60px, 8vw, 100px) clamp(20px, 5vw, 80px);--container-max: 1100px;--ease-out: cubic-bezier(.16, 1, .3, 1);--transition-fast: .2s var(--ease-out);--transition-base: .4s var(--ease-out);--transition-slow: .6s var(--ease-out)}[data-theme=light]{--color-bg: #ffffff;--color-surface: #f5f5f7;--color-surface-2: #e8e8ed;--color-surface-3: #d2d2d7;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-tertiary: #86868b;--color-border: rgba(0, 0, 0, .08);--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-success: #248a3d;--color-error: #d70015}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--container-max);margin:0 auto;width:100%}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 clamp(20px,5vw,80px);height:64px;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),backdrop-filter var(--transition-fast)}.navbar.scrolled{background:#000000b8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--color-border)}[data-theme=light] .navbar.scrolled{background:#ffffffb8}.navbar-inner{max-width:var(--container-max);width:100%;display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.5px;color:var(--color-text);cursor:pointer;transition:opacity var(--transition-fast)}.navbar-logo:hover{opacity:.7}.navbar-links{display:flex;gap:32px;list-style:none}.navbar-links a{font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:400;letter-spacing:-.1px}.navbar-links a:hover{color:var(--color-text)}.navbar-hamburger{display:none;background:none;border:none;color:var(--color-text);font-size:24px;cursor:pointer;padding:4px}.theme-toggle{background:none;border:1px solid var(--color-border);color:var(--color-text);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.theme-toggle:hover{background:var(--color-surface);border-color:#fff3}[data-theme=light] .theme-toggle:hover{border-color:#00000026}.navbar-mobile{display:none;position:fixed;inset:64px 0 0;background:#000000f2;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);z-index:999;padding:40px clamp(20px,5vw,80px);flex-direction:column;gap:0}[data-theme=light] .navbar-mobile{background:#fffffff2}.navbar-mobile.open{display:flex}.navbar-mobile a{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text);padding:20px 0;border-bottom:1px solid var(--color-border);transition:color var(--transition-fast)}.navbar-mobile a:hover{color:var(--color-accent)}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(120px,18vh,180px) clamp(20px,5vw,80px) clamp(60px,8vh,90px);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-40%;left:50%;transform:translate(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(0,113,227,.12) 0%,transparent 70%);pointer-events:none}.hero-eyebrow{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:400;letter-spacing:.5px;margin-bottom:16px;opacity:0;animation:fadeInUp .8s var(--ease-out) .1s forwards}.hero-title{font-size:var(--font-size-hero);font-weight:700;letter-spacing:-3px;line-height:1.05;margin-bottom:20px;background:linear-gradient(135deg,#fff,#a1a1a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;animation:fadeInUp .8s var(--ease-out) .25s forwards}[data-theme=light] .hero-title{background:linear-gradient(135deg,#1d1d1f,#6e6e73);-webkit-background-clip:text;background-clip:text}.hero-subtitle{font-size:clamp(var(--font-size-lg),2.5vw,var(--font-size-xl));color:var(--color-text-secondary);max-width:560px;line-height:1.5;margin-bottom:36px;font-weight:400;opacity:0;animation:fadeInUp .8s var(--ease-out) .4s forwards}.hero-cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeInUp .8s var(--ease-out) .55s forwards}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--color-accent);color:#fff;border:none;border-radius:980px;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);font-family:var(--font-family)}.btn-primary:hover{background:var(--color-accent-hover);transform:scale(1.02)}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:transparent;color:var(--color-accent);border:1px solid rgba(0,113,227,.4);border-radius:980px;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.btn-secondary:hover{background:#0071e31a;border-color:var(--color-accent);transform:scale(1.02)}.section{padding:var(--section-padding)}.section-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1.5px;font-weight:500;margin-bottom:12px}.section-title{font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-5xl));font-weight:700;letter-spacing:-1.5px;line-height:1.1;margin-bottom:20px}.section-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;line-height:1.6;margin-bottom:60px}.section-divider{width:100%;height:1px;background:var(--color-border)}.about-content{max-width:680px}.about-text h3{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:16px;letter-spacing:-.5px}.about-text p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:16px}.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}.stat-item{padding:24px;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);transition:border-color var(--transition-fast),transform var(--transition-fast)}.stat-item:hover{border-color:#ffffff26;transform:translateY(-2px)}.stat-number{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-1px;margin-bottom:4px}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.skill-category{padding:32px;background:var(--color-surface);border-radius:20px;border:1px solid var(--color-border);transition:border-color var(--transition-fast),transform var(--transition-fast)}.skill-category:hover{border-color:#ffffff26;transform:translateY(-3px)}.skill-category-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-tertiary);margin-bottom:20px;font-weight:600}.skill-list{display:flex;flex-direction:column;gap:14px}.skill-item{display:flex;align-items:center;gap:12px;font-size:var(--font-size-base);color:var(--color-text)}.skill-item i{font-size:20px;width:24px;text-align:center;opacity:.6}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project-card{background:var(--color-surface);border-radius:20px;border:1px solid var(--color-border);overflow:hidden;transition:border-color var(--transition-fast),transform var(--transition-fast);display:flex;flex-direction:column}.project-card:hover{border-color:#ffffff26;transform:translateY(-4px)}.project-image{width:100%;height:200px;object-fit:cover;background:var(--color-surface-2);transition:transform var(--transition-base)}.project-card:hover .project-image{transform:scale(1.03)}.project-image-wrapper{overflow:hidden}.project-body{padding:28px;display:flex;flex-direction:column;flex:1}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.project-title{font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.3px}.project-status{font-size:var(--font-size-xs);padding:4px 10px;border-radius:980px;font-weight:600;background:#30d1581f;color:var(--color-success);white-space:nowrap}.project-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:20px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.project-tag{font-size:var(--font-size-xs);padding:5px 12px;border-radius:980px;background:var(--color-surface-2);color:var(--color-text-secondary);font-weight:500}.project-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-accent);font-weight:500;transition:gap var(--transition-fast);margin-top:auto}.project-link:hover{gap:10px}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonial-card{padding:32px;background:var(--color-surface);border-radius:20px;border:1px solid var(--color-border);display:flex;flex-direction:column;transition:border-color var(--transition-fast),transform var(--transition-fast)}.testimonial-card:hover{border-color:#ffffff26;transform:translateY(-3px)}.testimonial-stars{display:flex;gap:2px;color:#ff9f0a;font-size:14px;margin-bottom:20px}.testimonial-text{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;margin-bottom:24px;flex:1;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:12px}.testimonial-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.testimonial-name{font-size:var(--font-size-sm);font-weight:600}.testimonial-role{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info-list{display:flex;flex-direction:column;gap:24px;margin-top:8px}.contact-info-item{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);transition:border-color var(--transition-fast),transform var(--transition-fast)}.contact-info-item:hover{border-color:#ffffff26;transform:translate(4px)}.contact-info-icon{width:44px;height:44px;border-radius:12px;background:var(--color-surface-2);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--color-accent);flex-shrink:0}.contact-info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}.contact-info-value{font-size:var(--font-size-base);font-weight:500}.contact-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;font-weight:500}.form-input,.form-textarea{padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);outline:none;transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-textarea{resize:none;min-height:140px}.form-notification{padding:14px 18px;border-radius:12px;font-size:var(--font-size-sm);font-weight:500}.form-notification.success{background:#30d1581f;color:var(--color-success)}.form-notification.error{background:#ff453a1f;color:var(--color-error)}.footer{padding:40px clamp(20px,5vw,80px);border-top:1px solid var(--color-border)}.footer-inner{max-width:var(--container-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-copy{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.footer-socials{display:flex;gap:20px}.footer-socials a{color:var(--color-text-tertiary);font-size:20px;transition:color var(--transition-fast)}.footer-socials a:hover{color:var(--color-text)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes floatDown{0%,to{transform:translate(-50%) translateY(0);opacity:.5}50%{transform:translate(-50%) translateY(8px);opacity:1}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-children>*{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal-children.visible>*:nth-child(1){transition-delay:.05s}.reveal-children.visible>*:nth-child(2){transition-delay:.1s}.reveal-children.visible>*:nth-child(3){transition-delay:.15s}.reveal-children.visible>*:nth-child(4){transition-delay:.2s}.reveal-children.visible>*:nth-child(5){transition-delay:.25s}.reveal-children.visible>*:nth-child(6){transition-delay:.3s}.reveal-children.visible>*{opacity:1;transform:translateY(0)}@media(max-width:900px){.about-content{max-width:100%}.projects-grid,.testimonials-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:48px}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.navbar-links{display:none}.navbar-hamburger{display:block}.about-stats{grid-template-columns:1fr 1fr;gap:12px}.stat-item{padding:20px}.skills-grid{grid-template-columns:1fr}.hero-title{letter-spacing:-1.5px}.footer-inner{flex-direction:column;gap:20px;text-align:center}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}
