@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap);:root{--bg-primary:#0a0a0f;--bg-secondary:#13131a;--bg-elevated:#1a1a24;--text-primary:#ffffff;--text-secondary:#a8b3c4;--text-muted:#6b7280;--accent-primary:#00ffaa;--accent-secondary:#00d98f;--accent-glow:rgba(0, 255, 170, 0.15);--border-subtle:rgba(255, 255, 255, 0.06);--border-medium:rgba(255, 255, 255, 0.12);--border-accent:rgba(0, 255, 170, 0.2);--font-display:'Space Grotesk',system-ui,sans-serif;--font-mono:'JetBrains Mono','Courier New',monospace;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.4);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.5);--shadow-lg:0 20px 60px rgba(0, 0, 0, 0.6);--shadow-glow:0 0 40px var(--accent-glow)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-display);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cursor{width:20px;height:20px;border:2px solid var(--accent-primary);border-radius:50%;position:fixed;pointer-events:none;transform:translate(-50%,-50%);transition:.12s cubic-bezier(.4, 0, .2, 1);z-index:9999;mix-blend-mode:screen}.cursor-grow{transform:scale(3) translate(-17%,-17%);background-color:var(--accent-primary);opacity:.2;border-width:1px}body::before{content:'';position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:80px 80px;z-index:-2;opacity:.4}body::after{content:'';position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 20%,var(--accent-glow) 0,transparent 40%);z-index:-1;pointer-events:none;animation:8s ease-in-out infinite breathe}@keyframes breathe{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}header{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 5%;z-index:1000;border-bottom:1px solid var(--border-subtle);background:rgba(10,10,15,.85);backdrop-filter:blur(20px) saturate(180%);transition:.3s}.logo img{height:34px;display:inline-block;vertical-align:middle}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}header.scrolled{padding:var(--space-sm) 5%;background:rgba(10,10,15,.95);box-shadow:var(--shadow-md)}.logo{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--text-primary);letter-spacing:.05em;position:relative;display:inline-block}.logo::before{content:'>';color:var(--accent-primary);margin-right:.5rem;animation:1.5s infinite blink}@keyframes blink{0%,49%{opacity:1}100%,50%{opacity:.3}}nav{display:flex;gap:var(--space-lg)}nav a{color:var(--text-secondary);text-decoration:none;font-family:var(--font-mono);font-size:.875rem;font-weight:500;position:relative;padding-bottom:4px;transition:color .3s;letter-spacing:.02em;text-transform:uppercase}nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-primary);transition:width .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 0 8px var(--accent-primary)}nav a:hover{color:var(--text-primary)}nav a:hover::after{width:100%}.hero{height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}#hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6}.hero-content{text-align:center;position:relative;z-index:10;padding:0 var(--space-md)}.hero-title{font-size:clamp(4rem, 15vw, 12rem);line-height:.9;color:var(--text-primary);font-weight:700;letter-spacing:-.03em;margin-bottom:var(--space-md);text-shadow:0 0 60px rgba(0,255,170,.3);animation:1s ease-out fadeInUp}.hero-subtitle{font-size:clamp(1rem, 2vw, 1.5rem);color:var(--accent-primary);font-family:var(--font-mono);margin-top:var(--space-md);letter-spacing:.05em;min-height:2em;animation:1s ease-out .3s both fadeInUp}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.container{width:90%;max-width:1400px;margin:0 auto;padding:var(--space-xl) 0}section{border-bottom:1px solid var(--border-subtle);position:relative}.section-title{font-family:var(--font-display);font-size:clamp(2rem, 5vw, 3.5rem);margin-bottom:var(--space-lg);display:inline-block;position:relative;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.section-title::before{content:attr(data-section);position:absolute;top:-1.5rem;left:0;font-family:var(--font-mono);font-size:.75rem;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;font-weight:500}.section-title::after{content:'';position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,var(--accent-primary),transparent);box-shadow:var(--shadow-glow)}.section-description{color:var(--text-secondary);font-size:1.125rem;line-height:1.7;max-width:800px;margin-bottom:var(--space-lg)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(240px,auto);gap:var(--space-md)}.bento-item{border:1px solid var(--border-subtle);background:var(--bg-secondary);padding:var(--space-lg);position:relative;overflow:hidden;transition:.4s cubic-bezier(.4, 0, .2, 1)}.bento-item::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,170,.05),transparent);transition:left .6s}.bento-item:hover{background:var(--bg-elevated);border-color:var(--border-accent);transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.bento-item:hover::before{left:100%}.bento-item h3{font-size:1.5rem;color:var(--accent-primary);margin-bottom:var(--space-sm);font-weight:600;font-family:var(--font-mono);letter-spacing:.02em}.bento-item p{color:var(--text-secondary);line-height:1.6}.bento-item-1{grid-column:1/3}.bento-item-2{grid-column:3/4;grid-row:1/3}.bento-item-3{grid-column:1/2}.btn{display:inline-block;padding:.875rem 2rem;border:1px solid var(--accent-primary);color:var(--accent-primary);background:0 0;text-decoration:none;font-family:var(--font-mono);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:8px;cursor:pointer;transition:.3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent-primary);transition:left .4s cubic-bezier(.4, 0, .2, 1);z-index:-1}.btn:hover{color:var(--bg-primary);border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.btn:hover::before{left:0}.btn.primary{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.btn.primary:hover{background:var(--accent-secondary);border-color:var(--accent-secondary)}.btn.ghost{border-color:var(--border-medium);color:var(--text-secondary)}.btn.ghost:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.cta{text-align:center;padding:var(--space-xl) 0}.cta h2{font-size:clamp(2.5rem, 8vw, 6rem);line-height:1.1;margin-bottom:var(--space-lg);letter-spacing:-.02em;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}footer{padding:var(--space-xl) 5%;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);color:var(--text-muted);font-size:.875rem;border-top:1px solid var(--border-subtle)}.social-links{display:flex;gap:var(--space-md)}.social-links a{color:var(--text-muted);text-decoration:none;transition:color .3s;font-weight:500;letter-spacing:.02em}.social-links a:hover{color:var(--accent-primary)}.hero-page{min-height:60vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.hero-page .hero-content{text-align:center;max-width:900px}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.tech-category{background:var(--bg-secondary);border:1px solid var(--border-subtle);padding:var(--space-lg);border-radius:12px;transition:.3s}.tech-category:hover{border-color:var(--border-accent);background:var(--bg-elevated);transform:translateY(-4px);box-shadow:var(--shadow-md)}.tech-category-title{font-family:var(--font-mono);color:var(--accent-primary);font-size:1rem;margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tech-tag{display:inline-block;padding:.5rem .875rem;background:rgba(0,255,170,.08);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.813rem;font-weight:500;transition:.3s;cursor:default}.tech-tag:hover{background:rgba(0,255,170,.15);border-color:var(--border-accent);color:var(--accent-primary);transform:translateY(-2px)}.engagement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.engagement-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);padding:var(--space-lg);border-radius:12px;display:flex;flex-direction:column;transition:.4s cubic-bezier(.4, 0, .2, 1)}.engagement-card:hover{border-color:var(--border-accent);background:var(--bg-elevated);transform:translateY(-8px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.engagement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);gap:var(--space-sm)}.engagement-header h3{font-family:var(--font-display);font-size:1.75rem;color:var(--text-primary);font-weight:700;margin:0;letter-spacing:-.01em}.engagement-badge{display:inline-block;padding:.375rem .75rem;background:rgba(0,255,170,.1);border:1px solid var(--border-accent);border-radius:6px;color:var(--accent-primary);font-family:var(--font-mono);font-size:.688rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;white-space:nowrap}.engagement-desc{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md)}.engagement-features{list-style:none;padding:0;margin:0 0 var(--space-lg) 0;flex:1}.engagement-features li{color:var(--text-secondary);padding-left:1.5rem;margin-bottom:var(--space-xs);position:relative;line-height:1.6;font-size:.938rem}.engagement-features li::before{content:'✓';position:absolute;left:0;color:var(--accent-primary);font-weight:700}.engagement-price{font-family:var(--font-mono);font-size:1.5rem;color:var(--accent-primary);font-weight:700;letter-spacing:-.02em;padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-xl);margin-top:var(--space-lg)}.contact-form-wrapper h3{font-family:var(--font-mono);letter-spacing:.02em}.contact-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-display);font-size:1rem;transition:.3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 3px var(--accent-glow)}.form-group textarea{resize:vertical;min-height:120px;font-family:var(--font-display);line-height:1.6}.form-group select{cursor:pointer}.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-info-box{background:var(--bg-secondary);border:1px solid var(--border-subtle);padding:var(--space-lg);border-radius:12px;transition:.3s}.contact-info-box:hover{border-color:var(--border-medium);background:var(--bg-elevated)}.contact-info-box h3{font-family:var(--font-mono);color:var(--accent-primary);font-size:1.125rem;margin-bottom:var(--space-md);letter-spacing:.02em}.contact-item{margin-bottom:var(--space-sm)}.contact-item:last-child{margin-bottom:0}.contact-label{display:block;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.contact-item a{color:var(--accent-primary);text-decoration:none;transition:color .3s}.contact-item a:hover{color:var(--accent-secondary);text-decoration:underline}.contact-item p{color:var(--text-secondary);margin:0;line-height:1.6}.expectation-list{list-style:none;padding:0;margin:0}.expectation-list li{color:var(--text-secondary);padding-left:1.5rem;margin-bottom:var(--space-xs);position:relative;line-height:1.6}.expectation-list li::before{content:'→';position:absolute;left:0;color:var(--accent-primary);font-family:var(--font-mono)}.faq-item{margin-bottom:var(--space-sm);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;transition:.3s}.faq-item:hover{border-color:var(--border-accent)}.faq-item summary{padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-mono);font-size:.875rem;color:var(--text-primary);font-weight:500;user-select:none;transition:.3s}.faq-item summary:hover{color:var(--accent-primary);background:rgba(0,255,170,.05)}.faq-item[open] summary{background:rgba(0,255,170,.08);color:var(--accent-primary);border-bottom:1px solid var(--border-subtle)}.faq-item p{padding:var(--space-md);margin:0;color:var(--text-secondary);line-height:1.6;font-size:.938rem}.reveal-item,.reveal-text{opacity:0}::selection{background:var(--accent-primary);color:var(--bg-primary)}::-moz-selection{background:var(--accent-primary);color:var(--bg-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (max-width:1200px){.projects-grid{grid-template-columns:1fr}.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-item-1{grid-column:1/3}.bento-item-2{grid-column:1/3;grid-row:auto}}@media (max-width:900px){:root{--space-xl:3rem;--space-lg:2rem}nav{display:none}.hero-title{font-size:clamp(3rem, 12vw, 8rem)}.section-title{font-size:clamp(1.75rem, 6vw, 2.5rem)}.bento-grid{grid-template-columns:1fr}.bento-item-1,.bento-item-2,.bento-item-3{grid-column:1;grid-row:auto}.modal-inner,.projects-grid{grid-template-columns:1fr}.projects-filter{flex-wrap:wrap}.contact-layout,.engagement-grid,.tech-grid{grid-template-columns:1fr}.hero-page{min-height:50vh}footer{flex-direction:column;gap:var(--space-md);text-align:center}}.projects-filter{display:flex;gap:var(--space-sm);margin:var(--space-md) 0 var(--space-lg);flex-wrap:wrap}.filter-btn{background:0 0;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:.625rem 1.5rem;border-radius:8px;cursor:pointer;font-family:var(--font-mono);font-size:.813rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:.3s cubic-bezier(.4, 0, .2, 1)}.filter-btn:hover{border-color:var(--border-accent);color:var(--accent-primary)}.filter-btn.active{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(480px,1fr));gap:var(--space-lg)}.project-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-secondary);box-shadow:var(--shadow-md);transition:.5s cubic-bezier(.4, 0, .2, 1)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:var(--border-accent)}.project-media{height:320px;background-size:cover;background-position:center;position:relative;transition:transform .7s cubic-bezier(.2, .9, .2, 1)}.project-card:hover .project-media{transform:scale(1.05)}.project-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-md);background:linear-gradient(180deg,rgba(10,10,15,0) 0,rgba(10,10,15,.6) 40%,rgba(10,10,15,.95) 100%);backdrop-filter:blur(2px);opacity:0;transition:opacity .4s}.project-card:hover .project-overlay{opacity:1}.project-overlay.tech{background:linear-gradient(180deg,rgba(10,10,15,0) 0,rgba(10,10,15,.7) 50%,rgba(10,10,15,.98) 100%)}.project-meta h3{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.project-meta .mono{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-primary);font-size:1rem;font-weight:600;text-transform:uppercase;text-shadow:0 0 10px var(--accent-glow)}.meta-code{background:rgba(0,0,0,.3);border:1px solid var(--border-subtle);color:var(--accent-primary);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;margin:var(--space-sm) 0;padding:var(--space-xs) var(--space-sm);border-radius:4px;white-space:pre-wrap;box-shadow:inset 0 2px 8px rgba(0,0,0,.4)}.project-card::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.01) 0,transparent 1px,transparent 2px,rgba(255,255,255,.01) 3px);opacity:.3}.view-btn{align-self:flex-start;background:rgba(0,255,170,.1);color:var(--accent-primary);border:1px solid var(--border-accent);padding:.625rem 1.5rem;border-radius:6px;font-family:var(--font-mono);font-size:.813rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:.3s}.view-btn:hover{background:var(--accent-primary);color:var(--bg-primary);box-shadow:0 0 20px var(--accent-glow)}.project-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:2000;padding:var(--space-md)}.project-modal[aria-hidden=false]{display:flex;animation:.3s fadeIn}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,15,.8),rgba(10,10,15,.95));backdrop-filter:blur(12px)}.modal-inner{position:relative;max-width:1100px;width:100%;display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-lg);background:var(--bg-elevated);padding:var(--space-lg);border-radius:16px;border:1px solid var(--border-medium);box-shadow:var(--shadow-lg),var(--shadow-glow);z-index:2010;animation:.4s cubic-bezier(.4,0,.2,1) slideUp}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;right:var(--space-md);top:var(--space-md);background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:1.5rem;width:40px;height:40px;border-radius:8px;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);transform:rotate(90deg)}.modal-media{height:420px;background-size:cover;background-position:center;border-radius:12px;border:1px solid var(--border-subtle)}.modal-body{display:flex;flex-direction:column;gap:var(--space-md)}.modal-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0;letter-spacing:-.02em}.modal-desc{color:var(--text-secondary);line-height:1.7;flex:1}.modal-body .btn{align-self:flex-start}