/* Evolution homepage: flowing processes, full-width geography, compact contact. */
.hero{isolation:isolate;overflow:hidden}
.evo-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.evo-ambient svg{width:100%;height:100%;opacity:.38}
.evo-ambient path{fill:none;stroke:#63cab7;stroke-width:1;vector-effect:non-scaling-stroke}
.evo-ambient .evo-trace{stroke-width:2;stroke-dasharray:70 1500;stroke-dashoffset:1570;opacity:.7}
.hero.is-in-view .evo-trace{animation:evoTrace 15s linear infinite}
.evo-ambient .evo-trace:nth-child(4){animation-delay:-7s}
@keyframes evoTrace{to{stroke-dashoffset:0}}
.hero-layout{position:relative;z-index:1}
.flow-panel{position:relative;box-shadow:0 20px 70px #0002;overflow:hidden}
.flow-step{position:relative;isolation:isolate;overflow:hidden}
.flow-step::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#2ec5ad22,transparent 85%);opacity:0;z-index:-1;border-left:2px solid #70d7c0;border-radius:inherit}
.hero.is-in-view .flow-step::before{animation:evoStep 9s ease-in-out infinite}
.flow-step:nth-of-type(4)::before{animation-delay:3s!important}
.flow-step:nth-of-type(6)::before{animation-delay:6s!important}
@keyframes evoStep{0%,32%,100%{opacity:0}6%,26%{opacity:1}}
.flow-connector{position:relative;color:#4f7f75!important}
.flow-connector::after{content:'';position:absolute;left:24px;top:2px;width:3px;height:5px;border-radius:3px;background:#7edec9;opacity:0}
.hero.is-in-view .flow-connector::after{animation:evoFlow 9s ease-in-out infinite}
.flow-connector:nth-of-type(3)::after{animation-delay:2.3s}
.flow-connector:nth-of-type(5)::after{animation-delay:5.3s}
@keyframes evoFlow{0%{transform:translateY(0);opacity:0}3%{opacity:1}8%{transform:translateY(13px);opacity:0}100%{opacity:0}}
.featured-case{transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}
.featured-case.case-pending,.featured-case.case-reveal{opacity:1!important;transform:none!important;animation:none!important}
.discuss-section{padding:70px 0}
.discuss-grid{grid-template-columns:1.03fr 1fr;gap:60px;align-items:center}
.discuss-grid .sec-title{font-size:clamp(26px,2.8vw,37px);line-height:1.3}
.discuss-grid .sec-sub{font-size:14px;line-height:1.85;max-width:520px}
.discuss-note{margin-top:24px;font-size:12px}
.discuss-contacts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}
.discuss-contacts a{color:#9cdbcf;font-size:13px;text-decoration:none;border-bottom:1px solid #3b665e;padding-bottom:5px}
.discuss-form{padding:26px;gap:10px;border-radius:18px}
.discuss-fields{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}
.discuss-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.discuss-field label{font-size:12px;font-weight:700;color:#c7d8d8}
.discuss-field input{box-sizing:border-box;width:100%;min-width:0;background:#121d29;border:1px solid #43585f;border-radius:8px;padding:13px;color:#fff;font:inherit;font-size:12px;cursor:text!important}
.discuss-form textarea{min-height:80px;font-size:13px}
.discuss-form .discuss-agree{font-weight:400!important;margin:6px 0 8px}
.discuss-form button{padding:13px 20px;font-size:13px}
.discuss-form [role=status]:empty{display:none}
/* The original panoramic composition, with a continuous entrance and exit. */
.map-intro-wrap{width:100%!important;max-width:none;margin:0!important;padding:36px 0 0!important;background:#0d1117!important;overflow:hidden!important}
.map-heading{display:none}
#clients-map.map-hero{display:block;position:relative!important;height:clamp(560px,78vh,780px)!important;border:0;border-radius:0;background:#141c27;overflow:hidden;isolation:isolate}
#clients-map::before,#clients-map::after{content:'';display:block!important;position:absolute;left:0;right:0;height:110px;pointer-events:none;z-index:4}
#clients-map::before{top:0;background:linear-gradient(#0d1117,transparent)}
#clients-map::after{bottom:0;background:linear-gradient(transparent,#0d1117)}
#mapSvg{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;transform:translateY(var(--map-shift,0px));opacity:var(--map-opacity,1);transition:none;will-change:transform}
#mapSvg>rect{fill:#141c27}
#clients-map .country-path{fill:#1e3040;stroke:#408c86;stroke-width:.48}
#clients-map .country-path:hover{fill:#25424b}
#clients-map .geo-graticule{opacity:.55}
#clients-map .pin-dot{fill:#2ec5ad;filter:none}
#clients-map .pin-group.active .pin-dot{fill:#d1fff3;filter:drop-shadow(0 0 5px #2ec5ad88)}
#clients-map .pin-ring{opacity:.22;animation:none}
#clients-map .pin-group.active .pin-ring{opacity:.8;stroke:#8ae4ce;r:9}
#sidePanel.side-panel{position:absolute;inset:38px auto 38px max(24px,calc((100vw - 1374px)/2));width:288px!important;background:linear-gradient(90deg,#0d121aee,#0d121ae0);border:0;border-right:1px solid #2b4145;border-radius:0;z-index:6;backdrop-filter:blur(8px)}
#sidePanel .panel-head{padding:20px 22px 16px}
#sidePanel .panel-tag{display:block;background:transparent;color:#64c5b4;font-size:9px;padding:0;margin-bottom:10px}
#sidePanel .panel-title{font-size:19px;line-height:1.35}
#sidePanel .pstat-num{font-size:27px}
#sidePanel .pstat{padding:16px 22px}
#clientsScroll .citem{padding:14px 20px;min-height:66px}
#clientsScroll .cname{font-size:12px}
#clientsScroll .citem.active .cdot{box-shadow:0 0 8px #2ec5ad55}
.map-caption{position:absolute;z-index:5;left:max(354px,calc((100vw - 1374px)/2 + 330px));bottom:72px;max-width:480px;pointer-events:none}
.map-caption h2{font-family:'Unbounded',sans-serif;font-size:clamp(27px,3.6vw,54px);line-height:1.18;letter-spacing:-.035em;font-weight:750;color:#c9e9e2;text-shadow:0 4px 32px #0d1117;margin:0}
.map-caption a{display:inline-block;color:#93d8ca;font-size:12px;margin-top:22px;text-underline-offset:5px;pointer-events:auto}
#geoLabel.geo-label{left:auto!important;right:110px;bottom:28px;max-width:400px;border:0;border-radius:0;background:#0d1117bd;padding:9px 14px;font-size:11px!important;z-index:7}
.map-tip{z-index:8;max-width:250px;white-space:normal}
@media(min-width:1600px){#sidePanel.side-panel{width:320px!important}.map-caption{left:calc((100vw - 1374px)/2 + 362px)}}
@media(max-width:1000px){.discuss-grid{gap:32px}.discuss-fields{grid-template-columns:1fr}.map-caption{max-width:330px}.map-caption h2{font-size:34px}}
@media(max-width:700px){.discuss-section{padding:50px 0}.discuss-grid{grid-template-columns:1fr;gap:28px}.discuss-form{padding:22px}.discuss-fields{grid-template-columns:1fr;gap:16px}.discuss-grid .sec-title{font-size:27px}.discuss-contacts{gap:12px 20px}.map-intro-wrap{padding:20px 0 0!important}#clients-map.map-hero{display:flex;flex-direction:column;height:auto!important;padding-top:38px}.map-caption{order:0;position:relative;left:auto;bottom:auto;padding:0 24px;max-width:none;margin-bottom:14px}.map-caption h2{font-size:27px}.map-caption h2 br{display:none}.map-caption a{margin-top:14px}#mapSvg{order:1;position:relative;inset:auto;height:300px;flex-shrink:0;transform:none!important;opacity:1!important}#geoLabel.geo-label{order:2;position:relative;left:auto!important;right:auto;bottom:auto;max-width:none;background:#131d27;min-height:0;padding:14px 24px}#sidePanel.side-panel{order:3;position:relative;inset:auto;width:100%!important;height:330px;background:#101822;border-right:0;border-top:1px solid #2b4145;border-bottom:1px solid #2b4145;backdrop-filter:none}#sidePanel .panel-head{display:none}#sidePanel .pstat{padding:14px 24px}#clients-map::after{display:none!important}#clients-map::before{height:50px}#clientsScroll .citem{min-height:64px;padding:12px 24px}.hero.is-in-view .evo-trace{animation:none}.evo-ambient svg{opacity:.22}}
@media(prefers-reduced-motion:reduce){.evo-ambient .evo-trace,.flow-step::before,.flow-connector::after{animation:none!important}#mapSvg{transform:none!important;opacity:1!important;will-change:auto}.featured-case{transition:none!important}}

@media(max-width:700px){#clients-map .pin-dot{r:2.5}#clients-map .pin-ring{r:4}#clients-map .pin-group.active .pin-dot{r:3.5}#clients-map .pin-group.active .pin-ring{r:6}}
@media(prefers-reduced-motion:reduce){#mapSvg .country-path,#mapSvg .pin-group{opacity:1!important;transition:none!important}}
/* Geographic motion is visible while the section is on screen. */
#mapSvg .geo-connection{fill:none;stroke:#65d8bf;stroke-width:1.2;stroke-dasharray:4 9;opacity:.42;pointer-events:none}
#clients-map.map-running .geo-connection{animation:geoTravel 7s linear infinite}
#clients-map.map-running .pin-ring{animation:geoBeacon 3.2s ease-out infinite!important;transform-box:fill-box;transform-origin:center}
#clients-map.map-running .pin-group:nth-child(3n) .pin-ring{animation-delay:1.1s!important}
#clients-map.map-running .pin-group:nth-child(3n + 1) .pin-ring{animation-delay:2.2s!important}
@keyframes geoTravel{to{stroke-dashoffset:-130}}
@keyframes geoBeacon{0%{r:4;opacity:.85}85%,100%{r:15;opacity:0}}
.hero.is-in-view .flow-step::before{background:linear-gradient(100deg,#2ec5ad55,#2ec5ad09);border-left-width:3px}
.evo-ambient svg{opacity:.7}
@media(prefers-reduced-motion:reduce){#clients-map.map-running .geo-connection,#clients-map.map-running .pin-ring{animation:none!important}}
