@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";html{scroll-behavior:smooth}:root{--bg:#f0f8ff;--ink-strong:#0b2545;--ink-muted:#27476e;--line:#44acff33;--panel:#fff;--panel-soft:#e0f2ff;--accent:#1e88e5;--sans:"Manrope", "Segoe UI", sans-serif;--heading:"Sora", "Trebuchet MS", sans-serif;font:16px/1.55 var(--sans);color:var(--ink-muted);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(circle at 6% 8%, #89d4ff 0%, transparent 40%), radial-gradient(circle at 90% 22%, #fe9ec7 0%, transparent 40%), radial-gradient(circle at 50% 90%, #e0f2ff 0%, transparent 40%), var(--bg);background-size:150% 150%,150% 150%,150% 150%,auto;min-height:100vh;margin:0;animation:14s ease-in-out infinite alternate ambient-drift}#root{box-sizing:border-box;width:min(1080px,100% - 2rem);margin:0 auto 4rem}h1,h2,h3{font-family:var(--heading);color:var(--ink-strong);font-weight:700}h1{letter-spacing:-.03em;text-wrap:balance;max-width:25ch;margin:0 0 1.5rem;font-size:clamp(2rem,5vw,3.8rem);line-height:1.1}h2{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,3vw + 1rem,3rem);line-height:1.2}h3{font-size:1.06rem;line-height:1.32}p{margin:0}@keyframes ambient-drift{0%{background-position:0 0,100% 0,0 0}to{background-position:4% 6%,97% 4%,0 0}}@media (prefers-reduced-motion:reduce){body{animation:none}}.page-shell{flex-direction:column;gap:8rem;padding:3rem 1.5rem;display:flex}.site-header{justify-content:space-between;align-items:center;display:flex}.brand{font-family:var(--heading);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-strong);font-size:1rem;font-weight:700}.language-switch{color:var(--ink-muted);align-items:center;gap:.5rem;display:inline-flex}.language-switch button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.95rem}.language-switch button:hover,.language-switch button.is-active{color:var(--ink-strong)}.hero-section{animation:.5s fade-up}.hero-layout{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:4rem 0;display:grid}@media (width<=1024px){.hero-layout{text-align:center;grid-template-columns:1fr}.hero-content{flex-direction:column;align-items:center;display:flex}.hero-actions{justify-content:center}}.hero-graphic{width:100%;max-width:450px;margin:0 auto}.hero-graphic svg{filter:drop-shadow(0 20px 40px #0b25451a);width:100%;height:auto}.layer-anim-1{animation:6s ease-in-out infinite alternate floatLayer}.layer-anim-2{animation:6s ease-in-out infinite alternate-reverse floatLayer}.data-cube-1{transform-origin:50%;animation:4s ease-in-out infinite cubeBounce}.data-cube-2{transform-origin:50%;animation:4s ease-in-out 1.5s infinite cubeBounce}@keyframes floatLayer{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes cubeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:1.5rem;font-size:.9rem;font-weight:700}.hero-copy{max-width:45rem;color:var(--ink-muted);font-size:1.25rem;line-height:1.6}.hero-actions{gap:1.5rem;margin-top:3rem;display:flex}.hero-actions a{border-radius:999px;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s}.hero-actions a:hover{transform:translateY(-2px)}.primary-link{color:#fff;background:#44acff;box-shadow:0 4px 14px #44acff66}.primary-link:hover{background:#259df7;box-shadow:0 6px 20px #44acff99}.secondary-link{color:var(--ink-strong);background:var(--panel-soft)}.pipeline-visual{border:1px solid var(--line);background:linear-gradient(145deg,#f3eee4,#e8edf0);border-radius:1rem;padding:.5rem;box-shadow:inset 0 0 0 1px #ffffff80}.pipeline-visual svg{width:100%;height:auto;display:block}.pipeline-visual .panel{fill:#fbf9f4;stroke:#c8d1db;stroke-width:2px}.pipeline-visual .line{fill:#b7c3d1}.pipeline-visual .line-strong{fill:#2c6477}.pipeline-visual .preview{fill:#d7e4ea}.pipeline-visual .pipe{fill:none;stroke:#2c6477;stroke-width:5px;stroke-linecap:round;stroke-dasharray:14 10;animation:2.8s linear infinite pipe-flow}.pipeline-visual .node{fill:#2c6477;transform-origin:50%;animation:1.4s ease-in-out infinite node-bounce-x}.pipeline-visual .node-b{animation-delay:.22s}.pipeline-visual .node-c{animation-delay:.44s}.pipeline-visual .stack{fill:#d7e4ea;stroke:#9eb0c4;stroke-width:1.4px}.reveal-section>*{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.reveal-section.is-visible>*{opacity:1;transform:translateY(0)}.reveal-section.is-visible>:first-child{transition-delay:0s}.reveal-section.is-visible>:nth-child(2){transition-delay:.1s}.reveal-section.is-visible>:nth-child(3){transition-delay:.2s}.reveal-section.is-visible>:nth-child(4){transition-delay:.3s}.reveal-section.is-visible>:nth-child(5){transition-delay:.4s}.process-section{flex-direction:column;gap:4rem;display:flex}.process-top-row{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}@media (width<=1024px){.process-top-row{grid-template-columns:1fr;gap:3rem}}.process-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.process-step{background:var(--panel);border:1px solid var(--line);border-radius:1.5rem;padding:2.5rem;transition:opacity .6s,transform .3s;position:relative;box-shadow:0 4px 20px #0b254508}.process-step:hover{transform:translateY(-5px)}@media (width>=1025px){.process-step:not(:last-child):after{content:"→";color:var(--accent);z-index:10;font-size:2.5rem;font-weight:800;position:absolute;top:50%;right:-2rem;transform:translateY(-50%)}}.process-strip h3{color:var(--ink-strong);margin:0 0 .8rem;font-size:1.4rem}.process-icon{width:4rem;height:4rem;margin-bottom:1.5rem}.process-icon svg{width:100%;height:100%}.slide-down{animation:2s ease-in-out infinite slideDown}.pulse-fade{animation:2s ease-in-out infinite pulseFade}.bar-grow-1{transform-origin:bottom;animation:1.5s ease-in-out infinite alternate barGrow}.bar-grow-2{transform-origin:bottom;animation:1.5s ease-in-out infinite alternate-reverse barGrow}.draw-check{stroke-dasharray:40;stroke-dashoffset:40px;animation:2.5s cubic-bezier(.65,0,.45,1) infinite drawCheck}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}50%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(0)}}@keyframes pulseFade{0%,to{opacity:.5;stroke-width:3px}50%{opacity:1;stroke-width:5px}}@keyframes barGrow{0%{transform:scaleY(.7)translateY(4px)}to{transform:scaleY(1.3)translateY(-4px)}}@keyframes drawCheck{0%,20%{stroke-dashoffset:40px;opacity:0}45%,80%{stroke-dashoffset:0;opacity:1}to{fill:#0000;stroke-dashoffset:0;opacity:0}}.process-strip p{color:var(--ink-muted);font-size:1.05rem;line-height:1.6}.process-intro h2{max-width:20ch}.pipeline-visual-wrapper{width:100%;max-width:800px;margin:0 auto}.services-section{flex-direction:column;gap:3.5rem;margin-top:2rem;display:flex}.services-header h2{text-align:center;max-width:30ch;margin:0 auto;font-size:2.2rem}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;display:grid}@media (width<=1024px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.services-grid{grid-template-columns:1fr}}.services-grid article{border:1px solid var(--line);background:var(--panel);border-radius:1.5rem;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #0b254508}.services-grid article:hover{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 15px 40px #0b254514}.services-grid h3{color:var(--ink-strong);margin:0 0 1rem;font-size:1.3rem;line-height:1.3}.services-grid p{color:var(--ink-muted);line-height:1.6}.form-section{background:var(--panel);border:none;border-radius:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:5rem;margin-top:4rem;padding:4rem;display:grid;box-shadow:0 20px 60px #0b25450d}@media (width<=1024px){.form-section{grid-template-columns:1fr;gap:3rem;padding:3rem 2rem}}.form-copy{max-width:32rem}.form-copy h2{text-wrap:balance;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,2.8rem)}.form-copy p{font-size:1.15rem;line-height:1.6}.form-section form{gap:1.5rem;display:grid}.form-section label{color:var(--ink-strong);margin-bottom:.5rem;font-size:1rem;font-weight:500;display:block}.form-section input,.form-section textarea{border:1px solid var(--line);background:var(--bg);width:100%;font:inherit;color:var(--ink-strong);box-sizing:border-box;border-radius:1rem;padding:1rem 1.25rem;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.form-section textarea{resize:vertical;min-height:120px;max-height:400px}.form-section input:focus,.form-section textarea:focus,.language-switch button:focus-visible,.hero-actions a:focus-visible,.form-section button:focus-visible{border-color:#44acff;outline:none;box-shadow:0 0 0 3px #44acff4d}.form-section button{color:#fff;font:inherit;cursor:pointer;background:#44acff;border:0;border-radius:999px;margin-top:1rem;padding:1.2rem 2rem;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s;box-shadow:0 4px 14px #44acff66}.form-section button:hover:not(:disabled){background-color:#259df7;transform:translateY(-2px);box-shadow:0 8px 25px #44acff99}.form-section button:disabled{opacity:.7;cursor:wait}.field-error{color:#b42318;font-size:.85rem}.server-success,.server-error{margin-top:.6rem;font-size:.9rem}.server-success{color:#067647}.server-error{color:#b42318}footer{border-top:1px solid var(--line);color:var(--ink-muted);padding-top:1rem;font-size:.88rem}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pipe-flow{to{stroke-dashoffset:-96px}}@keyframes node-bounce-x{0%,to{transform:translate(-8px)}50%{transform:translate(8px)}}@media (width<=1024px){.page-shell{gap:2.6rem;padding:1.4rem 1rem 2rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-layout,.process-strip{grid-template-columns:1fr}.metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}}@media (width<=640px){.site-header{flex-direction:column;align-items:flex-start;gap:.75rem}.services-grid,.metrics-row{grid-template-columns:1fr}}.metrics-vertical{flex-direction:column;gap:3rem;padding:2rem 0;display:flex}.metric-split{grid-template-columns:1fr 1fr;align-items:center;gap:1.5rem;max-width:900px;margin:0 auto;display:grid}@media (width<=1024px){.metric-split{text-align:center;gap:2rem;grid-template-columns:1fr!important}.metric-split.reverse-mobile .metric-text{order:-1}}.metric-text{flex-direction:column;gap:1rem;display:flex}.metric-text h3{color:var(--accent);word-break:break-word;margin:0;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1}.metric-text p{color:var(--ink-strong);margin:0;font-size:1.1rem;line-height:1.6}.metric-center{text-align:center;max-width:800px;margin:0 auto}.metric-center h3{color:var(--accent);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2rem,4vw,3rem)}.metric-center p{color:var(--ink-strong);margin:0;font-size:1.1rem}.metric-graphic svg{filter:drop-shadow(0 20px 40px #0b25451a);width:100%;max-width:200px;height:auto;margin:0 auto;display:block}.uptime-graphic .ring{stroke-dasharray:283;animation:4s ease-in-out infinite uptimeDraw}.uptime-graphic .pulse{animation:2s ease-in-out infinite alternate pulseNode}.tailored-graphic .cog-1{transform-origin:70px 70px;animation:8s linear infinite spinCogCW}.tailored-graphic .cog-2{transform-origin:114.5px 70px;animation:6s linear infinite spinCogCCW_G2}.tailored-graphic .cog-3{transform-origin:70px 114.5px;animation:6s linear infinite spinCogCCW_G3}.tailored-graphic .cog-3-container{animation:8s ease-in-out infinite slideInCog3}.tailored-graphic .bg-blob{transform-origin:80px 80px;animation:10s ease-in-out infinite alternate morphBlob}@keyframes spinCogCW{0%{transform:rotate(-11.25deg)}to{transform:rotate(348.75deg)}}@keyframes spinCogCCW_G2{0%{transform:rotate(15deg)}to{transform:rotate(-345deg)}}@keyframes spinCogCCW_G3{0%{transform:rotate(-15deg)}to{transform:rotate(-375deg)}}@keyframes slideInCog3{0%,15%{opacity:0;transform:translate(-10px,10px)}25%,85%{opacity:1;transform:translate(0)}95%,to{opacity:0;transform:translate(-10px,10px)}}@keyframes morphBlob{0%{transform:scale(.95)rotate(0)}to{transform:scale(1.05)rotate(15deg)}}@keyframes uptimeDraw{0%{stroke-dashoffset:283px;opacity:0}10%,90%{opacity:1}50%{stroke-dashoffset:0}to{stroke-dashoffset:-283px;opacity:0}}@keyframes pulseNode{0%,to{opacity:.8;transform-origin:60px 60px;transform:scale(1)}50%{opacity:1;transform-origin:60px 60px;transform:scale(1.15)}}
