/*
 * 908 Labs — hand-written additions on top of the exported Framer styles (framer-*.css).
 * Edit here for hover states, the phone menu and form feedback.
 */

/* ---------- Lenis smooth scroll (from lenis/dist/lenis.css) ---------- */
html.lenis, html.lenis body { height: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* ---------- form loading spinner (Framer "Spinner" layer) ---------- */
.form-spinner {
  width: 20px; height: 20px; flex: none; position: relative; overflow: hidden;
  -webkit-mask: url('/assets/img/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add;
          mask: url('/assets/img/pGiXYozQ3mE4cilNOItfe2L2fUA.svg') alpha no-repeat center / cover add;
}
.form-spinner > div { position: absolute; inset: 0; animation: form-spin 1s linear infinite; }
.form-spinner i {
  position: absolute; left: 50%; top: 0; width: 2px; height: 2px; border-radius: 1px;
  background: #fff; transform: translateX(-50%);
}
@keyframes form-spin { to { transform: rotate(360deg); } }

/* ---------- hover transitions for Framer's .hover layouts ---------- */
.framer-v-oqizzt .framer-1knl103, .framer-v-oqizzt .framer-6anl3s { transition: height .4s cubic-bezier(0.34, 1.25, 0.64, 1); }
.framer-v-oqizzt .framer-jqf6y3, .framer-v-oqizzt .framer-10dwp0c p { transition: color .4s; }

/* ---------- smoother small hovers ---------- */
.framer-v-1snaxn2 [style*="background-image"], .framer-v-1qw279p [style*="background-image"],
.framer-v-1cnw714 [style*="background-image"], .framer-v-18tdlwz [style*="background-image"] { transition: background-image .3s ease; }
.framer-DWDyA .framer-msadyk { transition: gap .3s ease; }
[data-href] { cursor: pointer; }

/* ---------- body copy in Apfel Grotezk ----------
 * Framer mixed Inter, Kode Mono and an unnamed font ("undefined") into body copy, labels and pills.
 * Headlines and buttons keep Helvetica Now Text; everything else reads in Apfel Grotezk. */
.framer-text[style*="Inter"],
.framer-text[style*="Kode Mono"],
.framer-text[style*='"undefined"'],
.framer-text[style*="&quot;undefined"],
p.framer-text:not([style*="--framer-font-family"]):not([class*="framer-styles-preset"]) {
  --framer-font-family: "Apfel Grotezk", "Apfel Grotezk Placeholder", sans-serif !important;
  --framer-font-style: normal !important;
}
.framer-text[style*="Inter"][style*="--framer-font-weight:6"],
.framer-text[style*="Inter"][style*="--framer-font-weight: 6"],
.framer-text[style*="Inter"][style*="--framer-font-weight:7"] { --framer-font-weight: 500 !important; }
input, textarea, select { font-family: "Apfel Grotezk", "Apfel Grotezk Placeholder", sans-serif; }
