@charset "UTF-8";h1 .heading-link,h2 .heading-link,h3 .heading-link,h4 .heading-link,h5 .heading-link,h6 .heading-link{color:#000 !important;fill:#000 !important;text-shadow:none}h1 .heading-link:hover,h2 .heading-link:hover,h3 .heading-link:hover,h4 .heading-link:hover,h5 .heading-link:hover,h6 .heading-link:hover{color:#333 !important;fill:#333 !important;text-shadow:none}h1 .heading-link:focus,h2 .heading-link:focus,h3 .heading-link:focus,h4 .heading-link:focus,h5 .heading-link:focus,h6 .heading-link:focus{color:#000 !important;fill:#000 !important;outline:2px solid rgba(0,0,0,.5);outline-offset:2px}.colorscheme-dark h1 .heading-link,.colorscheme-dark h2 .heading-link,.colorscheme-dark h3 .heading-link,.colorscheme-dark h4 .heading-link,.colorscheme-dark h5 .heading-link,.colorscheme-dark h6 .heading-link,.colorscheme-auto h1 .heading-link,.colorscheme-auto h2 .heading-link,.colorscheme-auto h3 .heading-link,.colorscheme-auto h4 .heading-link,.colorscheme-auto h5 .heading-link,.colorscheme-auto h6 .heading-link{color:#fff !important;fill:#fff !important;text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 3px rgba(0,0,0,.6)}.colorscheme-dark h1 .heading-link:hover,.colorscheme-dark h2 .heading-link:hover,.colorscheme-dark h3 .heading-link:hover,.colorscheme-dark h4 .heading-link:hover,.colorscheme-dark h5 .heading-link:hover,.colorscheme-dark h6 .heading-link:hover,.colorscheme-auto h1 .heading-link:hover,.colorscheme-auto h2 .heading-link:hover,.colorscheme-auto h3 .heading-link:hover,.colorscheme-auto h4 .heading-link:hover,.colorscheme-auto h5 .heading-link:hover,.colorscheme-auto h6 .heading-link:hover{color:#fff !important;fill:#fff !important;text-shadow:1px 1px 3px rgba(0,0,0,.9),0 0 5px rgba(0,0,0,.7)}.colorscheme-dark h1 .heading-link:focus,.colorscheme-dark h2 .heading-link:focus,.colorscheme-dark h3 .heading-link:focus,.colorscheme-dark h4 .heading-link:focus,.colorscheme-dark h5 .heading-link:focus,.colorscheme-dark h6 .heading-link:focus,.colorscheme-auto h1 .heading-link:focus,.colorscheme-auto h2 .heading-link:focus,.colorscheme-auto h3 .heading-link:focus,.colorscheme-auto h4 .heading-link:focus,.colorscheme-auto h5 .heading-link:focus,.colorscheme-auto h6 .heading-link:focus{color:#fff !important;fill:#fff !important;outline:2px solid rgba(255,255,255,.5);outline-offset:2px}@media(prefers-color-scheme:light){.colorscheme-auto h1 .heading-link,.colorscheme-auto h2 .heading-link,.colorscheme-auto h3 .heading-link,.colorscheme-auto h4 .heading-link,.colorscheme-auto h5 .heading-link,.colorscheme-auto h6 .heading-link{color:#000 !important;fill:#000 !important;text-shadow:none}.colorscheme-auto h1 .heading-link:hover,.colorscheme-auto h2 .heading-link:hover,.colorscheme-auto h3 .heading-link:hover,.colorscheme-auto h4 .heading-link:hover,.colorscheme-auto h5 .heading-link:hover,.colorscheme-auto h6 .heading-link:hover{color:#333 !important;fill:#333 !important;text-shadow:none}.colorscheme-auto h1 .heading-link:focus,.colorscheme-auto h2 .heading-link:focus,.colorscheme-auto h3 .heading-link:focus,.colorscheme-auto h4 .heading-link:focus,.colorscheme-auto h5 .heading-link:focus,.colorscheme-auto h6 .heading-link:focus{color:#000 !important;fill:#000 !important;outline:2px solid rgba(0,0,0,.5);outline-offset:2px}}.navigation .container{display:flex;align-items:center;justify-content:space-between;min-height:6rem}.navigation .navigation-title{margin:0;flex-shrink:0;font-family:sf pro display,helvetica neue,segoe ui,arial,sans-serif;font-weight:700;font-size:3rem;letter-spacing:-.02em;text-transform:none;background:linear-gradient(135deg,#5d47ff 0%,#c169d7 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.navigation .navigation-list{float:none !important;display:flex;align-items:center;margin:0}.navigation .navigation-list .navigation-item{float:none !important;display:flex;align-items:center;white-space:nowrap}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{white-space:nowrap;margin-left:.8rem;margin-right:.8rem}@media only screen and (max-width:768px){.navigation .container{flex-direction:column;align-items:flex-start;padding:0 1rem;min-height:auto}.navigation .navigation-title{font-size:2rem !important;margin-bottom:.5rem}.navigation .navigation-list{width:100%;flex-wrap:wrap}.navigation .navigation-list .navigation-item{white-space:normal !important}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{white-space:normal !important;margin:.2rem .5rem}}.projects-gallery{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;margin:2rem 0}.projects-gallery .project-card{background:var(--background-secondary,#f8f9fa);border:1px solid var(--border-color,#e1e4e8);border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;position:relative;overflow:hidden}.projects-gallery .project-card:hover{transform:translateY(0);box-shadow:0 8px 25px rgba(0,0,0,.15);border-color:var(--accent,#007acc)}.projects-gallery .project-card.tall{min-height:500px}.projects-gallery .project-card.tall .project-image{height:200px;object-fit:cover}.projects-gallery .project-card.medium{min-height:400px}.projects-gallery .project-card.medium .project-image{height:150px;object-fit:cover}.projects-gallery .project-card.short{min-height:350px}.projects-gallery .project-card.short .project-image{height:120px;object-fit:cover}.projects-gallery .project-card.methodology-card{grid-column:span 2;min-height:300px;background:linear-gradient(135deg,var(--accent-alpha,rgba(0,122,204,5%)),transparent)}.projects-gallery .project-card.cta-card{grid-column:span 3;text-align:center;background:linear-gradient(135deg,var(--accent-alpha,rgba(0,122,204,.1)),transparent);min-height:250px;display:flex;align-items:center;justify-content:center}.projects-gallery .project-card .project-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.projects-gallery .project-card .project-header .project-title{margin:0 0 .5rem;color:var(--text-color,#333)}.projects-gallery .project-card .project-header .project-context{margin:.25rem 0;color:var(--text-color-secondary,#666)}.projects-gallery .project-card .project-image{width:100%;border-radius:8px;margin:1rem 0;transition:transform .3s ease}.projects-gallery .project-card .tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.projects-gallery .project-card .tech-stack .tech-stack-icons .tech-icon img{height:64px;filter:none;transition:filter .3s ease}.colorscheme-dark .projects-gallery .project-card,.colorscheme-auto .projects-gallery .project-card{background:var(--background-secondary,#1e1e1e);border-color:var(--border-color,#333)}.colorscheme-dark .projects-gallery .project-card .project-header .project-title,.colorscheme-auto .projects-gallery .project-card .project-header .project-title{color:var(--text-color,#fff)}.colorscheme-dark .projects-gallery .project-card .project-header .project-context,.colorscheme-auto .projects-gallery .project-card .project-header .project-context{color:var(--text-color-secondary,#ccc)}.colorscheme-dark .tech-stack-icons .tech-icon,.colorscheme-auto .tech-stack-icons .tech-icon{filter:brightness(.5)saturate(0)invert(1)}.colorscheme-dark .tech-stack-icons .tech-text,.colorscheme-auto .tech-stack-icons .tech-text{background:var(--background-secondary,#2a2a2a);color:#fff}a{color:#212121 !important}a:hover,a:focus{color:#424242 !important}.colorscheme-dark a,.colorscheme-auto a{color:#e0e0e0 !important}.colorscheme-dark a:hover,.colorscheme-dark a:focus,.colorscheme-auto a:hover,.colorscheme-auto a:focus{color:#bdbdbd !important}@media(prefers-color-scheme:light){.colorscheme-auto a{color:#212121 !important}.colorscheme-auto a:hover,.colorscheme-auto a:focus{color:#424242 !important}.colorscheme-auto .tech-stack-icons .tech-icon img{filter:none}.colorscheme-auto .tech-stack-icons .tech-text{background:var(--background-secondary,#f5f5f5);color:#000}}@media(prefers-color-scheme:dark){.colorscheme-auto a{color:#e0e0e0 !important}.colorscheme-auto a:hover,.colorscheme-auto a:focus{color:#bdbdbd !important}.colorscheme-auto .tech-stack-icons .tech-icon img{filter:brightness(0)invert(1)}.colorscheme-auto .tech-stack-icons .tech-text{background:var(--background-secondary,#2a2a2a);color:#fff}}@media only screen and (max-width:1024px){.projects-gallery{grid-template-columns:repeat(1,1fr)}.projects-gallery .project-card.methodology-card{grid-column:span 2}.projects-gallery .project-card.cta-card{grid-column:span 2}}@media only screen and (max-width:768px){.projects-gallery{grid-template-columns:1fr;gap:1rem}.projects-gallery .project-card{min-height:auto !important}.projects-gallery .project-card.methodology-card,.projects-gallery .project-card.cta-card{grid-column:span 1}.projects-gallery .project-card .project-image{height:auto !important;max-height:200px}}.blog-posts .blog-post-preview{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.blog-posts .blog-post-preview:last-child{border-bottom:none}.blog-posts .blog-post-preview h3{margin:0 0 .5rem}.blog-posts .blog-post-preview h3 a{color:var(--accent);text-decoration:none}.blog-posts .blog-post-preview h3 a:hover{text-decoration:underline}.blog-posts .blog-post-preview .post-meta{font-size:.9rem;color:var(--secondary-text);margin-bottom:.75rem}.blog-posts .blog-post-preview .post-meta .tags{margin-left:1rem}.blog-posts .blog-post-preview .post-meta .tags .tag{background:var(--accent);color:#fff;padding:.1rem .4rem;border-radius:3px;font-size:.8rem;margin-right:.3rem}.blog-posts .blog-post-preview p{margin:0 0 .5rem;line-height:1.6}.blog-posts .blog-post-preview .read-more{color:var(--accent);text-decoration:none;font-weight:500}.blog-posts .blog-post-preview .read-more:hover{text-decoration:underline}.post-meta{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.post-meta .post-date{color:var(--secondary-text);font-size:1.2rem}.post-meta .post-tags{margin-left:1rem}.post-meta .post-tags a{background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:3px;text-decoration:none;font-size:1.6rem;margin-right:.3rem}.post-meta .post-tags a:hover{opacity:.8}.post-description{font-style:italic;color:var(--secondary-text);margin-bottom:1rem}.post-navigation{display:flex;justify-content:space-between;margin:3rem 0 2rem;padding:1rem 0;border-top:1px solid var(--border-color)}.post-navigation .post-nav-item{flex:1}.post-navigation .post-nav-item:last-child{text-align:right}.post-navigation .post-nav-item .post-nav-link{color:var(--accent);text-decoration:none}.post-navigation .post-nav-item .post-nav-link:hover{text-decoration:underline}.back-to-blog{margin-top:2rem}.back-to-blog a{color:var(--accent);text-decoration:none}.back-to-blog a:hover{text-decoration:underline}.posts .post.on-list{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.posts .post.on-list:last-child{border-bottom:none}.posts .post.on-list .post-title{margin:0 0 .5rem}.posts .post.on-list .post-title a{color:var(--text-color);text-decoration:none}.posts .post.on-list .post-title a:hover{color:var(--accent)}.posts .post.on-list .post-content{margin-top:1rem}.posts .post.on-list .post-content .read-more{color:var(--accent);text-decoration:none;font-weight:500}.posts .post.on-list .post-content .read-more:hover{text-decoration:underline}.tech-stack-icons{display:flex;justify-content:space-around;flex-wrap:wrap;align-items:center}.tech-stack-icons .tech-icon{padding:4px;height:48px;display:flex;align-items:center;justify-content:center}.tech-stack-icons .tech-icon img{height:100%;max-width:40px;max-height:40px;object-fit:contain;filter:none;transition:filter .3s ease}.tech-stack-icons .tech-text{font-size:.8rem;padding:.3rem .6rem;background:var(--background-secondary,#f5f5f5);border-radius:6px;color:var(--text-color,#000);margin:20px;text-align:center;min-width:60px}.download-button-wrapper{text-align:center;margin:2rem 0}.download-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff !important;text-decoration:none !important;border-radius:50px;font-weight:600;font-size:2rem;transition:all .3s ease;box-shadow:0 4px 15px rgba(102,126,234,.4);position:relative;overflow:hidden}.download-button:active{transform:translateY(0)}.download-button .download-icon{font-size:1.3rem}.download-button .download-text{white-space:nowrap}.content article p{text-align:unset}.post-simple{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid #e1e5e9}.post-simple .post-date{flex-shrink:0;width:100px;font-size:.9rem;color:#666}.post-simple .post-title{flex:1;margin-left:1.5rem}.post-simple .post-title a{text-decoration:none;font-weight:500;color:inherit}.post-simple .post-title a:hover{color:#0366d6}.post-simple:last-child{border-bottom:none}.colorscheme-dark .post-simple,.colorscheme-auto .post-simple{border-bottom-color:#444}.colorscheme-dark .post-simple .post-date,.colorscheme-auto .post-simple .post-date{color:#999}.colorscheme-dark .post-simple .post-title a:hover,.colorscheme-auto .post-simple .post-title a:hover{color:#58a6ff}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:1.5rem;margin:2rem 0;padding:1rem 0}.stats-grid .stat-card{background:var(--background-secondary,#f8f9fa);border:2px solid var(--border-color,#e1e4e8);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.1);position:relative;overflow:hidden}.stats-grid .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stats-grid .stat-card .stat-number{font-size:3rem;font-weight:800;color:var(--accent,#667eea);margin-bottom:.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stats-grid .stat-card .stat-label{font-size:2rem;color:var(--text-color-secondary,#666);font-weight:500;line-height:1.4}.colorscheme-dark .stats-grid .stat-card,.colorscheme-auto .stats-grid .stat-card{background:var(--background-secondary,#1e1e1e);border-color:var(--border-color,#333)}.colorscheme-dark .stats-grid .stat-card .stat-label,.colorscheme-auto .stats-grid .stat-card .stat-label{color:var(--text-color-secondary,#ccc)}@media only screen and (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stats-grid .stat-card{padding:1.5rem 1rem}.stats-grid .stat-card .stat-number{font-size:2.5rem}.stats-grid .stat-card .stat-label{font-size:.9rem}}@media only screen and (max-width:480px){.stats-grid{grid-template-columns:1fr}.stats-grid .stat-card .stat-number{font-size:2rem}}.page-layout{position:relative;width:100%}.main-content{width:100%}.toc-sidebar{position:fixed;right:calc((100vw - 90rem)/2 - 280px);top:14rem;width:260px;max-height:calc(100vh - 8rem);overflow-y:auto;z-index:10}.toc-sidebar .toc-sticky{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-radius:8px;padding:1rem;box-shadow:0 2px 10px rgba(0,0,0,.1)}.toc-sidebar .toc-header{margin-bottom:1rem}.toc-sidebar .toc-header h3{margin:0;font-size:1.4rem;font-weight:400;color:inherit}.toc-sidebar .toc-content #TableOfContents{margin:0}.toc-sidebar .toc-content #TableOfContents>ul{margin:0;padding:0;list-style:none}.toc-sidebar .toc-content #TableOfContents>ul>li{margin:.5rem 0}.toc-sidebar .toc-content #TableOfContents>ul>li>a{display:block;padding:.25rem 0;color:inherit;text-decoration:none;font-size:1.8rem;line-height:1.5}.toc-sidebar .toc-content #TableOfContents>ul>li>a:hover{text-decoration:underline}.toc-sidebar .toc-content #TableOfContents>ul>li ul{margin:.25rem 0;padding:0;list-style:none;margin-left:1rem}.toc-sidebar .toc-content #TableOfContents>ul>li ul li{margin:.25rem 0}.toc-sidebar .toc-content #TableOfContents>ul>li ul li a{display:block;padding:.25rem 0;color:#666;text-decoration:none;font-size:1.5rem;line-height:1.4}.toc-sidebar .toc-content #TableOfContents>ul>li ul li a:hover{text-decoration:underline}.toc-sidebar .toc-content #TableOfContents>ul>li ul li ul{margin-left:1rem}.toc-sidebar .toc-content #TableOfContents>ul>li ul li ul li a{font-size:.85rem;color:#888}@media(max-width:1280px){.toc-sidebar{display:none}}@media(max-width:768px){.toc-sidebar{display:none !important}}@media(prefers-color-scheme:dark){.toc-sidebar .toc-sticky{background:0 0}}.dark .toc-sidebar .toc-sticky{background:0 0}html{scroll-behavior:smooth}.client-logos-bigger .tech-icon{height:80px}.differentiator-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0;padding:1rem 0}.differentiator-cards .differentiator-card{background:var(--background-secondary,#f8f9fa);border:2px solid var(--border-color,#e1e4e8);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.1);position:relative;overflow:hidden}.differentiator-cards .differentiator-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.differentiator-cards .differentiator-card .card-icon{width:60px;height:60px;margin:1rem auto;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.differentiator-cards .differentiator-card .card-title{font-weight:700;color:var(--accent,#667eea);margin-bottom:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3}.differentiator-cards .differentiator-card .card-content{color:var(--text-color-secondary,#666);line-height:1.5;text-align:left}.differentiator-cards .differentiator-card .card-content p{margin-bottom:.8rem}.differentiator-cards .differentiator-card .card-content ul{list-style:none;padding:0;margin:0}.differentiator-cards .differentiator-card .card-content ul li{margin-bottom:.5rem;position:relative;padding-left:1rem}.differentiator-cards .differentiator-card .card-content ul li:before{content:"•";position:absolute;left:0;color:#667eea}.differentiator-cards .differentiator-card .card-content ul li strong{color:var(--text-color,#333)}.colorscheme-dark .differentiator-cards .differentiator-card,.colorscheme-auto .differentiator-cards .differentiator-card{background:var(--background-secondary,#1e1e1e);border-color:var(--border-color,#333)}.colorscheme-dark .differentiator-cards .differentiator-card .card-icon img,.colorscheme-auto .differentiator-cards .differentiator-card .card-icon img{filter:invert(1)}.colorscheme-dark .differentiator-cards .differentiator-card .card-content,.colorscheme-auto .differentiator-cards .differentiator-card .card-content{color:var(--text-color-secondary,#ccc)}.colorscheme-dark .differentiator-cards .differentiator-card .card-content strong,.colorscheme-auto .differentiator-cards .differentiator-card .card-content strong{color:var(--text-color,#fff)}@media only screen and (max-width:768px){.differentiator-cards{grid-template-columns:1fr;gap:1rem}.differentiator-cards .differentiator-card{padding:1.5rem 1rem}.differentiator-cards .differentiator-card .card-icon{width:50px;height:50px;font-size:1.2rem}.differentiator-cards .differentiator-card .card-title{font-size:1.1rem}}@media only screen and (max-width:768px){html,body{overflow-x:hidden;max-width:100vw}*{max-width:100%;box-sizing:border-box}.container{max-width:100% !important;padding-left:1rem !important;padding-right:1rem !important}.wrapper{max-width:100vw;overflow-x:hidden}}@media only screen and (max-width:768px){.navigation .container{position:relative}.navigation .menu-button{position:absolute !important;top:50%;right:1rem;transform:translateY(-50%);z-index:1000}.navigation .menu-button i{font-size:2.4rem}.navigation .navigation-list{position:fixed !important;top:0 !important;left:0 !important;width:100vw !important;height:100vh !important;background-color:#fafafa !important;z-index:999 !important;display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;padding:2rem !important;border:none !important}.navigation .navigation-list .navigation-item{margin:1.5rem 0 !important}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{font-size:3rem !important;font-weight:700 !important;line-height:1.2 !important;margin:0 !important;padding:1rem !important;display:block !important;text-align:center !important;transition:all .3s ease !important;color:inherit !important}.navigation .navigation-list .navigation-item a:hover,.navigation .navigation-list .navigation-item span:hover{color:var(--link-color,#007acc) !important;transform:scale(1.1) !important}.navigation .navigation-list .menu-separator{border-top:2px solid !important;margin:2rem 4rem !important;width:80% !important}.navigation .navigation-list .menu-separator span{display:none !important}.navigation #menu-toggle:checked+.menu-button{position:absolute !important;top:50% !important;right:1rem !important;transform:translateY(-50%) !important;z-index:1001 !important;background:rgba(0,0,0,.1) !important;border-radius:50% !important;width:5rem !important;height:5rem !important;display:flex !important;align-items:center !important;justify-content:center !important}.navigation #menu-toggle:checked+.menu-button i{transition:none !important}}@media only screen and (max-width:768px){.colorscheme-dark .navigation .navigation-list,.colorscheme-auto .navigation .navigation-list{background-color:#212121 !important}}