/* === BASE E VARIÁVEIS CSS === */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  background: transparent; color: #3B82F6; 
  padding: .6rem 1.8rem; font-size: .75rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase;
  border: 1px solid #3B82F6; border-radius: 9999px; transition: all .3s;
}
.btn-primary:hover { background: #2563EB; color: #FFFFFF; border-color: #2563EB; }

nav.scrolled { background: rgba(4, 11, 20, 0.98); border-bottom: 1px solid rgba(59,130,246,0.15); }

.hero-bg {
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(37,99,235,0.12) 0%, transparent 70%),
    radial-gradient(ellipse 30% 30% at 85% 15%, rgba(59,130,246,0.08) 0%, transparent 60%);
}
.hero-hl { transform: translateY(110%); opacity: 0; }

.anim-blur-text span {
  display: inline-block; opacity: 0; filter: blur(12px);
  transform: translateY(20px); will-change: opacity, filter, transform;
}
.anim-blur-text .bold-word { font-family: 'Anton', sans-serif; color: #F8FAFC; letter-spacing: 1px; }
.anim-blur-text .accent-word { font-family: 'Anton', sans-serif; color: #3B82F6; letter-spacing: 1px; }

.pillars-container { display: flex; height: 85vh; width: 100%; }
.pillar-card {
  flex: 1; position: relative; overflow: hidden;
  transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  cursor: pointer; border-right: 1px solid rgba(59,130,246,0.12); min-width: 0;
}
.pillar-card:last-child { border-right: none; }
.pillar-card:hover { flex: 1.6; }

.pillar-bg {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  transition: transform 1s ease, filter 0.8s ease; filter: brightness(0.35) saturate(1.2);
}
.pillar-card:hover .pillar-bg { transform: scale(1.08); filter: brightness(0.6) saturate(1.4); }

.pillar-glow {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .6s;
}
.pillar-card:hover .pillar-glow { opacity: 1; }

.pillar-overlay {
  position: absolute; inset: 0; z-index: 2; transition: .5s;
  background: linear-gradient(to top, rgba(4,11,20,1) 0%, rgba(4,11,20,.2) 55%, transparent 100%);
}
.pillar-card:hover .pillar-overlay {
  background: linear-gradient(to top, rgba(4,11,20,1) 0%, rgba(4,11,20,.4) 65%, transparent 100%);
}

.pillar-content { position: absolute; bottom: 40px; left: 30px; right: 20px; z-index: 10; min-width: 250px; }
.pillar-line { width: 0; height: 2px; background: #3B82F6; margin-bottom: 1rem; transition: width .5s .1s; }
.pillar-card:hover .pillar-line { width: 40px; }
.pillar-desc {
  font-size: 0.85rem; color: #94A3B8; max-height: 0; overflow: hidden;
  transition: max-height .4s ease, opacity .4s; opacity: 0; margin-top: 8px;
}
.pillar-card:hover .pillar-desc { max-height: 60px; opacity: 1; }

.marquee-track { display: flex; width: max-content; animation: scroll-left 30s linear infinite; }
.marquee-group { display: flex; align-items: center; }
.infinite-item {
  font-family: 'Anton', sans-serif; font-size: 2.5rem; color: transparent;
  -webkit-text-stroke: 1px rgba(96,165,250,0.4); margin: 0 40px;
  transition: color 0.3s, -webkit-text-stroke 0.3s;
}
.infinite-item:hover { color: #F8FAFC; -webkit-text-stroke: 1px #F8FAFC; }

.footer-huge-text { font-size: clamp(2rem, 11vw, 12rem); user-select: none; transition: transform 0.1s ease-out; }
body.menu-open { overflow: hidden; }

@keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

@media (max-width: 768px) {
  .pillars-container { flex-direction: column; height: auto; }
  .pillar-card { min-height: 220px; height: auto; padding: 28px 20px; flex: none !important; border-right: none; border-bottom: 1px solid rgba(59,130,246,0.2); }
  .pillar-content { position: relative; bottom: auto; left: auto; right: auto; min-width: auto; }
  .pillar-desc { max-height: 100px; opacity: 0.85; margin-top: 8px; }
  .pillar-line { width: 32px; }
}

/* Swiper customizações */
.swiper-slide { background-position: center; background-size: cover; }
.swiper-pagination-bullet { background: #CBD5E1 !important; }
.swiper-pagination-bullet-active { background: #2563EB !important; }
.swiper-button-next, .swiper-button-prev { color: #60A5FA !important; transition: all 0.3s ease; }
.swiper-button-next:hover, .swiper-button-prev:hover { color: #F8FAFC !important; transform: scale(1.1); }
.swiper-button-next::after, .swiper-button-prev::after { font-size: 2rem !important; font-weight: 300 !important; }
.swiper-button-disabled { opacity: 0.2 !important; pointer-events: none; }