/* OMNI SHIELD – additions on top of the original (inline) page styles */

/* entrance animations: elements start hidden (inline style) and are revealed by site.js */
[data-os-anim] {
  transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}
[data-os-anim].os-in {
  opacity: 1 !important;
  transform: none !important;
}

/* logo ticker */
[data-os-ticker] {
  opacity: 1 !important;
}
[data-os-ticker] ul {
  will-change: transform;
}

/* interactive components (FAQ, mobile menu, steps) */
[data-os-c],
[data-os-c] * {
  transition: opacity 0.35s ease, transform 0.4s ease, background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
[data-os-c][data-highlight],
[data-os-c] [data-highlight][tabindex] {
  cursor: pointer;
}
.os-fade {
  animation: os-fade 0.35s ease both;
}
@keyframes os-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* navigation lifts slightly once the page is scrolled */
[data-os-navshift] {
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
[data-os-navshift].os-nav-shift {
  transform: perspective(1200px) translateY(-12px) !important;
}

/* button hover: Framer buttons carry a hidden "Background" layer that fades in on hover */
a > [data-framer-name="Background"],
button > [data-framer-name="Background"] {
  transition: opacity 0.25s ease;
}
a:hover > [data-framer-name="Background"],
button:hover > [data-framer-name="Background"] {
  opacity: 1 !important;
}

/* language picker: button + menu built by site.js, styled like the nav card and buttons */
.os-locale-btn {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 32px;
  background: none;
  cursor: pointer;
}
.os-locale-btn:focus-visible + .input {
  outline: var(--framer-focus-outline, none);
  outline-offset: var(--framer-focus-outline-offset);
}
/* the nav card clips its children; let the open menu hang below it */
[data-framer-name="Navigation"]:has(.os-open) {
  overflow: visible !important;
}
.framer-locale-picker .caret {
  transition: transform 0.25s ease;
}
.framer-locale-picker.os-open .caret {
  transform: rotate(180deg);
}
.os-locale-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 10;
  min-width: 140px;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: var(--token-78e690d7-cfd5-4e82-a9bb-51e4df6c55f0, #fff);
  border-radius: 16px;
  box-shadow: 0px 1px 2px 0px var(--token-f030ac32-1136-4ec4-a33d-0db61262b9a4, rgba(69, 69, 69, 0.24)), 0px 0px 0px 1px var(--token-05727c1c-3a71-4f4b-b130-ec5f513ef057, rgba(71, 71, 71, 0.08));
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
.framer-locale-picker.os-open .os-locale-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.os-locale-menu a {
  display: block;
  padding: 6px 14px;
  border-radius: 99px;
  font: 400 14px/1.5em "Inter", "Inter Placeholder", sans-serif;
  color: var(--token-707d7f62-a2ef-45a1-bb7e-1c28ea6c29fd, #464646);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.os-locale-menu a:hover,
.os-locale-menu a:focus-visible {
  background: var(--token-d478786c-1035-4f4d-a1b1-5b6839c5be41, #efeffe);
  outline: none;
}
.os-locale-menu a[aria-current] {
  color: var(--token-45dc40a3-3662-4347-9033-03b22b5648c5, #4f55f0);
  font-weight: 500;
}

/* form feedback */
form[data-busy] button[type="submit"] {
  opacity: 0.7;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-os-anim],
  [data-os-c],
  [data-os-c] * {
    transition: none !important;
  }
}


/* Runtime-injected Framer component styles (FAQ bullet lists etc.) */
.framer-xRSRw.framer-1xci75m, .framer-xRSRw .framer-1xci75m { display: block; }
.framer-xRSRw.framer-xt38cy { place-content: flex-start; align-items: flex-start; display: flex; flex-flow: row; gap: 24px; height: min-content; overflow: hidden; padding: 0px; position: relative; width: 480px; }
.framer-xRSRw .framer-12xd6g3 { place-content: center; align-items: center; display: flex; flex: 0 0 auto; flex-flow: row; gap: 10px; height: min-content; overflow: hidden; padding: 5px 0px 0px; position: relative; width: min-content; }
.framer-xRSRw .framer-63rm7p { place-content: center; align-items: center; aspect-ratio: 1 / 1; display: flex; flex: 0 0 auto; flex-flow: row; gap: 10px; height: var(--framer-aspect-ratio-supported, 22px); overflow: hidden; padding: 0px; position: relative; width: 22px; will-change: var(--framer-will-change-override, transform); }
.framer-xRSRw .framer-1wfdkfi { aspect-ratio: 1 / 1; flex: 0 0 auto; height: var(--framer-aspect-ratio-supported, 10px); overflow: hidden; position: relative; width: 10px; }
.framer-xRSRw .framer-13wuyu8 { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; overflow-wrap: break-word; }
.framer-xRSRw.framer-v-a8hooe.framer-xt38cy { gap: 16px; }
.framer-xRSRw.framer-v-a8hooe .framer-12xd6g3 { padding: 2px 0px 0px; }
.framer-xRSRw.framer-v-a8hooe .framer-63rm7p { height: var(--framer-aspect-ratio-supported, 18px); width: 18px; }
