/* VORH Brasil — Home (cores e movimento sutis) */
:root{
  --vorh-green:#0b3d2e;
  --vorh-olive:#3f6f52;
  --vorh-navy:#0b2a5b;
  --vorh-gold:#c9a227;
  --ink:#1e1e1e;
  --muted:#6b7280;
  --bg:#f7faf9;
  --surface:#ffffff;
}

/* ===== HERO ===== */
.home .hero{
  position: relative;
  padding: clamp(48px, 8vw, 120px) 0 24px;
  background:
    radial-gradient(1200px 360px at 0% -10%, rgba(11,61,46,.16), transparent),
    radial-gradient(900px 300px at 100% 0%, rgba(11,42,91,.12), transparent);
  overflow: hidden;
}
.home .hero__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(16px, 4vw, 32px);
  align-items: center;
}

/* Título com etapas e fades-in */
.home .hero__copy .hero-title{
  font-weight: 800;
  color: var(--vorh-green);
  letter-spacing: .2px;
  line-height: 1.1;
  font-size: clamp(1.8rem, 2.8vw + 1rem, 2.6rem);
  margin: 0;
  position: relative;
}
.home .hero__copy .hero-title span{
  display: inline;            /* mantém “grudado” */
  opacity: 0;                 /* inicia invisível para animar */
}

/* Etapas: t1 -> t2 -> t3 */
.hero-title__t1{ animation: fadeInUp .6s ease forwards .0s; color: var(--vorh-green); }
.hero-title__t2{ animation: fadeInUp .6s ease forwards .8s; color: var(--vorh-green); }
.hero-title__t3{ animation: fadeInUp .6s ease forwards 1.6s; color: var(--vorh-navy); }

/* Sublinhado animado sob o título */
.home .hero__copy .hero-title::after{
  content:"";
  display:block;
  width: 140px; height: 4px; margin-top: 12px; border-radius: 2px;
  background: linear-gradient(90deg, var(--vorh-green), var(--vorh-navy), var(--vorh-gold));
  transform-origin: left; transform: scaleX(0);
  animation: wipe 1.8s ease forwards 2.0s; /* aparece após os textos */
}

/* Texto auxiliar */
.home .hero__copy p{
  color: var(--muted);
  margin-top: 10px;
  max-width: 60ch;
  font-size: clamp(1rem, .6vw + .85rem, 1.125rem);
}

/* CTA centralizado e com destaque */
.home .hero__cta{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 18px;
}
.home .hero__cta .btn{
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
  transition: transform .2s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.home .hero__cta .btn--primary{
  padding: clamp(1rem, 1.4vw, 1.2rem) clamp(1.9rem, 3.4vw, 2.5rem);
  font-size: clamp(1rem, .6vw + .95rem, 1.2rem);
  color:#fff;
  background: linear-gradient(135deg, #0b3d2e, #159d6e);
  border:0;
  position: relative;
  isolation: isolate;
}
.home .hero__cta .btn--primary::after{
  content:"";
  position:absolute; inset:-2px;
  border-radius: inherit;
  background: radial-gradient(60% 60% at 50% 50%, rgba(21,157,110,.28), transparent 70%);
  z-index:-1;
  filter: blur(10px);
  opacity: 0;
  transition: opacity .25s ease;
}
.home .hero__cta .btn--primary:hover,
.home .hero__cta .btn--primary:focus{
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  background: linear-gradient(135deg, #159d6e, #0b3d2e);
}
.home .hero__cta .btn--primary:hover::after,
.home .hero__cta .btn--primary:focus::after{ opacity: .9; }
.home .hero__cta .btn--primary:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(21,157,110,.18), 0 16px 40px rgba(0,0,0,.18);
}
/* Evita brilho genérico nesse botão */
.home .btn--primary::before{ display:none; }

/* Mídia (imagem com leve flutuação) */
.home .hero__media{
  display:flex; justify-content:center;
}
.home .hero__media img{
  width: 100%;
  max-width: 520px;
  display: block;
  margin-left: auto;
  filter: drop-shadow(0 24px 50px rgba(11,42,91,.14));
  transform: translateY(6px) scale(1.02);
  animation: mediaFloat 10s ease-in-out infinite;
  border-radius: 10px;
}

/* ===== Animações ===== */
@keyframes mediaFloat{
  0%,100%{ transform: translateY(6px) scale(1.02); }
  50%{ transform: translateY(-4px) scale(1.02); }
}
@keyframes fadeInUp{
  from{ opacity:0; transform: translateY(6px); }
  to  { opacity:1; transform: translateY(0); }
}
@keyframes wipe{ to{ transform: scaleX(1);} }

/* ===== SEÇÕES (mantidas para futura expansão) ===== */
.home .features{ padding: 40px 0 8px; }
.home .features h2,
.home .areas h2,
.home .impacto h2,
.home .cadastro h2,
.home .empresas h2,
.home .faq-teaser h2{
  color: var(--vorh-navy);
  font-weight: 800;
}
.home .cards{
  display:grid; gap:16px;
  grid-template-columns: repeat(3, minmax(0,1fr));
  margin-top: 16px;
}
.home .card{
  background: var(--surface);
  border: 1px solid rgba(11,42,91,.08);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(11,42,91,.06);
  transform: translateY(8px);
  opacity: 0;
  transition: transform .5s ease, opacity .5s ease, box-shadow .2s ease;
}
.home .card h3{ color: var(--vorh-green); margin-bottom: 6px; }
.home .card p{ color: var(--ink); opacity: .85; }
.home .card:hover{ box-shadow: 0 16px 40px rgba(11,42,91,.10); transform: translateY(-2px); }

/* Pills de áreas */
.home .areas{ padding: 20px 0; }
.home .pill-list{
  display:flex; flex-wrap:wrap; gap:10px; margin-top: 10px;
}
.home .pill-list li{
  list-style: none;
  border:1px solid rgba(11,42,91,.12);
  background: linear-gradient(180deg, #fff, #fcfdfb);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 600;
  color: var(--vorh-navy);
  box-shadow: 0 4px 12px rgba(11,61,46,.06);
  transition: transform .15s ease;
}
.home .pill-list li:hover{ transform: translateY(-1px); }

/* KPIs */
.home .impacto{ padding: 28px 0; }
.home .kpis{
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin-top: 12px;
}
.home .kpi{
  background: var(--surface);
  border:1px solid rgba(11,42,91,.08);
  border-radius: 14px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(11,42,91,.06);
  opacity: 0; transform: translateY(10px);
  transition: transform .5s ease, opacity .5s ease;
}
.home .kpi strong{
  display:block; font-size: 1.6rem; color: var(--vorh-gold); letter-spacing: .2px;
}
.home .kpi span{ color: var(--muted); }

/* Efeito genérico de brilho (não interfere no CTA principal) */
.home .btn{ position: relative; overflow: hidden; }
.home .btn::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(201,162,39,.16), rgba(11,61,46,.12));
  transform: translateX(-100%);
  transition: transform .35s ease;
}
.home .btn:hover::before{ transform: translateX(0); }

/* ===== Responsividade ===== */
@media (max-width: 980px){
  .home .hero__grid{ grid-template-columns: 1fr; }
  .home .hero__media img{ margin: 0 auto; }
}
@media (max-width: 800px){
  .home .cards{ grid-template-columns: 1fr; }
  .home .kpis{ grid-template-columns: 1fr; }
}

/* Redução de movimento */
@media (prefers-reduced-motion: reduce){
  .hero-title__t1,
  .hero-title__t2,
  .hero-title__t3,
  .home .hero__copy .hero-title::after,
  .home .hero__media img{
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
