:root{--ink:#0D183F;--mist:#E0DEDE;--glass:rgba(255,255,255,0.55);--glass-hover:rgba(255,255,255,0.75);--border-glass:rgba(255,255,255,0.4);--glow-blue:rgba(0,102,255,0.4);--glow-amber:rgba(0,102,255,0.35);--glow-violet:rgba(0,51,204,0.35);--primary-black:#0D183F;--accent-blue:#0066FF;--accent-teal:#33CCCC;--accent-deep:#0033CC;--accent-periwinkle:#809FFF;--tint-blue:#5599FF;--tint-blue-light:#66BBFF;--tint-teal:#66DDDD;--tint-periwinkle:#99B3FF}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}[id$=-section]{scroll-margin-top:4.5rem}@media (min-width:768px){[id$=-section]{scroll-margin-top:5rem}}body{font-family:var(--font-open-sans),"Open Sans",system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;background-image:url(/assets/background.webp);background-size:cover;background-position:50%;background-attachment:fixed}@supports (-webkit-touch-callout:none){body{background-attachment:scroll;background-size:cover}}.site-wrapper{min-height:100vh;min-height:100dvh;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-ubuntu),"Ubuntu",sans-serif}.font-ubuntu{font-family:var(--font-ubuntu),"Ubuntu",sans-serif!important}.bg-aurora{background:radial-gradient(60% 60% at 10% 10%,rgba(255,255,255,.9) 0,rgba(255,255,255,0) 60%),radial-gradient(40% 50% at 90% 0,rgba(0,102,255,.35) 0,rgba(255,255,255,0) 60%),radial-gradient(50% 50% at 80% 80%,rgba(96,165,250,.22) 0,rgba(255,255,255,0) 60%);animation:auroraMove 24s ease-in-out infinite alternate;will-change:filter}.bg-mesh{background-image:linear-gradient(120deg,rgba(15,15,15,.04),rgba(255,255,255,.01)),radial-gradient(circle at 20% 20%,rgba(0,102,255,.25),transparent 45%),radial-gradient(circle at 80% 30%,rgba(0,51,204,.2),transparent 45%),radial-gradient(circle at 80% 80%,rgba(0,102,255,.16),transparent 40%);animation:meshShift 30s ease-in-out infinite;will-change:background-position}.grain:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");opacity:.4;mix-blend-mode:overlay;pointer-events:none}@keyframes auroraMove{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(18deg)}}@keyframes meshShift{0%{background-position:0 0,10% 10%,80% 20%,80% 80%}to{background-position:20% 10%,30% 20%,70% 30%,60% 70%}}@media (prefers-reduced-motion:reduce){.bg-aurora,.bg-mesh{animation:none}}.glass{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.1),0 40px 80px -30px rgba(50,50,93,.1),0 20px 40px -20px rgba(0,0,0,.05)}.panel-dark{background:linear-gradient(160deg,rgba(30,42,70,.72),rgba(22,34,60,.58) 55%,rgba(18,28,52,.45));border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 26px 60px -28px rgba(0,0,0,.45),0 0 24px rgba(0,102,255,.15)}.panel-dark:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9}.panel-dark:hover{background:linear-gradient(160deg,rgba(34,48,80,.78),rgba(24,36,62,.75) 55%,rgba(20,30,54,.68));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 34px 80px -34px rgba(0,0,0,.52),0 0 40px rgba(0,102,255,.35);border-color:rgba(0,102,255,.5)}.glass-card{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(30,48,82,.78),rgba(22,36,62,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 20px 50px -28px rgba(0,0,0,.3),0 0 20px rgba(0,102,255,.06);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}.glass-card:before{inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;z-index:1}.glass-card:after,.glass-card:before{content:"";position:absolute;pointer-events:none}.glass-card:after{top:-32%;right:-30%;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,rgba(0,102,255,.12),transparent 65%);z-index:0}.glass-card:hover{transform:translateY(-4px) scale(1.01);background:linear-gradient(180deg,rgba(36,56,92,.82),rgba(26,42,70,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 24px 50px -28px rgba(0,0,0,.35),0 0 30px rgba(0,102,255,.12);border-color:rgba(255,255,255,.3)}.footer-shell{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(20,32,56,.72),rgba(12,20,38,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 26px 60px -28px rgba(0,0,0,.55),0 0 24px rgba(0,102,255,.1)}.footer-shell:before{inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;z-index:1}.footer-shell:after,.footer-shell:before{content:"";position:absolute;pointer-events:none}.footer-shell:after{top:-34%;right:-20%;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(0,102,255,.22),transparent 65%);z-index:0}.mobile-menu-shell{min-height:calc(100dvh - 1.75rem);background:linear-gradient(180deg,rgba(20,32,56,.54),rgba(12,20,38,.68));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 26px 60px -28px rgba(0,0,0,.55),0 0 24px rgba(0,102,255,.1);-webkit-overflow-scrolling:touch}.mobile-menu-shell:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.9;z-index:1}.glass-card-icon{position:relative;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 28px -18px rgba(0,0,0,.5),0 0 22px rgba(51,204,204,.35),inset 0 1px 0 rgba(255,255,255,.35)}.glass-card-icon svg{display:block;width:1.5rem;height:1.5rem;stroke-width:1.75;color:#ffffff}.glass-card h3{letter-spacing:-.02em;color:#FFFFFF}.glass-card p{font-size:.75rem;letter-spacing:.02em;color:rgba(255,255,255,.85);opacity:1}.glass-card p.card-desc{color:rgba(255,255,255,.92);font-size:.875rem}.glass-card p.office-address{color:rgba(255,255,255,.9);text-decoration:none}.glass-card li{color:rgba(248,250,252,.9)}.glass-card li svg{color:#33CCCC}.tech-step svg{color:#ffffff}.glass-card ul{border-top:1px solid rgba(255,255,255,.08);padding-top:.9rem}.card-stack-item{position:absolute;inset:0;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .5s ease,z-index 0s;will-change:transform,opacity}#tech-selector-region,#tech-stack-region{overscroll-behavior:contain}#tech-stack-region{position:relative;isolation:isolate}.btn-card-tone{background:linear-gradient(180deg,rgba(30,48,82,.78),rgba(22,36,62,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 14px 36px -18px rgba(15,23,42,.7),0 0 22px rgba(0,102,255,.18);color:#FFFFFF;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease}.btn-card-tone:hover{background:linear-gradient(180deg,rgba(36,56,92,.82),rgba(26,42,70,.86));border-color:rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 20px 40px -20px rgba(15,23,42,.72),0 0 28px rgba(0,102,255,.25)}.use-case-card{display:flex;flex-direction:column;gap:1.5rem}.glass-card.use-case-card.is-open{border-color:rgba(0,102,255,.55);background:linear-gradient(180deg,rgba(24,42,72,.68),rgba(14,26,52,.76));transform:translateY(-6px) scale(1.015);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 30px 70px -20px rgba(0,0,0,.6),0 0 80px rgba(0,102,255,.2),0 0 0 1px rgba(0,102,255,.3)}.use-cases-toolbar{position:relative;overflow:hidden;isolation:isolate}.use-cases-toolbar:after{content:"";position:absolute;inset:auto -10% -65% auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(0,102,255,.18),transparent 68%);pointer-events:none;z-index:0}.use-case-filter-field{position:relative;z-index:1;display:flex;flex-direction:column;gap:.6rem}.use-case-filter-label{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(71,85,105,.85)}.use-case-filter-control{width:100%;min-height:3.3rem;border:1px solid rgba(148,163,184,.24);border-radius:1rem;background:rgba(255,255,255,.7);padding:.95rem 1rem;color:#0D183F;font-size:.98rem;line-height:1.4;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px -24px rgba(15,23,42,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.use-case-filter-control::-moz-placeholder{color:rgba(71,85,105,.72)}.use-case-filter-control::placeholder{color:rgba(71,85,105,.72)}.use-case-filter-control:focus{border-color:rgba(0,102,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 0 4px rgba(0,102,255,.14),0 14px 30px -24px rgba(15,23,42,.35);outline:none}.use-case-filter-control[type=search]::-webkit-search-cancel-button{cursor:pointer}.use-case-results-meta{position:relative;z-index:1;color:rgba(51,65,85,.84);font-size:.92rem;font-weight:600;letter-spacing:.02em}.use-case-clear-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:linear-gradient(180deg,rgba(30,48,82,.78),rgba(22,36,62,.82));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:.8rem 1.1rem;color:#FFFFFF;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 14px 36px -18px rgba(15,23,42,.7),0 0 22px rgba(0,102,255,.18);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease,opacity .25s ease}.use-case-clear-button:hover:not(:disabled){background:linear-gradient(180deg,rgba(36,56,92,.82),rgba(26,42,70,.86));border-color:rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 20px 40px -20px rgba(15,23,42,.72),0 0 28px rgba(0,102,255,.25);transform:translateY(-1px)}.use-case-clear-button:disabled{opacity:.45;cursor:not-allowed}.use-case-head{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.use-case-badge{display:inline-flex;border-radius:999px;border:1px solid rgba(125,211,252,.26);background:rgba(14,165,233,.12);padding:.4rem .8rem;font-size:.7rem;font-weight:700;letter-spacing:.18em;color:#33CCCC}.use-case-badge,.use-case-meta{align-items:center;text-transform:uppercase}.use-case-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:rgba(226,232,240,.72);font-size:.72rem;font-weight:600;letter-spacing:.16em}.use-case-meta-separator{width:.3rem;height:.3rem;border-radius:999px;background:rgba(125,211,252,.7);flex:0 0 auto}.use-case-index{position:relative;z-index:2;font-family:var(--font-ubuntu),"Ubuntu",sans-serif;font-size:1.8rem;line-height:1;font-weight:600;letter-spacing:-.04em;color:rgba(191,219,254,.72)}.glass-card p.use-case-summary,.use-case-copy{color:rgba(241,245,249,.9);font-size:.98rem;line-height:1.72;letter-spacing:0}.use-case-section{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}.use-case-section-label{margin-bottom:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#33CCCC}.use-case-toggle{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;border:1px solid rgba(191,219,254,.16);border-radius:999px;background:rgba(15,23,42,.28);padding:.85rem 1rem;color:#FFFFFF;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:auto;transition:border-color .25s ease,background .25s ease,transform .25s ease}.use-case-toggle:hover{border-color:rgba(147,197,253,.34);background:rgba(30,41,59,.42);transform:translateY(-1px)}.use-case-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:rgba(0,102,255,.12);color:#FFFFFF;transition:transform .25s ease,background .25s ease;flex:0 0 auto}.use-case-details{position:relative;z-index:2;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .25s ease}.use-case-details-inner{min-height:0;overflow:hidden}.use-case-card.is-open .use-case-toggle-icon{transform:rotate(180deg);background:rgba(0,102,255,.2)}.use-case-card.is-open .use-case-details{grid-template-rows:1fr;opacity:1}.use-case-tag{list-style:none;border-radius:999px;border:1px solid rgba(191,219,254,.18);background:rgba(148,163,184,.08);padding:.45rem .8rem;color:rgba(226,232,240,.86);font-size:.72rem;font-weight:600;letter-spacing:.04em}.text-outline{-webkit-text-stroke:1px rgba(15,15,15,.1);color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(180deg,rgba(15,15,15,.8),rgba(15,15,15,.1))}.glow-ring{box-shadow:0 0 0 1px rgba(15,15,15,.06),0 12px 40px rgba(0,102,255,.16),0 0 60px rgba(0,102,255,.16)}.shine{position:relative;overflow:hidden}.shine:after{content:"";position:absolute;top:-40%;left:-30%;width:60%;height:180%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.6),transparent);transform:rotate(12deg);transition:transform .6s ease,left .6s ease;opacity:0}.shine:hover:after{left:120%;opacity:1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(15,15,15,.2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(15,15,15,.3)}.site-wrapper{position:relative;background:rgba(207,221,234,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);width:90%;max-width:1400px;min-height:90vh;min-height:90dvh;margin:.75rem auto 2rem;border-radius:2rem;overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.1),0 40px 80px -30px rgba(50,50,93,.1),0 20px 40px -20px rgba(0,0,0,.05)}@media (max-width:639px){.site-wrapper{width:100%;margin:0 auto;border-radius:0;border-left:none;border-right:none;min-height:100vh;min-height:100dvh}}@media (min-width:640px) and (max-width:1023px){.site-wrapper{width:95%;margin:.5rem auto 1.5rem;border-radius:1.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bg-aurora,.bg-mesh,.shine:after{animation:none}}@media (max-width:767px){body{background-attachment:scroll}a,button{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px!important}}.nav-link{position:relative}.nav-link:after{content:"";position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:var(--ink);transition:width .3s ease}.nav-link:hover:after{width:100%}a[href]:focus-visible,button:focus-visible{outline:2px solid rgba(0,102,255,.95);outline-offset:3px;border-radius:.75rem}.meteor{left:50%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(0,102,255,.15) 50%,rgba(255,255,255,.4));opacity:0;transform:rotate(var(--meteor-angle,215deg));animation:meteor-fall linear infinite;filter:drop-shadow(0 0 2px rgba(0,102,255,.3))}.meteor,.meteor:after{position:absolute;top:50%}.meteor:after{content:"";transform:translateY(-50%);right:0;height:2px;width:2px;background:rgba(255,255,255,.6);border-radius:50%;box-shadow:0 0 4px 1px rgba(0,102,255,.3)}@keyframes meteor-fall{0%{opacity:0;transform:rotate(var(--meteor-angle,215deg)) translateX(0)}10%{opacity:1}to{opacity:0;transform:rotate(var(--meteor-angle,215deg)) translateX(-150vh)}}.meteor-shower-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.service-card h3.service-toggle{margin-top:.5rem;margin-bottom:.75rem}.service-card .service-toggle-button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left}.service-card .service-toggle-button:focus-visible{outline:2px solid rgba(147,197,253,.95);outline-offset:4px;border-radius:.75rem}@media (max-width:767px){.service-card .service-toggle-button{font-size:.95rem;line-height:1.25rem;gap:.5rem}.service-card .service-toggle-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-card .card-label{display:none}.service-card .card-desc{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .25s ease,opacity .25s ease,margin-top .25s ease}.service-card.is-open .card-label{display:inline-block}.service-card.is-open .card-desc{max-height:600px;opacity:1;margin-top:.75rem}.service-card .service-toggle-icon{transform:rotate(0deg)}.service-card.is-open .service-toggle-icon{transform:rotate(180deg)}}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bg-aurora,.bg-mesh{animation:none!important}.glass-card:hover{transform:none}.card-stack-item{transition:opacity .2s ease!important}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}@keyframes timeline-progress{0%{width:0}to{width:100%}}