@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--color-text-primary:#000;--color-text-secondary:#666;--color-text-tertiary:#999;--color-bg-primary:#fff;--color-bg-secondary:#fff;--color-bg-tertiary:#fafafa;--color-border:#e0e0e0;--color-accent:#000;--color-accent-hover:#333;--color-accent-light:#0000000d;--color-shadow:#0000000d;--color-shadow-md:#00000014;--color-shadow-lg:#0000001f;--color-nav-bg:#ffffffd9;--grid-unit:8px;--spacing-xs:calc(var(--grid-unit)*1);--spacing-sm:calc(var(--grid-unit)*2);--spacing-md:calc(var(--grid-unit)*3);--spacing-lg:calc(var(--grid-unit)*4);--spacing-xl:calc(var(--grid-unit)*6);--spacing-2xl:calc(var(--grid-unit)*8)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--color-bg-primary);background-image:linear-gradient(#00000004 1px,#0000 1px),linear-gradient(90deg,#00000004 1px,#0000 1px);background-size:calc(var(--grid-unit)*3)calc(var(--grid-unit)*3);max-width:100vw;overflow-x:hidden}body{max-width:100vw;color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.02em;background:0 0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:inherit;text-decoration:none}.nav{background:var(--color-nav-bg);-webkit-backdrop-filter:blur(8px);box-shadow:none;border-bottom:1px solid var(--color-border);z-index:100;width:100%;padding:1rem 0;transition:all .2s;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:100%;margin:0 auto;padding:0 .5rem;display:flex}.nav-logo{color:var(--color-accent);z-index:101;justify-content:center;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;display:flex}.logo-container{justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.logo-light,.logo-dark{object-fit:contain;width:42px;height:42px;transition:opacity .3s;position:absolute;top:0;left:0}.logo-light{opacity:1}.nav-menu{align-items:center;gap:2.5rem;list-style:none;display:flex}.nav-link{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500;transition:color .2s}.nav-link:hover{color:var(--color-text-primary)}.nav-link.active{color:var(--color-text-primary);font-weight:600}.hamburger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;gap:2px;padding:.25rem;display:none}.hamburger-line{background:var(--color-text-primary);border-radius:1px;width:12.5px;height:1.5px;transition:all .3s}.hamburger-line.open:first-child{transform:rotate(45deg)translate(3.5px,3.5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg)translate(3.5px,-3.5px)}.container{max-width:1400px;padding:var(--spacing-md)var(--spacing-lg);margin:0 auto}@media (max-width:768px){.container{padding:var(--spacing-sm)var(--spacing-md)}}.hero{text-align:left;padding:var(--spacing-2xl)0 var(--spacing-xl)0;background:var(--color-bg-primary);flex-direction:column;justify-content:center;align-items:flex-start;min-height:75vh;display:flex;position:relative}.hero-title{margin-bottom:var(--spacing-lg);color:var(--color-text-primary);letter-spacing:-.03em;max-width:90%;font-family:Inter,sans-serif;font-size:clamp(3rem,10vw,5.5rem);font-weight:700;line-height:1.05}.hero-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);letter-spacing:-.01em;max-width:600px;font-size:clamp(1rem,2vw,1.125rem);font-weight:400;line-height:1.6}.hero-buttons{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:20px;display:flex}.button{letter-spacing:0;border:1px solid var(--color-text-primary);text-align:center;border-radius:0;min-width:160px;padding:.875rem 2rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-block}.button-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.button-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.button-secondary{color:var(--color-text-primary);border:1px solid var(--color-border);background:0 0}.button-secondary:hover{border-color:var(--color-text-primary);background:var(--color-bg-tertiary)}.features{padding:var(--spacing-2xl)0}.section-title{text-align:left;margin-bottom:var(--spacing-xl);color:var(--color-text-primary);letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.1}.features-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.feature-card{background:var(--color-bg-secondary);border-radius:12px;padding:2rem;transition:transform .2s,box-shadow .2s}.feature-card:hover{box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-4px)}.feature-card h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.25rem}.feature-card p{color:var(--color-text-secondary);line-height:1.6}.content-section{padding:2rem 0}.page-title{color:var(--color-text-primary);text-align:center;margin-bottom:2rem;font-size:2rem}.content{max-width:800px;margin:0 auto;line-height:1.8}.content h2{color:var(--color-text-primary);margin:2rem 0 1rem;font-size:1.75rem}.content p{color:var(--color-text-secondary);margin-bottom:1rem}.tech-list{color:var(--color-text-secondary);margin:1rem 0 2rem 2rem}.tech-list li{margin-bottom:.5rem}.cta-section{text-align:center;margin-top:3rem}.page-description{color:var(--color-text-secondary);text-align:center;max-width:700px;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:1.125rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.project-card{background:var(--color-bg-primary);box-shadow:0 0 20px var(--color-shadow);border-radius:12px;flex-direction:column;padding:2rem;transition:all .3s;display:flex;position:relative}.project-card:hover{transform:translateY(-4px);box-shadow:0 0 30px #00000026}.project-icon{margin-bottom:1rem;font-size:3rem}.project-status{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;right:1rem}.project-status[data-status=completed]{color:#155724;background:#d4edda}.project-status[data-status=in\ progress]{color:#856404;background:#fff3cd}.project-status[data-status=planning]{color:#0c5460;background:#d1ecf1}.project-card h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.5rem}.project-description{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6}.project-tech{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tech-badge{background:var(--color-accent-light);color:var(--color-accent);border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.project-date{color:var(--color-text-tertiary);opacity:.7;margin-top:auto;padding-top:.5rem;font-size:.875rem;font-weight:400}.project-detail-layout{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:2rem;margin-top:2rem;margin-bottom:3rem;display:grid}.project-detail-sidebar{position:sticky;top:120px}.project-detail-left{padding-right:1rem}.project-detail-right{padding-left:1rem}.project-detail-category{margin-bottom:2rem}.project-number{color:var(--color-text-tertiary);margin-bottom:.5rem;font-size:.875rem;display:block}.project-detail-title{color:var(--color-text-primary);margin:0;font-size:3rem;font-weight:700;line-height:1.1}.project-detail-description{margin-bottom:2rem}.project-detail-description p{color:var(--color-text-secondary);font-size:1rem;line-height:1.8}.project-detail-cta{margin-top:2rem}.project-detail-link{color:var(--color-text-primary);text-underline-offset:4px;font-size:1rem;font-weight:500;text-decoration:underline;text-decoration-thickness:2px;transition:color .3s}.project-detail-link:hover{color:var(--color-accent)}.project-detail-hero{background:var(--color-bg-secondary);aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;display:flex;overflow:hidden}.project-detail-image{object-fit:cover;width:100%;height:100%}.project-detail-emoji{font-size:8rem}.project-detail-meta{flex-direction:column;gap:2rem;display:flex}.project-detail-meta-item h4{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.project-detail-meta-item p{color:var(--color-text-primary);font-size:1rem;font-weight:500}.project-detail-meta-item .project-status{display:inline-block;position:static}.project-detail-meta-item .project-tech{margin-top:.5rem}.project-detail-content{border-top:1px solid var(--color-border);margin-top:4rem;padding-top:3rem}.project-detail-back{margin-top:3rem;margin-bottom:2rem}.back-link{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.875rem;transition:color .3s;display:inline-flex}.back-link:hover{color:var(--color-accent)}.no-content{text-align:center;color:var(--color-text-tertiary);padding:3rem 0}@media (max-width:1024px){.project-detail-layout{grid-template-columns:1fr;gap:2rem}.project-detail-sidebar{position:static}.project-detail-left,.project-detail-right{padding:0}.project-detail-title{font-size:2.5rem}.project-detail-right{order:-1}.project-detail-meta{flex-flow:wrap;gap:1.5rem}.project-detail-meta-item{flex:calc(50% - .75rem);min-width:200px}}@media (max-width:350px){.project-detail-title{font-size:2rem}.project-detail-emoji{font-size:5rem}.project-detail-hero{aspect-ratio:3/2}.project-detail-meta{flex-direction:column}.project-detail-meta-item{flex:100%}}.qualification-section{margin-bottom:4rem}.section-heading{color:var(--color-text-primary);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:2rem;display:flex}.heading-icon{font-size:2rem}.timeline{border-left:2px solid var(--color-accent);padding-left:2rem;position:relative}.timeline-item{padding-bottom:2rem;position:relative}.timeline-marker{background:var(--color-accent);border:3px solid var(--color-bg-primary);width:1rem;height:1rem;box-shadow:0 0 0 2px var(--color-accent);border-radius:50%;position:absolute;left:-2.5rem}.timeline-content h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.25rem}.institution{color:var(--color-accent);margin-bottom:.25rem;font-weight:500}.year{color:var(--color-text-tertiary);margin-bottom:.5rem;font-size:.875rem}.description{color:var(--color-text-secondary);line-height:1.6}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.cert-card{background:var(--color-bg-secondary);border-left:4px solid var(--color-accent);border-radius:8px;padding:1.5rem;transition:all .2s}.cert-card:hover{box-shadow:0 4px 12px var(--color-shadow);transform:translate(4px)}.cert-card h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.125rem}.cert-issuer{color:var(--color-accent);margin-bottom:.25rem;font-weight:500}.cert-year{color:var(--color-text-tertiary);font-size:.875rem}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;display:grid}.skill-group{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.skill-category{color:var(--color-accent);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.skill-items{flex-wrap:wrap;gap:.5rem;display:flex}.skill-badge{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.skill-badge:hover{background:var(--color-accent-light);color:var(--color-accent)}.blog-categories{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;justify-content:center;display:flex}.category-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);letter-spacing:0;background:0 0;border-radius:0;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:400;transition:border-color .15s}.category-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.blog-grid{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));justify-content:center;max-width:1200px;margin:0 auto;display:grid}.blog-card{background:var(--color-bg-primary);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:0;flex-direction:column;max-width:450px;margin:0 auto;transition:all .2s;display:flex}.blog-card:hover{border-color:var(--color-text-primary);box-shadow:0 4px 16px var(--color-shadow-md)}.blog-card-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.blog-category{color:var(--color-text-secondary);letter-spacing:0;border:1px solid var(--color-border);background:0 0;border-radius:0;padding:.25rem .625rem;font-size:.75rem;font-weight:400}.blog-read-time{color:var(--color-text-tertiary);font-size:.875rem}.blog-title{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);letter-spacing:-.01em;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.3}.blog-title a{color:var(--color-text-primary);transition:color .15s}.blog-title a:hover{color:var(--color-accent)}.blog-excerpt{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);flex-grow:1;font-size:.9375rem;line-height:1.65}.blog-tags{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.tag{color:var(--color-text-secondary);border:1px solid var(--color-border);letter-spacing:0;background:0 0;border-radius:0;padding:.25rem .5rem;font-size:.75rem;font-weight:400;transition:border-color .15s}.tag:hover{border-color:var(--color-text-secondary)}.blog-meta{border-top:1px solid var(--color-border);color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-top:1rem;font-size:.875rem;display:flex}.blog-author{font-weight:500}.blog-date{color:var(--color-text-tertiary)}.blog-read-more{color:var(--color-accent);font-weight:600;transition:all .2s;display:inline-block}.blog-read-more:hover{transform:translate(4px)}.blog-post{max-width:800px;margin:0 auto}.back-link{color:var(--color-accent);margin-bottom:2rem;font-weight:500;transition:all .2s;display:inline-block}.back-link:hover{transform:translate(-4px)}.blog-post-header{border-bottom:2px solid var(--color-border);margin-bottom:3rem;padding-bottom:2rem}.blog-post-meta-top{gap:1rem;margin-bottom:1.5rem;display:flex}.blog-post-title{color:var(--color-text-primary);margin-bottom:1.5rem;font-size:2.5rem;line-height:1.3}.blog-post-meta{color:var(--color-text-secondary);gap:2rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.blog-post-content{color:var(--color-text-primary);line-height:1.8}.blog-post-content h1{color:var(--color-text-primary);margin:2rem 0 1rem;font-size:2rem}.blog-post-content h2{color:var(--color-text-primary);margin:1.5rem 0 1rem;font-size:1.5rem}.blog-post-content p{color:var(--color-text-secondary);margin-bottom:1rem}.blog-post-content li{color:var(--color-text-secondary);margin-bottom:.5rem;margin-left:2rem}.blog-post-footer{border-top:2px solid var(--color-border);margin-top:4rem;padding-top:2rem}.footer{background:var(--color-bg-primary);border-radius:12px;margin-top:4rem;padding:2.5rem 3.75rem;box-shadow:0 2px 8px #0000000d}.footer-container{max-width:100%;margin:0 auto}.footer-content{justify-content:space-between;align-items:center;display:flex}.footer-left{align-items:center;gap:20px;display:flex}.footer-logo-image{align-items:center;width:max-content;display:flex}.footer-logo{object-fit:contain;width:110px;height:auto}.footer-copyright{color:var(--color-text-tertiary);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center;letter-spacing:.05em;width:100%;font-size:11px}.footer-social-icons{gap:15px;margin-top:20px;display:flex}.footer-social-icon{background-color:var(--color-bg-secondary);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:all .3s;display:flex}.footer-social-icon:hover{background-color:var(--color-text-primary)}.footer-social-icon svg{width:20px;height:20px;fill:var(--color-text-primary);transition:fill .3s}.footer-social-icon:hover svg{fill:var(--color-bg-primary);stroke:var(--color-bg-primary)}.footer-right{align-items:flex-start;gap:50px;display:flex}.footer-nav-column h3{color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:15px;font-size:14px;font-weight:600;display:flex}.footer-nav-title{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-bottom:12px;font-size:11px;font-weight:600;display:flex}.footer-nav-icon{width:14px;height:14px;stroke:var(--color-text-primary)}.footer-nav-list{list-style:none}.footer-nav-list li{margin-bottom:var(--spacing-xs)}.footer-nav-list li a{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;text-decoration:none;transition:color .2s}.footer-nav-list li a:hover{color:var(--color-accent)}.footer-nav-list li a.active{color:var(--color-accent);font-weight:600}.footer-nav-title{transition:color .2s}.footer-nav-title:hover,.footer-nav-title.active{color:var(--color-accent)}@media (max-width:300px){.hamburger{display:flex}.nav-menu{background-color:var(--color-nav-bg);text-align:center;width:100%;box-shadow:0 10px 27px var(--color-shadow);flex-direction:column;gap:1rem;padding:1rem 0;transition:left .3s;position:fixed;top:40px;left:-100%}.nav-menu.active{left:0}.nav-menu li{width:100%}.nav-link{font-size:.875rem}.hero{border-radius:16px;padding:4rem 1.5rem}.hero-title{margin-bottom:1.25rem;font-size:3rem}.hero-subtitle{margin-bottom:2.5rem;font-size:1.125rem}.button{padding:.875rem 2rem;font-size:.95rem}.nav-container{padding:0 .5rem}.container{padding:1rem}.projects-grid,.blog-grid{grid-template-columns:1fr}.timeline{padding-left:1.5rem}.timeline-marker{left:-2.25rem}.blog-post-title{font-size:2rem}.footer{padding:2.5rem 1.5rem}.footer-content{flex-direction:column;align-items:flex-start;gap:40px}.footer-right{flex-direction:column;gap:30px;width:100%}.footer-container{padding:0}}.markdown-content{color:var(--color-text-primary);line-height:1.8}.markdown-content h1{color:var(--color-text-primary);margin:2rem 0 1rem;font-size:2.5rem;font-weight:700}.markdown-content h2{color:var(--color-text-primary);margin:1.75rem 0 .875rem;font-size:2rem;font-weight:600}.markdown-content h3{color:var(--color-text-primary);margin:1.5rem 0 .75rem;font-size:1.5rem;font-weight:600}.markdown-content h4{color:var(--color-text-primary);margin:1.25rem 0 .625rem;font-size:1.25rem;font-weight:600}.markdown-content p{color:var(--color-text-secondary);margin:1rem 0}.markdown-content ul,.markdown-content ol{color:var(--color-text-secondary);margin:1rem 0;padding-left:2rem}.markdown-content li{margin:.5rem 0}.markdown-content code{background:var(--color-bg-secondary);color:var(--color-accent);border-radius:4px;padding:.2rem .4rem;font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-content pre{background:var(--color-bg-secondary);border-radius:8px;margin:1.5rem 0;padding:1.5rem;overflow-x:auto}.markdown-content pre code{color:var(--color-text-primary);background:0 0;padding:0}.markdown-content blockquote{border-left:4px solid var(--color-accent);color:var(--color-text-secondary);margin:1.5rem 0;padding-left:1.5rem;font-style:italic}.markdown-content a{color:var(--color-accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .3s}.markdown-content a:hover{border-bottom-color:var(--color-accent)}.markdown-content img{border-radius:8px;max-width:100%;height:auto;margin:1.5rem 0}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.markdown-content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.markdown-content th,.markdown-content td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem}.markdown-content th{background:var(--color-bg-secondary);color:var(--color-text-primary);font-weight:600}.no-content{text-align:center;background:var(--color-bg-secondary);border-radius:8px;margin:2rem 0;padding:2rem}.text-muted{color:var(--color-text-tertiary);margin-top:.5rem;font-size:.9rem}.share-buttons{margin:var(--spacing-xl)0;padding:var(--spacing-md)0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:0 0;border-radius:0}.share-title{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.share-buttons-container{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.share-button{border:1px solid var(--color-text-primary);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.share-button:hover{background:var(--color-text-primary);color:var(--color-bg-primary)}.share-button svg{width:14px;height:14px}.share-facebook,.share-twitter,.share-linkedin{color:var(--color-text-primary);border-color:var(--color-text-primary);background:0 0}.share-facebook:hover,.share-twitter:hover,.share-linkedin:hover{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.share-copy{color:var(--color-text-primary);border-color:var(--color-text-primary);background:0 0}.share-copy:hover,.share-copy.copied{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:var(--color-text-primary)}.related-posts{border-top:2px solid var(--color-border);margin:4rem 0;padding-top:3rem}.related-posts-title{color:var(--color-text-primary);margin-bottom:2rem;font-size:2rem;font-weight:600}.related-posts-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.related-post-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;height:100%;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}.related-post-card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.related-post-header{justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.875rem;display:flex}.related-post-category{background:var(--color-accent-light);color:var(--color-accent);border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.related-post-read-time{color:var(--color-text-tertiary)}.related-post-title{color:var(--color-text-primary);margin-bottom:.75rem;font-size:1.25rem;font-weight:600;line-height:1.4}.related-post-excerpt{color:var(--color-text-secondary);flex-grow:1;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.related-post-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.related-post-meta{color:var(--color-text-tertiary);border-top:1px solid var(--color-border);align-items:center;gap:.5rem;padding-top:1rem;font-size:.85rem;display:flex}@media (max-width:768px){.share-buttons-container{flex-direction:column}.share-button{justify-content:center;width:100%}.related-posts-grid{grid-template-columns:1fr}}.catalog-controls{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:var(--spacing-xl)0 var(--spacing-lg);padding:var(--spacing-md)0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex}.filter-bar{gap:var(--spacing-sm);flex-wrap:wrap;flex:1;display:flex}.filter-select,.sort-select{padding:var(--spacing-xs)var(--spacing-md);border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-xs)center;padding-right:var(--spacing-lg);border-radius:0;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;transition:border-color .15s,background-color .15s}.filter-select:hover,.sort-select:hover{border-color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.filter-select:focus,.sort-select:focus{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-accent-light);outline:none}.sort-select{min-width:160px}.product-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.product-card{border:1px solid var(--color-border);background:var(--color-bg-primary);border-radius:0;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--color-text-primary);box-shadow:0 2px 8px var(--color-shadow)}.product-image{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);width:100%;padding-top:75%;position:relative;overflow:hidden}.product-placeholder{width:100%;height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.product-placeholder svg{opacity:.3}.product-info{padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.product-category{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:0;font-size:.65rem;font-weight:600}.product-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.product-brand{color:var(--color-text-secondary);font-size:.8rem;font-weight:400}.product-meta{align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.75rem;display:flex}.product-rating{color:var(--color-text-primary);align-items:center;gap:4px;font-weight:600;display:flex}.rating-star{color:var(--color-text-primary);font-size:.9rem}.product-downloads{color:var(--color-text-tertiary);letter-spacing:.02em;font-size:.7rem}.product-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.product-price{color:var(--color-text-primary);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.product-download-btn{padding:var(--spacing-xs)var(--spacing-md);border:1px solid var(--color-text-primary);background:var(--color-text-primary);color:var(--color-bg-primary);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:0;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}.product-download-btn:hover{background:var(--color-bg-primary);color:var(--color-text-primary);border-color:var(--color-text-primary)}.product-download-btn:active{transform:translateY(1px)}@media (max-width:1024px){.product-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.catalog-controls{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.filter-bar{gap:var(--spacing-xs);flex-direction:column}.filter-select,.sort-select{width:100%}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:480px){.product-grid{grid-template-columns:1fr}.product-info{padding:var(--spacing-sm)}}
