/* Identidade visual unificada com a página principal. */
html, body {
  background:
    radial-gradient(ellipse 52% 44% at 82% 18%, rgba(255,255,255,.36), transparent 70%),
    radial-gradient(ellipse 42% 48% at 14% 82%, rgba(255,239,222,.26), transparent 72%),
    #ff6300 !important;
  background-attachment: fixed !important;
}
body { position: relative; color: #fff; }

.topo { background: rgba(255,255,255,.96) !important; border: 0 !important; box-shadow: 0 8px 22px rgba(127,47,0,.10); }
.topo.scrolled { background: rgba(255,255,255,.98) !important; }
.topo .logo img, footer .footer-logo img { filter: brightness(0) saturate(100%) invert(43%) sepia(87%) saturate(2464%) hue-rotate(359deg) brightness(101%) contrast(104%); }
.menu a { color: #f15b00 !important; }
.menu a:hover { background: #ff6300 !important; color: #fff !important; box-shadow: none !important; }
.menu a.destaque { background: transparent !important; color: #f15b00 !important; box-shadow: none !important; }
.menu a.destaque:hover { background: #ff6300 !important; color: #fff !important; }

.page-hero, .sobre, .historia, .mvv-section, .programacao, footer {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
}
.page-hero { min-height: 360px; height: 41vh; }
.page-hero::before { display: none !important; }
.page-hero .container, .sobre .container, .historia .container, .mvv-section .container, .programacao .container, footer .container { position: relative; z-index: 2; }
.stars-container, .particles-container, .sobre::before, .historia::before, .programacao::before, footer::before { display: none !important; }

.page-hero h1, .sobre h2, .historia h2, .programacao h2 { color: #fff !important; text-shadow: 0 5px 20px rgba(111,37,0,.16); }
.page-hero h1 {
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  font-size: clamp(2.2rem, 3.1vw, 3.35rem) !important;
  line-height: 1.08;
}
.page-hero p { color: rgba(255,255,255,.96) !important; text-shadow: 0 3px 14px rgba(111,37,0,.22); }
.page-hero p { display: none !important; }
.page-hero .hero-content { margin-top: 48px; }
.sobre h2::after, .historia h2::after, .programacao h2::after { background: #fff !important; }
.sobre p, .historia p { color: rgba(255,255,255,.95) !important; }
.sobre { padding-top: 72px !important; padding-bottom: 88px !important; }
.historia p:last-of-type { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.28) !important; color: #fff !important; }
.equipe-section { min-height: 620px; height: 76vh; border: 0 !important; }
.equipe-overlay { background: linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.08) 52%, rgba(0,0,0,.56)) !important; }
.equipe-content h3 { color: #fff !important; }

.mvv-card { border: 0 !important; box-shadow: none !important; }
.mvv-card:hover { box-shadow: 0 16px 34px rgba(127,47,0,.18) !important; }

/* Missão, visão e valores com leitura institucional e acabamento leve. */
.mvv-section { padding: 96px 0 108px !important; color: #fff; }
.mvv-heading { max-width: 650px; margin: 0 auto 42px; text-align: center; }
.mvv-heading > span { display: block; margin-bottom: 10px; color: rgba(255,255,255,.78); font-size: .72rem; font-weight: 900; letter-spacing: .18em; }
.mvv-heading h2 { margin: 0; color: #fff; font-size: clamp(2.2rem, 3.4vw, 3.25rem); line-height: 1.08; }
.mvv-heading p { margin: 14px 0 0; color: rgba(255,255,255,.9); font-size: 1.04rem; }
.mvv-grid { gap: 18px !important; margin-top: 0 !important; }
.mvv-card {
  min-height: 355px;
  padding: 38px 34px !important;
  align-items: flex-start !important;
  text-align: left !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.96) !important;
  position: relative;
  overflow: hidden;
}
.mvv-card::after { position: absolute; top: 20px; right: 24px; color: rgba(255,99,0,.18); font-size: 2.8rem; font-weight: 900; line-height: 1; }
.mvv-card:nth-child(1)::after { content: '01'; }
.mvv-card:nth-child(2)::after { content: '02'; }
.mvv-card:nth-child(3)::after { content: '03'; }
.mvv-icon { width: 58px !important; height: 58px !important; margin-bottom: 24px !important; border-radius: 14px !important; box-shadow: none !important; font-size: 1.5rem !important; }
.mvv-icon i { display: none; }
.mvv-icon::after { color: #fff; font-size: 2rem; font-weight: 700; line-height: 1; }
.mvv-card:nth-child(1) .mvv-icon::after { content: '◎'; }
.mvv-card:nth-child(2) .mvv-icon::after { content: '◉'; }
.mvv-card:nth-child(3) .mvv-icon::after { content: '✦'; }
.mvv-card h3 { color: #632900 !important; font-size: 1.6rem !important; margin-bottom: 13px !important; letter-spacing: -.02em; }
.mvv-card p { color: #75431d !important; font-size: .98rem !important; line-height: 1.65 !important; text-align: left !important; }
.mvv-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.mvv-list li { margin: 0 !important; padding: 9px 8px !important; background: #fff2e8 !important; color: #9d4000 !important; font-size: .83rem !important; justify-content: flex-start !important; }
.mvv-list li:hover { transform: none !important; background: #fff2e8 !important; color: #9d4000 !important; }
@media (max-width: 768px) { .mvv-card { min-height: auto; } .mvv-list { grid-template-columns: 1fr; } }
.lista-check li { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.28) !important; box-shadow: none !important; }
.lista-check li::before { background: #fff !important; color: #ff6300 !important; box-shadow: none !important; }

/* Logo laranja com destaque próprio, legível sobre a página. */
.savnet-logo-highlight {
  width: min(420px, 92%);
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 32px 34px;
  position: relative;
  isolation: isolate;
  background: transparent;
  box-shadow: none;
}
.savnet-logo-highlight::before { display: none; }
.savnet-logo-highlight img {
  margin: 0 !important;
  position: relative;
  filter: brightness(0) invert(1) !important;
}

/* Compromissos: cards limpos e objetivos, sem os marcadores antigos. */
.programacao .lista-check {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
  counter-reset: commitment;
}
.programacao .lista-check li {
  min-height: 132px;
  margin: 0 !important;
  padding: 25px 28px 24px !important;
  display: flex;
  align-items: flex-end;
  color: #663000 !important;
  font-size: 1.03rem !important;
  font-weight: 750;
  line-height: 1.38;
  background: rgba(255,255,255,.96) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
  counter-increment: commitment;
}
.programacao .lista-check li::before { display: none !important; }
.programacao .lista-check li::after {
  content: '0' counter(commitment);
  position: absolute;
  top: 16px;
  left: 22px;
  color: #ff6300;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.programacao .lista-check li:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(126,43,0,.14) !important; }
@media (max-width: 700px) { .programacao .lista-check { grid-template-columns: 1fr; } }

footer { background: rgba(255,255,255,.96) !important; color: #d84d00 !important; }
footer h3, footer p, footer a, footer .footer-bottom { color: #d84d00 !important; }
footer a:hover { color: #ff6300 !important; }

.global-watermark-field { position: absolute; inset: 0; min-height: 100%; z-index: 0; overflow: hidden; pointer-events: none; }
.global-watermark { position: absolute; width: var(--wm-size); left: var(--wm-left); top: var(--wm-top); opacity: var(--wm-opacity); transform: rotate(var(--wm-rotation)); filter: brightness(0) invert(1) drop-shadow(0 12px 28px rgba(255,255,255,.2)); }
.global-watermark img { width: 100%; display: block; }
.page-effect-grid { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
.page-hero, .sobre, .equipe-section, .historia, .mvv-section, .programacao { position: relative; overflow: hidden; }
@media (max-width: 820px) { .menu ul { gap: 6px; } .menu a { padding: 8px 7px; font-size: .78rem; } .page-hero { min-height: 360px; height: 44vh; } .page-hero .hero-content { margin-top: 28px; } }

/* Galeria: palco visual minimalista, sem moldura pesada. */
.galeria-slider {
  max-width: 1120px !important;
  margin: 72px auto 36px !important;
  padding: 0 !important;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none !important;
}
.galeria-heading { max-width: 760px; margin: 0 0 24px; text-align: left; }
.galeria-heading span { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.75); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.galeria-heading span::before { content: ''; display: inline-block; width: 30px; height: 1px; background: rgba(255,255,255,.72); }
.galeria-heading h3 { margin: 9px 0 7px; color: #fff; font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.08; letter-spacing: -.052em; }
.historia .galeria-heading p { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; color: rgba(255,255,255,.84) !important; font-size: 1rem !important; text-align: left !important; animation: none !important; }
.slider-container { border: 0 !important; border-radius: 22px !important; box-shadow: 0 26px 62px rgba(88,27,0,.22) !important; background: transparent; }
.slider-container::before { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; background: linear-gradient(120deg, rgba(255,255,255,.06), transparent 22%, transparent 78%, rgba(255,255,255,.04)); }
.slide img { height: 500px !important; filter: none !important; transform: scale(1.002); transition: transform .7s ease; }
.slide:hover img { transform: scale(1.025); }
.slide-caption { display: none !important; }
.slider-counter { top: 18px !important; right: 18px !important; padding: 8px 13px !important; border: 1px solid rgba(255,255,255,.45) !important; border-radius: 999px !important; background: rgba(45,20,7,.42) !important; color: #fff !important; font-size: .76rem !important; letter-spacing: .08em; box-shadow: none !important; }
.slider-nav { width: 46px !important; height: 46px !important; border: 1px solid rgba(255,255,255,.72) !important; background: rgba(255,255,255,.16) !important; color: #fff !important; font-size: 1rem !important; box-shadow: none !important; backdrop-filter: blur(8px); }
.slider-nav.prev { left: 18px !important; }
.slider-nav.next { right: 18px !important; }
.slider-nav:hover { background: rgba(255,255,255,.96) !important; color: #d64a00 !important; transform: translateY(-50%) scale(1.06) !important; box-shadow: 0 9px 24px rgba(57,22,0,.18) !important; }
.slider-dots { justify-content: flex-start !important; gap: 10px !important; margin: 18px 0 0 !important; overflow-x: auto; padding: 2px 0 8px; scrollbar-width: thin; }
.dot { flex: 0 0 64px; width: 64px !important; height: 46px !important; border: 1px solid rgba(255,255,255,.42) !important; border-radius: 10px !important; background-color: rgba(255,255,255,.15) !important; background-size: cover !important; background-position: center !important; box-shadow: none !important; opacity: .68; transform: none !important; }
.dot:hover { opacity: 1; transform: translateY(-2px) !important; }
.dot.active { border-color: #fff !important; outline: 0; opacity: 1; transform: none !important; box-shadow: 0 0 0 2px rgba(255,255,255,.70), 0 0 0 4px rgba(255,164,65,.62) !important; }
@media (max-width: 700px) { .galeria-slider { margin-top: 48px !important; } .galeria-heading h3 { font-size: 1.85rem; } .slide img { height: 320px !important; } .slider-container { border-radius: 16px !important; } .slider-nav { width: 40px !important; height: 40px !important; } .dot { flex-basis: 54px; width: 54px !important; height: 40px !important; } }
