/* Scroll-reveal + decorative effects. All killed under reduced-motion.
   Hiding is gated behind html.js so content is never invisible without JS. */
.js .sr { opacity: 0; transform: translateY(14px); transition: opacity 600ms var(--ease), transform 600ms var(--ease); }
.js .sr.is-in { opacity: 1; transform: none; }
[data-stagger] > * { transition-delay: calc(var(--i, 0) * 60ms); }

/* Soft warm radial glow for tinted sections */
.glow { position: relative; }
.glow::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(600px 320px at 80% 0%, rgba(246, 135, 73, 0.10), transparent 70%);
}

/* Gradient CTA section (original: gradient background bottom CTA) */
.cta-gradient {
  background: linear-gradient(120deg, var(--c-accent) 0%, var(--c-primary) 60%, #FBA56F 100%);
}
.cta-gradient h2, .cta-gradient p { color: #fff; }
.cta-gradient .btn { background: #fff; color: var(--c-accent); }
.cta-gradient .btn:hover { background: var(--c-dark); color: #fff; }

/* Custom scrollbar, faithful to the original theme (gradient thumb) */
::-webkit-scrollbar { width: 15px; }
::-webkit-scrollbar-track { background: #f2f2f2; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(211deg, var(--c-accent), var(--c-primary));
  border-radius: var(--r-pill); border: 3px solid #f2f2f2;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(31deg, var(--c-accent), var(--c-primary));
}

@media (prefers-reduced-motion: reduce) {
  .sr { opacity: 1; transform: none; transition: none; }
}
