
:root {
  --bg: #f5f7fb;
  --surface: rgba(255,255,255,0.98);
  --surface-soft: #eef3fa;
  --ink: #162033;
  --muted: #5d6778;
  --line: rgba(20, 42, 104, 0.11);
  --brand: #203c8c;
  --brand-alt: #ea7a19;
  --brand-dark: #142a68;
  --deep: #0e1b33;
  --shadow: 0 22px 56px rgba(15, 28, 51, 0.10);
  --shadow-soft: 0 10px 28px rgba(15, 28, 51, 0.055);
}
body.apigraf-home {
  background:
    linear-gradient(180deg, #f7f8fb 0%, #f2f5fb 48%, #f8f9fc 100%);
}
.apigraf-home .site-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(20,42,104,.10);
  box-shadow: 0 8px 24px rgba(15, 28, 51, .04);
}
.apigraf-home .nav-link:hover,
.apigraf-home .nav > li:hover > .nav-link,
.apigraf-home .nav-link.active,
.apigraf-home .mobile-nav a,
.apigraf-home .subnav a:hover {
  background: rgba(32,60,140,.08);
  color: var(--brand-dark);
}
.apigraf-home .has-sub > .nav-link::after,
.apigraf-home .contact-item small {
  color: var(--brand-alt);
}
.apigraf-home .social,
.apigraf-home .contact-item a,
.apigraf-home .footer-links a:hover,
.apigraf-home .section-header h2,
.apigraf-home .institutional-copy h3,
.apigraf-home .action-card h3 {
  color: var(--brand-dark);
}
.apigraf-home .btn,
.apigraf-home .btn-light {
  background: linear-gradient(180deg, #294ea9, #203c8c);
  color: #fff;
  box-shadow: 0 12px 26px rgba(32,60,140,.2);
}
.apigraf-home .btn:hover,
.apigraf-home .btn-light:hover {
  background: linear-gradient(180deg, #ea7a19, #c96413);
}
.apigraf-home .btn-secondary,
.apigraf-home .btn-outline {
  border-color: rgba(20,42,104,.16);
  color: var(--brand-dark);
}
.apigraf-home .hero {
  padding-top: 28px;
}
.apigraf-home .top-video-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: min(72vh, 860px);
  max-height: 860px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 18px 40px rgba(15,28,51,.10);
}
.apigraf-home .top-video-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 7px;
  background: linear-gradient(90deg, var(--brand) 0%, var(--brand-alt) 100%);
  z-index: 2;
}
.apigraf-home .top-video-hero-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
}
.apigraf-home .hero-shell-lower {
  min-height: min(62vh, 660px);
  border: 1px solid rgba(20,42,104,.12);
  box-shadow: var(--shadow-soft);
}
.apigraf-home .hero-shell-lower .hero-slide::after {
  background:
    linear-gradient(180deg, rgba(8,15,28,.10) 0%, rgba(8,15,28,.18) 24%, rgba(8,15,28,.80) 100%),
    linear-gradient(90deg, rgba(14,27,51,.76) 0%, rgba(32,60,140,.32) 56%, rgba(234,122,25,.10) 100%);
}
.apigraf-home .hero-shell-lower .hero-content {
  background: linear-gradient(180deg, rgba(14,27,51,.56), rgba(14,27,51,.82));
  border: 1px solid rgba(255,255,255,.16);
}
.apigraf-home .hero-arrow,
.apigraf-home .hero-dot.is-active {
  background: rgba(255,255,255,.96);
  color: var(--brand-dark);
}
.apigraf-home .hero-dot { border-color: rgba(255,255,255,.28); }

/* Acessos rápidos: limpos e institucionais */
.apigraf-home .action-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(20,42,104,.10);
  box-shadow: var(--shadow-soft);
}
.apigraf-home .action-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--brand) 0%, var(--brand-alt) 100%);
}
.apigraf-home .action-card:hover,
.apigraf-home .logo-card:hover,
.apigraf-home .contact-card:hover {
  border-color: rgba(234,122,25,.22);
}
.apigraf-home .action-card p { color: var(--muted); }

/* Restauro das imagens dos highlight cards */
.apigraf-home .highlight-card::before {
  background: var(--card-bg) center/cover no-repeat;
}
.apigraf-home .highlight-card::after {
  background:
    linear-gradient(180deg, rgba(10,16,31,.12) 0%, rgba(10,16,31,.30) 38%, rgba(10,16,31,.84) 100%),
    linear-gradient(90deg, rgba(32,60,140,.14) 0%, rgba(234,122,25,.08) 100%);
}
.apigraf-home .highlight-card {
  border: 1px solid rgba(20,42,104,.12);
  box-shadow: var(--shadow-soft);
}
.apigraf-home .highlight-card:hover { border-color: rgba(234,122,25,.24); }

.apigraf-home .section {
  border-color: rgba(20,42,104,.10);
  box-shadow: 0 10px 28px rgba(15,28,51,.035);
}
.apigraf-home .section-header p,
.apigraf-home .institutional-copy p,
.apigraf-home .contact-item div,
.apigraf-home .contact-item a {
  color: var(--muted);
}
.apigraf-home .section-header h2 {
  position: relative;
  display: inline-block;
  padding-left: 16px;
}
.apigraf-home .section-header h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  bottom: .18em;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--brand) 0%, var(--brand-alt) 100%);
}
.apigraf-home .logo-card,
.apigraf-home .contact-card,
.apigraf-home .action-card {
  border-color: rgba(20,42,104,.10);
}
.apigraf-home .site-footer .footer-shell {
  background: linear-gradient(135deg, #203c8c 0%, #162b69 44%, #0f1c33 100%);
}

@media (max-width: 840px) {
  .apigraf-home .top-video-hero {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }
  .apigraf-home .hero-shell-lower {
    min-height: 560px;
  }
}
@media (max-width: 560px) {
  .apigraf-home .hero {
    padding-top: 16px;
  }
  .apigraf-home .top-video-hero {
    aspect-ratio: 4 / 5;
  }
  .apigraf-home .hero-shell-lower {
    min-height: 600px;
  }
}
