(function () {
  'use strict';

  /* ----------------------------------------------------------
     Header / Burger / Fixed Phone
     ---------------------------------------------------------- */
  var header = document.getElementById('header');
  var burger = document.getElementById('burger');
  var nav    = document.getElementById('nav');
  var fixedPhone = document.getElementById('fixedPhone');

  function onScroll() {
    var y = window.scrollY;
    if (header) header.classList.toggle('is-scrolled', y > 40);
    if (fixedPhone) fixedPhone.classList.toggle('is-visible', y > 500);
  }
  window.addEventListener('scroll', onScroll, { passive: true });
  onScroll();

  if (burger && nav) {
    burger.addEventListener('click', function () {
      var open = nav.classList.toggle('is-open');
      burger.classList.toggle('is-open', open);
      burger.setAttribute('aria-expanded', open);
      document.body.style.overflow = open ? 'hidden' : '';
    });
    nav.querySelectorAll('a').forEach(function (a) {
      a.addEventListener('click', function () {
        nav.classList.remove('is-open');
        burger.classList.remove('is-open');
        burger.setAttribute('aria-expanded', 'false');
        document.body.style.overflow = '';
      });
    });
  }

  /* ----------------------------------------------------------
     GSAP Animations
     ---------------------------------------------------------- */
  if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {
    document.querySelectorAll(
      '.section-title,.section-header__label,.card,.cta-phone__content'
    ).forEach(function (el) { el.style.opacity = '1'; el.style.transform = 'none'; });
    return;
  }

  gsap.registerPlugin(ScrollTrigger);
  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;

  /* Section headers */
  gsap.utils.toArray('.section-header').forEach(function (hdr) {
    var label = hdr.querySelector('.section-header__label');
    var title = hdr.querySelector('.section-title');
    var tl = gsap.timeline({ scrollTrigger: { trigger: hdr, start: 'top 86%' } });
    if (label) tl.to(label, { opacity: 1, y: 0, duration: 0.4, ease: 'power3.out' });
    if (title) tl.to(title, {
      opacity: 1, y: 0, duration: 0.6, ease: 'power3.out',
      onComplete: function () { title.classList.add('is-visible'); }
    }, label ? '-=0.25' : 0);
  });

  /* Card groups */
  gsap.utils.toArray('.card-group').forEach(function (g) {
    gsap.to(g.querySelectorAll('.card'), {
      opacity: 1, y: 0, duration: 0.6, stagger: 0.1, ease: 'power3.out',
      scrollTrigger: { trigger: g, start: 'top 84%' }
    });
  });

  /* CTA */
  if (document.querySelector('.cta-phone')) {
    gsap.to('.cta-phone__content', {
      opacity: 1, y: 0, duration: 0.7, ease: 'power3.out',
      scrollTrigger: { trigger: '.cta-phone', start: 'top 82%' }
    });
  }

})();