/* =========================================================
   SEJUVE • Home (index.html)
   Depende de theme.css (tokens --h-*, nav, rodapé).
   Escopado em .home-v2.
   ========================================================= */

/* =========================================================
   HERO
   ========================================================= */
.home-v2 .hero-v2{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  padding: clamp(56px, 8vw, 96px) 20px clamp(60px, 8vw, 96px);
  text-align: center;
  border-radius: 0 0 36px 36px;
  background:
    radial-gradient(1200px 520px at 50% -20%, rgba(127,178,240,.30), transparent 62%),
    linear-gradient(160deg, var(--h-dark) 0%, #14556d 34%, var(--h-blue) 100%);
  box-shadow: 0 34px 70px rgba(15,79,92,.28);
}

/* Malha futurista discreta */
.home-v2 .hero-v2::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(70% 70% at 50% 30%, #000 20%, transparent 78%);
  mask-image: radial-gradient(70% 70% at 50% 30%, #000 20%, transparent 78%);
}

/* Halo de luz que respira devagar */
.home-v2 .hero-glow{
  position: absolute;
  z-index: -1;
  width: min(760px, 120%);
  aspect-ratio: 1;
  left: 50%;
  top: -42%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(127,178,240,.34) 0%, rgba(127,178,240,0) 65%);
  filter: blur(10px);
  animation: heroBreath 9s ease-in-out infinite;
  pointer-events: none;
}
@keyframes heroBreath{
  0%,100%{ opacity:.75; transform: translateX(-50%) scale(1); }
  50%    { opacity:1;   transform: translateX(-50%) scale(1.06); }
}

.home-v2 .hero-inner-v2{
  position: relative;
  max-width: 880px;
  margin: 0 auto;
}

.home-v2 .hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 16px 7px 12px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #dbe9ff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.home-v2 .hero-badge i{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7ce49b;
  box-shadow: 0 0 0 4px rgba(124,228,155,.22);
  animation: pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{ box-shadow: 0 0 0 4px rgba(124,228,155,.22); }
  50%    { box-shadow: 0 0 0 8px rgba(124,228,155,.06); }
}

.home-v2 .hero-title-v2{
  margin: 22px 0 0;
  font-size: clamp(34px, 6.4vw, 68px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -.02em;
  background: linear-gradient(180deg, #ffffff 42%, #dbe8fa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.home-v2 .hero-title-v2 span{ display: block; }

.home-v2 .hero-sub-v2{
  margin: 18px auto 0;
  max-width: 620px;
  font-size: clamp(15px, 2vw, 19px);
  line-height: 1.6;
  color: rgba(255,255,255,.86);
}

.home-v2 .hero-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
}
.home-v2 .hero-btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .96rem;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.home-v2 .hero-btn svg{ width: 18px; height: 18px; }
.home-v2 .hero-btn-solid{
  color: var(--h-blue);
  background: #fff;
  box-shadow: 0 12px 30px rgba(4,26,45,.30);
}
.home-v2 .hero-btn-solid:hover{ transform: translateY(-2px); box-shadow: 0 18px 38px rgba(4,26,45,.36); }
.home-v2 .hero-btn-ghost{
  color: #fff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.home-v2 .hero-btn-ghost:hover{ background: rgba(255,255,255,.20); transform: translateY(-2px); }

/* =========================================================
   CONTEÚDO / GRADE DE SERVIÇOS
   ========================================================= */
.home-v2 .home-main{
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(44px, 6vw, 72px) 20px 64px;
}

.home-v2 .section-head{
  text-align: center;
  max-width: 640px;
  margin: 0 auto clamp(28px, 4vw, 44px);
}
.home-v2 .eyebrow{
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--h-blue-soft);
}
.home-v2 .section-head h2{
  margin: 10px 0 0;
  font-size: clamp(24px, 3.6vw, 34px);
  font-weight: 800;
  letter-spacing: -.015em;
  color: var(--h-ink);
}
.home-v2 .section-head p{
  margin: 12px 0 0;
  color: var(--h-ink-soft);
  line-height: 1.6;
}

.home-v2 .action-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* ---------- Card de serviço ---------- */
.home-v2 .action-card{
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 18px;
  background: var(--h-surface);
  border: 1px solid var(--h-line);
  box-shadow: var(--h-shadow-sm);
  color: var(--h-ink);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
/* brilho que sobe no hover */
.home-v2 .action-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  background: linear-gradient(180deg, rgba(31,78,134,.06), rgba(31,78,134,0) 70%);
  transition: opacity .22s ease;
}
.home-v2 .action-card:hover{
  transform: translateY(-4px);
  border-color: rgba(31,78,134,.28);
  box-shadow: var(--h-shadow-md);
}
.home-v2 .action-card:hover::after{ opacity:1; }
.home-v2 .action-card:active{ transform: translateY(-1px); }

.home-v2 .action-card--featured{
  border-color: rgba(245, 158, 11, .62);
  background: linear-gradient(135deg, rgba(255, 251, 235, .98), rgba(255, 255, 255, .98));
  box-shadow: 0 18px 42px rgba(180, 83, 9, .14);
}

.home-v2 .action-card--featured .action-icon{
  color: #92400e;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
}

.home-v2 .action-highlight{
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 4px 9px;
  border-radius: 999px;
  color: #78350f;
  background: #fbbf24;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-v2 .action-icon{
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, var(--h-blue-soft), var(--h-blue));
  box-shadow: 0 8px 18px rgba(31,78,134,.28), inset 0 1px 0 rgba(255,255,255,.28);
  transition: transform .22s ease;
}
.home-v2 .action-icon svg{ width: 22px; height: 22px; }
.home-v2 .action-card:hover .action-icon{ transform: scale(1.06) rotate(-3deg); }

.home-v2 .action-body{ flex: 1 1 auto; min-width: 0; }
.home-v2 .action-title{
  display: block;
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: -.01em;
}
.home-v2 .action-desc{
  display: block;
  margin-top: 4px;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--h-ink-soft);
}
.home-v2 .action-arrow{
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: var(--h-blue);
  background: #eef4ff;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}
.home-v2 .action-arrow svg{ width: 16px; height: 16px; }
.home-v2 .action-card:hover .action-arrow{
  transform: translateX(4px);
  background: var(--h-blue);
  color: #fff;
}

/* ---------- Card do acesso restrito ---------- */
.home-v2 .action-card--outline{
  grid-column: 1 / -1;
  background: linear-gradient(180deg, #ffffff, #f7faff);
  border: 1px dashed rgba(31,78,134,.38);
  box-shadow: none;
}
.home-v2 .action-card--outline .action-icon{
  color: var(--h-blue);
  background: #eaf1fd;
  border: 1px solid rgba(31,78,134,.16);
  box-shadow: none;
}
.home-v2 .action-card--outline:hover{
  border-style: solid;
  box-shadow: var(--h-shadow-sm);
}

/* =========================================================
   Painel de redes sociais
   ========================================================= */
.home-v2 .social-panel{
  margin-top: clamp(36px, 5vw, 56px);
  padding: clamp(26px, 4vw, 38px) 24px;
  border-radius: 22px;
  text-align: center;
  color: #fff;
  background:
    radial-gradient(600px 260px at 50% -40%, rgba(127,178,240,.30), transparent 65%),
    linear-gradient(140deg, var(--h-dark) 0%, var(--h-blue) 100%);
  box-shadow: var(--h-shadow-lg);
}
.home-v2 .social-panel h2{
  margin: 8px 0 6px;
  font-size: clamp(20px, 3vw, 27px);
  font-weight: 800;
  letter-spacing: -.01em;
}
.home-v2 .social-panel .eyebrow{ color: var(--h-blue-lite); }
.home-v2 .social-panel p{
  margin: 0 auto 22px;
  max-width: 460px;
  color: rgba(255,255,255,.82);
  line-height: 1.6;
}
.home-v2 .social-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.home-v2 .social-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 600;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.26);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.home-v2 .social-link:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.22);
  box-shadow: 0 12px 26px rgba(4,26,45,.28);
}
.home-v2 .social-link svg{ width: 20px; height: 20px; }

.home-v2 .site-footer{ margin-top: 0; }

/* =========================================================
   Entrada suave dos elementos
   ========================================================= */
.home-v2 .reveal{
  opacity: 0;
  transform: translateY(16px);
  animation: revealUp .6s cubic-bezier(.22,.9,.32,1) forwards;
}
@keyframes revealUp{
  to{ opacity: 1; transform: none; }
}
.home-v2 .reveal:nth-child(1){ animation-delay: .05s; }
.home-v2 .reveal:nth-child(2){ animation-delay: .12s; }
.home-v2 .reveal:nth-child(3){ animation-delay: .18s; }
.home-v2 .reveal:nth-child(4){ animation-delay: .24s; }
.home-v2 .reveal:nth-child(5){ animation-delay: .30s; }
.home-v2 .reveal:nth-child(6){ animation-delay: .36s; }
.home-v2 .reveal:nth-child(7){ animation-delay: .42s; }
.home-v2 .reveal:nth-child(8){ animation-delay: .48s; }

/* =========================================================
   Responsivo
   ========================================================= */
@media (max-width: 780px){
  .home-v2 .action-grid{ grid-template-columns: 1fr; }
  .home-v2 .hero-v2{ border-radius: 0 0 28px 28px; }
  .home-v2 .action-card{ padding: 18px; gap: 14px; }
  .home-v2 .hero-actions .hero-btn{ flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 480px){
  .home-v2 .action-icon{ width: 44px; height: 44px; border-radius: 12px; }
  .home-v2 .action-desc{ font-size: .84rem; }
  .home-v2 .action-arrow{ display: none; }
  .home-v2 .social-link{ flex: 1 1 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce){
  .home-v2 .reveal{ opacity: 1; transform: none; }
}
