/* Mobile opening begins immediately beneath the header. */
@media (max-width: 767px) {
  #hero {
    min-height: 0 !important;
    align-items: flex-start;
    padding: 36px 0 36px !important;
  }
  #hero > div.absolute img { object-position: 84% center; }
  #hero > div.absolute > div {
    background: linear-gradient(180deg, #081d31c7 0%, #081d31d6 48%, #081d31f5 100%) !important;
  }
  #hero .ct-eyebrow { margin-bottom: 17px; }
  #hero p { margin-top: 18px; }
  #hero .ct-stats { margin-top: 20px; }
  #hero .ct-actions { margin-top: 24px; }
  #hero .ct-trust { margin-top: 23px; padding-top: 20px; }
}

/* Larger, higher-contrast snowflakes remain visible over light and dark areas. */
.ct-snow > span { color: #fff; }
.ct-snow > span:nth-child(3n + 2) { color: #8bd5ff; }
.ct-snow > span:nth-child(3n) { color: #469dcd; }
.ct-snow svg { filter: drop-shadow(0 1px 2px #155c9680) drop-shadow(0 0 1px #fff9); }
@media (max-width: 767px) {
  .ct-snow > span { width: calc(var(--size) * .84); height: calc(var(--size) * .84); }
  .ct-snow > span:nth-child(n + 11) { display: block; }
  .ct-snow > span:nth-child(n + 21) { display: none; }
}
/* Keep the snow visible but stationary when the device reduces animations. */
@media (prefers-reduced-motion: reduce) {
  .ct-snow { display: block !important; }
  .ct-snow-toggle { display: grid !important; }
  .ct-snow > span { animation: none !important; top: var(--rest-y); transform: none; }
}
