:root{--bg:#fff;--surface:#f7fafc;--text:#0f1724;--muted:#6b7280;--brand:#1c5c9c;--brand-2:#154b7f;--gap:clamp(16px, 2.5vw, 32px);--container:1180px;--radius:10px;--max-width-narrow:720px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.45}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.section{padding:calc(var(--gap) * 1.1);margin:calc(var(--gap) * .6) 0;color:var(--text);background:#fff;border-radius:12px;box-shadow:0 10px 30px #0c28500a}.light{background:0 0}.brand{color:var(--text);align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand-text{letter-spacing:.04em;color:var(--text);font-weight:700}.nav a{color:var(--muted);margin-left:1rem;text-decoration:none}.nav a.cta{color:var(--text);background:0 0;border:1px solid #0f17240a;border-radius:8px;padding:.45rem .75rem}.hero{align-items:center;padding-top:3.2rem;padding-bottom:3.2rem;display:flex}.hero .container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.hero-content{max-width:54ch}.graphic{border-radius:var(--radius);background:var(--surface);width:100%;height:100%;max-height:280px;overflow:hidden}.services-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.services-grid article{background:var(--surface);border:1px solid #0f17240a;border-radius:8px;padding:1rem}.services-grid article{transform-origin:50%;transform-style:preserve-3d;will-change:transform, box-shadow;backface-visibility:hidden;flex-direction:column;justify-content:flex-start;min-height:120px;transition:transform .72s cubic-bezier(.2,.9,.2,1),box-shadow .28s,background-color .28s,color .28s;display:flex}.services-grid article:hover,.services-grid article:focus-within{background:linear-gradient(90deg, var(--brand), var(--brand-2));color:#fff;border-color:#0000;transform:rotateY(360deg)scale(1.02);box-shadow:0 18px 48px #154c8029}.services-grid article h3,.services-grid article p,.services-grid article .service-icon{color:inherit;fill:currentColor;transition:color .28s,fill .28s,opacity .28s}.services-grid article:hover .service-icon{color:#fff;fill:#fff}.services-grid article:focus{outline:none;transform:translateY(-6px);box-shadow:0 12px 36px #154c801f}@media (prefers-reduced-motion:reduce){.services-grid article,.services-grid article:hover,.services-grid article:focus-within{transition:none;transform:none}}.problems{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:.75rem;padding:0;list-style:none;display:grid}.problems li{background:var(--surface);border:1px solid #0f172408;border-radius:8px;padding:.85rem}.approach{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.approach>div{background:var(--surface);border:1px solid #0f172408;border-radius:8px;flex:1;min-width:200px;padding:1rem}.tech-list{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.tech-list span{color:var(--muted);background:0 0;border:1px solid #0f172408;border-radius:6px;padding:.4rem .6rem;font-weight:600}.narrow{max-width:var(--max-width-narrow)}.contact-grid{grid-template-columns:1fr 320px;gap:1rem;margin-top:1rem;display:grid}.contact-form{flex-direction:column;gap:.6rem;display:flex}.contact-form label{color:var(--muted);flex-direction:column;font-size:.9rem;display:flex}.contact-form input,.contact-form textarea{color:var(--text);background:0 0;border:1px solid #0f17240f;border-radius:6px;margin-top:.35rem;padding:.6rem}.form-actions{align-items:center;gap:.6rem;margin-top:.6rem;display:flex}.contact-aside{background:var(--surface);border:1px solid #0f172408;border-radius:8px;padding:1rem}.site-footer{border-top:1px solid #0f17240a;margin-top:2rem;padding-top:1rem;padding-bottom:1rem}.legal{color:var(--muted);text-align:center;margin-top:.6rem;font-size:.85rem}#contact{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff}#contact .container.narrow{padding-top:1.2rem;padding-bottom:1.2rem}#contact .contact-grid{align-items:start}#contact .contact-form{color:var(--text);background:#fff;border-radius:10px;padding:1rem;box-shadow:0 8px 24px #0c28501f}#contact .contact-form label{color:var(--muted)}#contact .contact-form input,#contact .contact-form textarea{color:var(--text);background:#fff;border:1px solid #0f172414}#contact .form-actions .btn.primary{background:linear-gradient(90deg, var(--brand), var(--brand-2));color:#fff;border:none}#contact .form-actions .btn.ghost{color:var(--brand-2);background:0 0;border:1px solid #1c5c9c1f}#contact .contact-aside{color:#fff;background:#ffffff14;border:1px solid #ffffff0f;border-radius:10px;min-height:160px;padding:1rem}#contact .muted{color:#ffffffd9}#contact a{color:#fff;text-decoration:underline}.contact-grid-emphasized{grid-template-columns:3fr 1fr;align-content:start;align-items:start;gap:1.75rem}.contact-form.emphasized{color:var(--text);background:#fff;border:1px solid #0f17240f;border-radius:14px;padding:1.5rem;transition:transform .15s,box-shadow .15s;box-shadow:0 22px 60px #154c801a}.contact-form.emphasized input,.contact-form.emphasized textarea{width:100%;box-shadow:none;color:var(--text);background:#fff;border:1px solid #0f172414;border-radius:10px;padding:1rem;font-size:1.02rem}.contact-form.emphasized label{color:var(--text);margin-bottom:.75rem;font-size:.98rem;font-weight:600;display:block}.btn.large{border-radius:12px;padding:1rem 1.35rem;font-size:1.02rem}.contact-aside.emphasized{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff;text-align:center;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:320px;padding:1.5rem;display:flex}.contact-aside .aside-logo{width:220px;height:auto;margin-bottom:.25rem;display:block}.contact-aside p{margin:.25rem 0}.contact-aside a{color:#fff;font-weight:700;text-decoration:underline}.contact-aside a[href^=tel]{letter-spacing:.2px;margin-top:.15rem;font-size:1.06rem;display:inline-block}.form-note{color:var(--muted);margin-top:.6rem;font-size:.92rem}.contact-form.emphasized input:focus,.contact-form.emphasized textarea:focus,.contact-form.emphasized .btn:focus{outline-offset:2px;outline:3px solid #1c5c9c2e}@media (width<=1100px){.contact-grid-emphasized{grid-template-columns:1fr;gap:1rem}.contact-aside.emphasized{min-height:auto;padding:1rem}.contact-aside .aside-logo{width:140px}.contact-form.emphasized{padding:1.15rem}}@media (width<=480px){.contact-aside .aside-logo{width:110px}.btn.large{text-align:center;width:100%}}.section.hero{box-shadow:none;margin:calc(var(--gap) * .25) 0;padding-top:calc(var(--gap) * 1.05);padding-bottom:calc(var(--gap) * 1.05);background:0 0;border-radius:0}.section.hero .hero-content{color:var(--text)}.section.hero .lead{color:var(--muted)}.section.hero .btn.primary{box-shadow:0 8px 28px #154c8014}.section.hero .btn.ghost{color:var(--brand);border-color:#154c801f}.service-card{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;--scale:1;--shadow-x:0px;--shadow-y:10px;--highlight:0;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scale));background:var(--surface);box-shadow:var(--shadow-x) var(--shadow-y) 30px #154c8017;cursor:pointer;border:1px solid #0f17240a;border-radius:10px;flex-direction:column;gap:.6rem;min-height:140px;padding:1rem;transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(600px at var(--mx) var(--my), #ffffff29, transparent 28%);mix-blend-mode:overlay;opacity:calc(var(--highlight) * 1);transition:opacity .22s,background-position .22s;position:absolute;inset:0}.service-media{width:56px;height:56px;color:var(--accent-2);background:linear-gradient(#1c5c9c0f,#154c800a);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.service-card:hover,.service-card:focus{--scale:1.03;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scale));box-shadow:0 28px 68px #154c8024}.service-card.hover-brand:hover h3,.service-card.hover-brand:hover p{color:#fff}.service-card .service-icon{color:inherit;fill:currentColor;transition:color .22s}@media (prefers-reduced-motion:reduce){.service-card,.service-card:before{transition:none;transform:none}}.services-grid{perspective:1200px}.service-card{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;--scale:1;--shadow-x:0px;--shadow-y:10px;--highlight:0;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scale));background:var(--surface);box-shadow:var(--shadow-x) var(--shadow-y) 38px #154c801a, 0 6px 18px #0c1e3c0a;cursor:pointer;will-change:transform, box-shadow;border:1px solid #0f17240a;border-radius:12px;flex-direction:column;gap:.6rem;min-height:140px;padding:1.05rem;transition:transform .26s cubic-bezier(.2,.9,.2,1),box-shadow .26s,border-color .18s;display:flex;position:relative;overflow:hidden}.service-card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(420px at var(--mx) var(--my), #ffffff2e, #ffffff0f 18%, #fff0 35%);mix-blend-mode:overlay;opacity:calc(var(--highlight));filter:blur(.6px);z-index:1;transition:opacity .18s,background-position .12s;position:absolute;inset:0}.service-card:after{content:"";border-radius:inherit;pointer-events:none;mix-blend-mode:soft-light;z-index:2;background:linear-gradient(120deg,#ffffff08,#00000005);position:absolute;inset:0}.service-card>*{z-index:3;position:relative}.service-card h3{color:var(--text);margin:0;font-size:1.02rem}.service-card p{color:var(--muted);margin:0;font-size:.95rem}.service-media{width:56px;height:56px;color:var(--accent-2);z-index:3;background:linear-gradient(#1c5c9c0f,#154c800a);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.service-card:hover,.service-card:focus{--scale:1.035;box-shadow:calc(var(--shadow-x)) calc(var(--shadow-y)) 56px #154c8029, 0 10px 28px #0c1e3c0f;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--scale))}.service-card.hover-brand:hover,.service-card.hover-brand:focus{background:linear-gradient(90deg, var(--brand), var(--brand-2));color:#fff}.service-card.hover-brand:hover h3,.service-card.hover-brand:hover p,.service-card.hover-brand:hover .service-icon{color:#fff;fill:currentColor}.service-card .service-icon{color:var(--accent-2);transition:color .18s}.service-card:focus{outline:none;box-shadow:0 20px 60px #154c801f}@media (prefers-reduced-motion:reduce){.service-card,.service-card:before,.service-card:after{transition:none!important;transform:none!important}}.site-header{color:#fff;z-index:60;background:linear-gradient(#1c5c9c 0%,#154b7f 100%);border-bottom:1px solid #00000014;position:sticky;top:0;box-shadow:0 4px 18px #1c5c9c1f}.header-inner{justify-content:space-between;align-items:center;min-height:92px;padding:.85rem 0;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand-logo{transform-origin:0;filter:drop-shadow(0 4px 10px #00000014);width:140px;height:auto;display:block}.nav a{color:#fffffff2;opacity:.95;margin-left:1rem;font-weight:600;text-decoration:none;transition:color .15s,opacity .15s}.nav a:hover,.nav a:focus{color:#fff;opacity:1}.nav a.cta{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff1f;border-radius:8px;padding:.45rem .75rem}@media (width<=1200px){.brand-logo{width:112px}.header-inner{min-height:80px}}@media (width<=900px){.brand-logo{width:72px}.header-inner{min-height:64px;padding:.6rem 0}.nav{display:none}}@media (width<=480px){.brand-logo{width:56px}.header-inner{min-height:56px}}.site-footer .footer-inner{padding:1.25rem 0}.footer-links a{color:var(--muted);margin-left:1rem;text-decoration:none}.intro-overlay{z-index:9999;opacity:1;visibility:visible;background:#000;justify-content:center;align-items:center;transition:opacity .9s,visibility .9s;display:flex;position:fixed;inset:0}.intro-overlay.fade-out{opacity:0;visibility:hidden;pointer-events:none}.intro-video{object-fit:cover;width:100%;max-width:1920px;height:100%;max-height:1080px;display:block}.intro-skip{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff24;border-radius:8px;padding:.45rem .75rem;font-weight:600;position:absolute;top:18px;right:18px}.intro-skip:focus{outline:2px solid #ffffff2e}@media (width<=900px){.intro-video{object-fit:contain;background:#000}.intro-skip{padding:.35rem .6rem;top:12px;right:12px}}.parallax-banner{width:100%;height:0;position:relative;overflow:visible}.parallax-banner:before{content:"";z-index:-1;background-image:var(--bg-image);opacity:.5;filter:grayscale(6%)brightness(.88)saturate(.9)blur(.6px);will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0;transform:translateZ(0)}.parallax-overlay{z-index:-1;pointer-events:none;background:linear-gradient(#ffffffb8,#ffffffa3);position:fixed;inset:0}.parallax-content{z-index:2;color:var(--text);text-align:center;width:100%;padding:0;position:relative}@media (width<=900px){.parallax-banner{background-image:var(--bg-image);background-position:50%;background-size:cover;height:160px}.parallax-banner:before,.parallax-overlay{display:none}.parallax-content{padding:0 1rem}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.section h2{margin-bottom:.4rem}.section p{margin-top:0;margin-bottom:.6rem}.hero-visual{justify-content:center;align-items:center;width:46%;min-height:220px;display:flex}.hero-video{background:var(--surface);object-fit:cover;border-radius:12px;width:100%;max-width:720px;height:auto;max-height:420px;display:block;overflow:hidden;box-shadow:0 10px 30px #0000000f}@media (width<=900px){.hero .container{flex-direction:column-reverse}.hero-visual{width:100%;max-height:260px}.hero-video{object-fit:contain;max-width:100%;max-height:260px}}
