/* ============================================================
   WADDEN — Animation initial states
   Elements are hidden only when JS is active (html.js),
   then revealed by GSAP. Without JS everything stays visible.
   ============================================================ */

html.js .anim-prep { opacity: 0; }

/* hero words + "of the" hidden until the typewriter reveals them */
html.js .hero__word,
html.js .hero__script {
  opacity: 0;
}

/* header items */
html.js .site-header .logo,
html.js .site-header .lang-switch {
  opacity: 0;
  transform: translateY(-16px);
}

/* scroll cue */
html.js .scroll-cue { opacity: 0; }

/* section 2 reveal targets */
html.js .cta__title .reveal-line { opacity: 0; }   /* typewriter-revealed */
html.js .cta__lead .line,
html.js .cta__tagline { opacity: 0; transform: translateY(24px); }
html.js .field,
html.js .radio-group,
html.js .submit-btn { opacity: 0; transform: translateY(24px); }

/* footer */
html.js .footer__emblem,
html.js .footer__social,
html.js .footer__mail { opacity: 0; transform: translateY(18px); }
html.js .footer__rule { transform: scaleX(0); }

/* mask wrapper for line-based reveals */
.mask { overflow: hidden; display: inline-block; vertical-align: top; }
.cta__title .mask { display: block; overflow: visible; }
