@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
html,body{max-width:100vw;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}
:root{--bg-main:#f4f2ff;--bg-soft:#edf2ff;--text-main:#2f3568;--text-muted:#5f6590;--glass:#ffffff94;--glass-strong:#ffffffb8;--border:#8490c947;--accent-a:#7f8ef6;--accent-b:#6eb3ff}*{box-sizing:border-box}body{color:var(--text-main);background:radial-gradient(circle at 10% 18%,#eef1ff,transparent 45%),radial-gradient(circle at 90% 88%,#e2ebff,transparent 42%),linear-gradient(180deg,var(--bg-main),var(--bg-soft));margin:0;font-family:Inter,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.portfolio-page{min-height:100vh;padding-bottom:0}.portfolio-page-short{flex-direction:column;display:flex}.portfolio-page-short .about-page{flex:1}.portfolio-page-short .contact-footer{margin-top:auto}.shell{width:min(1480px,100% - 64px);margin:0 auto}.glass-card{background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;box-shadow:0 10px 22px #6d78b51f}.navbar{z-index:40;margin:0 0 clamp(12px,2vw,20px);position:sticky;top:0}.nav-content{background:var(--glass-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0;align-items:center;gap:clamp(12px,1.6vw,22px);width:100%;margin:0;padding:clamp(10px,1.2vw,14px) clamp(14px,1.8vw,24px);display:flex}.nav-brand{letter-spacing:.08em;flex-shrink:0;align-items:center;width:min(100%,clamp(118px,13vw,196px));font-size:1.8rem;font-weight:700;display:inline-flex}.nav-brand-logo{opacity:.7;width:100%;height:auto;display:block}.nav-links{color:var(--text-muted);align-items:center;gap:clamp(14px,1.6vw,24px);margin-left:auto;font-size:clamp(.92rem,.86rem + .16vw,1rem);display:flex}.nav-links a:hover{color:var(--text-main)}.lang-switch{background:#ffffffbd;border:1px solid #97a1d766;border-radius:999px;align-items:center;gap:6px;padding:5px;display:inline-flex}.lang-btn{color:#555e8a;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:clamp(7px,.7vw,8px) clamp(10px,.9vw,12px);font-size:clamp(.85rem,.82rem + .16vw,.95rem);font-weight:600;line-height:1}.lang-btn.is-active{color:#fff;background:#6f88ee;box-shadow:0 4px 10px #7081ee42}.nav-hamburger{cursor:pointer;background:#ffffffbd;border:1px solid #97a1d766;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;margin-left:auto;padding:0;display:none}.nav-hamburger span{background:#555e8a;border-radius:2px;width:20px;height:2px;transition:transform .25s,opacity .2s;display:block}.nav-hamburger.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);width:100%;padding:8px 20px 22px;animation:.2s menu-slide-down}@keyframes menu-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mobile-nav{flex-direction:column;align-items:stretch;width:min(100%,320px);margin-right:auto;display:flex}.mobile-nav a{color:var(--text-muted);text-align:left;border-bottom:1px solid #8f9ad224;padding:15px 0;font-size:1.1rem;font-weight:600;display:block}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:hover{color:var(--text-main)}.mobile-nav-cta{color:#2f3568;margin-top:6px;font-weight:700}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:11px 24px;font-size:1rem;font-weight:600;line-height:1;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn-primary{color:#fff;background:#6f88ee;box-shadow:0 6px 14px #6f88ee3d}.btn-primary:hover{background:#627ce6;transform:translateY(-1px);box-shadow:0 8px 16px #627ce647}.btn-secondary{color:#475082;background:#ffffff59;border-color:#919cd440}.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.hero{padding:clamp(22px,5vh,50px) 0 clamp(18px,4vh,40px)}.hero-left{max-width:min(100%,760px)}.hero-layout{grid-template-columns:minmax(0,1.08fr) minmax(280px,36vw);align-items:center;gap:clamp(18px,3vw,56px);display:grid}.hero h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.05rem,1.2rem + 3vw,4.65rem);line-height:1.06}.hero-title{color:#2a3152;max-width:min(17ch,100%);margin:0 0 clamp(12px,1.6vw,22px)}.hero-title-highlight{color:#6f88ee}.hero-kicker{color:#4f5a98;margin:0;font-size:clamp(.98rem,.9rem + .35vw,1.22rem);font-weight:500}.hero-description{max-width:min(60ch,100%);color:var(--text-muted);margin:0;font-size:clamp(.95rem,.9rem + .2vw,1.06rem);line-height:1.55}.hero-trust{color:#56619a;letter-spacing:.01em;margin:0;font-size:.95rem;font-weight:600}.hero-cta{flex-wrap:wrap;gap:clamp(10px,1vw,12px);margin-top:clamp(16px,2vw,26px);display:flex}.hero-cta .btn{min-height:clamp(40px,4vw,48px);padding:clamp(10px,1vw,12px) clamp(18px,1.7vw,28px);font-size:clamp(.95rem,.9rem + .16vw,1rem)}.hero-cta .btn-primary{padding-inline:clamp(22px,2vw,28px)}.hero-cta .btn-secondary{color:#556094;background:#ffffff42;border-color:#919cd433}.hero-assurance{align-items:center;gap:12px;margin-top:22px;display:flex}.hero-assurance-line{background:#8490c980;width:56px;height:1px}.hero-trust-indicators{flex-wrap:wrap;gap:10px 18px;margin:26px 0 0;padding:0;list-style:none;display:flex}.hero-trust-item{color:#56619a;letter-spacing:.005em;padding-left:14px;font-size:.92rem;font-weight:600;position:relative}.hero-trust-item:before{content:"";background:#6f8ee9bf;border-radius:50%;width:4px;height:4px;position:absolute;top:.6em;left:0}.hero-visual{justify-content:center;justify-self:end;align-items:center;width:min(100%,clamp(260px,34vw,520px));display:flex}.hero-visual img{opacity:.9;filter:saturate(.92)contrast(.98);border-radius:0;width:100%;max-width:100%;height:auto;margin:0 auto;display:block}.section{padding:84px 0}.tone-plain{background:0 0}.tone-soft{background:#ffffff61;border-top:1px solid #8f9ad229;border-bottom:1px solid #8f9ad229}.section h2{margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.1}.section-subtitle{color:var(--text-muted);max-width:760px;margin:18px 0 0;font-size:1.1rem;line-height:1.55}.section-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.section-heading{min-width:0}.process-header{justify-content:center}.process-heading{text-align:center}.process-heading .section-subtitle{margin-left:auto;margin-right:auto}.projects-header,.trust-header,.why-header{justify-content:center}.projects-heading,.trust-heading,.why-heading{text-align:center}.projects-heading .section-subtitle,.trust-heading .section-subtitle,.why-heading .section-subtitle{margin-left:auto;margin-right:auto}.service-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}@media (min-width:1201px){.service-groups{grid-template-columns:repeat(6,minmax(0,1fr))}.service-groups>*{grid-column:span 2}.service-groups>:last-child:nth-child(3n+1){grid-column:3/span 2}.service-groups>:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}.service-groups>:last-child:nth-child(3n+2){grid-column:4/span 2}}.services-header{justify-content:center}.services-header .section-heading{text-align:center}.flow-item{background:radial-gradient(circle at 84% 16%,#9eb7ff3d,#0000 40%),#ffffffad;border:1px solid #8591cc3d;border-radius:22px;padding:28px 22px 24px;position:relative;overflow:hidden;box-shadow:0 12px 24px #6974af1a}.flow-item h3{color:#2f3c74;max-width:18ch;margin:0;font-size:1.42rem;line-height:1.24}.flow-item p{color:var(--text-muted);max-width:38ch;margin:12px 0 0;font-size:1rem;line-height:1.62}.service-group-item h3{max-width:none}.service-group-card-link{height:100%;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;display:block}.service-group-card-link:hover{border-color:#8591cc57;transform:translateY(-2px);box-shadow:0 16px 28px #6974af1f}.service-group-description{margin:10px 0 0}.service-group-description+.service-group-list{margin-top:18px}.service-group-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.service-group-list li{color:var(--text-muted);padding-left:18px;font-size:1rem;line-height:1.5;position:relative}.service-group-list li:before{content:"";background:linear-gradient(135deg,var(--accent-a),var(--accent-b));border-radius:999px;width:7px;height:7px;position:absolute;top:.62em;left:0}.projects-wrap{padding:0}.project-marquee{cursor:grab;touch-action:pan-y;margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.project-track{will-change:transform;align-items:stretch;gap:20px;width:max-content;display:flex}.project-marquee.is-dragging,.trust-marquee.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.project-image-card{background:radial-gradient(circle at 18% 10%,#a8bcff38,#0000 38%),#ffffff94;border:1px solid #8591cc38;border-radius:26px;flex:none;width:clamp(300px,38vw,620px);padding:12px;box-shadow:0 16px 34px #6570ac24}.project-image{opacity:.86;filter:saturate(.92)contrast(.98);border-radius:18px;width:100%;height:auto;display:block}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.process-flow{gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid;position:relative}.process-flow:before{content:"";background:#7f8ef659;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.process-step{align-items:center;min-height:96px;display:grid;position:relative}.process-index{aspect-ratio:1;color:#fff;background:linear-gradient(135deg,var(--accent-b),var(--accent-a));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #626dd63d}.process-step.is-left{padding-right:calc(50% + 22px)}.process-step.is-right{padding-left:calc(50% + 30px)}.process-step.is-left .process-card{margin-left:auto}.process-node{aspect-ratio:1;background:linear-gradient(135deg,var(--accent-b),var(--accent-a));z-index:2;border:3px solid #ffffffeb;border-radius:999px;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #626dd652}.process-card{background:#ffffffbd;border:1px solid #8490c933;border-radius:22px;width:100%;max-width:470px;padding:20px 24px;box-shadow:0 10px 22px #6d78b51a}.process-card h3{color:#0f1c3b;align-items:center;gap:10px;margin:0;font-size:clamp(1.15rem,1.7vw,1.65rem);line-height:1.2;display:flex}.process-card p{color:#4f5b92;margin:18px 0 0;font-size:1.08rem;line-height:1.56}.trust-wrap{padding:0}.trust-marquee{cursor:grab;touch-action:pan-y;margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.trust-track{will-change:transform;align-items:stretch;gap:18px;width:max-content;display:flex}.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.reviews-title{letter-spacing:.06em;text-transform:uppercase;color:#6670a4;margin:0 0 8px;font-size:1rem}.reviews-summary{color:#4f5a95;margin:0;font-size:.98rem;font-weight:600}.trust-quote-card{background:#ffffffb8;border:1px solid #8490c933;border-radius:22px;flex:none;width:clamp(260px,28vw,340px);margin:0;padding:24px 22px 20px;box-shadow:0 10px 22px #6d78b51a}.quote-mark{color:#b7c9ef;font-size:3rem;font-weight:700;line-height:.8;display:block}.review-stars{color:#f0b81d;letter-spacing:.1em;margin:14px 0 0;font-size:1.12rem;line-height:1}.quote-text{color:#3b467e;margin:16px 0 0;font-size:clamp(.98rem,.9rem + .32vw,1.14rem);font-style:italic;line-height:1.52}.quote-divider{border:0;border-top:1px solid #8490c947;margin:18px 0 14px}.trust-quote-card cite{gap:6px;font-style:normal;display:grid}.quote-author{color:#3f497f;font-size:clamp(1.28rem,1.08rem + .9vw,1.7rem);font-weight:700;line-height:1.1}.quote-role,.quote-location{color:#6770a1;font-size:.96rem}.why-list{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.why-item{background:#ffffff9e;border:1px solid #8591cc33;border-radius:20px;grid-template-columns:320px 1fr;align-items:start;gap:20px;padding:20px 24px 20px 58px;display:grid;position:relative;box-shadow:0 8px 18px #6d78b514}.why-item:before{content:"";background:linear-gradient(135deg,var(--accent-b),var(--accent-a));border:3px solid #ffffffe6;border-radius:999px;width:16px;height:16px;position:absolute;top:26px;left:24px;box-shadow:0 4px 10px #626dd63d}.why-item h3{color:#2f3c74;margin:0;font-size:1.16rem}.why-item p{color:#5f6893;max-width:760px;margin:0;line-height:1.62}.faq-header{justify-content:center}.faq-heading{text-align:center}.faq-heading .section-subtitle{margin-left:auto;margin-right:auto}.faq-list{gap:14px;margin-top:28px;display:grid}#faq.section{padding-bottom:42px}.faq-item{background:radial-gradient(circle at 86% 16%,#9eb7ff2e,#0000 38%),#ffffffad;border:1px solid #8591cc33;border-radius:22px;overflow:hidden;box-shadow:0 10px 22px #6d78b514}.faq-question{cursor:pointer;color:#2f3c74;padding:22px 70px 22px 24px;font-size:1.08rem;font-weight:700;line-height:1.45;list-style:none;position:relative}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";color:#5361a1;background:#ffffffc7;border:1px solid #919cd447;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.faq-item[open] .faq-question:after{content:"-"}.faq-answer{border-top:1px solid #8490c933;padding:0 24px 22px}.faq-answer p{color:#5f6893;margin:16px 0 0;line-height:1.65}.about-page{padding-top:8px}.about-copy{gap:36px;max-width:860px;margin:0 auto;display:grid}.about-intro{text-align:center}.about-intro .section-subtitle{max-width:72ch;margin-top:18px;margin-left:auto;margin-right:auto}.about-intro .section-subtitle a{color:#3f497f;text-underline-offset:.16em;text-decoration:underline}.about-block{gap:16px;display:grid}.about-block h2{font-size:clamp(1.75rem,2.6vw,2.35rem)}.about-block p{max-width:72ch;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.7}.about-block strong{color:#3f497f}.about-list{color:var(--text-muted);gap:12px;margin:0;padding-left:1.2rem;font-size:1.05rem;line-height:1.7;display:grid}.project-card{background:#ffffffa8;border-radius:22px;flex-direction:column;height:100%;padding:14px;display:flex}.project-card:hover{transform:translateY(-4px)}.project-thumb{aspect-ratio:16/9;object-fit:cover;border:1px solid #919cd45c;border-radius:16px;width:100%;height:auto;margin-bottom:14px;display:block}.thumb-a{background:linear-gradient(140deg,#9ed6ff,#978af2)}.thumb-b{background:linear-gradient(140deg,#ffd0a1,#f496be)}.thumb-c{background:linear-gradient(140deg,#95f0dd,#84b3ff)}.project-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.3em;margin:0;font-size:1.45rem;line-height:1.15;display:-webkit-box;overflow:hidden}.project-card .tech{color:#4f5a9c;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:8px 0 12px;font-size:.98rem;display:-webkit-box;overflow:hidden}.project-card p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.45}.project-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.4em;display:-webkit-box;overflow:hidden}.project-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:16px;display:grid}.project-actions-single{grid-template-columns:1fr}.contact-footer{background:linear-gradient(#f0ecffbf,#e5ecffe0);border-top:1px solid #95a0da4d;margin-top:24px;padding:18px 0 0}.footer-shell{width:100%;margin:0}.contact-card{padding:24px 22px}.contact-card h2{margin:0;font-size:clamp(1.8rem,2.6vw,2.4rem)}.contact-card p{color:var(--text-muted);max-width:760px;margin:14px 0 0}.contact-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--text-main);background:#ffffffb8;border:1px solid #95a0d85c;border-radius:16px;padding:12px 14px}.contact-form textarea{resize:vertical;grid-column:1/-1;min-height:120px}.contact-input-full{grid-column:1/-1}.contact-form button{grid-column:1/-1;justify-self:end;min-width:200px}.contact-form button:disabled{opacity:.72;cursor:wait}.contact-form-status{grid-column:1/-1;margin:4px 0 0;font-size:.95rem}.contact-form-status-success{color:#21603a}.contact-form-status-error{color:#a13333}.footer-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#ffffffad,#f3f7ffbd);border-top:1px solid #95a0da47;border-radius:0;margin-top:22px;padding:46px 48px 26px}.footer-grid{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.9fr));align-items:start;gap:40px;display:grid}.footer-col h3,.footer-col h4{color:#3f4678;margin:0 0 14px;font-size:1.12rem;font-weight:700}.footer-brand{align-items:center;display:inline-flex}.footer-brand-logo{opacity:.88;width:auto;height:42px;display:block}.footer-col p,.footer-col a{color:#69719a;overflow-wrap:anywhere;margin:0 0 10px;font-size:1rem;line-height:1.45;display:block}.footer-col a:hover{color:#4c5585}.footer-copyright{margin-top:18px}.footer-socials{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.footer-col .footer-social-link{color:#4f5b92;background:#7887cc1f;border:1px solid #7887cc2e;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;margin:0;padding:0;transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s;display:inline-flex;box-shadow:0 10px 18px #6d78b514}.footer-col .footer-social-link:hover{color:#3f497f;background:#7887cc38;border-color:#7887cc47;transform:translateY(-1px);box-shadow:0 12px 22px #6d78b51f}.footer-social-link svg{fill:currentColor;flex-shrink:0;width:14px;height:14px}.footer-meta{color:#7a82a7;border-top:1px solid #95a0da3d;justify-content:space-between;align-items:center;gap:16px;margin-top:34px;padding-top:22px;font-size:1rem;display:flex}.footer-legal{justify-items:start;gap:8px;display:grid}.footer-legal a{color:#69719a;margin:0}.footer-legal a:hover{color:#4c5585}.footer-legal-inline{margin-top:14px}.footer-contact-content{gap:8px;display:grid}.footer-contact-links p,.footer-contact-links a{margin:0 0 10px}.whatsapp-fab{color:#fff;background:linear-gradient(135deg,var(--accent-b),var(--accent-a));z-index:70;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 26px #626dd647}.whatsapp-fab:hover{transform:translateY(-2px);box-shadow:0 16px 28px #626dd652}.whatsapp-fab:focus-visible{outline-offset:3px;outline:2px solid #4a61c985}.whatsapp-fab svg{fill:currentColor;width:28px;height:28px}@media (max-width:1200px){.service-groups,.project-grid,.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.section{padding:64px 0}.section h2{font-size:clamp(1.8rem,2.6vw,2.35rem)}.section-subtitle{margin-top:12px;font-size:1rem}.flow-item{padding:22px 20px 20px}.flow-item h3{font-size:1.24rem}.flow-item p,.service-group-list li,.project-card p,.quote-role,.quote-location{font-size:.95rem;line-height:1.5}.quote-text{font-size:1.05rem}.trust-quote-card{width:clamp(250px,34vw,320px);padding:22px 20px 18px}}@media (max-width:900px){.shell{width:min(1480px,100% - 28px)}.nav-content{gap:12px;padding-left:16px;padding-right:16px}.nav-brand{width:min(100%,clamp(114px,29vw,168px))}.nav-links{display:none}.nav-content>.lang-switch{margin-left:auto;display:inline-flex}.btn-cv{display:none}.nav-hamburger{width:38px;height:38px;margin-left:8px;display:flex}.hero-layout{grid-template-columns:1fr;gap:14px}.hero-left{max-width:640px}.hero h1{font-size:clamp(1.95rem,5.3vw,3rem)}.hero-title{max-width:min(20ch,100%)}.hero-description{max-width:54ch}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:min(100%,300px)}.service-groups,.project-grid,.contact-form{grid-template-columns:1fr}.process-flow{gap:18px}.process-flow:before{left:20px;transform:none}.process-step,.process-step.is-left,.process-step.is-right{min-height:unset;padding-left:52px;padding-right:0}.process-node{top:42px;left:20px;transform:translate(-50%,-50%)}.process-card{max-width:100%;padding:22px 20px}.process-card h3{align-items:flex-start;font-size:1.28rem}.process-index{width:40px;height:40px;font-size:1.05rem}.process-card p{margin-top:14px;font-size:1rem}.why-item{grid-template-columns:1fr;gap:8px;padding:18px 18px 18px 50px}.why-item:before{top:23px;left:18px}.contact-form button{justify-self:stretch}.project-actions{grid-template-columns:1fr}.project-actions .btn{width:100%}.project-card h3,.project-card .tech,.project-description{min-height:unset}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.footer-grid>.footer-col:first-child,.footer-grid>.footer-col-contact{grid-column:1/-1}.footer-panel{min-height:unset;padding:30px 22px 20px}.footer-meta{flex-direction:column;align-items:flex-start;margin-top:22px;padding-top:16px}.footer-legal{gap:8px;width:100%}.project-image-card{width:min(84vw,460px)}.trust-marquee{-webkit-mask-image:none;mask-image:none}.trust-track{gap:14px}.trust-quote-card{width:min(78vw,290px);padding:20px 18px 18px}}@media (min-width:721px) and (max-width:900px){.hero{padding:22px 0 18px}.hero-layout{grid-template-columns:minmax(0,1.08fr) minmax(210px,31vw);align-items:center;gap:16px}.hero-left{max-width:none}.hero h1{font-size:clamp(1.95rem,4.2vw,2.55rem);line-height:1.08}.hero-title{max-width:min(16.5ch,100%)}.hero-description{max-width:34ch;font-size:.96rem;line-height:1.5}.hero-cta{flex-direction:row;align-items:center;gap:10px;margin-top:14px}.hero-cta .btn{width:auto;min-width:172px}.hero-visual{place-self:center end;width:min(100%,clamp(220px,31vw,320px));margin-top:0;display:flex}.service-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-groups>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,360px)}}@media (min-width:901px) and (max-width:1280px) and (max-height:760px){.shell{width:min(1480px,100% - 40px)}.navbar{margin-bottom:8px}.nav-content{gap:14px;padding-top:8px;padding-bottom:8px}.nav-brand{width:min(100%,clamp(126px,12vw,176px))}.nav-links{gap:14px;font-size:.92rem}.lang-btn{padding:7px 10px;font-size:.85rem}.btn-cv{padding:10px 18px;font-size:.92rem}.hero{padding:18px 0 16px}.hero-layout{grid-template-columns:minmax(0,1.08fr) minmax(220px,29vw);gap:14px}.hero-left{max-width:700px}.hero h1{font-size:clamp(2rem,1.35rem + 2vw,3rem);line-height:1.06}.hero-title{max-width:min(16ch,100%)}.hero-description{max-width:54ch;font-size:.94rem;line-height:1.42}.hero-cta{margin-top:12px}.hero-visual{justify-self:end;width:min(100%,clamp(220px,27vw,340px))}.section{padding:50px 0}}@media (max-width:900px) and (max-height:760px){.shell{width:min(1480px,100% - 24px)}.navbar{margin-bottom:8px}.hero{padding:16px 0 14px}.hero-layout{gap:10px}.hero h1{font-size:clamp(1.75rem,5vw,2.4rem);line-height:1.08}.hero-title{max-width:min(19ch,100%)}.hero-description{font-size:.93rem;line-height:1.42}.hero-cta{margin-top:10px}.hero-visual{width:min(100%,clamp(200px,48vw,280px))}.section{padding:46px 0}}@media (min-width:721px) and (max-width:900px) and (max-height:760px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(190px,26vw);gap:14px}.hero h1{font-size:clamp(1.6rem,3.7vw,2.15rem)}.hero-title{max-width:min(17ch,100%)}.hero-description{max-width:38ch;font-size:.91rem;line-height:1.37}.hero-cta .btn{width:min(100%,235px);min-height:38px}.hero-visual{width:min(100%,clamp(190px,25vw,250px));display:flex}}@media (max-width:960px){.nav-brand-logo{max-width:100%;height:auto}.nav-links{gap:16px;font-size:.95rem}.btn-cv{padding:10px 18px;font-size:.92rem}.section{padding:72px 0}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}}@media (max-width:720px){.shell,.nav-content,.footer-shell{width:100%}.shell{padding-left:16px;padding-right:16px}.whatsapp-fab{width:52px;height:52px;bottom:14px;right:14px}.nav-content{border-radius:0;flex-wrap:nowrap;padding-left:16px;padding-right:16px}.nav-brand{max-width:min(40vw,156px)}.nav-brand-logo{width:100%;height:auto}.nav-links{display:none}.nav-content>.lang-switch{margin-left:auto;display:inline-flex}.btn-cv{display:none}.nav-hamburger{margin-left:8px;display:flex}.hero{padding:28px 0 24px}.hero h1{font-size:clamp(1.5rem,6.7vw,2rem);line-height:1.04}.hero-title{max-width:min(13ch,100%);margin:0 0 14px}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(110px,32vw);align-items:start;gap:10px}.hero-visual{place-self:start end;width:min(100%,clamp(110px,32vw,170px));margin-top:6px;display:flex}.hero-description{max-width:24ch;font-size:.9rem;line-height:1.38}.hero-cta{flex-direction:column;margin-top:12px}.hero-cta .btn{width:min(100%,220px)}.hero-assurance{margin-top:18px}.section{padding:60px 0}.section-header{margin-bottom:24px}.project-grid,.contact-form{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.footer-grid>.footer-col:first-child,.footer-grid>.footer-col-contact{grid-column:1/-1}.footer-panel{padding:24px 18px 18px}.footer-col h3,.footer-col h4{margin-bottom:10px;font-size:1.02rem}.footer-brand-logo{width:auto;height:36px}.footer-col p,.footer-col a{margin-bottom:8px;font-size:.95rem;line-height:1.35}.footer-copyright{margin-top:12px}.footer-socials{margin-top:10px}.footer-contact-content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 18px}.trust-grid{grid-template-columns:1fr}.trust-quote-card{width:min(82vw,270px)}.project-image-card{width:min(86vw,520px)}.project-marquee{-webkit-mask-image:none;mask-image:none}.service-groups{grid-template-columns:1fr;gap:14px}.flow-item{padding:24px 18px 20px}.process-flow{gap:18px}.process-flow:before{left:20px;transform:none}.process-step,.process-step.is-left,.process-step.is-right{min-height:unset;padding-left:52px;padding-right:0}.process-node{top:42px;left:20px;transform:translate(-50%,-50%)}.process-card{max-width:100%;padding:22px 20px}.process-card h3{align-items:flex-start;font-size:1.28rem}.process-index{width:40px;height:40px;font-size:1.05rem}.process-card p{margin-top:14px;font-size:1rem}.why-item{grid-template-columns:1fr;gap:8px;padding:18px 18px 18px 50px}.faq-question{padding:18px 62px 18px 18px;font-size:1rem}.faq-question:after{width:28px;height:28px;right:18px}.faq-answer{padding:0 18px 18px}.why-item:before{top:23px;left:18px}.contact-form button{justify-self:stretch}.project-actions{grid-template-columns:1fr}.project-actions .btn{width:100%}.project-card h3,.project-card .tech,.project-description{min-height:unset}.footer-meta{flex-direction:column;align-items:flex-start;margin-top:22px;padding-top:16px}.footer-legal{gap:8px;width:100%}.footer-panel{min-height:unset;padding:30px 22px 20px}}@media (max-width:480px){.nav-links{gap:14px;font-size:.9rem}.lang-switch{gap:4px;margin-left:auto;padding:4px}.lang-btn{padding:6px 9px;font-size:.82rem}.btn{padding:10px 16px}.hero h1{font-size:clamp(1.3rem,7.2vw,1.75rem)}.hero-title{max-width:min(11ch,100%)}.hero-description{max-width:20ch;font-size:.82rem;line-height:1.34}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(92px,30vw);gap:8px}.hero-visual{width:min(100%,clamp(92px,30vw,130px));margin-top:8px}.hero-cta .btn{width:min(100%,180px);min-height:36px;font-size:.9rem}.section{padding:52px 0}.footer-grid{gap:18px 14px}.contact-card,.footer-panel{padding-left:14px;padding-right:14px}.footer-contact-content{gap:12px 14px}.footer-legal{gap:8px}}@media (max-width:640px){.hero{padding:24px 0 22px}.hero .shell{padding-left:12px;padding-right:12px}.hero-layout{grid-template-columns:1fr;gap:12px}.hero-left{text-align:center;width:100%;max-width:100%;margin:0 auto}.hero h1{text-wrap:balance;font-size:clamp(1.55rem,6.6vw,2rem);line-height:1.12}.hero-title{max-width:none;margin:0 auto 12px}.hero-description{max-width:34ch;margin-left:auto;margin-right:auto;font-size:.92rem;line-height:1.5}.hero-visual{display:none}.hero-cta{align-items:center;margin-top:12px}.hero-cta .btn{width:min(100%,240px)}}@media (prefers-reduced-motion:reduce){.project-track,.trust-track{will-change:auto}}
