:root {
  --brand-blue: #0e4194;
  --brand-yellow: #ffd800;
  --dark-overlay: rgba(2, 2, 60, 0.6);
  --glass-bg: rgba(14, 65, 148, 0.65);
  --glass-border: rgba(255, 255, 255, 0.15);
  --color-white: #fff;
  --color-primary: #0a58ca;
  --color-primary-hover: #084298;
  --color-success: #009640;
  --color-success-hover: #00662c;
  --color-danger: #b00f0a;
  --color-danger-hover: #d90e16;
  --color-warning: #fdd703;
  --color-warning-hover: #fc0;
  --color-info: #009fe3;
  --bg-light: #ebebeb;
  --bg-light-2: #ebf8ff;
  --bg-light-3: #edf2fc;
  --bg-light-4: #fffaeb;
  --color-obj-1: #009fe3;
  --color-obj-1-hover: #008ac5;
  --color-obj-2: #0085cc;
  --color-obj-2-hover: #009fe3;
  --color-obj-3: #0e4194;
  --color-obj-3-hover: #002c73;
  --color-obj-4: #0d3880;
  --color-obj-4-hover: #002877;
  --color-obj-5: #002877;
  --color-obj-5-hover: #001d57;
  --color-obj-6: #fbc105;
  --color-obj-6-hover: #ffed00;
  --color-obj-7: #ffed00;
  --color-obj-8: #0c6f36;
  --color-obj-8-hover: #055025;
  --color-obj-9: #3aa937;
  --color-obj-9-hover: #2c852a;
  --color-obj-10: #d90e16;
  --color-obj-10-hover: #b80a11;
  --color-obj-11: #e84e19;
  --color-obj-11-hover: #f49913;
  --color-obj-12: #f49913;
  --color-obj-12-hover: #ce800e
}
html, body {
  margin: 0;
  padding: 0;
  font-family: 'Nunito', sans-serif;
  overflow-x: hidden;
  height: 100%;
}
.text-obj-1 {
  color: var(--color-obj-1);
}
.text-obj-2 {
  color: var(--color-obj-2);
}
.text-obj-3 {
  color: var(--color-obj-3);
}
.text-obj-4 {
  color: var(--color-obj-4);
}
.text-obj-5 {
  color: var(--color-obj-5);
}
.bg-obj-5 {
  background-color: var(--color-obj-5);
}
.text-obj-6 {
  color: var(--color-obj-6);
}
.text-obj-7 {
  color: var(--color-obj-7);
}
body {
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}
section {
  position: relative;
  height: 100vh;
  width: 100%;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.bg-layer {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
  transition: transform 12s ease-in-out, opacity 0.4s ease;
}
section:hover .bg-layer {
  transform: scale(1.3);
}
.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(14, 65, 148, 0.4) 100%);
  z-index: 1;
  pointer-events: none;
}
.hero {
  background: url('../img/imagem-inicial.jpg') center / cover no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(14, 65, 148, 0.92) 20%, rgba(2, 2, 60, 0.8) 100%);
  z-index: 1;
}
.scroll-down-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  color: white;
  animation: bounce 2s infinite;
  opacity: 0.8;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.8rem;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0) translateX(-50%);
  }
  40% {
    transform: translateY(-10px) translateX(-50%);
  }
  60% {
    transform: translateY(-5px) translateX(-50%);
  }
}
.galeria-card {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: 8px;
  padding: 1rem 1.4rem 1.4rem 1.4rem;
  max-width: 350px;
  margin-left: auto;
  margin-right: 5%;
  z-index: 10;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);
  opacity: 0.2;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}
section.is-visible .galeria-card {
  opacity: 0.95;
  transform: translateY(0);
}
.thumb-container {
  display: flex;
  gap: 10px;
  margin-top: 1rem;
}
.thumb {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.thumb:hover, .thumb.active {
  opacity: 1;
  transform: scale(1.1);
  border-color: var(--brand-yellow);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.nav-dots {
  position: fixed;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 100;
}
.dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid transparent;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
  position: relative;
}
.dot:hover {
  background: rgba(255, 255, 255, 0.8);
}
.dot.active {
  background: var(--brand-blue);
  border-color: var(--brand-yellow);
  transform: scale(1.2);
  box-shadow: 0 0 10px var(--brand-yellow);
  font-size: 0.7rem !important;
}
.dot::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 150%;
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  background: rgba(14, 65, 148, 0.85);
  color: #fff;
  font-size: 0.75rem;
  padding: 5px 8px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s ease;
}
.dot.active::after {
  background: #fdd703;
  color: #0e4194;
  font-size: 0.7rem;
}
.dot:hover::after, .dot:focus-visible::after, .dot:hover::before, .dot:focus-visible::before {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
#footer {
  background: #0e4194;
  color: #ccc;
  height: auto;
  min-height: 100vh;
  align-items: center;
}
@media (max-width: 768px) {
  .galeria-card {
    margin: 0 auto;
    width: 100%;
    bottom: 20px;
    padding: 1.4rem;
  }
  section {
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 80px;
  }
  .hero {
    justify-content: center;
    padding-bottom: 0;
  }
  .nav-dots {
    display: none !important;
  }
}
.fade-in-up {
  animation: fadeInUp 1s ease forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.site-header {
  transition: opacity .4s ease, transform .4s ease;
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
  z-index: 200;
}
.site-header.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.footer a {
  text-decoration: none !important
}
.svg-fill-white {
  fill: #fff !important
}
.badge-unidade {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.7rem;
  text-transform: uppercase;
  padding: 0.5rem 0.9rem 0.45rem 0.9rem;
  border-radius: 50px;
  z-index: 50;
  pointer-events: none;
}
@media (max-width: 768px) {
  .badge-unidade {
    top: -10px;
    font-size: 0.75rem;
  }
}
@media (min-width: 1800px) {
	.galeria-card {margin-right:2%}
	.galeria-card .badge {font-size: 0.84em}
	.galeria-card .h4 {font-size: 1.8em}
    .galeria-card .small {font-size: 1.1em}	
}