/* RuBI identity: supplied artwork, not a substitute wordmark. */
:root{--ink:#111a38;--ink-deep:#111a38;--blue:#2462ed;--blue-dark:#0745c7;--red:#e23b30;--paper:#f4f6fc;--pale:#edf2fe}
.brand{gap:0}.brand-logo{display:block;width:7.5rem;height:auto;aspect-ratio:574/257;object-fit:contain}.brand-mini{display:inline-flex;align-items:center;line-height:1}.brand-mini .brand-logo{width:3.8125rem}.header .brand-logo{width:7.3125rem}.footer-top>.brand{transform:none;margin-right:0}.footer-top>.brand .brand-logo{width:7.0625rem}.contact-brandline>.brand{transform:none;margin-right:0}.contact-brandline .brand-logo{width:7.1875rem}.network-hub{background:#f2f5fc}.network-hub .brand-logo{width:5.125rem;margin-top:-0.375rem}.network-hub>small{bottom:0.9375rem}.api-scheme>strong{min-width:5.25rem;padding:0.625rem 0.8125rem;flex-direction:column;gap:0.1875rem}.api-scheme>strong .brand-logo{width:4rem}.api-scheme>strong>small{font-size:0.375rem}.mini-voucher .brand-logo{width:4rem}.visual-bottom .brand-logo{width:3.375rem}.visual-bottom{bottom:0.1875rem}.hero-visual{perspective:68.75rem;outline-offset:0.3125rem}.luggage-art{overflow:visible;pointer-events:none;transform-origin:53% 54%;transform:rotateX(var(--bag-rx,0deg)) rotateY(var(--bag-ry,0deg)) rotateZ(var(--bag-rz,0deg)) translate(var(--bag-x,0rem),var(--bag-y,0rem));transition:transform .38s cubic-bezier(.16,1,.3,1);will-change:transform}.luggage-bob{transform-box:view-box;transform-origin:52% 55%;animation:luggage-bob 5.5s ease-in-out infinite}.luggage-tag{transform-box:view-box;transform-origin:48% 31%;animation:tag-sway 6.6s ease-in-out infinite}.motion-paused .luggage-bob,.motion-paused .luggage-tag,.motion-paused .floating-card{animation-play-state:paused}.motion-paused .luggage-art{transform:none}.hero-visual.motion-paused .orbit-art{opacity:.65}.motion-hint{position:absolute;left:1.875rem;right:1.875rem;bottom:-1.5625rem;display:flex;justify-content:space-between;align-items:center;gap:0.75rem;color:#8490a7;font-size:0.5rem;letter-spacing:0.00625rem;z-index:4}.motion-hint p{display:flex;align-items:center;gap:0.4375rem}.motion-hint .icon{width:0.75rem;height:0.75rem}.motion-toggle{background:white;box-shadow:0 0.1875rem 1rem #111a3808;border:0.0625rem solid #dce4f2;border-radius:50%;width:1.75rem;height:1.75rem;display:grid;place-items:center;flex:none;color:var(--blue)}.motion-toggle .icon{width:0.75rem;height:0.75rem}.motion-toggle:hover{background:#eef3ff}.luggage-tag #tag-destination{font-variant-numeric:tabular-nums}.locale-switch{display:inline-flex;align-items:center;border:0.0625rem solid #e0e6f1;background:#f4f6fc;border-radius:0.5rem;padding:0.1875rem;gap:0.125rem}.locale-switch a{font-size:0.625rem;font-weight:700;line-height:1;padding:0.5625rem 0.5rem;border-radius:0.3125rem;color:#8b96a9;min-width:1.9375rem;text-align:center}.locale-switch a[aria-current="true"]{background:white;color:var(--blue);box-shadow:0 0.0625rem 0.375rem #111a3810}.contact-details{border-top:0.0625rem solid #ffffff30;margin-top:1.75rem;padding-top:1.5rem;max-width:23.75rem}.contact-phone{font-size:1.6875rem;font-weight:600;letter-spacing:-0.03125rem;color:#fff;display:inline-block}.contact-phone:hover{text-decoration:underline;text-underline-offset:0.3125rem}.contact-address{font-style:normal;font-size:0.75rem;line-height:1.9;color:#d1dffd;margin-top:0.6875rem;max-width:21.875rem}.contact-brandline{margin-top:2.1875rem}.footer-contact{text-align:right;max-width:29.6875rem}.footer-contact address{font-style:normal}.footer-contact .footer-phone{font-size:0.875rem;font-weight:600;color:var(--ink);display:inline-block;margin-bottom:0.375rem}.footer-contact .footer-phone:hover{color:var(--blue)}.contact-copy h2{font-size:3.4375rem}.hero-last svg{stroke:var(--red)}.integration-modal{max-width:65.625rem}.integration-modal .integration-main{padding:0;width:100%}.integration-modal .integration-back{display:none}.integration-modal .integration-main>h1{font-size:2.375rem}.integration-modal .integration-grid{margin-top:1.75rem}.integration-modal .integration-card h2{font-size:1.25rem}.integration-modal .integration-main>h2{font-size:1.375rem!important}.brand-route{stroke-linecap:round}.made-for .flag-ru{background:linear-gradient(#fff 0 33.3%,#2462ed 33.3% 66.6%,#e23b30 66.6%)}
html[lang="en"] .hero h1{font-size:clamp(3.375rem,5.05vw,4.75rem);letter-spacing:-0.21875rem}html[lang="en"] .hero-description{font-size:1.1875rem}html[lang="en"] .hero-detail{max-width:29.0625rem}html[lang="en"] .hero .eyebrow{letter-spacing:0.10625rem}html[lang="en"] .solution-heading h2{font-size:2.25rem}html[lang="en"] .hub-status{font-size:0.5625rem}html[lang="en"] .hub-top{letter-spacing:0.05rem}html[lang="en"] .hub-sub{font-size:0.5rem}html[lang="en"] .partner-copy h3{font-size:2.125rem}html[lang="en"] .demo-title h3{font-size:1rem}html[lang="en"] .contact-copy h2{font-size:3.5rem}html[lang="en"] .form-heading h3{font-size:1.375rem}html[lang="en"] .desktop-nav{gap:1.375rem;margin-left:1.25rem}
@keyframes luggage-bob{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-0.4375rem) rotate(.5deg)}}
@keyframes tag-sway{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(-20.8deg)}}
@media(min-width:1550px){html[lang="en"] .hero h1{font-size:5rem}}
@media(max-width:1199px){.header .brand-logo{width:6.4375rem}.header-actions{gap:0.9375rem}.desktop-nav{margin-left:0;gap:0.9375rem}.network-hub .brand-logo{width:4.4375rem}.motion-hint{font-size:0.4375rem;left:1.25rem;right:0.9375rem;bottom:-0.9375rem}html[lang="en"] .hero h1{font-size:3.625rem;letter-spacing:-0.175rem}html[lang="en"] .desktop-nav{gap:0.9375rem;margin-left:0}html[lang="en"] .hero-description{font-size:1.0625rem}html[lang="en"] .solution-heading h2{font-size:1.9375rem}html[lang="en"] .partner-copy h3{font-size:1.8125rem}html[lang="en"] .contact-copy h2{font-size:3rem}.contact-copy h2{font-size:2.9375rem}.contact-phone{font-size:1.4375rem}.contact-address{font-size:0.6875rem}}
@media(max-width:959px){.header .brand-logo{width:6.375rem}.network-hub .brand-logo{width:3.625rem}.network-hub>small{font-size:0.23125rem;bottom:0.75rem}.contact-brandline .brand-logo{width:5rem}.motion-hint{font-size:0.375rem;left:1.125rem;right:0.5rem;bottom:-0.625rem}.motion-toggle{width:1.5rem;height:1.5rem}html[lang="en"] .hero h1{font-size:3rem;letter-spacing:-0.14375rem}html[lang="en"] .hero-description{font-size:0.9375rem}html[lang="en"] .solution-heading h2{font-size:1.6875rem}html[lang="en"] .partner-copy h3{font-size:1.5625rem}html[lang="en"] .contact-copy h2{font-size:2.5625rem}html[lang="en"] .demo-title h3{font-size:0.8125rem}.contact-copy h2{font-size:2.5rem}.contact-phone{font-size:1.3125rem}.contact-address{font-size:0.625rem}.contact-brandline{gap:0.75rem}.contact-details{margin-top:1.375rem;padding-top:1.25rem}.api-scheme>strong .brand-logo{width:3rem}}
@media(max-width:699px){.header .brand-logo{width:5.9375rem}.locale-switch a{padding:0.5rem 0.4375rem;font-size:0.625rem;min-width:1.75rem}.hero-visual{margin-top:0.9375rem;margin-bottom:1.625rem}.visual-bottom{bottom:0;left:0.5rem;right:0.375rem}.visual-bottom .brand-logo{width:3.25rem}.motion-hint{font-size:0.4375rem;left:0.5rem;right:0.3125rem;bottom:-1.875rem;min-height:1.75rem}.motion-hint .icon{width:0.625rem;height:0.625rem}.motion-toggle{width:1.625rem;height:1.625rem}.audience-strip{margin-top:1.25rem}.contact-phone{font-size:1.625rem}.contact-address{font-size:0.75rem;max-width:21.25rem}.contact-details{margin-top:1.5625rem;padding-top:1.25rem}.contact-copy h2{font-size:2.9375rem}.footer-contact{text-align:left;margin-top:0.9375rem}.footer-top>.brand .brand-logo{width:5.875rem}.footer-top>p{font-size:0.5625rem}.footer-contact .footer-phone{font-size:0.9375rem}.network-hub .brand-logo{width:3.9375rem}.network-hub>small{bottom:0.8125rem}.api-scheme>strong .brand-logo{width:3.5625rem}html[lang="en"] .hero h1{font-size:clamp(2.6875rem,10.7vw,4.5rem);letter-spacing:-0.15rem;line-height:1.07}html[lang="en"] .hero-description{font-size:1.0625rem}html[lang="en"] .solution-heading h2{font-size:1.8125rem}html[lang="en"] .solution-heading h2 .muted{font-size:1.6875rem}html[lang="en"] .hub-status{font-size:0.5rem}html[lang="en"] .hub-sub{font-size:0.4375rem}html[lang="en"] .hub-top{font-size:0.375rem}html[lang="en"] .partner-copy h3{font-size:1.8125rem}html[lang="en"] .contact-copy h2{font-size:2.9375rem}html[lang="en"] .form-heading h3{font-size:1.25rem}html[lang="en"] .demo-title h3{font-size:0.875rem}.integration-modal .integration-main>h1{font-size:1.9375rem}.integration-modal .integration-card{padding:1.25rem}}
@media(max-width:374px){.header .brand-logo{width:5.5rem}.header-actions{gap:0.5625rem}.hero-visual{margin-top:1.25rem}html[lang="en"] .hero h1{font-size:2.5625rem;letter-spacing:-0.125rem}html[lang="en"] .solution-heading h2{font-size:1.625rem}html[lang="en"] .solution-heading h2 .muted{font-size:1.5625rem}.contact-phone{font-size:1.5rem}.api-scheme>strong{min-width:4.4375rem}.api-scheme>strong .brand-logo{width:2.9375rem}.contact-copy h2{font-size:2.6875rem}}
@media(prefers-reduced-motion:reduce){.luggage-art{will-change:auto;transform:none!important}.luggage-bob,.luggage-tag{animation:none!important}}
@media print{.motion-hint,.locale-switch{display:none}.contact-details{border-color:#ddd}.contact-phone{color:#111a38}.contact-address{color:#596779}}

/* Modest desktop growth (up to 12.5%), with the hero sized to the available height.
   Keep the browser's preferred text size as the lower bound. */
html{font-size:100%}
@media (min-width:1440px){
  html{font-size:clamp(1rem,calc(.839285714rem + .178571429vw),1.125rem)}
  .hero{min-height:clamp(36rem,calc(100svh - 12rem),44rem);padding-top:1.75rem;padding-bottom:2.5rem}
  .hero-visual{height:clamp(30rem,calc(100svh - 16rem),38rem)}
  .hero h1{font-size:clamp(4rem,8.8svh,5rem)}
  html[lang="en"] .hero h1{font-size:clamp(3.75rem,8svh,4.625rem)}
}
.contact-email,.footer-email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.contact-email{font-size:1rem;color:#fff;margin-top:.5rem}
.footer-email{margin:0 0 .5rem auto;font-size:.875rem;color:var(--ink)}
.contact-email:hover,.footer-email:hover{text-decoration:underline;text-underline-offset:.2em}
.footer-company>div{min-width:0}
@media(max-width:699px){.footer-email{margin-left:0}}
/* Keep the legal details readable on phones as well as desktop screens. */
.footer-company,.footer-company strong{font-size:.8125rem;color:var(--body)}
.footer-bottom,.footer-bottom button{font-size:.75rem;color:var(--body)}
.footer-bottom,.footer-bottom>div{flex-wrap:wrap}
