/* Inter Variable — self-hosted, all current site languages. */
@font-face{
  font-family:Inter;
  src:url('../fonts/InterVariable.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}
@font-face{
  font-family:Inter;
  src:url('../fonts/InterVariable-Italic.woff2') format('woff2');
  font-style:italic;
  font-weight:100 900;
  font-display:swap;
}
:root{--ink:#171321;--muted:#726c7c;--background:#f8f8fc;--paper:#fff;--deep:#170e24;--purple:#6f29fb;--pink:#e917ac;--radius:23px;--container:1200px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--ink);font:400 16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img,svg{max-width:100%}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.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;inset:8px auto auto 8px;z-index:9999;padding:10px 16px;background:#fff;transform:translateY(-150%);border-radius:10px}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a96dff;outline-offset:3px}
[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(19,9,36,.045)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:84px}
.brand{display:inline-flex;align-items:center;min-width:max-content;line-height:1}
.brand-logo{display:block;width:190px;height:auto;max-width:none}
.site-nav{display:flex;align-items:center;gap:4px;margin-inline:auto}
.nav-item{position:relative}
.nav-heading{display:flex;align-items:center;gap:1px;border-radius:12px}
.nav-heading>a{padding:12px 9px;font-size:13px;font-weight:660;white-space:nowrap}
.nav-expand{display:grid;place-items:center;width:19px;height:31px;margin-inline-start:-3px;padding:0;border:0;background:transparent;color:#625a6c}
.nav-expand svg{transition:transform .17s ease}
.nav-item:hover .nav-heading,.nav-item:focus-within .nav-heading,.nav-item.is-current .nav-heading{color:#7335db}
.nav-item:hover .nav-expand svg,.nav-item:focus-within .nav-expand svg{transform:rotate(180deg)}
.nav-submenu{display:none;position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:300px;min-width:260px;padding:17px;background:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(19,9,36,.15)}
.nav-submenu::before{content:"";position:absolute;inset:-12px 0 auto;height:16px}
.nav-item:hover>.nav-submenu,.nav-item:focus-within>.nav-submenu{display:grid;gap:2px}
.nav-submenu-title{padding:4px 10px 10px;color:#8b8396;font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.nav-submenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;font-size:13px;font-weight:580}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:#f6f0ff;color:#7130e0}
.nav-submenu a span{color:#a6a0af}
.header-actions{display:flex;align-items:center;gap:9px}
.language-wrap{position:relative}
.language-trigger{height:43px;display:flex;align-items:center;gap:7px;background:transparent;border:0;color:#322a3a;padding:0 8px;font-size:13px;font-weight:750}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{color:#7231e5}
.language-trigger svg:last-child{transition:transform .18s ease}
.language-trigger[aria-expanded="true"] svg:last-child{transform:rotate(180deg)}
.language-panel{position:absolute;z-index:150;top:calc(100% + 12px);right:0;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border-radius:18px;background:#fff;box-shadow:0 18px 58px rgba(23,9,42,.18)}
.language-panel-label{display:block;margin:0 0 6px;padding:8px 10px 6px;color:#8d7e9b;font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}
.language-options{display:flex;flex-direction:column;gap:3px}
.language-option{display:flex;align-items:center;gap:11px;min-height:48px;padding:7px 9px;border-radius:11px;color:#40364a;font-size:13px;line-height:1.3;transition:background-color .15s,color .15s}
.language-option:hover{background:#f8f4fc;color:#5e2ca5}
.language-option:focus-visible{background:#f8f4fc;outline:2px solid #ac7af0;outline-offset:-2px}
.language-option.is-selected{background:#f2eafa;color:#5e22bd}
.language-code{display:grid;place-items:center;flex:0 0 51px;min-height:33px;padding:0 4px;border-radius:9px;background:#f5f2f9;color:#866d97;font-size:10px;font-weight:800;letter-spacing:.15px}
.language-option.is-selected .language-code{background:#e7d7fa;color:#6829c5}
.language-name{flex:1;min-width:0;font-weight:670}
.language-check{flex:0 0 17px;color:#7436cc}
.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:49px;padding:12px 23px;border:0;border-radius:12px;font-size:13px;font-weight:780;white-space:nowrap;transition:background-color .18s,color .18s}
.button-primary{background:#171020;color:#fff}
.button-primary:hover{background:#5f20d7}
.button-purple{background:linear-gradient(110deg,#6525f2,#ac21e5);color:#fff}
.button-purple:hover{filter:brightness(1.07)}
.button-light{background:#fff;color:#251635}
.button-light:hover{background:#f2e8ff}
.button-ghost{color:#21172d;background:transparent;padding-inline:0}
.button-ghost:hover{color:#7a24df}
.menu-toggle{display:none;width:42px;height:42px;border:0;border-radius:10px;background:#f2eff8;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{width:19px;height:2px;background:#241830;border-radius:3px;transition:transform .16s ease,opacity .16s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-contact,.mobile-nav-intro,.mobile-nav-footnote{display:none}
.eyebrow{display:inline-flex;align-items:center;gap:11px;text-transform:uppercase;color:#6c35cb;font-size:11px;font-weight:850;letter-spacing:2.4px}
.eyebrow::before{content:"";display:block;width:19px;height:3px;border-radius:3px;background:linear-gradient(90deg,#7727fb,#f12ab3)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.045em;line-height:1.11}
h1{font-size:clamp(42px,4.8vw,70px);font-weight:830}
h2{font-size:clamp(30px,3.4vw,49px);font-weight:810}
h3{font-size:22px;font-weight:790}
p{color:var(--muted)}
.gradient-text{background:linear-gradient(110deg,#5a23ea 0%,#9a24e9 52%,#e816af 95%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-section{position:relative;overflow:hidden;background:radial-gradient(ellipse 54% 70% at 102% 10%,#f7e5ff 0,transparent 78%),linear-gradient(135deg,#fff 12%,#f8f6fd 85%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px;padding-top:83px;padding-bottom:85px}
.hero-copy h1{max-width:650px;margin:22px 0 23px}
.hero-copy h1 span{display:block}
.hero-copy>.lead{max-width:555px;font-size:18px;line-height:1.8;margin-bottom:28px}
.hero-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap}
.hero-detail{display:flex;flex-wrap:wrap;gap:11px 19px;margin-top:38px;color:#8b8295;font-size:12px;font-weight:680}
.hero-detail span{display:flex;align-items:center;gap:7px}
.hero-detail span::before{content:"";display:inline-block;width:6px;height:6px;background:#d82acf;border-radius:50%}
.hero-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:475px;isolation:isolate;border-radius:31px;overflow:hidden;background:radial-gradient(ellipse at 55% 54%,rgba(140,48,211,.29),transparent 62%),radial-gradient(ellipse at 110% -10%,rgba(221,40,174,.13),transparent 58%),#1b1029;box-shadow:0 35px 80px rgba(33,12,66,.15);color:#fff}
.architecture-grid{position:absolute;inset:0;z-index:-1;opacity:.27;background-image:radial-gradient(#ad7ec8 .7px,transparent 1px);background-size:23px 23px;mask-image:radial-gradient(ellipse at center,#000,transparent 85%)}
.architecture-head,.architecture-foot{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:27px 29px;color:#c5a8d8;font-size:9px;font-weight:800;letter-spacing:1.7px}
.architecture-head span:first-child{display:flex;align-items:center;gap:9px}
.architecture-led{width:7px;height:7px;border-radius:50%;background:#f046cb;box-shadow:0 0 15px rgba(240,70,203,.7)}
.architecture-serial{color:#806d95}
.architecture-content{position:relative;display:flex;flex-direction:column;justify-content:center;padding:4px 30px 12px}
.architecture-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.architecture-service{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:76px;padding:13px 6px;border-radius:13px;text-align:center;background:rgba(83,56,108,.5);box-shadow:0 8px 24px rgba(0,0,0,.085)}
.architecture-service strong{font-size:10px;font-weight:760;line-height:1.3}
.architecture-service-dot{display:block;width:11px;height:11px;border-radius:4px;background:linear-gradient(125deg,#8750ff,#f447ba);box-shadow:0 0 0 5px rgba(187,83,241,.1),0 0 18px rgba(197,69,240,.25)}
.architecture-links{height:49px;margin:0 14px}
.architecture-links svg{display:block;width:100%;height:100%}
.architecture-core{display:flex;align-items:center;gap:15px;width:min(430px,95%);margin:auto;padding:15px 18px;border-radius:18px;background:linear-gradient(110deg,rgba(94,49,136,.9),rgba(59,34,88,.92));box-shadow:0 14px 40px rgba(0,0,0,.18)}
.architecture-core-symbol{display:grid;place-items:center;flex:0 0 55px;width:55px;height:55px;border-radius:50%;background:radial-gradient(circle,#60259c,rgba(72,34,112,.4))}
.architecture-core-name{display:flex;flex-direction:column;flex:1;min-width:0}
.architecture-core-name strong{font-size:17px;font-weight:860;letter-spacing:.35px;line-height:1.25}
.architecture-core-name small{font-size:8px;color:#c4a6e0;letter-spacing:1px;line-height:1.5}
.architecture-downlink{position:relative;display:grid;place-items:center;height:32px}
.architecture-downlink::before{content:"";width:1px;height:100%;background:linear-gradient(#b66cf9,#f054c0)}
.architecture-downlink span{position:absolute;bottom:0;width:6px;height:6px;border-radius:50%;background:#ed49c5;box-shadow:0 0 13px #ed49c5}
.architecture-platform{display:flex;align-items:center;gap:12px;width:min(370px,86%);min-height:64px;margin:auto;padding:12px 15px;border-radius:13px;background:rgba(255,255,255,.095)}
.architecture-platform-icon{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:10px;color:#d6baff;background:rgba(194,117,249,.13)}
.architecture-platform>span:nth-child(2){display:flex;flex-direction:column;flex:1}
.architecture-platform strong{font-size:12px;font-weight:780;line-height:1.4}
.architecture-platform small{font-size:9px;color:#b8a4c6}
.architecture-platform-status{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1px;color:#d9b2f1}
.architecture-platform-status i{width:6px;height:6px;border-radius:50%;background:#c577f6}
.architecture-foot{padding-top:11px;padding-bottom:23px;color:#806d93;font-size:8px}
.brand-strip{padding:23px 0;background:#fff}
.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.strip-inner strong{color:#332342;text-transform:uppercase;letter-spacing:1.7px;font-size:11px}
.strip-inner span{color:#655a70;font-size:12px}
.section{padding:100px 0}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}
.section-intro h2{max-width:660px;margin:12px 0 0}
.section-intro p{max-width:400px;margin:0}
.section-title-small{font-size:21px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer-card{display:flex;flex-direction:column;min-height:245px;padding:27px 28px;border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(29,17,53,.036);transition:box-shadow .2s}
.offer-card:hover{box-shadow:0 14px 34px rgba(43,20,71,.095)}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;color:#8b72ab}
.offer-card .tag{color:#6a5578;font-size:10px;letter-spacing:1.5px;font-weight:800}
.offer-card .number{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;color:#7830ea;background:#f3eaff;font-size:11px;font-weight:800}
.offer-card h3{margin:36px 0 8px}
.offer-card p{margin-bottom:20px;font-size:13px;line-height:1.7}
.card-arrow{margin-top:auto;color:#8a27e4;font-weight:800;font-size:12px}
.dark-section{background:#170f25;color:#fff;position:relative;overflow:hidden}
.dark-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 12%,rgba(134,43,221,.25),transparent 35%)}
.dark-section .container{position:relative}
.dark-section .eyebrow{color:#cc9afa}
.dark-section h2{max-width:770px}
.dark-section p{color:#c1b3cc}
.dark-section .section-intro p{max-width:385px}
.dark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.dark-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:27px 23px;border-radius:15px;background:rgba(255,255,255,.07);min-height:112px}
.dark-card:hover{background:rgba(255,255,255,.12)}
.dark-card .dark-no{font-size:10px;color:#b574e9;letter-spacing:2px;font-weight:830}
.dark-card h3{font-size:20px;letter-spacing:-.5px;margin:5px 0 0}
.dark-card>.arrow{font-size:21px;color:#ef45be}
.solution-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.solution-card{display:flex;flex-direction:column;min-height:240px;background:#fff;padding:26px 22px;border-radius:19px}
.solution-symbol{display:grid;place-items:center;align-self:flex-start;width:47px;height:47px;border-radius:14px;background:#f1e7ff;color:#7029e3;font-size:21px;font-weight:800}
.solution-card h3{font-size:18px;margin:24px 0 9px}
.solution-card p{font-size:12px;line-height:1.65}
.solution-card .card-arrow{margin-top:auto}
.process-section{background:#fff}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.process-item{padding-top:16px}
.process-item .process-no{font-size:35px;font-weight:820;letter-spacing:-2px;color:#9335df}
.process-item h3{margin:17px 0 10px}
.process-item p{font-size:14px;line-height:1.75;max-width:340px}
.cta-section{padding:75px 0 100px}
.cta-panel{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:32px;padding:56px 63px;border-radius:31px;background:radial-gradient(circle at 84% 15%,rgba(240,44,185,.28),transparent 32%),radial-gradient(circle at 64% 95%,rgba(101,34,233,.32),transparent 45%),#1a1028;color:#fff}
.cta-panel h2{max-width:690px;margin:13px 0 13px}
.cta-panel p{color:#d0c0dd;margin-bottom:0}
.cta-panel .eyebrow{color:#daa8ff}
.cta-panel .button{position:relative;z-index:1;flex-shrink:0}
.breadcrumbs{display:flex;align-items:center;gap:10px;overflow:hidden;white-space:nowrap;padding-top:29px;color:#a29baa;font-size:12px}
.breadcrumbs a:hover{color:#7335d9}
.breadcrumbs [aria-current]{color:#5e5568;overflow:hidden;text-overflow:ellipsis}
.crumb-sep{color:#c6bfcb}
.inner-hero{padding:78px 0 65px;background:linear-gradient(to bottom,var(--background) 0,rgba(248,248,252,0) 68px),radial-gradient(circle at 85% 15%,#f5e6ff,transparent 31%)}
.inner-hero-grid{display:block}
.inner-hero-grid>div:first-child{max-width:1100px}
.inner-hero h1{margin:19px 0 19px;font-size:clamp(45px,5vw,68px)}
.inner-hero .lead{max-width:765px;font-size:17px;line-height:1.85;margin:0}
.inner-content{padding:50px 0 100px}
.wide-card{border-radius:24px;padding:38px;background:#fff}
.wide-card p:last-child{margin-bottom:0}
.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:26px}
.detail-copy h2{margin-bottom:20px}
.detail-copy p{font-size:16px;line-height:1.86}
.detail-list{display:grid;gap:12px;margin:30px 0;padding:0;list-style:none}
.detail-list li{display:flex;align-items:flex-start;gap:12px;color:#53495e;font-size:14px}
.detail-list li:before{content:"";display:block;flex:0 0 7px;height:7px;margin-top:9px;border-radius:50%;background:#bd35dc}
.side-card{display:flex;flex-direction:column;justify-content:space-between;gap:25px;padding:33px;border-radius:23px;color:#fff;background:radial-gradient(circle at 100% 0,rgba(216,50,220,.31),transparent 55%),#20142e}
.side-card h3{margin:0 0 13px;font-size:29px}
.side-card p{color:#cbbcd7;font-size:14px}
.side-card .button{align-self:flex-start}
.related-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:64px 0 26px}
.related-heading h2{margin:0}
.section-page .offer-grid{margin-bottom:30px}
.note-panel{margin-top:32px;background:#f0ebf6;border-radius:18px;padding:24px 30px;color:#766b81;font-size:13px}
.note-panel strong{color:#281a36}
.not-ready{display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:38px;background:#fff;border-radius:23px}
.not-ready strong{font-size:22px;letter-spacing:-.5px}
.not-ready p{max-width:680px;margin-bottom:0}
.site-footer{position:relative;overflow:hidden;background:#160e21;color:#fff}
.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 20%,rgba(136,37,204,.13),transparent 31%),radial-gradient(rgba(170,111,204,.16) .8px,transparent 1px);background-size:auto,24px 24px;mask-image:linear-gradient(to bottom,#000,transparent 90%);pointer-events:none}
.footer-top{position:relative;display:grid;grid-template-columns:2.1fr repeat(3,1fr);gap:62px;padding:76px 0}
.brand-footer .brand-logo{width:200px}
.footer-brand p{color:#afa1b8;max-width:290px;font-size:14px;margin:23px 0 18px}
.footer-contact{color:#e8bafc;font-size:13px;font-weight:740}
.footer-contact:hover{color:#fff}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.footer-col h2{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.7px;color:#e4dbea;margin:9px 0 12px}
.footer-col a{color:#a89bb2;font-size:13px}
.footer-col a:hover{color:#f6d0fb}
.footer-bottom{position:relative;display:flex;justify-content:space-between;gap:25px;padding:24px 0 31px;border-top:1px solid rgba(255,255,255,.09);color:#776a82;font-size:11px}
@media(max-width:1100px){
 .header-inner{min-height:77px}.site-nav{gap:0}.nav-heading>a{padding-inline:7px;font-size:12px}
 .brand-logo{width:176px}.header-cta{padding-inline:15px}
 .hero-grid{gap:27px}.hero-visual{min-height:430px}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .container{width:min(var(--container),calc(100% - 40px))}
 .site-header{background:#fff;backdrop-filter:none}
 .header-inner{min-height:73px}
 .header-cta{display:none}
 .menu-toggle{display:flex}
 .site-nav{position:fixed;top:73px;left:0;right:0;bottom:auto;height:calc(100dvh - 73px);z-index:101;display:none;align-items:stretch;flex-direction:column;gap:4px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(160deg,#fff 20%,#f8f5fd 100%);padding:27px max(20px,calc((100vw - 660px)/2)) calc(45px + env(safe-area-inset-bottom));box-shadow:0 22px 55px rgba(28,13,50,.12)}
 .site-nav.is-open{display:flex}
 .mobile-nav-intro{display:flex;flex-direction:column;gap:5px;padding:4px 4px 20px}
 .mobile-nav-intro .eyebrow{font-size:9px;letter-spacing:1.9px}
 .mobile-nav-intro strong{font-size:26px;line-height:1.15;letter-spacing:-.8px;margin-top:9px}
 .mobile-nav-intro p{font-size:13px;max-width:355px;line-height:1.6;margin:0}
 .nav-item{border-radius:14px}
 .nav-heading{gap:8px}
 .nav-heading>a{font-size:18px;font-weight:760;padding:15px 12px;flex:1}
 .nav-expand{width:43px;height:43px;margin-inline:0;border-radius:12px;background:#f1ebfa}
 .nav-item.sub-open .nav-heading{color:#742edd}
 .nav-submenu{position:static;transform:none;width:auto;min-width:0;padding:4px 0 13px;box-shadow:none;background:transparent;display:none!important}
 .nav-submenu::before,.nav-submenu-title{display:none}
 .nav-item.sub-open .nav-submenu{display:grid!important}
 .nav-item.sub-open .nav-expand svg{transform:rotate(180deg)}
 .nav-submenu a{padding:13px 15px;margin-bottom:3px;border-radius:12px;background:#f2edf8;color:#51415d;font-size:14px}
 .nav-submenu a span{font-size:15px;color:#8a4ecf}
 .mobile-contact{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#6525f2,#b021e5);color:#fff;margin-top:20px;padding:18px 20px;border-radius:15px;font-weight:780}
 .mobile-nav-footnote{display:block;margin-top:18px;text-align:center;font-size:10px;letter-spacing:1.5px;color:#a89aac;font-weight:720}
 .mobile-nav-footnote span{color:#cc49c9}
 .hero-grid{grid-template-columns:1fr;gap:32px;padding-top:65px}
 .hero-copy h1{max-width:730px}
 .hero-visual{min-height:430px;max-width:670px;width:100%;margin-inline:auto}
 .offer-grid,.dark-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inner-hero-grid{grid-template-columns:1fr}
 .inner-symbol{display:none}
 .detail-grid{grid-template-columns:1fr}
 .footer-top{gap:38px;grid-template-columns:2fr repeat(2,1fr)}
 .footer-col:last-child{grid-column:2 / 4}
}
@media(max-width:640px){
 .container{width:calc(100% - 32px)}
 .header-inner{gap:10px}.brand-logo{width:154px}
 .header-actions{gap:2px}
 .language-trigger{padding-inline:4px}
 .language-panel{top:calc(100% + 12px);right:-44px;width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 94px);padding:10px;border-radius:17px}
 .language-option{min-height:44px;padding:5px 8px}
 .language-code{min-height:32px}
 .hero-grid{padding-top:55px;padding-bottom:65px}.hero-copy h1{font-size:clamp(40px,9.2vw,57px)}
 .hero-copy>.lead{font-size:16px;line-height:1.8}
 .hero-actions{gap:10px}.hero-actions .button{min-height:48px}
 .hero-visual{min-height:450px;border-radius:25px}
 .architecture-head{padding:21px 18px 8px;font-size:8px;letter-spacing:1px}
 .architecture-foot{padding:13px 18px 21px;font-size:7px;letter-spacing:.8px}
 .architecture-content{padding:12px 18px}
 .architecture-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .architecture-service{min-height:56px;flex-direction:row;justify-content:flex-start;gap:9px;padding:10px 11px;text-align:left}
 .architecture-service strong{font-size:10px}
 .architecture-service-dot{width:9px;height:9px;flex:0 0 9px}
 .architecture-links{display:none}
 .architecture-core{width:100%;margin-top:15px;padding:13px 14px;gap:12px}
 .architecture-core-symbol{flex-basis:45px;width:45px;height:45px}
 .architecture-core-symbol svg{width:34px;height:34px}
 .architecture-core-name strong{font-size:15px}
 .architecture-core-name small{font-size:7px;letter-spacing:.7px}
 .architecture-downlink{height:24px}
 .architecture-platform{width:100%;min-height:60px;padding:10px}
 .architecture-platform-status{font-size:7px}
 .strip-inner{align-items:flex-start;flex-direction:column;gap:6px}
 .section{padding:68px 0}.section-intro{display:block;margin-bottom:27px}.section-intro h2{font-size:36px;margin-bottom:16px}.section-intro p{max-width:100%}
 .offer-grid,.dark-grid,.process-grid,.solution-grid{grid-template-columns:1fr}
 .offer-card{min-height:200px;padding:24px}.offer-card h3{margin-top:20px}.solution-card{min-height:200px}
 .dark-card{min-height:90px}
 .process-grid{gap:16px}.process-item{padding-top:0}
 .cta-section{padding:40px 0 72px}.cta-panel{align-items:flex-start;flex-direction:column;padding:34px 26px}.cta-panel h2{font-size:35px}
 .inner-hero{padding:65px 0 48px}.inner-hero h1{font-size:46px}
 .inner-hero .lead{font-size:16px}.inner-content{padding:20px 0 75px}
 .wide-card,.side-card{padding:26px}.related-heading{align-items:flex-start;flex-direction:column;margin-top:48px}.related-heading h2{font-size:32px}
 .footer-top{grid-template-columns:repeat(2,1fr);gap:40px 20px;padding:59px 0}
 .footer-brand{grid-column:1 / 3}.footer-col:last-child{grid-column:auto}
 .footer-bottom{flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
html[dir="rtl"] .language-panel{left:0;right:auto}
html[dir="rtl"] .nav-submenu{left:50%}

/* Stage 2 — B2B inquiry form. Lightweight CSS; no external UI dependencies. */
.contact-hero{position:relative;overflow:hidden;padding:72px 0 70px;background:radial-gradient(ellipse 46% 65% at 100% 12%,#f3e0ff,transparent 86%),linear-gradient(125deg,#fff,#faf7ff)}
.contact-hero-content{position:relative}
.contact-hero h1{max-width:870px;margin:19px 0 21px;font-size:clamp(43px,5.2vw,74px);letter-spacing:-.063em}
.contact-hero .lead{max-width:660px;font-size:17px;line-height:1.8;margin:0}
.contact-section{padding:0 0 107px;margin-top:-13px;position:relative}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(310px,.82fr);align-items:stretch;gap:24px}
.contact-form-card{min-width:0;background:#fff;border-radius:26px;padding:48px 46px 46px;box-shadow:0 16px 55px rgba(31,14,58,.045)}
.contact-overline,.contact-aside-overline{display:block;color:#823cde;font-size:10px;font-weight:860;letter-spacing:1.9px;text-transform:uppercase}
.contact-form-heading h2{font-size:clamp(28px,3.2vw,39px);margin:12px 0 10px;letter-spacing:-.045em}
.contact-form-heading p{font-size:14px;line-height:1.75;margin:0;color:#8b8097}
.contact-form-group-label{margin:36px 0 19px;display:flex;align-items:center;gap:15px}
.contact-form-group-label span{font-size:10px;letter-spacing:1.5px;font-weight:850;color:#8d69a8;white-space:nowrap}
.contact-form-group-second{margin-top:38px}
.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
.contact-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.contact-field-wide{grid-column:1 / -1}
.contact-field label{font-size:12px;font-weight:770;color:#3f334a}
.contact-required{color:#a639da}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;min-width:0;appearance:none;border:0;border-radius:12px;background:#f7f5fa;color:#2a1e36;outline:2px solid transparent;outline-offset:0;font:500 13px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;transition:background-color .18s,outline-color .18s}
.contact-field input,.contact-field select{height:50px;padding:0 16px}
.contact-field textarea{min-height:154px;max-height:390px;resize:vertical;padding:16px;line-height:1.7}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a39aa9;font-weight:400}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{background:#fbf9ff;outline-color:#aa7be8}
.contact-field input[aria-invalid="true"],.contact-field select[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{outline-color:#dd6a9d;background:#fff7fa}
.contact-field-error{display:block;color:#bc316d;font-size:11px;line-height:1.4;min-height:0}
.contact-field-error:empty{display:none}
.contact-select-wrap{position:relative}
.contact-select-wrap select{padding-inline-end:44px;cursor:pointer}
.contact-select-wrap>span{position:absolute;inset-inline-end:18px;top:10px;font-size:22px;color:#8765a2;pointer-events:none}
.contact-description-field{margin-top:17px}
.contact-consent-row{margin-top:24px}
.contact-consent{display:flex;align-items:flex-start;gap:11px;cursor:pointer}
.contact-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:#7832db;cursor:pointer}
.contact-consent span{color:#786c85;font-size:12px;line-height:1.8}
.contact-consent a{color:#6428c5;text-decoration:underline;text-decoration-color:#ccacef;text-underline-offset:3px}
.contact-consent-row .contact-field-error:not(:empty){margin:7px 0 0 29px}
.contact-form-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;margin-top:27px}
.contact-submit{border-radius:12px;min-height:52px;gap:19px;background:#251331;font-size:13px}
.contact-submit:hover{background:#7325c8}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-form-feedback{display:none;max-width:100%;margin:0;font-size:12px;line-height:1.65;color:#4a775d}
.contact-form-feedback.is-visible{display:block}
.contact-form-feedback.is-error{color:#b54170}
.contact-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}
.contact-complete,.contact-form-disabled{margin-top:35px;padding:30px;border-radius:20px;background:linear-gradient(145deg,#f8f4fd,#fff)}
.contact-complete-icon,.contact-state-symbol{display:grid;place-items:center;width:51px;height:51px;border-radius:16px;background:#eee2fa;color:#7532d2;font-size:26px;font-weight:730}
.contact-complete h3,.contact-form-disabled h3{margin:20px 0 10px;font-size:24px}
.contact-complete p,.contact-form-disabled p{max-width:510px;font-size:14px;line-height:1.75}
.contact-complete .button{margin-top:10px}
.contact-notice{color:#ab4679}
.contact-aside{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;padding:50px 39px 37px;background:radial-gradient(ellipse 80% 45% at 105% 0%,rgba(178,51,196,.33),transparent 80%),radial-gradient(ellipse 70% 35% at 0% 100%,rgba(102,50,202,.28),transparent 78%),#20142c;color:#fff}
.contact-aside:before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(199,154,227,.18) .85px,transparent 1px);background-size:20px 20px;mask-image:linear-gradient(120deg,transparent 35%,#000)}
.contact-aside-decor{display:flex;align-items:center;gap:7px;margin-bottom:57px}
.contact-aside-decor span{width:8px;height:8px;border-radius:50%;background:#ce66d6}
.contact-aside-decor span:nth-child(2){opacity:.5}
.contact-aside-decor span:nth-child(3){opacity:.2}
.contact-aside-overline{color:#d7a3f7}
.contact-aside h2{margin:15px 0 16px;font-size:clamp(30px,2.9vw,39px);letter-spacing:-.055em;max-width:340px}
.contact-aside-lead{color:#c2b0cf;font-size:14px;line-height:1.8;margin:0;max-width:360px}
.contact-aside-steps{display:grid;gap:28px;margin:55px 0}
.contact-aside-step{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:8px}
.contact-step-number{color:#9e72bd;font-size:11px;font-weight:850;letter-spacing:1px;padding-top:3px}
.contact-aside-step strong{display:block;font-size:14px;letter-spacing:-.015em;line-height:1.45}
.contact-aside-step p{margin:7px 0 0;color:#a99bb5;font-size:12px;line-height:1.75}
.contact-direct{display:grid;gap:10px;padding-top:29px}
.contact-direct .contact-aside-overline{margin-bottom:8px}
.contact-direct a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 10px;align-items:center;padding:13px 15px;border-radius:13px;background:rgba(255,255,255,.07);overflow-wrap:anywhere}
.contact-direct a>span:first-child{grid-column:1;color:#b7a5c7;font-size:10px}
.contact-direct a strong{grid-column:1;font-size:13px;font-weight:700}
.contact-direct a>span:last-child{grid-column:2;grid-row:1 / 3;color:#dda4ff;font-size:18px}
.contact-direct a:hover{background:rgba(255,255,255,.13)}
@media(max-width:1000px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px}.contact-form-card{padding:36px 29px}.contact-aside{padding:42px 30px}.contact-field-grid{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-aside-steps{gap:23px}}
@media(max-width:760px){.contact-hero{padding:58px 0 57px}.contact-hero h1{font-size:clamp(39px,7.4vw,59px)}.contact-hero .lead{font-size:15px}.contact-layout{grid-template-columns:1fr}.contact-form-card{padding:33px 27px}.contact-section{margin-top:-9px;padding-bottom:76px}.contact-aside{padding:39px 30px}.contact-aside-decor{margin-bottom:31px}.contact-aside h2{max-width:560px}.contact-aside-steps{margin:35px 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contact-aside-step{grid-template-columns:1fr;gap:6px}}
@media(max-width:520px){.contact-hero{padding:47px 0 46px}.contact-hero h1{font-size:clamp(40px,9.9vw,52px)}.contact-form-card{border-radius:21px;padding:30px 21px}.contact-form-heading h2{font-size:31px}.contact-field-grid{gap:16px}.contact-aside{border-radius:21px;padding:35px 24px}.contact-aside-steps{grid-template-columns:1fr;gap:23px}.contact-aside-step{grid-template-columns:32px minmax(0,1fr)}.contact-form-bottom,.contact-submit{width:100%}.contact-submit{justify-content:space-between}.contact-complete,.contact-form-disabled{padding:23px}}

/* Stage 02 R2 — compact, borderless footer contact column. */
.footer-top{grid-template-columns:minmax(245px,1.65fr) repeat(3,minmax(0,.75fr)) minmax(160px,1fr);gap:clamp(22px,3vw,48px)}
.footer-col-contacts{min-width:0}
.footer-col-contacts>a{display:flex;align-items:flex-start;gap:9px;min-width:0;width:100%;line-height:1.55}
.footer-col-contacts>a svg{flex:0 0 16px;margin-top:3px;color:#d49cf6}
.footer-col-contacts>a span{min-width:0;overflow-wrap:anywhere}
.footer-col-contacts>a:hover{color:#f7d5ff}

/* Enhanced contact dropdown: native select remains as a no-JS fallback. */
.contact-select-trigger{display:none}
.contact-select-menu{position:absolute;z-index:35;top:calc(100% + 8px);left:0;right:0;padding:9px;border-radius:16px;background:#fff;box-shadow:0 17px 48px rgba(36,16,65,.17);max-height:252px;overflow:auto;overscroll-behavior:contain}
.contact-select-wrap.is-enhanced>select{display:none}
.contact-select-wrap.is-enhanced>.contact-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:12px 15px;border:0;border-radius:12px;background:#f7f5fa;color:#332840;text-align:left;font-size:13px;font-weight:580;line-height:1.45;outline:2px solid transparent;outline-offset:0}
.contact-select-trigger svg{flex:0 0 17px;color:#8755ba;transition:transform .17s ease}
.contact-select-wrap.is-open .contact-select-trigger svg{transform:rotate(180deg)}
.contact-select-wrap.is-open .contact-select-trigger{background:#fbf9ff;outline-color:#ac7ef0}
.contact-select-trigger:focus-visible{outline-color:#aa7be8!important}
.contact-select-trigger[aria-invalid="true"]{outline-color:#dd6a9d!important;background:#fff7fa!important}
.contact-select-trigger [data-contact-select-text].is-placeholder{color:#978b9e;font-weight:450}
.contact-select-menu button{display:block;width:100%;padding:13px 14px;border:0;border-radius:10px;background:transparent;text-align:left;color:#42354f;font:600 13px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}
.contact-select-menu button:hover,.contact-select-menu button:focus-visible{background:#f3edfb;color:#712bd0;outline:none}
.contact-select-menu button[aria-selected="true"]{background:#f0e6fd;color:#6726c5}

/* Custom inline validation and server-authoritative live cooldown. */
.contact-form-alert{margin-top:25px;padding:14px 17px;border-radius:13px;background:#fff1f5;color:#a93667;font-size:12px;font-weight:650;line-height:1.65}
.contact-form-alert[hidden]{display:none!important}
.contact-cooldown{display:flex;align-items:center;gap:12px;margin:29px 0 6px;padding:15px 17px;border-radius:13px;background:#f2eafc;color:#5b397a;font-size:13px;line-height:1.5}
.contact-cooldown-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#e5d4fa;color:#7133b9;font-size:21px}
.contact-cooldown strong{white-space:nowrap;font-size:14px;font-weight:820;letter-spacing:.25px;color:#5523a5;font-variant-numeric:tabular-nums}
.contact-complete-cooldown{margin:19px 0 22px;background:#eee1fa}
.contact-complete-cooldown+.button{margin-top:0}
.contact-field input[aria-invalid="true"],.contact-field textarea[aria-invalid="true"]{box-shadow:none}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline-color:#aa7be8}

@media(max-width:1100px){.footer-top{grid-template-columns:minmax(0,1.55fr) repeat(2,minmax(0,1fr));gap:34px}.footer-col-contacts{grid-column:2 / 4}.footer-col:last-child{grid-column:2 / 4}}
@media(max-width:640px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 21px}.footer-col-contacts{grid-column:auto}.footer-col:last-child{grid-column:auto}.contact-select-menu{max-height:234px}.contact-cooldown{align-items:flex-start;margin-top:24px;padding:13px 14px}}

/* Stage 02 R4 — contact breadcrumb rhythm and uncramped headline glyphs. */
.page-contact .breadcrumbs{padding-top:24px;padding-bottom:8px}
.page-contact .contact-hero{padding-top:56px}
.page-contact .contact-hero h1{font-weight:820;letter-spacing:-.043em;line-height:1.17;text-wrap:balance}
.page-contact .contact-hero h1 .gradient-text{-webkit-box-decoration-break:slice;box-decoration-break:slice}
@media(max-width:760px){
 .page-contact .breadcrumbs{padding-top:20px;padding-bottom:7px}
 .page-contact .contact-hero{padding-top:45px}
 .page-contact .contact-hero h1{letter-spacing:-.039em;line-height:1.17}
}
@media(max-width:520px){
 .page-contact .contact-hero{padding-top:39px}
 .page-contact .contact-hero h1{letter-spacing:-.032em;line-height:1.18}
}

/* R6: keep the full outline of large gradient glyphs visible (including
   right-side overhangs and descenders) without altering their colors. */
.inner-hero h1{line-height:1.2;letter-spacing:-.036em;overflow:visible}
.inner-hero h1 .gradient-text{display:inline-block;line-height:1.2;padding-inline:.025em .13em;padding-bottom:.1em;vertical-align:baseline}

/* EN editorial details: generous space and typography, without frames or borders. */
.offer-section-intro{max-width:780px;line-height:1.85;color:#6c6176;margin:12px 0 0}
.offer-workflow,.info-guides,.offer-related{padding-top:72px}
.offer-workflow h2,.offer-readiness h2,.info-guides h2,.offer-related h2,.section-decisions h2{font-size:clamp(27px,3vw,39px);letter-spacing:-.035em;line-height:1.2;margin:14px 0 26px}
.offer-workflow-grid,.info-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.offer-workflow-step,.info-guide{min-width:0}
.offer-workflow-index{display:block;font-size:28px;font-weight:820;letter-spacing:-.07em;color:#9d36e8;margin-bottom:17px}
.offer-workflow-step h3,.info-guide h3{font-size:20px;line-height:1.32;letter-spacing:-.025em;margin:0 0 12px}
.offer-workflow-step p,.info-guide p{font-size:14px;line-height:1.85;color:#6c6076;margin:0}
.offer-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;margin-top:68px;padding:46px 54px;border-radius:25px;background:#fff}
.offer-readiness h2{font-size:29px;margin-bottom:17px}
.offer-readiness .detail-list{margin:20px 0 0}
.offer-readiness .detail-list li{line-height:1.65}
.offer-faq{padding:72px 0 0}
.offer-faq h2{margin:14px 0 33px;font-size:clamp(27px,3vw,39px);letter-spacing:-.035em}
.offer-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 56px}
.offer-faq-item h3{font-size:19px;line-height:1.38;margin:0 0 12px}
.offer-faq-item p{color:#695e73;font-size:14px;line-height:1.83;margin:0}
.offer-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer-related-link{display:flex;flex-direction:column;position:relative;min-width:0;gap:11px;padding:27px 48px 29px 28px;background:#fff;border-radius:18px}
.offer-related-link:hover{background:#f4edf9}
.offer-related-link strong{font-size:18px;letter-spacing:-.02em;color:#26182f}
.offer-related-link>span:nth-child(2){font-size:13px;line-height:1.72;color:#756b7f}
.offer-related-arrow{position:absolute;top:26px;right:25px;color:#a22ce5;font-weight:800}
.info-guides{padding-top:69px}
.info-related{padding-top:68px}
.section-decisions{padding-top:70px}
@media(max-width:900px){
  .offer-workflow-grid,.info-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .offer-readiness{padding:36px;gap:26px}
  .offer-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .offer-workflow,.info-guides,.offer-related,.section-decisions{padding-top:48px}
  .offer-workflow-grid,.info-guides-grid,.offer-readiness,.offer-faq-grid,.offer-related-grid{grid-template-columns:1fr}
  .offer-workflow-grid,.info-guides-grid{gap:28px}
  .offer-readiness{padding:28px 26px;margin-top:48px;gap:30px}
  .offer-faq{padding-top:48px}.offer-faq-grid{gap:30px}
  .offer-related-link{padding:25px 45px 26px 26px}
}

/* RU R1: retain R6 descender spacing, allow long Cyrillic H1 words to wrap. */
html[lang^="ru"] .inner-hero h1 .gradient-text, html[lang^="ru"] .page-contact .contact-hero h1 .gradient-text{max-width:100%;overflow-wrap:anywhere}

/* R7: preserve the full outline of large glyphs in every language.
   Extra paint space is important for g, j, p, q, y and accented letters
   inside background-clipped gradient text on multiline headings. */
h1,h2,h3{line-height:1.2}
.hero-copy h1{line-height:1.18;letter-spacing:-.04em;text-wrap:balance;overflow:visible}
.hero-copy h1 .gradient-text{display:block;line-height:1.19;padding:.025em .08em .16em .025em;margin-bottom:-.11em;overflow:visible}
.section-intro h2,.cta-panel h2,.process-section h2{line-height:1.21;text-wrap:balance;overflow:visible}
.section-intro h2 .gradient-text,.cta-panel h2 .gradient-text{padding-bottom:.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.inner-hero h1 .gradient-text{padding-bottom:.17em;margin-bottom:-.07em}
.page-contact .contact-hero h1 .gradient-text{padding-bottom:.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* R8: breadcrumbs live inside each hero and share its continuous background.
   Compensate the former top spacing without introducing a separate color strip. */
.inner-hero .breadcrumbs{margin-top:-78px;padding-bottom:78px}
.page-contact .contact-hero .breadcrumbs{margin-top:-56px;padding-bottom:64px}
@media(max-width:760px){
  .page-contact .contact-hero .breadcrumbs{margin-top:-45px;padding-bottom:52px}
}
@media(max-width:640px){
  .inner-hero .breadcrumbs{margin-top:-65px;padding-bottom:65px}
}
@media(max-width:520px){
  .page-contact .contact-hero .breadcrumbs{margin-top:-39px;padding-bottom:46px}
}

/* R9: a single centered focal point in the home connection map.
   Remove the tiny redundant side label and give the brand readable sizing. */
.architecture-core{justify-content:center;gap:17px;min-height:95px;padding:18px 24px}
.architecture-core-symbol{flex:0 0 58px;width:58px;height:58px}
.architecture-core-name{flex:0 1 auto}
.architecture-core-name strong{font-size:22px;letter-spacing:-.02em;line-height:1.25}
.architecture-core-name small{font-size:10px;letter-spacing:.65px;line-height:1.5}
@media(max-width:640px){
  .architecture-core{gap:12px;min-height:80px;padding:13px 12px}
  .architecture-core-symbol{flex:0 0 49px;width:49px;height:49px}
  .architecture-core-name strong{font-size:18px}
  .architecture-core-name small{font-size:9px}
}

/* R11: compact language dropdown and full-width contacts in the mobile footer. */
@media(max-width:640px){
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:36px;padding:50px 0 41px}
  .footer-brand{grid-column:1/-1}
  .footer-brand p{max-width:390px;margin:17px 0 13px;font-size:13px;line-height:1.7}
  .footer-col{gap:13px}
  .footer-col h2{margin:0 0 8px;font-size:11px;letter-spacing:1.45px}
  .footer-col a{font-size:14px;line-height:1.45}
  .footer-col-company{grid-column:1/-1;display:flex;flex-flow:row wrap;align-items:center;gap:12px 20px}
  .footer-col-company h2{flex:0 0 100%;margin:0 0 2px}
  .footer-top .footer-col-contacts{grid-column:1/-1;gap:13px}
  .footer-col-contacts>a{width:max-content;max-width:100%;align-items:center;gap:12px;line-height:1.5}
  .footer-col-contacts>a svg{flex:0 0 18px;width:18px;height:18px;margin-top:0}
  .footer-col-contacts>a span{overflow-wrap:break-word;word-break:normal}
  .footer-bottom{gap:5px;padding:19px 0 28px}
}
@media(max-width:390px){
  .header-inner{gap:6px}
  .brand-logo{width:138px}
  .language-trigger{gap:5px;font-size:12px}
}
@media(max-width:640px){
  html[dir="rtl"] .language-panel{left:-44px;right:auto}
}

/* R16 — readable legal documents; no decorative boxes around individual clauses. */
.legal-hero{padding-bottom:62px}
.legal-hero h1{font-size:clamp(36px,4.5vw,62px);max-width:900px}
.legal-hero .lead{max-width:830px}
.legal-content{background:#fff;padding:63px 0 112px}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:65px}
.legal-toc{position:sticky;top:112px;display:flex;flex-direction:column;gap:10px;padding:25px 23px;background:#f7f4fb;border-radius:21px}
.legal-toc strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6b5c7b;margin-bottom:8px}
.legal-toc a{font-size:13px;line-height:1.5;color:#56495f;padding:4px 0}
.legal-toc a:hover,.legal-toc a:focus-visible{color:#6121dd}
.legal-article{min-width:0;max-width:820px}
.legal-section{scroll-margin-top:116px;margin-bottom:39px}
.legal-section h2{font-size:clamp(21px,2.3vw,28px);letter-spacing:-.025em;line-height:1.25;margin:0 0 17px}
.legal-section p,.legal-section li{font-size:15px;line-height:1.85;color:#50475a;overflow-wrap:break-word}
.legal-section p{margin:0 0 14px}
.legal-section ul{padding-left:23px;margin:8px 0 17px}
.legal-section li{padding-left:3px;margin-bottom:9px}
.legal-contact{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;padding:27px 29px;background:#f7f4fb;border-radius:19px}
.legal-contact strong{font-size:14px;color:#282031}
.legal-contact a{color:#6523cd;font-weight:650;overflow-wrap:anywhere}
.cookie-settings{border:0;background:transparent;color:#bbaaca;font-size:12px;padding:0;text-align:left}
.cookie-settings:hover{color:#fff}
.cookie-banner{position:fixed;left:22px;right:22px;bottom:22px;z-index:500;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:920px;max-height:calc(100vh - 24px);overflow:auto;margin-inline:auto;padding:24px 28px;border-radius:24px;background:#fff;box-shadow:0 20px 80px rgba(25,10,44,.2)}
.cookie-banner-copy{min-width:0;max-width:580px}
.cookie-banner-copy strong{font-size:17px;letter-spacing:-.02em}
.cookie-banner-copy p{margin:5px 0 0;font-size:13px;line-height:1.6;color:#62586d}
.cookie-banner-copy a{color:#6523cd;font-weight:650;text-decoration:underline;text-decoration-color:#c7aef5;text-underline-offset:3px}
.cookie-banner-actions{display:flex;flex:0 0 auto;align-items:center;gap:9px}
.cookie-banner-actions button{border:0;border-radius:13px;padding:12px 17px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .16s ease}
.cookie-decline{background:#f1edf5;color:#35273f}
.cookie-decline:hover{background:#e7dfee}
.cookie-accept{background:#241332;color:#fff}
.cookie-accept:hover{background:#5f22a8}
@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr;gap:40px}
  .legal-toc{position:static;flex-flow:row wrap;gap:10px 17px;padding:19px 22px}
  .legal-toc strong{flex:0 0 100%;margin:0}
  .cookie-banner{align-items:stretch;flex-direction:column;gap:18px}
  .cookie-banner-actions{justify-content:flex-end}
}
@media(max-width:600px){
  .legal-content{padding:39px 0 76px}
  .legal-toc{gap:8px 15px}
  .legal-section{margin-bottom:31px}
  .legal-section p,.legal-section li{font-size:14px;line-height:1.8}
  .legal-contact{padding:23px}
  .cookie-banner{left:12px;right:12px;bottom:12px;padding:22px 20px;border-radius:20px}
  .cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cookie-banner-actions button{white-space:normal;padding:12px 8px}
}
