/* SECTIONS */
section { padding: 110px 52px; }
.s-tag { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent-current); margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.s-tag::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--accent-current); }
.s-h { font-family: var(--font-body); font-size: var(--text-heading-lg); font-weight: 500; line-height: var(--leading-heading); letter-spacing: -.03em; margin-bottom: 22px; }
.s-h em { font-style: italic; color: var(--text-soft); }

/* REVEAL */
.r { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.r.v { opacity: 1; transform: none; }
.d1 { transition-delay: .08s; } .d2 { transition-delay: .16s; } .d3 { transition-delay: .24s; } .d4 { transition-delay: .32s; }

/* ANIMATIONS */
@keyframes up { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* MOBILE OVERRIDES */
@media (max-width: 768px) {
  section { padding: 64px 20px; }
  .s-h { font-size: clamp(30px, 8vw, 40px); }
}

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