:root { --cta-height: 52px; --cta-font: 16px; --cta-radius: 32px; --cta-pad-start: 54px; --cta-pad-end: 24px; }
body .button { --cta-bg: var(--accent,#173fe5); --cta-fg: #fff; --cta-arrow: var(--cta-bg); isolation: isolate; max-width: 100%; text-align: center; vertical-align: middle; position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 0px !important; height: var(--cta-height) !important; min-height: var(--cta-height) !important; max-height: var(--cta-height) !important; padding: 0 var(--cta-pad-end) 0 var(--cta-pad-start) !important; border: 1px solid transparent !important; border-radius: var(--cta-radius) !important; background: var(--cta-bg) !important; color: var(--cta-fg) !important; font-family: inherit !important; font-size: var(--cta-font) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0px !important; white-space: normal !important; transform: none !important; translate: none !important; box-shadow: none !important; overflow: hidden !important; transition: background-color 0.2s, opacity 0.2s !important; }
body .button > span { position: relative; z-index: 2; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; }
body .button::before { pointer-events: none; content: "" !important; display: block !important; position: absolute !important; inset: 50% auto auto 24px !important; width: 8px !important; height: 8px !important; border: 0px !important; border-radius: 50% !important; background: var(--cta-fg) !important; transform: translateY(-50%) !important; z-index: 1 !important; transition: width 0.4s ease-out, height 0.4s ease-out, left 0.4s ease-out !important; }
body .button::after { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / contain no-repeat; opacity: 0; pointer-events: none; content: "" !important; display: block !important; position: absolute !important; inset: 50% auto auto 19px !important; width: 18px !important; height: 18px !important; border: 0px !important; border-radius: 0px !important; background: var(--cta-arrow) !important; transform: translate(-7px, -50%) !important; z-index: 2 !important; transition: opacity 0.2s 0.1s, transform 0.35s ease-out !important; }
body .button:focus-visible:not(:disabled)::before { width: 32px !important; height: 32px !important; left: 12px !important; }
body .button:focus-visible:not(:disabled)::after { transform: translate(0px, -50%) !important; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  body .button:hover:not(:disabled)::before { width: 32px !important; height: 32px !important; left: 12px !important; }
  body .button:hover:not(:disabled)::after { transform: translate(0px, -50%) !important; opacity: 1; }
}
body .button:disabled { opacity: 0.5 !important; cursor: wait; }
body .button.button-light { --cta-bg: #fff; --cta-fg: var(--accent,#173fe5); }
body .button.button-outline { --cta-bg: #fff; --cta-fg: var(--accent,#173fe5); border-color: var(--line,#d8dfef) !important; }
.green .hero .button, .green .geo-country-card .button { --cta-bg: #a8e3cd; --cta-fg: #0c3020; }
.blue .geo-country-card .button { --cta-bg: #e3ebff; --cta-fg: #173fe5; }
body .cookie-actions { flex-wrap: wrap; flex-shrink: 1; }
@media (max-width: 700px) {
  :root { --cta-height: 48px; --cta-font: 14px; --cta-pad-start: 50px; --cta-pad-end: 20px; }
  body .button::before { left: 22px !important; }
  body .button:focus-visible:not(:disabled)::before { left: 10px !important; }
  body .button::after { left: 17px !important; }
  body .site-header .nav-inner { display: grid; grid-template-columns: minmax(0px, 1fr) 44px 44px; gap: 10px 8px; padding-block: 12px; height: auto !important; }
  body .site-header .nav-inner > a { grid-area: 1 / 1 / auto / 3; justify-self: start; }
  body .site-header .nav-actions { display: contents; }
  body .site-header .nav-calc { grid-area: 2 / 1; justify-self: start; margin: 0px !important; }
  body .site-header .nav-telegram { grid-area: 2 / 2; }
  body .site-header .nav-phone { grid-area: 2 / 3; }
  body .site-header .menu-toggle { grid-area: 1 / 3; }
  body .cookie-actions .button { flex-basis: 100%; }
  body .mobile-sticky { gap: 12px; }
  body .mobile-sticky > .button { flex: 1.4 1 0%; }
  body .mobile-sticky > a:last-child { flex: 1 1 0%; }
}
@media (max-width: 700px) and (hover: hover) and (pointer: fine) {
  body .button:hover:not(:disabled)::before { left: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body .button, body .button::before, body .button::after { transition: none !important; }
}
.blue .brand-logo { display: block; width: 175px; height: auto; max-width: 100%; object-fit: contain; }
.blue .nav-inner > a { flex-shrink: 0; }
.blue .site-footer .brand-logo { width: 200px; }
@media (max-width: 1200px) {
  .blue .site-header .brand-logo { width: 145px; }
}
@media (max-width: 700px) {
  .blue .site-header .brand-logo { width: 130px; }
}
@media (max-width: 370px) {
  .blue .site-header .brand-logo { width: 115px; }
}
.blue .desktop-nav a.active, .blue .desktop-nav a[aria-current="location"], .blue .mobile-menu a.active, .blue .mobile-menu a[aria-current="location"] { color: rgb(0, 72, 228); }
