:root{--color-bg-base: #0a0a0c;--color-bg-surface: #121216;--color-bg-surface-hover: #1a1a20;--color-text-primary: #f8f9fa;--color-text-secondary: #a1a1aa;--color-text-tertiary: #71717a;--color-accent: #38bdf8;--color-accent-dim: rgba(56, 189, 248, .15);--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", system-ui, -apple-system, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--max-w-content: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg-base);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--color-text-primary)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}ul,ol{list-style:none}.container{max-width:var(--max-w-content);margin:0 auto;padding:0 var(--space-6)}@media(max-width:768px){.container{padding:0 var(--space-4)}}.header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:var(--space-6) 0;transition:all var(--transition-normal);background:transparent}.header.scrolled{padding:var(--space-4) 0;background:#0a0a0cd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-container{display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.logo-dot{color:var(--color-accent)}.nav-list{display:flex;gap:var(--space-8)}.nav-link{font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);position:relative;padding:var(--space-2) 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background:var(--color-accent);transition:width var(--transition-normal)}.nav-link:hover{color:var(--color-text-primary)}.nav-link:hover:after{width:100%}@media(max-width:640px){.nav-list{gap:var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-normal);text-decoration:none;cursor:pointer;white-space:nowrap}.btn-primary{background-color:var(--color-text-primary);color:var(--color-bg-base);border:1px solid var(--color-text-primary)}.btn-primary:hover{background-color:transparent;color:var(--color-text-primary)}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-surface-hover);border-color:var(--color-border-hover)}.btn-outline{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-ghost{background-color:transparent;color:var(--color-text-primary);border:1px solid transparent}.btn-ghost:hover{background-color:#ffffff0d}.btn-sm{height:32px;padding:0 var(--space-3);font-size:.875rem}.btn-md{height:44px;padding:0 var(--space-6);font-size:1rem}.btn-lg{height:52px;padding:0 var(--space-8);font-size:1.125rem}.btn:active{transform:scale(.98)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:var(--space-24);overflow:hidden;background-color:var(--color-bg-base)}.hero-container{position:relative;z-index:10;display:flex;flex-direction:column;justify-content:center;gap:var(--space-16)}.hero-content{max-width:800px}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background-color:var(--color-bg-surface);border:1px solid var(--color-border);font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-6);animation:fadeIn 1s ease-out}.hero-status{width:8px;height:8px;border-radius:50%;background-color:#10b981;box-shadow:0 0 8px #10b98199;animation:pulse 2s infinite}.hero-title{font-size:4.5rem;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-6);opacity:0;animation:slideUp .8s ease-out .2s forwards}.hero-title-accent{color:var(--color-accent)}.hero-description{font-size:1.375rem;color:var(--color-text-secondary);max-width:600px;margin-bottom:var(--space-8);opacity:0;animation:slideUp .8s ease-out .4s forwards}.hero-actions{display:flex;gap:var(--space-4);opacity:0;animation:slideUp .8s ease-out .6s forwards}.hero-tech{opacity:0;animation:fadeIn 1s ease-out 1s forwards}.hero-tech-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary);margin-bottom:var(--space-3);font-weight:600}.hero-tech-list{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-secondary);font-weight:500;font-size:1rem}.hero-tech-dot{color:var(--color-border)}.hero-glow{position:absolute;top:20%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,var(--color-accent-dim) 0%,rgba(0,0,0,0) 70%);border-radius:50%;z-index:1;pointer-events:none;filter:blur(60px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@media(max-width:768px){.hero-title{font-size:3rem}.hero-description{font-size:1.125rem}.hero-actions{flex-direction:column;align-items:flex-start}}.section{padding:var(--space-24) 0;position:relative}.section:nth-of-type(2n){background-color:var(--color-bg-base)}.section:nth-of-type(odd){background-color:var(--color-bg-surface)}.section-header{margin-bottom:var(--space-16);max-width:700px}.section-title{font-size:2.5rem;margin-bottom:var(--space-4);letter-spacing:-.02em}.section-subtitle{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.section{padding:var(--space-16) 0}.section-header{margin-bottom:var(--space-12)}.section-title{font-size:2rem}}.project-card{background-color:var(--color-bg-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--transition-normal);display:flex;flex-direction:column;height:100%}.project-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 12px 24px -10px #00000080}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.project-title{font-size:1.5rem;margin-bottom:var(--space-1)}.project-role{color:var(--color-text-tertiary);font-size:.875rem;font-weight:500}.project-link{color:var(--color-text-secondary);transition:color var(--transition-fast),transform var(--transition-fast);padding:var(--space-2);margin:calc(var(--space-2) * -1);border-radius:var(--radius-full)}.project-link:hover{color:var(--color-accent);transform:translate(2px,-2px);background-color:var(--color-accent-dim)}.project-details{flex:1;display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8)}.project-subtitle{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.project-text{color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.project-footer{margin-top:auto}.project-tech{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-tech-tag{font-size:.75rem;padding:var(--space-1) var(--space-3);background-color:var(--color-bg-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);font-weight:500}@media(max-width:640px){.project-card{padding:var(--space-6)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-8);margin-top:var(--space-12)}.project-wrapper{animation:fadeIn .8s ease-out forwards;opacity:0}@media(max-width:768px){.projects-grid{grid-template-columns:1fr;gap:var(--space-6)}}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-12)}.approach-card{padding:var(--space-8);background-color:var(--color-bg-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;transition:all var(--transition-normal)}.approach-card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 10px 30px -10px #38bdf81a}.approach-icon{width:48px;height:48px;border-radius:var(--radius-md);background-color:var(--color-bg-surface-hover);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6);border:1px solid var(--color-border)}.approach-title{font-size:1.25rem;margin-bottom:var(--space-3);letter-spacing:-.01em}.approach-description{color:var(--color-text-secondary);line-height:1.6;font-size:.9375rem}@media(max-width:992px){.approach-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:640px){.approach-grid{grid-template-columns:1fr}.approach-card{padding:var(--space-6)}}.contact-container{display:flex;justify-content:space-between;gap:var(--space-12);align-items:center}.contact-content{flex:1;max-width:600px}.contact-title{font-size:3.5rem;line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-6);background:linear-gradient(to right,var(--color-text-primary),var(--color-text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.contact-description{font-size:1.25rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-8)}.contact-actions{display:flex;gap:var(--space-4)}.contact-info{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-8);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:320px}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-tertiary)}.info-value,.info-socials{font-family:var(--font-sans);font-size:1.125rem;font-weight:500;color:var(--color-text-primary)}.info-socials{display:flex;gap:var(--space-3);align-items:center}.info-socials a{transition:color var(--transition-fast)}.info-socials a:hover{color:var(--color-accent)}.info-dot{color:var(--color-border)}@media(max-width:992px){.contact-container{flex-direction:column;align-items:flex-start}.contact-info{width:100%}}@media(max-width:640px){.contact-title{font-size:2.5rem}.contact-actions{flex-direction:column;align-items:stretch}}.footer{border-top:1px solid var(--color-border);padding:var(--space-16) 0 var(--space-8);margin-top:var(--space-24);background-color:var(--color-bg-surface)}.footer-container{display:flex;flex-direction:column;gap:var(--space-12)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-8)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-2)}.footer-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.footer-title{color:var(--color-text-secondary);font-size:1rem}.footer-links{display:flex;gap:var(--space-6)}.footer-links a{color:var(--color-text-secondary);font-weight:500;font-size:.9375rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-accent)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-8);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:.875rem}@media(max-width:640px){.footer-content{flex-direction:column}.footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}
