/*Intro Overlay Styles*/

      /* bloqueia scroll enquanto a intro está ativa */
      html.intro-lock, body.intro-lock { overflow: hidden; }

      /* overlay de abertura */
      #intro-overlay{
        position: fixed; inset: 0; background:#000; display:grid; place-items:center;
        z-index: 999999; opacity:1; transition: opacity .6s ease, visibility .6s ease;
        visibility: visible;
      }

      /* texto base branco */
      #intro-overlay .intro-text{
        font-family: "Montserrat", sans-serif;
        font-weight: 800; color:#fff; text-align:center;
        font-size: clamp(26px, 6vw, 64px);
        position: relative; text-transform: uppercase;
        filter: drop-shadow(0 2px 12px rgba(0,0,0,.45));
      }

      /* camada dourada */
      #intro-overlay .intro-text::before{
        content: attr(data-text);
        position:absolute; inset:0;
        background: linear-gradient(115deg,
          rgba(0,0,0,0) 0%,
          rgba(212,175,55,.15) 28%,
          #d4af37 42%,
          #ffd700 50%,
          #fff2a8 56%,
          #d4af37 64%,
          rgba(212,175,55,.15) 72%,
          rgba(0,0,0,0) 100%);
        background-size: 220% 100%;
        color: transparent;
        -webkit-background-clip: text;
                background-clip: text;
        animation: intro-shimmer 1.8s ease-in-out .2s forwards;
      }

      @keyframes intro-shimmer {
        from { background-position: -120% 0; }
        to   { background-position: 120% 0; }
      }

      /* some suavemente */
      #intro-overlay.is-done{ opacity:0; visibility:hidden; }

      @media (prefers-reduced-motion: reduce){
        #intro-overlay .intro-text::before{ animation: none; }
        #intro-overlay{ transition-duration: .2s; }
      }

      body { font-family: 'Inter', sans-serif; scroll-behavior: smooth; }
      .hero-pattern {
        background-color: #BCD2E5;
        opacity: 0.2;
        background-image:  radial-gradient(#00529C 0.5px, transparent 0.5px), radial-gradient(#00529C 0.5px, #BCD2E5 0.5px);
        background-size: 20px 20px;
        background-position: 0 0,10px 10px;
      }
      .service-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
      }
      input:focus, textarea:focus, select:focus {
        border-color: #F5821F;
        outline: none;
        box-shadow: 0 0 0 3px rgba(245, 130, 31, 0.2);
      }
      .btn-primary:hover { background-color: #003d73; }
      .btn-secondary:hover { background-color: #e6731c; }

      .btn-primary:hover { background-color: #003d73; }
  .btn-secondary:hover { background-color: #e6731c; }

 /* Spinner */
.loader {
  width: 3rem;
  height: 3rem;
  border: 4px solid #ffffff; /* cor inicial */
  border-top-color: #d4af37; /* dourado */
  border-radius: 50%;
  animation: spin 1s linear infinite, colorShift 2s ease-in-out infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Animação alternando branco e dourado */
@keyframes colorShift {
  0%   { border-color: #ffffff; border-top-color: #d4af37; }
  50%  { border-color: #d4af37; border-top-color: #ffffff; }
  100% { border-color: #ffffff; border-top-color: #d4af37; }
}

#website {
  display: none !important;
  visibility: hidden;
  position: absolute;
  left: -9999px;
}


/* animação card premium */
.card-premium {
  position: relative;
  overflow: visible;
}

/* Estrelas */
.card-premium .star {
  position: absolute;
  font-size: 2rem;
  color: #FFD700; /* dourado */
  text-shadow: 0 0 5px #FFD700, 0 0 10px #FFD700, 0 0 20px #FFF700;
  animation: dance 4s ease-in-out infinite, glow 1.5s ease-in-out infinite alternate;
}

/* Animação de movimento suave */
@keyframes dance {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(6px, -8px) rotate(15deg); }
  50% { transform: translate(0, -12px) rotate(-10deg); }
  75% { transform: translate(-6px, -8px) rotate(10deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

/* Brilho pulsante */
@keyframes glow {
  0% { text-shadow: 0 0 5px #FFD700, 0 0 10px #FFD700, 0 0 20px #FFF700; }
  50% { text-shadow: 0 0 10px #FFD700, 0 0 20px #FFD700, 0 0 30px #FFF700; }
  100% { text-shadow: 0 0 5px #FFD700, 0 0 10px #FFD700, 0 0 20px #FFF700; }
}

/* Posicionamento individual */
.card-premium .star-left {
  top: -10px;
  left: -10px;
  animation-delay: 0s, 0s;
}

.card-premium .star-center {
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  animation-delay: 0.5s, 0.3s;
}

.card-premium .star-right {
  top: -10px;
  right: -10px;
  animation-delay: 1s, 0.6s;
}