/* Decorative theme images extend beyond the viewport on the original homepage. */
html:has(.ai-sparkles-section), body:has(.ai-sparkles-section) { overflow-x: clip; }
.ai-sparkles-section { isolation: isolate; }
.ai-sparkles-section > .ai-sparkles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(ellipse at 85% 20%, #d2ee751c, transparent 55%);
}
.ai-sparkles canvas { display: block; width: 100%; height: 100%; }
.ai-sparkles-toggle {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100;
  border: 1px solid #0b283633;
  border-radius: 24px;
  padding: 9px 14px;
  background: #f3f4e9f5;
  color: #0b2836;
  font: 500 12px/1.4 sans-serif;
  cursor: pointer;
  box-shadow: 0 3px 18px #0b283610;
}
.ai-sparkles-toggle:hover { background: #d2ee75; color: #0b2836; }
.ai-sparkles-toggle:focus-visible { outline: 3px solid #0b2836; outline-offset: 3px; }
@media print { .ai-sparkles, .ai-sparkles-toggle { display: none !important; } }
@media (max-width: 767px) {
  /* The hero already offers this CTA; reserve header space for logo and menu. */
  .elementor-element.elementor-element-fd52814 { display: none; }
}
/* Imported Elementor tablet setting was 1050%, causing horizontal overflow. */
@media (min-width: 768px) and (max-width: 880px) {
  .elementor-21212 .elementor-element.elementor-element-2f38f23 { --width: 100%; }
}
