@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap";:root{--primary: #34a693;--primary-deep: #237f71;--primary-soft: #dff5ef;--lime: #7fcf64;--dark: #1e2023;--dark-2: #282b2e;--ink: #323130;--body: #4c4c4b;--muted: #7f8583;--border: #dbe2df;--light: #f4f7f6;--white: #fff;--container: 1180px;--radius: 22px;--shadow: 0 28px 80px rgba(12, 33, 29, .16)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:DM Sans,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section{padding:128px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--white);padding:10px 16px;border-radius:8px}.skip-link:focus{top:16px}.site-header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.3s ease}.site-header.scrolled{background:#ffffffe6;border-color:#1e202314;box-shadow:0 6px 30px #1e20230f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:88px}.brand{width:176px;height:48px;display:flex;align-items:center;overflow:hidden}.brand img{width:176px}.site-nav{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:600}.site-nav>a:not(.button){position:relative}.site-nav>a:not(.button):after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-5px;background:var(--primary);transition:right .25s}.site-nav>a:not(.button):hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 25px;border:1px solid var(--primary);border-radius:999px;background:var(--primary);color:var(--white);font-weight:700;font-size:.94rem;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{background:var(--primary-deep);border-color:var(--primary-deep);transform:translateY(-2px);box-shadow:0 14px 30px #34a69338}.button-small{min-height:43px;padding:0 19px}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}.menu-toggle>span:not(.sr-only){display:block;height:2px;margin:5px 0;background:var(--dark);transition:.2s}.hero{position:relative;min-height:800px;padding:168px 0 44px;overflow:hidden;background:linear-gradient(112deg,#f7faf9,#fff 62%)}.hero:before{content:"";position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(52,166,147,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(52,166,147,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 67%);mask-image:linear-gradient(90deg,#000,transparent 67%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:72px}.eyebrow,.kicker{margin:0 0 24px;color:var(--primary-deep);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow span{width:26px;height:2px;background:var(--primary)}.hero h1{max-width:680px;margin:0;font-family:Manrope,sans-serif;font-size:clamp(3.9rem,6.1vw,6.3rem);line-height:.98;letter-spacing:-.065em;font-weight:500}.hero h1 em{display:block;color:var(--primary);font-style:normal}.hero-intro{max-width:600px;margin:34px 0;color:var(--body);font-size:1.1rem}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{display:inline-flex;gap:10px;align-items:center;font-weight:700;font-size:.94rem}.text-link span{color:var(--primary)}.hero-stage{position:relative;min-height:560px;display:grid;place-items:center}.stage-glow{position:absolute;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(52,166,147,.27),rgba(52,166,147,.02) 67%,transparent 68%)}.browser-card{position:relative;z-index:3;width:min(100%,560px);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:18px;background:#fff;box-shadow:var(--shadow);transform:perspective(1000px) rotateY(-5deg) rotateX(2deg)}.browser-bar{display:flex;align-items:center;gap:7px;height:50px;padding:0 16px;border-bottom:1px solid #e8ecea;background:#fafcfb}.browser-bar>span{width:8px;height:8px;border-radius:50%;background:#ccd3d0}.browser-bar>span:first-child{background:#ff8f79}.browser-bar>span:nth-child(2){background:#ffd372}.browser-bar>span:nth-child(3){background:#7fd8a4}.address-bar{width:54%;margin-left:12px;padding:5px 13px;border-radius:6px;background:#eff3f1;color:#94a09c;font-size:.58rem}.browser-content{display:grid;grid-template-columns:70px 1fr;min-height:335px;background:#f4f7f6}.mini-sidebar{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 0;background:var(--dark)}.mini-mark{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--primary);border-right-color:transparent;border-radius:50%;color:var(--white);font-size:.7rem}.mini-sidebar i{width:22px;height:5px;border-radius:4px;background:#515457}.mini-sidebar i:first-of-type{background:var(--primary)}.mini-main{padding:52px 44px 35px;background:linear-gradient(130deg,#fff,#f0f6f4)}.mini-main p{margin:0 0 10px;color:var(--primary);font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mini-main h2{margin:0;font-family:Manrope,sans-serif;font-size:2.15rem;line-height:1.08;letter-spacing:-.04em;font-weight:500}.mini-chart{display:flex;align-items:end;gap:13px;height:105px;margin-top:35px;padding:15px 20px 0;border-radius:12px;background:#fff;box-shadow:0 10px 35px #1e202312}.mini-chart span{flex:1;height:var(--h);border-radius:4px 4px 0 0;background:linear-gradient(#66bea9,#34a693)}.floating-note{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 17px;border:1px solid rgba(255,255,255,.8);border-radius:13px;background:#fffffff0;box-shadow:0 16px 45px #1e202324;font-size:.75rem;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-note b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary-soft);color:var(--primary-deep)}.note-top{top:55px;right:-18px}.note-bottom{left:-22px;bottom:58px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px var(--primary-soft)}.hero-orbit{position:absolute;border:1px solid rgba(52,166,147,.15);border-radius:50%}.orbit-one{width:570px;height:570px;right:-260px;top:-240px}.orbit-two{width:350px;height:350px;left:-210px;bottom:-200px}.hero-foot{position:relative;z-index:4;display:flex;align-items:center;gap:24px;margin-top:50px;color:var(--muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.hero-line{height:1px;flex:1;background:var(--border)}.hero-foot a{display:flex;gap:12px}.hero-foot b{color:var(--primary)}.section-heading{display:grid;grid-template-columns:1.1fr .8fr;column-gap:80px;align-items:end}.section-heading .kicker{grid-column:1 / -1}.section-heading h2,.work-header h2,.approach h2,.contact h2{margin:0;font-family:Manrope,sans-serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.055em;font-weight:500}.section-heading h2 span,.work-header h2 span{color:var(--primary)}.section-heading>p:last-child,.work-header>p{max-width:470px;margin:0 0 8px;color:var(--body);font-size:1.05rem}.service-list{margin-top:80px;border-top:1px solid var(--border)}.service-row{display:grid;grid-template-columns:60px 1.05fr 1.15fr 45px;align-items:center;gap:28px;min-height:180px;border-bottom:1px solid var(--border)}.service-number{align-self:start;padding-top:41px;color:var(--primary);font-size:.75rem;font-weight:700}.service-title{display:flex;align-items:center;gap:24px}.service-icon{display:grid;place-items:center;width:68px;height:68px;flex:0 0 auto;border-radius:18px;background:var(--primary-soft)}.service-icon svg{width:34px;fill:none;stroke:var(--primary-deep);stroke-width:1.6}.service-icon-generic{color:var(--primary-deep);font-family:Manrope,sans-serif;font-size:2rem;font-weight:600;line-height:1}.service-row h3{margin:0;font-family:Manrope,sans-serif;font-size:1.8rem;font-weight:500;letter-spacing:-.03em}.service-row p{max-width:440px;margin:0;color:var(--body)}.service-row>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;transition:.2s}.service-row:hover>a{color:var(--white);border-color:var(--primary);background:var(--primary);transform:rotate(10deg)}.approach{position:relative;overflow:hidden;background:var(--dark);color:var(--white)}.approach:after{content:"C";position:absolute;left:-90px;bottom:-380px;color:transparent;font-family:Manrope,sans-serif;font-size:760px;line-height:1;-webkit-text-stroke:1px rgba(255,255,255,.045)}.approach-grid{position:relative;z-index:2;display:grid;grid-template-columns:.86fr 1.14fr;gap:120px}.kicker-light{color:#7ed2c2}.approach h2{font-size:clamp(2.7rem,4.6vw,4.4rem)}.approach-copy>p:not(.kicker){max-width:480px;margin:32px 0;color:#bec5c2;font-size:1.03rem}.button-light{border-color:var(--white);background:var(--white);color:var(--dark)}.button-light:hover{border-color:var(--primary);background:var(--primary);color:var(--white)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #404447}.steps li{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid #404447}.steps b{color:#7ed2c2;font-size:.76rem}.steps h3{margin:-4px 0 5px;font-family:Manrope,sans-serif;font-size:1.4rem;font-weight:500}.steps p{margin:0;color:#aeb5b2;font-size:.91rem}.work{background:#f5f7f6}.work-header{display:grid;grid-template-columns:1.1fr .65fr;align-items:end;gap:90px}.featured-project{display:grid;grid-template-columns:1.3fr .7fr;min-height:540px;margin-top:75px;overflow:hidden;border-radius:var(--radius);background:var(--white)}.project-visual{position:relative;min-height:500px;overflow:hidden}.traffitel-visual{background:#d8eee9}.map-grid{position:absolute;inset:-30px;opacity:.6;background-image:linear-gradient(35deg,transparent 47%,#bedbd4 48% 50%,transparent 51%),linear-gradient(120deg,transparent 47%,#c8e2dc 48% 50%,transparent 51%);background-size:90px 90px,130px 110px;transform:rotate(-8deg) scale(1.2)}.traffic-route{position:absolute;width:600px;height:280px;border:18px solid rgba(255,255,255,.88);border-radius:50%;transform:rotate(-17deg)}.route-a{left:-210px;top:150px}.route-b{right:-310px;top:-35px;border-color:#34a69380}.traffic-route:after{content:"";position:absolute;inset:10px;border:2px dashed rgba(52,166,147,.4);border-radius:inherit}.data-card{position:absolute;z-index:3;left:13%;top:18%;width:52%;padding:24px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:#ffffffeb;box-shadow:0 22px 50px #237f712e;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.data-card span{display:block;color:var(--muted);font-size:.68rem}.data-card b{font-size:1.05rem}.data-card svg{width:100%;margin-top:15px;fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round}.map-pin{position:absolute;z-index:4;width:18px;height:18px;border:5px solid var(--white);border-radius:50%;background:var(--primary);box-shadow:0 7px 17px #1e202333}.pin-one{right:23%;top:24%}.pin-two{left:33%;bottom:18%}.pin-three{right:13%;bottom:25%}.project-copy{display:flex;flex-direction:column;justify-content:center;padding:65px;background:var(--dark);color:var(--white)}.project-type{margin:0 0 16px;color:#73c8b8;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-copy h3{margin:0 0 20px;font-family:Manrope,sans-serif;font-size:3.1rem;font-weight:500;letter-spacing:-.05em}.project-copy>p:not(.project-type){color:#bcc3c0}.project-link{align-self:flex-start;margin-top:25px;padding-bottom:5px;border-bottom:1px solid #6d7471;font-weight:700}.project-link span{margin-left:8px;color:#73c8b8}.project-copy .project-logo-heading{width:min(100%,310px);margin-bottom:28px;line-height:0}.project-logo-heading img{width:100%;height:auto}.contact{background:var(--primary);color:var(--white)}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.contact h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.contact h2 span{color:#d8fff7}.contact-copy>p:not(.kicker){max-width:480px;margin:30px 0;color:#d3efea}.contact-details{display:grid;gap:20px;margin-top:55px}.contact-details a{font-size:1rem;font-weight:600}.contact-details small{display:block;margin-bottom:2px;color:#b4e3da;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.business-register{display:grid;gap:1px;color:#e8f8f5;font-size:.9rem}.business-register span+span{color:#c4e9e2;font-size:.78rem}.contact-form{padding:48px;border-radius:var(--radius);background:var(--white);color:var(--ink);box-shadow:0 30px 80px #0f4d4338}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;margin-bottom:24px;font-size:.78rem;font-weight:700}.contact-form label>span,.form-foot p span{color:var(--primary)}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;padding:14px 0;border:0;border-bottom:1px solid #cad4d0;outline:none;background:transparent;color:var(--ink);border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 1px var(--primary)}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#a52626;box-shadow:0 1px #a52626}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a1aaa6;font-weight:400}.field-error{display:block;margin-top:7px;color:#a52626;font-size:.72rem;font-weight:600}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-foot p{color:var(--muted);font-size:.7rem}.contact-form .button-light{border-color:var(--dark);background:var(--dark);color:var(--white)}.form-status{min-height:24px;margin:14px 0 0;color:var(--primary-deep);font-size:.85rem}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.form-foot p small{display:block;max-width:310px;margin-top:5px;color:var(--muted);font-size:.68rem;font-weight:400}.contact-form button:disabled{opacity:.6;cursor:wait;transform:none}.site-footer{padding:70px 0 25px;background:var(--dark);color:var(--white)}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:50px;align-items:start;padding-bottom:60px}.footer-brand{width:220px}.footer-top>p{margin:0;color:#aeb5b2}.footer-links{display:grid;gap:8px}.footer-links a:hover,.footer-bottom a:hover{color:#7ed2c2}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid #383c3e;color:#8d9692;font-size:.74rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:980px){.section{padding:95px 0}.hero{padding-top:145px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{max-width:740px}.hero-stage{min-height:500px}.browser-card{width:min(88%,620px)}.note-top{right:2%}.note-bottom{left:2%}.section-heading,.work-header{grid-template-columns:1fr;gap:28px}.section-heading .kicker{grid-column:auto}.section-heading>p:last-child{margin:0}.service-row{grid-template-columns:44px 1fr 44px;padding:28px 0}.service-row>p{grid-column:2}.service-row>a{grid-column:3;grid-row:1 / 3}.service-number{padding-top:11px}.approach-grid,.contact-grid{grid-template-columns:1fr;gap:70px}.approach-copy{max-width:680px}.featured-project{grid-template-columns:1fr}.project-copy{padding:50px}}@media(max-width:820px){.container{width:min(calc(100% - 34px),var(--container))}.section{padding:78px 0}.nav-wrap{min-height:72px}.brand,.brand img{width:145px}.menu-toggle{display:block;z-index:3}.site-nav{position:fixed;z-index:2;inset:0;width:100vw;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:28px;visibility:hidden;opacity:0;background:var(--white);font-size:1.25rem;transition:.25s}.site-nav.open{visibility:visible;opacity:1}.menu-toggle.active span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:auto;padding:125px 0 30px}.hero h1{font-size:clamp(3rem,15vw,4.3rem)}.hero-intro{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-stage{min-height:375px}.browser-card{width:100%;transform:none}.browser-content{grid-template-columns:48px 1fr;min-height:270px}.mini-main{padding:38px 25px 24px}.mini-main h2{font-size:1.55rem}.mini-chart{height:75px;gap:8px}.mini-sidebar i{width:15px}.note-top{top:5px;right:-10px}.note-bottom{bottom:8px;left:-8px}.floating-note{min-height:44px;padding:8px 12px}.hero-foot>span{display:none}.section-heading h2,.work-header h2,.approach h2,.contact h2{font-size:2.55rem}.service-list{margin-top:48px}.service-row{grid-template-columns:1fr 44px;gap:14px}.service-number{display:none}.service-title{gap:16px}.service-icon{width:54px;height:54px;border-radius:14px}.service-icon svg{width:28px}.service-row h3{font-size:1.48rem}.service-row>p{grid-column:1;font-size:.92rem}.service-row>a{grid-column:2}.approach-grid,.contact-grid{gap:50px}.steps li{grid-template-columns:40px 1fr}.featured-project{margin-top:45px}.project-visual{min-height:360px}.data-card{left:8%;width:70%}.project-copy{padding:38px 28px}.project-copy h3{font-size:2.5rem}.contact-form{padding:30px 22px}.form-row{grid-template-columns:1fr;gap:0}.form-foot{align-items:flex-start;flex-direction:column}.form-foot .button{width:100%}.footer-top{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;gap:8px}.footer-brand{width:180px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
