/* ══════════════════════════════════════════════
   Scroll reveal — elements fade in as they enter the screen
   Mark an element with data-reveal. Hidden only after reveal.js
   has run (html.reveal-ready), so a script failure shows everything.
   ══════════════════════════════════════════════ */

/* "עדין" — fade only, on every screen size
   (Oct 2026: 690ms/70ms in the test page, slowed a little at Ori's request) */
:root {
  --rv-dur: 850ms;
  --rv-stagger: 110ms;
  --rv-ease: ease-out;
  --rv-shift: 0px;
}

/* phone uses the same values as desktop (Oct 2026: was "בינוני" — fade + 24px rise) */

.reveal-ready [data-reveal] {
  transition: opacity var(--rv-dur) var(--rv-ease), transform var(--rv-dur) var(--rv-ease);
}
.reveal-ready [data-reveal]:not(.is-revealed) {
  opacity: 0;
  transform: translateY(var(--rv-shift));
}

/* ── Home page hero (all screen sizes): a short sequence instead of one fade ──
   photo grows in → name rises → tagline sharpens out of a soft blur.
   Delays use !important so they win over the stagger reveal.js sets inline. */
[data-reveal="hero-photo"] {
  transition: opacity 800ms ease-out 0ms, transform 900ms cubic-bezier(.22, .61, .36, 1) 0ms !important;
}
.reveal-ready [data-reveal="hero-photo"]:not(.is-revealed) { transform: scale(.9); }

[data-reveal="hero-title"] {
  transition: opacity 700ms ease-out 300ms, transform 800ms cubic-bezier(.22, .61, .36, 1) 300ms !important;
}
.reveal-ready [data-reveal="hero-title"]:not(.is-revealed) { transform: translateY(28px); }

[data-reveal="hero-tagline"] {
  transition: opacity 800ms ease-out 550ms, filter 900ms ease-out 550ms !important;
}
.reveal-ready [data-reveal="hero-tagline"]:not(.is-revealed) { filter: blur(8px); }

/* Printing: show everything, including parts the reader never scrolled to */
@media print {
  .reveal-ready [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}
