/* Folio additions on top of the theme stylesheet (style.css) */

/* Homepage hero: fills the screen on every device */
.hero { background-image: radial-gradient(circle at 85% 20%, rgba(var(--bs-primary-rgb), 0.28), transparent 55%); }
.hero-row { min-height: 100vh; min-height: 100svh; }
.hero-illustration { display: block; width: 100%; max-width: 280px; height: auto; margin: 0 auto; }
@media (max-width: 575px) { .hero h1 { font-size: 2.5rem; } }
@media (min-width: 992px) { .hero-illustration { max-width: 520px; } }
/* Bouncing arrow at the bottom of the hero */
.hero-scroll {
  position: absolute; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom));
  margin-left: -1.25rem; width: 2.5rem; height: 2.5rem; line-height: 2.5rem;
  text-align: center; font-size: 1.5rem; opacity: 0.8;
  animation: hero-scroll-bounce 1.8s ease-in-out infinite;
}
.hero-scroll:hover { opacity: 1; }
@keyframes hero-scroll-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(0.5rem); }
}
@media (prefers-reduced-motion: reduce) { .hero-scroll { animation: none; } }
/* In-page links (#services, #pricing, #about) stop just below the fixed header instead of under it.
   The homepage header floats over the hero and takes no room, so the spacer the theme inserts once
   the header sticks would only shift the page by the header's height. */
#services, #about { scroll-margin-top: 3.4rem; }
#pricing { scroll-margin-top: 4.5rem; }
.navbar-transparent + #sticky-space { display: none !important; }
/* The heading font draws letters such as F from overlapping shapes, so a plain text outline shows the
   seams. A doubled outline with the background colour painted on top hides them. For dark backgrounds. */
.text-stroke-clean { color: var(--bs-dark) !important; -webkit-text-stroke-width: 2px; paint-order: stroke fill; }
/* The page draws under the phone's bottom system bar (viewport-fit=cover); keep content clear of it */
footer { padding-bottom: env(safe-area-inset-bottom); }
#cookie-consent { margin-bottom: calc(1rem + env(safe-area-inset-bottom)) !important; }
