:root{--primary-color: #1a1a1b;--primary-dark: #000000;--secondary-color: #64748b;--accent-color: #c5a059;--background-color: #fcfcfd;--surface-color: #ffffff;--text-primary: #121212;--text-secondary: #4a4a4a;--text-muted: #8e8e8e;--border-color: #efefef;--shadow-color: rgba(0, 0, 0, 0.04);--shadow-hover: rgba(0, 0, 0, 0.08);--success-color: #2d3436;--warning-color: #c5a059;--error-color: #a40000;--info-color: #1a1a1b;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-family-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--container-max-width: 1200px;--container-padding: 1rem;--header-height: 70px;--footer-height: auto;--radius-sm: 0.25rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: 0.15s ease;--transition-normal: 0.3s ease;--transition-slow: 0.5s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme="dark"]{--primary-color: #f0f0f0;--primary-dark: #ffffff;--secondary-color: #94a3b8;--accent-color: #e0c070;--background-color: #050505;--surface-color: #121212;--text-primary: #ededed;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: #2a2a2a;--shadow-color: rgba(0, 0, 0, 0.5);--shadow-hover: rgba(0, 0, 0, 0.7);--code-bg: #1e1e1e;--code-text: #d4d4d4;--code-border: #333333}[data-theme="light"]{--code-bg: #f5f5f5;--code-text: #24292e;--code-border: #e1e4e8}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--background-color);background-image:radial-gradient(circle at 50% 0%, var(--surface-color) 0%, var(--background-color) 70%);background-attachment:fixed;transition:background-color var(--transition-normal),color var(--transition-normal);position:relative}#canvas-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:1}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--spacing-md) 0;color:var(--text-secondary)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}ul,ol{margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-xs);color:var(--text-secondary)}code{font-family:var(--font-family-mono);font-size:0.875em;background-color:var(--surface-color);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);background-color:var(--code-bg);color:var(--code-text);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--code-border);overflow-x:auto;margin:0 0 var(--spacing-md) 0;box-shadow:inset 0 0 20px rgba(0,0,0,0.05)}pre code{background:none;border:none;padding:0;font-size:inherit;color:inherit;box-shadow:none}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none;padding:0}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--background-color);border-bottom:1px solid var(--border-color);z-index:var(--z-fixed);transition:all var(--transition-normal)}.header-content{display:flex;align-items:center;justify-content:space-between;height:100%}.site-brand{display:flex;align-items:center}.brand-link{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);text-decoration:none;letter-spacing:0.15em;text-transform:uppercase}.brand-text{color:var(--text-primary)}.site-nav{display:flex;align-items:center}.nav-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:var(--spacing-lg)}.nav-item{display:flex;align-items:center}a.nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) 0;text-align:center;text-decoration:none;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.1em;transition:all var(--transition-fast)}a.nav-link:hover,a.nav-link.active{color:var(--accent-color)}a.nav-link.active::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--accent-color);border-radius:var(--radius-full)}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background-color:transparent;color:var(--text-secondary);transition:all var(--transition-fast)}.theme-toggle:hover{background-color:var(--surface-color);color:var(--primary-color)}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;width:40px;height:40px;background:transparent;border-radius:var(--radius-md);transition:all var(--transition-fast)}.hamburger-line{width:20px;height:2px;background-color:var(--text-primary);margin:2px 0;transition:all var(--transition-fast);transform-origin:center}.mobile-menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px, -5px)}#main-content{margin-top:var(--header-height);min-height:calc(100vh - var(--header-height))}.site-footer{background:linear-gradient(180deg, var(--surface-color) 0%, #0a0a0a 100%);border-top:2px solid var(--border-color);margin-top:var(--spacing-3xl);padding:var(--spacing-3xl) 0;position:relative;overflow:hidden}.site-footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, transparent, var(--primary-color), transparent);opacity:0.5}.footer-simple{text-align:center;max-width:600px;margin:0 auto;position:relative;z-index:1}.footer-brand{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--border-color);background:rgba(255,255,255,0.02);backdrop-filter:blur(5px);border-radius:var(--radius-md);box-shadow:inset 0 0 20px rgba(0,0,0,0.5)}.mesgro-title{font-family:'JetBrains Mono', 'Fira Code', monospace;font-size:2.5rem;letter-spacing:0.2em;color:var(--text-primary);margin-bottom:var(--spacing-sm);text-transform:uppercase;background:linear-gradient(45deg, var(--text-primary), var(--text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.mesgro-definition{font-family:'Inter', sans-serif;color:var(--text-muted);font-size:0.9rem;letter-spacing:0.05em;text-transform:uppercase;line-height:1.6}.def-highlight{color:var(--primary-color);font-weight:800}.social-links-center{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.social-links-center a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--background-color);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition-fast)}.social-links-center a:hover{background-color:var(--primary-color);color:var(--background-color);border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 15px var(--shadow-hover)}.footer-credits{text-align:center;border-top:1px solid var(--border-color);padding-top:var(--spacing-lg)}.footer-credits p{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-xs)}.footer-credits a{color:var(--primary-color);text-decoration:none}.footer-credits a:hover{text-decoration:underline}.scroll-to-top{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:50px;height:50px;background-color:var(--primary-color);color:white;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--shadow-color);opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--transition-normal);z-index:var(--z-fixed)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-hover)}.btn-primary,.btn-secondary,.btn-github,.btn-demo{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--radius-md);border:2px solid transparent;transition:all var(--transition-fast);cursor:pointer}.btn-primary{background-color:var(--primary-color);color:var(--background-color);letter-spacing:0.05em;text-transform:uppercase;font-size:var(--font-size-xs);padding:var(--spacing-md) var(--spacing-xl)}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 10px 20px var(--shadow-hover)}.btn-secondary{background-color:transparent;color:var(--text-primary);border-color:var(--border-color);letter-spacing:0.05em;text-transform:uppercase;font-size:var(--font-size-xs);padding:var(--spacing-md) var(--spacing-xl)}.btn-secondary:hover{background-color:var(--surface-color);border-color:var(--text-primary);color:var(--text-primary)}.btn-github{background-color:#24292e;color:white}.btn-github:hover{background-color:#1a1e22}.btn-demo{background-color:var(--success-color);color:var(--background-color);font-weight:600}.btn-demo:hover{background-color:#059669;color:var(--background-color)}.hero-personal{background:transparent;padding:var(--spacing-xl) 0;min-height:50vh;display:flex;align-items:center;position:relative}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1200px;margin:0 auto;width:100%;text-align:left;align-items:flex-start}.hero-info-wrapper{width:100%;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--spacing-lg)}.hero-info{text-align:center}.hero-name{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);color:var(--text-primary);letter-spacing:-0.02em}.hero-title{font-size:var(--font-size-lg);color:var(--accent-color);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:0.1em}.hero-description{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl);max-width:600px;margin-left:auto;margin-right:auto;font-weight:var(--font-weight-light)}.hero-personal .hero-title,.hero-personal .hero-description{color:var(--text-secondary)}.hero-personal .hero-title{color:var(--primary-color)}.hero-stats{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);justify-content:flex-start}.stat{text-align:center}.stat-number{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--primary-color)}.stat-label{font-size:var(--font-size-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px}.hero-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap;justify-content:center}.social-links{display:flex;gap:var(--spacing-md);justify-content:center}.social-link{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background-color:var(--surface-color);color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);text-decoration:none;transition:all var(--transition-fast)}.social-link:hover{background-color:var(--primary-color);color:white;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.skills-section{padding:var(--spacing-3xl) 0;background-color:var(--surface-color)}.skills-content h2{text-align:center;margin-bottom:var(--spacing-2xl);color:var(--text-primary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-xl)}.skill-category{background-color:var(--background-color);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);text-align:center;transition:all var(--transition-normal)}.skill-category:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-hover)}.skill-category h3{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--text-primary);margin-bottom:var(--spacing-md)}.skill-category h3 i{color:var(--primary-color);font-size:var(--font-size-lg)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.skill-tag{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--primary-color);color:var(--background-color);font-size:var(--font-size-xs);border-radius:var(--radius-full);font-weight:600}.projects-showcase{padding:var(--spacing-3xl) 0;background-color:var(--background-color)}.section-header{text-align:center;margin-bottom:var(--spacing-3xl)}.section-header h2{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.section-header p{color:var(--text-secondary);font-size:var(--font-size-lg)}.section-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);letter-spacing:0.05em;max-width:600px;margin:0 auto}.projects-grid-featured{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.project-card-featured{background-color:var(--surface-color);border-radius:var(--radius-sm);border:none;overflow:hidden;transition:all var(--transition-normal);box-shadow:0 4px 20px var(--shadow-color)}.project-card-featured:hover{transform:translateY(-8px);box-shadow:0 20px 40px var(--shadow-hover)}.project-media{position:relative;height:180px;overflow:hidden;background-color:var(--background-color)}.project-image,.preview-model-small{width:100%;height:100%;object-fit:cover}.project-placeholder-small{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-size-3xl);color:var(--text-muted);background-color:var(--surface-color)}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.project-card-featured:hover .project-overlay{opacity:1}.project-link-overlay{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background-color:var(--primary-color);color:var(--background-color);border-radius:var(--radius-full);text-decoration:none;transition:all var(--transition-fast)}.project-link-overlay:hover{background-color:var(--primary-dark);transform:scale(1.1)}.project-info-featured{padding:var(--spacing-lg)}.project-categories-small{margin-bottom:var(--spacing-sm)}.category-tag-small{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);margin-right:var(--spacing-xs);letter-spacing:0.05em;text-transform:uppercase}.project-title-featured{margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg)}.project-title-featured a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.project-title-featured a:hover{color:var(--primary-color)}.project-excerpt-small{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);line-height:var(--line-height-normal)}.project-features-small{display:flex;gap:var(--spacing-sm)}.feature-badge-small{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--background-color);color:var(--text-secondary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.showcase-actions{text-align:center}.btn-primary-large{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);background-color:var(--primary-color);color:var(--background-color);text-decoration:none;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.btn-primary-large:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 25px var(--shadow-hover)}.btn-outline{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:0.1em;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-sm)}.btn-outline:hover{background-color:var(--surface-color);border-color:var(--text-primary);color:var(--text-primary)}.projects-hero,.project-hero{background:linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);color:white;padding:var(--spacing-lg) 0;text-align:center}.projects-hero .hero-title,.project-hero .hero-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs);color:white}.projects-hero .hero-description,.project-hero .hero-description{font-size:var(--font-size-base);margin-bottom:0;color:rgba(255,255,255,0.9);max-width:600px;margin-left:auto;margin-right:auto}.features-section{padding:var(--spacing-3xl) 0;background-color:var(--surface-color)}.features-section h2{text-align:center;margin-bottom:var(--spacing-2xl)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-xl)}.feature{text-align:center;padding:var(--spacing-xl);background-color:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-normal)}.feature:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-hover)}.feature-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md)}.feature h3{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.feature p{color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.project-card{background-color:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-normal)}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px var(--shadow-hover)}.project-preview{position:relative;height:200px;overflow:hidden;background-color:var(--surface-color)}.project-image,.preview-model{width:100%;height:100%;object-fit:cover}.project-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--font-size-4xl);color:var(--text-muted)}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.project-card:hover .project-overlay{opacity:1}.project-link{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--background-color);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--primary-color);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.project-link:hover{background-color:var(--primary-dark);transform:scale(1.05)}.project-info{padding:var(--spacing-lg)}.project-categories{margin-bottom:var(--spacing-sm)}.category-tag,.tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);margin-right:var(--spacing-xs);margin-bottom:var(--spacing-xs);letter-spacing:0.05em;text-transform:uppercase;transition:all var(--transition-fast)}.category-tag:hover,.tag:hover{border-color:var(--primary-color);color:var(--primary-color)}.project-title{margin-bottom:var(--spacing-sm)}.project-title a{color:var(--text-primary);text-decoration:none}.project-title a:hover{color:var(--primary-color)}.project-excerpt{color:var(--text-secondary);margin-bottom:var(--spacing-md)}.project-features{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.feature-badge{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--surface-color);color:var(--text-secondary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.project-meta{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:var(--font-size-sm)}.project-date{display:flex;align-items:center;gap:var(--spacing-xs)}.github-link{color:var(--text-muted);font-size:var(--font-size-lg);transition:color var(--transition-fast)}.github-link:hover{color:var(--primary-color)}.projects-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.filter-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover,.filter-btn.active{background-color:var(--primary-color);color:white;border-color:var(--primary-color)}.no-projects{text-align:center;padding:var(--spacing-3xl) 0}.no-projects-content{max-width:400px;margin:0 auto}.no-projects i{font-size:var(--font-size-5xl);color:var(--text-muted);margin-bottom:var(--spacing-lg)}.no-projects h3{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.no-projects p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.notification{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);max-width:400px;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-hover);z-index:var(--z-modal);animation:slideInRight 0.3s ease}.notification-info{border-left:4px solid var(--info-color)}.notification-success{border-left:4px solid var(--success-color)}.notification-warning{border-left:4px solid var(--warning-color)}.notification-error{border-left:4px solid var(--error-color)}.notification-message{display:block;color:var(--text-primary);font-weight:var(--font-weight-medium);margin-right:var(--spacing-lg)}.notification-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.notification-close:hover{background-color:var(--surface-color);color:var(--text-primary)}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{opacity:0;animation:fadeIn 0.6s ease forwards}.slide-up{opacity:0;transform:translateY(20px);animation:slideUp 0.6s ease forwards}.fade-in.animate,.slide-up.animate{animation-play-state:running}.project-content{padding:var(--spacing-xl) 0}.project-grid{display:flex;flex-direction:column;gap:var(--spacing-xl)}.project-section{background-color:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.project-section h2{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);margin:0;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);font-size:var(--font-size-lg);color:var(--text-primary)}.project-section h2 i{color:var(--primary-color)}.project-header{text-align:center;padding:var(--spacing-lg) 0}.project-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);color:white}.project-description{font-size:var(--font-size-base);color:rgba(255,255,255,0.9);margin-bottom:var(--spacing-md);max-width:800px;margin-left:auto;margin-right:auto}.project-meta{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.models-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:var(--spacing-lg);padding:var(--spacing-md)}.model-viewer-container{position:relative;background-color:var(--surface-color);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.model-viewer{width:100%;height:400px;background-color:#f0f0f0;--poster-color: transparent}.model-viewer.loaded{background-color:transparent}.model-controls{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-normal)}.model-viewer-container:hover .model-controls{opacity:1}.control-btn{width:36px;height:36px;background-color:rgba(0,0,0,0.7);color:white;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.control-btn:hover{background-color:var(--primary-color);transform:scale(1.05)}.control-btn.active{background-color:var(--primary-color)}.model-description{padding:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;background-color:var(--background-color);border-top:1px solid var(--border-color)}.model-error{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--surface-color);color:var(--text-muted)}.error-content{text-align:center}.error-content i{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md);color:var(--warning-color)}.schematics-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:var(--spacing-lg);padding:var(--spacing-md)}.schematic-container{position:relative;background-color:var(--surface-color);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.zoomable-container{position:relative;overflow:hidden;background-color:var(--surface-color);min-height:300px;display:flex;align-items:center;justify-content:center}.schematic-image{max-width:100%;max-height:500px;object-fit:contain;cursor:default;transition:transform var(--transition-fast)}.zoom-controls{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-normal)}.zoomable-container:hover .zoom-controls{opacity:1}.zoom-btn{width:36px;height:36px;background-color:rgba(0,0,0,0.7);color:white;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.zoom-btn:hover{background-color:var(--primary-color)}.schematic-description{padding:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;background-color:var(--background-color);border-top:1px solid var(--border-color)}.code-tabs{display:flex;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);overflow-x:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tab-button{padding:var(--spacing-md) var(--spacing-lg);background-color:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:var(--font-weight-medium);white-space:nowrap;transition:all var(--transition-fast)}.tab-button:hover,.tab-button.active{color:var(--text-primary);background-color:var(--code-bg)}.tab-button.active{border-bottom-color:var(--primary-color)}.code-content{position:relative}.tab-content{display:none}.tab-content.active{display:block}.code-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--code-bg);border-bottom:1px solid var(--code-border)}.file-name{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.download-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--primary-color);color:white;text-decoration:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);transition:all var(--transition-fast)}.download-btn:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.tab-content pre{margin:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);border:none;background-color:var(--code-bg);color:var(--code-text);max-height:500px;overflow-y:auto;padding:var(--spacing-lg)}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs{color:#6a9955}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#569cd6;font-weight:bold}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .ss{color:#ce9178}.highlight .n,.highlight .na,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .no,.highlight .nt,.highlight .nv,.highlight .nx{color:#dcdcaa}.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mx{color:#b5cea8}.highlight .o,.highlight .ow{color:#d4d4d4}.highlight .gd{color:#f44747}.highlight .gi{color:#6a9955}.components-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}.component-item{padding:var(--spacing-lg);background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.component-item h4{color:var(--text-primary);margin-bottom:var(--spacing-xs);display:flex;align-items:center;justify-content:space-between}.quantity{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-weight-normal);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--background-color);border-radius:var(--radius-sm)}.component-item p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.component-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--primary-color);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.component-link:hover{color:var(--primary-dark)}.media-gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--spacing-lg);padding:var(--spacing-lg)}.media-item{background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm)}.gallery-image,.gallery-gif{width:100%;height:auto;max-width:100%;object-fit:contain;cursor:zoom-in;display:block}.gallery-video{width:100%;height:auto;max-width:100%;object-fit:contain;display:block}.media-caption{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center;margin:0;background-color:var(--background-color);width:100%}.media-description{padding:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;background-color:var(--background-color);border-top:1px solid var(--border-color)}.project-description-content{padding:var(--spacing-lg);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.project-description-content h3,.project-description-content h4{color:var(--text-primary);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.project-description-content ul,.project-description-content ol{margin-bottom:var(--spacing-md)}.project-description-content li{margin-bottom:var(--spacing-xs)}.project-navigation{background-color:var(--surface-color);border-top:1px solid var(--border-color);padding:var(--spacing-xl) 0;margin-top:var(--spacing-3xl)}.nav-links{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg)}.nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-color);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast);min-width:120px}.nav-link:hover{background-color:var(--primary-color);color:white;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-hover)}.nav-link.prev{justify-content:flex-start}.nav-link.next{justify-content:flex-end}.nav-link.all-projects{justify-content:center;background-color:var(--primary-color);color:white}.nav-link.all-projects:hover{background-color:var(--primary-dark)}.nav-link span{font-weight:var(--font-weight-medium)}.project-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);padding:var(--spacing-xl) 0}@media (max-width: 900px){.project-split-layout{grid-template-columns:1fr;gap:var(--spacing-xl)}}.project-left-panel{display:flex;flex-direction:column;gap:var(--spacing-xl)}.project-right-panel{display:flex;flex-direction:column;gap:var(--spacing-xl)}.project-header-simple{padding:var(--spacing-xl) 0 0 0;margin-bottom:var(--spacing-lg)}.project-title-simple{font-size:2.5rem;color:var(--text-primary);margin:0}.project-section-clean h3{font-size:1.2rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.project-lead{font-size:1.1rem;color:var(--text-primary);font-weight:500;margin-bottom:var(--spacing-lg)}.project-description-content{line-height:1.7;color:var(--text-secondary)}.components-table{width:100%;border-collapse:collapse;font-size:0.9rem;color:var(--text-secondary)}.components-table th,.components-table td{padding:var(--spacing-sm) var(--spacing-xs);border-bottom:1px solid var(--border-color);text-align:left}.components-table th{font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color)}.components-table tr:last-child td{border-bottom:none}.component-qty{font-family:monospace;color:var(--text-muted);white-space:nowrap}details.code-details{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-color)}details.code-details summary{padding:var(--spacing-md);cursor:pointer;background:var(--background-color);font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:background-color 0.2s}details.code-details summary::-webkit-details-marker{display:none}details.code-details summary:hover{background-color:var(--surface-color-hover)}details.code-details summary::after{content:'+';font-weight:bold}details.code-details[open] summary::after{content:'-'}details.code-details .code-links-compact{padding:var(--spacing-md);border-top:1px solid var(--border-color)}.code-links-compact{display:flex;flex-direction:column;gap:var(--spacing-xs)}.code-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--surface-color);border-radius:var(--radius-sm);font-family:monospace;font-size:0.85rem;color:var(--text-primary)}.code-list-container{padding:var(--spacing-sm) 0;display:flex;flex-direction:column;gap:1px}.code-file-summary{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;background:var(--surface-color);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);font-size:0.9rem;color:var(--text-primary);transition:background-color 0.2s;list-style:none}.code-file-summary:hover{background-color:var(--surface-color-hover)}.code-file-summary::-webkit-details-marker{display:none}.code-file-wrapper:first-child .code-file-summary{border-top:1px solid var(--border-color)}.code-file-details[open] .code-file-summary{background-color:var(--background-color);font-weight:500;border-bottom:none}.code-file-summary::after{content:'+';font-weight:bold;margin-left:auto;padding-left:var(--spacing-sm)}.code-file-details[open] .code-file-summary::after{content:'-'}.file-name i{margin-right:var(--spacing-sm);color:var(--text-muted)}.file-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.lang-tag{font-size:0.75rem;padding:2px 6px;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);text-transform:uppercase}.file-download-icon{color:var(--text-muted);transition:color 0.2s}.file-download-icon:hover{color:var(--primary-color)}.code-block-content{background:#1e1e1e;border-bottom:1px solid var(--border-color);overflow-x:auto;max-height:400px;overflow-y:auto}.project-navigation{padding:var(--spacing-xl) 0;border-top:1px solid var(--border-color);background:var(--background-color);margin-top:var(--spacing-2xl)}.project-navigation .container .nav-links{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.nav-link{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--text-secondary);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--surface-color);border:1px solid var(--border-color);transition:all 0.2s}.nav-link:hover{background:var(--surface-color-hover);color:var(--primary-color);border-color:var(--primary-color)}.nav-link i{font-size:0.9em}.nav-link span{display:inline-block}.nav-link.all-projects{background:var(--surface-color);color:var(--text-primary);font-weight:600}.nav-link.all-projects:hover{background:var(--primary-color);color:white}.code-block-content pre{margin:0;padding:var(--spacing-md);font-family:'Fira Code', monospace;font-size:0.85rem;line-height:1.5}code[class*="language-"],pre[class*="language-"]{text-shadow:none !important;font-family:'Fira Code', monospace !important}.project-meta-bottom{margin-top:auto;padding-top:var(--spacing-xl);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-md)}.project-actions-small{display:flex;gap:var(--spacing-sm)}.btn-small{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:0.85rem;font-weight:500;transition:all 0.2s}.btn-small:hover{background:var(--primary-color);color:white;border-color:var(--primary-color)}.project-categories-bottom{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.category-tag-small{padding:2px 8px;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:0.75rem;color:var(--text-muted)}.project-media-group{background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.project-media-group h4{padding:var(--spacing-sm) var(--spacing-md);margin:0;background:rgba(0,0,0,0.2);font-size:0.9rem;color:var(--text-muted);text-transform:uppercase}.media-gallery-stack,.models-grid-compact,.schematics-stack{display:flex;flex-direction:column}.media-item,.schematic-container{border-bottom:1px solid var(--border-color)}.media-item:last-child{border-bottom:none}.model-viewer{width:100%;height:400px}details.assembly-details{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-color);margin-bottom:var(--spacing-lg)}details.assembly-details summary{padding:var(--spacing-md);cursor:pointer;background:var(--background-color);font-weight:500;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:background-color 0.2s;color:var(--text-primary)}details.assembly-details summary::-webkit-details-marker{display:none}details.assembly-details summary:hover{background-color:var(--surface-color-hover)}details.assembly-details summary::after{content:'+';font-weight:bold}details.assembly-details[open] summary::after{content:'-'}details.assembly-details .assembly-content{padding:var(--spacing-lg);border-top:1px solid var(--border-color);color:var(--text-secondary)}details.assembly-details .assembly-content h3,details.assembly-details .assembly-content h4{margin-top:0}details.section-details{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md);background:var(--surface-color);border-radius:var(--radius-md);border:1px solid var(--border-color)}details.section-details summary.section-summary{padding:var(--spacing-md);cursor:pointer;background:var(--background-color);font-weight:600;font-size:1.1rem;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:background-color 0.2s;color:var(--text-primary);border-radius:var(--radius-md)}details.section-details[open] summary.section-summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:1px solid var(--border-color)}details.section-details summary.section-summary:hover{background-color:var(--surface-color-hover)}details.section-details summary.section-summary::-webkit-details-marker{display:none}details.section-details summary.section-summary::after{content:'+';font-weight:bold}details.section-details[open] summary.section-summary::after{content:'-'}details.section-details .section-content{padding:var(--spacing-lg);color:var(--text-secondary);line-height:1.6}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.site-nav{position:fixed;top:var(--header-height);left:0;right:0;background-color:var(--background-color);border-bottom:1px solid var(--border-color);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:var(--z-dropdown)}.site-nav.active{transform:translateY(0);opacity:1;visibility:visible}.nav-list{flex-direction:column;padding:var(--spacing-lg);gap:0}.nav-item{width:100%}.nav-link{display:block;width:100%;padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center}.nav-link.active::after{display:none}body.menu-open{overflow:hidden}}@media (max-width: 968px){.hero-content{gap:var(--spacing-xl)}}@media (max-width: 768px){.hero-personal{padding:var(--spacing-xl) 0;min-height:auto}.hero-content{align-items:center;text-align:center}.hero-info-wrapper{flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg)}.hero-text{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-name{font-size:var(--font-size-3xl)}.hero-title{font-size:var(--font-size-lg)}.hero-description{font-size:var(--font-size-base);max-width:none}.hero-stats{justify-content:center;gap:var(--spacing-lg)}.hero-actions{justify-content:center;flex-direction:column;align-items:center}.social-links{justify-content:center}}@media (max-width: 480px){.hero-stats{gap:var(--spacing-md)}.stat-number{font-size:var(--font-size-xl)}}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(2, 1fr);gap:var(--spacing-md)}.skill-category{padding:var(--spacing-md)}}@media (max-width: 480px){.skills-grid{grid-template-columns:1fr}}@media (max-width: 768px){.projects-grid-featured{grid-template-columns:1fr;gap:var(--spacing-lg)}.project-media{height:160px}}@media (max-width: 480px){.project-info-featured{padding:var(--spacing-md)}.project-media{height:140px}}@media (max-width: 768px){.hero-title,.project-title{font-size:var(--font-size-3xl)}.hero-description,.project-description{font-size:var(--font-size-base)}.project-meta{flex-direction:column;gap:var(--spacing-md)}}@media (max-width: 640px){.features-grid{grid-template-columns:1fr}.feature{padding:var(--spacing-lg)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.project-card{margin:0 var(--spacing-sm)}}@media (max-width: 480px){.projects-filters{flex-direction:column;align-items:center}.filter-btn{min-width:120px;text-align:center}}@media (max-width: 968px){.models-grid,.schematics-grid{grid-template-columns:1fr}.model-viewer{height:300px}}@media (max-width: 640px){.project-content{padding:var(--spacing-lg) 0}.project-grid{gap:var(--spacing-xl)}.project-section h2{font-size:var(--font-size-lg);padding:var(--spacing-md)}.models-grid,.schematics-grid,.components-list,.media-gallery{padding:var(--spacing-md);gap:var(--spacing-md)}.model-viewer{height:250px}.gallery-image,.gallery-gif,.gallery-video{height:auto;max-height:400px}}@media (max-width: 640px){.code-tabs{flex-wrap:wrap}.tab-button{flex:1;min-width:100px}.code-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.download-btn{align-self:flex-end}}@media (max-width: 640px){.components-list{grid-template-columns:1fr}.component-item h4{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}@media (max-width: 768px){.nav-links{flex-direction:column;gap:var(--spacing-md)}.nav-link{width:100%;justify-content:center;text-align:center}.nav-link.prev,.nav-link.next{justify-content:center}}@media (max-width: 768px){.footer-content{grid-template-columns:repeat(2, 1fr);gap:var(--spacing-xl)}}@media (max-width: 480px){.footer-content{grid-template-columns:1fr;text-align:center}.social-links{justify-content:center}}@media (max-width: 1200px){:root{--container-max-width: 960px}}@media (max-width: 768px){:root{--container-padding: var(--spacing-md);--spacing-3xl: var(--spacing-2xl)}}@media (max-width: 480px){:root{--container-padding: var(--spacing-sm);--font-size-5xl: var(--font-size-3xl);--font-size-4xl: var(--font-size-2xl);--font-size-3xl: var(--font-size-xl)}}@media (max-width: 768px){.mobile-hidden{display:none !important}.mobile-full-width{width:100% !important}.mobile-text-center{text-align:center !important}.mobile-no-padding{padding:0 !important}.mobile-small-gap{gap:var(--spacing-sm) !important}}@media (hover: none) and (pointer: coarse){.project-overlay{opacity:1;background-color:rgba(0,0,0,0.5)}.model-controls,.zoom-controls{opacity:1;background-color:rgba(0,0,0,0.8)}.control-btn,.zoom-btn{min-width:44px;min-height:44px}}@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi){.project-image,.gallery-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.site-header,.site-footer,.project-navigation,.scroll-to-top,.model-controls,.zoom-controls,.projects-filters{display:none !important}#main-content{margin-top:0}.project-content,.projects-page{padding:0}.model-viewer,.gallery-video{display:none}.project-section,.project-card{border:1px solid #000;break-inside:avoid;margin-bottom:var(--spacing-lg)}body{background:white;color:black}}
