/* ═══════════════════════════════════════════════
   RAFAEL MONTES — PORTFOLIO
   project.css — Estilos exclusivos das páginas de projeto
   ═══════════════════════════════════════════════ */

/* Garante que o body das páginas de projeto
   ocupe ao menos a altura da viewport */
body { min-height: 100vh; }

/* Ajuste fino para o hero em páginas de projeto
   (o padding-top já leva em conta a nav fixa) */
.pp-hero {
  padding-top: 140px;
}

/* Remove a linha dupla que pode aparecer entre
   hero e body em algumas combinações de cor */
.pp-hero + .pp-body {
  border-top: none;
}

/* Animação de entrada da página */
.pp-hero,
.pp-body {
  animation: pgFadeIn .55s cubic-bezier(.16,1,.3,1) both;
}
.pp-body { animation-delay: .1s; }

@keyframes pgFadeIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}

/* Link "próximo projeto" não deve ter underline */
.pp-next { display: flex; text-decoration: none; }

/* Garante que imagens dentro da galeria não
   ultrapassem o container */
.pp-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Espaçamento entre seções do body */
.pp-body > * + * {
  /* controlado por margin nas próprias classes */
}

/* Linha divisória leve entre seções internas */
.pp-divider {
  width: 100%;
  height: 1px;
  background: var(--border);
  margin: 60px 0;
}

/* Responsividade extra para galeria em mobile */
@media (max-width: 600px) {
  .pp-hero { padding: 100px 20px 40px; }
  .pp-body { padding: 40px 20px; }
  .pp-metrics { grid-template-columns: 1fr; }
  .pp-process-grid { grid-template-columns: 1fr; }
  .pp-2col { gap: 32px; }
  .pp-next { padding: 40px 20px; }
  .pp-awards { padding: 24px 20px; }
  .pp-gallery-title { font-size: 1.6rem; }
}
