@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Arabic:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
.language-switcher{display:flex;align-items:center;margin:0}.language-switcher select{min-width:108px;padding:7px 31px 7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:700 12px/1.2 Poppins,Arial,sans-serif;cursor:pointer}.language-switcher select:focus-visible{outline:3px solid #f2046c;outline-offset:3px}.language-switcher button{margin-left:5px;padding:5px 8px;font-size:12px}
:root{--ink:#07162d;--blue:#16b3ff;--blue-deep:#1369ec;--green:#00c35a;--pink:#f2046c;--sky:#f0f7fc;--line:#c7dffa;--muted:#52606c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Poppins,Arial,sans-serif;background:#fff;overflow-x:hidden}a{color:var(--blue-deep);text-decoration-thickness:1px;text-underline-offset:3px}.wrap{width:min(1140px,calc(100% - 40px));margin:auto}.narrow{max-width:780px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:20}.site-header{position:sticky;top:0;z-index:5;background:#fffffff2;border-bottom:1px solid #dbeaf4;backdrop-filter:blur(16px)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--ink);text-decoration:none}.brand span{color:var(--blue)}nav{display:flex;align-items:center;gap:18px}nav a{color:var(--ink);text-decoration:none;font-weight:600}.language-switcher{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#fff}.language-switcher a{padding:3px 7px;border-radius:6px;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none}.language-switcher a[aria-current="true"]{background:var(--blue-deep);color:#fff}.services-menu{position:relative}.services-menu summary{cursor:pointer;font-weight:600}.drop{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px #1369ec22;width:250px;padding:10px;display:grid}.drop a{padding:6px}.menu-toggle,.menu-close{display:none}.button,button{border:1px solid var(--blue-deep);background:#fff;color:var(--blue-deep);border-radius:9px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .2s,box-shadow .2s,background .2s}.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 10px 18px #1369ec28}.primary{background:linear-gradient(110deg,var(--blue-deep),var(--blue));border-color:var(--blue-deep);color:#fff}.small{padding:8px 13px}.home-hero{position:relative;isolation:isolate;overflow:hidden;padding:100px 0 82px;background:linear-gradient(130deg,#f0f7fc 0%,#fff 54%,#eafaff 100%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;position:relative}.hero-copy{max-width:670px}.eyebrow{color:var(--blue-deep);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin:0 0 12px}.home-hero h1,.hero-page h1{font-size:clamp(38px,5.3vw,66px);line-height:1.1;margin:8px 0 22px}.home-hero h1{max-width:660px}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:620px}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.6;z-index:-1;animation:float 8s ease-in-out infinite}.orb-one{width:430px;height:430px;background:#16b3ff32;right:-130px;top:-130px}.orb-two{width:280px;height:280px;background:#00c35a2a;left:-130px;bottom:-150px;animation-delay:-3s}.hero-visual{height:330px;position:relative;display:grid;place-items:center}.signal-core{position:relative;width:190px;height:190px;border-radius:50%;background:linear-gradient(145deg,#16b3ff,#1369ec);box-shadow:0 25px 50px #1369ec52;display:grid;place-content:center;text-align:center;color:#fff;line-height:.95;animation:pulse 3s ease-in-out infinite}.signal-core span{font-size:34px;font-weight:700}.signal-core strong{font-size:38px}.signal-core i{position:absolute;inset:-22px;border:1px solid #16b3ff99;border-radius:50%;animation:spin 12s linear infinite}.signal-card{position:absolute;padding:14px 16px;border-radius:12px;background:#fffffff2;box-shadow:0 15px 32px #0c4e8422;font-weight:700;animation:float 5s ease-in-out infinite}.signal-card b{color:var(--green);margin-left:12px}.signal-top{top:30px;right:0}.signal-bottom{bottom:25px;left:0;animation-delay:-2s}.benefits{display:flex;flex-wrap:wrap;gap:9px 23px;padding:0;list-style:'✓  ';font-size:14px;font-weight:600}.benefits li::marker{color:var(--green)}section.wrap{padding:76px 0}h2{line-height:1.2;font-size:clamp(28px,3.4vw,42px);margin:0 0 16px}h3{line-height:1.3}.section-intro{max-width:760px;margin-bottom:38px}.section-intro>p:not(.eyebrow){font-size:18px}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards article,.task,.callout{padding:25px;border:1px solid var(--line);border-radius:14px;background:#fff}.trust-cards article,.services-cards article{transition:transform .25s,box-shadow .25s}.trust-cards article:hover,.services-cards article:hover{transform:translateY(-6px);box-shadow:0 16px 30px #1369ec18}.trust-cards article:nth-child(2){border-top:4px solid var(--blue)}.trust-cards article:nth-child(3){border-top:4px solid var(--green)}.card-number{font-weight:800;color:var(--pink);font-size:14px}.task{color:var(--ink);font-weight:700;text-decoration:none;min-height:105px}.task span,.services-cards a span{color:var(--green);font-size:20px}.process-band{background:linear-gradient(120deg,#07162d,#1369ec);color:#fff;padding:80px 0}.light .eyebrow{color:#78fbb4}.timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:35px 0 0}.timeline li{border-top:1px solid #ffffff6e;padding-top:15px;display:grid;gap:12px}.timeline b{font-size:25px;color:#78fbb4}.hero-page{background:linear-gradient(125deg,#f0f7fc,#fff);padding:56px 0}.hero-page h1{font-size:clamp(32px,5vw,50px)}.answer{font-size:20px;max-width:850px}.breadcrumbs{padding:18px 0;color:var(--muted);font-size:14px}.breadcrumbs span{margin:0 8px}.content{max-width:900px}.content p,.content li{max-width:820px}.steps{columns:2;gap:50px}.steps li{margin:12px 0}.partners{padding:65px 0;background:var(--sky)}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.partner-grid div{height:90px;background:#fff;border:1px solid #dcecf8;border-radius:10px;display:grid;place-items:center;padding:18px}.partner-grid img{max-width:100%;max-height:48px;filter:grayscale(1);opacity:.74;transition:.25s}.partner-grid div:hover img{filter:none;opacity:1}.request{background:linear-gradient(135deg,#e7f8ff,#f3fff8);padding:70px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-form label{display:grid;gap:5px;margin:14px 0;font-weight:700}.lead-form em{font-size:13px;color:var(--muted);font-weight:400}.lead-form input,.lead-form textarea{font:inherit;padding:10px;border:1px solid #8ba0b7;border-radius:6px}.lead-form textarea{min-height:130px}.consent{grid-template-columns:20px 1fr;align-items:start;font-size:14px;font-weight:400}.honeypot{position:absolute;left:-10000px}.form-status{font-weight:700}.callout{margin:30px 0;background:#f7fbff}.notice{border-left:4px solid var(--pink);padding-left:16px}footer{background:#07162d;color:#fff;padding:48px 0 18px}footer .brand{color:#fff}footer a{color:#bdeaff;display:block;margin:5px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid h2{font-size:17px}.legal{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid #ffffff44;margin-top:28px;padding-top:16px;font-size:14px}.cookie{position:fixed;bottom:15px;right:15px;max-width:460px;padding:20px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 30px #0003;z-index:8}.cookie button{font-size:14px;padding:7px;margin-right:4px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f2046c;outline-offset:3px}@keyframes float{50%{transform:translateY(-14px)}}@keyframes pulse{50%{transform:scale(1.05);box-shadow:0 30px 60px #1369ec66}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media(max-width:760px){.menu-toggle{display:block}.menu-close{display:block;margin-left:auto;font-size:25px;border:0}.nav nav{display:none}.nav nav.open{position:fixed;inset:0;background:#fff;display:flex;align-items:flex-start;flex-direction:column;padding:20px;overflow:auto}.cards.three,.footer-grid,.form-grid,.hero-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.steps{columns:1}.home-hero{padding:65px 0}.hero-visual{height:270px}.partner-grid{grid-template-columns:repeat(2,1fr)}.site-header{min-height:62px}body.menu-open{overflow:hidden}.drop{position:static;width:auto;box-shadow:none}.services-menu{width:100%}}@media(max-width:430px){.timeline{grid-template-columns:1fr}.home-hero h1{font-size:38px}.hero-visual{transform:scale(.85);margin:-20px 0}}

.partner-carousel{overflow:hidden;margin:0 calc((100vw - min(1140px,calc(100vw - 40px)))/-2)}.partner-track{display:flex;width:max-content;animation:partners-scroll 48s linear infinite}.partner-set{display:flex;gap:12px;padding-right:12px;flex:none}.partner-card{width:210px;height:90px;background:#fff;border:1px solid #dcecf8;border-radius:10px;display:grid;place-items:center;padding:18px;flex:none}.partner-card img{max-width:100%;max-height:48px;filter:grayscale(1);opacity:.74;transition:.25s}.partner-card:hover img,.partner-card:focus-visible img{filter:none;opacity:1}.partner-track:hover,.partner-track:focus-within{animation-play-state:paused}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes partners-scroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Keep the hero benefit markers inside the content gutter on narrow screens. */
.benefits{padding-inline-start:1.5em}
@media(prefers-reduced-motion:reduce){.partner-carousel{overflow-x:auto}.partner-track{animation:none}}@media(max-width:760px){.partner-card{width:170px}}

/* Page motion system: themes make each service feel like an active digital workspace. */
.page{--theme:#16b3ff;--theme-rgb:22,179,255;--theme-secondary:#1369ec;position:relative}
.page-theme-services-development{--theme:#675cff;--theme-rgb:103,92,255;--theme-secondary:#16b3ff}
.page-theme-services-support{--theme:#00a86b;--theme-rgb:0,168,107;--theme-secondary:#16b3ff}
.page-theme-services-devops{--theme:#f26a2c;--theme-rgb:242,106,44;--theme-secondary:#675cff}
.page-theme-services-seo{--theme:#00a86b;--theme-rgb:0,168,107;--theme-secondary:#00c35a}
.page-theme-services-audit{--theme:#f2046c;--theme-rgb:242,4,108;--theme-secondary:#1369ec}
.page-theme-services-automation{--theme:#8b55e9;--theme-rgb:139,85,233;--theme-secondary:#16b3ff}
.page-theme-contacts{--theme:#00a86b;--theme-rgb:0,168,107;--theme-secondary:#16b3ff}
.page-theme-cases{--theme:#f26a2c;--theme-rgb:242,106,44;--theme-secondary:#f2046c}
.page-theme-knowledge,.page-theme-glossary{--theme:#675cff;--theme-rgb:103,92,255;--theme-secondary:#16b3ff}
.page-theme-privacy-policy,.page-theme-consent,.page-theme-editorial-policy,.page-theme-corrections-policy{--theme:#52718e;--theme-rgb:82,113,142;--theme-secondary:#16b3ff}
.page-atmosphere{position:fixed;inset:72px 0 0;pointer-events:none;overflow:hidden;z-index:-1;opacity:.75}.page-atmosphere span{position:absolute;width:12px;height:12px;border:2px solid rgb(var(--theme-rgb));border-radius:50%;opacity:.2;animation:atmosphere-drift 18s ease-in-out infinite}.page-atmosphere span:nth-child(1){top:18%;left:5%;animation-delay:-4s}.page-atmosphere span:nth-child(2){width:20px;height:20px;top:58%;right:7%;border-color:var(--theme-secondary);animation-delay:-11s}.page-atmosphere span:nth-child(3){width:8px;height:8px;top:82%;left:22%;animation-delay:-8s}
.hero-page{position:relative;overflow:hidden;background:linear-gradient(125deg,rgba(var(--theme-rgb),.12),#fff 53%,rgba(var(--theme-rgb),.04))}.hero-page::before,.hero-page::after{content:"";position:absolute;pointer-events:none}.hero-page::before{width:clamp(230px,31vw,480px);aspect-ratio:1;border:1px solid rgba(var(--theme-rgb),.25);border-radius:38% 62% 60% 40%;right:-100px;top:-180px;box-shadow:inset 0 0 0 30px rgba(var(--theme-rgb),.035);animation:hero-morph 12s ease-in-out infinite}.hero-page::after{height:2px;width:250px;right:6%;bottom:19%;background:linear-gradient(90deg,transparent,var(--theme),transparent);opacity:.5;animation:scan-line 5s ease-in-out infinite}.hero-page .wrap{position:relative;z-index:1}.hero-page h1{background:linear-gradient(105deg,var(--ink),var(--theme-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.page:not(.page-theme-home) .eyebrow{color:var(--theme-secondary)}
.cards article,.task,.callout{position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(var(--theme-rgb),.18);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}.cards article::after,.task::after,.callout::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(var(--theme-rgb),.16),transparent 70%);right:-65px;top:-65px;opacity:0;transform:scale(.6);transition:.4s}.cards article:hover,.task:hover,.callout:hover{border-color:rgba(var(--theme-rgb),.65);transform:translateY(-7px) rotate(-.35deg);box-shadow:0 20px 42px rgba(var(--theme-rgb),.28)}.cards article:hover::after,.task:hover::after,.callout:hover::after{opacity:1;transform:scale(1)}
.request{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(var(--theme-rgb),.13),#f3fff8)}.request::before{content:"";position:absolute;width:480px;height:480px;border:1px dashed rgba(var(--theme-rgb),.3);border-radius:50%;right:-260px;top:-240px;animation:spin 35s linear infinite}.request .wrap{position:relative}.lead-form input:focus,.lead-form textarea:focus{border-color:var(--theme);box-shadow:0 0 0 4px rgba(var(--theme-rgb),.14);outline:0}.button.primary{background:linear-gradient(110deg,var(--theme-secondary),var(--theme));border-color:var(--theme-secondary)}

/* Match each highlighted service card with the accent of its destination section. */
.services-cards article{box-shadow:0 12px 30px rgba(var(--service-rgb),.18)}.services-cards article:hover,.services-cards article:focus-within{border-color:rgba(var(--service-rgb),.65);box-shadow:0 20px 42px rgba(var(--service-rgb),.28)}
[data-auto-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}[data-auto-reveal].visible{opacity:1;transform:none}@keyframes atmosphere-drift{50%{transform:translate(30px,-55px) scale(1.7);opacity:.48}}@keyframes hero-morph{50%{transform:translate(-35px,45px) rotate(28deg);border-radius:62% 38% 42% 58%}}@keyframes scan-line{0%,100%{transform:translateX(-40px);opacity:0}45%,60%{opacity:.55}100%{transform:translateX(110px);opacity:0}}
@media(prefers-reduced-motion:reduce){.page-atmosphere span,.hero-page::before,.hero-page::after,.request::before{animation:none}.cards article:hover,.task:hover,.callout:hover{transform:none}[data-auto-reveal]{opacity:1;transform:none}}

/* Mobile navigation: an immersive animated screen, never a small popover. */
.menu-panel-head{display:none}
.menu-backdrop{display:none}
@media(max-width:760px){
  .nav{min-height:68px;gap:16px}.language-switcher{margin-left:auto}.menu-toggle{position:relative;z-index:12;display:inline-grid;grid-template-columns:22px auto;grid-template-rows:repeat(3,3px);align-items:center;column-gap:9px;width:auto;padding:10px 12px;border:1px solid #b9dffd;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 8px 20px #1369ec12}.menu-toggle span{grid-column:1;width:22px;height:2px;border-radius:2px;background:var(--blue-deep);transition:transform .28s ease,opacity .2s ease}.menu-toggle b{grid-column:2;grid-row:1 / 4;font-size:13px;letter-spacing:.02em}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
  .menu-backdrop{display:block;position:fixed;z-index:9;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;background:rgba(7,22,45,.52);opacity:0;pointer-events:none;transition:opacity .32s ease}body.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.nav nav{display:flex;position:fixed;z-index:10;inset:0;width:100%;min-height:100dvh;padding:20px max(24px,calc((100vw - 560px)/2));gap:7px;align-items:stretch;flex-direction:column;background:radial-gradient(circle at 92% 8%,#16b3ff42,transparent 29%),radial-gradient(circle at 7% 92%,#00c35a2e,transparent 30%),linear-gradient(145deg,#fff 0%,#f2faff 55%,#e4f6ff 100%);overflow-y:auto;transform:translateY(-102%);visibility:hidden;transition:transform .46s cubic-bezier(.22,.85,.25,1),visibility 0s linear .46s}.nav nav::before,.nav nav::after{content:"";position:absolute;pointer-events:none;border-radius:50%}.nav nav::before{width:260px;height:260px;right:-130px;top:25%;border:1px solid #16b3ff55;box-shadow:inset 0 0 0 34px #16b3ff0d;animation:mobile-menu-orbit 11s ease-in-out infinite}.nav nav::after{width:150px;height:150px;left:-65px;bottom:5%;background:#00c35a12;animation:mobile-menu-orbit 8s ease-in-out -3s infinite}.nav nav.open{transform:translateY(0);visibility:visible;transition:transform .46s cubic-bezier(.22,.85,.25,1),visibility 0s}.menu-panel-head,.nav nav>a,.services-menu{position:relative;z-index:1}.menu-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:4px 0 18px;border-bottom:1px solid #c7dffa;color:var(--blue-deep);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.menu-close{display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:1px solid #b9dffd;border-radius:50%;background:#fff}.menu-close span{position:absolute;width:17px;height:2px;border-radius:2px;background:var(--ink)}.menu-close span:first-child{transform:rotate(45deg)}.menu-close span:last-child{transform:rotate(-45deg)}.nav nav>a,.services-menu summary{display:flex;align-items:center;min-height:56px;padding:13px 15px;border-radius:14px;color:var(--ink);font-size:18px;font-weight:700;transition:background .22s ease,color .22s ease,transform .22s ease}.nav nav.open>a,.nav nav.open .services-menu{animation:mobile-menu-link-in .4s both}.nav nav.open .services-menu{animation-delay:.07s}.nav nav.open>a:nth-of-type(1){animation-delay:.13s}.nav nav.open>a:nth-of-type(2){animation-delay:.19s}.nav nav.open>a:nth-of-type(3){animation-delay:.25s}.nav nav.open>a:nth-of-type(4){animation-delay:.31s}.nav nav>a:not(.button):hover,.nav nav>a:not(.button):focus-visible,.services-menu summary:hover{background:#fff;color:var(--blue-deep);transform:translateX(4px)}.nav nav>a.button{justify-content:center;margin-top:18px;padding:13px 16px;border-radius:14px;box-shadow:0 12px 26px #1369ec2e}.services-menu{width:100%;border-radius:14px;background:#ffffffbd;border:1px solid #d5e8f8}.services-menu summary{list-style:none;justify-content:space-between;cursor:pointer}.services-menu summary::-webkit-details-marker{display:none}.services-menu summary i{width:10px;height:10px;margin-right:5px;border-right:2px solid var(--blue-deep);border-bottom:2px solid var(--blue-deep);transform:rotate(45deg) translateY(-3px);transition:transform .25s ease}.services-menu[open] summary{color:var(--blue-deep);border-bottom:1px solid #d5e8f8;border-radius:14px 14px 0 0}.services-menu[open] summary i{transform:rotate(225deg) translate(-3px,-3px)}.drop{position:static;width:auto;padding:7px 8px 12px;border:0;box-shadow:none;background:transparent;gap:2px;animation:mobile-submenu-in .25s ease both}.drop a{padding:10px 12px 10px 25px;border-radius:9px;font-size:14px;font-weight:600;line-height:1.35}.drop a::before{content:"";position:absolute;width:6px;height:6px;margin:8px 0 0 -14px;border-radius:50%;background:var(--blue)}.drop a:hover,.drop a:focus-visible{background:#eaf7ff;color:var(--blue-deep)}.site-header{min-height:68px}body.menu-open{overflow:hidden}.cards.three,.footer-grid,.form-grid,.hero-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.steps{columns:1}.home-hero{padding:65px 0}.hero-visual{height:270px}.partner-grid{grid-template-columns:repeat(2,1fr)}}
@keyframes mobile-submenu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Desktop navigation: a compact glass control with an animated, on-brand service menu. */
@media(min-width:761px){
  .site-header{border-bottom-color:#d9eafa;background:linear-gradient(90deg,#ffffffeb,#f5fbffeb 54%,#ffffffeb)}
  .site-header::after{content:"";position:absolute;z-index:0;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--blue),var(--blue-deep),transparent);opacity:.45;pointer-events:none}
  .nav{position:relative;z-index:1;min-height:82px;gap:32px}
  .main-nav{position:relative;gap:5px;padding:6px 7px 6px 12px;border:1px solid #d9eafb;border-radius:18px;background:#fffffff0;box-shadow:0 12px 34px #1369ec12}
  .main-nav::before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(115deg,#16b3ff55,transparent 30%,#1369ec44);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}
  .main-nav>a:not(.button),.services-menu summary{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:8px 11px;border-radius:11px;color:var(--ink);font-size:14px;font-weight:700;transition:color .25s ease,background .25s ease,transform .25s ease}
  .main-nav>a:not(.button)::after,.services-menu summary::after{content:"";position:absolute;right:11px;bottom:5px;left:11px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-deep));transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .main-nav>a:not(.button):hover,.main-nav>a:not(.button):focus-visible,.services-menu summary:hover{color:var(--blue-deep);background:#eef9ff;transform:translateY(-1px)}
  .main-nav>a:not(.button):hover::after,.main-nav>a.is-current:not(.button)::after,.services-menu.is-current summary::after,.services-menu[open] summary::after{transform:scaleX(1);transform-origin:left}
  .main-nav>a.is-current:not(.button),.services-menu.is-current summary{color:var(--blue-deep)}
  .services-menu summary{gap:8px;list-style:none}.services-menu summary::-webkit-details-marker{display:none}
  .services-menu summary i{width:8px;height:8px;margin:0 2px 4px 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}
  .services-menu[open] summary{color:var(--blue-deep);background:#eef9ff}.services-menu[open] summary i{transform:rotate(225deg) translate(-3px,-3px)}
  .drop{top:calc(100% + 13px);left:-12px;width:300px;padding:9px;border:1px solid #cbe5fa;border-radius:16px;background:linear-gradient(145deg,#fff,#f2faff);box-shadow:0 22px 50px #07162d22;gap:2px;transform-origin:top left;animation:desktop-menu-in .26s cubic-bezier(.2,.8,.2,1) both}
  .drop::before{content:"";position:absolute;top:-6px;left:35px;width:12px;height:12px;background:#fff;border-top:1px solid #cbe5fa;border-left:1px solid #cbe5fa;transform:rotate(45deg)}
  .drop a{position:relative;padding:10px 12px 10px 31px;border-radius:10px;font-size:14px;line-height:1.4;transition:background .2s,color .2s,transform .2s}.drop a::before{content:"";position:absolute;left:13px;top:50%;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-deep));transform:translateY(-50%);box-shadow:0 0 0 4px #16b3ff18}.drop a:hover,.drop a:focus-visible{background:#fff;color:var(--blue-deep);transform:translateX(3px)}
  .nav-cta{margin-left:5px;border-radius:12px!important;overflow:hidden;box-shadow:0 9px 20px #1369ec2b}
}
@keyframes desktop-menu-in{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}

/* Refined mobile menu: clear actions, an unobtrusive brand and purposeful motion. */
@media (max-width:760px){
  :root{--mobile-header-height:68px}
  .site-header{position:sticky;top:0;z-index:20}
  .nav{justify-content:flex-start;gap:8px}
  .brand{margin-right:auto}
  .language-switcher{margin-left:0}
  .menu-backdrop{top:var(--mobile-header-height);height:calc(100dvh - var(--mobile-header-height))}
  .nav nav{inset:var(--mobile-header-height) 0 0;min-height:calc(100dvh - var(--mobile-header-height))}
  .menu-panel-head{margin-bottom:18px;padding:2px 0 16px}
  .menu-panel-brand{display:inline-flex;align-items:center;max-width:148px}
  .menu-panel-brand .brand-logo{width:100%;height:auto}
  .nav nav{gap:9px;padding-top:18px}
  .nav nav>a,.services-menu summary{min-height:58px;padding:14px 16px;border:1px solid transparent}
  .nav nav>a:not(.button){background:rgba(255,255,255,.7);border-color:rgba(199,223,250,.8);box-shadow:0 8px 20px rgba(19,105,236,.06)}
  .nav nav>a:not(.button)::before{content:"";width:8px;height:8px;margin-right:13px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 0 0 5px rgba(22,179,255,.12)}
  .nav nav>a:not(.button)::after{content:"›";margin-left:auto;color:var(--blue-deep);font-size:26px;font-weight:400;line-height:1;transition:transform .22s ease}
  .nav nav>a:not(.button):hover::after,.nav nav>a:not(.button):focus-visible::after{transform:translateX(4px)}
  .services-menu{overflow:hidden;box-shadow:0 8px 20px rgba(19,105,236,.06)}
  .services-menu summary{background:rgba(255,255,255,.7)}
  .services-menu summary span::before{content:"";display:inline-block;width:8px;height:8px;margin:0 13px 1px 0;border-radius:50%;background:linear-gradient(135deg,#00c35a,var(--blue));box-shadow:0 0 0 5px rgba(0,195,90,.1)}
  .nav nav>a.button{min-height:58px;margin-top:12px}
  .menu-close{transition:transform .25s ease,box-shadow .25s ease}.menu-close:hover{transform:rotate(90deg);box-shadow:0 8px 18px rgba(19,105,236,.18)}
}

/* Language picker follows the dark, luminous navigation rather than the browser's native select styling. */
.language-switcher{position:relative;z-index:2;display:block;margin:0;padding:0;border:0;background:transparent}
.language-switcher summary{display:flex;align-items:center;gap:7px;min-height:40px;padding:7px 10px;list-style:none;border:1px solid rgba(92,199,255,.3);border-radius:10px;background:rgba(11,31,62,.72);color:var(--nav-text);font-size:12px;font-weight:700;line-height:1;letter-spacing:.04em;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.language-switcher summary::-webkit-details-marker{display:none}.language-switcher summary:hover,.language-switcher[open] summary{border-color:rgba(44,236,255,.72);background:rgba(44,236,255,.1);box-shadow:0 0 18px rgba(44,236,255,.12)}
.language-switcher__code{display:grid;place-items:center;min-width:25px;height:23px;padding:0 4px;border-radius:6px;background:linear-gradient(135deg,#137ee5,#7057df);color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em}.language-switcher summary i{width:7px;height:7px;margin:0 2px 3px 1px;border-right:2px solid var(--nav-cyan);border-bottom:2px solid var(--nav-cyan);transform:rotate(45deg);transition:transform .2s ease}.language-switcher[open] summary i{transform:rotate(225deg) translate(-2px,-2px)}
.language-switcher__menu{position:absolute;top:calc(100% + 11px);right:0;display:grid;min-width:178px;padding:7px;border:1px solid rgba(44,236,255,.32);border-radius:12px;background:linear-gradient(145deg,#0c2041,#08162f);box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 24px rgba(44,236,255,.12);transform-origin:top right;animation:language-menu-in .2s cubic-bezier(.2,.8,.2,1) both}
.language-switcher__menu::before{content:"";position:absolute;top:-6px;right:16px;width:11px;height:11px;border-top:1px solid rgba(44,236,255,.32);border-left:1px solid rgba(44,236,255,.32);background:#0b1e3d;transform:rotate(45deg)}
.language-switcher__menu a{display:flex;align-items:center;gap:10px;padding:9px;border-radius:7px;color:var(--nav-muted);font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;transition:color .2s ease,background .2s ease}.language-switcher__menu a span{display:grid;place-items:center;min-width:29px;height:24px;border:1px solid rgba(128,184,232,.25);border-radius:5px;color:var(--nav-cyan);font-size:10px;font-weight:800}.language-switcher__menu a:hover,.language-switcher__menu a:focus-visible,.language-switcher__menu a[aria-current="true"]{background:rgba(44,236,255,.1);color:var(--nav-text)}.language-switcher__menu a[aria-current="true"] span{border-color:rgba(184,255,77,.55);color:var(--nav-lime)}
@keyframes language-menu-in{from{opacity:0;transform:translateY(-7px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:760px){.language-switcher{margin-left:auto}.language-switcher summary{min-height:38px;padding:6px 8px}.language-switcher__label{display:none}.language-switcher__menu{right:0;min-width:166px}}
@keyframes mobile-menu-link-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes mobile-menu-orbit{50%{transform:translate(-18px,24px) scale(1.08)}}

/* The mobile navigation is a full-screen layer, independent of page content. */
@media (max-width:760px){
  .site-header{z-index:1000}
  .language-switcher{z-index:1004}
  .menu-toggle{z-index:1003}
  .nav nav{z-index:1002;padding-top:18px}
  .menu-panel-head{justify-content:flex-end;margin-bottom:12px;padding-bottom:0;border:0}
  .cookie{z-index:8}
}

/* Neon navigation: clear hierarchy without decorative stickers or arrow icons. */
:root{--nav-night:#061126;--nav-surface:#0a1934;--nav-cyan:#2cecff;--nav-violet:#9b6cff;--nav-lime:#b8ff4d;--nav-text:#edfbff;--nav-muted:#a9c4dc}
.site-header{border:0;background:rgba(6,17,38,.92);box-shadow:0 1px 0 rgba(44,236,255,.24),0 12px 38px rgba(1,7,20,.28);backdrop-filter:blur(18px)}
.site-header::after{height:1px;background:linear-gradient(90deg,transparent,var(--nav-cyan),var(--nav-violet),transparent);opacity:.9}
.nav{min-height:78px;gap:28px}.brand{position:relative;color:var(--nav-text)}
.main-nav{gap:4px;padding:5px 6px 5px 12px;border:1px solid rgba(92,199,255,.26);border-radius:15px;background:rgba(11,31,62,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 26px rgba(44,236,255,.08)}
.main-nav::before{display:none}.main-nav>a:not(.button),.services-menu summary{min-height:40px;padding:8px 12px;border:1px solid transparent;border-radius:9px;color:var(--nav-text);font-size:13px;letter-spacing:.01em}.main-nav>a:not(.button)::after,.services-menu summary::after{display:none}.main-nav>a:not(.button):hover,.main-nav>a:not(.button):focus-visible,.main-nav>a.is-current:not(.button),.services-menu summary:hover,.services-menu.is-current summary,.services-menu[open] summary{color:var(--nav-cyan);background:rgba(44,236,255,.1);border-color:rgba(44,236,255,.22);transform:none}.services-menu summary i{width:7px;height:7px;border-color:currentColor}.services-menu[open] summary i{transform:rotate(225deg) translate(-3px,-3px)}
.drop{top:calc(100% + 12px);left:-8px;width:286px;padding:8px;border:1px solid rgba(44,236,255,.3);border-radius:13px;background:linear-gradient(145deg,#0c2041,#08162f);box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 24px rgba(44,236,255,.12)}.drop::before{background:#0b1e3d;border-color:rgba(44,236,255,.3)}.drop a{padding:10px 12px;border-radius:8px;color:var(--nav-muted);font-size:13px}.drop a::before{display:none}.drop a:hover,.drop a:focus-visible{color:var(--nav-cyan);background:rgba(44,236,255,.1);transform:none}
.nav-cta{margin-left:5px!important;padding:9px 15px!important;border:1px solid rgba(44,236,255,.8)!important;border-radius:10px!important;background:linear-gradient(110deg,#137ee5,#7057df)!important;color:#fff!important;box-shadow:0 0 18px rgba(44,236,255,.25),inset 0 1px 0 rgba(255,255,255,.25)!important}.nav-cta:hover,.nav-cta:focus-visible{transform:translateY(-1px);box-shadow:0 0 28px rgba(44,236,255,.48),inset 0 1px 0 rgba(255,255,255,.25)!important}
@media(max-width:760px){
  .site-header{background:rgba(6,17,38,.96)}.nav{min-height:68px}.menu-toggle{z-index:1003;padding:9px 11px;border-color:rgba(44,236,255,.45);border-radius:9px;background:rgba(11,31,62,.8);color:var(--nav-text);box-shadow:0 0 18px rgba(44,236,255,.14)}.menu-toggle span{background:var(--nav-cyan)}.menu-toggle b{font-size:12px}
  .nav nav,.nav nav.open{z-index:1002;padding:18px max(20px,calc((100vw - 560px)/2)) 30px;gap:9px;background:radial-gradient(circle at 100% 0,rgba(44,236,255,.16),transparent 31%),radial-gradient(circle at 0 100%,rgba(155,108,255,.16),transparent 29%),linear-gradient(145deg,#061126,#0a1d3b);transform:translateX(102%);transition:transform .42s cubic-bezier(.22,.85,.25,1),visibility 0s linear .42s}
  .nav nav.open{transform:translateX(0);transition:transform .42s cubic-bezier(.22,.85,.25,1),visibility 0s}.nav nav::before,.nav nav::after{display:none}.menu-panel-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;padding:4px 0 16px;border-bottom:1px solid rgba(44,236,255,.25);color:var(--nav-cyan);font-size:12px;letter-spacing:.14em}.menu-close{width:40px;height:40px;border:1px solid rgba(44,236,255,.4);border-radius:9px;background:rgba(44,236,255,.08)}.menu-close span{background:var(--nav-cyan)}
  .nav nav>a:not(.button),.services-menu summary{min-height:55px;padding:13px 14px;border:1px solid rgba(128,184,232,.2);border-radius:10px;background:rgba(255,255,255,.035);color:var(--nav-text);font-size:17px;box-shadow:none}.nav nav>a:not(.button)::before,.nav nav>a:not(.button)::after,.services-menu summary span::before{display:none}.nav nav>a:not(.button):hover,.nav nav>a:not(.button):focus-visible,.services-menu summary:hover{border-color:rgba(44,236,255,.65);background:rgba(44,236,255,.09);color:var(--nav-cyan);transform:none}
  .services-menu{border:0;border-radius:0;background:transparent;box-shadow:none}.services-menu summary{justify-content:space-between}.services-menu[open] summary{border-color:rgba(44,236,255,.5);border-radius:10px 10px 0 0}.drop{padding:6px 6px 9px;border:1px solid rgba(44,236,255,.25);border-top:0;border-radius:0 0 10px 10px;background:rgba(3,11,26,.36);box-shadow:none}.drop a{padding:10px 12px;color:var(--nav-muted);font-size:14px}.nav nav>a.button{min-height:55px;margin-top:10px;padding:13px 16px!important;border-radius:10px!important}
  .menu-backdrop{display:block;position:fixed;z-index:1001;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(1,7,20,.68);opacity:0;pointer-events:none;transition:opacity .42s ease}.menu-open .menu-backdrop{opacity:1;pointer-events:auto}
}

/* Mobile menu: use one predictable control and keep the panel inside the viewport. */
@media (max-width:760px){
  html,
  body{
    overflow-x:clip;
  }

  .nav nav,
  .nav nav.open{
    inset:68px 0 0;
    width:auto;
    max-width:100%;
    min-height:calc(100dvh - 68px);
    height:calc(100dvh - 68px);
    padding:20px max(20px, calc((100vw - 560px) / 2)) 30px;
    overflow-x:clip;
  }

  .menu-panel-head,
  .menu-close{
    display:none;
  }

  .menu-toggle{
    grid-template-columns:22px auto;
    grid-template-rows:repeat(3, 3px);
    min-height:44px;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  .menu-toggle[aria-expanded="true"] b{
    font-size:0;
  }

  .menu-toggle[aria-expanded="true"] b::after{
    content:"Закрыть";
    font-size:12px;
  }
}

/* Colour theme control: placed between primary navigation and language choice. */
.theme-toggle{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;margin-left:-18px;margin-right:-18px;padding:0;border:1px solid rgba(44,236,255,.45);border-radius:10px;background:rgba(11,31,62,.8);color:var(--nav-cyan);box-shadow:0 0 18px rgba(44,236,255,.12)}
.theme-toggle:hover,.theme-toggle:focus-visible{transform:translateY(-1px);background:rgba(44,236,255,.12);box-shadow:0 0 24px rgba(44,236,255,.28)}
.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-icon-moon,.theme-icon-auto{display:none}.theme-icon-auto{font-size:17px;font-weight:800;line-height:1}
html[data-theme="light"]{color-scheme:light}.theme-toggle .theme-icon-sun{display:block}.theme-toggle .theme-icon-moon,.theme-toggle .theme-icon-auto{display:none}
html[data-theme-source="auto"] .theme-toggle svg{display:none}html[data-theme-source="auto"] .theme-toggle .theme-icon-auto{display:block}
html[data-theme="dark"]{color-scheme:dark;--ink:#e8f5ff;--muted:#b2c9dc;--sky:#0b1b34;--line:#294967}html[data-theme="dark"] body{color:var(--ink);background:#061126}html[data-theme="dark"] .site-header{background:rgba(3,11,26,.94)}html[data-theme="dark"] .language-switcher,html[data-theme="dark"] .language-switcher select{border-color:rgba(44,236,255,.36);background:#0b1f3d;color:var(--nav-text)}html[data-theme="dark"] .home-hero{background:radial-gradient(circle at 85% 12%,rgba(44,236,255,.16),transparent 28%),radial-gradient(circle at 8% 86%,rgba(155,108,255,.17),transparent 26%),linear-gradient(130deg,#07162d,#0a1a35 54%,#08162d)}html[data-theme="dark"] .hero-page{background:linear-gradient(125deg,rgba(var(--theme-rgb),.18),#08172d 53%,rgba(var(--theme-rgb),.1))}html[data-theme="dark"] .hero-page h1{background:linear-gradient(105deg,#fff,var(--theme));-webkit-background-clip:text;background-clip:text}html[data-theme="dark"] .cards article,html[data-theme="dark"] .task,html[data-theme="dark"] .callout{background:#0b1e3a;border-color:#294967;color:var(--ink)}html[data-theme="dark"] .signal-card{background:#0b1e3af2;color:var(--ink)}html[data-theme="dark"] .partners{background:#08182f}html[data-theme="dark"] .partner-card{background:#0b1e3a;border-color:#294967}html[data-theme="dark"] .request{background:linear-gradient(135deg,rgba(var(--theme-rgb),.2),#07192b)}html[data-theme="dark"] .lead-form input,html[data-theme="dark"] .lead-form textarea{border-color:#47718f;background:#091a31;color:var(--ink)}html[data-theme="dark"] .cookie{background:#0b1e3a;border-color:#47718f;color:var(--ink)}html[data-theme="dark"] .breadcrumbs{color:var(--muted)}html[data-theme="dark"] .hero-copy>p:not(.eyebrow),html[data-theme="dark"] .section-intro>p:not(.eyebrow){color:#c5d8e8}html[data-theme="dark"] .theme-icon-sun{display:none}html[data-theme="dark"] .theme-icon-moon{display:block}
html[data-theme-source="auto"] .theme-toggle svg,html[data-theme-source="auto"] .theme-toggle .theme-icon-moon{display:none}html[data-theme-source="auto"] .theme-toggle .theme-icon-auto{display:block}
@media(max-width:760px){.theme-toggle{order:2;margin-left:auto;margin-right:-9px;width:38px;height:38px;flex-basis:38px}.language-switcher{order:3}.theme-toggle svg{width:18px;height:18px}}

/* The header follows the selected site theme too, rather than remaining dark in light mode. */
html[data-theme="light"] .site-header{background:rgba(255,255,255,.92);box-shadow:0 1px 0 rgba(19,105,236,.16),0 12px 32px rgba(19,105,236,.1)}
html[data-theme="light"] .site-header::after{background:linear-gradient(90deg,transparent,var(--blue),var(--blue-deep),transparent);opacity:.48}
html[data-theme="light"] .brand{color:var(--ink)}html[data-theme="light"] .brand::after{background:var(--green);box-shadow:0 0 10px rgba(0,195,90,.65)}
html[data-theme="light"] .main-nav{border-color:#cbe5fa;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(19,105,236,.1)}
html[data-theme="light"] .main-nav>a:not(.button),html[data-theme="light"] .services-menu summary{color:var(--ink)}
html[data-theme="light"] .main-nav>a:not(.button):hover,html[data-theme="light"] .main-nav>a:not(.button):focus-visible,html[data-theme="light"] .main-nav>a.is-current:not(.button),html[data-theme="light"] .services-menu summary:hover,html[data-theme="light"] .services-menu.is-current summary,html[data-theme="light"] .services-menu[open] summary{color:var(--blue-deep);background:#eef9ff;border-color:#cbe5fa}
html[data-theme="light"] .drop{border-color:#cbe5fa;background:linear-gradient(145deg,#fff,#f2faff);box-shadow:0 18px 42px rgba(7,22,45,.16)}html[data-theme="light"] .drop::before{background:#fff;border-color:#cbe5fa}html[data-theme="light"] .drop a{color:var(--ink)}html[data-theme="light"] .drop a:hover,html[data-theme="light"] .drop a:focus-visible{color:var(--blue-deep);background:#eef9ff}
html[data-theme="light"] .language-switcher summary,html[data-theme="light"] .theme-toggle{border-color:#b9dcf5;background:rgba(255,255,255,.92);color:var(--blue-deep);box-shadow:0 7px 16px rgba(19,105,236,.1)}
html[data-theme="light"] .language-switcher summary:hover,html[data-theme="light"] .language-switcher[open] summary,html[data-theme="light"] .theme-toggle:hover,html[data-theme="light"] .theme-toggle:focus-visible{border-color:var(--blue);background:#eef9ff;box-shadow:0 9px 20px rgba(19,105,236,.16)}
html[data-theme="light"] .language-switcher summary i{border-color:var(--blue-deep)}html[data-theme="light"] .language-switcher__menu{border-color:#cbe5fa;background:linear-gradient(145deg,#fff,#f2faff);box-shadow:0 18px 42px rgba(7,22,45,.16)}html[data-theme="light"] .language-switcher__menu::before{background:#fff;border-color:#cbe5fa}html[data-theme="light"] .language-switcher__menu a{color:var(--ink)}html[data-theme="light"] .language-switcher__menu a:hover,html[data-theme="light"] .language-switcher__menu a:focus-visible,html[data-theme="light"] .language-switcher__menu a[aria-current="true"]{background:#eef9ff;color:var(--blue-deep)}
@media(max-width:760px){html[data-theme="light"] .menu-toggle{border-color:#b9dcf5;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:0 7px 16px rgba(19,105,236,.1)}html[data-theme="light"] .menu-toggle span{background:var(--blue-deep)}html[data-theme="light"] .nav nav,html[data-theme="light"] .nav nav.open{background:linear-gradient(145deg,#fff,#eef9ff)}html[data-theme="light"] .nav nav>a:not(.button),html[data-theme="light"] .services-menu summary{border-color:#cbe5fa;background:#fff;color:var(--ink)}html[data-theme="light"] .drop{background:#f7fbff}html[data-theme="light"] .menu-backdrop{background:rgba(7,22,45,.35)}}

/* Mobile header and navigation: keep the controls inside narrow screens and reveal the panel below it. */
@media (max-width:760px){
  .nav{
    min-height:68px;
    gap:5px;
  }

  .brand{
    flex:0 1 auto;
    min-width:0;
  }

  .brand-logo{
    width:clamp(108px,37vw,142px);
    height:auto;
  }

  .menu-toggle{
    display:flex;
    flex:0 0 42px;
    width:42px;
    min-height:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:0;
    border-radius:12px;
  }

  .menu-toggle span{
    flex:0 0 2px;
    width:18px;
    height:2px;
    margin:0;
  }

  .menu-toggle b{
    display:none;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  .theme-toggle{
    width:34px;
    height:34px;
    flex-basis:34px;
    margin-left:0;
    margin-right:0;
  }

  .language-switcher summary{
    min-height:34px;
    padding:5px 6px;
  }

  .language-switcher__code{
    min-width:23px;
    height:22px;
    padding:0 3px;
  }

  .nav nav,
  .nav nav.open{
    inset:68px 0 0;
    min-height:calc(100dvh - 68px);
    height:calc(100dvh - 68px);
    padding:18px max(20px,calc((100vw - 560px) / 2)) 30px;
    transform:translateY(-104%);
    transition:transform .4s cubic-bezier(.22,.85,.25,1),visibility 0s linear .4s;
  }

  .nav nav.open{
    transform:translateY(0);
    transition:transform .4s cubic-bezier(.22,.85,.25,1),visibility 0s;
  }

  .services-menu,
  .services-menu .drop{
    width:100%;
  }

  .services-menu .drop{
    box-sizing:border-box;
  }
}

/* Header contact and a two-row mobile layout keep every utility control reachable. */
.header-phone{display:inline-flex;align-items:baseline;gap:7px;color:var(--nav-text);font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap}.header-phone__label{color:var(--nav-muted);font-size:11px;font-weight:600}.header-phone:hover,.header-phone:focus-visible{color:var(--nav-cyan)}
@media (max-width:760px){
  :root{--mobile-header-height:112px}
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:58px 46px;column-gap:10px;row-gap:0;min-height:var(--mobile-header-height)}
  .site-header .brand{grid-column:1;grid-row:1;margin-right:0}
  .header-phone{grid-column:2;grid-row:1;justify-self:end;font-size:12px}
  .header-phone__label{display:none}
  .menu-toggle{grid-column:2;grid-row:2;justify-self:end;order:initial}
  .theme-toggle{grid-column:2;grid-row:2;justify-self:end;margin-right:100px;order:initial}
  .language-switcher{grid-column:2;grid-row:2;justify-self:end;margin-right:52px;margin-left:0;order:initial}
  .nav nav,.nav nav.open{inset:var(--mobile-header-height) 0 0;min-height:calc(100dvh - var(--mobile-header-height));height:calc(100dvh - var(--mobile-header-height))}
  .menu-backdrop{top:var(--mobile-header-height);height:calc(100dvh - var(--mobile-header-height))}
}
@media (max-width:350px){
  .wrap{width:min(1140px,calc(100% - 28px))}
  .brand-logo{width:104px}
  .header-phone{font-size:11px}
}

/* Mobile header polish: no overlap, vertically centred logo, highlighted phone. */
.header-phone{position:relative;padding:9px 12px;border:1px solid rgba(44,236,255,.26);border-radius:999px;background:linear-gradient(135deg,rgba(44,236,255,.1),rgba(155,108,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(44,236,255,.08)}
.header-phone::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--nav-lime);box-shadow:0 0 12px var(--nav-lime);flex:0 0 7px}.header-phone span:last-child{letter-spacing:.02em}
html[data-theme="light"] .header-phone{color:var(--ink);border-color:#cbe5fa;background:linear-gradient(135deg,#fff,#eef9ff);box-shadow:0 8px 20px rgba(19,105,236,.1)}
@media (max-width:760px){
  :root{--mobile-header-height:112px}
  .nav{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;row-gap:4px;min-height:var(--mobile-header-height);padding-block:9px}
  .site-header .brand{grid-column:1;grid-row:1 / 3;align-self:center;display:flex;align-items:center;min-height:100%}
  .site-header .brand-logo{display:block;width:clamp(120px,38vw,164px)}
  .site-header .brand::after{right:-9px;bottom:50%;transform:translateY(50%)}
  .header-phone{grid-column:2 / 5;grid-row:1;justify-self:end;align-self:center;padding:7px 10px;font-size:12px;border-color:rgba(44,236,255,.38);background:rgba(11,31,62,.74)}
  .header-phone::before{width:6px;height:6px;flex-basis:6px}.header-phone__label{display:none}
  .theme-toggle,.language-switcher,.menu-toggle{align-self:center;justify-self:end;margin:0;position:relative;z-index:2}
  .theme-toggle{grid-column:2;grid-row:2;width:40px;height:40px;flex-basis:40px}
  .language-switcher{grid-column:3;grid-row:2}.language-switcher summary{min-height:40px;padding:6px 8px}
  .menu-toggle{grid-column:4;grid-row:2;width:44px;height:44px;min-height:44px;flex-basis:44px}
  .nav nav,.nav nav.open{inset:var(--mobile-header-height) 0 0;min-height:calc(100dvh - var(--mobile-header-height));height:calc(100dvh - var(--mobile-header-height))}
  body.menu-open .site-header{position:fixed;top:0;right:0;left:0}
  body.menu-open main{padding-top:var(--mobile-header-height)}
  .menu-backdrop{top:var(--mobile-header-height);height:calc(100dvh - var(--mobile-header-height))}
  html[data-theme="light"] .header-phone{background:linear-gradient(135deg,#fff,#eef9ff);border-color:#b9dcf5}
}
@media (max-width:380px){
  .wrap{width:min(1140px,calc(100% - 26px))}
  .nav{column-gap:6px}.brand-logo{width:clamp(106px,34vw,128px)}.header-phone{padding:6px 8px;font-size:11px}.theme-toggle{width:38px;height:38px;flex-basis:38px}.language-switcher summary{min-height:38px;padding:5px 7px}.menu-toggle{width:40px;height:40px;min-height:40px;flex-basis:40px}
}

/* Let an expanded services list take its natural height. The menu panel itself
   remains the only scrolling container, so the links below are pushed down
   instead of overlapping a clipped submenu. */
@media (max-width:760px){
  .nav nav,
  .nav nav.open{
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .nav nav > .services-menu,
  .nav nav > a{
    flex-shrink:0;
  }

  .services-menu[open]{
    overflow:visible;
  }
}

/* Keep the mobile navigation above the page while allowing language choices to stay accessible over it. */
@media (max-width:760px){
  .site-header{z-index:1000}
  .menu-backdrop{z-index:1001}
  .nav nav,.nav nav.open{z-index:1002}
  .theme-toggle,.menu-toggle{z-index:1003}
  .language-switcher{z-index:1004}
  .language-switcher__menu{z-index:1}
}

/* Separate the next content section from the card block on every service page. */
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.content > .cards + h2{
  margin-top:clamp(44px,6vw,68px);
}

/* Desktop navigation: keep the outlined menu comfortably inset and labels on one line. */
@media (min-width:761px){
  .site-header{
    padding-block:10px;
  }

  .nav{
    min-height:58px;
  }

  .main-nav{
    align-self:center;
    flex-wrap:nowrap;
    margin-block:0;
    padding:6px;
    border-radius:16px;
  }

  .main-nav>a:not(.button),
  .services-menu summary,
  .nav-cta{
    white-space:nowrap;
    line-height:1.2;
  }

  .main-nav>a:not(.button),
  .services-menu summary{
    min-height:42px;
    padding-inline:11px;
    letter-spacing:.015em;
  }

  .nav-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin-left:4px!important;
    padding-inline:16px!important;
    font-size:13px;
    letter-spacing:.015em;
  }
}

/* Immediate, accessible form feedback. */
.field-error{display:block;min-height:1.35em;margin-top:2px;color:#b42318;font-size:13px;font-weight:600;line-height:1.35}
.lead-form input.is-invalid,.lead-form textarea.is-invalid,.lead-form select.is-invalid{border-color:#d92d20;box-shadow:0 0 0 3px #d92d2024}
.lead-form input.is-valid,.lead-form textarea.is-valid,.lead-form select.is-valid{border-color:#07883f}
.turnstile-box{margin:16px 0}

/* AI agents: visualise the path from business knowledge to controlled action. */
.page-theme-services-ai-agents{--theme:#8c5cff;--theme-rgb:140,92,255;--theme-secondary:#16b3ff}
.ai-agent-blueprint{margin:62px 0;padding:clamp(24px,4vw,46px);border:1px solid rgba(var(--theme-rgb),.35);border-radius:22px;background:linear-gradient(145deg,rgba(var(--theme-rgb),.08),rgba(22,179,255,.06));overflow:hidden}.ai-agent-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 42px;padding:0;list-style:none;counter-reset:none}.ai-agent-flow li{position:relative;display:flex;flex-direction:column;min-height:180px;padding:22px 18px;border:1px solid rgba(var(--theme-rgb),.3);border-radius:16px;background:rgba(255,255,255,.82)}.ai-agent-flow li:not(:last-child)::after{content:"→";position:absolute;z-index:1;right:-20px;top:50%;width:26px;color:var(--theme);font-size:23px;font-weight:800;text-align:center;transform:translateY(-50%)}.ai-agent-flow b{color:var(--theme);font-size:13px;letter-spacing:.12em}.ai-agent-flow strong{margin:18px 0 8px;font-size:20px}.ai-agent-flow span{color:var(--muted);font-size:14px;line-height:1.55}.ai-agent-cases article{background:rgba(255,255,255,.72)}html[data-theme="dark"] .ai-agent-blueprint{background:linear-gradient(145deg,rgba(var(--theme-rgb),.16),rgba(22,179,255,.08))}html[data-theme="dark"] .ai-agent-flow li,html[data-theme="dark"] .ai-agent-cases article{background:rgba(11,30,58,.88)}.services-cards article:nth-child(7){--service-rgb:140,92,255}

/* Cases */
.case-nav{display:flex;gap:9px;overflow-x:auto;padding-top:24px;padding-bottom:12px;scrollbar-width:thin}.case-nav a{flex:none;padding:8px 13px;border:1px solid rgba(var(--theme-rgb),.35);border-radius:999px;background:rgba(var(--theme-rgb),.06);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.case-nav a:hover,.case-nav a:focus-visible{border-color:var(--theme);color:var(--theme-secondary)}.case-list{display:grid;gap:24px;padding-top:34px;padding-bottom:76px}.case-study{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,70px);padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(140deg,rgba(var(--theme-rgb),.08),#fff 38%);scroll-margin-top:100px}.case-study__heading{align-self:start;position:sticky;top:100px}.case-study h2{font-size:clamp(27px,3.3vw,40px)}.case-industry{display:inline-flex;padding:6px 11px;border-radius:7px;background:rgba(var(--theme-rgb),.12);color:var(--theme-secondary);font-size:13px;font-weight:800}.case-study__body{display:grid;gap:21px}.case-study__body section{padding-bottom:20px;border-bottom:1px solid var(--line)}.case-study__body h3{margin:0 0 8px;font-size:16px}.case-study__body p,.case-study__body ul{margin:0}.case-study__body ul{padding-left:20px}.case-study__body li+li{margin-top:7px}.case-result{padding:20px!important;border:0!important;border-radius:14px;background:rgba(0,195,90,.09)}html[data-theme="dark"] .case-study{background:linear-gradient(140deg,rgba(var(--theme-rgb),.16),#0b1e3a 38%);border-color:#294967}html[data-theme="dark"] .case-result{background:rgba(0,195,90,.12)}@media(max-width:760px){.case-study{grid-template-columns:1fr}.case-study__heading{position:static}.case-nav{width:calc(100% - 24px)}}
@media(max-width:760px){.ai-agent-flow{grid-template-columns:1fr 1fr}.ai-agent-flow li:not(:last-child)::after{display:none}.ai-agent-flow li{min-height:150px}}@media(max-width:430px){.ai-agent-flow{grid-template-columns:1fr}}

/* Keep card copy inside its column, including long service names and localized
   words. minmax(0, 1fr) lets tracks actually shrink instead of inheriting the
   intrinsic width of a heading, while wrapping remains the preferred fallback. */
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards > *,
.cards article > *,
.services-cards h2,
.services-cards h2 a{min-width:0;max-width:100%}
.cards article p,
.cards article li,
.cards article a,
.cards article h2,
.cards article h3{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.services-cards article{display:flex;flex-direction:column}
.services-cards h2{font-size:clamp(23px,2.35vw,32px);line-height:1.18}
.services-cards article > a:last-child{align-self:flex-start;margin-top:auto}

@media(max-width:760px){
 .cards.three{grid-template-columns:minmax(0,1fr)}
 .services-cards h2{font-size:clamp(24px,7vw,32px)}
 /* Content must never depend on IntersectionObserver on mobile. Mobile browsers
    can suspend the observer while the address bar or a background tab changes
    the visual viewport, leaving every off-screen block permanently transparent. */
 .reveal,
 [data-auto-reveal]{opacity:1;transform:none}
}

/* Structured service catalogue */
.service-list{margin:18px 0 22px;padding-left:20px}.service-list li{margin:7px 0}.service-children{margin:24px 0 42px}
@media(min-width:761px){
 .service-drop{position:fixed;top:68px;right:max(20px,calc((100vw - 1120px)/2));left:max(20px,calc((100vw - 1120px)/2));width:auto;max-height:calc(100dvh - 90px);padding:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;overflow-y:auto;overscroll-behavior:contain;transform:none;transform-origin:top center;scrollbar-width:thin;scrollbar-color:rgba(44,236,255,.5) rgba(11,31,62,.35)}
 .service-drop::-webkit-scrollbar{width:9px}.service-drop::-webkit-scrollbar-track{background:rgba(11,31,62,.35);border-radius:999px}.service-drop::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(44,236,255,.5);background-clip:padding-box}
 .service-drop::before{display:none}.service-drop__all{grid-column:1/-1;font-weight:800!important}
 .service-drop__group{min-width:0;padding:4px;border-top:1px solid rgba(128,184,232,.25)}
 .service-drop .service-drop__parent{padding:10px 8px;font-weight:800;color:var(--nav-text)}
 .service-drop__children{display:grid}.service-drop__children a{padding:6px 8px;color:var(--nav-muted);font-size:12px}
}
@media(max-width:760px){
 .service-drop__group{border-top:1px solid rgba(128,184,232,.2)}
 .service-drop .service-drop__parent{padding:11px 12px;font-weight:800;color:var(--nav-text)}
 .service-drop__children{display:grid;padding:0 0 6px 12px}
 .service-drop__children a{padding:7px 12px;font-size:13px}
}

/* Navigation catalogue: every service remains visible, just as it is in the
   footer. Explicit block/grid sizing also avoids empty groups in mobile WebKit. */
.service-drop__all,
.service-drop__parent,
.service-drop__children a{display:block;position:relative}
.service-drop__group{display:block;min-width:0}

@media(min-width:1051px){.service-drop{top:98px}}

@media(max-width:760px){
 .service-drop{display:block!important;padding:4px 8px 14px!important}
 .service-drop__all{margin-bottom:4px;padding:12px!important;font-weight:800!important}
 .service-drop__group{padding:4px 0}
 .service-drop .service-drop__parent{color:var(--ink)}
 .service-drop__children{display:none}
 html[data-theme="dark"] .service-drop .service-drop__parent{color:var(--nav-text)}
}

/* Branded HTTP error pages */
.page-theme-401,.page-theme-403,.page-theme-404,.page-theme-405,.page-theme-500{--theme:#16b3ff;--theme-rgb:22,179,255;--theme-secondary:#1369ec}
.error-page{position:relative;display:grid;min-height:clamp(560px,72vh,780px);overflow:hidden;background:radial-gradient(circle at 82% 45%,rgba(var(--theme-rgb),.15),transparent 28%),linear-gradient(135deg,#fff 15%,rgba(var(--theme-rgb),.07))}
.error-page::before{content:"";position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(var(--theme-rgb),.12) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--theme-rgb),.12) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000)}
.error-page__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;gap:clamp(36px,7vw,100px);padding-block:clamp(70px,10vw,130px)}
.error-page__copy{max-width:660px}.error-page__copy .eyebrow{margin-bottom:8px}.error-page__code{margin:0;color:var(--theme-secondary);font-size:clamp(74px,12vw,150px);font-weight:900;line-height:.82;letter-spacing:-.075em;text-shadow:8px 8px 0 rgba(var(--theme-rgb),.13)}
.error-page h1{max-width:700px;margin:24px 0 18px;font-size:clamp(36px,5vw,66px);line-height:1.02}.error-page__description{max-width:600px;margin:0;color:var(--ink);font-size:clamp(19px,2vw,25px);line-height:1.45}.error-page__hint{max-width:600px;margin:13px 0 0;color:var(--muted);font-size:16px;line-height:1.6}.error-page__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.error-page__actions .button{display:inline-flex;align-items:center;gap:12px}.error-page__actions button.button{font:inherit;cursor:pointer}
.error-page__visual{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:470px;margin-inline:auto}.error-page__orbit{position:absolute;border:1px solid rgba(var(--theme-rgb),.42);border-radius:50%;animation:spin 24s linear infinite}.error-page__orbit::after{content:"";position:absolute;top:10%;left:12%;width:12px;aspect-ratio:1;border-radius:50%;background:var(--theme);box-shadow:0 0 24px var(--theme)}.error-page__orbit--outer{inset:2%;border-style:dashed}.error-page__orbit--inner{inset:17%;animation-direction:reverse;animation-duration:16s}.error-page__terminal{position:relative;display:grid;grid-template-columns:repeat(3,8px);gap:6px;width:min(72%,300px);padding:18px 22px 24px;border:1px solid rgba(var(--theme-rgb),.5);border-radius:20px;background:rgba(7,22,45,.95);box-shadow:0 28px 65px rgba(7,22,45,.27),inset 0 0 40px rgba(var(--theme-rgb),.08);transform:rotate(-4deg)}.error-page__terminal span{width:8px;aspect-ratio:1;border-radius:50%;background:#ff5c78}.error-page__terminal span:nth-child(2){background:#ffc14d}.error-page__terminal span:nth-child(3){background:#00c35a}.error-page__terminal strong{grid-column:1/-1;margin-top:22px;color:#fff;font-size:clamp(58px,8vw,96px);line-height:1;text-align:center;letter-spacing:.04em}.error-page__terminal small{grid-column:1/-1;margin-top:9px;color:#75dfff;font-size:11px;font-weight:800;text-align:center;letter-spacing:.2em}
html[data-theme="dark"] .error-page{background:radial-gradient(circle at 82% 45%,rgba(var(--theme-rgb),.18),transparent 28%),linear-gradient(135deg,#08182d,#0b1e3a)}html[data-theme="dark"] .error-page__description{color:#fff}
@media(max-width:760px){.error-page{min-height:auto}.error-page__grid{grid-template-columns:1fr;padding-block:62px 72px}.error-page__visual{order:-1;width:min(68vw,300px)}.error-page__copy{text-align:center}.error-page__description,.error-page__hint{margin-inline:auto}.error-page__actions{justify-content:center}.error-page h1{margin-inline:auto}.error-page__code{font-size:clamp(72px,26vw,112px)}}

/* Compact desktop/tablet layout. At these widths one crowded row caused the
   phone, navigation and utility controls to collide or leave the viewport. */
@media(min-width:761px) and (max-width:1050px){
 .site-header{padding-block:8px}
 .nav{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;grid-template-rows:auto auto;gap:8px 12px;padding-block:0}
 .site-header .brand{grid-column:1;grid-row:1}
 .site-header .brand-logo{width:150px}
 .header-phone{grid-column:2;grid-row:1}
 .theme-toggle{grid-column:3;grid-row:1;margin:0}
 .language-switcher{grid-column:4;grid-row:1}
 .main-nav{grid-column:1/-1;grid-row:2;justify-self:center;width:max-content;max-width:100%}
 .service-drop{top:136px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:calc(100dvh - 156px)}
}

@media(min-width:1051px) and (max-width:1220px){
 .nav{gap:12px}
 .site-header .brand-logo{width:145px}
 .header-phone{padding-inline:9px;font-size:12px}
 .header-phone__label{display:none}
 .theme-toggle{margin-inline:-4px}
 .main-nav>a:not(.button),.services-menu summary{padding-inline:9px;font-size:12px}
 .nav-cta{padding-inline:12px!important;font-size:12px}
}
:root{--font-ui:Manrope,Inter,"Noto Sans",Arial,sans-serif;--font-cjk:"Noto Sans SC","Noto Sans JP",Manrope,Arial,sans-serif;--font-ar:"Noto Sans Arabic",Manrope,Arial,sans-serif}body,.button,button,input,textarea,select{font-family:var(--font-ui)}html[lang="zh"] body,html[lang="zh"] button,html[lang="zh"] input,html[lang="zh"] textarea,html[lang="zh"] select{font-family:var(--font-cjk)}html[lang="ja"] body,html[lang="ja"] button,html[lang="ja"] input,html[lang="ja"] textarea,html[lang="ja"] select{font-family:var(--font-cjk)}html[lang="ar"] body,html[lang="ar"] button,html[lang="ar"] input,html[lang="ar"] textarea,html[lang="ar"] select{font-family:var(--font-ar)}
