#aimore-theme-toggle {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147483000;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #ffffff;
  color: #1e1e1e;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  padding: 0;
}

#aimore-theme-toggle:hover {
  transform: translateY(-1px);
}

#aimore-theme-toggle .atg-moon {
  display: none;
}

html[data-theme="dark"] #aimore-theme-toggle {
  background: #1a1b20;
  color: #f2f3f5;
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] #aimore-theme-toggle .atg-sun {
  display: none;
}

html[data-theme="dark"] #aimore-theme-toggle .atg-moon {
  display: block;
}

@media (max-width: 809px) {
  #aimore-theme-toggle {
    right: 14px;
    bottom: 14px;
  }
}

/* Social icons in the footer are flat black glyphs baked into static SVG
   image files (not inline <svg> markup), so they can't be recolored via
   fill/currentColor - inverting them is the standard trick for turning a
   monochrome-on-transparent icon image white for a dark background.

   Matched by href, not data-framer-name: Framer's own hover interaction
   re-renders these links into a variant that drops data-framer-name
   entirely, which silently broke the invert filter the moment the pointer
   arrived - the icon fell back to its raw black fill and vanished against
   the dark page. href survives that re-render. */
html[data-theme="dark"] a[href*="instagram.com"] img,
html[data-theme="dark"] a[href*="facebook.com"] img,
html[data-theme="dark"] a[href*="x.com"] img {
  filter: invert(1);
}

/* Hover feedback for the footer social icons: Framer's own hover state
   only grows the glyph a couple of px, which barely reads at this size and
   gave no real visual cue - especially now that a stray filter drop could
   make an icon disappear on hover instead. A soft brand-blue glow plus a
   gentle rise gives clear, deliberate feedback without touching layout.

   border-radius needs !important: Framer writes `border-radius: 4px`
   directly as an inline style on this exact <a>, which beats any plain
   external rule regardless of selector specificity - the glow and rise
   below rendered fine since Framer sets no inline background-color/
   box-shadow/transform here, only this one property collided. Without
   it the hover glow was a visible square instead of a circle. */
a[href*="instagram.com"],
a[href*="facebook.com"],
a[href*="x.com"] {
  border-radius: 999px !important;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

a[href*="instagram.com"]:hover,
a[href*="facebook.com"]:hover,
a[href*="x.com"]:hover {
  background-color: rgba(54, 160, 253, 0.16);
  box-shadow: 0 0 0 8px rgba(54, 160, 253, 0.1);
  transform: translateY(-2px);
}

html:not([data-theme="dark"]) a[href*="instagram.com"]:hover,
html:not([data-theme="dark"]) a[href*="facebook.com"]:hover,
html:not([data-theme="dark"]) a[href*="x.com"]:hover {
  background-color: rgba(35, 101, 159, 0.1);
  box-shadow: 0 0 0 8px rgba(35, 101, 159, 0.06);
}

@media (prefers-reduced-motion: reduce) {
  a[href*="instagram.com"],
  a[href*="facebook.com"],
  a[href*="x.com"] {
    transition: none;
  }

  a[href*="instagram.com"]:hover,
  a[href*="facebook.com"]:hover,
  a[href*="x.com"]:hover {
    transform: none;
  }
}

/* App Store / Google Play badges: the original design is a black pill on
   any background, which reads as low-contrast against our dark page bg.
   Flip them to a light badge instead - matched by their stable href since
   the same component repeats (with different generated class hashes) in
   the hero and footer. !important is needed to beat Framer's own inline
   var()-based color/background, which our runtime JS otherwise leaves
   alone by design (it deliberately treats this as a fixed brand badge). */
html[data-theme="dark"] a[href*="apple.com/app-store"],
html[data-theme="dark"] a[href*="play.google.com/store"] {
  background-color: #f2f3f5 !important;
}

html[data-theme="dark"] a[href*="apple.com/app-store"] *,
html[data-theme="dark"] a[href*="play.google.com/store"] * {
  color: #101114 !important;
}

/* User-supplied logo: dark-text version is baked into the HTML as the
   light-theme default; swap in the white-text version for dark theme. */
html[data-theme="dark"] .framer-1gnn5kz,
html[data-theme="dark"] .framer-hjtz9w {
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22244%22%20height%3D%2260%22%20viewBox%3D%220%200%20244%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M108.04%2045.2063L106.025%2039.5298H92.8869L90.8727%2045.2063H83.0903L95.2445%2012.8639H103.828L116.005%2045.2063H108.04ZM95.2445%2032.8233H103.668L99.4561%2020.8751L95.2445%2032.8233ZM122.505%2018.2429C121.315%2018.2429%20120.316%2017.8461%20119.507%2017.0526C118.698%2016.2439%20118.294%2015.2368%20118.294%2014.0313C118.294%2012.841%20118.698%2011.8492%20119.507%2011.0557C120.316%2010.2622%20121.315%209.86543%20122.505%209.86543C123.726%209.86543%20124.741%2010.2622%20125.55%2011.0557C126.374%2011.8492%20126.786%2012.841%20126.786%2014.0313C126.786%2015.2368%20126.374%2016.2439%20125.55%2017.0526C124.741%2017.8461%20123.726%2018.2429%20122.505%2018.2429ZM119.095%2045.2063V21.31H125.939V45.2063H119.095ZM157.846%2012.8639H166.704V45.2063H159.449V24.4458L151.277%2039.7587H147.157L139.009%2024.4458V45.2063H131.73V12.8639H140.725L149.263%2028.8405L157.846%2012.8639ZM184.009%2045.7785C180.331%2045.7785%20177.256%2044.5807%20174.784%2042.1849C172.328%2039.7892%20171.099%2036.8136%20171.099%2033.2582C171.099%2029.7027%20172.328%2026.7271%20174.784%2024.3314C177.256%2021.9357%20180.331%2020.7378%20184.009%2020.7378C186.435%2020.7378%20188.632%2021.2871%20190.601%2022.3858C192.569%2023.4692%20194.11%2024.9723%20195.224%2026.895C196.338%2028.8024%20196.895%2030.9235%20196.895%2033.2582C196.895%2035.5929%20196.338%2037.7215%20195.224%2039.6442C194.11%2041.5517%20192.569%2043.0547%20190.601%2044.1534C188.632%2045.2368%20186.435%2045.7785%20184.009%2045.7785ZM179.82%2037.4698C180.934%2038.599%20182.33%2039.1636%20184.009%2039.1636C185.687%2039.1636%20187.083%2038.599%20188.197%2037.4698C189.311%2036.3406%20189.868%2034.9367%20189.868%2033.2582C189.868%2031.5796%20189.311%2030.1757%20188.197%2029.0466C187.083%2027.9174%20185.687%2027.3528%20184.009%2027.3528C182.33%2027.3528%20180.934%2027.9174%20179.82%2029.0466C178.706%2030.1757%20178.149%2031.5796%20178.149%2033.2582C178.149%2034.9367%20178.706%2036.3406%20179.82%2037.4698ZM214.245%2020.9209H215.275V27.9479H214.245C212.185%2027.9479%20210.591%2028.4972%20209.461%2029.5959C208.347%2030.6946%20207.791%2032.1824%20207.791%2034.0593V45.2063H200.947V21.31H207.791V24.0109C209.561%2021.9509%20211.712%2020.9209%20214.245%2020.9209ZM242.147%2033.3497C242.147%2034.1737%20242.101%2034.8909%20242.01%2035.5013H224.202C224.629%2036.8441%20225.385%2037.897%20226.468%2038.66C227.551%2039.423%20228.841%2039.8045%20230.336%2039.8045C231.618%2039.8045%20232.785%2039.5527%20233.838%2039.0491C234.891%2038.5456%20235.723%2037.9123%20236.333%2037.1493L240.934%2041.132C239.637%2042.5969%20238.058%2043.7414%20236.196%2044.5654C234.334%2045.3742%20232.32%2045.7785%20230.153%2045.7785C226.354%2045.7785%20223.18%2044.573%20220.631%2042.162C218.098%2039.7358%20216.832%2036.722%20216.832%2033.1208C216.832%2030.8166%20217.381%2028.7185%20218.48%2026.8263C219.594%2024.9341%20221.127%2023.4463%20223.08%2022.3629C225.034%2021.2795%20227.201%2020.7378%20229.581%2020.7378C233.167%2020.7378%20236.158%2021.9357%20238.554%2024.3314C240.949%2026.7271%20242.147%2029.7332%20242.147%2033.3497ZM229.489%2026.6432C228.208%2026.6432%20227.086%2027.0323%20226.125%2027.8105C225.163%2028.5735%20224.507%2029.6188%20224.156%2030.9464H234.891C234.51%2029.6035%20233.838%2028.5506%20232.877%2027.7876C231.916%2027.0247%20230.786%2026.6432%20229.489%2026.6432Z%22%20fill%3D%22white%22%2F%3E%20%3Cpath%20d%3D%22M47.5432%200.000244141L59.8703%2012.3273C66.4004%2018.8574%2066.4004%2029.4449%2059.8703%2035.9751L35.8451%2060.0002L30.5621%2054.7172C20.1416%2044.2968%2020.1416%2027.4018%2030.5621%2016.9814L47.5432%200.000244141Z%22%20fill%3D%22%2336A0FD%22%2F%3E%20%3Cmask%20id%3D%22mask0_2317_3197%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%2222%22%20y%3D%220%22%20width%3D%2243%22%20height%3D%2261%22%3E%20%3Cpath%20d%3D%22M47.5432%200.000244141L59.8703%2012.3273C66.4004%2018.8574%2066.4004%2029.4449%2059.8703%2035.9751L35.8451%2060.0002L30.5621%2054.7172C20.1416%2044.2968%2020.1416%2027.4018%2030.5621%2016.9814L47.5432%200.000244141Z%22%20fill%3D%22%2346D0AE%22%2F%3E%20%3C%2Fmask%3E%20%3Cg%20mask%3D%22url%28%23mask0_2317_3197%29%22%3E%20%3Cpath%20d%3D%22M43.0959%200.355957L56.9324%2014.1924C62.6289%2019.889%2062.6289%2029.1248%2056.9324%2034.8214L31.3978%2060.356L26.1148%2055.0729C15.6943%2044.6525%2015.6943%2027.7576%2026.1148%2017.3371L43.0959%200.355957Z%22%20fill%3D%22%2322659F%22%2F%3E%20%3Cpath%20d%3D%22M38.4358%205.01587L52.2723%2018.8523C57.9688%2024.5489%2057.9688%2033.7848%2052.2723%2039.4813L26.7377%2065.0159L21.4547%2059.7329C11.0342%2049.3124%2011.0342%2032.4175%2021.4547%2021.997L38.4358%205.01587Z%22%20fill%3D%22%23134F82%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20d%3D%22M36.5998%2012.4489C29.7245%205.57358%2018.5773%205.57358%2011.7019%2012.4489C5.2391%2018.9118%205.2391%2029.3901%2011.7019%2035.853L35.849%2060L48.7354%2047.1136C54.9566%2040.8924%2054.9566%2030.8058%2048.7354%2024.5845L36.5998%2012.4489Z%22%20fill%3D%22%2336A0FD%22%2F%3E%20%3Cg%20filter%3D%22url%28%23filter0_d_2317_3197%29%22%3E%20%3Cpath%20d%3D%22M32.0527%2038.03L31.2517%2035.7728H26.0273L25.2263%2038.03H22.1317L26.9648%2025.1692H30.378L35.2201%2038.03H32.0527ZM26.9648%2033.106H30.3142L28.6395%2028.3548L26.9648%2033.106ZM36.5945%2038.03V25.1692H39.4889V38.03H36.5945Z%22%20fill%3D%22white%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3Cfilter%20id%3D%22filter0_d_2317_3197%22%20x%3D%2222.1316%22%20y%3D%2225.1692%22%20width%3D%2217.3572%22%20height%3D%2213.3388%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%20%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%2F%3E%20%3CfeColorMatrix%20in%3D%22SourceAlpha%22%20type%3D%22matrix%22%20values%3D%220%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200%22%20result%3D%22hardAlpha%22%2F%3E%20%3CfeOffset%20dy%3D%220.477962%22%2F%3E%20%3CfeComposite%20in2%3D%22hardAlpha%22%20operator%3D%22out%22%2F%3E%20%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%200.182987%200%200%200%200%200.730167%200%200%200%200%200.595355%200%200%200%201%200%22%2F%3E%20%3CfeBlend%20mode%3D%22normal%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22effect1_dropShadow_2317_3197%22%2F%3E%20%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22effect1_dropShadow_2317_3197%22%20result%3D%22shape%22%2F%3E%20%3C%2Ffilter%3E%20%3C%2Fdefs%3E%20%3C%2Fsvg%3E') !important;
}


/* Decorative backdrop panel behind the hero's phone mockups: a flat 8%
   white overlay, barely visible against the original white page but a
   hard-edged rectangle against our dark background. Fading it out at the
   edges turns it into a soft glow instead of a visible seam. */
html[data-theme="dark"] .framer-1rtqll1 {
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 18%, black 82%, transparent);
  mask-image: linear-gradient(to bottom, transparent, black 18%, black 82%, transparent);
}

/* Footer link groups (nav: Features/About/Contact/FAQ/Support, and Legal:
   Child Safety Standards/Terms of Service/Privacy Policy) had no hover
   feedback at all - the cursor changes but nothing on the page responds.
   A simple opacity dim reads as "darken" in both themes without needing
   separate light/dark colour values, unlike the header nav's underline
   treatment (header-fx.css) which these plainer footer lists don't use. */
nav[data-framer-name="Navigation"] a,
[data-framer-name="Legal"] a {
  transition: opacity 0.2s ease;
}

nav[data-framer-name="Navigation"] a:hover,
[data-framer-name="Legal"] a:hover {
  opacity: 0.6;
}

@media (prefers-reduced-motion: reduce) {
  nav[data-framer-name="Navigation"] a,
  [data-framer-name="Legal"] a {
    transition: none;
  }
}
