.nav-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  height: 2px; width: 0;
  background: #C9A227;
  transition: width .3s cubic-bezier(.4,0,.2,1);
}
.nav-link:hover::after { width: 100%; }

.group { transition: transform .35s ease, box-shadow .35s ease; }
.group:hover { transform: translateY(-4px); }

#inicio a[href*="wa.me"] {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
#inicio a[href*="wa.me"]:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 24px rgba(201,162,39,0.35);
}

.track-divider {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s cubic-bezier(.4,0,.2,1);
}
.track-divider.is-visible { transform: scaleX(1); } 

  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; }
  h1,h2,h3,h4,.font-display { font-family: 'Space Grotesk', sans-serif; }
 
  /* ---------- Trilho / motivo de assinatura (trilho de portão deslizante) ---------- */
  .track-divider {
    position: relative;
    height: 1px;
    background: linear-gradient(90deg, transparent, #C9A227 15%, #C9A227 85%, transparent);
    opacity: .45;
  }
  .track-divider::before, .track-divider::after {
    content: "";
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 6px; height: 6px;
    background: #C9A227;
    border-radius: 1px;
  }
  .track-divider::before { left: 8%; }
  .track-divider::after  { right: 8%; }
 
  /* Barra de "trilho" que desliza ao passar o mouse (cards) */
  .rail {
    height: 3px;
    width: 2.25rem;
    background: #C9A227;
    transition: width .35s cubic-bezier(.4,0,.2,1);
  }
  .group:hover .rail { width: 100%; }
 
  /* Fade-in discreto ao rolar */
  .reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
  .reveal.is-visible { opacity: 1; transform: translateY(0); }
 
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .rail { transition: none; }
  }
 
  /* Placeholder visual de imagem */
  .img-placeholder {
    background:
      repeating-linear-gradient(135deg, rgba(201,162,39,0.07) 0px, rgba(201,162,39,0.07) 2px, transparent 2px, transparent 14px),
      linear-gradient(160deg, #17171A, #0B0B0C);
    border: 1px solid #2A2A2E;
  }
 
  /* Foco visível para acessibilidade */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #C9A227;
    outline-offset: 3px;
  }
 
  ::selection { background: #C9A227; color: #0B0B0C; }
 
  /* Scrollbar dourada discreta (opcional, apenas desktop) */
  ::-webkit-scrollbar { width: 10px; }
  ::-webkit-scrollbar-track { background: #0B0B0C; }
  ::-webkit-scrollbar-thumb { background: #2A2A2E; border-radius: 6px; }
 
  .whatsapp-pulse::before {
    content: "";
    position: absolute; inset: 0;
    border-radius: 9999px;
    background: #25D366;
    opacity: .55;
    animation: pulse-ring 2.4s cubic-bezier(0,0,.2,1) infinite;
  }
  @keyframes pulse-ring {
    0% { transform: scale(1); opacity: .45; }
    80% { transform: scale(1.7); opacity: 0; }
    100% { transform: scale(1.7); opacity: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .whatsapp-pulse::before { animation: none; }
  }