:root{--sw-primary:#dfb7ff;--sw-primary-container:#7b4da3;--sw-on-primary-container:#eed5ff;--sw-secondary:#d8baff;--sw-tertiary:#a5c8ff;--sw-tertiary-intermediary:#5e96ff;--sw-tertiary-container:#2e96ff;--sw-on-secondary-container:#caa4ff;--sw-surface:#131317;--sw-surface-container-lowest:#0e0e12;--sw-surface-container-low:#1b1b1f;--sw-surface-container:#1f1f23;--sw-surface-container-high:#2a292e;--sw-surface-container-highest:#353439;--sw-on-surface:#e4e1e7;--sw-on-surface-variant:#cec3d1;--sw-outline:#978d9b;--sw-outline-variant:#4c4450;--sw-background:#131317;--bs-btn-hover-bg:#2e96ff;--bs-btn-hover-border-color:#2e96ff}[data-theme=light]{--sw-primary:#6a00bc;--sw-primary-container:#eed5ff;--sw-on-primary-container:#23005a;--sw-secondary:#5c00c5;--sw-tertiary:#0062a1;--sw-tertiary-intermediary:#0068c4;--sw-tertiary-container:#006db5;--sw-on-secondary-container:#3a005e;--sw-surface:#fdfcff;--sw-surface-container-lowest:#fff;--sw-surface-container-low:#f5f3f9;--sw-surface-container:#eeecf2;--sw-surface-container-high:#e8e6ec;--sw-surface-container-highest:#e2e0e6;--sw-on-surface:#1c1a21;--sw-on-surface-variant:#49454e;--sw-outline:#7a7580;--sw-outline-variant:#cbc4cf;--sw-background:#fdfcff;--bs-btn-hover-bg:#0068c4;--bs-btn-hover-border-color:#0068c4}body{background-color:var(--sw-background);color:var(--sw-on-surface);font-family:Inter,sans-serif;transition:background-color .3s ease,color .3s ease}.brand-sw{letter-spacing:-.03em}.brand-sw img{height:3.2rem;width:auto}::selection{background-color:var(--sw-primary-container);color:var(--sw-on-primary-container)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;user-select:none}.font-headline{font-family:Plus Jakarta Sans,Manrope,sans-serif}.font-label{font-family:Space Grotesk,sans-serif}.h1-hero{font-size:clamp(2.5rem,6vw,4.5rem)}.h1-hero,.h2-display{letter-spacing:-.03em;line-height:1.1}.h2-display{font-size:clamp(2rem,5vw,3.5rem)}.h2-section{font-size:2.25rem;letter-spacing:-.03em}.h2-medium{font-size:1.75rem;letter-spacing:-.02em}.h3-feature{font-size:1.4rem}.h3-card{font-size:.95rem;line-height:1.4}.h3-case-lg{font-size:1.75rem}.h4-item{font-size:1.1rem}.h4-approach{font-size:1rem}.text-lead{font-size:1.25rem;line-height:1.7;max-width:45rem}.text-body-lg{font-size:1.1rem}.text-body-lg,.text-body-relaxed{line-height:1.7}.text-sm,.text-sm-relaxed{font-size:.875rem}.text-sm-relaxed{line-height:1.6}.text-eyebrow{font-size:.7rem;letter-spacing:.15em}.label-sm{font-size:.8rem;letter-spacing:-.02em}.label-tag,.label-tag-wide{font-size:.625rem}.label-tag-wide,.label-wide{letter-spacing:.1em}.label-wide{font-size:.875rem}.stat-label{font-size:.625rem;letter-spacing:-.02em}.section-xl{background-color:var(--sw-background)}.section-xl,.section-xl-transparent{padding-bottom:8rem;padding-top:8rem}.section-lg{background-color:var(--sw-background);padding-bottom:6rem;padding-top:6rem}.section-hero{overflow:hidden;padding-bottom:8rem;padding-top:10rem;position:relative}.section-hero .hero-parallax{inset:0;overflow:hidden;perspective:1500px;perspective-origin:50% 27%;position:fixed;z-index:-1}.section-hero .hero-parallax .layer{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath fill='%23fff' d='M18 18h2v2h-2z'/%3E%3C/svg%3E");background-size:120px 120px;height:160vw;left:-50vw;pointer-events:none;position:absolute;top:-20vw;transform:translateZ(var(--layer-tz,0)) translate(var(--tx,0),var(--ty,0));transition:transform .1s ease-out;width:200vw;will-change:transform}.section-hero .hero-parallax .layer-1{--layer-tz:-100px;opacity:.25}.section-hero .hero-parallax .layer-2{--layer-tz:-200px;opacity:.2}.section-hero .hero-parallax .layer-3{--layer-tz:-300px;opacity:.15}.section-hero .hero-parallax .layer-4{--layer-tz:-400px;opacity:.1}.section-hero .hero-parallax .layer-5{--layer-tz:-500px;opacity:.05}.text-intro{max-width:35rem}.about-content{max-width:42rem}.text-cta-lead{font-size:1.2rem;max-width:36rem}.cta-container{max-width:52rem}.gradient-text{background:linear-gradient(90deg,var(--sw-primary),var(--sw-tertiary-container));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 60px rgba(223,183,255,.3)) drop-shadow(0 0 15px rgba(46,150,255,.2))}[data-theme=light] .layer{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath fill='%23888' d='M18 18h2v2h-2z'/%3E%3C/svg%3E")}@keyframes sw-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:sw-cursor-blink 1s step-end infinite}.text-sw-primary{color:var(--sw-primary)!important;text-shadow:0 0 15px rgba(223,183,255,.1),0 0 50px rgba(223,183,255,.1)}.text-sw-tertiary{color:var(--sw-tertiary)!important;text-shadow:0 0 15px rgba(165,200,255,.1),0 0 50px rgba(165,200,255,.1)}.text-sw-on-surface{color:var(--sw-on-surface)!important}.text-sw-on-surface-variant{color:var(--sw-on-surface-variant)!important}.text-sw-on-secondary-container{color:var(--sw-on-secondary-container)!important}.text-sw-on-primary-container{color:var(--sw-on-primary-container)!important}.bg-sw-surface-container-lowest{background-color:var(--sw-surface-container-lowest)!important}.bg-sw-surface-container-low{background-color:var(--sw-surface-container-low)!important}.bg-sw-surface-container{background-color:var(--sw-surface-container)!important}.bg-sw-surface-container-high{background-color:var(--sw-surface-container-high)!important}.bg-sw-primary-container{background-color:var(--sw-primary-container)!important}.border-sw-outline-variant{border-color:var(--sw-outline-variant)!important}.border-sw-primary-container{border-color:var(--sw-primary-container)!important}.border-sw-outline{border-color:var(--sw-outline)!important}.gap-6{gap:5rem!important}.noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.glass-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:rgba(19,19,23,.7)}.navbar-sw{height:5rem}.nav-link-sw{color:rgba(228,225,231,.7);font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav-link-sw:hover{color:#e4e1e7}.btn-sw-primary{background-color:var(--sw-primary-container);border:none;border-radius:.5rem;color:var(--sw-on-primary-container);font-weight:700;transition:filter .2s ease,transform .15s ease,background-color .8s ease,border-color .2s ease}.btn-sw-primary:hover{color:var(--sw-on-primary-container);filter:brightness(1.1)}.btn-sw-primary:active{transform:scale(.95)}@media(max-width:768px){.btn:hover{background-color:inherit!important}.btn:hover span{color:var(--bs-btn-hover-bg)!important}}.sw-badge{background-color:var(--sw-surface-container-high);border:1px solid color-mix(in srgb,var(--sw-outline-variant) 40%,transparent);border-radius:.25rem;display:inline-block;font-family:Space Grotesk,sans-serif;font-size:.625rem;font-weight:700;padding:.2rem .5rem;text-transform:uppercase}.sw-badge-primary{color:var(--sw-primary)}.sw-badge-tertiary{color:var(--sw-tertiary)}.sw-badge-secondary{color:var(--sw-on-secondary-container)}.icon-box{align-items:center;border-radius:.375rem;display:inline-flex;flex-shrink:0;height:3rem;justify-content:center;width:3rem}.icon-box--sm{height:2.5rem;width:2.5rem}.icon-box--primary{background-color:color-mix(in srgb,var(--sw-primary-container) 10%,transparent)}.icon-box--tertiary{background-color:color-mix(in srgb,var(--sw-tertiary-container) 10%,transparent)}.icon-box--secondary{background-color:color-mix(in srgb,var(--sw-tertiary-container) 8%,transparent)}.problem-card{border-left:2px solid color-mix(in srgb,var(--sw-primary-container) 20%,transparent);transition:border-left-color .2s ease}.problem-card:hover{border-left-color:var(--sw-primary-container)}.case-card:hover .case-card-img{transform:scale(1.05)}.case-card-img{transition:transform .5s ease}.case-img-tall{height:16rem}.case-img-medium{height:12rem}.img-cover{object-fit:cover}.img-cover-dim60{object-fit:cover;opacity:.6}.img-cover-dim50{object-fit:cover;opacity:.5}.code-terminal{background-color:var(--sw-surface-container-lowest);border:1px solid var(--sw-outline-variant);border-left:2px solid color-mix(in srgb,var(--sw-tertiary-container) 60%,transparent);border-radius:.375rem;color:#4ade80;font-family:monospace;font-size:.65rem;padding:.75rem}.terminal-label{color:color-mix(in srgb,var(--sw-on-surface-variant) 40%,transparent);font-family:Space Grotesk,sans-serif;font-size:.6rem;margin-bottom:.5rem;text-transform:uppercase}[data-theme=light] .code-terminal{color:#166534}[data-theme=light] .terminal-success{color:#15803d}.stat-divider{background-color:var(--sw-outline-variant);flex-shrink:0;height:2rem;opacity:.3;width:1px}.list-dot{background-color:var(--sw-primary);border-radius:50%;display:inline-block;flex-shrink:0;height:.3rem;width:.3rem}.widget-badge{align-items:center;background-color:var(--sw-primary-container);border-radius:.375rem;box-shadow:0 4px 6px rgba(0,0,0,.2);display:flex;height:3rem;justify-content:center;position:absolute;right:-1rem;top:-1rem;width:3rem}.widget-text{color:color-mix(in srgb,var(--sw-on-surface-variant) 60%,transparent);font-family:Space Grotesk,sans-serif;font-size:.7rem}.status-dot{background-color:#22c55e;border-radius:50%;display:inline-block;flex-shrink:0;height:.5rem;width:.5rem}.sw-progress-track{background-color:var(--sw-surface-container-highest);border-radius:9999px;height:4px;overflow:hidden}.sw-progress-bar{border-radius:9999px;height:100%}.sw-progress-bar-primary{background-color:var(--sw-primary)}.sw-progress-bar-tertiary{background-color:var(--sw-tertiary)}.hero-glow{background:radial-gradient(circle at 50% 50%,rgba(123,77,163,.08),transparent 70%);pointer-events:none}.timeline{border-left:1px solid var(--sw-outline-variant);padding-left:2rem}.timeline-dot{background-color:var(--sw-primary);border:4px solid var(--sw-background);height:1rem;left:-2.5rem;position:absolute;top:.2rem;width:1rem}.timeline-dot.dot-2{background-color:#dfb7ff}.timeline-dot.dot-3{background-color:#a5c8ff}.timeline-dot.dot-4{background-color:#5e96ff}.timeline-dot.dot-5{background-color:#2e96ff}.about-photo{filter:grayscale(1);transition:filter .7s ease}.about-photo:hover{filter:grayscale(0)}.about-avatar{height:9rem;width:9rem}footer a{color:rgba(228,225,231,.6);text-decoration:none;transition:color .2s ease}footer a:hover{color:#7b4da3;text-decoration:underline;text-underline-offset:4px}.site-footer{background-color:#131317}.footer-tagline{color:rgba(228,225,231,.6);font-size:.875rem;line-height:1.6;max-width:30rem}.footer-col-heading{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.footer-bottom-text,.footer-label{color:rgba(228,225,231,.4)}.footer-label{font-size:.7rem}.contact-input{background-color:var(--sw-surface-container-high);border:1px solid var(--sw-outline-variant);border-radius:.5rem;color:var(--sw-on-surface);font-family:Inter,sans-serif;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.contact-input::placeholder{color:var(--sw-on-surface-variant);opacity:.5}.contact-input:focus{border-color:var(--sw-primary);box-shadow:0 0 0 3px rgba(223,183,255,.15);color:var(--sw-on-surface);outline:none}.contact-input:focus,.form-control{background-color:var(--sw-surface-container-high)}.testimonial-card{transition:border-color .2s ease}.testimonial-card:hover{border-color:color-mix(in srgb,var(--sw-primary) 35%,transparent)!important}.testimonial-avatar{flex-shrink:0;height:2.75rem;width:2.75rem}.logo-marquee-wrapper{mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent);overflow:hidden;padding:1.5rem 0 0}.logo-marquee-track{align-items:center;animation:sw-marquee 40s linear infinite;display:flex;gap:3.5rem;width:max-content}.logo-marquee-track:hover{animation-play-state:paused}.logo-track-item{align-items:center;display:flex;flex-shrink:0}.logo-track-item img{filter:brightness(0) invert(1);height:10rem;object-fit:contain;opacity:.7;transition:opacity .25s ease;width:auto}.logo-track-item:hover img{opacity:.75}[data-theme=light] .logo-track-item img{filter:brightness(0);opacity:.2}[data-theme=light] .logo-track-item:hover img{opacity:.6}@keyframes sw-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}