:root{--color-primary:#0a0a0a;--color-secondary:#1a1a1a;--color-tertiary:#2a2a2a;--color-accent:#0891b2;--color-accent-hover:#0e7490;--color-accent-alt:#dc2626;--color-accent-yellow:#ca8a04;--color-accent-green:#16a34a;--color-accent-purple:#7c3aed;--color-text-primary:#18181b;--color-text-secondary:#3f3f46;--color-text-tertiary:#52525b;--color-text-muted:#71717a;--color-background:#fafafa;--color-surface:#ffffff;--color-border:#d4d4d8;--color-divider:#e4e4e7;--grid-color:rgba(0, 0, 0, 0.03);--grid-size:24px;--font-mono:'JetBrains Mono','Fira Code','SF Mono','Monaco','Inconsolata','Roboto Mono',monospace;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md:0 2px 4px rgba(0, 0, 0, 0.08);--shadow-lg:0 4px 8px rgba(0, 0, 0, 0.1);--shadow-card:none;--radius-none:0;--radius-sm:2px;--radius-md:2px;--radius-lg:2px;--radius-xl:2px;--radius-2xl:2px;--radius-full:2px;--transition-fast:100ms linear;--transition-normal:150ms linear;--transition-slow:200ms linear;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}[data-theme=dark]{--color-primary:#fafafa;--color-secondary:#e4e4e7;--color-tertiary:#a1a1aa;--color-accent:#22d3ee;--color-accent-hover:#67e8f9;--color-accent-alt:#f87171;--color-accent-yellow:#fbbf24;--color-accent-green:#4ade80;--color-accent-purple:#a78bfa;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-muted:#52525b;--color-background:#09090b;--color-surface:#18181b;--color-border:#27272a;--color-divider:#1f1f23;--grid-color:rgba(255, 255, 255, 0.02)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:#fafafa;--color-secondary:#e4e4e7;--color-tertiary:#a1a1aa;--color-accent:#22d3ee;--color-accent-hover:#67e8f9;--color-accent-alt:#f87171;--color-accent-yellow:#fbbf24;--color-accent-green:#4ade80;--color-accent-purple:#a78bfa;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-muted:#52525b;--color-background:#09090b;--color-surface:#18181b;--color-border:#27272a;--color-divider:#1f1f23;--grid-color:rgba(255, 255, 255, 0.02)}}*{transition:none}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:auto}body{font-family:var(--font-mono);font-size:var(--text-base);line-height:1.7;color:var(--color-text-primary);background-color:var(--color-background);overflow-x:hidden;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:var(--color-text-primary)}p{line-height:1.7;color:var(--color-text-secondary);font-family:var(--font-mono)}a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent}a:hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent)}code,pre{font-family:var(--font-mono)}.container{max-width:1000px;margin:0 auto;padding:0 var(--space-6)}@media (min-width:768px){.container{padding:0 var(--space-8)}}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-background);border-bottom:2px solid var(--color-accent)}[data-theme=dark] .nav{background:var(--color-background)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nav{background:var(--color-background)}}.nav-container{max-width:1000px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;height:56px}.nav-logo{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.logo-text{color:var(--color-text-primary)!important;text-decoration:none;font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;letter-spacing:-.02em}.logo-text:hover{color:var(--color-accent)!important;border-bottom:none}.nav-links{display:flex;align-items:center;gap:var(--space-6)}.nav-actions{display:flex;align-items:center}.nav-link{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);text-transform:lowercase;border-bottom:1px solid transparent;padding-bottom:2px}.nav-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;width:32px;height:32px;background:0 0;border:1px solid var(--color-border);cursor:pointer;padding:6px}.hamburger-line{display:block;width:100%;height:2px;background:var(--color-text-primary);margin:2px 0}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:first-child{transform:rotate(45deg) translate(4px,4px)}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.nav-mobile-toggle[aria-expanded=true] .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);z-index:1002;opacity:0;visibility:hidden}.mobile-nav-overlay.active{opacity:1;visibility:visible}.mobile-nav-content{position:absolute;top:0;right:0;width:100%;max-width:400px;height:100%;background:var(--color-background);border-left:2px solid var(--color-accent);transform:translateX(100%);overflow-y:auto}.mobile-nav-overlay.active .mobile-nav-content{transform:translateX(0)}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.mobile-nav-header h2{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.mobile-nav-close{background:0 0;border:1px solid var(--color-border);font-size:var(--text-lg);cursor:pointer;padding:var(--space-2);color:var(--color-text-secondary);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.mobile-nav-close:hover{border-color:var(--color-accent);color:var(--color-accent)}.close-icon{display:block}.mobile-nav-body{padding:var(--space-6)}.mobile-nav-section{margin-bottom:var(--space-8)}.mobile-nav-section h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.mobile-nav-menu{display:flex;flex-direction:column;gap:var(--space-1)}.mobile-nav-item{display:block;padding:var(--space-3) var(--space-4);text-decoration:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:400;border:1px solid transparent;border-left:2px solid transparent;background:0 0}.mobile-nav-item:hover{background:var(--color-divider);border-left-color:var(--color-accent);color:var(--color-accent)}.mobile-nav-text{font-family:var(--font-mono)}[data-theme=dark] .mobile-nav-content{background:var(--color-background)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mobile-nav-content{background:var(--color-background)}}@media (max-width:768px){.nav-links{display:none}.nav-mobile-toggle{display:flex}body.mobile-menu-open{overflow:hidden;position:fixed;width:100%}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:0 0;border:1px solid var(--color-border);cursor:pointer;margin-left:var(--space-4)}.theme-toggle:hover{border-color:var(--color-accent)}.theme-toggle-icon{width:18px;height:18px;color:var(--color-text-secondary)}.theme-toggle:hover .theme-toggle-icon{color:var(--color-accent)}@media (max-width:768px){.theme-toggle{margin-left:var(--space-2);margin-right:var(--space-2);width:32px;height:32px}}.hero{padding:calc(56px + var(--space-16)) 0 var(--space-24) 0;min-height:100vh;display:flex;align-items:center;border-bottom:1px solid var(--color-border)}.hero-container{max-width:1000px;margin:0 auto;padding:0 var(--space-6)}.hero-content{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center}@media (min-width:1024px){.hero-content{grid-template-columns:1fr 300px;gap:var(--space-16)}}.hero-text{max-width:600px}.hero-greeting{display:block;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-accent);margin-bottom:var(--space-2);text-transform:lowercase}.hero-greeting::before{content:'> ';color:var(--color-text-muted)}.hero-name{display:block;font-family:var(--font-mono);font-size:clamp(var(--text-3xl), 6vw, var(--text-5xl));font-weight:700;color:var(--color-text-primary);letter-spacing:-.03em;margin-bottom:var(--space-4)}.hero-subtitle{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:400;color:var(--color-text-secondary);margin-bottom:var(--space-4);line-height:1.5}.hero-description{font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text-tertiary);line-height:1.7;margin-bottom:var(--space-8);max-width:500px}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-image{display:flex;justify-content:center;order:-1}@media (min-width:1024px){.hero-image{order:0;justify-content:flex-end}}.image-container{position:relative;width:200px;height:200px}@media (min-width:1024px){.image-container{width:280px;height:280px}}.profile-image{width:100%;height:100%;object-fit:cover;border:2px solid var(--color-border);filter:grayscale(20%)}.profile-image:hover{filter:grayscale(0%);border-color:var(--color-accent)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:var(--color-accent);color:var(--color-background);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;border:none;cursor:pointer;text-transform:lowercase}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-background);border-bottom:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);background:0 0;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;border:1px solid var(--color-border);cursor:pointer;text-transform:lowercase}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.section{padding:var(--space-20) 0;border-bottom:1px solid var(--color-border)}.section:last-of-type{border-bottom:none}.section-title{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:-.02em}.section-title::before{content:'# ';color:var(--color-accent)}.section-subtitle{font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text-tertiary);margin-bottom:var(--space-10);max-width:600px}.section-header{text-align:left;margin-bottom:var(--space-12);max-width:800px}.about-section{background:var(--color-surface)}.section-content{max-width:800px;margin:0 auto}.section-description{font-family:var(--font-mono);font-size:var(--text-base);line-height:1.8;color:var(--color-text-secondary)}.contact-info{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-background)}.info-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-left:2px solid var(--color-border)}.info-item:hover{border-left-color:var(--color-accent)}.info-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.info-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary)}.info-link{color:var(--color-text-primary);border-bottom:1px solid transparent}.info-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.resume-download{margin-top:var(--space-6)}.resume-link{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:0 0;color:var(--color-text-primary);text-decoration:none;border:1px solid var(--color-border);font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm)}.resume-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.resume-icon{font-size:var(--text-base)}.resume-text{flex:1}.resume-arrow{font-size:var(--text-sm);color:var(--color-text-muted)}.resume-link:hover .resume-arrow{color:var(--color-accent)}.social-links{margin-top:var(--space-6);display:flex;gap:var(--space-3)}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:0 0;border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-base)}.social-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.social-text-link{display:inline-flex;align-items:center;gap:var(--space-2)}.social-text-link i{font-size:1em;opacity:.7}.social-text-link:hover i{opacity:1}.social-custom-icon{width:1em;height:1em;display:inline-block;background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:.7}.social-text-link:hover .social-custom-icon{opacity:1}.skills-section{background:var(--color-surface)}.skills-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:768px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skills-category{background:var(--color-background);border:1px solid var(--color-border);padding:var(--space-5)}.skills-category:hover{border-color:var(--color-accent)}.skills-category-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em}.skills-list{display:flex;flex-direction:column;gap:var(--space-2)}.skill-item{position:relative}.skill-header{display:flex;justify-content:space-between;align-items:center}.skill-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary)}.skill-name::before{content:'- ';color:var(--color-text-muted)}.skill-featured{color:var(--color-accent-yellow);font-size:var(--text-sm)}.experience-section{background:var(--color-background)}.experience-timeline{position:relative;max-width:800px;margin:0 auto}.experience-timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-border)}@media (min-width:768px){.experience-timeline::before{left:50%;transform:translateX(-50%)}}.experience-item{position:relative;margin-bottom:var(--space-8);padding-left:var(--space-8)}@media (min-width:768px){.experience-item{padding-left:0}.experience-item:nth-child(odd) .experience-content{margin-right:calc(50% + var(--space-6));text-align:right}.experience-item:nth-child(2n) .experience-content{margin-left:calc(50% + var(--space-6))}}.experience-content{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-5)}.experience-content:hover{border-color:var(--color-accent)}.experience-marker{position:absolute;left:-4px;top:var(--space-5);width:10px;height:10px;background:var(--color-accent);border:2px solid var(--color-background)}@media (min-width:768px){.experience-marker{left:50%;transform:translateX(-50%)}}.experience-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2);gap:var(--space-2)}.experience-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.experience-current{background:var(--color-accent);color:var(--color-background);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.experience-company{margin-bottom:var(--space-2)}.company-link{color:var(--color-accent);font-family:var(--font-mono);font-weight:500}.company-link:hover{color:var(--color-accent-hover)}.company-name{color:var(--color-accent);font-family:var(--font-mono);font-weight:500}.experience-dates{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-sm);margin-bottom:var(--space-3)}.experience-description{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);margin-bottom:var(--space-3);line-height:1.7}.experience-achievements{list-style:none;padding:0;margin:0}.experience-achievements li{position:relative;padding-left:var(--space-4);margin-bottom:var(--space-2);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.experience-achievements li::before{content:'>';position:absolute;left:0;color:var(--color-accent);font-weight:600}.services-section{background:var(--color-surface)}.services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{background:var(--color-background);border:1px solid var(--color-border);padding:var(--space-6);text-align:left}.service-card:hover{border-color:var(--color-accent)}.service-icon{font-size:2rem;margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-divider);border:1px solid var(--color-border);color:var(--color-accent)}.service-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3)}.service-description{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;margin-bottom:var(--space-4)}.service-price{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-divider);border:1px solid var(--color-border)}.price-label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.price-range{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-accent)}.service-button{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);background:0 0;color:var(--color-text-primary);text-decoration:none;border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-sm)}.service-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.testimonials-section{background:var(--color-background)}.testimonials-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-5);position:relative}.testimonial-card:hover{border-color:var(--color-accent)}.testimonial-content{display:flex;flex-direction:column;gap:var(--space-4)}.testimonial-rating{display:flex;gap:var(--space-1)}.star{color:var(--color-text-muted);font-size:var(--text-sm)}.star.filled{color:var(--color-accent-yellow)}.testimonial-quote{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;font-style:normal;border-left:2px solid var(--color-accent);padding-left:var(--space-4)}.testimonial-author{display:flex;align-items:center;gap:var(--space-3);margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.author-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-background);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.author-info{flex:1}.author-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.author-title{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.author-company{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent)}.testimonial-featured{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-accent);color:var(--color-background);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.blog-section{background:var(--color-surface)}.blog-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}.blog-card{background:var(--color-background);border:1px solid var(--color-border)}.blog-card:hover{border-color:var(--color-accent)}.blog-content{padding:var(--space-5)}.blog-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.blog-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.blog-featured{background:var(--color-accent);color:var(--color-background);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.blog-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.4}.blog-excerpt{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.blog-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.blog-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border)}.blog-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.blog-read-more{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);border-bottom:none}.blog-read-more:hover{color:var(--color-accent-hover)}.blog-section-actions{text-align:center;margin-top:var(--space-8)}.blog-view-all{display:inline-flex;padding:var(--space-3) var(--space-6);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary)}.blog-view-all:hover{border-color:var(--color-accent);color:var(--color-accent)}.gallery-section{background:var(--color-background)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (max-width:480px){.gallery-grid{gap:var(--space-2)}}@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-item{position:relative}.gallery-image{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--color-border)}.gallery-image:hover{border-color:var(--color-accent)}.gallery-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%)}.gallery-image:hover img{filter:grayscale(0%)}.gallery-overlay{position:absolute;inset:0;background:rgba(0,0,0,.8);display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-4);opacity:0}.gallery-image:hover .gallery-overlay{opacity:1}@media (hover:none),(pointer:coarse){.gallery-item{cursor:pointer}.gallery-overlay{opacity:1;background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,.4) 50%,transparent 100%);justify-content:flex-end;padding-bottom:var(--space-3)}.gallery-content{padding:0 var(--space-3)}.gallery-title{font-size:var(--text-xs);margin-bottom:var(--space-1)}.gallery-description{display:none}.gallery-category{font-size:.625rem;margin-top:var(--space-1)}.gallery-actions{display:none}}.gallery-content{color:#fff}.gallery-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:#fff;margin-bottom:var(--space-2)}.gallery-description{font-family:var(--font-mono);font-size:var(--text-xs);color:rgba(255,255,255,.7);line-height:1.5}.gallery-category{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);text-transform:uppercase;margin-top:var(--space-2)}.gallery-actions{text-align:right}.gallery-view{padding:var(--space-2) var(--space-3);background:var(--color-accent);color:var(--color-background);border:none;font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;text-transform:uppercase}.gallery-view:hover{background:var(--color-accent-hover)}.gallery-featured{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--color-accent);color:var(--color-background);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;z-index:1}.work-section{background:var(--color-surface)}.work-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:768px){.work-grid{grid-template-columns:repeat(2,1fr)}}.work-item{background:var(--color-background);border:1px solid var(--color-border);overflow:hidden}.work-item:hover{border-color:var(--color-accent)}.work-image{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--color-border)}.work-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%)}.work-item:hover .work-image img{filter:grayscale(0%)}.work-content{padding:var(--space-5)}.work-title{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3)}.work-description{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.work-links{display:flex;gap:var(--space-3)}.work-link{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);border-bottom:1px solid transparent}.work-link:hover{border-bottom-color:var(--color-accent)}.work-link-secondary{color:var(--color-text-tertiary)}.work-link-secondary:hover{color:var(--color-accent)}.contact-section{background:var(--color-background)}.contact-content{max-width:600px;margin:0 auto}.contact-form-container{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-6)}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em}.form-group input,.form-group textarea{padding:var(--space-3);background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--color-accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{min-height:120px;resize:vertical}.form-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.form-message{padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);border:1px solid var(--color-border)}.form-message.success{background:rgba(0,212,170,.1);border-color:var(--color-accent);color:var(--color-accent)}.form-message.error{background:rgba(255,107,107,.1);border-color:var(--color-accent-alt);color:var(--color-accent-alt)}.footer{background:var(--color-surface);border-top:2px solid var(--color-accent);padding:var(--space-8) 0}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}@media (min-width:768px){.footer-content{flex-direction:row;justify-content:space-between;text-align:left}}.footer-text p{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-tertiary)}.footer-social{display:flex;gap:var(--space-3)}.footer-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-sm)}.footer-social a:hover{border-color:var(--color-accent);color:var(--color-accent)}.footer-custom-icon{width:1em;height:1em;display:inline-block;background-color:currentColor;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.custom-links{margin-top:var(--space-8)}.custom-links-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-accent);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.05em}.custom-links-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width:640px){.custom-links-grid{grid-template-columns:repeat(2,1fr)}}.custom-link-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-background);border:1px solid var(--color-border);text-decoration:none}.custom-link-card:hover{border-color:var(--color-accent)}.custom-link-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-divider);border:1px solid var(--color-border);color:var(--color-accent);font-size:var(--text-base);flex-shrink:0}.custom-link-content{flex:1;min-width:0}.custom-link-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.custom-link-description{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.5}.custom-link-arrow{color:var(--color-text-muted);font-size:var(--text-sm)}.custom-link-card:hover .custom-link-arrow{color:var(--color-accent)}.lightbox{position:fixed;inset:0;z-index:9999;display:none}.lightbox.active{display:block}.lightbox-overlay{position:absolute;inset:0;background:rgba(0,0,0,.95)}.lightbox-wrapper{position:relative;width:100%;height:100%;display:flex;flex-direction:column;z-index:1}.lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);flex-shrink:0}.lightbox-counter{font-family:var(--font-mono);font-size:var(--text-sm);color:rgba(255,255,255,.7)}.lightbox-close{background:0 0;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:var(--text-xl);cursor:pointer;padding:var(--space-1) var(--space-3);line-height:1}.lightbox-close:hover{border-color:var(--color-accent);color:var(--color-accent)}.lightbox-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:0 var(--space-2)}.lightbox-image-container{flex:1;display:flex;align-items:center;justify-content:center;max-height:100%;overflow:hidden;touch-action:none}.lightbox-image{max-width:100%;max-height:60vh;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:none}@media (min-width:768px){.lightbox-image{max-height:70vh}}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:var(--text-2xl);cursor:pointer;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:center;z-index:10}.lightbox-nav:hover{background:rgba(0,0,0,.8);border-color:var(--color-accent);color:var(--color-accent)}.lightbox-prev{left:var(--space-2)}.lightbox-next{right:var(--space-2)}@media (max-width:640px){.lightbox-nav{padding:var(--space-2) var(--space-3);font-size:var(--text-lg)}}.lightbox-caption{font-family:var(--font-mono);font-size:var(--text-base);color:#fff;text-align:center;padding:var(--space-3) var(--space-4);flex-shrink:0}.lightbox-thumbnails{display:none;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;overflow-y:hidden;flex-shrink:0;justify-content:center;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent}.lightbox-thumbnails::-webkit-scrollbar{height:4px}.lightbox-thumbnails::-webkit-scrollbar-thumb{background:var(--color-accent)}.lightbox-thumb{flex-shrink:0;width:60px;height:60px;padding:0;border:2px solid transparent;background:0 0;cursor:pointer;opacity:.5;overflow:hidden}.lightbox-thumb:hover{opacity:.8}.lightbox-thumb.active{border-color:var(--color-accent);opacity:1}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}@media (max-width:640px){.lightbox-thumb{width:50px;height:50px}}.lightbox-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:rgba(255,255,255,.5);text-align:center;padding:var(--space-2) var(--space-4) var(--space-4);flex-shrink:0;transition:opacity .5s ease}.lightbox-hint.fade-out{opacity:0}@media (min-width:768px){.lightbox-hint{display:none}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:var(--color-background);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);z-index:10000}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent);color:var(--color-background)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}.breadcrumb{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-4) 0}.breadcrumb-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs)}.breadcrumb-link{color:var(--color-text-tertiary);border-bottom:none}.breadcrumb-link:hover{color:var(--color-accent)}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-medium)}.blog-post{padding:var(--space-12) 0}.post-header{max-width:800px;margin:0 auto var(--space-8);text-align:center}.post-featured-badge{display:inline-block;background:var(--color-accent);color:var(--color-background);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4)}.post-title{font-family:var(--font-mono);font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);line-height:1.2;margin-bottom:var(--space-4)}@media (max-width:768px){.post-title{font-size:var(--text-2xl)}}.post-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.post-date,.post-updated{color:var(--color-text-tertiary)}.post-separator{color:var(--color-text-muted)}.post-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2)}.post-tag{display:inline-block;padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);border:1px solid var(--color-border)}.post-featured-image{max-width:900px;margin:0 auto var(--space-8);border:1px solid var(--color-border)}.post-featured-image img{width:100%;height:auto;display:block}.post-content{max-width:720px;margin:0 auto;font-family:var(--font-mono);font-size:var(--text-base);line-height:1.8;color:var(--color-text-secondary)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{font-family:var(--font-mono);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:1.3;margin:var(--space-8) 0 var(--space-4)}.post-content h1{font-size:var(--text-3xl)}.post-content h2{font-size:var(--text-2xl)}.post-content h3{font-size:var(--text-xl)}.post-content h4{font-size:var(--text-lg)}.post-content h5{font-size:var(--text-base)}.post-content h6{font-size:var(--text-sm)}.post-content h2::before{content:'## ';color:var(--color-accent)}.post-content h3::before{content:'### ';color:var(--color-accent)}.post-content p{margin-bottom:var(--space-5)}.post-content a{color:var(--color-accent);border-bottom:1px solid transparent}.post-content a:hover{border-bottom-color:var(--color-accent)}.post-content ol,.post-content ul{margin:var(--space-4) 0;padding-left:var(--space-6)}.post-content li{margin-bottom:var(--space-2)}.post-content ul li::marker{color:var(--color-accent)}.post-content ol li::marker{color:var(--color-accent);font-weight:var(--font-semibold)}.post-content ol ol,.post-content ol ul,.post-content ul ol,.post-content ul ul{margin:var(--space-2) 0}.post-content blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--color-accent);background:var(--color-surface);font-style:italic;color:var(--color-text-secondary)}.post-content blockquote p:last-child{margin-bottom:0}.post-content code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface);border:1px solid var(--color-border);padding:.15em .4em;color:var(--color-accent-alt)}.post-content .ql-code-block-container,.post-content pre{margin:var(--space-6) 0;padding:var(--space-5);background:#1e1e1e;border:1px solid var(--color-border);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.post-content .ql-code-block-container code,.post-content pre code{background:0 0;border:none;padding:0;color:#d4d4d4;font-size:inherit}.post-content code[class*=language-],.post-content pre[class*=language-]{text-shadow:none}.post-content .ql-code-block{background:#1e1e1e;color:#d4d4d4;padding:var(--space-1) var(--space-2)}.post-content img{max-width:100%;height:auto;display:block;margin:var(--space-6) auto;border:1px solid var(--color-border)}.post-content figure{margin:var(--space-6) 0}.post-content figcaption{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-2)}.post-content .ql-video-wrapper,.post-content iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;margin:var(--space-6) auto;border:1px solid var(--color-border)}.post-content .ql-video-wrapper iframe{width:100%;height:100%;margin:0;border:none}.post-content table{width:100%;margin:var(--space-6) 0;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-sm)}.post-content td,.post-content th{padding:var(--space-3);text-align:left;border:1px solid var(--color-border)}.post-content th{background:var(--color-surface);font-weight:var(--font-semibold);color:var(--color-text-primary)}.post-content tr:hover td{background:rgba(8,145,178,.03)}.post-content hr{margin:var(--space-8) 0;border:none;border-top:1px solid var(--color-border)}.post-content b,.post-content strong{font-weight:var(--font-semibold);color:var(--color-text-primary)}.post-content em,.post-content i{font-style:italic}.post-content u{text-decoration:underline}.post-content s,.post-content strike{text-decoration:line-through;color:var(--color-text-tertiary)}.post-content sub{font-size:.75em;vertical-align:sub}.post-content sup{font-size:.75em;vertical-align:super}.post-content .ql-align-center{text-align:center}.post-content .ql-align-right{text-align:right}.post-content .ql-align-justify{text-align:justify}.post-navigation{max-width:720px;margin:var(--space-12) auto 0;padding-top:var(--space-8);border-top:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}@media (max-width:640px){.post-navigation{grid-template-columns:1fr}}.nav-next,.nav-previous{display:flex;flex-direction:column}.nav-next{text-align:right}.nav-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.nav-title{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);border-bottom:none}.nav-title:hover{color:var(--color-accent)}.related-posts{max-width:900px;margin:var(--space-12) auto 0;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border)}.related-posts h2{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-6)}.related-posts h2::before{content:'> ';color:var(--color-accent)}.related-posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}.related-post-card{padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-background)}.related-post-card:hover{border-color:var(--color-accent)}.related-post-link{display:block;border-bottom:none}.related-post-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:1.4}.related-post-link:hover .related-post-title{color:var(--color-accent)}.related-post-excerpt{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-2)}.related-post-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.post-content .token.cdata,.post-content .token.comment,.post-content .token.doctype,.post-content .token.prolog{color:#6a9955}.post-content .token.punctuation{color:#d4d4d4}.post-content .token.boolean,.post-content .token.constant,.post-content .token.deleted,.post-content .token.number,.post-content .token.property,.post-content .token.symbol,.post-content .token.tag{color:#b5cea8}.post-content .token.attr-name,.post-content .token.builtin,.post-content .token.char,.post-content .token.inserted,.post-content .token.selector,.post-content .token.string{color:#ce9178}.post-content .language-css .token.string,.post-content .style .token.string,.post-content .token.entity,.post-content .token.operator,.post-content .token.url{color:#d4d4d4}.post-content .token.atrule,.post-content .token.attr-value,.post-content .token.keyword{color:#569cd6}.post-content .token.class-name,.post-content .token.function{color:#dcdcaa}.post-content .token.important,.post-content .token.regex,.post-content .token.variable{color:#d16969}.post-content .token.bold,.post-content .token.important{font-weight:700}.post-content .token.italic{font-style:italic}.post-content .token.entity{cursor:help}.post-content pre.line-numbers{padding-left:3.8em;counter-reset:linenumber}.post-content pre.line-numbers>code{position:relative;white-space:inherit}.post-content .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #404040;user-select:none}.post-content .line-numbers-rows>span{display:block;counter-increment:linenumber}.post-content .line-numbers-rows>span:before{content:counter(linenumber);color:#858585;display:block;padding-right:.8em;text-align:right}@media print{.btn-primary,.btn-secondary,.footer-social,.hero-actions,.nav{display:none}body{background:#fff;color:#000}.section{padding:var(--space-8) 0;border:none}}