html{scroll-behavior:smooth}.portfolio-module__RG2vna__root{--navy:#03045e;--blue:#0077b6;--cyan:#00b4d8;--sky:#90e0ef;--ice:#caf0f8;--white:#fff;--mist:#f7fcfe;--frost:#eef7fb;--ink:#03045e;--charcoal:#3a4a6b;--slate:#6e7a94;--granite:#8a94a8;--dust-taupe:#a9b7c9;--canvas:#fff;--canvas-lifted:#f7fcfe;--ghost:#e6f6fc;--accent:#00b4d8;--accent-deep:#0077b6;--accent-soft:#90e0ef;--accent-tint:#caf0f8;background:var(--canvas);color:var(--ink);font-family:var(--font-sofia-sans), "Sofia Sans", Inter, Arial, sans-serif;position:relative;overflow-x:hidden}.portfolio-module__RG2vna__root a{text-decoration:none}.portfolio-module__RG2vna__root,.portfolio-module__RG2vna__root *,.portfolio-module__RG2vna__root :before,.portfolio-module__RG2vna__root :after{box-sizing:content-box}.portfolio-module__RG2vna__root{line-height:normal}.portfolio-module__RG2vna__navUnderline{background:var(--accent);width:0;height:2px;transition:width .45s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-2px;left:0}.portfolio-module__RG2vna__navLink:hover .portfolio-module__RG2vna__navUnderline{width:100%}.portfolio-module__RG2vna__moreUnderline{background:var(--accent);width:0;height:3px;transition:width .5s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-6px;left:0}.portfolio-module__RG2vna__moreBlock:hover .portfolio-module__RG2vna__moreUnderline{width:100%}.portfolio-module__RG2vna__moreBlock:hover .portfolio-module__RG2vna__moreArrow{box-shadow:0 8px 24px #00b4d873}.portfolio-module__RG2vna__nextUnderline{background:var(--accent);width:0;height:3px;transition:width .5s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:-6px;left:0}.portfolio-module__RG2vna__nextBlock:hover .portfolio-module__RG2vna__nextUnderline{width:100%}.portfolio-module__RG2vna__nextArrow{transition:transform .3s cubic-bezier(.2,.7,.3,1)}.portfolio-module__RG2vna__nextBlock:hover .portfolio-module__RG2vna__nextArrow{transform:scale(1.1)}.portfolio-module__RG2vna__zoomOverlay{opacity:0;transition:opacity .4s cubic-bezier(.22,.61,.36,1)}.portfolio-module__RG2vna__zoomTrigger:hover .portfolio-module__RG2vna__zoomOverlay,.portfolio-module__RG2vna__zoomTrigger:focus-visible .portfolio-module__RG2vna__zoomOverlay{opacity:1}.portfolio-module__RG2vna__logo{filter:grayscale();opacity:.5;width:auto;height:auto;transition:filter .5s,opacity .5s,transform .5s cubic-bezier(.22,.61,.36,1);display:block}.portfolio-module__RG2vna__logo:hover{filter:grayscale(0);opacity:1;transform:translateY(-3px)scale(1.05)}.portfolio-module__RG2vna__ctaPrimary:hover{opacity:.9}.portfolio-module__RG2vna__ctaSecondary:hover{background:#fcfbfa}.portfolio-module__RG2vna__ctaOnDarkGhost:hover{background:#ffffff14}.portfolio-module__RG2vna__ctaOnDarkSolid:hover{opacity:.88}@keyframes portfolio-module__RG2vna__morphA{0%{border-radius:62% 38% 54% 46%/48% 56% 44% 52%;transform:translate(0,0)rotate(0)scale(1)}50%{border-radius:44% 56% 40% 60%/58% 40% 60% 42%;transform:translateY(-26px)rotate(8deg)scale(1.06)}to{border-radius:56% 44% 62% 38%/42% 60% 40% 58%;transform:translateY(14px)rotate(-6deg)scale(.97)}}@keyframes portfolio-module__RG2vna__morphB{0%{border-radius:44% 56% 38% 62%/58% 42% 60% 40%;transform:translate(0,0)rotate(0)scale(1)}50%{border-radius:60% 40% 56% 44%/40% 58% 42% 60%;transform:translateY(22px)rotate(-11deg)scale(1.08)}to{border-radius:38% 62% 46% 54%/56% 44% 58% 42%;transform:translateY(-18px)rotate(7deg)scale(.96)}}.portfolio-module__RG2vna__blobA{filter:blur(55px);opacity:.6;background:radial-gradient(circle at 38% 32%,#00b4d8,#fff0 78%);border-radius:62% 38% 54% 46%/48% 56% 44% 52%;width:100%;height:100%;animation:17s ease-in-out infinite alternate portfolio-module__RG2vna__morphA}.portfolio-module__RG2vna__blobB{filter:blur(55px);opacity:.8;background:radial-gradient(circle at 38% 32%,#90e0ef,#fff0 78%);border-radius:44% 56% 38% 62%/58% 42% 60% 40%;width:100%;height:100%;animation:26s ease-in-out -9s infinite alternate portfolio-module__RG2vna__morphB}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portfolio-module__RG2vna__blobA,.portfolio-module__RG2vna__blobB{animation:none}.portfolio-module__RG2vna__root *,.portfolio-module__RG2vna__root :before,.portfolio-module__RG2vna__root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@keyframes case-study-module__YI50aW__devFloatA{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-18px)rotate(1deg)}}@keyframes case-study-module__YI50aW__devFloatB{0%,to{transform:translateY(-10px)rotate(2deg)}50%{transform:translateY(12px)rotate(-1deg)}}@keyframes case-study-module__YI50aW__devDash{to{stroke-dashoffset:-260px}}@keyframes case-study-module__YI50aW__devPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.case-study-module__YI50aW__devFloatA{animation:7s ease-in-out infinite case-study-module__YI50aW__devFloatA}.case-study-module__YI50aW__devFloatB{animation:8s ease-in-out infinite case-study-module__YI50aW__devFloatB}.case-study-module__YI50aW__devDash{animation-name:case-study-module__YI50aW__devDash;animation-timing-function:linear;animation-iteration-count:infinite}.case-study-module__YI50aW__devPulse{animation:3s ease-in-out infinite case-study-module__YI50aW__devPulse}@keyframes case-study-module__YI50aW__tlFillSeg{to{background:var(--accent,#00b4d8)}}@keyframes case-study-module__YI50aW__tlBlinkSeg{0%,to{background:#03045e26}50%{background:var(--accent,#00b4d8)}}@keyframes case-study-module__YI50aW__tlFillBar{to{width:100%}}.case-study-module__YI50aW__tlSeg{animation:1s ease-out forwards case-study-module__YI50aW__tlFillSeg}.case-study-module__YI50aW__tlSegActive{animation:2s ease-in-out infinite case-study-module__YI50aW__tlBlinkSeg}.case-study-module__YI50aW__tlFillBar{animation:4.8s cubic-bezier(.22,.61,.36,1) 1.2s forwards case-study-module__YI50aW__tlFillBar}@media (prefers-reduced-motion:reduce){.case-study-module__YI50aW__devFloatA,.case-study-module__YI50aW__devFloatB,.case-study-module__YI50aW__devDash,.case-study-module__YI50aW__devPulse,.case-study-module__YI50aW__tlSeg,.case-study-module__YI50aW__tlSegActive,.case-study-module__YI50aW__tlFillBar{animation:none}.case-study-module__YI50aW__tlFillBar{width:100%}.case-study-module__YI50aW__tlSeg{background:var(--accent,#00b4d8)}}
