@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.app-header[data-v-5cf5844e]{background:var(--color-bg);border-bottom:2px solid var(--color-border-strong);z-index:100;position:sticky;top:0}.header-container[data-v-5cf5844e]{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex}.logo[data-v-5cf5844e]{align-items:baseline;gap:.25rem;text-decoration:none;display:flex}.logo-text[data-v-5cf5844e]{font-family:var(--font-display);color:var(--color-text);font-size:1.5rem;font-weight:400}.logo-accent[data-v-5cf5844e]{font-family:var(--font-mono);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-sm);padding:.15rem .4rem;font-size:.875rem;font-weight:500}.header-actions[data-v-5cf5844e]{align-items:center;gap:.75rem;display:flex}.theme-toggle[data-v-5cf5844e]{border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;width:40px;height:40px;color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle[data-v-5cf5844e]:hover{border-color:var(--color-accent);color:var(--color-accent);transform:rotate(15deg)}.menu-toggle[data-v-5cf5844e]{cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.hamburger[data-v-5cf5844e]{background:var(--color-text);width:24px;height:2px;transition:background var(--transition-fast);display:block;position:relative}.hamburger[data-v-5cf5844e]:before,.hamburger[data-v-5cf5844e]:after{content:"";background:var(--color-text);width:24px;height:2px;transition:transform var(--transition-fast);position:absolute}.hamburger[data-v-5cf5844e]:before{top:-7px}.hamburger[data-v-5cf5844e]:after{top:7px}.hamburger.open[data-v-5cf5844e]{background:0 0}.hamburger.open[data-v-5cf5844e]:before{transform:rotate(45deg)translate(5px,5px)}.hamburger.open[data-v-5cf5844e]:after{transform:rotate(-45deg)translate(5px,-5px)}.nav[data-v-5cf5844e]{gap:.5rem;display:flex}.nav-link[data-v-5cf5844e]{color:var(--color-text-secondary);font-family:var(--font-body);border-radius:var(--radius-full);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-number[data-v-5cf5844e]{font-family:var(--font-mono);color:var(--color-text-muted);transition:color var(--transition-fast);font-size:.7rem}.nav-link[data-v-5cf5844e]:hover{color:var(--color-text);background:var(--color-bg-tertiary)}.nav-link:hover .nav-number[data-v-5cf5844e]{color:var(--color-accent)}@media (max-width:768px){.header-container[data-v-5cf5844e]{padding:1rem}.menu-toggle[data-v-5cf5844e]{display:block}.nav[data-v-5cf5844e]{background:var(--color-bg);transition:transform var(--transition-base);border-top:2px solid var(--color-border-strong);flex-direction:column;align-items:stretch;gap:.5rem;padding:2rem;position:fixed;inset:65px 0 0;transform:translate(100%)}.nav.open[data-v-5cf5844e]{transform:translate(0)}.nav-link[data-v-5cf5844e]{border-radius:var(--radius-md);padding:1rem;font-size:1.25rem}.nav-number[data-v-5cf5844e]{font-size:.8rem}}.malt-icon[data-v-742fa625],.github-icon[data-v-fc99b883],.linkedin-icon[data-v-5947109c]{border-radius:4px}.app-footer[data-v-8ed22c2b]{background:var(--color-bg);border-top:2px solid var(--color-border-strong);padding:var(--space-2xl)var(--space-xl)}.footer-container[data-v-8ed22c2b]{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;max-width:1400px;margin:0 auto;display:flex}.footer-brand[data-v-8ed22c2b]{gap:var(--space-xs);flex-direction:column;display:flex}.brand-name[data-v-8ed22c2b]{font-family:var(--font-display);color:var(--color-text);font-size:1.25rem}.brand-accent[data-v-8ed22c2b]{font-family:var(--font-mono);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-sm);vertical-align:middle;padding:.1rem .35rem;font-size:.75rem}.brand-tagline[data-v-8ed22c2b]{color:var(--color-text-muted);font-size:.85rem}.footer-links[data-v-8ed22c2b]{gap:var(--space-sm);display:flex}.footer-link[data-v-8ed22c2b]{width:40px;height:40px;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.footer-link[data-v-8ed22c2b]:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px)}.copyright[data-v-8ed22c2b]{font-family:var(--font-mono);color:var(--color-text-muted);align-items:center;gap:var(--space-sm);font-size:.8rem;display:flex}.copyright-symbol[data-v-8ed22c2b]{font-size:1rem}@media (max-width:768px){.footer-container[data-v-8ed22c2b]{text-align:center;flex-direction:column}.footer-brand[data-v-8ed22c2b]{align-items:center}}:root{--color-bg:#faf8f5;--color-bg-secondary:#f2efe9;--color-bg-tertiary:#e8e4dc;--color-bg-elevated:#fff;--color-text:#1a1817;--color-text-secondary:#4a4744;--color-text-muted:#7a7672;--color-accent:#e84330;--color-accent-hover:#d13a28;--color-accent-soft:#e843301a;--color-border:#d4d0c8;--color-border-strong:#1a1817;--color-success:#2d8b6f;--color-success-bg:#e8f5f0;--color-success-text:#1d5c4a;--shadow-sm:0 1px 2px #1a18170a;--shadow-md:0 4px 12px #1a181714;--shadow-lg:0 12px 32px #1a18171f;--shadow-brutal:4px 4px 0 #1a1817;--font-display:"Instrument Serif",Georgia,serif;--font-body:"Outfit",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1)}:root.dark{--color-bg:#141211;--color-bg-secondary:#1c1a18;--color-bg-tertiary:#252220;--color-bg-elevated:#1c1a18;--color-text:#f5f3f0;--color-text-secondary:#b8b4ae;--color-text-muted:#7a7672;--color-accent:#ff6b5b;--color-accent-hover:#ff8577;--color-accent-soft:#ff6b5b26;--color-border:#2e2b28;--color-border-strong:#f5f3f0;--color-success:#4ade80;--color-success-bg:#1a2e23;--color-success-text:#86efac;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 32px #0006;--shadow-brutal:4px 4px 0 #f5f3f0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--transition-base),color var(--transition-base);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");font-weight:400;line-height:1.6}::selection{background:var(--color-accent);color:#fff}.app-layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}a{color:inherit;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:3px;transition:color var(--transition-fast)}.text-accent{color:var(--color-accent)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.project-card[data-v-e1d48029]{background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.project-card[data-v-e1d48029]:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-brutal);transform:translateY(-4px)}.card-image[data-v-e1d48029]{height:200px;position:relative;overflow:hidden}.card-image img[data-v-e1d48029]{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .card-image img[data-v-e1d48029]{transform:scale(1.05)}.image-placeholder[data-v-e1d48029]{background:var(--color-bg-tertiary);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.placeholder-letter[data-v-e1d48029]{font-family:var(--font-display);color:var(--color-accent);opacity:.3;z-index:1;font-size:5rem;font-style:italic}.placeholder-pattern[data-v-e1d48029]{background-image:linear-gradient(45deg,var(--color-border)25%,transparent 25%),linear-gradient(-45deg,var(--color-border)25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-border)75%),linear-gradient(-45deg,transparent 75%,var(--color-border)75%);opacity:.3;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;position:absolute;inset:0}.category-badge[data-v-e1d48029]{top:var(--space-md);left:var(--space-md);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:var(--color-text);color:var(--color-bg);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-size:.7rem;position:absolute}.date-badge[data-v-e1d48029]{top:var(--space-md);right:var(--space-md);font-family:var(--font-mono);background:var(--color-bg);color:var(--color-text-secondary);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.7rem;position:absolute}.card-content[data-v-e1d48029]{padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.card-content h3[data-v-e1d48029]{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.25rem}.description[data-v-e1d48029]{color:var(--color-text-secondary);margin-bottom:var(--space-md);flex:1;font-size:.9rem;line-height:1.6}.tech-tags[data-v-e1d48029]{gap:var(--space-xs);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.tech-tag[data-v-e1d48029]{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem}.card-actions[data-v-e1d48029]{gap:var(--space-sm);flex-wrap:wrap;margin-top:auto;display:flex}.action-link[data-v-e1d48029]{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast);font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.action-link[data-v-e1d48029]:hover{border-color:var(--color-text);color:var(--color-text)}.action-primary[data-v-e1d48029]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.action-primary[data-v-e1d48029]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.link-arrow[data-v-e1d48029]{transition:transform var(--transition-fast)}.action-link:hover .link-arrow[data-v-e1d48029]{transform:translate(2px,-2px)}.hero[data-v-a0ea2f07]{min-height:100svh;padding:var(--space-xl);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero[data-v-a0ea2f07]:before{content:"";background:linear-gradient(135deg,var(--color-accent-soft)0%,transparent 60%);pointer-events:none;width:50%;height:100%;position:absolute;top:0;right:0}.hero-grid[data-v-a0ea2f07]{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:center;width:100%;max-width:1400px;margin:0 auto;display:grid}.hero-content[data-v-a0ea2f07]{z-index:1;position:relative}.hero-eyebrow[data-v-a0ea2f07]{align-items:center;gap:var(--space-md);font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg);font-size:.875rem;display:flex}.eyebrow-line[data-v-a0ea2f07]{background:var(--color-accent);width:40px;height:2px}.hero-title[data-v-a0ea2f07]{font-family:var(--font-display);margin-bottom:var(--space-xl);font-size:clamp(3rem,8vw,5.5rem);font-weight:400;line-height:1.05}.title-line[data-v-a0ea2f07]{display:block}.title-accent[data-v-a0ea2f07]{color:var(--color-accent);font-style:italic}.hero-description[data-v-a0ea2f07]{color:var(--color-text-secondary);max-width:500px;margin-bottom:var(--space-2xl);font-size:1.25rem;line-height:1.7}.hero-description em[data-v-a0ea2f07]{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:4px;font-style:normal;font-weight:500}.hero-cta[data-v-a0ea2f07]{gap:var(--space-md);flex-wrap:wrap;display:flex}.hero-visual[data-v-a0ea2f07]{justify-content:center;display:flex}.visual-card[data-v-a0ea2f07]{background:var(--color-bg-elevated);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-brutal);width:100%;max-width:400px;animation:6s ease-in-out infinite float-a0ea2f07;overflow:hidden}@keyframes float-a0ea2f07{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-header[data-v-a0ea2f07]{padding:var(--space-sm)var(--space-md);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);gap:6px;display:flex}.card-dot[data-v-a0ea2f07]{background:var(--color-border);border-radius:50%;width:10px;height:10px}.card-dot[data-v-a0ea2f07]:first-child{background:#ff5f56}.card-dot[data-v-a0ea2f07]:nth-child(2){background:#ffbd2e}.card-dot[data-v-a0ea2f07]:nth-child(3){background:#27ca40}.card-code[data-v-a0ea2f07]{padding:var(--space-lg);font-family:var(--font-mono);margin:0;font-size:.85rem;line-height:1.8;overflow-x:auto}.code-keyword[data-v-a0ea2f07]{color:var(--color-accent)}.code-var[data-v-a0ea2f07]{color:var(--color-text)}.code-prop[data-v-a0ea2f07]{color:var(--color-text-secondary)}.code-string[data-v-a0ea2f07]{color:#2d8b6f}.code-bool[data-v-a0ea2f07]{color:#b06cd9}:root.dark .code-string[data-v-a0ea2f07]{color:#4ade80}:root.dark .code-bool[data-v-a0ea2f07]{color:#c084fc}.hero-scroll[data-v-a0ea2f07]{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;font-size:.75rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-line[data-v-a0ea2f07]{background:linear-gradient(to bottom,var(--color-accent),transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse-a0ea2f07}@keyframes scrollPulse-a0ea2f07{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.8)}}.btn[data-v-a0ea2f07]{align-items:center;gap:var(--space-sm);padding:var(--space-md)var(--space-xl);font-family:var(--font-body);border-radius:var(--radius-full);transition:all var(--transition-fast);cursor:pointer;border:2px solid #0000;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary[data-v-a0ea2f07]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary[data-v-a0ea2f07]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 20px #e843304d}.btn-arrow[data-v-a0ea2f07]{transition:transform var(--transition-fast)}.btn-primary:hover .btn-arrow[data-v-a0ea2f07]{transform:translate(4px)}.btn-outline[data-v-a0ea2f07]{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.btn-outline[data-v-a0ea2f07]:hover{background:var(--color-text);color:var(--color-bg)}.btn-full[data-v-a0ea2f07]{justify-content:center;width:100%}.section[data-v-a0ea2f07]{min-height:100svh;padding:var(--space-3xl)var(--space-xl);flex-direction:column;justify-content:center;display:flex}.container[data-v-a0ea2f07]{width:100%;max-width:1200px;margin:0 auto}.section-header[data-v-a0ea2f07]{text-align:center;margin-bottom:var(--space-3xl)}.section-number[data-v-a0ea2f07]{font-family:var(--font-mono);color:var(--color-accent);background:var(--color-accent-soft);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.75rem;display:inline-block}.section-header h2[data-v-a0ea2f07]{font-family:var(--font-display);color:var(--color-text);margin-bottom:var(--space-sm);font-size:clamp(2rem,5vw,3rem);font-weight:400}.section-header p[data-v-a0ea2f07]{color:var(--color-text-secondary);font-size:1.1rem}.card-benefits[data-v-a0ea2f07]{padding:var(--space-lg)}.benefit-item[data-v-a0ea2f07]{align-items:center;gap:var(--space-md);padding:var(--space-md)0;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:1rem;display:flex}.benefit-item[data-v-a0ea2f07]:last-child{border-bottom:none}.benefit-icon[data-v-a0ea2f07]{background:var(--color-accent-soft);width:24px;height:24px;color:var(--color-accent);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.services-section[data-v-a0ea2f07]{background:var(--color-bg)}.services-grid[data-v-a0ea2f07]{gap:var(--space-xl);margin-bottom:var(--space-3xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.service-card[data-v-a0ea2f07]{background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base);flex-direction:column;display:flex;position:relative}.service-card[data-v-a0ea2f07]:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-brutal);transform:translateY(-4px)}.service-card.featured[data-v-a0ea2f07]{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-accent-soft)0%,var(--color-bg-elevated)50%)}.service-badge[data-v-a0ea2f07]{top:var(--space-md);right:var(--space-md);background:var(--color-accent);color:#fff;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;position:absolute}.service-icon[data-v-a0ea2f07]{margin-bottom:var(--space-md);font-size:2.5rem}.service-card h3[data-v-a0ea2f07]{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.5rem}.service-card>p[data-v-a0ea2f07]{color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.service-features[data-v-a0ea2f07]{margin:0 0 var(--space-lg)0;padding:0;list-style:none}.service-features li[data-v-a0ea2f07]{align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs)0;color:var(--color-text-secondary);font-size:.9rem;display:flex}.service-features li[data-v-a0ea2f07]:before{content:"✓";color:var(--color-accent);flex-shrink:0;font-weight:700}.service-price[data-v-a0ea2f07]{margin:var(--space-lg)0;padding:var(--space-md)0;border-top:1px dashed var(--color-border);border-bottom:1px dashed var(--color-border);flex-direction:column;align-items:center;display:flex}.price-note[data-v-a0ea2f07]{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.price-amount[data-v-a0ea2f07]{font-family:var(--font-display);color:var(--color-accent);font-size:2.25rem;font-weight:400;line-height:1.2}.service-cta[data-v-a0ea2f07]{padding:var(--space-md)var(--space-lg);background:var(--color-text);color:var(--color-bg);text-align:center;border-radius:var(--radius-md);transition:all var(--transition-fast);margin-top:auto;font-weight:500;text-decoration:none;display:block}.service-cta[data-v-a0ea2f07]:hover{background:var(--color-accent);transform:translateY(-2px)}.service-card.featured .service-cta[data-v-a0ea2f07]{background:var(--color-accent)}.service-card.featured .service-cta[data-v-a0ea2f07]:hover{filter:brightness(1.1)}.pricing-note[data-v-a0ea2f07]{text-align:center;max-width:700px;margin:var(--space-2xl)auto;padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);border-left:4px solid var(--color-accent);font-size:.95rem}.pricing-note strong[data-v-a0ea2f07]{color:var(--color-text)}.services-reassurance[data-v-a0ea2f07]{gap:var(--space-lg);padding:var(--space-xl);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:2px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.reassurance-item[data-v-a0ea2f07]{gap:var(--space-md);align-items:flex-start;display:flex}.reassurance-icon[data-v-a0ea2f07]{flex-shrink:0;font-size:1.5rem}.reassurance-item strong[data-v-a0ea2f07]{color:var(--color-text);margin-bottom:var(--space-xs);display:block}.reassurance-item p[data-v-a0ea2f07]{color:var(--color-text-secondary);margin:0;font-size:.9rem}.projects-section[data-v-a0ea2f07]{background:var(--color-bg-secondary)}.filters[data-v-a0ea2f07]{justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.filter-btn[data-v-a0ea2f07]{padding:var(--space-sm)var(--space-lg);font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-secondary);border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem;font-weight:500}.filter-btn[data-v-a0ea2f07]:hover{border-color:var(--color-text);color:var(--color-text)}.filter-btn.active[data-v-a0ea2f07]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.projects-grid[data-v-a0ea2f07]{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.about-grid[data-v-a0ea2f07]{gap:var(--space-2xl);margin-bottom:var(--space-3xl);grid-template-columns:1fr 1fr;display:grid}.about-intro[data-v-a0ea2f07]{gap:var(--space-lg);flex-direction:column;display:flex}.intro-badge[data-v-a0ea2f07]{align-items:center;gap:var(--space-sm);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-full);width:fit-content;font-size:.85rem;display:inline-flex}.badge-icon[data-v-a0ea2f07]{font-size:1rem}.intro-text[data-v-a0ea2f07]{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8}.intro-text strong[data-v-a0ea2f07]{color:var(--color-text);font-weight:600}.services-card[data-v-a0ea2f07]{background:var(--color-bg-elevated);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-brutal)}.services-card h3[data-v-a0ea2f07]{align-items:center;gap:var(--space-sm);font-family:var(--font-display);margin-bottom:var(--space-lg);font-size:1.5rem;display:flex}.card-icon[data-v-a0ea2f07]{color:var(--color-accent)}.services-list[data-v-a0ea2f07]{gap:var(--space-md);flex-direction:column;list-style:none;display:flex}.services-list li[data-v-a0ea2f07]{padding-left:var(--space-lg);color:var(--color-text-secondary);line-height:1.6;position:relative}.services-list li[data-v-a0ea2f07]:before{content:"—";color:var(--color-accent);font-weight:700;position:absolute;left:0}.tech-hint[data-v-a0ea2f07]{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.8rem}.skills-section[data-v-a0ea2f07]{margin-bottom:var(--space-3xl)}.skills-section h3[data-v-a0ea2f07]{font-family:var(--font-display);text-align:center;margin-bottom:var(--space-xl);font-size:1.75rem}.skills-grid[data-v-a0ea2f07]{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.skill-card[data-v-a0ea2f07]{background:var(--color-bg-secondary);padding:var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.skill-card h4[data-v-a0ea2f07]{font-family:var(--font-mono);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);font-size:.8rem}.skill-tags[data-v-a0ea2f07]{gap:var(--space-sm);flex-wrap:wrap;display:flex}.skill-tag[data-v-a0ea2f07]{color:var(--color-text-secondary);background:var(--color-bg);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-size:.9rem}.strengths-section h3[data-v-a0ea2f07]{font-family:var(--font-display);text-align:center;margin-bottom:var(--space-xl);font-size:1.75rem}.strengths-grid[data-v-a0ea2f07]{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.strength-item[data-v-a0ea2f07]{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-accent);display:flex}.strength-number[data-v-a0ea2f07]{font-family:var(--font-mono);color:var(--color-accent);font-size:.75rem;font-weight:600}.strength-text[data-v-a0ea2f07]{color:var(--color-text-secondary);line-height:1.5}.contact-section[data-v-a0ea2f07]{background:var(--color-bg-secondary)}.contact-grid[data-v-a0ea2f07]{gap:var(--space-2xl);grid-template-columns:1.5fr 1fr;max-width:1000px;margin:0 auto;display:grid}.contact-form-wrapper[data-v-a0ea2f07]{background:var(--color-bg-elevated);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-brutal)}.contact-form[data-v-a0ea2f07]{gap:var(--space-lg);flex-direction:column;display:flex}.form-row[data-v-a0ea2f07]{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.form-group[data-v-a0ea2f07]{gap:var(--space-sm);flex-direction:column;display:flex}.form-group label[data-v-a0ea2f07]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:.8rem}.form-group input[data-v-a0ea2f07],.form-group textarea[data-v-a0ea2f07]{padding:var(--space-md);font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);font-size:1rem}.form-group input[data-v-a0ea2f07]:focus,.form-group textarea[data-v-a0ea2f07]:focus{border-color:var(--color-accent);outline:none}.form-group input[data-v-a0ea2f07]::placeholder,.form-group textarea[data-v-a0ea2f07]::placeholder{color:var(--color-text-muted)}.form-note[data-v-a0ea2f07]{text-align:center;color:var(--color-text-secondary);margin-top:var(--space-sm);font-size:.9rem}.success-message[data-v-a0ea2f07]{text-align:center;padding:var(--space-2xl)}.success-message .success-icon[data-v-a0ea2f07]{background:var(--color-success-bg);width:60px;height:60px;color:var(--color-success);margin:0 auto var(--space-lg);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.success-message p[data-v-a0ea2f07]{color:var(--color-success-text);font-size:1.1rem}.contact-info[data-v-a0ea2f07]{gap:var(--space-lg);flex-direction:column;display:flex}.info-card[data-v-a0ea2f07]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.info-card h3[data-v-a0ea2f07]{font-family:var(--font-display);margin-bottom:var(--space-lg);font-size:1.25rem}.social-list[data-v-a0ea2f07]{gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.social-link[data-v-a0ea2f07]{align-items:center;gap:var(--space-md);padding:var(--space-md);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);text-decoration:none;display:flex}.social-link[data-v-a0ea2f07]:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.social-link .link-arrow[data-v-a0ea2f07]{opacity:0;transition:all var(--transition-fast);margin-left:auto;transform:translate(-4px)}.social-link:hover .link-arrow[data-v-a0ea2f07]{opacity:1;transform:translate(0)}.availability-card[data-v-a0ea2f07]{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-success-bg);border-radius:var(--radius-lg);color:var(--color-success-text);font-size:.9rem;display:flex}.availability-dot[data-v-a0ea2f07]{background:var(--color-success);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-a0ea2f07}@keyframes pulse-a0ea2f07{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.scroll-to-top[data-v-a0ea2f07]{bottom:var(--space-xl);right:var(--space-xl);background:var(--color-text);width:48px;height:48px;color:var(--color-bg);cursor:pointer;z-index:100;transition:all var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed}.scroll-to-top[data-v-a0ea2f07]:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.fade-enter-active[data-v-a0ea2f07],.fade-leave-active[data-v-a0ea2f07]{transition:opacity var(--transition-base)}.fade-enter-from[data-v-a0ea2f07],.fade-leave-to[data-v-a0ea2f07]{opacity:0}@media (max-width:1024px){.hero-grid[data-v-a0ea2f07]{text-align:center;grid-template-columns:1fr}.hero-eyebrow[data-v-a0ea2f07]{justify-content:center}.hero-description[data-v-a0ea2f07]{margin-left:auto;margin-right:auto}.hero-cta[data-v-a0ea2f07]{justify-content:center}.hero-visual[data-v-a0ea2f07]{display:none}.about-grid[data-v-a0ea2f07]{grid-template-columns:1fr}}@media (max-width:768px){.section[data-v-a0ea2f07]{padding:var(--space-2xl)var(--space-md);min-height:auto}.hero[data-v-a0ea2f07]{min-height:100svh}.hero-title[data-v-a0ea2f07]{font-size:2.5rem}.contact-grid[data-v-a0ea2f07],.form-row[data-v-a0ea2f07],.projects-grid[data-v-a0ea2f07],.strengths-grid[data-v-a0ea2f07]{grid-template-columns:1fr}.scroll-to-top[data-v-a0ea2f07]{bottom:var(--space-md);right:var(--space-md);width:44px;height:44px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.font-mono{font-family:var(--font-mono)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
