 
 
 
 
 /* ── Hero animations ── */
    @keyframes heroFadeUp {
      from { opacity: 0; transform: translateY(32px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes heroPulse {
      0%, 100% { opacity: .18; transform: scale(1); }
      50%       { opacity: .28; transform: scale(1.06); }
    }
    .hero-title {
      animation: heroFadeUp .85s cubic-bezier(.22,1,.36,1) both;
      animation-delay: .15s;
    }
    /* Animated gradient orb behind hero */
    .hero-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(72px);
      pointer-events: none;
      animation: heroPulse 6s ease-in-out infinite;
    }

    /* ── Scroll reveal ── */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-left {
      opacity: 0;
      transform: translateX(-32px);
      transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
    }
    .reveal-left.visible {
      opacity: 1;
      transform: translateX(0);
    }

    /* stagger children */
    .stagger > * { opacity: 0; transform: translateY(24px); transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1); }
    .stagger.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:.05s; }
    .stagger.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:.15s; }
    .stagger.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:.25s; }
    .stagger.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:.35s; }

    /* ── Header slide-down ── */
    header { animation: heroFadeUp .5s cubic-bezier(.22,1,.36,1) both; }

    /* ── Contact icon pulse ── */
    @keyframes iconFloat {
      0%, 100% { transform: translateY(0); }
      50%       { transform: translateY(-6px); }
    }
    .contact-icon { animation: iconFloat 3.2s ease-in-out infinite; }

    /* ── Service tab hover ── */
    .service-tab { transition: transform .2s ease, box-shadow .2s ease; }
    .service-tab:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,119,182,.18); }