html { scroll-behavior: smooth; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { transition: none; }
}

/* subtle glass card for non-profit feel */
.glass {
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(59, 130, 246, 0.15);
}

/* prevent body scroll when drawer is open (toggle via JS if needed) */
.overflow-hidden-touch {
  overflow: hidden;
  touch-action: none;
}

/* improve modal scrolling on iOS */
.modal-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Creative site background (subtle, blended) */
.site-bg {
  position: fixed;
  inset: 0;
  z-index: -10;
  pointer-events: none;
  background-image:
    radial-gradient(60vmax 60vmax at -10% -10%, rgba(30,58,138,0.12), transparent 60%),
    radial-gradient(50vmax 50vmax at 110% 10%, rgba(245,158,11,0.15), transparent 60%),
    radial-gradient(40vmax 40vmax at 50% 120%, rgba(30,64,175,0.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.85));
  /* subtle grid */
  mask-image: radial-gradient(120vmax 120vmax at 50% 40%, black 55%, transparent 100%);
}

.site-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(0deg, rgba(15,23,42,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,0.03) 1px, transparent 1px);
  background-size: 18px 18px;
  mix-blend-mode: multiply;
}

/* (removed: overly broad rule that hid the drawer). CTA bar visibility handled via JS. */


