/* Intro de marca — timeline única (transplantada da versão aprovada) */
.pc-intro-run { --pc-s: 1; }
.pc-scrim {
  position: fixed; inset: 0; z-index: 900; pointer-events: none; background: var(--pc-navy);
  animation: pcScrim calc(3.6s * var(--pc-s)) cubic-bezier(.4,0,.25,1) both;
}
@keyframes pcScrim { 0%, 42% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }

.pc-fly {
  position: fixed; z-index: 940; pointer-events: none;
  transform-origin: left top; will-change: transform;
  animation: pcFly calc(3.6s * var(--pc-s)) cubic-bezier(.4,0,.2,1) both;
}
@keyframes pcFly {
  0%, 40% { transform: translate(var(--pc-dx, 0px), var(--pc-dy, 0px)) scale(var(--pc-k, 1)); opacity: 1; }
  74%, 78% { transform: translate(0px, 0px) scale(1); opacity: 1; }
  92%, 100% { transform: translate(0px, 0px) scale(1); opacity: 0; }
}
.pc-fly .base, .pc-fly .mark, .pc-fly .trace { display: block; width: 100%; height: auto; }
.pc-fly .mark, .pc-fly .clip { position: absolute; inset: 0; }
.pc-fly .clip { overflow: hidden; }
.pc-fly .mark { animation: pcMark calc(3.6s * var(--pc-s)) cubic-bezier(.4,0,.6,1) both; }
@keyframes pcMark { 0%, 40% { opacity: 0; } 50%, 60% { opacity: 1; } 72%, 100% { opacity: 0; } }
.pc-fly .trace { animation: pcTrace calc(3.6s * var(--pc-s)) cubic-bezier(.42,0,.3,1) both; }
@keyframes pcTrace {
  0% { clip-path: inset(0 100% 0 0); opacity: 1; }
  40% { clip-path: inset(0 -2% 0 0); opacity: 1; }
  52% { opacity: 1; }
  62%, 100% { clip-path: inset(0 -2% 0 0); opacity: 0; }
}

.pc-tag {
  position: fixed; left: 50%; top: 58%; z-index: 941; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 2.2vh; pointer-events: none;
}
.pc-tag .rule {
  width: min(22vw, 240px); height: 3px; background: var(--pc-yellow); border-radius: 2px;
  transform-origin: center; animation: pcRule calc(3.6s * var(--pc-s)) cubic-bezier(.22,.61,.36,1) both;
}
@keyframes pcRule {
  0% { opacity: 0; transform: scaleX(.2); }
  26%, 32% { opacity: 1; transform: scaleX(1); }
  42%, 100% { opacity: 0; transform: scaleX(1); }
}
.pc-tag .words {
  font-family: "Archivo", Arial, sans-serif; font-weight: 700;
  font-size: clamp(13px, 1.35vw, 20px); letter-spacing: .14em; text-transform: uppercase;
  color: #fff; white-space: nowrap;
  animation: pcTag calc(3.6s * var(--pc-s)) cubic-bezier(.22,.61,.36,1) both;
}
@keyframes pcTag {
  0% { opacity: 0; transform: translateY(10px); }
  22%, 32% { opacity: 1; transform: translateY(0); }
  42%, 100% { opacity: 0; transform: translateY(-6px); }
}

/* Conteúdo da home sobe junto com a dissolução do véu */
.pc-intro-run .hero-v2 .container > div,
.pc-intro-run .hero-photo {
  animation: pcContent calc(3.6s * var(--pc-s)) cubic-bezier(.22,.61,.36,1) both;
}
.pc-intro-run .site-header { animation: pcFade calc(3.6s * var(--pc-s)) cubic-bezier(.22,.61,.36,1) both; }
@keyframes pcFade { 0%, 40% { opacity: 0; } 100% { opacity: 1; } }
@keyframes pcContent {
  0%, 40% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
/* o logo real só aparece quando o voador termina */
.pc-intro-run .site-header img { opacity: 0; animation: pcReveal calc(3.6s * var(--pc-s)) linear both; }
@keyframes pcReveal { 0%, 76% { opacity: 0; } 92%, 100% { opacity: 1; } }

/* Hero v3: foto maior, sangrando até a borda direita, nítida à direita */
.hero-bleed { overflow: hidden; }
.hero-bleed .container { align-items: stretch; grid-template-columns: 1fr 1.05fr; gap: 48px; }
.hero-bleed .container > div { align-self: center; padding: 24px 0; }
.hero-photo {
  position: relative; border-radius: 20px; overflow: hidden;
  height: 620px; width: 100%;
}
.hero-photo img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 32%; display: block;
  animation: pcPhoto calc(9s * var(--pc-s, 1)) cubic-bezier(.25,.46,.45,.94) both;
}
@keyframes pcPhoto { 0% { transform: scale(1.1); } 100% { transform: scale(1.02); } }
.hero-photo::after {
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.82) 12%, rgba(255,255,255,.4) 26%, rgba(255,255,255,.14) 38%, transparent 52%);
}
@media (max-width: 1240px) { .hero-photo { height: 520px; } }
@media (max-width: 900px) { .hero-bleed .container { grid-template-columns: 1fr; } .hero-photo { height: 340px; } }

@media (prefers-reduced-motion: reduce) {
  .pc-scrim, .pc-fly, .pc-tag { display: none; }
  .pc-intro-run .site-header, .pc-intro-run .hero-v2 .container > div, .pc-intro-run .hero-photo,
  .pc-intro-run .site-header img { opacity: 1; transform: none; animation: none; }
  .hero-photo img { animation: none; }
}

/* "Por que a Precatorial" — caixas alinhadas */
.motivos { display: grid; gap: 12px; }
.motivo {
  display: grid; grid-template-columns: 34px 1fr; gap: 16px; align-items: start;
  background: #fff; border: 1px solid var(--pc-navy-100); border-radius: 14px; padding: 18px 22px;
}
.motivo .ic {
  width: 34px; height: 34px; border-radius: 50%; background: var(--pc-navy-100); color: var(--pc-navy);
  display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 16px;
}
.motivo b { display: block; font-family: "Archivo", sans-serif; font-weight: 800; font-size: 17px; color: var(--pc-navy); margin-bottom: 3px; }
.motivo div { font-size: 16px; line-height: 1.5; color: var(--pc-gray-700); }
.motivo.destaque { background: #fffaf0; border-color: var(--pc-yellow); }
.motivo.destaque .ic { background: var(--pc-yellow); }
@media (max-width: 560px) { .motivo { padding: 16px 18px; } }

/* h1 animado espera a intro terminar */
.pc-intro-run .h1-anim .frase { animation-play-state: paused; }
.pc-intro-run.pc-h1-go .h1-anim .frase { animation-play-state: running; }
