/* Small additions on top of the Framer styles (the Framer runtime is not used). */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Skip link: hidden until focused with the keyboard */
.ibx-skip {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 100;
  padding: 10px 16px;
  border-radius: 8px;
  background: #2563eb;
  color: #fff;
  font: 500 15px/1.2 "Suisse Intl Medium", system-ui, sans-serif;
  text-decoration: none;
}
.ibx-skip:focus { top: 16px; }

/* Keyboard focus for Framer elements that act as buttons */
[data-ibx-dd]:focus-visible,
[data-ibx-menu]:focus-visible,
[data-ibx-faq]:focus-visible,
[data-ibx-period]:focus-visible,
[data-ibx-stepper] [role="button"]:focus-visible,
[data-ibx-check] [role="checkbox"]:focus-visible,
[data-ibx-video] button:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}
[data-ibx-dd], [data-ibx-menu], [data-ibx-modal], [data-ibx-menu-close],
[data-ibx-faq], [data-ibx-period], [data-ibx-stepper] [role="button"],
[data-ibx-modal-close] { cursor: pointer; }
[data-ibx-stepper] [data-ibx-min] { cursor: default; }

/* ---------- Appear effect (Framer spring, approximated) ---------- */
.ibx-appear {
  animation: ibx-appear 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes ibx-appear {
  from { opacity: 0; transform: var(--ibx-from, none); }
  to { opacity: 1; transform: none; }
}

/* ---------- FAQ: answers of closed items are hidden ---------- */
.framer-CzypN.framer-v-1qmeywr [data-framer-name="Desc"] { display: none !important; }

/* ---------- Rotating word ---------- */
[data-ibx-rotate] { transition: opacity 0.3s ease; }
[data-ibx-rotate].is-out { opacity: 0; }

/* ---------- Logo ticker ---------- */
.ibx-ticker {
  width: max-content !important;
  max-width: none !important;
  animation: ibx-ticker var(--ibx-ticker-time, 30s) linear infinite;
}
@keyframes ibx-ticker {
  to { transform: translateX(calc(-1 * var(--ibx-ticker-shift, 50%))); }
}

/* ---------- Review sliders ---------- */
.ibx-track {
  overflow-x: auto !important;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.ibx-track::-webkit-scrollbar { display: none; }
.framer-slideshow .ibx-track { scroll-snap-type: x mandatory; }
.framer-slideshow .ibx-track > li > div {
  scroll-snap-align: start;
  width: 220px !important;
}
/* Slideshow arrows are hidden in the SSR HTML until Framer runs */
.framer--slideshow-controls > div { opacity: 1 !important; }
.ibx-slider-wrap { width: 100% !important; }
[data-ibx-video] iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ---------- Overlay (dropdowns, mobile menu, modal) ---------- */
body.ibx-lock { overflow: hidden; }
#overlay [data-ibx-anim] {
  animation: ibx-pop 0.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}
#overlay .framer-cdzns1,
#overlay .framer-5q2d2n {
  animation: ibx-fade 0.2s ease both;
}
@keyframes ibx-pop {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
}
@keyframes ibx-fade {
  from { opacity: 0; }
}

/* ---------- Pricing tooltip (same look as the live site) ---------- */
.ibx-tip {
  position: fixed;
  z-index: 20;
  padding: 8px 16px;
  border-radius: 8px;
  background: #000;
  color: #fff;
  font: 400 15px/1.2 "Suisse Intl Regular", "Inter", system-ui, sans-serif;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
}
.ibx-tip::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  margin-top: -6px;
  border: 6px solid transparent;
  border-left: 0;
  border-right-color: #000;
}

/* ---------- Phone country picker ---------- */
.ibx-cc-list [role="option"][aria-selected="true"],
.ibx-cc-list [role="option"]:hover,
.ibx-cc-list [role="option"].is-active {
  background-color: #f1f5f9 !important;
}

/* ---------- Lead form ---------- */
.ibx-form-status {
  margin: 12px 0 0;
  font: 500 14px/1.4 "Suisse Intl Medium", "Inter", system-ui, sans-serif;
  color: #15803d;
}
.ibx-form-status.is-error { color: #dc2626; }
[data-ibx-form] .ibx-invalid {
  box-shadow: inset 0 0 0 1px #dc2626 !important;
  border-radius: 8px;
}
[data-ibx-form] button[disabled] { opacity: 0.7; cursor: progress; }

/* ---------- Team page: "About ibox" section (not on the live site; matches its section style) ---------- */
.ibx-sabout {
  position: relative;
  flex: none;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  padding: 0 32px;
  background-color: #fff;
  border-bottom: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
}
.ibx-sabout-max {
  display: flex;
  align-items: center;
  gap: 100px;
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
  padding: 72px 44px;
  border-left: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
  border-right: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
}
.ibx-sabout-text {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.ibx-sabout-eyebrow {
  margin: 0 0 16px;
  font: 700 16px/1 "Suisse Intl Bold", "Suisse Intl Bold Placeholder", sans-serif;
  text-transform: uppercase;
  color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235));
}
.ibx-sabout-h {
  margin: 0 0 28px;
  font: 700 36px/1.1 "Suisse Intl Bold", "Suisse Intl Bold Placeholder", sans-serif;
  letter-spacing: -0.05em;
  color: var(--token-4753e322-e587-4b2f-adab-53b1725fcc82, rgb(30, 30, 30));
}
.ibx-sabout-h > span:not(.ibx-nowrap) { color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235)); }
.ibx-nowrap { white-space: nowrap; }
.ibx-sabout-p {
  margin: 0;
  font: 400 16px/1.4 "Suisse Intl Regular", "Suisse Intl Regular Placeholder", sans-serif;
  letter-spacing: -0.05em;
  color: rgb(100, 116, 139);
  max-width: 640px;
}
.ibx-sabout-list {
  flex: 1 1 0;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ibx-sabout-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
  border-radius: 12px;
  background-color: #fff;
}
.ibx-sabout-num {
  font: 500 13px/1.2 "Suisse Intl Medium", "Suisse Intl Medium Placeholder", sans-serif;
  color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235));
}
.ibx-sabout-t {
  font: 600 16px/1.4 "Suisse Intl SemiBold", "Suisse Intl SemiBold Placeholder", sans-serif;
  color: var(--token-4753e322-e587-4b2f-adab-53b1725fcc82, rgb(30, 30, 30));
}
@media (max-width: 1024.98px) {
  .ibx-sabout { padding: 0 24px; }
  .ibx-sabout-max { flex-direction: column; align-items: stretch; gap: 48px; padding: 64px 32px; }
  .ibx-sabout-h { font-size: 32px; }
  .ibx-sabout-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ibx-sabout { padding: 0 12px; }
  .ibx-sabout-max { padding: 64px 16px; }
  .ibx-sabout-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ibx-sabout-card { padding: 16px; }
}

/* ---------- Blog: filter tabs and one mixed grid with "Показать больше" ---------- */
[data-ibx-filter] { cursor: pointer; }
[data-ibx-filter]:focus-visible,
.ibx-more:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}
.ibx-blog-list {
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: 100%;
}
.ibx-blog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(50px, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ibx-blog-grid > li {
  min-width: 0;
  height: 285px;
}
.ibx-blog-grid > li[hidden] { display: none; }
.ibx-blog-empty {
  margin: 0;
  font: 400 16px/1.4 "Suisse Intl Regular", "Suisse Intl Regular Placeholder", sans-serif;
  color: rgb(100, 116, 139);
}
.ibx-blog-empty[hidden], .ibx-more-wrap[hidden], .ibx-more[hidden] { display: none; }
.ibx-more-wrap { display: flex; justify-content: center; }
.ibx-more {
  cursor: pointer;
  padding: 10px 24px;
  border: 1px solid var(--token-5b660a7b-2866-45b1-8ddb-3678dc14f2cf, rgb(37, 99, 235));
  border-radius: 8px;
  background-color: var(--token-e490af4a-31e8-45ae-81b8-9be8590fb018, rgba(37, 99, 235, 0.08));
  color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235));
  font: 500 14px/1.2 "Suisse Intl Medium", "Suisse Intl Medium Placeholder", sans-serif;
  letter-spacing: -0.02em;
}
.ibx-more:hover { background-color: rgba(37, 99, 235, 0.16); }
@media (min-width: 768px) and (max-width: 1024.98px) {
  .ibx-blog-grid { grid-template-columns: repeat(2, minmax(50px, 1fr)); gap: 32px 24px; }
  .ibx-blog-grid > li { height: 340px; }
}
@media (max-width: 767.98px) {
  .ibx-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 32px 24px; }
  .ibx-blog-grid > li { height: 340px; }
}

/* ---------- Landing pages: extra sections (steps, prices, open FAQ) in the site's section style ---------- */
.ibx-lp {
  position: relative;
  flex: none;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  padding: 0 32px;
  background-color: #fff;
  border-bottom: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
}
.ibx-lp-tint { background-color: var(--token-63560828-ccb1-4b67-96bc-a4cea39e2813, rgb(248, 250, 252)); }
.ibx-lp-max {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  box-sizing: border-box;
  padding: 72px 44px;
  border-left: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
  border-right: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
}
.ibx-lp-h {
  max-width: 760px;
  margin: 0;
  font: 700 36px/1.1 "Suisse Intl Bold", "Suisse Intl Bold Placeholder", sans-serif;
  letter-spacing: -0.05em;
  color: var(--token-4753e322-e587-4b2f-adab-53b1725fcc82, rgb(30, 30, 30));
}
.ibx-lp-lead {
  max-width: 640px;
  margin: -16px 0 0;
  font: 400 16px/1.4 "Suisse Intl Regular", "Suisse Intl Regular Placeholder", sans-serif;
  letter-spacing: -0.05em;
  color: rgb(100, 116, 139);
}
.ibx-lp-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ibx-btn {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 8px;
  background-color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235));
  color: #fff;
  font: 500 14px/1.2 "Suisse Intl Medium", "Suisse Intl Medium Placeholder", sans-serif;
  letter-spacing: -0.02em;
  text-decoration: none;
}
.ibx-btn:hover { background-color: rgb(29, 78, 216); }
.ibx-btn:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
a.ibx-more { display: inline-block; text-decoration: none; }
.ibx-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ibx-step {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px 20px;
  border: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
  border-radius: 12px;
  background-color: #fff;
}
.ibx-step-num {
  font: 500 13px/1.2 "Suisse Intl Medium", "Suisse Intl Medium Placeholder", sans-serif;
  color: var(--token-dd6f51f2-409b-4bb3-ad5a-f25caf1cc841, rgb(37, 99, 235));
}
.ibx-step-t {
  margin: 0;
  font: 600 18px/1.3 "Suisse Intl SemiBold", "Suisse Intl SemiBold Placeholder", sans-serif;
  color: var(--token-4753e322-e587-4b2f-adab-53b1725fcc82, rgb(30, 30, 30));
}
.ibx-step-p, .ibx-faq-item p {
  margin: 0;
  font: 400 15px/1.45 "Suisse Intl Regular", "Suisse Intl Regular Placeholder", sans-serif;
  letter-spacing: -0.03em;
  color: rgb(100, 116, 139);
}
.ibx-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.ibx-faq-item {
  padding: 24px;
  border: 1px solid var(--token-a99dc0d0-4e67-49eb-b70f-e92c6fbc54b9, rgb(226, 232, 240));
  border-radius: 12px;
  background-color: #fff;
}
.ibx-faq-item h3 {
  margin: 0 0 12px;
  font: 600 18px/1.3 "Suisse Intl SemiBold", "Suisse Intl SemiBold Placeholder", sans-serif;
  color: var(--token-4753e322-e587-4b2f-adab-53b1725fcc82, rgb(30, 30, 30));
}
@media (min-width: 768px) and (max-width: 1024.98px) {
  .ibx-lp { padding: 0 24px; }
  .ibx-lp-max { gap: 32px; padding: 64px 32px; }
  .ibx-lp-h { font-size: 32px; }
  .ibx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ibx-lp { padding: 0 12px; }
  .ibx-lp-max { gap: 32px; padding: 64px 16px; }
  .ibx-lp-h { font-size: 32px; }
  .ibx-steps, .ibx-faq { grid-template-columns: minmax(0, 1fr); }
  .ibx-faq-item { padding: 20px; }
}

/* Links inside step cards (cases page) */
.ibx-step-t a { color: inherit; text-decoration: none; }
.ibx-step-t a:hover { text-decoration: underline; }
.ibx-cases-wrap { display: block; width: 100%; }

/* Home FAQ: every answer is always visible (no toggle), so the open/close icon is hidden */
[data-ibx-faq-static] { cursor: default; }
[data-ibx-faq-static] .framer-D0P65 { display: none; }

/* Language switcher: English has no page yet */
a[data-ibx-soon] { opacity: 0.45; cursor: not-allowed; }

/* ---------- Pricing on phones: plan pills and one plan at a time, scrolling down ---------- */
.ibx-mp {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 110px;
  column-gap: 12px;
  row-gap: 16px;
  height: auto !important;
  padding: 12px;
  box-sizing: border-box;
}
.ibx-mp > .ibx-mp-left,
.ibx-mp > [data-framer-name="Prices"],
.ibx-mp .ibx-mp-plan.ibx-mp-on { display: contents !important; }
.ibx-mp .ibx-mp-plan:not(.ibx-mp-on) { display: none !important; }
.ibx-mp-badge { display: none !important; }
.ibx-mp .ibx-mp-tabs {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100% !important;
  height: auto !important;
  padding: 4px;
  --border-bottom-width: 0px !important;
  border: 0 !important;
  overflow: hidden;
  border-radius: 16px;
  background: rgb(241, 245, 249);
  box-sizing: border-box;
}
.ibx-mp .ibx-mp-tabs > *,
.ibx-mp .ibx-mp-tabs > * > * { width: 100% !important; height: auto !important; }
.ibx-mp .ibx-mp-tabs [data-framer-name="Monthly"] {
  flex-direction: row !important;
  gap: 4px !important;
}
.ibx-mp .ibx-mp-tabs [data-framer-name="Monthly"] > * { flex: 1 1 0; min-width: 0; }
.ibx-mp-pills {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ibx-mp-pills button {
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  padding: 11px 24px;
  border: 1px solid rgb(226, 232, 240);
  border-radius: 999px;
  background: #fff;
  color: rgb(30, 30, 30);
  cursor: pointer;
}
.ibx-mp-pills button.is-on {
  border-color: rgb(37, 99, 235);
  background: rgba(37, 99, 235, 0.08);
  color: rgb(37, 99, 235);
}
.ibx-mp .ibx-mp-tabs-card {
  grid-column: 1 / -1;
  grid-row: 3;
  width: 100% !important;
  height: auto !important;
}
.ibx-mp .ibx-mp-tabs-card > div {
  --border-left-width: 1px !important;
  --border-right-width: 1px !important;
  --border-top-width: 1px !important;
  --border-bottom-width: 1px !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px;
  padding: 20px;
  box-sizing: border-box;
}
.ibx-mp-left > .ibx-mp-rows { grid-column: 1; grid-row: 4; }
.ibx-mp-plan > .ibx-mp-rows { grid-column: 2; grid-row: 4; }
.ibx-mp .ibx-mp-rows { width: 100% !important; }
.ibx-mp .ibx-mp-rows > * { width: 100% !important; }
.ibx-mp-left .ibx-mp-rows [data-ibx-tip] { display: none; }
/* the tab cells keep their own padding and text; only the size is adjusted */
.ibx-mp .ibx-mp-tabs [data-ibx-period] { padding: 8px 2px !important; text-align: center; }
.ibx-mp .ibx-mp-tabs [data-ibx-period] * { width: 100% !important; white-space: nowrap; }
.ibx-mp .ibx-mp-tabs [data-ibx-period] p { font-size: 14px !important; }
.ibx-mp .ibx-mp-rows { gap: 8px !important; }
.ibx-mp .ibx-mp-rows > * { height: 56px !important; min-height: 56px; }
.ibx-mp-left .ibx-mp-rows > * > :nth-child(2) { display: none !important; }
.ibx-mp-left .ibx-mp-rows > * > :first-child { width: 100% !important; }
.ibx-mp-left .ibx-mp-rows > * > :first-child > * { width: 100% !important; }
.ibx-mp .ibx-mp-tabs [data-ibx-period] p:not(:first-child) { font-size: 11px !important; }
.ibx-mp .ibx-mp-tabs-card, .ibx-mp .ibx-mp-tabs-card > div { max-width: 100%; box-sizing: border-box; }
.ibx-mp .ibx-mp-tabs-card a[data-ibx-modal] {
  background-color: rgb(37, 99, 235) !important;
  color: #fff;
}
.ibx-mp .ibx-mp-tabs-card a[data-ibx-modal] p { color: #fff !important; }
.ibx-mp .ibx-mp-tabs-card { margin-bottom: 8px; }
.ibx-mp .ibx-mp-tabs-card > div { width: calc(100% - 0px) !important; }
.ibx-mp-pills { margin-bottom: 0; }
.ibx-mp .ibx-mp-tabs-card > div > * { max-width: 100%; }
@media (min-width: 768px) {
  .ibx-mp { grid-template-columns: minmax(0, 1fr) 240px; padding: 24px; column-gap: 24px; }
  .ibx-mp-pills button { padding: 12px 28px; }
}

/* ---------- 14-day free trial under every plan: clearly visible ---------- */
[data-framer-name="Free Trial"] { width: 100% !important; }
[data-framer-name="Free Trial"] p {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  padding: 4px 6px;
  border-radius: 8px;
  background: rgba(22, 163, 74, 0.1);
  color: rgb(21, 128, 61) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
[data-framer-name="Free Trial"] p::before { content: "\2713\00a0"; }
html[lang="kk"] .ibx-mp .ibx-mp-tabs [data-ibx-period] p { font-size: 12px !important; }
html[lang="kk"] .ibx-mp .ibx-mp-tabs [data-ibx-period] p:not(:first-child) { font-size: 10px !important; letter-spacing: -0.2px; }

/* Desktop pricing table: every plan header gets the same height, so the prices, buttons and trial
   badges sit on one line even when a description is longer (the Kazakh texts are). Structural
   selectors, because each plan column has its own hashed classes. */
.framer-v-p7p8z8 [data-ibx-plan] > :nth-child(2),
.framer-v-p7p8z8 [data-ibx-plan] > :nth-child(2) > div,
.framer-v-p7p8z8 [data-framer-name="Left"] > :nth-child(2) { height: 262px !important; }
.framer-v-p7p8z8 [data-ibx-plan] > :nth-child(2) > div > :first-child { min-height: 88px; justify-content: flex-start; }
.framer-v-p7p8z8 [data-framer-name="Left"],
.framer-v-p7p8z8 [data-framer-name="Prices"],
.framer-v-p7p8z8 [data-ibx-plan] { height: auto !important; justify-content: flex-start !important; }
.framer-v-p7p8z8 [data-framer-name="Prices"] { overflow: visible !important; }
/* Narrow desktops (1025-1279px): let the four plan columns share the width instead of scrolling sideways */
@media (min-width: 1025px) and (max-width: 1279.98px) {
  .framer-v-p7p8z8 [data-framer-name="Prices"] { width: auto !important; flex: 1 1 0; min-width: 0; }
  .framer-v-p7p8z8 [data-ibx-plan] { width: auto !important; flex: 1 1 0; min-width: 0; }
  .framer-v-p7p8z8 [data-ibx-plan] > * { width: 100% !important; }
  .framer-v-p7p8z8 [data-framer-name="Left"] { width: 190px !important; flex: 0 0 190px; }
}

/* Footer links are 10% larger */
a.framer-styles-preset-10774di,
a.framer-styles-preset-1cp76m3,
a.framer-styles-preset-wqvabm { font-size: 1.1em !important; }
