@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light;transition:background-color .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1)}html.dark{color-scheme:dark}body{background-color:#f8fafd;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1)}html.dark body{background-color:#050f1b}#root{min-height:100vh}a,button,[role=button],input[type=checkbox],input[type=radio],select{cursor:pointer!important;-webkit-user-select:none;user-select:none;pointer-events:auto!important}a{cursor:pointer!important;pointer-events:auto!important}button:hover,a:hover,[role=button]:hover{cursor:pointer!important}[onclick],.clickable{cursor:pointer!important;pointer-events:auto!important}body{cursor:auto!important}html.dark{background-color:#050f1b;color:#f0f0f0}html.dark body{color:#f0f0f0;background-color:#050f1b}html.dark #root{background-color:#050f1b;color:#f0f0f0}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6{color:#fff}html.dark p,html.dark span,html.dark li,html.dark div{color:#e0e0e0}html.dark a{color:#60a5fa}html.dark a:hover{color:#93c5fd}html.dark button{background-color:transparent;color:#fff;border-color:transparent}html.dark button:hover{background-color:transparent}html.dark .bg-gray-100{background-color:#1f2937!important}html.dark .bg-gray-900{background-color:#111827!important}html.dark .text-gray-900{color:#fff!important}html.dark .text-gray-700,html.dark .text-gray-600{color:#d1d5db!important}html.dark .text-gray-500{color:#9ca3af!important}html.dark .text-blue-600{color:#60a5fa!important}html.dark .group:hover .group-hover\:text-blue-600{color:#60a5fa!important}html.dark img{opacity:.9}html.dark .bg-gray-100{background-color:#1f2937!important;color:#e5e7eb!important}html.dark .bg-gray-900{background-color:#0f172a!important;color:#fff!important}html.dark .text-gray-700{color:#d1d5db!important}html.dark .hover\:bg-gray-200:hover{background-color:#374151!important}html.dark .bg-gray-50{background-color:#1f2937!important;border-color:#374151!important}html.dark .border-gray-200{border-color:#374151!important}html.dark .hover\:border-gray-400:hover{border-color:#4b5563!important}.theme-toggle-container{position:fixed;top:1.5rem;right:1.5rem;z-index:50}.theme-toggle-wrapper{position:relative;display:inline-block}.theme-toggle-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background-color:#f3f4f6;color:#111827;border:none;transition:background-color .2s ease,color .2s ease;cursor:pointer}.theme-toggle-button:hover{background-color:#e5e7eb}html.dark .theme-toggle-button{background-color:#1f2937;color:#f0f0f0}html.dark .theme-toggle-button:hover{background-color:#374151}.theme-toggle-tooltip{position:absolute;bottom:-2.5rem;left:50%;transform:translate(-50%);background-color:#111827;color:#f0f0f0;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;animation:fadeIn .2s ease}html.dark .theme-toggle-tooltip{background-color:#f0f0f0;color:#111827}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUnderline{0%{width:0;left:0}to{width:100%;left:0}}a{position:relative;text-decoration:none;display:inline-block;cursor:pointer!important}button{position:relative;cursor:pointer!important}span.link-text{position:relative;display:inline-flex;align-items:center;gap:.25rem}a:after{display:none}a.link-text:after,button.link-text:after,span.link-text:after,.inline-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:currentColor;transition:width .3s ease;display:block}a.link-text:hover:after,button.link-text:hover:after,span.link-text:hover:after,.inline-link:hover:after{width:100%}.case-study-link h3:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:currentColor;transition:width .3s ease;display:block}.case-study-link h3:hover:after{width:100%}.case-study-link h3{position:relative;display:inline-block}.blog-post-link h3:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:currentColor;transition:width .3s ease;display:block}.blog-post-link h3:hover:after{width:100%}.blog-post-link h3{position:relative;display:inline-block}.blog-post-link:after{display:none!important}.dev-tile:after{display:none!important}.tech-pill{display:inline-block;padding:.5rem .75rem;background-color:#e5e7eb;color:#111827;font-size:.875rem;border-radius:9999px;font-weight:500}html.dark .tech-pill{background-color:#374151;color:#e5e7eb}.bg-yellow-50{background-color:#fffbf0!important}.bg-yellow-50 p,.bg-yellow-50 span{color:#854d0e!important}.bg-emerald-50{background-color:#ecfdf5!important}.bg-emerald-50 p,.bg-emerald-50 span{color:#065f46!important}.bg-blue-50{background-color:#eff6ff!important}.bg-blue-50 p,.bg-blue-50 span{color:#0c2d6b!important}html.dark .bg-yellow-50{background-color:#3a3a2e!important}html.dark .bg-yellow-50.border-l-4,html.dark .border-yellow-500{border-left-color:#f59e0b!important}html.dark .bg-yellow-50 p,html.dark .bg-yellow-50 span,html.dark .bg-yellow-50 ul,html.dark .bg-yellow-50 li,html.dark .bg-yellow-50 .text-gray-900,html.dark .bg-yellow-50 .text-gray-700{color:#fbbf24!important}html.dark .bg-emerald-50{background-color:#2d3a2e!important}html.dark .bg-emerald-50.border-l-4,html.dark .border-emerald-500{border-left-color:#10b981!important}html.dark .bg-emerald-50 p,html.dark .bg-emerald-50 span,html.dark .bg-emerald-50 ul,html.dark .bg-emerald-50 li,html.dark .bg-emerald-50 .text-gray-900,html.dark .bg-emerald-50 .text-gray-700{color:#86efac!important}html.dark .bg-blue-50{background-color:#2d3a3a!important}html.dark .bg-blue-50.border-l-4,html.dark .border-blue-500{border-left-color:#3b82f6!important}html.dark .bg-blue-50 p,html.dark .bg-blue-50 span,html.dark .bg-blue-50 ul,html.dark .bg-blue-50 li,html.dark .bg-blue-50 .text-gray-900,html.dark .bg-blue-50 .text-gray-700{color:#93c5fd!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes liftOnHover{0%{transform:translateY(0);box-shadow:0 4px 6px -1px #0000000d}to{transform:translateY(-8px);box-shadow:0 20px 12px -8px #00000026}}.case-study-link,.blog-post-link,.dev-tile{animation:fadeInUp .6s ease-out forwards;opacity:0}.case-study-link:nth-child(1){animation-delay:0ms}.case-study-link:nth-child(2){animation-delay:.1s}.case-study-link:nth-child(3){animation-delay:.2s}.blog-post-link:nth-child(1){animation-delay:0ms}.blog-post-link:nth-child(2){animation-delay:.1s}.blog-post-link:nth-child(3){animation-delay:.2s}.blog-post-link:nth-child(4){animation-delay:.3s}.blog-post-link:nth-child(5){animation-delay:.4s}.dev-tile:nth-child(1){animation-delay:0ms}.dev-tile:nth-child(2){animation-delay:.1s}.dev-tile:nth-child(3){animation-delay:.2s}.dev-tile:nth-child(4){animation-delay:.3s}.case-study-link:hover,.dev-tile:hover{transform:translateY(-8px);transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 20px 12px -8px #00000026}html.dark .case-study-link:hover,html.dark .dev-tile:hover{box-shadow:0 20px 12px -8px #00000059}.image-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;animation:zoomIn .3s ease}.image-modal-image{max-width:100%;max-height:100%;border-radius:.5rem;object-fit:contain}.image-modal-close{position:fixed;top:1.5rem;right:1.5rem;background-color:#ffffffe6;color:#111827;border:none;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;z-index:1001}.image-modal-close:hover{background-color:#fff}html.dark .image-modal-close{background-color:#1e293be6;color:#f0f0f0}html.dark .image-modal-close:hover{background-color:#1e293b}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.bg-yellow-50 p{color:#374151!important}.bg-yellow-50 span{color:#111827!important}.bg-emerald-50 p,.bg-emerald-50 ul,.bg-emerald-50 li,.bg-emerald-50 span,.bg-blue-50 p,.bg-blue-50 ul,.bg-blue-50 li,.bg-blue-50 span{color:#374151!important}
