/* Motion follows focus, scroll and real interaction states. */
.js-motion .reveal{transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),background .25s;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms;transform:translateY(30px)}
.js-motion .reveal.visible{transform:none}.js-motion .reveal:focus-within{opacity:1;transform:none}
.service-icon{display:inline-block;transition:transform .5s cubic-bezier(.2,.8,.2,1),color .3s}.service-card:hover .service-icon,.service-card:focus-visible .service-icon{transform:rotate(-12deg) scale(1.14);color:#0C9ADA}
.service-card h3{transition:transform .35s}.service-card:hover h3{transform:translateX(4px)}.button{position:relative;overflow:hidden;transition:background .2s,transform .25s,box-shadow .25s}.button:hover{box-shadow:0 8px 25px #0c9ada26}.button:active{scale:.97}.button span{display:inline-block;transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}
.copy-email{position:relative;transition:color .25s}.copy-email span{display:inline-block}.copy-email.copied{color:#0C9ADA}.copy-email.copied:after{content:'';position:absolute;inset:-8px;border:1px solid #0c9ada;border-radius:8px;pointer-events:none;animation:copy-wave .6s ease-out forwards}
.partner-grid>span{transition:opacity .75s,transform .75s,color .3s}.partner-grid>span:hover{translate:0 -5px}.about-detail li{position:relative}.about-detail li:after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;background:#0C9ADA;transition:width .5s}.about-detail li:hover:after{width:100%}.step b{transition:transform .3s,color .3s}.step[open] b{color:#0C9ADA}
@supports(interpolate-size:allow-keywords){.step{interpolate-size:allow-keywords}.step::details-content{height:0;overflow:clip;transition:height .35s ease,content-visibility .35s allow-discrete}.step[open]::details-content{height:auto}}
.contact-form label:not(.honeypot){transition:color .25s}.contact-form label:focus-within{color:#38b9f3}.contact-form input,.contact-form textarea{transition:border-color .25s,box-shadow .25s}.brand img{transition:transform .35s}.brand:hover img{transform:scale(1.035)}.back-top{transition:transform .3s}.back-top:hover{transform:translateY(-4px)}.scroll-link:hover span{animation:scroll-cue .7s ease-in-out 2}
.menu-toggle{width:44px;height:44px;position:relative}.menu-toggle span{display:block;position:absolute;width:24px;height:2px;left:10px;top:21px;background:var(--ink);transition:transform .35s,opacity .2s}.menu-toggle span:first-child{transform:translateY(-7px)}.menu-toggle span:last-child{transform:translateY(7px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}
.sending-spinner{width:17px;height:17px;border:2px solid #040a1140;border-top-color:#040a11;border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}
.success-dialog{position:fixed;border:1px solid #264652;border-radius:24px;background:#0f1c23;color:#f7f8fa;padding:48px 38px 40px;max-width:calc(100vw - 32px);width:530px;text-align:center;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 40px 140px #0008}.success-dialog::backdrop{background:#040a11b8;backdrop-filter:blur(9px)}.success-dialog[open]{animation:success-enter .6s cubic-bezier(.16,1,.3,1)}.success-dialog[open]::backdrop{animation:fade-in .35s}.success-close{position:absolute;right:15px;top:12px;color:#a3bfcd;background:none;border:0;font-size:30px;width:44px;height:44px}.success-dialog .eyebrow{font-size:11px;color:#93adbb}.success-dialog h2{margin:18px 0;font-size:58px}.success-dialog p{font-size:16px;color:#b9cbd5;line-height:1.65;margin-bottom:28px}.success-dialog .button{min-width:170px}.success-orbit{position:relative;width:140px;height:140px;margin:0 auto 24px;display:grid;place-items:center}.success-ring{position:absolute;inset:10px;border:1px solid #0c9ada66;border-radius:50%;background:#0c9ada12}.success-dialog[open] .success-ring{animation:ring-enter .9s ease-out}.success-orbit svg{width:80px;height:80px;fill:none;stroke:#25b5f5;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;z-index:1}.success-orbit path{stroke-dasharray:70;stroke-dashoffset:0}.success-dialog[open] .success-orbit path{animation:check-draw .65s .2s both}.success-orbit i{position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#0C9ADA;--dx:66px;--dy:-45px}.success-orbit i:nth-of-type(2){--dx:-60px;--dy:-55px}.success-orbit i:nth-of-type(3){--dx:58px;--dy:57px}.success-orbit i:nth-of-type(4){--dx:-68px;--dy:40px}.success-dialog[open] .success-orbit i{animation:spark .9s .15s both}
@keyframes success-enter{from{opacity:0;transform:translateY(35px) scale(.9)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes ring-enter{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes check-draw{from{stroke-dashoffset:70}to{stroke-dashoffset:0}}@keyframes spark{0%{transform:translate(0,0);opacity:0}40%{opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes copy-wave{from{opacity:.7;transform:scale(.97)}to{opacity:0;transform:scale(1.12)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scroll-cue{50%{transform:translateY(6px)}}
@media(max-width:700px){.header nav,.header nav.open{display:flex;flex-direction:column;gap:0;padding:18px var(--pad);opacity:0;visibility:hidden;transform:translateY(-10px);clip-path:inset(0 0 100% 0);transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1),clip-path .4s cubic-bezier(.16,1,.3,1),visibility .4s;box-shadow:0 18px 24px #0f1c2312}.header nav.open{opacity:1;visibility:visible;transform:none;clip-path:inset(0 0 0 0)}.header nav a{font-size:23px;letter-spacing:-.6px;padding:13px 0;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .35s}.header nav.open a{opacity:1;transform:none}.header nav.open a:nth-child(2){transition-delay:60ms}.header nav.open a:nth-child(3){transition-delay:120ms}.header nav a:after{display:none}.success-dialog{padding:42px 24px 30px}.success-dialog h2{font-size:46px}.success-orbit{width:115px;height:115px;margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after,*::details-content{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-motion .reveal{opacity:1;transform:none}.partner-grid>span:hover{translate:none}.service-card:hover h3,.service-card:hover .service-icon,.brand:hover img,.back-top:hover{transform:none}.success-orbit i{display:none}.success-orbit path{stroke-dashoffset:0}}

/* Keep navigation visible and anchor targets below its actual height. */
.header{position:sticky;top:0;z-index:50}
html{scroll-padding-top:calc(var(--header-height,96px) + 20px)}


/* Full-width section backgrounds on wide desktop screens. */
@media(min-width:1600px){body{max-width:none;margin:0;--pad:max(80px,calc((100vw - 1824px) / 2))}}


/* Client names replace the example partner marks. */
.partner-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.client-name{display:block;padding:16px 4px;font-family:Manrope,Arial,sans-serif;font-size:clamp(19px,2vw,28px);font-weight:650;letter-spacing:-.8px;color:#526577;transition:color .25s,translate .3s}.client-name:hover,.client-name:focus-visible{color:#0C9ADA;translate:0 -4px}@media(max-width:900px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-name{font-size:20px}}@media(prefers-reduced-motion:reduce){.client-name:hover{translate:none}}

.ui-icon{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.success-close{display:grid;place-items:center}.card-top{justify-content:flex-start}
