/*
Theme Name: Palhaços Sem Juízo 2026
Description: Tema institucional do Palhaços Sem Juízo, construído a partir do redesign editorial do site.
Author: Equipe Palhaços Sem Juízo (via Claude)
Version: 0.1.0
Text Domain: palhacos-2026
*/

/* ============================================
   Palhaços Sem Juízo — Home (protótipo)
   Elegância editorial, silêncio, respiro.
   ============================================ */

/* Raleway self-hosted (not Google Fonts CDN) — some browsers/extensions
   (ad blockers, privacy shields) silently block fonts.gstatic.com, which
   made the font fail without any visible error. Hosting it ourselves
   removes that failure mode entirely. */
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("fonts/raleway-variable.woff2") format("woff2");
}
@font-face {
  font-family: "Raleway";
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url("fonts/raleway-variable-italic.woff2") format("woff2");
}

:root {
  --red: #8D251E;
  --orange: #DC8728;
  --blue: #8FD4FC;
  --blue-deep: #1B6FA0;
  --teal: #6DC1D6;
  --coral: #FF5757;
  --orange-red: #E14127;

  --white: #FFFFFF;
  --cream: #FFFFFF;
  --gray: #F2F2F2;
  --dark: #2B2B2B;

  --font: "Raleway", system-ui, sans-serif;

  --wrap: 1200px;
  --space-xs: 0.75rem;
  --space-s: 1.5rem;
  --space-m: 3rem;
  --space-l: 6rem;
  --space-xl: 9rem;

  /* 8px-based spacing scale (refinamento UX/UI) */
  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-6: 48px;
  --sp-8: 64px;
  --sp-10: 80px;
  --sp-12: 96px;

  --radius: 4px;
  --radius-card: 14px;
  --radius-btn: 10px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--dark);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }

h1, h2, h3, blockquote { margin: 0; font-weight: 500; }

p { margin: 0; }

a { color: inherit; text-decoration: none; }

.wrap {
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: 20px;
}
@media (min-width: 640px) {
  .wrap { padding-inline: 24px; }
}
@media (min-width: 1024px) {
  .wrap { padding-inline: 32px; }
}
@media (min-width: 1264px) {
  .wrap { padding-inline: 0; }
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--white);
  color: var(--dark);
  padding: 0.75rem 1.25rem;
  z-index: 999;
}
.skip-link:focus { left: 1rem; top: 1rem; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-block;
  padding: 0.9rem 1.9rem;
  border-radius: var(--radius-btn);
  font-size: 0.9rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
  border: 1px solid transparent;
}
.btn-primary {
  background: var(--orange);
  color: var(--white);
}
.btn-primary:hover { opacity: 0.88; }
.btn-ghost {
  border-color: rgba(255,255,255,0.6);
  color: var(--white);
}
.btn-ghost:hover { background: rgba(255,255,255,0.12); }
.btn-on-dark.btn-primary { background: var(--orange); }
.btn-on-dark.btn-ghost { border-color: rgba(255,255,255,0.45); }

.btn-orange {
  background: var(--orange-red);
  color: var(--white);
}
.btn-orange:hover { opacity: 0.88; }
.btn-orange-ghost {
  border-color: var(--orange-red);
  color: var(--orange-red);
}
.btn-orange-ghost:hover { background: rgba(225,65,39,0.08); }

.btn-on-hero.btn-orange-ghost {
  border-color: var(--white);
  color: var(--white);
}
.btn-on-hero.btn-orange-ghost:hover { background: rgba(255,255,255,0.12); }

.btn-header {
  min-width: 120px;
  padding: 0.75rem 1.8rem;
  font-size: 0.85rem;
  text-align: center;
}

.btn-atuacao {
  background: var(--orange-red);
  color: var(--white);
  margin-top: 1.6rem;
}
.btn-atuacao:hover { opacity: 0.88; }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--white);
  transition: box-shadow 0.3s ease;
}
.site-header.is-scrolled {
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
}
.logo {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--dark);
  display: flex;
  align-items: center;
  line-height: 1.15;
}
.logo span {
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
}
.logo-img {
  height: 60px;
  width: auto;
  display: block;
}

.main-nav ul {
  list-style: none;
  display: flex;
  gap: 2.1rem;
  margin: 0;
  padding: 0;
}
.main-nav a {
  color: var(--dark);
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.main-nav a:hover { border-color: var(--orange); }

.nav-dropdown { position: relative; }
.main-nav .nav-dropdown-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0;
  padding-top: 1.15rem;
  min-width: 190px;
  list-style: none;
  padding-inline: 0.5rem;
  padding-bottom: 0.5rem;
  background: var(--white);
  border-radius: 10px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.14);
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 50;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.main-nav .nav-dropdown-menu a {
  display: block;
  padding: 0.55rem 0.75rem;
  font-size: 0.85rem;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 600;
  color: var(--dark);
  border-bottom: none;
  border-radius: 6px;
}
.main-nav .nav-dropdown-menu a:hover { background: var(--blue); }

.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 34px;
  height: 34px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.header-social {
  display: none;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1.2rem;
  margin-left: 0.4rem;
  border-left: 1px solid #e5e0d8;
}
.header-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--gray);
  color: var(--red);
  transition: background 0.2s ease, color 0.2s ease;
}
.header-social a:hover {
  background: var(--red);
  color: var(--white);
}
.header-social svg { width: 14px; height: 14px; }
.menu-toggle span {
  height: 2px;
  width: 100%;
  background: var(--dark);
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: var(--white);
}
.hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(0deg, rgba(20,14,12,0.82) 0%, rgba(20,14,12,0.4) 45%, rgba(20,14,12,0.1) 100%),
    linear-gradient(90deg, rgba(20,14,12,0.5) 0%, rgba(20,14,12,0.05) 55%);
}

/* ---------- Stats band (placeholder numbers) ---------- */
.stats-band {
  background: var(--orange-red);
  padding-block: 1.3rem;
}
.stats-band-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.4rem 2rem;
  max-width: 1560px;
  margin-inline: auto;
  padding-inline: 3.5rem;
}
.stat {
  color: var(--white);
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.4rem;
}
.stat-num {
  font-size: clamp(2rem, 3.4vw, 2.6rem);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.stat-label {
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.3;
  color: var(--white);
  max-width: 6rem;
}

@media (max-width: 640px) {
  .stats-band-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.1rem 1rem;
    padding-inline: 1.25rem;
  }
  .stat {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
  }
  .stat-num {
    font-size: 1.7rem;
  }
  .stat-label {
    max-width: none;
  }
}

/* ---------- Vídeo + apresentação ---------- */
.video-intro {
  background: var(--white);
  padding-block: var(--sp-10);
}
.video-intro-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}
.video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: var(--dark);
  box-shadow: 0 20px 45px rgba(0,0,0,0.18);
}
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-frame-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-frame-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: none;
  background: var(--orange-red);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0,0,0,0.35);
  transition: transform 0.2s ease;
}
.video-frame-play:hover,
.video-frame-play:focus-visible {
  transform: translate(-50%, -50%) scale(1.08);
}
.video-frame-play svg {
  width: 24px;
  height: 24px;
  fill: var(--white);
  margin-left: 3px;
}
.video-intro-text h2 {
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  font-weight: 800;
  line-height: 1.25;
  color: var(--red);
  margin-bottom: 1.3rem;
}
p.video-intro-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange-red);
  margin-bottom: 0.8rem;
}
.video-intro-text p:not(.video-intro-kicker) {
  font-size: 1.1875rem;
  line-height: 1.75;
  font-weight: 400;
  color: #3a3a3a;
  max-width: 36rem;
}
.video-intro-text p + p {
  margin-top: 1.1rem;
}

/* ---------- Atuação ---------- */
.atuacao {
  background: #FAF3E8;
  padding-top: var(--sp-10);
  padding-bottom: var(--sp-10);
}
.atuacao-layout {
  display: block;
}
.atuacao-header {
  margin-bottom: var(--sp-4);
}
.atuacao-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange-red);
  margin-bottom: 0.8rem;
}
.atuacao-header h2 {
  font-size: clamp(2rem, 3.4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--red);
}

.atuacao-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-2);
}
@media (max-width: 819px) {
  /* four equally-important fronts of work — a horizontal, swipeable
     carousel keeps all four one gesture away without making the Home
     scroll forever, instead of stacking four tall cards in a column. */
  .atuacao-grid {
    display: flex;
    grid-template-columns: unset;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.25rem;
  }
  .atuacao-grid::-webkit-scrollbar { display: none; }
  .atuacao-card {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}
.atuacao-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: 12px;
  border-bottom: 4px solid var(--orange-red);
  box-shadow: 0 10px 24px rgba(43,43,43,0.08);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.atuacao-card:hover,
.atuacao-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(43,43,43,0.14);
}
.atuacao-card-media {
  aspect-ratio: 4 / 3;
  background: var(--gray);
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.atuacao-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.atuacao-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px;
}
.atuacao-card h3 {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--red);
  line-height: 1.3;
  margin-bottom: 0.6rem;
}
.atuacao-card p {
  font-size: 1.1875rem;
  line-height: 1.6;
  font-weight: 400;
  color: #3a3a3a;
}
.atuacao-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: var(--sp-2);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--orange-red);
}
.atuacao-card-link svg {
  width: 15px;
  height: 15px;
  transition: transform 0.2s ease;
}
.atuacao-card:hover .atuacao-card-link svg,
.atuacao-card:focus-visible .atuacao-card-link svg {
  transform: translateX(4px);
}

.btn-dark {
  background: var(--dark);
  color: var(--white);
  border-radius: 999px;
  padding: 1rem 2.3rem;
}
.btn-dark:hover { opacity: 0.88; }

/* ---------- Hero slideshow ---------- */
.hero-slideshow {
  position: absolute;
  inset: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.7s ease;
}
.hero-slide.is-active { opacity: 1; }
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}

.hero-slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.85);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
  z-index: 5;
}
.hero-slide-arrow:hover { background: var(--white); }
.hero-slide-arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero-slide-arrow--prev { left: 1.5rem; }
.hero-slide-arrow--next { right: 1.5rem; }

@media (max-width: 640px) {
  /* the headline/text overlay grows tall enough on small screens to sit
     right where a vertically-centered arrow would land — no safe empty
     spot to keep it, so the mobile hero relies on autoplay only. */
  .hero-slide-arrow { display: none; }
}

/* decorative marks — official hand-painted brand assets (Canva exports,
   transparent PNG): orange fan + squiggle bottom-left, red squiggle + blue
   circle top-right */
.hero-deco { position: absolute; pointer-events: none; z-index: -1; width: auto; }

.hero-deco--orange {
  height: 62%;
  max-height: 460px;
  left: -10px;
  bottom: 0;
}

.hero-deco--blue {
  height: 58%;
  max-height: 400px;
  right: 4vw;
  top: 0;
}

.hero-wrap {
  width: 100%;
}

.hero-content {
  position: relative;
  max-width: 500px;
  padding-bottom: var(--sp-8);
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--orange);
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.eyebrow-line { width: 28px; height: 1px; background: var(--orange); display: inline-block; }

.hero h1 {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--white);
}

.hero-sub {
  margin-top: var(--sp-3);
  font-size: 1.1875rem;
  line-height: 1.6;
  max-width: 30rem;
  color: var(--white);
  font-weight: 400;
}

.hero-cta {
  margin-top: var(--sp-4);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

@media (max-width: 819px) {
  /* Mobile hero: stop overlaying text on the photo (horizontal desktop
     composition) and switch to a plain vertical read — image, then title,
     text and both CTAs, in normal document flow. Content and images are
     unchanged, only how they're positioned. Placed after the base hero
     rules above so these overrides actually win the cascade instead of
     losing on source order to same-specificity selectors declared later. */
  .hero {
    display: block;
    min-height: auto;
    color: var(--dark);
  }
  .hero-slideshow {
    position: relative;
    inset: auto;
    height: 260px;
  }
  .hero-scrim { display: none; }
  .hero-content {
    position: static;
    max-width: none;
    padding: var(--sp-6) 0 var(--sp-3);
  }
  .hero h1 { color: var(--red); }
  .hero-sub { color: var(--dark); max-width: none; }
  .hero-cta { flex-direction: column; align-items: stretch; margin-top: var(--sp-3); }
  .hero-cta .btn { text-align: center; }
}

.scroll-cue {
  position: absolute;
  right: var(--space-s);
  bottom: var(--space-s);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--white);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.scroll-cue svg {
  width: 16px; height: 16px;
  fill: none;
  stroke: var(--orange);
  stroke-width: 2;
  animation: bob 1.8s ease-in-out infinite;
}
@keyframes bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

/* ---------- Scroll reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }

.reveal-stagger .card {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.reveal-stagger.is-visible .card { opacity: 1; transform: translateY(0); }
.reveal-stagger .card:nth-child(1) { transition-delay: 0s; }
.reveal-stagger .card:nth-child(2) { transition-delay: 0.1s; }
.reveal-stagger .card:nth-child(3) { transition-delay: 0.2s; }
.reveal-stagger .card:nth-child(4) { transition-delay: 0.3s; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-stagger .card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ---------- Transparência e Resultados ---------- */
.impacto {
  background: var(--orange-red);
  color: var(--white);
  padding-block: var(--sp-6);
}
.impacto-header { margin-bottom: var(--sp-4); }
.impacto-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  margin-bottom: 0.8rem;
}
.impacto-header h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.4rem);
  font-weight: 700;
}

.impacto-body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  align-items: start;
}
.impacto-divider-label {
  display: none;
}
@media (max-width: 1023px) {
  /* below the two-column breakpoint, .impacto-body already stacks stats
     then the report card in DOM order — this label just names that seam,
     separating "o que conquistamos" (impacto-stats) from "como conferir"
     (report + seals), which desktop already reads apart via the columns. */
  .impacto-divider-label {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255,255,255,0.85);
    margin-top: 0.4rem;
  }
}
.impacto-stats {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.impacto-stat {
  display: flex;
  align-items: flex-start;
  gap: 1.4rem;
}
.impacto-stat-num {
  flex: 0 0 140px;
  font-size: clamp(1.9rem, 3.2vw, 2.4rem);
  font-weight: 800;
  line-height: 1;
}
.impacto-stat p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--white);
  max-width: 22rem;
  padding-top: 0.25rem;
}

.impacto-report {
  display: flex;
  flex-direction: column;
  background: var(--white);
  color: var(--dark);
  padding: 1.3rem 1.5rem;
  border-radius: var(--radius);
}
.impacto-report-icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--blue);
  color: var(--white);
  margin-bottom: 0.6rem;
}
.impacto-report-icon svg { width: 20px; height: 20px; fill: currentColor; }
.impacto-report h3 {
  font-size: 1.1875rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.impacto-report p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #3a3a3a;
  margin-bottom: 0.6rem;
}
.impacto-report-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  margin-top: auto;
  background: var(--orange-red);
  color: var(--white);
  padding: 0.7rem 1.3rem;
  border-radius: var(--radius-btn);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: opacity 0.2s ease;
}
.impacto-report-link:hover { opacity: 0.88; }
.impacto-report-link svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.impacto-seals {
  margin-top: var(--sp-6);
  padding-top: var(--sp-3);
  border-top: 1px solid rgba(255,255,255,0.3);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.6rem;
}
.impacto-seal {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--white);
}
.impacto-seal svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: rgba(255,255,255,0.85);
}

/* ---------- Depoimento ---------- */
.testimonial {
  background: var(--white);
  padding-block: var(--space-xl);
}
.testimonial-inner {
  max-width: 46rem;
  margin-inline: auto;
  text-align: center;
}
.testimonial-mark {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 5.5rem;
  line-height: 1;
  color: var(--orange-red);
  opacity: 0.28;
  margin-bottom: -1.6rem;
}
.testimonial blockquote {
  margin: 0;
}
.testimonial blockquote p {
  font-size: clamp(1.3rem, 2.6vw, 1.7rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.6;
  color: var(--dark);
}
.testimonial-attribution {
  margin-top: 2.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}
.testimonial-attribution::before {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--orange-red);
  margin-bottom: 1.2rem;
}
.testimonial-attribution cite {
  font-style: normal;
  font-weight: 700;
  font-size: 1.1875rem;
  color: var(--dark);
}
.testimonial-attribution span {
  font-size: 1.1875rem;
  font-weight: 300;
  color: #6b6b6b;
  max-width: 30rem;
}

/* ---------- Notícias ---------- */
.noticias {
  background: var(--white);
  padding-block: var(--sp-10);
  position: relative;
}
.noticias-header {
  margin-bottom: 2.8rem;
}
.noticias-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange-red);
  margin-bottom: 0.8rem;
}
.noticias-header h2 {
  font-size: clamp(1.8rem, 3.6vw, 2.4rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--red);
}

.noticias-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.6rem;
}
.noticias-deco {
  display: none;
  position: absolute;
  bottom: 0;
  right: 30px;
  width: 250px;
  z-index: 1;
  pointer-events: none;
}
.noticias-deco svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1300px) {
  .noticias-deco { display: block; }
}

.noticia-date {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--orange-red);
  margin-bottom: 0.5rem;
}

.noticia-featured {
  display: block;
  text-decoration: none;
  color: inherit;
}
.noticia-featured-media {
  aspect-ratio: 11 / 4;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 1.2rem;
  transition: box-shadow 0.2s ease;
}
.noticia-featured:hover .noticia-featured-media,
.noticia-featured:focus-visible .noticia-featured-media {
  box-shadow: 0 12px 28px rgba(43,43,43,0.18);
}
.noticia-featured-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.noticia-featured h3 {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 0.8rem;
}
.noticia-featured p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
  margin-bottom: 1.2rem;
  max-width: 34rem;
}
.noticias-link,
.noticia-featured-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--orange-red);
  flex-shrink: 0;
}
.noticias-link {
  align-self: flex-start;
  margin-top: var(--sp-3);
}
.noticias-link svg,
.noticia-featured-link svg,
.noticia-list-link svg { width: 16px; height: 16px; transition: transform 0.2s ease; }
.noticias-link:hover svg { transform: translateX(3px); }
.noticia-featured:hover .noticia-featured-link svg,
.noticia-featured:focus-visible .noticia-featured-link svg,
.noticia-list-item:hover .noticia-list-link svg,
.noticia-list-item:focus-visible .noticia-list-link svg { transform: translateX(3px); }

.noticia-list-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--orange-red);
}

.noticia-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.noticia-list-item {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
.noticia-list-media {
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.noticia-list-item:hover .noticia-list-media,
.noticia-list-item:focus-visible .noticia-list-media {
  box-shadow: 0 8px 18px rgba(43,43,43,0.2);
}
.noticia-list-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.noticia-list-body .noticia-date { margin-bottom: 0.3rem; }
.noticia-list-item h4 {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.4;
}

/* ---------- Cena ---------- */
.cena {
  background: var(--cream);
  padding-block: var(--space-xl);
}
.cena-inner { max-width: 46rem; }
.cena-text {
  font-size: clamp(1.15rem, 2.4vw, 1.5rem);
  line-height: 1.8;
  font-weight: 200;
  color: var(--dark);
}

/* ---------- Esperança ---------- */
.esperanca {
  background: var(--red);
  color: var(--white);
  padding-block: var(--space-xl);
  text-align: center;
}
.esperanca-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 1.6rem;
}
.esperanca blockquote {
  font-size: clamp(1.7rem, 4.4vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.25;
  max-width: 42rem;
  margin-inline: auto;
}
.esperanca blockquote em {
  font-style: italic;
  color: var(--orange);
  font-weight: 600;
}
.esperanca-desc {
  max-width: 38rem;
  margin: 2.4rem auto 0;
  font-size: 1.1875rem;
  line-height: 1.75;
  color: rgba(255,255,255,0.82);
  font-weight: 300;
}

/* ---------- Como funciona ---------- */
.como-funciona {
  padding-block: var(--space-xl);
}
.como-funciona h2 {
  font-size: clamp(1.7rem, 3.4vw, 2.3rem);
  font-weight: 400;
  max-width: 30rem;
}
.section-lead {
  margin-top: 0.7rem;
  color: var(--orange);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.cards-grid {
  margin-top: var(--space-l);
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.6rem;
}
.card { max-width: 26rem; }
.card-index {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  color: var(--teal);
  font-weight: 700;
  margin-bottom: 0.9rem;
}
.card h3 {
  font-size: 1.1875rem;
  font-weight: 600;
  margin-bottom: 0.7rem;
}
.card p {
  line-height: 1.7;
  color: #4b4b4b;
  font-weight: 300;
  font-size: 1.1875rem;
}

/* ---------- Reconhecimento ---------- */
.reconhecimento {
  background: var(--gray);
  padding-block: var(--space-xl);
}
.reconhecimento-inner { max-width: 48rem; }
.reconhecimento h2 {
  font-size: clamp(1.6rem, 3.2vw, 2.1rem);
  font-weight: 400;
  margin-bottom: 2.2rem;
}
.marcos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.marcos li {
  padding-left: 1.4rem;
  border-left: 2px solid var(--orange);
  line-height: 1.65;
  font-weight: 300;
  color: #3a3a3a;
}
.marcos strong { font-weight: 600; color: var(--dark); }

/* ---------- Quem somos ---------- */
.quem-somos { padding-block: var(--space-xl); }
.quem-somos-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.6rem;
  align-items: center;
}
.quem-somos-media img { border-radius: var(--radius); }
.quem-somos-text h2 {
  font-size: clamp(1.6rem, 3.2vw, 2.1rem);
  font-weight: 400;
  margin-bottom: 1.2rem;
}
.quem-somos-text p {
  line-height: 1.75;
  font-weight: 300;
  color: #3a3a3a;
  max-width: 32rem;
}
.link-arrow.link-arrow--light {
  color: var(--orange-red);
  border-bottom-color: var(--orange-red);
}
.link-arrow {
  display: inline-block;
  margin-top: 1.4rem;
  font-weight: 600;
  color: var(--red);
  border-bottom: 1px solid var(--red);
  padding-bottom: 2px;
}

/* ---------- Como apoiar ---------- */
.apoiar {
  background: #FAF3E8;
  color: var(--dark);
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-10);
}
.page-intro + .apoiar {
  padding-top: var(--sp-12);
}
.apoiar-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange-red);
  margin-bottom: 0.8rem;
}
.apoiar h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  margin-bottom: 0.7rem;
}
.apoiar-sub {
  font-size: 1.1875rem;
  font-weight: 400;
  color: #3a3a3a;
  max-width: none;
}

.apoiar-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.8rem;
  margin-top: var(--sp-4);
}
.apoiar-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--white);
  border-radius: 12px;
  padding: 32px 24px;
  box-shadow: 0 6px 18px rgba(43,43,43,0.06);
}
@media (max-width: 819px) {
  .apoiar-grid { gap: 1.1rem; }
  .apoiar-card { padding: 22px 20px; }
  .apoiar-card p { margin-bottom: 1rem; }
}
.apoiar-card-head {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
}
.apoiar-card-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--red);
}
.apoiar-card-icon svg { width: 20px; height: 20px; }
.apoiar-card-icon--blue { background: #DCEEF9; }
.apoiar-card-icon--rose { background: #FBE2DD; }
.apoiar-card h3 {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--red);
}
.apoiar-card p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #3a3a3a;
  margin-bottom: 1.4rem;
}

.apoiar-amounts {
  display: flex;
  gap: 0.6rem;
  margin-bottom: 1.4rem;
}
.amount-pill {
  font-family: var(--font);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--red);
  background: #F5EDE1;
  border: 1.5px solid transparent;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  cursor: pointer;
}
.amount-pill.is-selected {
  background: var(--orange-red);
  border-color: var(--orange-red);
  color: var(--white);
}

.apoiar-card-btn {
  margin-top: auto;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.85rem 1.2rem;
  border-radius: 999px;
  border: 1.5px solid var(--red);
  color: var(--red);
}
.apoiar-card-btn:hover { background: rgba(141,37,30,0.06); }
.apoiar-card-btn--solid {
  background: var(--orange-red);
  border-color: var(--orange-red);
  color: var(--white);
}
.apoiar-card-btn--solid:hover { opacity: 0.88; background: var(--orange-red); }

/* ---------- Parceiros ---------- */
.parceiros {
  background: var(--teal);
  padding-top: 2rem;
  padding-bottom: 2.8rem;
}
.parceiros-header {
  text-align: center;
}
.parceiros-header h2 {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--white);
  opacity: 0.9;
}
.parceiros-slideshow {
  position: relative;
  margin-top: 1.4rem;
  max-width: 1560px;
  padding-inline: 3.5rem;
}
.parceiros-track {
  position: relative;
  min-height: 60px;
}
.parceiros-group {
  position: absolute;
  inset: 0;
  max-width: 1200px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem 3rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}
.parceiros-group.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.parceiro-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.4rem;
  height: 76px;
  transition: transform 0.2s ease;
}
.parceiro-logo:hover { transform: translateY(-3px); }
.parceiro-logo img {
  max-height: 56px;
  max-width: 150px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.parceiro-logo--placeholder {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.85);
}

.parceiros-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  border: 1px solid #ddd7cc;
  background: var(--white);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}
.parceiros-arrow:hover { background: var(--gray); }
.parceiros-arrow svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.parceiros-arrow--prev { left: 0.25rem; }
.parceiros-arrow--next { right: 0.25rem; }

@media (min-width: 640px) {
  .parceiros-arrow--prev { left: 1rem; }
  .parceiros-arrow--next { right: 1rem; }
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--cream);
  padding-top: 40px;
}
.footer-inner {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  padding-bottom: 36px;
  border-bottom: 1px solid #e5e0d8;
}
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; }
.logo-footer-img { height: 140px; width: auto; display: block; }
.footer-logo-mobile { display: none; }

@media (max-width: 639px) {
  /* on mobile the "Institucional" column runs much longer than "Acervo",
     leaving empty space below it — put the brand mark there instead of
     giving it a whole separate row above the nav columns. */
  .footer-brand { display: none; }
  .footer-logo-mobile {
    display: block;
    height: 90px;
    width: auto;
    margin-top: var(--sp-3);
  }
}
.footer-social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}
.footer-social-label {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange);
  font-weight: 700;
}
.footer-social-icons {
  display: flex;
  gap: 0.6rem;
}
.footer-social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--white);
  color: var(--red);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.footer-social-icons a:hover {
  background: var(--red);
  color: var(--white);
  transform: translateY(-2px);
}
.footer-social-icons svg { width: 18px; height: 18px; }
.footer-nav {
  display: flex;
  gap: var(--sp-4) 2.5rem;
  flex-wrap: wrap;
}
.footer-nav > div,
.footer-nav-group {
  flex: 0 1 auto;
  min-width: 110px;
}
.footer-nav h3,
.footer-nav-group-title {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange);
  font-weight: 700;
  margin-bottom: var(--sp-2);
}
.footer-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.footer-nav a { font-size: 1rem; color: #4b4b4b; }
.footer-nav a:hover { color: var(--red); }

@media (max-width: 639px) {
  /* All categories stay visible and stacked on mobile — fixed, no accordion. */
  .footer-nav { flex-direction: column; gap: var(--sp-4); }
  .footer-nav-group {
    min-width: 0;
  }
  .footer-nav-group .footer-logo-mobile { margin-bottom: 1rem; }
}
.footer-bottom {
  padding-top: var(--sp-3);
  padding-bottom: var(--sp-3);
  font-size: 0.85rem;
  color: #8a8a8a;
}

/* ---------- Responsive ---------- */
@media (min-width: 640px) {
  .quem-somos-inner { grid-template-columns: 1.1fr 1fr; }
  .video-intro-inner { grid-template-columns: 2fr 3fr; }
  .footer-inner { flex-direction: row; justify-content: space-between; }
  .footer-brand { flex-shrink: 0; max-width: 260px; }
  .footer-nav { flex-shrink: 1; justify-content: flex-end; }
  .logo-footer-img { height: 260px; }
}

@media (min-width: 820px) {
  .cards-grid { grid-template-columns: repeat(2, 1fr); }
  .atuacao-grid { grid-template-columns: repeat(2, 1fr); }
  .apoiar-grid { grid-template-columns: repeat(3, 1fr); }
  .noticias-layout { grid-template-columns: 1.5fr 1fr; }
  .noticias-header {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}

@media (max-width: 819px) {
  .main-nav {
    position: fixed;
    inset: 0;
    top: 0;
    background: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .main-nav.is-open { opacity: 1; pointer-events: auto; }
  .main-nav ul { flex-direction: column; align-items: center; gap: 2rem; }
  .main-nav a { color: var(--white); font-size: 1.1rem; }
  .main-nav .nav-dropdown-menu {
    position: static;
    margin-top: 0.8rem;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
  }
  .main-nav .nav-dropdown-menu a {
    color: rgba(255,255,255,0.8);
    font-size: 0.9rem;
  }
  .main-nav .nav-dropdown-menu a:hover { background: none; color: var(--white); }
  .menu-toggle { display: flex; z-index: 101; }
  .menu-toggle[aria-expanded="true"] span { background: var(--white) !important; }
  .hero-deco--blue { display: none; }
  .hero-deco--orange { height: 34vh; max-height: none; }
}

@media (min-width: 1024px) {
  .cards-grid { grid-template-columns: repeat(4, 1fr); }
  .atuacao-grid { grid-template-columns: repeat(4, 1fr); }
  .impacto-body { grid-template-columns: 1fr minmax(320px, 38%); gap: 3.2rem; }
  .header-social { display: flex; }
}

/* ---------- Página: Quem Somos ---------- */
.eyebrow-kicker {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orange-red);
  margin-bottom: var(--sp-2);
}
.eyebrow-kicker--center { text-align: center; }

.breadcrumb {
  font-size: 0.85rem;
  color: #8a8a8a;
  margin-bottom: var(--sp-4);
}
.breadcrumb a { color: #8a8a8a; }
.breadcrumb a:hover { color: var(--red); }
.breadcrumb span[aria-current] { color: var(--dark); font-weight: 600; }

.page-hero {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  display: flex;
  align-items: center;
  background: var(--white);
}
.page-hero-content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--sp-10);
}
.page-hero h1 {
  font-size: clamp(2.4rem, 4.4vw, 3.25rem);
  font-weight: 800;
  color: var(--dark);
  line-height: 1.1;
}
.page-hero-sub {
  margin-top: var(--sp-3);
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--dark);
  max-width: 40rem;
}
.page-hero-rule {
  display: block;
  width: 56px;
  height: 4px;
  margin-top: var(--sp-4);
  background: var(--orange-red);
  border-radius: 2px;
}
.page-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.page-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 55%;
  opacity: 0.95;
}
.page-hero-media img.page-hero-media-img--integrantes {
  object-position: 60% 46%;
}
.page-hero-media img.page-hero-media-img--linha-do-tempo {
  object-position: 50% 22%;
}
.page-hero-media img.page-hero-media-img--lei-escuta {
  object-position: 50% 20%;
}
.page-hero-media img.page-hero-media-img--contato-imprensa {
  object-position: 50% 52%;
}
.page-hero-media img.page-hero-media-img--nos-foruns {
  object-position: 70% 10%;
}
.page-hero-media img.page-hero-media-img--apoiar {
  object-position: 50% 30%;
}
.page-hero-media img.page-hero-media-img--nas-escolas {
  object-position: 50% 20%;
}
.page-hero-media img.page-hero-media-img--nas-empresas {
  object-position: 55% 22%;
}
.page-hero-media img.page-hero-media-img--palhacaria {
  object-position: 62% 22%;
}
.page-hero-media img.page-hero-media-img--atuacao {
  object-position: 50% 32%;
}
.page-hero-media img.page-hero-media-img--contato-projetos {
  object-position: 40% 20%;
}
.page-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.45) 45%, rgba(255,255,255,0.1) 100%);
}

/* Teste: banner sem véu, título abaixo do banner (Quem Somos) */
.page-hero--no-scrim .page-hero-media::after {
  display: none;
}
.page-hero--no-scrim .page-hero-media img {
  opacity: 1;
}
.page-hero--no-scrim {
  align-items: flex-start;
}
.page-hero--no-scrim .page-hero-content {
  padding-block: var(--sp-4);
}
.page-hero--no-scrim .breadcrumb {
  color: var(--white);
  text-shadow: 0 1px 4px rgba(0,0,0,0.45);
}
.page-hero--no-scrim .breadcrumb a { color: var(--white); }
.page-hero--no-scrim .breadcrumb span[aria-current] { color: var(--white); }
.page-hero-title-below .page-hero-rule {
  background: var(--blue-deep);
}
.page-hero-title-below {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-2);
}
.page-hero-title-below h1 {
  font-size: clamp(2.4rem, 4.4vw, 3.25rem);
  font-weight: 800;
  color: var(--dark);
  line-height: 1.1;
}

.page-intro {
  padding-top: var(--sp-8);
}
.page-intro-inner {
  display: flex;
  align-items: stretch;
  gap: var(--sp-4);
}
.page-intro-rule {
  flex-shrink: 0;
  align-self: stretch;
  width: 4px;
  border-radius: 2px;
  background: var(--orange-red);
}
.page-intro-text {
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--dark);
}
.page-intro-text strong {
  font-weight: 800;
  color: var(--orange-red);
}

.text-highlight {
  background: var(--blue) !important;
  color: var(--dark) !important;
  font-weight: 700;
  padding: 0.05em 0.3em;
  border-radius: 4px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.page-intro-text .text-highlight {
  background: transparent !important;
  color: var(--orange-red) !important;
  padding: 0;
  border-radius: 0;
}
.empresas-lead-mission .text-highlight {
	background: transparent !important;
	color: var(--orange-red) !important;
	padding: 0;
	border-radius: 0;
}

.body-link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--orange-red);
  text-underline-offset: 2px;
}
.body-link:hover { color: var(--orange-red); }

.text-highlight-link {
  text-decoration: none;
  cursor: pointer;
}
.text-highlight-link:hover .text-highlight {
  text-decoration: underline;
}

.proposito {
  padding-block: var(--sp-10);
  background: var(--white);
}
.proposito-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.proposito-text h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-bottom: var(--sp-3);
}
.proposito-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.proposito-text p + p { margin-top: var(--sp-3); }
.proposito-text strong { font-weight: 700; color: var(--dark); }

.ods-strip {
  margin-top: var(--sp-4);
}
.ods-strip-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-3);
  max-width: 280px;
}
.ods-strip-list img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 0;
}

.humanizacao,
.origem {
  padding-block: var(--sp-10);
}
.humanizacao { background: #FAF3E8; }
.origem { background: var(--white); }
.humanizacao-layout,
.origem-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}
.humanizacao-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-card);
}
.humanizacao-text h2,
.origem-text h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-bottom: var(--sp-3);
}
.humanizacao-text p,
.origem-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.humanizacao-text p + p,
.origem-text p + p { margin-top: var(--sp-3); }
.humanizacao-text strong,
.origem-text strong { font-weight: 700; color: var(--dark); }

.quote-card {
  margin: 0;
  position: relative;
  border-left: 4px solid var(--orange-red);
  padding-left: var(--sp-6);
}
.quote-card-mark {
  display: block;
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 1;
  color: var(--orange-red);
  margin-bottom: var(--sp-1);
}
.quote-card p {
  font-size: 1.3rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.5;
  color: var(--dark);
  margin-bottom: var(--sp-4);
}
.quote-card footer cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 1.1875rem;
  color: var(--red);
}
.quote-card footer span {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.1875rem;
  color: #8a8a8a;
}

@media (min-width: 1024px) {
  .proposito-layout { grid-template-columns: 1.6fr 1fr; }
  .humanizacao-layout { grid-template-columns: 1fr 1.15fr; }
  .origem-layout { grid-template-columns: 1.5fr 1fr; }
  .video-institucional-header h2 { white-space: nowrap; }
}

/* ---------- Expansão e Impacto Social Ampliado ---------- */
.expansao {
  padding-top: var(--sp-10);
  padding-bottom: var(--sp-6);
  background: var(--orange-red);
  color: var(--white);
}
.expansao-header {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-6);
}
.expansao-header .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.expansao-header h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
}
.expansao-sub {
  margin-top: var(--sp-2);
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--white);
}
.expansao-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
.expansao-card {
  flex: 1 1 240px;
  max-width: 300px;
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--white);
  border: none;
  border-radius: var(--radius-card);
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  padding: var(--sp-4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.expansao-card:hover,
.expansao-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0,0,0,0.22);
}
.expansao-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(225,65,39,0.1);
  color: var(--orange-red);
  margin-bottom: var(--sp-2);
}
.expansao-card-icon svg { width: 18px; height: 18px; }
.expansao-card {
min-width: 0;
}
.expansao-card h3,
.expansao-card p {
overflow-wrap: break-word;
word-break: break-word;
}
.expansao-card h3 {
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 0.4rem;
}
.expansao-card p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.55;
  color: #3a3a3a;
}
.expansao-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: var(--sp-6);
}
.expansao-divider span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--white);
}
.expansao-divider::before,
.expansao-divider::after {
  content: "";
  flex: 1;
  max-width: 240px;
  height: 0;
  border-top: 1.5px dotted rgba(255,255,255,0.45);
  margin-inline: var(--sp-3);
}

/* ---------- Vídeo Institucional ---------- */
.video-institucional {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-10);
  background: var(--white);
  overflow: hidden;
}
.video-institucional-header {
  max-width: 54rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-6);
}
.video-institucional-header h2 {
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
}
.video-institucional-media {
  position: relative;
  max-width: 900px;
}
.video-institucional-arc {
  position: absolute;
  inset: -40px;
  width: calc(100% + 80px);
  height: calc(100% + 80px);
  opacity: 0.6;
  pointer-events: none;
  z-index: 0;
}
.video-institucional-media .video-frame {
  position: relative;
  z-index: 1;
}
.video-frame-badge {
  position: absolute;
  left: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--red);
  color: #F5E6C8;
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 0.95rem;
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.video-frame-badge svg { width: 14px; height: 14px; fill: currentColor; flex-shrink: 0; }

/* ---------- CTA de doação (faixa resumida) ---------- */
.apoiar-cta-strip {
  background: var(--teal);
  padding-block: var(--sp-4);
}
.apoiar-cta-strip-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
}
@media (max-width: 639px) {
  .apoiar-cta-strip-inner { flex-wrap: wrap; }
}
.apoiar-cta-strip-text {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex: 1 1 auto;
  min-width: 0;
}
.apoiar-cta-strip-text > div {
  min-width: 0;
}
.apoiar-cta-strip-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  color: var(--white);
}
.apoiar-cta-strip-icon svg { width: 24px; height: 24px; }
.apoiar-cta-strip-text h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1.3;
}
.apoiar-cta-strip-text p {
  margin-top: 0.25rem;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--white);
}
.apoiar-cta-strip-inner .btn {
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .expansao-grid { grid-template-columns: repeat(4, 1fr); }
}

.expansao-slideshow {
position: relative;
padding-inline: 4.75rem;
}
.expansao-track {
display: flex;
gap: var(--sp-3);
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.expansao-track::-webkit-scrollbar { display: none; }
.expansao-card {
scroll-snap-align: start;
flex: 0 0 100%;
}
@media (min-width: 640px) {
.expansao-card { flex: 0 0 calc((100% - 1 * var(--sp-3)) / 2); }
}
@media (min-width: 1024px) {
.expansao-card { flex: 0 0 calc((100% - 3 * var(--sp-3)) / 4); }
}
.expansao-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 2.4rem;
height: 2.4rem;
border-radius: 50%;
border: 1px solid rgba(255,255,255,0.4);
background: var(--white);
color: var(--dark);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 2;
box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}
.expansao-arrow:hover { background: var(--gray); }
.expansao-arrow svg {
width: 18px;
height: 18px;
fill: none;
stroke: currentColor;
stroke-width: 2.4;
stroke-linecap: round;
stroke-linejoin: round;
}
.expansao-arrow--prev { left: 0.25rem; }
.expansao-arrow--next { right: 0.25rem; }
@media (min-width: 640px) {
.expansao-arrow--prev { left: 1.5rem; }
.expansao-arrow--next { right: 1.5rem; }
}

.foruns-aprovacao-text .btn {
margin-top: var(--sp-4);
display: inline-block;
}

/* ---------- Página: Integrantes ---------- */
.page-hero--plain {
  min-height: auto;
}
.page-hero--plain .page-hero-content {
  padding-block: var(--sp-8) var(--sp-6);
}
.page-hero--plain .page-hero-sub {
  max-width: 46rem;
}

.integrantes {
  padding-top: var(--sp-6);
}
.integrante-row-band {
  padding-block: var(--sp-8);
}
.integrante-row-band--gelo,
.integrante-row-band--white { background: var(--white); }
.integrante-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
  align-items: center;
}
.integrante-row-media {
  aspect-ratio: 4 / 5;
  width: 300px;
  max-width: 100%;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--dark);
}
.integrante-row--reverse .integrante-row-media { margin-left: auto; }
.integrante-row-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.integrante-row-content h3 {
  font-size: clamp(1.5rem, 2.4vw, 1.8rem);
  font-weight: 800;
  color: var(--red);
}
.integrante-row-quote {
  margin-top: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--orange-red);
}
.integrante-row-content .integrante-bio {
  margin-top: var(--sp-3);
}
.integrante-row-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.integrante-row-toggle svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}
.integrante-row-toggle:hover svg { transform: translateX(3px); }

@media (min-width: 768px) {
  .integrante-row {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8);
  }
  .integrante-row--reverse .integrante-row-media { order: 2; }
  .integrante-row--reverse .integrante-row-content { order: 1; }
}

.integrante-bio {
  position: relative;
  margin-top: var(--sp-2);
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #3a3a3a;
  max-height: 4.9rem;
  overflow: hidden;
}
.integrante-bio p + p { margin-top: 0.9em; }
.integrante-bio::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1.6rem;
  background: linear-gradient(rgba(255,255,255,0), var(--white));
}
.integrante-bio.is-expanded {
  max-height: none;
}
.integrante-bio.is-expanded::after {
  display: none;
}
.integrante-toggle {
  align-self: flex-start;
  margin-top: var(--sp-2);
  font-family: var(--font);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--orange-red);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.integrante-toggle:hover { text-decoration: underline; }

/* ---------- Ex-integrantes ---------- */
.ex-integrantes {
  padding-block: var(--sp-10);
  background: var(--orange-red);
  color: var(--white);
}
.ex-integrantes-header {
  margin-bottom: var(--sp-6);
}
.ex-integrantes-header .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.ex-integrantes-header h2 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
}
.ex-integrantes-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.ex-integrante-card {
  display: flex;
  flex-direction: column;
}
.ex-integrante-media {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--dark);
}
.ex-integrante-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ex-integrante-card h3 {
  margin-top: var(--sp-2);
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--white);
}
.integrante-bio.ex-integrante-bio {
  color: rgba(255,255,255,0.9);
}
.integrante-bio.ex-integrante-bio::after {
  background: linear-gradient(rgba(225,65,39,0), var(--orange-red));
}
.integrante-toggle.ex-integrante-toggle {
  color: var(--white);
}
@media (min-width: 768px) {
  .ex-integrantes-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Página: Linha do Tempo ---------- */
.timeline {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.timeline-slideshow {
  position: relative;
}
.timeline-track {
  position: relative;
}
.timeline-slide {
  display: none;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  width: 100%;
  max-width: 100%;
}
.timeline-slide.is-active {
  display: grid;
}
.timeline-slide-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
  min-width: 0;
}
.timeline-slide-media--double {
  grid-template-columns: repeat(2, 1fr);
}
.timeline-photo-placeholder {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card);
  border: 2px dashed #d8d1c0;
  background: #FAF7F0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--sp-3);
  font-size: 0.85rem;
  font-weight: 600;
  color: #a39c8a;
}
.timeline-slide-content {
  min-width: 0;
}
.timeline-slide-year {
  display: block;
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1;
  margin-bottom: var(--sp-3);
}
.timeline-slide-events {
  position: relative;
  padding-left: 1.4rem;
}
.timeline-slide-events::before {
  content: '';
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  left: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--orange-red), rgba(225, 65, 39, 0.12));
  border-radius: 1px;
}
.timeline-month {
  position: relative;
  margin-bottom: var(--sp-4);
}
.timeline-month h3 {
  position: relative;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--orange-red);
  margin-bottom: 0.5rem;
}
.timeline-month h3::before {
  content: '';
  position: absolute;
  left: -1.4rem;
  top: 0.15rem;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--orange-red);
  box-shadow: 0 0 0 3px var(--white);
}
.timeline-flat-list {
  margin: 0;
}
.timeline-item {
  position: relative;
  list-style: none;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.55;
  color: #5c5c5c;
  padding: 0.35rem 0;
}
.timeline-item::before {
  content: '';
  position: absolute;
  left: -1.4rem;
  top: 0.85rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d8d1c0;
}
.timeline-item--milestone {
  font-weight: 700;
  color: var(--dark);
}
.timeline-item--milestone::before {
  width: 10px;
  height: 10px;
  left: -1.45rem;
  top: 0.78rem;
  background: var(--orange-red);
  box-shadow: 0 0 0 3px rgba(225, 65, 39, 0.15);
}

.timeline-nav-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-6);
}
.timeline-arrow {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  border: 1px solid #ddd7cc;
  background: var(--white);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.timeline-arrow:hover { background: var(--gray); }
.timeline-arrow svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.timeline-pills {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
  gap: var(--sp-2);
  padding-bottom: var(--sp-1);
}
.timeline-pill {
  flex-shrink: 0;
  font-family: var(--font);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--dark);
  background: var(--gray);
  border: none;
  border-radius: 999px;
  padding: 0.5rem 1.1rem;
  cursor: pointer;
  transition: background 0.2s ease;
}
.timeline-pill:hover { background: var(--blue); }
.timeline-pill.is-active { background: var(--orange-red); color: var(--white); }


@media (min-width: 768px) {
  .timeline-slide { grid-template-columns: 0.9fr 1.1fr; align-items: start; }
}

/* ---------- Página: Lei da Escuta Protegida ---------- */
.lei-problema {
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.lei-problema-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.lei-problema-content h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.lei-problema-text {
  max-width: none;
  margin-inline: 0;
  text-align: left;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--dark);
}
@media (min-width: 1024px) {
  .lei-problema-layout { grid-template-columns: 1.15fr 1fr; }
}
.lei-comparativo {
  padding-block: var(--sp-10);
  background: var(--orange-red);
}
.lei-comparativo-header {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-8);
}
.lei-comparativo-header .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.lei-comparativo-header h2 {
  color: var(--white);
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
}
.lei-comparativo-sub {
  margin-top: var(--sp-3);
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.6;
  color: var(--white);
}
.escuta-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
}
.escuta-card {
  background: var(--white);
  border-radius: var(--radius-card);
  padding: var(--sp-6);
  border-top: 4px solid var(--blue-deep);
  box-shadow: 0 10px 24px rgba(43,43,43,0.06);
}
.escuta-card--depoimento {
  border-top-color: var(--blue-deep);
}
.escuta-card-kicker {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9a9a9a;
  margin-bottom: 0.6rem;
}
.escuta-card h3 {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: var(--sp-3);
}
.escuta-card p {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--dark);
}
.escuta-card p + p {
  margin-top: var(--sp-3);
}
.escuta-card strong {
  color: var(--dark);
  font-weight: 700;
}
.escuta-cards-note {
  max-width: 42rem;
  margin-inline: auto;
  margin-top: var(--sp-6);
  text-align: center;
  font-size: 0.9rem;
  font-style: italic;
  color: rgba(255,255,255,0.85);
}

.lei-atuacao {
  padding-block: var(--sp-10);
  background: var(--white);
}
.lei-atuacao-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}
.lei-atuacao-text h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.lei-atuacao-text p {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.7;
  color: var(--dark);
}

.lei-photo-placeholder {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card);
  border: 2px dashed #d8d1c0;
  background: #FAF7F0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--sp-3);
  font-size: 0.9rem;
  font-weight: 600;
  color: #a39c8a;
}
.lei-photo {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: #FAF3E8;
}
.lei-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lei-photo--contain img {
  object-fit: cover;
  object-position: top;
}

.lei-testemunho {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.lei-testemunho .lei-photo {
  background: var(--orange);
}
.lei-testemunho-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}

@media (min-width: 768px) {
  .escuta-cards { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
  .lei-atuacao-layout { grid-template-columns: 1.1fr 1fr; }
  .lei-testemunho-layout { grid-template-columns: 1fr 1.1fr; }
}

/* ---------- Páginas: Contato (Projetos / Imprensa) ---------- */
.contato-form-section {
  --contato-accent: var(--orange-red);
  padding-block: var(--sp-10);
  background: var(--white);
}
.contato-form-section--imprensa {
  --contato-accent: var(--blue-deep);
}
.contato-form-section--imprensa .eyebrow-kicker {
  color: var(--contato-accent);
}
.contato-form-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.contato-form-section--imprensa .contato-form-layout {
  align-items: center;
}
.contato-form-intro h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.contato-form-intro p:not(.eyebrow-kicker) {
  font-size: 1.1875rem;
  line-height: 1.7;
  color: #3a3a3a;
  max-width: 30rem;
}
.contato-form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark);
}
.form-field input,
.form-field select,
.form-field textarea {
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 400;
  color: var(--dark);
  padding: 0.75rem 1rem;
  border: 1px solid #ddd7cc;
  border-radius: var(--radius-btn);
  background: var(--white);
  transition: border-color 0.2s ease;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--contato-accent);
}
.form-field textarea {
  resize: vertical;
  min-height: 120px;
}
.contato-form-submit {
  align-self: flex-start;
  font-family: var(--font);
  background: var(--contato-accent);
  color: var(--white);
  border: none;
  border-radius: var(--radius-btn);
  padding: 0.9rem 2.2rem;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.contato-form-submit:hover { opacity: 0.88; }

@media (min-width: 640px) {
  .form-row { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
  .contato-form-layout { grid-template-columns: 0.9fr 1.1fr; gap: var(--sp-10); }
}

.contato-sidebar-block {
  margin-top: var(--sp-6);
}
.contato-sidebar-block h3 {
  font-size: 1.1875rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: var(--sp-3);
}
.contato-social-icons {
  display: flex;
  gap: var(--sp-2);
}
.contato-social-icons a {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--gray);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.contato-social-icons a:hover {
  background: var(--contato-accent);
  color: var(--white);
}
.contato-social-icons svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contato-agency-logo {
  max-width: 160px;
  height: auto;
  margin-bottom: var(--sp-4);
}
.contato-contact-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
}
.contato-contact-list li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.1875rem;
  color: #3a3a3a;
}
.contato-contact-list a {
  color: #3a3a3a;
}
.contato-contact-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-btn);
  border: 1px solid #ddd7cc;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--contato-accent);
}
.contato-contact-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---------- Página: Notícias ---------- */
.noticias-search {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-2);
  background: var(--white);
}
.noticias-search-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
}
.noticias-search-field {
  flex: 1 1 260px;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  border: 1px solid #ddd7cc;
  border-radius: var(--radius-btn);
  padding: 0.75rem 1rem;
  background: var(--white);
}
.noticias-search-field svg {
  width: 18px;
  height: 18px;
  color: #a39c8a;
  flex-shrink: 0;
}
.noticias-search-field input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--font);
  font-size: 1rem;
  color: var(--dark);
}
.noticias-search-select {
  flex: 0 1 220px;
  font-family: var(--font);
  font-size: 1rem;
  color: var(--dark);
  padding: 0.75rem 1rem;
  border: 1px solid #ddd7cc;
  border-radius: var(--radius-btn);
  background: var(--white);
}
.noticias-search-bar .btn {
  flex-shrink: 0;
}

.noticias-grid-section {
  padding-top: var(--sp-8);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.noticias-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
}
.noticia-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: var(--radius-card);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 24px rgba(43,43,43,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.noticia-card:hover,
.noticia-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(43,43,43,0.14);
}
.noticia-card-media {
  aspect-ratio: 4 / 3;
  background: var(--gray);
}
.noticia-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.noticia-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--sp-4);
}
.noticia-card-body .noticia-date {
  margin-bottom: 0.6rem;
}
.noticia-card-body h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--dark);
  line-height: 1.35;
  margin-bottom: 0.6rem;
}
.noticia-card-body p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #3a3a3a;
  margin-bottom: var(--sp-3);
}
.noticia-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: var(--sp-2);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--orange-red);
}
.noticia-card-link svg {
  width: 15px;
  height: 15px;
  transition: transform 0.2s ease;
}
.noticia-card:hover .noticia-card-link svg,
.noticia-card:focus-visible .noticia-card-link svg {
  transform: translateX(4px);
}

.noticias-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  margin-top: var(--sp-8);
}
.noticias-pagination-pages {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.noticias-page {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  border: none;
  background: var(--gray);
  color: var(--dark);
  font-family: var(--font);
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.noticias-page:hover { background: var(--blue); }
.noticias-page.is-active { background: var(--orange-red); color: var(--white); }
.noticias-page-ellipsis { color: #a39c8a; padding-inline: 0.2rem; }

.noticias-newsletter {
  background: #FAF3E8;
  padding-block: var(--sp-10);
}
.noticias-newsletter-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  align-items: center;
}
.noticias-newsletter-text h2 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 800;
  color: var(--red);
  margin-bottom: 0.6rem;
}
.noticias-newsletter-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #3a3a3a;
  max-width: 32rem;
}
.noticias-newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
}
.noticias-newsletter-form input {
  flex: 1 1 200px;
  min-width: 0;
  font-family: var(--font);
  font-size: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #ddd7cc;
  border-radius: var(--radius-btn);
  background: var(--white);
  color: var(--dark);
}
.noticias-newsletter-form input:focus {
  outline: none;
  border-color: var(--orange-red);
}
.noticias-newsletter-form .btn {
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .noticias-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .noticias-grid { grid-template-columns: repeat(3, 1fr); }
  .noticias-newsletter-inner { grid-template-columns: 1.2fr 1fr; }
}

/* ---------- Página: Galeria ---------- */
.galeria-filters {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-2);
  background: var(--white);
}
.galeria-filters-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.galeria-filter {
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark);
  background: var(--gray);
  border: none;
  border-radius: 999px;
  padding: 0.6rem 1.3rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.galeria-filter:hover { background: var(--blue); }
.galeria-filter.is-active { background: var(--orange-red); color: var(--white); }

.galeria-grid-section {
  padding-top: var(--sp-8);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.galeria-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-3);
}
.galeria-item {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-card);
  overflow: hidden;
  border: none;
  padding: 0;
  cursor: pointer;
  background: var(--gray);
}
.galeria-item.is-hidden { display: none; }
.galeria-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.galeria-item:hover img,
.galeria-item:focus-visible img {
  transform: scale(1.06);
}
.galeria-item-zoom {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(43,43,43,0.35);
  opacity: 0;
  transition: opacity 0.2s ease;
  color: var(--white);
}
.galeria-item:hover .galeria-item-zoom,
.galeria-item:focus-visible .galeria-item-zoom {
  opacity: 1;
}
.galeria-item-zoom svg { width: 26px; height: 26px; }

@media (min-width: 640px) {
  .galeria-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .galeria-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Lightbox */
.galeria-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(20,14,12,0.92);
  padding: var(--sp-4);
}
.galeria-lightbox.is-open { display: flex; }
.galeria-lightbox-figure {
  margin: 0;
  max-width: min(1100px, 90vw);
}
.galeria-lightbox-img {
  display: block;
  max-width: 100%;
  max-height: 78vh;
  margin-inline: auto;
  border-radius: var(--radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.galeria-lightbox-caption {
  margin-top: var(--sp-3);
  text-align: center;
  color: var(--white);
  font-size: 0.95rem;
}
.galeria-lightbox-close {
  position: absolute;
  top: var(--sp-3);
  right: var(--sp-3);
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.12);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.galeria-lightbox-close:hover { background: rgba(255,255,255,0.24); }
.galeria-lightbox-close svg { width: 20px; height: 20px; }
.galeria-lightbox-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.12);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.galeria-lightbox-arrow:hover { background: rgba(255,255,255,0.24); }
.galeria-lightbox-arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.galeria-lightbox-arrow--prev { left: var(--sp-3); }
.galeria-lightbox-arrow--next { right: var(--sp-3); }

@media (max-width: 639px) {
  .galeria-lightbox-arrow { width: 2.4rem; height: 2.4rem; }
  .galeria-lightbox-arrow--prev { left: 0.5rem; }
  .galeria-lightbox-arrow--next { right: 0.5rem; }
}

/* ---------- Página: Como Apoiar ---------- */
.apoiar-doar {
  padding-block: var(--sp-10);
  background: var(--white);
}
.apoiar-doar-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  align-items: center;
  background: var(--orange-red);
  border-radius: var(--radius-card);
  padding: var(--sp-8) var(--sp-6);
}
.apoiar-doar-panel .eyebrow-kicker {
  color: rgba(255,255,255,0.8);
}
.apoiar-doar-panel-text h2 {
  font-size: clamp(1.6rem, 2.8vw, 2rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.apoiar-doar-panel-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255,255,255,0.92);
  max-width: 26rem;
}
.apoiar-doar-tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-3);
}
.apoiar-doar-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  aspect-ratio: 1 / 1;
  background: rgba(255,255,255,0.1);
  border: 1.5px solid rgba(255,255,255,0.4);
  border-radius: var(--radius-card);
  color: var(--white);
  font-family: var(--font);
  font-weight: 700;
  font-size: 0.95rem;
  text-align: center;
  padding: var(--sp-3);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.apoiar-doar-tile svg { width: 32px; height: 32px; flex-shrink: 0; }
.apoiar-doar-tile:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--orange-red);
}

.apoiar-relatos {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.apoiar-relatos-header {
  max-width: 34rem;
  margin-bottom: var(--sp-1);
}
.apoiar-relatos-header h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--dark);
  margin-top: 0.4rem;
}
.apoiar-relatos-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.apoiar-relatos-text-col { min-width: 0; }
.apoiar-relatos-slide {
  display: none;
}
.apoiar-relatos-slide.is-active { display: block; }
.apoiar-relatos-slide .quote-card-mark {
  font-size: 2.4rem;
  margin-bottom: -0.2rem;
}
.apoiar-relatos-slide p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.apoiar-relatos-rule {
  display: block;
  width: 48px;
  height: 3px;
  margin: var(--sp-4) 0;
  background: var(--orange-red);
  border-radius: 2px;
}
.apoiar-relatos-slide footer cite {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 1.1875rem;
  color: var(--red);
}
.apoiar-relatos-slide footer span {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.1875rem;
  color: #8a8a8a;
}
.apoiar-relatos-dots {
  display: flex;
  gap: 0.5rem;
  margin-top: var(--sp-6);
}
.apoiar-relatos-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(225,65,39,0.25);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.apoiar-relatos-dot:hover { background: rgba(225,65,39,0.5); }
.apoiar-relatos-dot.is-active {
  background: var(--orange-red);
  transform: scale(1.25);
}
.apoiar-relatos-photos { position: relative; }
.apoiar-relatos-photo {
  display: none;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-card);
  overflow: hidden;
  background: var(--orange);
}
.apoiar-relatos-photo.is-active { display: block; }
.apoiar-relatos-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

@media (min-width: 640px) {
  .apoiar-doar-tiles { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 900px) {
  .apoiar-relatos-layout { grid-template-columns: 1.3fr 1fr; }
}
@media (min-width: 1024px) {
  .apoiar-doar-panel { grid-template-columns: 1fr 1.4fr; }
}

/* ---------- Página: Transparência ---------- */
.transparencia-lead {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.transparencia-lead p {
  max-width: none;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.transparencia-docs {
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.transparencia-doc-group {
  margin-bottom: var(--sp-8);
}
.transparencia-doc-group:last-child {
  margin-bottom: 0;
}
.transparencia-doc-group h2 {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--red);
  margin-bottom: var(--sp-3);
}
.transparencia-doc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.transparencia-doc {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  background: #FAF3E8;
  border-radius: var(--radius-card);
  padding: var(--sp-3) var(--sp-4);
}
.transparencia-doc-icon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: var(--radius-btn);
  background: var(--white);
  color: var(--orange-red);
  display: flex;
  align-items: center;
  justify-content: center;
}
.transparencia-doc-icon svg { width: 20px; height: 20px; }
.transparencia-doc-name {
  flex: 1;
  min-width: 0;
  font-size: 1rem;
  font-weight: 500;
  color: var(--dark);
}
.transparencia-doc-link {
  flex-shrink: 0;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  background: var(--orange-red);
  padding: 0.6rem 1.1rem;
  border-radius: var(--radius-btn);
  transition: opacity 0.2s ease;
}
.transparencia-doc-link:hover { opacity: 0.88; }

.transparencia-governanca {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.transparencia-governanca h2 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.transparencia-governanca p:not(.eyebrow-kicker) {
  max-width: 42rem;
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}

/* ---------- Página: Atuação ---------- */
.atuacao-area {
  padding-block: var(--sp-10);
  background: var(--white);
}
.atuacao-area--tint {
  background: #FAF3E8;
}
.atuacao-area-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}
.atuacao-area-text h2 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 800;
  color: var(--red);
  line-height: 1.25;
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.atuacao-area-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}

@media (min-width: 1024px) {
  .atuacao-area-layout { grid-template-columns: 1.1fr 1fr; }
  .atuacao-area-layout--reverse { grid-template-columns: 1fr 1.1fr; }
  .atuacao-area-layout--reverse .atuacao-area-text { order: 2; }
  .atuacao-area-layout--reverse .atuacao-area-media { order: 1; }
}

/* ---------- Página: Nos Fóruns ---------- */
.foruns-lead {
  padding-top: var(--sp-8);
  padding-bottom: var(--sp-8);
  background: var(--white);
}
.foruns-lead-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.foruns-lead-text {
  max-width: 46rem;
}
.foruns-lead-text p:not(.eyebrow-kicker) {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.foruns-lead-stats {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.foruns-lead-stat {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid #e5e0d8;
}
.foruns-lead-stat:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.foruns-lead-stat-num {
  flex-shrink: 0;
  min-width: 4.5rem;
  font-size: 2.1rem;
  font-weight: 800;
  color: var(--orange-red);
  line-height: 1;
}
.foruns-lead-stat-label {
  display: block;
  font-size: 1.1875rem;
  color: #3a3a3a;
  line-height: 1.4;
}
.foruns-lead-stat-source {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #8a8a8a;
  text-decoration: underline;
}
.foruns-lead-stat-source:hover { color: var(--orange-red); }

@media (min-width: 1024px) {
  .foruns-lead-layout { grid-template-columns: 1.3fr 1fr; }
  .foruns-lead-stats {
    padding-left: var(--sp-6);
    border-left: 4px solid var(--blue);
  }
}

.foruns-photostrip {
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.foruns-photostrip-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
.foruns-photostrip-item {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-card);
  overflow: hidden;
}
.foruns-photostrip-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.foruns-como {
  padding-block: var(--sp-10);
  background: var(--orange-red);
}
.foruns-como-header {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-8);
}
.foruns-como-header .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.foruns-como-header h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--white);
  margin-top: 0.4rem;
}
.foruns-como-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
}
.foruns-como-card {
  background: var(--white);
  border-radius: var(--radius-card);
  padding: var(--sp-6);
  box-shadow: 0 16px 36px rgba(0,0,0,0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.foruns-como-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(0,0,0,0.26);
}
.foruns-como-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #FBE2DD;
  color: var(--orange-red);
  margin-bottom: var(--sp-4);
}
.foruns-como-card-icon svg { width: 24px; height: 24px; }
.foruns-como-card-tag {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--orange-red);
  margin-bottom: 0.5rem;
}
.foruns-como-card h3 {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--dark);
  line-height: 1.3;
  margin-bottom: 0.7rem;
}
.foruns-como-card p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #3a3a3a;
}

@media (min-width: 768px) {
  .foruns-photostrip-grid { grid-template-columns: repeat(3, 1fr); }
  .foruns-como-cards { grid-template-columns: repeat(3, 1fr); }
}

.foruns-aprovacao {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.foruns-aprovacao-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  align-items: center;
}
.foruns-aprovacao-text h2 {
  font-size: clamp(1.6rem, 2.6vw, 2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.foruns-aprovacao-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.foruns-aprovacao-seal {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-radius: var(--radius-card);
  padding: var(--sp-6);
  box-shadow: 0 6px 18px rgba(43,43,43,0.06);
}
.foruns-aprovacao-seal img { max-width: 180px; height: auto; }

@media (min-width: 1024px) {
  .foruns-aprovacao-layout { grid-template-columns: 1fr 260px; }
}

.foruns-noticias {
  padding-block: var(--sp-10);
  background: var(--white);
}
.foruns-noticias-header {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-8);
}
.foruns-noticias-header h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
}
.foruns-noticias-footer {
  text-align: center;
  margin-top: var(--sp-8);
}

/* ---------- Página: Nas Escolas ---------- */
.escolas-stats {
  padding-block: var(--sp-10);
  background: var(--white);
}
.escolas-stats > .wrap:first-child { margin-bottom: var(--sp-6); }
.escolas-stats h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--dark);
  margin-top: 0.6rem;
}
.escolas-stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
  align-items: start;
  margin-bottom: var(--sp-6);
}
.escolas-stat-card {
  padding-left: var(--sp-4);
  border-left: 3px solid var(--blue);
}
.escolas-stat-num {
  display: block;
  font-family: Georgia, serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--orange-red);
  line-height: 1;
  margin-bottom: var(--sp-3);
}
.escolas-stat-desc {
  font-size: 1rem;
  line-height: 1.5;
  color: #4b4b4b;
  margin-bottom: var(--sp-2);
}
.escolas-stat-source {
  display: block;
  font-size: 0.78rem;
  color: #9a9a9a;
}
.escolas-stat-source a { color: inherit; text-decoration: underline; }
.escolas-stat-source a:hover { color: var(--orange-red); }
.escolas-stats-text {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
@media (min-width: 768px) {
  .escolas-stats-grid { grid-template-columns: repeat(3, 1fr); }
}

.escolas-oferecemos {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.escolas-oferecemos-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.escolas-oferecemos-text h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
  margin-bottom: var(--sp-4);
}
.escolas-oferecemos-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.escolas-oferecemos-text p + p {
  margin-top: var(--sp-3);
}
.escolas-oferecemos-media {
  aspect-ratio: 4 / 3;
}
@media (min-width: 1024px) {
  .escolas-oferecemos-layout { grid-template-columns: 1fr 1fr; }
  .empresas-oferecemos-layout { align-items: stretch; }
}

.escolas-publico {
  padding-block: var(--sp-10);
  background: var(--orange-red);
}
.escolas-publico .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.escolas-publico h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--white);
  margin-top: 0.4rem;
  margin-bottom: var(--sp-8);
}
.escolas-publico-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
}
.escolas-publico-card {
  background: var(--white);
  border-radius: var(--radius-card);
  padding: var(--sp-6);
  border: 1px solid #ECE4D6;
  box-shadow: 0 6px 18px rgba(43,43,43,0.05);
}
.escolas-publico-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #FBE2DD;
  color: var(--orange-red);
  margin-bottom: var(--sp-4);
}
.escolas-publico-icon svg { width: 22px; height: 22px; }
.escolas-publico-card h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 0.5rem;
}
.escolas-publico-card p {
  font-size: 1.1875rem;
  line-height: 1.5;
  color: #4b4b4b;
}
@media (min-width: 768px) {
  .escolas-publico-cards { grid-template-columns: repeat(3, 1fr); }
  .escolas-publico-cards--four { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .escolas-publico-cards--four { grid-template-columns: repeat(4, 1fr); }
}

.escolas-palestras {
  padding-block: var(--sp-10);
  background: var(--white);
}
.escolas-palestras h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
}
.escolas-palestras-sub {
  margin-top: var(--sp-3);
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.6;
  color: #3a3a3a;
}
.escolas-palestras-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
  margin-top: var(--sp-8);
}
.escolas-palestra-card {
  background: var(--white);
  border-radius: var(--radius-card);
  padding: var(--sp-6);
  border: 1px solid #ECE4D6;
  box-shadow: 0 10px 24px rgba(43,43,43,0.06);
}
.escolas-palestra-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--red);
  background: #FBE2DD;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  margin-bottom: var(--sp-3);
}
.escolas-palestra-card h3 {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: var(--sp-3);
}
.escolas-palestra-card p {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--dark);
}
.escolas-palestra-duration {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: var(--sp-4);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--red);
}
.escolas-palestra-duration svg { width: 15px; height: 15px; }
.escolas-palestras-note {
  max-width: 42rem;
  margin-inline: auto;
  margin-top: var(--sp-6);
  text-align: center;
  font-size: 0.9rem;
  font-style: italic;
  color: #8a8a8a;
}
@media (min-width: 768px) {
  .escolas-palestras-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .escolas-palestras-cards--three { grid-template-columns: repeat(3, 1fr); }
}

.escolas-material {
  padding-block: var(--sp-10);
  background: var(--orange);
}
.escolas-material .eyebrow-kicker {
  color: rgba(255,255,255,0.85);
}
.escolas-material-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
}
.escolas-material-text h2 {
  font-size: clamp(1.6rem, 2.8vw, 2rem);
  font-weight: 800;
  color: var(--white);
  margin-top: 0.4rem;
  margin-bottom: var(--sp-3);
}
.escolas-material-text p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: rgba(255,255,255,0.92);
}
.escolas-material-cover {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-4);
  max-width: 260px;
  margin-inline: auto;
}
.escolas-material-cover img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--radius-card);
  box-shadow: 0 16px 36px rgba(43,43,43,0.16);
}
.escolas-material-download {
  width: 100%;
  text-align: center;
}
@media (min-width: 1024px) {
  .escolas-material-layout { grid-template-columns: 1.4fr 1fr; }
  .escolas-material-cover { margin-inline: auto; margin-right: var(--sp-6); }
}

/* ---------- Página: Nas Empresas ---------- */
.escolas-oferecemos-media.empresas-oferecemos-tall {
  aspect-ratio: 4 / 5;
}
.escolas-oferecemos-media.empresas-oferecemos-tall img {
  object-position: 50% 35%;
}
@media (min-width: 1024px) {
  .escolas-oferecemos-media.empresas-oferecemos-tall {
    aspect-ratio: unset;
    height: 88%;
    align-self: start;
  }
}
.empresas-tags {
  margin-top: var(--sp-4);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.empresas-lead {
  padding-block: var(--sp-6);
}
.empresas-lead-inner {
	display: flex;
	align-items: stretch;
	gap: var(--sp-4);
}
.empresas-lead-mission {
  font-size: clamp(1.3rem, 2.2vw, 1.6rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--dark);
}

.empresas-por-que {
  padding-block: var(--sp-8) var(--sp-10);
  background: var(--white);
}
.empresas-por-que-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: start;
}
.empresas-por-que-inner h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: var(--sp-4);
}
.empresas-por-que-inner p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
}
.empresas-por-que-inner p + p {
  margin-top: var(--sp-3);
}
.empresas-por-que-media {
  aspect-ratio: 4 / 3;
}
@media (min-width: 1024px) {
  .empresas-por-que-layout { grid-template-columns: 1fr 1fr; }
}

.empresas-ods {
  padding-block: var(--sp-10);
  background: #FAF3E8;
}
.empresas-ods > .wrap {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
  margin-bottom: var(--sp-8);
}
.empresas-ods h2 {
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--red);
  margin-top: 0.4rem;
}
.empresas-ods-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-5);
}
.empresas-ods-item {
  text-align: center;
}
.empresas-ods-item img {
  width: 100%;
  max-width: 110px;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-btn);
  box-shadow: 0 10px 24px rgba(43,43,43,0.1);
  margin-inline: auto;
  margin-bottom: var(--sp-3);
}
.empresas-ods-item p {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.4;
  color: #4b4b4b;
}
.empresas-ods-item p span {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 0.2rem;
}
@media (min-width: 768px) {
  .empresas-ods-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- Página: Palhaçaria ---------- */
.palhacaria-texto {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.palhacaria-texto-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-6);
}
@media (min-width: 900px) {
  .palhacaria-texto-layout {
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;
    gap: var(--sp-8);
  }
}
.palhacaria-texto p {
  font-size: 1.1875rem;
  font-weight: 400;
  line-height: 1.7;
  color: #3a3a3a;
  margin-bottom: 1.4rem;
}
.palhacaria-texto p:last-child {
  margin-bottom: 0;
}
.palhacaria-closing {
  font-size: clamp(1.3rem, 2.2vw, 1.6rem) !important;
  font-weight: 700 !important;
  font-style: italic;
  color: var(--red) !important;
  line-height: 1.5 !important;
  margin-top: var(--sp-4) !important;
}
.palhacaria-texto-content p.vinho-cor {
  color: var(--red) !important;
}
.palhacaria-texto-content p.fonte-serifada {
  font-family: Georgia, 'Times New Roman', serif;
}
.palhacaria-video {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-card);
  background: linear-gradient(160deg, #3a3a3a 0%, #181818 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  overflow: hidden;
}
@media (min-width: 900px) {
  .palhacaria-video {
    aspect-ratio: unset;
    height: 100%;
    min-height: 320px;
  }
}
.palhacaria-video-play {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--orange-red);
}
.palhacaria-video-play svg {
  width: 26px;
  height: 26px;
  margin-left: 3px;
}
.palhacaria-video-label {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.palhacaria-foto {
  padding-bottom: var(--sp-12);
  background: var(--white);
}
.palhacaria-foto .lei-photo {
  max-width: 900px;
  margin-inline: auto;
}

/* ---------- Home (mobile): smaller type scale ---------- */
/* Placed at the end of the file on purpose: several of these selectors
   already have a same-specificity base rule declared earlier for the same
   property (e.g. font-size, color), and CSS breaks specificity ties by
   source order — a media-query override placed *before* that base rule
   loses to it even though the media condition matches. Appending here
   guarantees these mobile overrides actually win. Desktop is untouched:
   every rule below is scoped to max-width:819px. */

/* the accordion checkbox is a pure CSS state-holder, never meant to be
   seen at any width — unlike its sibling rules this one is NOT scoped to
   the mobile media query, or the native checkbox UI shows up next to
   every nav label on desktop too. */
.nav-mobile-toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 819px) {
  .hero h1 { font-size: 1.75rem; }
  .hero-sub { font-size: 1.0625rem; }

  .video-intro-text h2,
  .impacto-header h2,
  .apoiar h2,
  .noticias-header h2 {
    font-size: 1.5rem;
  }
  .video-intro-text p:not(.video-intro-kicker) { font-size: 1rem; }
  .apoiar-sub { font-size: 1rem; }

  .impacto-stat-num { font-size: 1.6rem; }
  .impacto-stat p { font-size: 1rem; }
  .impacto-report h3 { font-size: 1.0625rem; }
  .impacto-report p { font-size: 1rem; }

  .atuacao-header h2 { font-size: 1.5rem; }
  .atuacao-card h3 { font-size: 1.0625rem; }
  .atuacao-card p { font-size: 1rem; }
  .atuacao-card-body { padding: 18px; }
  .atuacao-card-media {
    /* the 10:3 desktop banner ratio leaves almost no photo in a narrower
       carousel card — a taller ratio gives the image real presence, with
       the extra room coming from the smaller text above. */
    aspect-ratio: 4 / 3;
  }

  .apoiar-card h3 { font-size: 1.0625rem; }
  .apoiar-card p { font-size: 1rem; }

  .noticia-featured h3 { font-size: 1.2rem; }
  .noticia-featured p { font-size: 1rem; }
  .noticia-list-item h4 { font-size: 1rem; }

  .impacto-seals { display: none; }

  /* ---- Round 2: header order, nav accordion, hero CTA, Home section order ---- */

  /* Header: ☰ · logo · Doar — hamburger reads first on a phone, matching
     thumb reach and the brief's requested left-to-right order. Desktop
     keeps logo/nav/social/doar/hamburger untouched (order is unset there). */
  .menu-toggle { order: -1; }

  /* Nav accordion: each top-level item's own link still navigates normally;
     a separate chevron toggles just that item's sublist via a hidden
     checkbox + :has(), no JS. Submenus start collapsed so opening the menu
     shows 5 lines, not all 21 links at once. */
  .nav-dropdown-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
  }
  .nav-mobile-toggle-label {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  .nav-mobile-toggle-label::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid rgba(255,255,255,0.75);
    border-bottom: 2px solid rgba(255,255,255,0.75);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
  }
  .nav-dropdown:has(.nav-mobile-toggle:checked) .nav-mobile-toggle-label::after {
    transform: rotate(-135deg);
  }
  .main-nav .nav-dropdown-menu {
    display: none;
  }
  .nav-dropdown:has(.nav-mobile-toggle:checked) .nav-dropdown-menu {
    display: flex;
  }

  /* Hero: one CTA only on mobile. "Doar" already lives in the header and
     in Como Apoiar (see brief §12) — a second, ghost donate button here
     was exactly the kind of stray donate CTA that section warns against,
     on top of just being one button too many for a first-glance hero. */
  .hero-cta .btn-on-hero { display: none; }

  /* Home narrative order: quem somos -> prova rápida de números -> como
     atuamos -> como apoiar -> novidades -> transparência (relatório/selos)
     -> parceiros. Moves the deep transparency block and partner logos —
     both credibility/trust content — to the end, right before Apoiar
     instead of blocking the path to it; nothing is removed, only reordered.
     Scoped to .home-main (index.html only) so no other page's <main> even
     becomes a flex container. */
  .home-main {
    display: flex;
    flex-direction: column;
  }
  .home-main .hero { order: 1; }
  .home-main .video-intro { order: 2; }
  .home-main .stats-band { order: 3; }
  .home-main .atuacao { order: 4; }
  .home-main .apoiar { order: 5; }
  .home-main .noticias { order: 6; }
  .home-main .impacto { order: 7; }
  .home-main .parceiros { order: 8; }
}

@media (max-width: 639px) {
  /* up to 4 logos per group now (desktop shows all 4 in a row) — on
     mobile let them wrap into rows of two instead of forcing them all
     into a single shrunken row. */
  .parceiros-slideshow { padding-inline: 2.5rem; }
  .parceiros-group { flex-wrap: wrap; justify-content: center; gap: 1rem 1.2rem; }
  .parceiro-logo { padding: 0.4rem 0.6rem; flex: 0 1 42%; }
  .parceiro-logo img { max-width: 42vw; max-height: 44px; }
}



/* ============================================
   Notícias — Post individual (reportagem)
   ============================================ */
.single-post-date {
  font-size: 0.95rem;
  color: var(--dark);
  opacity: 0.65;
  margin-top: var(--sp-1);
}

.single-post-featured {
  margin-top: var(--sp-6);
  margin-bottom: var(--sp-8);
}
.single-post-featured img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  display: block;
}
.single-post-featured figcaption {
  font-size: 0.85rem;
  color: var(--dark);
  opacity: 0.65;
  margin-top: var(--sp-2);
  font-style: italic;
}

.single-post-content {
  max-width: 42rem;
  margin-inline: auto;
  padding-bottom: var(--sp-10);
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--dark);
}
.single-post-content > p,
.single-post-content > ul,
.single-post-content > ol,
.single-post-content > blockquote,
.single-post-content > figure {
  margin-bottom: var(--sp-4);
}
.single-post-content h2 {
  font-size: clamp(1.3rem, 2vw, 1.6rem);
  font-weight: 700;
  color: var(--orange-red);
  margin-top: var(--sp-8);
  margin-bottom: var(--sp-3);
}
.single-post-content h3 {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  font-weight: 700;
  color: var(--dark);
  margin-top: var(--sp-6);
  margin-bottom: var(--sp-2);
}
.single-post-content ul,
.single-post-content ol {
  padding-left: var(--sp-4);
}
.single-post-content img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  margin-block: var(--sp-4);
  display: block;
}
.single-post-content figure {
  margin-block: var(--sp-6);
}
.single-post-content figcaption {
  font-size: 0.85rem;
  opacity: 0.65;
  margin-top: var(--sp-2);
  font-style: italic;
}
.single-post-content blockquote {
  border-left: 4px solid var(--orange-red);
  padding-left: var(--sp-4);
  font-style: italic;
  color: var(--dark);
  opacity: 0.85;
}
.single-post-content a {
  color: var(--orange-red);
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.single-post-back {
  padding-block: var(--sp-6) var(--sp-10);
}
.single-post-back-link {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-weight: 700;
  color: var(--orange-red);
}
.single-post-back-link svg {
  width: 18px;
  height: 18px;
}


/* ============================================
   Materiais de Apoio
   ============================================ */
.materiais-aviso-section {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-2);
  background: var(--white);
}
.materiais-aviso {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  background: #FAF3E8;
  border-radius: var(--radius-card);
  padding: var(--sp-4);
}
.materiais-aviso-icon {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  color: var(--orange);
  margin-top: 0.1rem;
}
.materiais-aviso-icon svg { width: 100%; height: 100%; }
.materiais-aviso p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--dark);
  opacity: 0.85;
}

.materiais-busca {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-4);
  background: var(--white);
}
.materiais-busca-bar {
  display: flex;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
}
.materiais-busca-field {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: var(--gray);
  border-radius: var(--radius-btn);
  padding: 0.7rem 1.1rem;
}
.materiais-busca-field svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--dark); opacity: 0.5; }
.materiais-busca-field input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-family: var(--font);
  font-size: 0.95rem;
  color: var(--dark);
  outline: none;
}
.materiais-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.materiais-filtro {
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--dark);
  background: var(--gray);
  border: none;
  border-radius: 999px;
  padding: 0.6rem 1.3rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.materiais-filtro:hover { background: var(--blue); }
.materiais-filtro.is-active { background: var(--dark); color: var(--white); }

.materiais-grid-section {
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-10);
  background: var(--white);
}
.materiais-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-4);
}
@media (min-width: 768px) {
  .materiais-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .materiais-grid { grid-template-columns: repeat(3, 1fr); }
}
.materiais-card {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: var(--radius-card);
  border: 1.5px solid var(--cor-categoria, var(--orange));
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(43,43,43,0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.materiais-card:hover,
.materiais-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(43,43,43,0.14);
}
.materiais-card.is-hidden { display: none; }
.materiais-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--sp-4);
}
.materiais-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
}
.materiais-card-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  color: var(--cor-categoria, var(--orange));
}
.materiais-card-icon svg { width: 100%; height: 100%; }
.materiais-card-etiqueta {
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--cor-categoria, var(--orange));
  background: var(--cor-categoria-fundo, rgba(220,135,40,0.12));
  border-radius: 999px;
  padding: 0.3rem 0.7rem;
  white-space: nowrap;
}
.materiais-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 0.5rem;
  line-height: 1.35;
}
.materiais-card-desc {
  font-size: 0.9rem;
  color: var(--dark);
  opacity: 0.75;
  line-height: 1.55;
  margin: 0 0 var(--sp-2);
}
.materiais-card-fonte {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--dark);
  opacity: 0.6;
  margin: 0 0 var(--sp-3);
}
.materiais-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  margin-top: auto;
  padding-top: var(--sp-3);
  border-top: 1px solid rgba(43,43,43,0.08);
}
.materiais-card-info {
  font-size: 0.8rem;
  color: var(--dark);
  opacity: 0.55;
}
.materiais-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  background: var(--orange-red);
  border-radius: var(--radius-btn);
  padding: 0.55rem 1rem;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.materiais-card-btn:hover { opacity: 0.88; }
.materiais-card-btn svg { width: 16px; height: 16px; flex-shrink: 0; }

.materiais-vazio {
  text-align: center;
  padding: var(--sp-8) 0;
  color: var(--dark);
  opacity: 0.6;
}
@media (max-width: 767px) {
  .materiais-busca-bar { flex-direction: column; align-items: stretch; }
}


/* ---------- PSJ Home - elementos decorativos (prototipo) ---------- */
.video-intro-text-deco {
display: inline-flex;
margin-top: 1.9rem;
width: 108px;
color: var(--red);
opacity: 0.62;
}
.video-intro-text-deco svg { display: block; width: 100%; height: auto; }

.video-intro-media { position: relative; }
.video-intro-deco-nose {
display: none;
position: absolute;
top: -217px;
right: -18px;
width: 130px;
z-index: 2;
pointer-events: none;
}
.video-intro-deco-nose svg { display: block; width: 100%; height: auto; }
@media (min-width: 820px) {
.video-intro-deco-nose { display: block; }
}

.atuacao { position: relative; }
.atuacao-deco {
display: none;
position: absolute;
width: 205px;
color: var(--orange-red);
opacity: 0.5;
z-index: 0;
pointer-events: none;
}
.atuacao-deco svg { display: block; width: 100%; height: auto; }
.atuacao-deco--left { left: 55px; bottom: 75px; }
.atuacao-deco--right { right: 16px; bottom: 6px; transform: scaleX(-1); }
@media (min-width: 1300px) {
.atuacao-deco { display: block; }
}

.apoiar { position: relative; }
.apoiar-deco {
display: none;
position: absolute;
left: 20px;
bottom: 20px;
width: 180px;
color: var(--orange-red);
opacity: 0.5;
z-index: 0;
pointer-events: none;
}
.apoiar-deco svg { display: block; width: 100%; height: auto; }
@media (min-width: 1300px) {
.apoiar-deco { display: block; }
}

.noticias-deco-mala {
display: none;
position: absolute;
left: 20px;
bottom: 36px;
width: 160px;
color: var(--red);
opacity: 0.6;
z-index: 0;
pointer-events: none;
}
.noticias-deco-mala svg { display: block; width: 100%; height: auto; }
@media (min-width: 1300px) {
.noticias-deco-mala { display: block; }
}


/* ---------- Box de relatos (Home > Como Apoiar) ---------- */
@media (min-width: 820px) {
  .apoiar-grid { grid-template-columns: 1fr 1fr 1.45fr; align-items: stretch; }
}
.apoiar-card.apoiar-relato {
  position: relative;
  overflow: hidden;
  background: linear-gradient(155deg, #9A2A22 0%, #8D251E 45%, #6A1B16 100%);
  color: #fff;
  box-shadow: 0 14px 34px rgba(141,37,30,0.28);
}
.apoiar-relato::after {
  content: "";
  position: absolute;
  right: -60px; bottom: -60px;
  width: 190px; height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(225,65,39,0.55) 0%, rgba(225,65,39,0) 70%);
  pointer-events: none;
}
.apoiar-relato-mark {
  position: absolute;
  top: -6px; right: 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 9rem;
  line-height: 1;
  color: rgba(255,255,255,0.10);
  pointer-events: none;
  user-select: none;
}
.apoiar-relato > * { position: relative; z-index: 1; }
.apoiar-card.apoiar-relato .apoiar-relato-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #FFC9BE;
  margin: 0 0 0.5rem;
}
.apoiar-card.apoiar-relato h3 {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  margin: 0 0 0.6rem;
}
.apoiar-card.apoiar-relato .apoiar-relato-text {
  color: rgba(255,255,255,0.88);
  font-size: 0.98rem;
  line-height: 1.55;
  margin-bottom: 1.1rem;
}
.apoiar-relato-form .wpcf7-form { margin: 0; }
.apoiar-relato-form .relato-field { margin-bottom: 0.65rem; }
.apoiar-relato-form .wpcf7-form-control-wrap { display: block; }
.apoiar-card.apoiar-relato .wpcf7-form input[type="text"],
.apoiar-card.apoiar-relato .wpcf7-form input[type="email"],
.apoiar-card.apoiar-relato .wpcf7-form select,
.apoiar-card.apoiar-relato .wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid transparent;
  border-radius: 10px;
  background: rgba(255,255,255,0.97);
  color: #2B2B2B;
  font-family: var(--font);
  font-size: 0.95rem;
  padding: 0.75rem 0.95rem;
  margin: 0;
  transition: border-color .2s, box-shadow .2s;
}
.apoiar-card.apoiar-relato .wpcf7-form textarea { min-height: 7.5rem; resize: vertical; line-height: 1.5; }
.apoiar-card.apoiar-relato .wpcf7-form ::placeholder { color: #8a7d7a; opacity: 1; }
.apoiar-card.apoiar-relato .wpcf7-form input:focus,
.apoiar-card.apoiar-relato .wpcf7-form select:focus,
.apoiar-card.apoiar-relato .wpcf7-form textarea:focus {
  outline: none;
  border-color: #E14127;
  box-shadow: 0 0 0 3px rgba(225,65,39,0.28);
}
.apoiar-relato .relato-check { margin: 0.2rem 0 0.4rem; }
.apoiar-relato .relato-check .wpcf7-list-item { margin: 0; }
.apoiar-relato .relato-check label {
  display: flex; gap: 0.55rem; align-items: flex-start;
  font-size: 0.84rem; line-height: 1.4; color: rgba(255,255,255,0.9); cursor: pointer;
}
.apoiar-relato .relato-check input[type="checkbox"] { margin-top: 0.15rem; accent-color: #E14127; width: 1rem; height: 1rem; flex: none; }
.apoiar-card.apoiar-relato p.relato-aviso {
  font-size: 0.78rem; color: rgba(255,255,255,0.7); margin: 0 0 0.9rem; line-height: 1.4;
}
.apoiar-card.apoiar-relato .wpcf7-form input[type="submit"],
.apoiar-card.apoiar-relato .wpcf7-form .wpcf7-submit {
  display: block; width: 100%;
  background: #E14127; color: #fff;
  border: none; border-radius: 10px;
  padding: 0.85rem 1.2rem;
  font-family: var(--font); font-size: 0.98rem; font-weight: 700;
  cursor: pointer; transition: background .2s, transform .15s;
}
.apoiar-card.apoiar-relato .wpcf7-form input[type="submit"]:hover { background: #F0563C; transform: translateY(-1px); }
.apoiar-card.apoiar-relato .wpcf7-spinner { display: block; margin: 0.6rem auto 0; background-color: rgba(255,255,255,0.4); }
.apoiar-card.apoiar-relato .wpcf7-not-valid-tip { color: #FFD3CC; font-size: 0.8rem; margin-top: 0.25rem; }
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output {
  margin: 0.9rem 0 0; padding: 0.7rem 0.9rem; border-radius: 10px;
  border: 1.5px solid rgba(255,255,255,0.55); color: #fff; font-size: 0.88rem;
}
.apoiar-card.apoiar-relato .wpcf7 form.sent .wpcf7-response-output { border-color: #9be3b0; background: rgba(155,227,176,0.14); }

/* Box de relatos — refinamentos de layout */
.apoiar-card.apoiar-relato { justify-content: flex-start; }
.apoiar-relato-form p, .apoiar-relato-form .relato-field p { margin: 0; }
.apoiar-relato-form br { display: none; }
.apoiar-relato-form .relato-field { margin-bottom: 0.55rem; }
.apoiar-relato-form .relato-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.apoiar-relato-form .relato-row .relato-field { margin-bottom: 0.55rem; min-width: 0; }
@media (max-width: 519px) { .apoiar-relato-form .relato-row { grid-template-columns: 1fr; gap: 0; } }
.apoiar-card.apoiar-relato .wpcf7-form textarea { min-height: 6.25rem; }
.apoiar-card.apoiar-relato .apoiar-relato-kicker { margin-top: 1.1rem; }

.apoiar-relato > .apoiar-relato-mark { position: absolute; z-index: 0; }

/* Box de relatos — versão compacta */
.apoiar-card.apoiar-relato { padding: 22px 22px 20px; }
.apoiar-relato-mark { font-size: 6rem; top: -4px; }
.apoiar-card.apoiar-relato .apoiar-relato-kicker { margin: 0 0 0.25rem; }
.apoiar-card.apoiar-relato h3 { font-size: 1.2rem; margin: 0 0 0.3rem; }
.apoiar-card.apoiar-relato .apoiar-relato-text { font-size: 0.9rem; margin-bottom: 0.7rem; }
.apoiar-relato-form .relato-field, .apoiar-relato-form .relato-row .relato-field { margin-bottom: 0.45rem; }
.apoiar-relato-form .relato-row { gap: 0.45rem; }
.apoiar-card.apoiar-relato .wpcf7-form input[type="text"],
.apoiar-card.apoiar-relato .wpcf7-form select,
.apoiar-card.apoiar-relato .wpcf7-form textarea { padding: 0.6rem 0.8rem; font-size: 0.88rem; }
.apoiar-card.apoiar-relato .wpcf7-form textarea { min-height: 4.4rem; height: 4.4rem; }
.apoiar-relato-form .relato-bottom { display: flex; align-items: center; gap: 0.8rem; margin-top: 0.15rem; }
.apoiar-relato-form .relato-bottom > p { display: contents; }
.apoiar-relato-form .relato-check { margin: 0; flex: 1 1 auto; }
.apoiar-relato .relato-check label { font-size: 0.78rem; line-height: 1.3; }
.apoiar-card.apoiar-relato .wpcf7-form input[type="submit"],
.apoiar-card.apoiar-relato .wpcf7-form .wpcf7-submit { display: inline-block; width: auto; flex: none; padding: 0.65rem 1.3rem; font-size: 0.92rem; }
.apoiar-card.apoiar-relato .wpcf7-spinner { display: none; }
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output { margin: 0.6rem 0 0; padding: 0.5rem 0.7rem; font-size: 0.8rem; }
.apoiar-card.apoiar-relato .wpcf7-not-valid-tip { font-size: 0.74rem; margin-top: 0.15rem; }
@media (max-width: 460px) { .apoiar-relato-form .relato-row { grid-template-columns: 1fr; gap: 0; } .apoiar-relato-form .relato-bottom { flex-wrap: wrap; } }

.amount-pill { transition: background .15s, color .15s, border-color .15s; }
.amount-pill:hover { border-color: var(--orange-red); }

/* "Doar agora" (card Doe): contorno por padrão; laranja só ao passar o mouse / focar / clicar */
.apoiar-card-btn.apoiar-card-btn--solid {
  background: transparent;
  color: var(--red);
  border: 1.5px solid var(--red);
}
.apoiar-card-btn.apoiar-card-btn--solid:hover,
.apoiar-card-btn.apoiar-card-btn--solid:focus-visible,
.apoiar-card-btn.apoiar-card-btn--solid:active {
  background: var(--orange-red);
  border-color: var(--orange-red);
  color: var(--white);
  opacity: 1;
}

/* Botões dos cards (Doar agora / Fale conosco): mesmo padrão — contorno e, ao interagir, laranja */
.apoiar-card-btn {
  background: transparent;
  color: var(--red);
  border: 1.5px solid var(--red);
  transition: background .15s, color .15s, border-color .15s;
}
.apoiar-card-btn:hover,
.apoiar-card-btn:focus-visible,
.apoiar-card-btn:active {
  background: var(--orange-red);
  border-color: var(--orange-red);
  color: var(--white);
  opacity: 1;
}

/* Relatos: avisos de privacidade */
.apoiar-relato .relato-aviso, .apoiar-relato .relato-politica { margin: 0.35rem 0 0; font-size: 0.78rem; line-height: 1.4; color: rgba(255,255,255,0.85); }
.apoiar-relato .relato-aviso strong { color: #fff; font-weight: 700; }
.apoiar-relato .relato-politica a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.apoiar-relato .relato-politica a:hover, .apoiar-relato .relato-politica a:focus-visible { color: #fff; opacity: 0.8; }

/* Relatos: mensagens de validacao/envio sobrepostas (nao alteram a altura do card) */
.apoiar-relato { position: relative; }
.apoiar-relato .wpcf7-form-control-wrap { position: relative; display: block; }
.apoiar-relato .wpcf7-not-valid-tip {
  position: absolute; right: 0.6rem; bottom: 0.45rem; margin: 0; padding: 0.1rem 0.5rem;
  font-size: 0.72rem; line-height: 1.3; color: #8D251E; background: rgba(255,255,255,0.95); border-radius: 6px; pointer-events: none;
}
.apoiar-relato .wpcf7-response-output {
  position: absolute; left: 1.25rem; right: 1.25rem; bottom: 0.9rem; z-index: 3; margin: 0;
  padding: 0.55rem 0.8rem; font-size: 0.8rem; line-height: 1.35; color: #8D251E; background: #fff;
  border: 0; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
/* Relatos: correcao — sem rolagem lateral do card e mensagens legiveis */
.apoiar-card.apoiar-relato { overflow: clip; }
.apoiar-card.apoiar-relato .wpcf7-not-valid-tip { color: #8D251E; font-size: 0.72rem; margin: 0; }
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output {
  position: absolute; left: 1.25rem; right: 1.25rem; bottom: 0.9rem; z-index: 3; margin: 0;
  padding: 0.55rem 0.8rem; font-size: 0.8rem; line-height: 1.35; color: #8D251E; background: #fff;
  border: 0; border-radius: 10px; box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.apoiar-card.apoiar-relato .wpcf7 form.sent .wpcf7-response-output { color: #1f6b3a; background: #fff; border: 0; }
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output { left: 1rem; right: 1rem; bottom: 0.7rem; padding: 0.35rem 0.7rem; font-size: 0.74rem; line-height: 1.3; }


/* Texto só para leitores de tela (rótulos de campos sem texto visível) */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Página 404 */
.psj-404 { padding: 6rem 0 7rem; text-align: center; }
.psj-404-code { display: block; font-size: clamp(5rem, 18vw, 9rem); font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: var(--orange-red); }
.psj-404 h1 { margin: 1rem 0 0.75rem; font-size: clamp(1.7rem, 4vw, 2.4rem); color: var(--red); }
.psj-404 p { max-width: 36rem; margin: 0 auto 2rem; font-size: 1.05rem; line-height: 1.6; }
.psj-404-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.psj-404-actions .btn { background: var(--red); color: var(--white); }
.psj-404-actions .btn:hover, .psj-404-actions .btn:focus-visible { background: #6f1c17; color: var(--white); }
.psj-404-actions .btn.btn-sec { background: transparent; color: var(--red); box-shadow: inset 0 0 0 2px var(--red); }
.psj-404-actions .btn.btn-sec:hover, .psj-404-actions .btn.btn-sec:focus-visible { background: var(--red); color: var(--white); }

/* ==== DOAÇÕES — janelas (Pix, Cartão, Transferência, Lei Rouanet) ==== */
.doar-dialog { border: 0; border-radius: var(--radius-card); padding: 0; width: calc(100% - 32px); max-width: 520px; max-height: 90vh; overflow: auto; background: #FFFFFF; color: var(--dark); box-shadow: 0 20px 60px rgba(0,0,0,0.35); }
.doar-dialog::backdrop { background: rgba(20,20,20,0.65); }
.doar-dialog-inner { position: relative; padding: var(--sp-6) var(--sp-4) var(--sp-4); }
.doar-dialog h3 { font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin: 0 0 var(--sp-2); padding-right: 40px; }
.doar-texto { font-size: 1rem; line-height: 1.6; margin-bottom: var(--sp-3); }
.doar-texto p + p { margin-top: 0.8em; }
.doar-fechar { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 2rem; line-height: 1; color: #2B2B2B; cursor: pointer; border-radius: 50%; }
.doar-fechar:hover { background: #F2F2F2; }
.doar-qr { display: flex; justify-content: center; margin-bottom: var(--sp-3); }
.doar-qr svg, .doar-qr img { width: 220px; height: 220px; padding: 8px; background: #FFFFFF; border: 1.5px solid #D9D9D9; border-radius: 12px; }
.doar-dados { display: grid; gap: var(--sp-1); margin-bottom: var(--sp-2); }
.doar-dado { display: grid; grid-template-columns: 1fr auto; column-gap: var(--sp-2); row-gap: 2px; align-items: center; background: #F2F2F2; border-radius: 10px; padding: 12px 14px; }
.doar-dado-rot { grid-column: 1 / -1; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #5A5A5A; }
.doar-dado-val { font-size: 1.05rem; font-weight: 700; word-break: break-word; }
.doar-dado > .doar-dado-val:last-child { grid-column: 1 / -1; }
.doar-codigo { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.78rem; font-weight: 500; word-break: break-all; max-height: 4.6em; overflow: auto; }
.doar-dado--codigo { grid-template-columns: 1fr; }
.doar-dado--codigo .doar-copiar { margin-top: 8px; justify-self: start; }
.doar-copiar { font-family: var(--font); font-size: 0.85rem; font-weight: 700; color: var(--blue-deep); background: #FFFFFF; border: 1.5px solid var(--blue-deep); border-radius: 8px; padding: 8px 14px; min-height: 40px; cursor: pointer; }
.doar-copiar:hover, .doar-copiar.is-copiado { background: var(--blue-deep); color: #FFFFFF; }
.doar-aviso { font-size: 0.92rem; line-height: 1.55; color: #4A4A4A; margin-top: var(--sp-2); }
.doar-aviso a { color: var(--blue-deep); font-weight: 700; text-decoration: underline; }
.doar-cta { display: inline-block; margin-top: var(--sp-1); }
body:has(dialog.doar-dialog[open]) { overflow: hidden; }
@media (max-width: 480px) { .doar-dialog-inner { padding: var(--sp-6) var(--sp-3) var(--sp-3); } .doar-qr svg, .doar-qr img { width: 200px; height: 200px; } }
.doar-fechar:focus-visible { outline: 3px solid var(--blue-deep); outline-offset: 2px; background: #FFFFFF; }
/* ==== FIM DO BLOCO DE DOAÇÕES ==== */


/* ==== PARCEIROS — faixa da home e página própria ==== */
.parceiro-logo { background: none; }
@media (min-width: 640px) { .parceiro-logo { width: 170px; flex: 0 0 170px; } }
.parc-secao { padding: var(--sp-8) 0; }
.parc-secao:nth-of-type(even) { background: var(--gray); }
.parc-head { margin-bottom: var(--sp-4); }
.parc-head h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 700; color: var(--red); line-height: 1.2; }
.parc-head h2::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--orange-red); margin-top: 12px; }
.parc-head p { margin-top: var(--sp-2); font-size: 1.05rem; line-height: 1.6; max-width: 62ch; }
.parc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--sp-3); }
@media (min-width: 560px) { .parc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .parc-grid { grid-template-columns: repeat(3, 1fr); } }
.parc-card { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: var(--sp-1); height: 100%; padding: var(--sp-3) var(--sp-2); text-align: center; text-decoration: none; color: var(--dark); background: none; border: 0; border-radius: var(--radius-card); transition: transform 0.2s ease; }
a.parc-card:hover { transform: translateY(-3px); }
.parc-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; margin-bottom: var(--sp-1); }
.parc-logo img { max-width: 100%; max-height: 120px; width: auto; height: auto; object-fit: contain; }
.parc-nome { font-size: 1.02rem; font-weight: 700; line-height: 1.3; }
.parc-detalhe { font-size: 0.9rem; color: #5A5A5A; }
.parc-card--texto { justify-content: center; min-height: 120px; border: 1.5px solid #D9D9D9; }
.parc-cta { padding: var(--sp-8) 0; background: var(--orange-red); color: #FFFFFF; text-align: center; }
.parc-cta-inner { display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); }
.parc-cta h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 700; color: #FFFFFF; }
.parc-cta p { max-width: 52ch; font-size: 1.05rem; line-height: 1.6; }
.parc-cta .btn { background: #FFFFFF; color: var(--red); }
/* ==== FIM PARCEIROS ==== */


/* ==== NOS FÓRUNS — carrossel de fotos (3 por vez) ==== */
.foruns-carousel { position: relative; }
.foruns-carousel-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; border-radius: var(--radius-card); }
.foruns-carousel-viewport::-webkit-scrollbar { display: none; }
.foruns-carousel-viewport:focus-visible { outline: 3px solid var(--blue-deep); outline-offset: 4px; }
.foruns-carousel-track { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--sp-3); }
.foruns-carousel .foruns-photostrip-item { flex: 0 0 85%; scroll-snap-align: start; }
@media (min-width: 560px) { .foruns-carousel .foruns-photostrip-item { flex-basis: calc((100% - var(--sp-3)) / 2); } }
@media (min-width: 900px) { .foruns-carousel .foruns-photostrip-item { flex-basis: calc((100% - 2 * var(--sp-3)) / 3); } }
.foruns-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #FFFFFF; color: var(--dark); box-shadow: 0 2px 10px rgba(0,0,0,0.25); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.foruns-arrow[hidden] { display: none; }
.foruns-arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.foruns-arrow:hover { background: var(--orange-red); color: #FFFFFF; }
.foruns-arrow--prev { left: 12px; }
.foruns-arrow--next { right: 12px; }
@media (min-width: 1300px) { .foruns-arrow--prev { left: -22px; } .foruns-arrow--next { right: -22px; } }
.foruns-photo-btn { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.foruns-photo-btn:focus-visible { outline: 3px solid var(--blue-deep); outline-offset: -3px; }
.foruns-photostrip-item img { transition: transform 0.35s ease; }
.foruns-photo-btn:hover img { transform: scale(1.03); }
.foruns-lightbox { border: 0; padding: 0; margin: 0; max-width: none; max-height: none; width: 100vw; height: 100vh; background: rgba(15,15,15,0.94); color: #FFFFFF; }
.foruns-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.foruns-lightbox::backdrop { background: rgba(15,15,15,0.94); }
.foruns-lb-figure { margin: 0; max-width: min(92vw, 1400px); display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); }
.foruns-lb-img { max-width: 100%; max-height: 80vh; width: auto; height: auto; border-radius: 8px; object-fit: contain; }
.foruns-lb-cap { font-size: 0.95rem; line-height: 1.4; text-align: center; max-width: 70ch; color: #EDEDED; }
.foruns-lb-close { position: absolute; top: 16px; right: 20px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.14); color: #FFFFFF; font-size: 2rem; line-height: 1; cursor: pointer; }
.foruns-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.14); color: #FFFFFF; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.foruns-lb-nav svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.foruns-lb-prev { left: 16px; } .foruns-lb-next { right: 16px; }
.foruns-lb-close:hover, .foruns-lb-nav:hover { background: var(--orange-red); }
.foruns-lb-close:focus-visible, .foruns-lb-nav:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 2px; }
/* ==== FIM CARROSSEL NOS FÓRUNS ==== */


/* ==== BOX DE RELATOS — identidade azul (aplicado em 01/11/2026) ====
   Para voltar ao vinho original, apague este bloco inteiro. */
.apoiar-card.apoiar-relato { background: var(--teal) !important; background-image: none !important; }
.apoiar-card.apoiar-relato::before, .apoiar-card.apoiar-relato::after { background: none !important; }
.apoiar-card.apoiar-relato .apoiar-relato-mark { color: rgba(255,255,255,0.6); }
.apoiar-card.apoiar-relato h3 { color: #FFFFFF; }
.apoiar-card.apoiar-relato .apoiar-relato-kicker,
.apoiar-card.apoiar-relato .apoiar-relato-text,
.apoiar-card.apoiar-relato .relato-aviso, .apoiar-card.apoiar-relato .relato-aviso *,
.apoiar-card.apoiar-relato p.relato-aviso { color: #1A1A1A !important; }
.apoiar-card.apoiar-relato .relato-aviso-x,
.apoiar-card.apoiar-relato .apoiar-relato-form label,
.apoiar-card.apoiar-relato .apoiar-relato-form .wpcf7-list-item-label,
.apoiar-card.apoiar-relato .relato-politica, .apoiar-card.apoiar-relato .relato-politica a { color: #1A1A1A; }
.apoiar-card.apoiar-relato .apoiar-relato-text { font-weight: 700; }
/* ==== FIM DO BLOCO DE RELATOS ==== */


/* ==== MACACO DOS PRATOS — espiando atrás do box de relatos (home) ==== */
.apoiar-grid { position: relative; }
.apoiar-macaco { display: none; }
@media (min-width: 1100px) {
  .apoiar-macaco { display: block; position: absolute; z-index: 1; width: 320px; height: auto; right: 32px; bottom: calc(100% - 36px); pointer-events: none; }
  .apoiar-card.apoiar-relato { position: relative; z-index: 2; }
}
/* ==== FIM DO MACACO ==== */

/* ==== HERO — foto da criança: sobe o enquadramento ==== */
.hero-slide img[src*="sem-ttulo-14960"] { object-position: 50% 76%; }

/* ==== INTEGRANTES — TESTE: fotos retas + elementos da identidade ==== */
.page-template-template-integrantes main img,
.page-template-template-integrantes main picture,
.page-template-template-integrantes main figure,
.page-template-template-integrantes main [class*="media"],
.page-template-template-integrantes main [class*="photo"],
.page-template-template-integrantes main [class*="foto"] { border-radius: 0 !important; }
.page-template-template-integrantes .integrante-row-media { position: relative; isolation: isolate; overflow: visible; }
.page-template-template-integrantes .integrante-row-media::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: translate(14px, 14px); background: var(--teal); }
.page-template-template-integrantes .integrante-row--reverse .integrante-row-media::before { transform: translate(-14px, 14px); }
.page-template-template-integrantes .integrante-row-media::after { content: ""; position: absolute; top: -16px; left: -16px; width: 44px; height: 44px; border-radius: 50%; background: var(--orange-red); box-shadow: inset -5px -6px 0 rgba(0,0,0,0.14); pointer-events: none; }
.page-template-template-integrantes .integrante-row--reverse .integrante-row-media::after { left: auto; right: -16px; }
@media (max-width: 640px) {
  .page-template-template-integrantes .integrante-row-media::before { transform: translate(8px, 8px); }
  .page-template-template-integrantes .integrante-row--reverse .integrante-row-media::before { transform: translate(-8px, 8px); }
  .page-template-template-integrantes .integrante-row-media::after { width: 34px; height: 34px; top: -12px; left: -8px; }
  .page-template-template-integrantes .integrante-row--reverse .integrante-row-media::after { left: auto; right: -8px; }
}
/* ==== FIM INTEGRANTES TESTE ==== */

/* ==== NOS FÓRUNS — boxes com foto (teste) ==== */
.foruns-como-cards .foruns-como-card.foruns-como-card--foto { position: relative; overflow: hidden; border-radius: 0 !important; background: var(--dark) !important; border: 0 !important; color: #FFF; min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; box-shadow: none; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto .foruns-como-card-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform 0.6s ease; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto:hover .foruns-como-card-bg { transform: scale(1.04); }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(20,14,12,0.94) 0%, rgba(20,14,12,0.78) 50%, rgba(20,14,12,0.22) 100%); pointer-events: none; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto > *:not(.foruns-como-card-bg) { position: relative; z-index: 2; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto .foruns-como-card-icon { background: rgba(255,255,255,0.18) !important; color: #FFF !important; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto .foruns-como-card-tag { color: var(--teal) !important; font-weight: 700; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto h3, .foruns-como-cards .foruns-como-card.foruns-como-card--foto p { color: #FFF !important; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto p.foruns-como-card-tag { color: var(--teal) !important; }
@media (max-width: 767px) { .foruns-como-cards .foruns-como-card.foruns-como-card--foto { min-height: 420px; } }
/* ==== FIM NOS FÓRUNS boxes ==== */

/* ==== NOS FÓRUNS — ajuste de espaço e texto ==== */
.foruns-como-cards { gap: 28px !important; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto { height: 480px; min-height: 0; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(20,14,12,0.55); opacity: 0; transition: opacity 0.35s ease; pointer-events: none; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto:hover::after, .foruns-como-cards .foruns-como-card.foruns-como-card--foto:focus-within::after { opacity: 1; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto p:not(.foruns-como-card-tag) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto:hover p:not(.foruns-como-card-tag), .foruns-como-cards .foruns-como-card.foruns-como-card--foto:focus-within p:not(.foruns-como-card-tag) { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
.foruns-como-cards .foruns-como-card.foruns-como-card--foto h3, .foruns-como-cards .foruns-como-card.foruns-como-card--foto p { text-shadow: 0 1px 6px rgba(0,0,0,0.45); }
@media (hover: none), (max-width: 767px) {
  .foruns-como-cards .foruns-como-card.foruns-como-card--foto { height: auto; min-height: 420px; }
  .foruns-como-cards .foruns-como-card.foruns-como-card--foto p:not(.foruns-como-card-tag) { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
  .foruns-como-cards .foruns-como-card.foruns-como-card--foto::after { opacity: 1; }
}
/* ==== FIM NOS FÓRUNS ajuste ==== */

/* ==== LEI DA ESCUTA — seção laranja (teste opção B) ==== */
.page-template-template-lei-escuta .lei-comparativo { position: relative; overflow: hidden;
  background-image:
    radial-gradient(circle at 6% 18%, rgba(255,255,255,0.14) 0 70px, transparent 71px),
    radial-gradient(circle at 96% 10%, rgba(255,255,255,0.14) 0 44px, transparent 45px),
    radial-gradient(circle at 95% 92%, rgba(255,255,255,0.14) 0 110px, transparent 111px),
    radial-gradient(circle at 4% 90%, rgba(109,193,214,0.95) 0 34px, transparent 35px),
    radial-gradient(circle at 88% 40%, rgba(109,193,214,0.95) 0 14px, transparent 15px); }
.page-template-template-lei-escuta .lei-comparativo .wrap { position: relative; z-index: 2; }
.page-template-template-lei-escuta .lei-comparativo .escuta-cards { gap: 56px !important; }
.page-template-template-lei-escuta .lei-comparativo .escuta-card { position: relative; overflow: visible; border-radius: 0 !important; border: 0 !important; box-shadow: 14px 14px 0 var(--teal) !important; }
.page-template-template-lei-escuta .lei-comparativo .escuta-card::before { content: none !important; }
.page-template-template-lei-escuta .lei-comparativo .escuta-card:nth-child(2) { box-shadow: 14px 14px 0 #FAF3E7 !important; }
.page-template-template-lei-escuta .lei-comparativo .escuta-card::after { content: ""; position: absolute; top: -18px; left: -18px; width: 40px; height: 40px; border-radius: 50%; background: var(--orange-red); border: 4px solid #FFF; box-sizing: border-box; }
.page-template-template-lei-escuta .lei-comparativo .escuta-card:nth-child(2)::after { background: var(--teal); }
@media (max-width: 767px) {
  .page-template-template-lei-escuta .lei-comparativo .escuta-cards { gap: 40px !important; }
  .page-template-template-lei-escuta .lei-comparativo .escuta-card { box-shadow: 8px 8px 0 var(--teal) !important; }
  .page-template-template-lei-escuta .lei-comparativo .escuta-card:nth-child(2) { box-shadow: 8px 8px 0 #FAF3E7 !important; }
}
/* ==== FIM LEI DA ESCUTA teste ==== */

/* ==== SEÇÕES LARANJA — opção B (variações) ==== */
/* --- Nas Escolas / Nas Empresas --- */
.escolas-publico { position: relative; overflow: hidden;
  background-image:
    radial-gradient(circle at 94% 14%, rgba(255,255,255,0.14) 0 80px, transparent 81px),
    radial-gradient(circle at 3% 82%, rgba(255,255,255,0.14) 0 120px, transparent 121px),
    radial-gradient(circle at 92% 90%, rgba(109,193,214,0.95) 0 30px, transparent 31px),
    radial-gradient(circle at 9% 12%, rgba(250,243,231,0.9) 0 12px, transparent 13px); }
.escolas-publico .wrap { position: relative; z-index: 2; }
.escolas-publico-cards { gap: 52px !important; }
.escolas-publico-card { --blk: var(--teal); position: relative; overflow: visible; border-radius: 0 !important; border: 0 !important; box-shadow: 12px 12px 0 var(--blk) !important; }
.escolas-publico-card:nth-child(3n+2) { --blk: #FAF3E7; }
.escolas-publico-card:nth-child(3n+3) { --blk: var(--red, #8B2A1F); }
.escolas-publico-card::after { content: ""; position: absolute; top: -16px; right: -16px; width: 36px; height: 36px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; background: var(--teal); }
.escolas-publico-card:nth-child(3n+2)::after { background: var(--orange-red); }
.escolas-publico-card:nth-child(3n+3)::after { background: #FAF3E7; border-color: var(--orange-red); }
/* --- Quem Somos: expansão --- */
.expansao { position: relative; overflow: hidden;
  background-image:
    radial-gradient(circle at 7% 22%, transparent 0 56px, rgba(255,255,255,0.22) 57px 64px, transparent 65px),
    radial-gradient(circle at 96% 78%, transparent 0 90px, rgba(255,255,255,0.18) 91px 100px, transparent 101px),
    radial-gradient(circle at 92% 12%, rgba(109,193,214,0.95) 0 22px, transparent 23px),
    radial-gradient(circle at 5% 88%, rgba(255,255,255,0.14) 0 46px, transparent 47px); }
.expansao .wrap, .expansao-header, .expansao-grid { position: relative; z-index: 2; }
.expansao-grid { gap: 36px !important; }
.expansao-card { --blk: var(--teal); position: relative; border-radius: 0 !important; box-shadow: 10px 10px 0 var(--blk) !important; }
.expansao-card:nth-child(even) { --blk: #FAF3E7; }
.expansao-card:nth-child(3n) { --blk: var(--red, #8B2A1F); }
.expansao-card:hover, .expansao-card:focus-visible { transform: translate(-3px, -3px); box-shadow: 14px 14px 0 var(--blk) !important; }
.expansao-card::after { content: ""; position: absolute; top: -14px; left: -14px; width: 30px; height: 30px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; background: var(--orange-red); }
.expansao-card:nth-child(even)::after { background: var(--teal); }
/* --- Integrantes: ex-integrantes --- */
.ex-integrantes { position: relative; overflow: hidden;
  background-image:
    radial-gradient(circle at 50% -6%, rgba(255,255,255,0.14) 0 150px, transparent 151px),
    radial-gradient(circle at 98% 96%, rgba(109,193,214,0.95) 0 44px, transparent 45px),
    radial-gradient(circle at 2% 40%, rgba(255,255,255,0.14) 0 60px, transparent 61px),
    radial-gradient(circle at 94% 30%, rgba(250,243,231,0.9) 0 12px, transparent 13px); }
.ex-integrantes .wrap { position: relative; z-index: 2; }
.ex-integrante-media { --blk: var(--teal); position: relative; overflow: visible; border-radius: 0 !important; box-shadow: 12px 12px 0 var(--blk); }
.ex-integrante-card:nth-child(even) .ex-integrante-media { --blk: #FAF3E7; }
.ex-integrante-media::after { content: ""; position: absolute; top: -16px; left: -16px; width: 36px; height: 36px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; background: var(--orange-red); pointer-events: none; }
.ex-integrante-card:nth-child(even) .ex-integrante-media::after { background: var(--teal); }
@media (max-width: 767px) {
  .escolas-publico-card, .expansao-card { box-shadow: 8px 8px 0 var(--blk) !important; }
  .ex-integrante-media { box-shadow: 8px 8px 0 var(--blk); }
  .escolas-publico-cards { gap: 40px !important; }
}
.expansao-track { gap: 40px !important; padding: 26px 22px 24px 22px !important; scroll-padding-inline: 22px; }
/* expansao compacta: cabem os 4 cartões sem rolar (sem autoplay) */
.expansao { padding-block: 56px 44px !important; }
.expansao-header { margin-bottom: var(--sp-4) !important; }
.expansao-sub { font-size: 1.0625rem !important; line-height: 1.55 !important; }
.expansao-card { flex: 1 1 0 !important; min-width: 0 !important; padding: 1.25rem !important; }
.expansao-card h3 { font-size: 1.05rem; }
.expansao-card p { font-size: 0.95rem; line-height: 1.5; }
.expansao-track { gap: 32px !important; }
@media (min-width: 1100px) { .expansao-slideshow { padding-inline: 0 !important; } }
/* ==== FIM SEÇÕES LARANJA ==== */

/* ==== IMAGENS — cantos retos e elementos da identidade (todo o site) ==== */
.video-frame, .video-frame img,
.noticia-featured-media, .noticia-featured-media img, .noticia-list-media, .noticia-list-media img,
.noticia-card, .noticia-card img,
.atuacao-card, .atuacao-card img, .atuacao-card-media,
.lei-photo, .lei-photo img, .lei-photo-placeholder, .timeline-photo-placeholder,
.quem-somos-media img, .humanizacao-media img,
.escolas-material-cover img, .palhacaria-video,
.single-post-featured img, .single-post-content img,
.apoiar-relatos-photo, .apoiar-relatos-photo img,
.galeria-item, .galeria-item img, .galeria-lightbox-img,
.foruns-photostrip-item, .foruns-photostrip-item img, .foruns-lb-img { border-radius: 0 !important; }

/* bloco colorido atrás + "nariz" de palhaço (fotos de conteúdo) */
.humanizacao-media, .lei-photo, .video-frame { position: relative; overflow: visible; }
.humanizacao-media { box-shadow: 14px 14px 0 var(--teal); }
.lei-photo { box-shadow: -14px 14px 0 var(--orange-red); }
.video-frame { box-shadow: 16px 16px 0 var(--teal) !important; }
.humanizacao-media::after, .lei-photo::after, .video-frame::after { content: ""; position: absolute; width: 40px; height: 40px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; pointer-events: none; z-index: 3; }
.humanizacao-media::after { top: -18px; left: -18px; background: var(--orange-red); }
.lei-photo::after { top: -18px; right: -18px; background: var(--teal); }
.video-frame::after { top: -18px; left: -18px; background: var(--orange-red); }
@media (max-width: 767px) {
  .humanizacao-media { box-shadow: 8px 8px 0 var(--teal); }
  .lei-photo { box-shadow: -8px 8px 0 var(--orange-red); }
  .video-frame { box-shadow: 8px 8px 0 var(--teal) !important; }
  .humanizacao-media::after, .lei-photo::after, .video-frame::after { width: 30px; height: 30px; }
  .humanizacao-media::after, .video-frame::after { top: -12px; left: -8px; }
  .lei-photo::after { top: -12px; right: -8px; }
}
/* ==== FIM IMAGENS ==== */

/* ==== TUDO RETO — sem bordas arredondadas (círculos 50% mantidos) ==== */
.btn{border-radius:0!important}
.main-nav .nav-dropdown-menu{border-radius:0!important}
.main-nav .nav-dropdown-menu a{border-radius:0!important}
.video-frame{border-radius:0!important}
.atuacao-card{border-radius:0!important}
.btn-dark{border-radius:0!important}
.impacto-report{border-radius:0!important}
.impacto-report-icon{border-radius:0!important}
.impacto-report-link{border-radius:0!important}
.noticia-featured-media{border-radius:0!important}
.noticia-list-media{border-radius:0!important}
.quem-somos-media img{border-radius:0!important}
.apoiar-card{border-radius:0!important}
.amount-pill{border-radius:0!important}
.apoiar-card-btn{border-radius:0!important}
.page-hero-rule{border-radius:0!important}
.page-intro-rule{border-radius:0!important}
.text-highlight{border-radius:0!important}
.humanizacao-media img{border-radius:0!important}
.expansao-card{border-radius:0!important}
.expansao-card-icon{border-radius:0!important}
.video-frame-badge{border-radius:0!important}
.integrante-row-media{border-radius:0!important}
.ex-integrante-media{border-radius:0!important}
.timeline-photo-placeholder{border-radius:0!important}
.timeline-slide-events::before{border-radius:0!important}
.timeline-pill{border-radius:0!important}
.escuta-card{border-radius:0!important}
.lei-photo-placeholder{border-radius:0!important}
.lei-photo{border-radius:0!important}
.form-field input, .form-field select, .form-field textarea{border-radius:0!important}
.contato-form-submit{border-radius:0!important}
.contato-contact-icon{border-radius:0!important}
.noticias-search-field{border-radius:0!important}
.noticias-search-select{border-radius:0!important}
.noticia-card{border-radius:0!important}
.noticias-newsletter-form input{border-radius:0!important}
.galeria-filter{border-radius:0!important}
.galeria-item{border-radius:0!important}
.galeria-lightbox-img{border-radius:0!important}
.apoiar-doar-panel{border-radius:0!important}
.apoiar-doar-tile{border-radius:0!important}
.apoiar-relatos-rule{border-radius:0!important}
.apoiar-relatos-photo{border-radius:0!important}
.transparencia-doc{border-radius:0!important}
.transparencia-doc-icon{border-radius:0!important}
.transparencia-doc-link{border-radius:0!important}
.foruns-photostrip-item{border-radius:0!important}
.foruns-como-card{border-radius:0!important}
.foruns-aprovacao-seal{border-radius:0!important}
.escolas-publico-card{border-radius:0!important}
.escolas-palestra-card{border-radius:0!important}
.escolas-palestra-tag{border-radius:0!important}
.escolas-material-cover img{border-radius:0!important}
.empresas-ods-item img{border-radius:0!important}
.palhacaria-video{border-radius:0!important}
.single-post-featured img{border-radius:0!important}
.single-post-content img{border-radius:0!important}
.materiais-aviso{border-radius:0!important}
.materiais-busca-field{border-radius:0!important}
.materiais-filtro{border-radius:0!important}
.materiais-card{border-radius:0!important}
.materiais-card-etiqueta{border-radius:0!important}
.materiais-card-btn{border-radius:0!important}
.apoiar-card.apoiar-relato .wpcf7-form input[type="text"], .apoiar-card.apoiar-relato .wpcf7-form input[type="email"], .apoiar-card.apoiar-relato .wpcf7-form select, .apoiar-card.apoiar-relato .wpcf7-form textarea{border-radius:0!important}
.apoiar-card.apoiar-relato .wpcf7-form input[type="submit"], .apoiar-card.apoiar-relato .wpcf7-form .wpcf7-submit{border-radius:0!important}
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output{border-radius:0!important}
.apoiar-relato .wpcf7-not-valid-tip{border-radius:0!important}
.apoiar-relato .wpcf7-response-output{border-radius:0!important}
.apoiar-card.apoiar-relato .wpcf7 form .wpcf7-response-output{border-radius:0!important}
.doar-dialog{border-radius:0!important}
.doar-qr svg, .doar-qr img{border-radius:0!important}
.doar-dado{border-radius:0!important}
.doar-copiar{border-radius:0!important}
.parc-head h2::after{border-radius:0!important}
.parc-card{border-radius:0!important}
.foruns-carousel-viewport{border-radius:0!important}
.foruns-lb-img{border-radius:0!important}
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"], .wpcf7-form textarea, .wpcf7-form select{border-radius:0!important}
.wpcf7-form input[type="submit"]{border-radius:0!important}
.wpcf7-response-output{border-radius:0!important}
.psj-cc-box{border-radius:0!important}
.psj-cc-btn{border-radius:0!important}
.psj-cc-panel{border-radius:0!important}
.psj-cc-float{border-radius:0!important}
/* ==== FIM TUDO RETO ==== */

/* ==== HOME — Frentes de Atuação com foto (como Nos Fóruns) ==== */
.wpcf7-response-output { border-radius: 0 !important; }
.atuacao-grid .atuacao-card { position: relative; display: flex !important; flex-direction: column; justify-content: flex-end; height: 520px; overflow: hidden; background: var(--dark) !important; border: 0 !important; border-bottom: 4px solid var(--orange-red) !important; box-shadow: none !important; color: #FFF; }
.atuacao-grid .atuacao-card .atuacao-card-media { position: absolute !important; inset: 0; width: 100%; height: 100% !important; aspect-ratio: auto !important; margin: 0; z-index: 0; }
.atuacao-grid .atuacao-card .atuacao-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.atuacao-grid .atuacao-card:hover .atuacao-card-media img, .atuacao-grid .atuacao-card:focus-visible .atuacao-card-media img { transform: scale(1.05); }
.atuacao-grid .atuacao-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(20,14,12,0.95) 0%, rgba(20,14,12,0.75) 48%, rgba(20,14,12,0.1) 100%); pointer-events: none; }
.atuacao-grid .atuacao-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(20,14,12,0.55); opacity: 0; transition: opacity 0.35s ease; pointer-events: none; }
.atuacao-grid .atuacao-card:hover::after, .atuacao-grid .atuacao-card:focus-visible::after { opacity: 1; }
.atuacao-grid .atuacao-card .atuacao-card-body { position: relative; z-index: 2; background: none !important; padding: 1.5rem 1.4rem 1.3rem !important; }
.atuacao-grid .atuacao-card .atuacao-card-body h3 { color: #FFF !important; font-size: 1.35rem; text-shadow: 0 1px 6px rgba(0,0,0,0.45); }
.atuacao-grid .atuacao-card .atuacao-card-body h3::before { content: ""; display: block; width: 36px; height: 4px; background: var(--teal); margin-bottom: 12px; }
.atuacao-grid .atuacao-card .atuacao-card-body p { color: #FFF !important; font-size: 0.95rem; line-height: 1.5; text-shadow: 0 1px 6px rgba(0,0,0,0.45); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.atuacao-grid .atuacao-card:hover .atuacao-card-body p, .atuacao-grid .atuacao-card:focus-visible .atuacao-card-body p { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
.atuacao-grid .atuacao-card .atuacao-card-link { color: var(--teal) !important; font-weight: 700; margin-top: 0.9rem; }
@media (hover: none), (max-width: 767px) {
  .atuacao-grid .atuacao-card { height: auto; min-height: 440px; }
  .atuacao-grid .atuacao-card .atuacao-card-body p { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; }
  .atuacao-grid .atuacao-card::after { opacity: 1; }
}
.atuacao-grid .atuacao-card .atuacao-card-body { flex: 0 0 auto !important; margin-top: auto !important; width: 100%; }
.atuacao-grid .atuacao-card .atuacao-card-link { display: inline-flex; align-items: center; gap: 0.4rem; }
/* ==== FIM HOME Frentes de Atuação ==== */

/* ==== FORMULÁRIOS — destaque delicado (Imprensa e Projetos) ==== */
.contato-form-section--imprensa, .contato-form-section--projetos { background: #FAF3E7; }
.contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin { box-sizing: border-box; background: #FFF; padding: 2.25rem 2rem 2rem; border-top: 5px solid var(--teal); box-shadow: 0 14px 30px rgba(43,43,43,0.08); }
.contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 label { font-weight: 700; font-size: 0.9rem; color: var(--dark); }
.contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 input[type="text"], .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 input[type="email"], .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 input[type="tel"], .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 input[type="url"], .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 select, .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 textarea { box-sizing: border-box; width: 100%; background: #FBF7F0; border: 1.5px solid #D8CDBB; padding: 0.75rem 0.9rem; margin-top: 0.35rem; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 input:focus, .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 select:focus, .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin .wpcf7 textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(109,193,214,0.35); background: #FFF; }
@media (max-width: 767px) { .contato-form-section--imprensa .contato-form--plugin, .contato-form-section--projetos .contato-form--plugin { padding: 1.5rem 1.2rem; } }
body .contato-form-section--imprensa .contato-form--plugin, body .contato-form-section--projetos .contato-form--plugin { border: 0 !important; border-top: 5px solid var(--teal) !important; background: #FFF !important; padding: 2.25rem 2rem 2rem !important; box-shadow: 0 14px 30px rgba(43,43,43,0.08) !important; }
body .contato-form-section--imprensa .contato-form--plugin input[type="text"],
body .contato-form-section--imprensa .contato-form--plugin input[type="email"],
body .contato-form-section--imprensa .contato-form--plugin input[type="tel"],
body .contato-form-section--imprensa .contato-form--plugin input[type="url"],
body .contato-form-section--imprensa .contato-form--plugin select,
body .contato-form-section--imprensa .contato-form--plugin textarea,
body .contato-form-section--projetos .contato-form--plugin input[type="text"],
body .contato-form-section--projetos .contato-form--plugin input[type="email"],
body .contato-form-section--projetos .contato-form--plugin input[type="tel"],
body .contato-form-section--projetos .contato-form--plugin input[type="url"],
body .contato-form-section--projetos .contato-form--plugin select,
body .contato-form-section--projetos .contato-form--plugin textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; background: #FBF7F0 !important; border: 1.5px solid #D8CDBB !important; padding: 0.75rem 0.9rem !important; }
/* Formulários — sem fundo creme na seção */
body .contato-form-section--imprensa,body .contato-form-section--projetos{background:#FFF!important;background-color:#FFF!important}
/* HOME — Frentes de Atuação: sombra mais leve */
body .atuacao-grid .atuacao-card::before{background:linear-gradient(0deg,rgba(20,14,12,.84) 0%,rgba(20,14,12,.6) 38%,rgba(20,14,12,.16) 62%,rgba(20,14,12,0) 100%)!important}
/* NOS FÓRUNS — seção laranja "Como se dá a atuação" (opção B) */
.foruns-como{position:relative;overflow:hidden;background-image:radial-gradient(circle at 94% 12%,rgba(255,255,255,.14) 0 80px,transparent 81px),radial-gradient(circle at 3% 88%,rgba(255,255,255,.14) 0 120px,transparent 121px),radial-gradient(circle at 93% 92%,rgba(109,193,214,.95) 0 30px,transparent 31px),radial-gradient(circle at 8% 10%,rgba(250,243,231,.9) 0 12px,transparent 13px)!important}
.foruns-como .wrap{position:relative;z-index:2}
.foruns-como .foruns-como-cards{gap:52px!important;padding-bottom:16px}
.foruns-como .foruns-como-card--foto{--blk:var(--teal);box-shadow:14px 14px 0 var(--blk)!important}
.foruns-como .foruns-como-card--foto:nth-child(3n+2){--blk:#FAF3E7}
.foruns-como .foruns-como-card--foto:nth-child(3n+3){--blk:var(--red,#8B2A1F)}
@media (max-width:767px){.foruns-como .foruns-como-cards{gap:36px!important}.foruns-como .foruns-como-card--foto{box-shadow:8px 8px 0 var(--blk)!important}}
/* NOS FÓRUNS — fotos em mosaico (substitui o carrossel) */
.foruns-photostrip .foruns-arrow{display:none!important}
.foruns-photostrip .foruns-carousel{padding-top:8px}
.foruns-photostrip .foruns-carousel-viewport{overflow:visible!important;scroll-snap-type:none!important}
.foruns-photostrip .foruns-carousel-track{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr)!important;grid-template-rows:170px 170px 170px;gap:20px!important;transform:none!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
.foruns-photostrip .foruns-photostrip-item{position:relative;flex:none!important;width:100%!important;aspect-ratio:auto!important;max-width:none!important;height:100%!important;min-width:0;margin:0!important;list-style:none}
.foruns-photostrip .foruns-photostrip-item:nth-child(1){grid-column:1;grid-row:1/4;box-shadow:14px 14px 0 var(--teal)}
.foruns-photostrip .foruns-photostrip-item:nth-child(3){grid-column:2;grid-row:1/4;box-shadow:14px 14px 0 var(--orange-red)}
.foruns-photostrip .foruns-photostrip-item:nth-child(2){grid-column:3;grid-row:1}
.foruns-photostrip .foruns-photostrip-item:nth-child(4){grid-column:3;grid-row:2}
.foruns-photostrip .foruns-photostrip-item:nth-child(5){grid-column:3;grid-row:3}
.foruns-photostrip .foruns-photostrip-item:nth-child(1)::after{content:"";position:absolute;top:-16px;left:-16px;width:40px;height:40px;border-radius:50%;background:var(--orange-red);border:3px solid #fff;z-index:3;pointer-events:none}
.foruns-photostrip .foruns-photostrip-item:nth-child(3)::after{content:"";position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:50%;background:var(--teal);border:3px solid #fff;z-index:3;pointer-events:none}
.foruns-photostrip .foruns-photo-btn{display:block;width:100%!important;height:100%!important;padding:0;overflow:hidden}
.foruns-photostrip .foruns-photo-btn img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 30%}
@media (max-width:767px){.foruns-photostrip .foruns-carousel-track{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-auto-rows:150px;gap:14px!important}.foruns-photostrip .foruns-photostrip-item:nth-child(n){grid-column:auto;grid-row:auto;box-shadow:none}.foruns-photostrip .foruns-photostrip-item:nth-child(1){grid-column:1/3;height:220px!important;box-shadow:8px 8px 0 var(--teal)}.foruns-photostrip .foruns-photostrip-item:nth-child(3){grid-row:span 2;box-shadow:8px 8px 0 var(--orange-red)}.foruns-photostrip .foruns-photostrip-item:nth-child(1)::after,.foruns-photostrip .foruns-photostrip-item:nth-child(3)::after{width:28px;height:28px;top:-12px}}
/* Rótulos acima dos títulos: um pouco maiores */
body :not(.lei-atuacao-text) > .eyebrow-kicker{font-size:14px!important;letter-spacing:.17em!important}
/* Quem Somos — texto da seção Expansão: destaque leve */
body .expansao .expansao-sub{font-weight:600!important;color:#FFF!important;font-size:1.125rem!important}
/* Negrito em caixas de texto = grifado em azul (igual ao .text-highlight). Exceções: texto de abertura da página, avisos e citações */
body main p:not(.page-intro-text):not(.empresas-lead-mission):not(.relato-aviso):not(.vinho-cor) :is(strong,b):not(.text-highlight){font-weight:700;padding:.05em .3em;border-radius:0;background:var(--blue)!important;color:var(--dark)!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* LEI DA ESCUTA — colagem de fotos em "Nossa Atuação" */
.lei-atuacao .lei-atuacao-layout{row-gap:56px}
.lei-atuacao .lei-colagem{grid-column:1/-1;display:grid;grid-template-columns:3fr 5fr 4fr;gap:36px;align-items:end;margin-top:8px}
.lei-atuacao .lei-colagem-item{position:relative;margin:0}
.lei-atuacao .lei-colagem-item img{display:block;width:100%;object-fit:cover;border-radius:0!important}
.lei-atuacao .lei-colagem-item--1{box-shadow:12px 12px 0 var(--teal)}
.lei-atuacao .lei-colagem-item--1 img{height:210px}
.lei-atuacao .lei-colagem-item--2{box-shadow:12px 12px 0 var(--orange-red)}
.lei-atuacao .lei-colagem-item--2 img{height:270px;object-position:50% 30%}
.lei-atuacao .lei-colagem-item--3{box-shadow:12px 12px 0 var(--red,#8B2A1F)}
.lei-atuacao .lei-colagem-item--3 img{height:230px;object-position:50% 30%}
.lei-atuacao .lei-colagem-item--2::after,.lei-atuacao .lei-colagem-item--3::after{content:"";position:absolute;width:34px;height:34px;border-radius:50%;border:3px solid #fff;z-index:3;pointer-events:none}
.lei-atuacao .lei-colagem-item--2::after{top:-15px;right:-15px;background:var(--teal)}
.lei-atuacao .lei-colagem-item--3::after{top:-15px;left:-15px;background:var(--orange-red)}
@media (max-width:767px){.lei-atuacao .lei-atuacao-layout{row-gap:36px}.lei-atuacao .lei-colagem{grid-template-columns:1fr;gap:28px}.lei-atuacao .lei-colagem-item img{height:200px!important}.lei-atuacao .lei-colagem-item--1,.lei-atuacao .lei-colagem-item--2,.lei-atuacao .lei-colagem-item--3{box-shadow:8px 8px 0 var(--teal)}}
/* Ampliar imagem ao clicar */
main img.psj-zoomable{cursor:zoom-in}
.psj-zoom[hidden]{display:none!important}
.psj-zoom{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(20,14,12,.92);padding:24px;cursor:zoom-out}
.psj-zoom figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%}
.psj-zoom figure img{display:block;max-width:92vw;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:0!important;box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:default}
.psj-zoom figcaption{color:#fff;font-size:.9rem;line-height:1.4;text-align:center;max-width:70ch;opacity:.9}
.psj-zoom-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#2B2B2B;font-size:1.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.psj-zoom-close:hover,.psj-zoom-close:focus-visible{background:var(--teal);outline:none}
html.psj-zoom-open{overflow:hidden}
/* Nos Fóruns — mosaico: não cortar as bolinhas dos cantos */
.foruns-photostrip .foruns-photostrip-item{overflow:visible!important}
/* INTEGRANTES — bio expandida ocupa a largura toda (foto à esquerda, texto à direita) */
.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded){grid-column:1/-1;display:grid;grid-template-columns:260px minmax(0,1fr);column-gap:44px;row-gap:12px;align-items:start;text-align:left}
.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded) .ex-integrante-media{grid-column:1;grid-row:1/4}
.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded) h3{grid-column:2;margin:0}
.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded) .ex-integrante-bio{grid-column:2;max-width:72ch;font-size:1.0625rem;line-height:1.65}
.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded) .ex-integrante-toggle{grid-column:2;justify-self:start}
@media (max-width:767px){.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded){display:block}.ex-integrantes-grid .ex-integrante-card:has(.ex-integrante-bio.is-expanded) .ex-integrante-bio{max-height:26rem;overflow:auto;padding-right:8px}}
/* Integrantes: com vários ex-integrantes, quem está expandido vai para a própria linha sem deixar buracos */
.ex-integrantes-grid{grid-auto-flow:row dense}
/* NOS FÓRUNS — mosaico em linhas (cada foto com proporção próxima da original: paisagem larga, retrato estreito) */
@media (min-width:768px){
.foruns-photostrip .foruns-carousel-track {grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-template-rows:324px 380px!important;gap:28px 20px!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(1){grid-column:1/span 5!important;grid-row:1!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(2){grid-column:6/span 4!important;grid-row:1!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(3){grid-column:10/span 3!important;grid-row:1!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(4){grid-column:1/span 6!important;grid-row:2!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(5){grid-column:7/span 6!important;grid-row:2!important}
.foruns-photostrip .foruns-photostrip-item:nth-child(5){box-shadow:12px 12px 0 var(--teal)}
.foruns-photostrip .foruns-photostrip-item img{object-position:50% 25%!important}
}
/* NAS UNIVERSIDADES — colagem "O que é": fotos maiores, sem sobras, proporções naturais */
@media (min-width:768px){.univ-oque-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important}}
.univ-oque-media .humanizacao-media.univ-collage.collage-3{display:grid!important;grid-template-columns:1.78fr 1fr!important;gap:18px!important;align-items:stretch!important;width:100%}
.univ-oque-media .humanizacao-media.univ-collage.collage-3::before{inset:18px -14px -14px 18px!important}
.univ-oque-media .humanizacao-media.univ-collage.collage-3 img{width:100%!important;max-width:none!important;max-height:none!important;height:100%!important;object-fit:cover!important;place-self:stretch!important;margin:0!important}
.univ-oque-media .humanizacao-media.univ-collage.collage-3 img:nth-of-type(2){grid-column:1/-1!important;grid-row:1!important;height:auto!important;aspect-ratio:2.16/1}
.univ-oque-media .humanizacao-media.univ-collage.collage-3 img:nth-of-type(1){grid-column:1!important;grid-row:2!important;height:auto!important;aspect-ratio:4/3}
.univ-oque-media .humanizacao-media.univ-collage.collage-3 img:nth-of-type(3){grid-column:2!important;grid-row:2!important;min-height:0}
@media (max-width:767px){.univ-oque-media .humanizacao-media.univ-collage.collage-3{gap:14px!important}}

/* Nas Universidades "O que é": texto maior e centralizado ao lado da colagem */
@media (min-width:768px){
body .univ-oque-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)!important;align-items:center!important;column-gap:56px!important}
body .univ-oque-layout .univ-oque-text p:not(.eyebrow-kicker){font-size:1.2rem!important;line-height:1.7!important}
}

/* Palhaçaria: foto no lugar do vídeo enquanto ele está em produção */
body .palhacaria-foto{margin:0;position:relative;align-self:start}
body .palhacaria-foto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:0;box-shadow:14px 14px 0 var(--teal)}
body .palhacaria-foto::after{content:"";position:absolute;top:-12px;left:-12px;width:26px;height:26px;border-radius:50%;background:var(--orange-red)}
@media (max-width:767px){body .palhacaria-foto img{box-shadow:10px 10px 0 var(--teal)}}

/* Palhaçaria: título "A linguagem da palhaçaria" no padrão dos demais (laranja, negrito) */
body .palhacaria-texto p.eyebrow-kicker{color:var(--orange-red)!important;font-weight:700!important}

/* Títulos pequenos (eyebrow) no padrão do site: laranja e negrito, onde o texto do bloco os deixava cinza */
body :is(.proposito-text,.humanizacao-text,.origem-text,.atuacao-area-text,.foruns-aprovacao-text,.escolas-oferecemos-text) > p.eyebrow-kicker{color:var(--orange-red)!important;font-weight:700!important}

/* Palhaçaria: foto com a mesma altura do bloco de texto (corta um pouco embaixo) */
@media (min-width:768px){
body .palhacaria-texto-layout{align-items:stretch!important}
body .palhacaria-texto-layout .palhacaria-foto{align-self:stretch!important;position:relative;min-height:0}
body .palhacaria-texto-layout .palhacaria-foto img{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 0%!important}
}

/* Títulos de seção em vinho, no padrão do site (estavam cinza-escuro) */
body :is(.empresas-por-que,.escolas-stats,.apoiar-relatos) h2{color:#8D251E!important}

/* Como Apoiar: bloco colorido atrás da foto dos relatos + "nariz" de palhaço */
body .apoiar-relatos-photos{position:relative!important;box-shadow:14px 14px 0 var(--orange-red)!important}
body .apoiar-relatos-photos::after{content:"";position:absolute;top:-12px;left:-12px;width:26px;height:26px;border-radius:50%;background:var(--teal);z-index:2}
@media (max-width:767px){body .apoiar-relatos-photos{box-shadow:10px 10px 0 var(--orange-red)!important}}

/* Como Apoiar: painel "Doe ao projeto" com mais destaque (opção B: caixas brancas + bloco/nariz da marca) */
body .apoiar-doar-panel{position:relative!important;box-shadow:14px 14px 0 var(--teal)!important}
body .apoiar-doar-panel::after{content:"";position:absolute;top:-12px;left:-12px;width:26px;height:26px;border-radius:50%;background:#8D251E;z-index:2}
body .apoiar-doar-panel .eyebrow-kicker{color:#FFF!important;font-weight:700!important}
body .apoiar-doar-panel .apoiar-doar-tile{background:#FFF!important;border:0!important;border-radius:0!important;color:#8D251E!important;box-shadow:6px 6px 0 #8D251E!important;transition:transform .15s ease,box-shadow .15s ease}
body .apoiar-doar-panel .apoiar-doar-tile *{color:inherit!important}
body .apoiar-doar-panel .apoiar-doar-tile svg{color:var(--orange-red)!important}
body .apoiar-doar-panel .apoiar-doar-tile:hover,body .apoiar-doar-panel .apoiar-doar-tile:focus-visible{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #8D251E!important}
@media (max-width:767px){body .apoiar-doar-panel{box-shadow:10px 10px 0 var(--teal)!important}}

/* Quem Somos "Desde 2019": colagem ao lado do texto (3 fotos) + faixa de fotos maiores embaixo (até 3) */
@media (min-width:768px){
body .humanizacao-layout{grid-template-columns:1.2fr 1fr!important;gap:64px!important}
body .humanizacao-layout .humanizacao-media.is-collage{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:18px!important;align-items:stretch!important;width:100%;box-shadow:12px 12px 0 var(--teal)!important}
body .humanizacao-layout .humanizacao-media.is-collage::before{display:none!important}
body .humanizacao-layout .humanizacao-media.is-collage img{width:100%!important;max-width:none!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;margin:0!important;border:0!important;box-shadow:none!important;transform:none!important;position:static!important;border-radius:0!important}
body .humanizacao-layout .humanizacao-media.is-collage img:nth-of-type(1){grid-column:1/span 12!important;grid-row:1!important;height:330px!important}
body .humanizacao-layout .humanizacao-media.is-collage img:nth-of-type(2){grid-column:1/span 6!important;grid-row:2!important;height:250px!important}
body .humanizacao-layout .humanizacao-media.is-collage img:nth-of-type(3){grid-column:7/span 6!important;grid-row:2!important;height:250px!important}
body .humanizacao-layout .humanizacao-media.is-collage.collage-2 img:nth-of-type(1){grid-column:1/span 6!important;height:330px!important}
body .humanizacao-layout .humanizacao-media.is-collage.collage-2 img:nth-of-type(2){grid-column:7/span 6!important;grid-row:1!important;height:330px!important}
}
body .humanizacao-faixa{display:grid;gap:30px;margin-top:64px}
body .humanizacao-faixa.faixa-1{grid-template-columns:1fr}
body .humanizacao-faixa.faixa-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body .humanizacao-faixa.faixa-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body .humanizacao-faixa img{display:block;width:100%;height:320px;object-fit:cover;border-radius:0;aspect-ratio:auto}
body .humanizacao-faixa img:nth-child(1){box-shadow:10px 10px 0 var(--teal)}
body .humanizacao-faixa img:nth-child(2){box-shadow:10px 10px 0 var(--orange-red)}
body .humanizacao-faixa img:nth-child(3){box-shadow:10px 10px 0 #8D251E}
@media (max-width:767px){
body .humanizacao-faixa{grid-template-columns:1fr!important;gap:22px;margin-top:40px}
body .humanizacao-faixa img{height:auto;aspect-ratio:4/3}
}

/* Nos Fóruns "Como se dá a atuação": rótulo em branco e sombra escura mais leve sobre as fotos */
body .foruns-como-cards .foruns-como-card.foruns-como-card--foto p.foruns-como-card-tag{color:#FFF!important}
body .foruns-como-card--foto::before{background:linear-gradient(0deg,rgba(20,14,12,.82) 0%,rgba(20,14,12,.62) 40%,rgba(20,14,12,.18) 64%,rgba(20,14,12,0) 100%)!important}

/* Nas Universidades: título do bloco em vinho, como os demais títulos do site */
body .univ-bloco-text h3{color:#8D251E!important}

/* Parceiros e Apoiadores: fundo todo branco, com círculos coloridos (nariz de palhaço) e detalhes de cor nos cartões de texto */
body .parc-secao{position:relative!important;overflow:hidden;background:#FFF!important;background-color:#FFF!important}
body .parc-secao > *{position:relative;z-index:1}
body .parc-secao::before{content:"";position:absolute;z-index:0;top:-70px;right:-60px;width:210px;height:210px;border-radius:50%;background:var(--teal);opacity:.25;pointer-events:none}
body .parc-secao::after{content:"";position:absolute;z-index:0;bottom:36px;left:-34px;width:84px;height:84px;border-radius:50%;background:var(--orange-red);opacity:.9;pointer-events:none}
body .parc-secao:nth-of-type(even)::before{right:auto;left:-70px;top:auto;bottom:-80px;background:var(--orange-red);opacity:.18}
body .parc-secao:nth-of-type(even)::after{left:auto;right:-30px;bottom:auto;top:40px;background:var(--teal);opacity:.9;width:70px;height:70px}
body .parc-card--texto{border-top:4px solid var(--teal)!important;background:#FFF}
body .parc-item:nth-child(3n+1) .parc-card--texto{border-top-color:var(--orange-red)!important}
body .parc-item:nth-child(3n+2) .parc-card--texto{border-top-color:var(--teal)!important}
body .parc-item:nth-child(3n) .parc-card--texto{border-top-color:#8D251E!important}
@media (max-width:767px){body .parc-secao::before{width:140px;height:140px;top:-50px;right:-50px}body .parc-secao::after{width:50px;height:50px;left:-20px}}

/* Nas Universidades "Palestras": duas fotos horizontais, uma embaixo da outra */
@media (min-width:768px){
body .univ-bloco-media:has(.univ-foto--b){display:flex!important;flex-direction:column;gap:38px;align-self:center}
}
body .univ-bloco-media:has(.univ-foto--b) .univ-foto img{display:block;width:100%!important;height:auto!important;aspect-ratio:2/1!important;object-fit:cover!important}
body .univ-foto--b{position:relative}
body .univ-foto--b img{box-shadow:14px 14px 0 var(--orange-red)!important;border-radius:0!important}
body .univ-foto--b::after{content:"";position:absolute;top:-14px;left:-14px;width:30px;height:30px;border-radius:50%;background:var(--teal);z-index:2}
@media (max-width:767px){body .univ-bloco-media:has(.univ-foto--b){display:flex!important;flex-direction:column;gap:28px}body .univ-foto--b img{box-shadow:10px 10px 0 var(--orange-red)!important}}

/* Telas menores (ex.: notebook 1366x768): fotos de pessoas sem cortar cabeças nas colagens de Quem Somos */
body .humanizacao-layout .humanizacao-media.is-collage img,body .humanizacao-faixa img{max-height:none!important;object-position:50% 18%!important}

/* Telas baixas (notebooks 1366x768): o banner da home se ajusta à altura da janela, para os botões e os números aparecerem sem rolar */
@media (min-width:900px) and (max-height:820px){
body .hero,body .hero .hero-slideshow,body .hero .hero-slide{height:clamp(460px,calc(100vh - 177px),620px)!important;min-height:460px!important}
}
/* ==== DEPOIMENTOS EM VÍDEO (Como Apoiar) ==== */
body .apoiar-videos{position:relative;overflow:hidden;background:#FAF3E8;padding:clamp(64px,8vw,112px) 0}
body .apoiar-videos::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--teal);opacity:.22;right:-90px;top:-90px;pointer-events:none}
body .apoiar-videos::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:var(--orange-red);opacity:.16;left:-60px;bottom:-60px;pointer-events:none}
body .apoiar-videos .wrap{position:relative;z-index:1}
body .apoiar-videos-header{text-align:center;max-width:760px;margin:0 auto clamp(40px,5vw,64px)}
body .apoiar-videos-header p.eyebrow-kicker{color:var(--orange-red)!important;font-weight:700!important}
body .apoiar-videos-header h2{color:#8D251E!important;margin:0;font-size:clamp(1.8rem,3vw,2.2rem)!important;line-height:1.2!important}
body .apoiar-videos-grid{display:flex;gap:56px;align-items:flex-start;position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 18px 26px 0}
body .apoiar-videos-grid::-webkit-scrollbar{display:none}
body .apoiar-videos-grid>.apoiar-video{flex:0 0 calc((100% - 56px) / 2);min-width:0;scroll-snap-align:start}
body .apoiar-videos-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}
body .apoiar-videos-nav[hidden]{display:none}
body .apoiar-videos-arrow{position:relative;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:var(--orange-red);cursor:pointer;transition:transform .2s ease,opacity .2s ease}
body .apoiar-videos-arrow::before{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border:solid #FFF;border-width:0 3px 3px 0}
body .apoiar-videos-next::before{transform:translate(-65%,-50%) rotate(-45deg)}
body .apoiar-videos-prev::before{transform:translate(-35%,-50%) rotate(135deg)}
body .apoiar-videos-arrow:hover:not(:disabled),body .apoiar-videos-arrow:focus-visible{transform:scale(1.08)}
body .apoiar-videos-arrow:disabled{opacity:.3;cursor:default}
body .apoiar-videos-dots{display:flex;gap:12px;align-items:center}
body .apoiar-videos-dot{width:13px;height:13px;padding:0;border:2px solid #8D251E;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease}
body .apoiar-videos-dot.is-active{background:#8D251E}
body .apoiar-video{margin:0;--vc:var(--teal)}
body .apoiar-video--c2{--vc:var(--orange-red)}
body .apoiar-video--c3{--vc:#8D251E}
body .apoiar-video--c4{--vc:var(--blue)}
body .apoiar-video-frame{position:relative;aspect-ratio:16/9;background:#2B2B2B;box-shadow:14px 14px 0 var(--vc);overflow:hidden}
body .apoiar-video-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;max-height:none}
body .apoiar-video-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,14,12,.35) 0%,rgba(20,14,12,0) 55%);pointer-events:none;z-index:1}
body .apoiar-video-frame.is-playing::before{display:none}
body .apoiar-video-frame video,body .apoiar-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:contain;display:block}
body .apoiar-video-play{position:absolute;z-index:2;left:18px;bottom:18px;top:auto;width:58px;height:58px;margin:0;padding:0;border:0;border-radius:50%;background:var(--orange-red);box-shadow:0 0 0 5px rgba(255,255,255,.45);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
body .apoiar-video-play::before{content:"";position:absolute;left:50%;top:50%;margin:-11px 0 0 -7px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #FFF}
body .apoiar-video-play:hover,body .apoiar-video-play:focus-visible{transform:scale(1.1);box-shadow:0 0 0 7px rgba(255,255,255,.55)}
body .apoiar-video figcaption{padding-top:28px}
body .apoiar-video figcaption cite{display:block;font-style:normal;font-weight:800;font-size:1.2rem;line-height:1.3;color:#8D251E}
body .apoiar-video figcaption span{display:block;margin-top:4px;font-size:1rem;line-height:1.45;color:#2B2B2B}
body .apoiar-video--vertical .apoiar-video-frame{aspect-ratio:9/16;max-width:320px;margin-inline:auto}
body .apoiar-video--vertical figcaption{text-align:center}
@media (max-width:767px){
  body .apoiar-videos-grid{gap:24px;padding-right:12px}
  body .apoiar-videos-grid>.apoiar-video{flex-basis:100%}
  body .apoiar-videos-arrow{width:48px;height:48px}
  body .apoiar-video-frame{box-shadow:9px 9px 0 var(--vc)}
  body .apoiar-video-play{left:12px;bottom:12px;width:46px;height:46px}
  body .apoiar-video-play::before{margin:-9px 0 0 -6px;border-width:9px 0 9px 15px}
}
/* Como Apoiar — painel Doe no celular: evita estourar a largura */
@media (max-width:767px){body .apoiar-doar-panel{grid-template-columns:minmax(0,1fr)!important}body .apoiar-doar-panel>*{min-width:0}body .apoiar-doar-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* Como Apoiar — faixa de parceiros (TJSP + Núcleo de Estímulo) */
body .parceiros--apoiar .parceiros-arrow{display:none!important}
body .parceiros--apoiar .parceiros-slideshow{display:block}
body .parceiros--apoiar .parceiros-track{width:100%}
body .parceiros--apoiar .parceiros-group{display:flex!important;flex-wrap:wrap;justify-content:space-evenly;align-items:center;gap:36px 64px}
body .parceiros--apoiar .parceiro-logo{flex:1 1 0;display:flex;justify-content:center;align-items:center;width:auto;height:auto;padding:0;background:none!important;box-shadow:none!important}
body .parceiros--apoiar .parceiro-logo img{width:auto;height:auto;max-height:90px;max-width:100%;object-fit:contain}
body .parceiros--apoiar .parceiro-logo img[src*="nucleo-estimulo"]{width:min(100%,320px);max-height:none}
@media (max-width:767px){body .parceiros--apoiar .parceiro-logo{flex:1 1 100%}body .parceiros--apoiar .parceiro-logo img{max-height:80px}}
body .contato-contact-list--apoiar{margin-top:44px}
body .parceiros--apoiar .parceiros-texto{max-width:720px;margin:14px auto 0;text-align:center;color:#FFF;font-size:1.05rem;line-height:1.6}
body .parceiros--apoiar .parceiros-header+.parceiros-slideshow{margin-top:34px}
/* Parceiros e Apoiadores — texto de introdução com negrito laranja */
body .page-intro-text--rich p{margin:0 0 .7em;font:inherit;color:inherit}
body .page-intro-text--rich p:last-child{margin-bottom:0}
html body main .wrap.page-intro .page-intro-inner .page-intro-text.page-intro-text--rich p strong,html body main .wrap.page-intro .page-intro-inner .page-intro-text.page-intro-text--rich p b,body .page-intro .page-intro-inner .page-intro-text.page-intro-text--rich strong,body .page-intro .page-intro-inner .page-intro-text.page-intro-text--rich b,body .page-intro-text--rich strong,body .page-intro-text--rich b{color:var(--orange-red)!important;background:none!important;box-shadow:none!important;text-decoration:none!important;padding:0!important;font-weight:700!important}
/* Como Apoiar — banner proporcional (a foto das 4 palhaças aparece inteira) */
@media (min-width:768px){
  body.page-template-template-apoiar .page-hero,
  /* Como Apoiar: altura igual as demais paginas 0.2.210 */
}
/* Palhaçaria — foto inteira, sem cortar as cabeças nas laterais */
@media (min-width:900px){body .palhacaria-texto-layout{grid-template-columns:1fr 1fr!important}}
@media (min-width:768px){
  body .palhacaria-texto-layout .palhacaria-foto{align-self:center!important;min-height:0}
  body .palhacaria-texto-layout .palhacaria-foto img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:5/4!important;object-fit:cover!important;object-position:50% 40%!important}
}
@media (max-width:767px){body .palhacaria-foto img{aspect-ratio:5/4!important;object-position:50% 40%!important}}
/* Nas Escolas — banner proporcional (foto inteira, sem cortar pessoas nem a criança) */
/* altura igual as demais paginas (min-height 460px do .page-hero) 0.2.200 */
/* ==== NAS ESCOLAS: colagem O que oferecemos ==== */
body .escolas-oferecemos-media{position:relative;margin-bottom:0;box-shadow:none!important}
body .escolas-oferecemos-media>img:first-child{display:block;box-shadow:-14px 14px 0 var(--orange-red)}
body .escolas-oferecemos-media .escolas-oferecemos-img2{display:block;position:relative;right:auto;bottom:auto;width:52%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:36px 0 0 auto;border:0;box-shadow:12px 12px 0 var(--teal)}
@media (max-width:767px){body .escolas-oferecemos-media .escolas-oferecemos-img2{width:64%;margin-top:28px;box-shadow:8px 8px 0 var(--teal)}}
/* ==== LINHA DO TEMPO: vídeo do ano ==== */
body .timeline-slide-video{grid-column:1/-1;margin:0;width:min(100%,190px)}
body .timeline-slide-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#2B2B2B;box-shadow:8px 8px 0 var(--teal)}
body .timeline-slide-video figcaption{margin-top:14px;font-size:.82rem;line-height:1.4;color:#5a5a5a}
body .timeline-item a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange-red);text-decoration-thickness:2px;text-underline-offset:3px}
body .timeline-item a:hover,body .timeline-item a:focus-visible{color:var(--orange-red)}
/* ==== LINHA DO TEMPO: galeria do ano + lightbox ==== */
body .timeline-gallery-wrap{grid-column:1/-1;margin-top:8px}
body .timeline-gallery-title{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-red)}
body .timeline-gallery-title::after{content:'';flex:1;height:2px;background:linear-gradient(to right,rgba(225,65,39,.45),rgba(225,65,39,0))}
body .timeline-gallery{display:flex;flex-wrap:wrap;gap:12px}
body .timeline-gallery-item{margin:0;position:relative;overflow:hidden;background:#2B2B2B;min-width:0;flex:var(--ar,1.5) 1 calc(var(--ar,1.5) * 230px)}
body .timeline-gallery-item a{display:block;position:relative;line-height:0;cursor:zoom-in}
body .timeline-gallery-item img{display:block;width:100%;height:auto;aspect-ratio:var(--ar,1.5);object-fit:cover;transition:transform .6s ease}
body .timeline-gallery-item a:hover img,body .timeline-gallery-item a:focus-visible img{transform:scale(1.035)}
body .timeline-gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 16px 13px;font-size:.84rem;line-height:1.35;font-weight:500;color:#fff;background:linear-gradient(to top,rgba(20,20,20,.82),rgba(20,20,20,0))}
@media (max-width:600px){body .timeline-gallery-item{flex:var(--ar,1.5) 1 calc(var(--ar,1.5) * 150px)}body .timeline-gallery-item figcaption{font-size:.78rem;padding:30px 12px 10px}}
.psj-lb{position:fixed;inset:0;z-index:100000;display:none;flex-direction:column;align-items:center;justify-content:center;padding:56px 64px 28px;background:rgba(20,20,20,.95)}
.psj-lb.is-open{display:flex}
.psj-lb img{display:block;max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;box-shadow:12px 12px 0 var(--orange-red)}
.psj-lb-cap{max-width:860px;margin:30px 0 0;text-align:center;font-size:1rem;line-height:1.45;color:#fff}
.psj-lb button{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;border-radius:0;background:var(--orange-red);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.psj-lb button:hover{background:#8D251E}
.psj-lb-close{top:14px;right:14px}
.psj-lb-prev{left:12px;top:50%;transform:translateY(-50%)}
.psj-lb-next{right:12px;top:50%;transform:translateY(-50%)}
@media (max-width:600px){.psj-lb{padding:64px 12px 20px}.psj-lb-prev,.psj-lb-next{top:auto;bottom:18px;transform:none}.psj-lb-prev{left:12px}.psj-lb-next{right:12px}.psj-lb img{max-height:calc(100vh - 240px);box-shadow:8px 8px 0 var(--orange-red)}}
body .timeline-media-fig{margin:0;position:relative;overflow:hidden;min-width:0;background:#2B2B2B}
body .timeline-media-fig.timeline-media-lead{grid-column:1/-1}
body .timeline-media-fig a{display:block;position:relative;line-height:0;cursor:zoom-in}
body .timeline-media-fig img{display:block;width:100%;height:auto;transition:transform .6s ease}
body .timeline-media-fig a:hover img,body .timeline-media-fig a:focus-visible img{transform:scale(1.035)}
body .timeline-media-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;font-size:.74rem;line-height:1.3;font-weight:500;color:#fff;background:linear-gradient(to top,rgba(20,20,20,.82),rgba(20,20,20,0))}
body .timeline-media-fig.timeline-media-lead figcaption{font-size:.84rem;padding:38px 16px 13px}
body .timeline-slide-media--double .timeline-media-fig:not(.timeline-media-lead) img{aspect-ratio:4/3;object-fit:cover;object-position:30% 50%}
/* ==== PALHAÇARIA: epígrafe (discreta) ==== */
body .palhacaria-epigrafe{padding:26px 0 30px}
body .palhacaria-epigrafe .epigrafe-box{position:relative;max-width:540px;margin:0 auto;padding:0;background:none;box-shadow:none;text-align:center}
body .palhacaria-epigrafe .epigrafe-box::before{content:none}
body .palhacaria-epigrafe .epigrafe-mark{display:none}
body .palhacaria-epigrafe .epigrafe-texto{margin:0;padding:0;border:0;background:none;quotes:none}
body .palhacaria-epigrafe .epigrafe-texto::before,body .palhacaria-epigrafe .epigrafe-texto::after{content:none}
body .palhacaria-epigrafe .epigrafe-texto p{margin:0 0 .9em;font-size:1.06rem;line-height:1.7;font-style:italic;font-weight:300;color:#666;background:none}
body .palhacaria-epigrafe .epigrafe-texto p:last-child{margin-bottom:0}
body .palhacaria-epigrafe .epigrafe-texto .epigrafe-final{font-style:italic;font-weight:500;color:#8D251E;background:none}
body .palhacaria-epigrafe .epigrafe-fonte{margin:16px 0 0;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#999}
body .palhacaria-epigrafe .epigrafe-fonte::before{content:'';display:block;width:26px;height:1px;margin:0 auto 10px;background:rgba(225,65,39,.55)}
@media (max-width:767px){body .palhacaria-epigrafe{padding:4px 0 20px}body .palhacaria-epigrafe .epigrafe-box{margin:0 4px}}
/* ==== QUEM SOMOS: cards expansão mobile ==== */
@media (max-width:767px){body .expansao-slideshow{padding-inline:2.9rem}body .expansao-track{gap:14px}body .expansao-card{flex:0 0 100%!important;max-width:100%!important;min-width:100%!important;scroll-snap-align:start}body .expansao-arrow{width:2.2rem;height:2.2rem}body .expansao-arrow--prev{left:.15rem}body .expansao-arrow--next{right:.15rem}}

/* ==== MOBILE 0.2.154: menu claro, integrantes, fóruns ==== */
@media (max-width:819px){
body .main-nav{background:#FAF3E8!important;overflow:hidden}
body .main-nav::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--orange-red);right:-110px;top:-90px;opacity:.95;pointer-events:none}
body .main-nav::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--teal);left:-60px;bottom:-40px;pointer-events:none}
body .main-nav ul{position:relative;z-index:1}
body .main-nav a{color:var(--dark)!important;font-size:1.3rem;font-weight:800;letter-spacing:.06em}
body .main-nav a:hover{border-color:var(--orange-red)}
body .main-nav .nav-dropdown-menu a{color:#6b4a3f!important;font-size:1rem;font-weight:600;letter-spacing:.02em}
body .main-nav .nav-dropdown-menu a:hover{background:none;color:var(--orange-red)!important}
body .menu-toggle[aria-expanded="true"] span{background:var(--dark)!important}
body .nav-mobile-toggle-label{color:var(--orange-red)!important;border-color:var(--orange-red)!important}
body .nav-mobile-toggle-label::before,body .nav-mobile-toggle-label::after{border-color:var(--orange-red)!important}
}
@media (max-width:767px){
body .integrante-row{row-gap:2.6rem}
body .integrante-row-content{padding-top:.4rem}
body .foruns-photostrip .foruns-carousel-track{display:flex!important;flex-direction:column;grid-template-columns:none!important;grid-template-rows:none!important;gap:22px!important;padding:0 10px 0 0!important}
body .foruns-photostrip .foruns-carousel-track>.foruns-photostrip-item{grid-column:auto!important;grid-row:auto!important;width:100%!important;height:auto!important;min-height:0!important;flex:none!important}
body .foruns-photostrip .foruns-photostrip-item:nth-child(1){aspect-ratio:3/2}
body .foruns-photostrip .foruns-photostrip-item:nth-child(2){aspect-ratio:3/2}
body .foruns-photostrip .foruns-photostrip-item:nth-child(3){aspect-ratio:4/5}
body .foruns-photostrip .foruns-photostrip-item:nth-child(4){aspect-ratio:3/2}
body .foruns-photostrip .foruns-photostrip-item:nth-child(5){aspect-ratio:3/2}
}
/* ==== FIM MOBILE 0.2.154 ==== */


/* ==== ACERVO 0.2.158 ==== */
.acervo-filters{padding-top:var(--sp-6);padding-bottom:var(--sp-2);background:var(--white)}
.acervo-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.acervo-types,.acervo-cats{display:flex;flex-wrap:wrap;gap:.5rem}
.acervo-cats{margin-top:1rem}
.acervo-cats[hidden]{display:none}
.acervo-search input{font:inherit;font-size:.95rem;border:1px solid #d9d2c7;background:#fff;padding:.65rem 1rem;min-width:260px;max-width:100%;border-radius:0}
body .acervo-cats .galeria-filter{font-size:.8rem;padding:.45rem 1rem;background:#FAF3E8}
body .acervo-cats .galeria-filter:hover{background:var(--blue)}
body .acervo-cats .galeria-filter.is-active{background:var(--teal);color:var(--dark)}
.acervo-count{margin-top:1rem;font-size:.9rem;color:#666}
.acervo-grid-section{padding-top:var(--sp-6);padding-bottom:var(--sp-10);background:var(--white)}
.acervo-grid{display:grid;grid-template-columns:1fr;gap:2.4rem 1.6rem}
@media(min-width:600px){.acervo-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.acervo-grid{grid-template-columns:repeat(3,1fr)}}
.acervo-card[hidden]{display:none}
.acervo-card-media{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:var(--dark);cursor:pointer;overflow:visible;box-shadow:8px 8px 0 var(--teal)}
.acervo-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.acervo-card--podcast .acervo-card-media{background:#8D251E;box-shadow:8px 8px 0 var(--blue)}
.acervo-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--orange-red);display:flex;align-items:center;justify-content:center;transition:transform .2s ease}
.acervo-play svg{width:24px;height:24px;fill:#fff;margin-left:2px}
.acervo-card--podcast .acervo-play svg{margin-left:0}
.acervo-card-media:hover .acervo-play{transform:scale(1.1)}
.acervo-card-body{padding-top:1.3rem}
.acervo-card-cat{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--orange-red);min-height:1em}
.acervo-card h3{font-size:1.05rem;line-height:1.35;font-weight:700;color:var(--dark);margin-top:.35rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.acervo-card-date{font-size:.82rem;color:#777;margin-top:.4rem}
.acervo-empty{text-align:center;color:#666;padding:2rem 0}
.acervo-more-wrap{text-align:center;margin-top:var(--sp-8)}
.acervo-more-wrap[hidden]{display:none}
.acervo-modal{border:0;padding:0;background:#000;width:min(960px,94vw);max-width:none;overflow:visible}
.acervo-modal::backdrop{background:rgba(20,20,20,.85)}
.acervo-modal-close{position:absolute;top:-42px;right:0;background:none;border:0;color:#fff;font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;padding:.4rem 0}
.acervo-modal-frame{aspect-ratio:16/9;width:100%;background:#000}
.acervo-modal-frame iframe{width:100%;height:100%;border:0;display:block}
.acervo-modal-bar{background:#fff;padding:.9rem 1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}
.acervo-modal-title{font-weight:700;color:var(--dark);font-size:.98rem}
.acervo-modal-link{font-size:.85rem;font-weight:700;color:var(--blue-deep);text-decoration:underline}
@media(max-width:600px){.acervo-search,.acervo-search input{width:100%;min-width:0}}
/* ==== FIM ACERVO ==== */

/* ==== FAIXA 3 FOTO COMPLETA ==== */
body .humanizacao-faixa.faixa-3>img:nth-child(3){height:auto!important;aspect-ratio:3/2!important;align-self:center;object-position:50% 50%}

/* ==== ESCOLAS GALERIA 2x2 ==== */
body .escolas-oferecemos-mosaico{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:56px;padding-right:calc(var(--gutter,1rem) + 12px)}
body .escolas-oferecemos-mosaico img{display:block;width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:transform .3s ease}
body .escolas-oferecemos-mosaico img:hover{transform:scale(1.015)}
body .escolas-oferecemos-mosaico img:nth-child(1),body .escolas-oferecemos-mosaico img:nth-child(4){grid-column:1/-1;aspect-ratio:4/3}
body .escolas-oferecemos-mosaico img:nth-child(2),body .escolas-oferecemos-mosaico img:nth-child(3){aspect-ratio:1/1}
body .escolas-oferecemos-mosaico img:nth-child(1){box-shadow:12px 12px 0 var(--teal)}
body .escolas-oferecemos-mosaico img:nth-child(2){box-shadow:10px 10px 0 var(--orange-red)}
body .escolas-oferecemos-mosaico img:nth-child(3){box-shadow:10px 10px 0 var(--blue)}
body .escolas-oferecemos-mosaico img:nth-child(4){box-shadow:12px 12px 0 #8D251E}
@media(min-width:768px){
body .escolas-oferecemos-mosaico{grid-template-columns:repeat(12,1fr);gap:32px;padding-right:calc(var(--gutter,1.5rem) + 12px)}
body .escolas-oferecemos-mosaico img:nth-child(1),body .escolas-oferecemos-mosaico img:nth-child(4){grid-column:span 7;aspect-ratio:4/3}
body .escolas-oferecemos-mosaico img:nth-child(2),body .escolas-oferecemos-mosaico img:nth-child(3){grid-column:span 5;aspect-ratio:auto;height:100%}
}
/* ==== LINHA DO TEMPO VIDEO MAIOR 0.2.166 ==== */
body .timeline-slide-media .timeline-slide-video{width:min(100%,300px)}
@media(max-width:767px){body .timeline-slide-media .timeline-slide-video{width:min(100%,260px)}}
body .timeline-gallery-item{max-width:calc(var(--ar,1.5) * 520px)}
/* ==== LINHA DO TEMPO LINHA VERTICAL 0.2.168 ==== */
body .timeline-vertical-row{grid-column:1/-1;display:flex;gap:18px;align-items:flex-start}
body .timeline-vertical-row>*{flex:1 1 0;min-width:0;margin:0;width:auto}
body .timeline-vertical-row .timeline-slide-video{width:auto}
body .timeline-slide-media .timeline-vertical-row .timeline-slide-video{width:auto}
body .timeline-media-fig.timeline-media-vert img{aspect-ratio:9/16;object-fit:cover;height:auto}
body .timeline-media-fig.timeline-media-vert{box-shadow:8px 8px 0 var(--orange-red)}
body .timeline-slide-media .timeline-vertical-row .timeline-media-fig.timeline-media-vert img{aspect-ratio:9/16;object-fit:cover;object-position:50% 20%;height:auto}
/* ==== LINHA DO TEMPO LAYOUT ALT 0.2.170 ==== */
body .timeline-slide--alt .timeline-slide-media--double .timeline-media-fig:not(.timeline-media-lead) img{aspect-ratio:auto;object-fit:cover;object-position:50% 50%}
body .timeline-slide--alt .timeline-slide-media--double{grid-template-columns:1fr}
body .timeline-slide--alt .timeline-slide-media--double .timeline-media-fig:not(.timeline-media-lead):nth-child(2) img{object-position:60% 50%}
body .timeline-slide--alt .timeline-media-below{margin:2.2rem 0 0;width:100%}
body .timeline-slide--alt .timeline-media-below img{aspect-ratio:auto}
body .timeline-slide--alt .timeline-media-extra{margin:14px 0 0;width:100%;background:#fff;box-shadow:0 0 0 1px #e5dccb}
body .timeline-slide--alt .timeline-media-extra img{height:auto;aspect-ratio:auto}
body .timeline-slide--alt .timeline-gallery-item{flex-basis:calc(var(--ar,1.5) * 300px);max-width:calc(var(--ar,1.5) * 440px)}
@media(min-width:768px){body .timeline-slide--alt .timeline-gallery-item:nth-child(-n+2){max-width:none}}
body .timeline-slide[data-year="2020"] .timeline-gallery-item{flex-basis:calc(var(--ar,1.5) * 235px);max-width:calc(var(--ar,1.5) * 340px)}
/* galeria: fotos muito largas (banners) ocupam a linha inteira */
body .timeline-gallery-item[style*="--ar:2."],body .timeline-gallery-item[style*="--ar:3."]{flex:1 1 100%;max-width:100%}
body .timeline-slide-media .timeline-vertical-row:not(:has(.timeline-slide-video)) .timeline-media-fig.timeline-media-vert img{aspect-ratio:2/3;object-position:50% 50%}
body .timeline-slide-media .timeline-vertical-row:not(:has(.timeline-media-vert)) .timeline-slide-video video{aspect-ratio:auto;object-fit:contain}
body .timeline-slide-media .timeline-vertical-row:not(:has(.timeline-media-vert)) .timeline-slide-video{width:100%}
body .timeline-slide-media>img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px #e5dccb}
/* ==== LINHA DO TEMPO 2023 QUADRADOS 0.2.189 ==== */
body .timeline-slide[data-year="2023"] .timeline-vertical-row .timeline-slide-video video,
body .timeline-slide[data-year="2023"] .timeline-vertical-row .timeline-media-fig.timeline-media-vert img{aspect-ratio:1/1;object-fit:cover;object-position:50% 35%}
/* ==== LINHA DO TEMPO FOTO LATERAL 0.2.190 ==== */
body .timeline-slide-content .timeline-media-side{margin:1.3rem 0 0;width:min(100%,220px)}
body .timeline-slide-content .timeline-media-side img{display:block;width:100%;height:auto;box-shadow:6px 6px 0 var(--teal)}
body .timeline-slide-content .timeline-media-side figcaption{display:none}
/* ==== LINHA DO TEMPO FOTOS LATERAIS LADO A LADO 0.2.192 ==== */
body .timeline-slide-content .timeline-side-row{display:flex;flex-wrap:wrap;gap:20px 22px;align-items:flex-start;margin:1.3rem 0 0}
body .timeline-slide-content .timeline-side-row .timeline-media-side{margin:0;width:min(100%,220px)}
/* ==== LINHA DO TEMPO 2022 FOTO LATERAL GRANDE 0.2.193 ==== */
body .timeline-slide[data-year="2022"] .timeline-slide-content .timeline-media-side{width:calc(50% - 11px)}
body .timeline-slide[data-year="2022"] .timeline-media-side img{aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
/* ==== LINHA DO TEMPO FOTO LATERAL MOLDURA 0.2.195 ==== */
body .timeline-slide-content .timeline-media-side{box-shadow:6px 6px 0 var(--teal);outline:1px solid #e5dccb;outline-offset:-1px;background:#fff;line-height:0}
body .timeline-slide-content .timeline-media-side img{box-shadow:none}
body .timeline-slide[data-year="2024"] .timeline-slide-content .timeline-media-side{width:min(100%,340px)}
/* ==== LINHA DO TEMPO 2023 FOTO LATERAL 0.2.196 ==== */
body .timeline-slide[data-year="2023"] .timeline-slide-content .timeline-media-side{width:min(100%,340px)}
/* ==== LINHA DO TEMPO CARTAO DE DESTAQUE 0.2.198 ==== */
body .timeline-slide-content .timeline-card{position:relative;margin:1.8rem 0 0;max-width:430px;background:#fff;border:1px solid #e5dccb;padding:24px 26px 26px;box-shadow:8px 8px 0 var(--teal)}
body .timeline-slide-content .timeline-card::before{content:'';position:absolute;top:-9px;right:22px;width:18px;height:18px;border-radius:50%;background:var(--orange-red)}
body .timeline-slide-content .timeline-card-label{display:block;margin:0 0 12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-red)}
body .timeline-slide-content .timeline-card-title{margin:0 0 10px;font-size:1.12rem;line-height:1.35;font-weight:700;color:#2B2B2B}
body .timeline-slide-content .timeline-card-text{margin:0 0 18px;font-size:.92rem;line-height:1.4;color:#5a5a5a}
body .timeline-slide-content .timeline-card-btn{display:inline-block;padding:11px 20px;background:var(--orange-red);color:#fff;font-size:.86rem;font-weight:700;text-decoration:none}
body .timeline-slide-content .timeline-card-btn:hover,body .timeline-slide-content .timeline-card-btn:focus{background:#2B2B2B;color:#fff}
/* ==== LINHA DO TEMPO 2025 FOTOS LATERAIS 0.2.199 ==== */
body .timeline-slide[data-year="2025"] .timeline-slide-content .timeline-media-side{width:calc(50% - 11px)}
body .timeline-slide[data-year="2025"] .timeline-media-side img{aspect-ratio:3/4;object-fit:cover;object-position:50% 40%}
/* ==== LINHA DO TEMPO GALERIA EDITORIAL (TESTE) 0.2.201 ==== */
body .timeline-slide[data-year="2020"] .timeline-slide-content .timeline-media-side{width:min(100%,560px)}
body .timeline-slide--gal-ed .timeline-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 26px;align-items:start}
body .timeline-slide--gal-ed .timeline-gallery-item{grid-column:span 3;flex:none!important;max-width:none!important;width:auto!important;min-width:0;margin:0;position:relative}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(-n+2){grid-column:span 6}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(7):nth-last-child(3),body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(8):nth-last-child(2),body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(9):last-child{grid-column:span 4}
body .timeline-slide--gal-ed .timeline-gallery-item>a{display:block;position:relative;padding:10px;background:#f6f1e7;box-shadow:8px 8px 0 var(--teal);aspect-ratio:4/3;overflow:visible}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(-n+2)>a{aspect-ratio:19/10}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n+2)>a{box-shadow:8px 8px 0 #DC8728}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n)>a{box-shadow:8px 8px 0 var(--orange-red)}
body .timeline-slide--gal-ed .timeline-gallery-item>a::after,body .timeline-slide--gal-ed .timeline-gallery-item>a::before{display:none!important}
body .timeline-slide--gal-ed .timeline-gallery-item img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:auto;background:transparent;box-shadow:none}
body .timeline-slide--gal-ed .timeline-gallery-item figcaption{position:static!important;background:none!important;color:#5a5a5a!important;padding:16px 2px 0!important;font-size:.82rem;line-height:1.4;text-shadow:none;opacity:1;transform:none}
@media (max-width:767px){
body .timeline-slide--gal-ed .timeline-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
body .timeline-slide--gal-ed .timeline-gallery-item,body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(n){grid-column:span 1}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(-n+2){grid-column:span 2}
}
/* editorial v2: sombra no mat da imagem 0.2.202 */
body .timeline-slide--gal-ed .timeline-gallery-item{overflow:visible!important;background:transparent!important;box-shadow:none!important;outline:0!important}
body .timeline-slide--gal-ed .timeline-gallery-item>a{background:transparent!important;padding:0!important;box-shadow:none!important;aspect-ratio:auto!important;overflow:visible!important}
body .timeline-slide--gal-ed .timeline-gallery-item>a>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;padding:12px;box-sizing:border-box;background:#f6f1e7!important;box-shadow:8px 8px 0 var(--teal)!important;position:static!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(-n+2)>a>img{aspect-ratio:19/10!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n+2)>a>img{box-shadow:8px 8px 0 #DC8728!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n)>a>img{box-shadow:8px 8px 0 var(--orange-red)!important}
body .timeline-slide--gal-ed .timeline-gallery-item figcaption{margin-top:20px!important;position:static!important;background:none!important;padding:0!important}
/* editorial: linhas completas conforme a quantidade de fotos 0.2.203 */
@media(min-width:768px){
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(4),body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(4)~.timeline-gallery-item{grid-column:span 6}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(4)>a>img,body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(4)~.timeline-gallery-item>a>img{aspect-ratio:19/10!important}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(8)~.timeline-gallery-item:nth-child(n+3){grid-column:span 4}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(3),body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(3)~.timeline-gallery-item{grid-column:span 4}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(3)>a>img,body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(3)~.timeline-gallery-item>a>img{aspect-ratio:4/3!important}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(7),body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(7)~.timeline-gallery-item:nth-child(-n+3){grid-column:span 4}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(7)>a>img,body .timeline-slide--gal-ed .timeline-gallery-item:first-child:nth-last-child(7)~.timeline-gallery-item:nth-child(-n+3)>a>img{aspect-ratio:4/3!important}
body .timeline-slide--gal-ed .timeline-gallery-item:first-child:last-child{grid-column:3/span 8}
}
/* CARTAO LARGO 0.2.206 */
body .timeline-slide .timeline-card--wide{grid-column:1/-1;max-width:none;width:auto;margin:6px 0 0;padding:28px 36px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:48px;align-items:center}
body .timeline-slide .timeline-card--wide .timeline-card-label,body .timeline-slide .timeline-card--wide .timeline-card-title,body .timeline-slide .timeline-card--wide .timeline-card-text{grid-column:1}
body .timeline-slide .timeline-card--wide .timeline-card-title{font-size:1.3rem;max-width:46ch}
body .timeline-slide .timeline-card--wide .timeline-card-text{max-width:70ch}
body .timeline-slide .timeline-card--wide .timeline-card-btn{grid-column:2;grid-row:1/span 3;align-self:center;margin:0;white-space:nowrap}
@media(max-width:767px){body .timeline-slide .timeline-card--wide{grid-template-columns:1fr;padding:24px 22px 26px}body .timeline-slide .timeline-card--wide .timeline-card-btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:14px}}
/* CARTAO LARGO estilos base 0.2.207 */
body .timeline-slide .timeline-card--wide{position:relative;background:#fff;border:1px solid #e5dccb;box-shadow:8px 8px 0 var(--teal)}
body .timeline-slide .timeline-card--wide::before{content:'';position:absolute;top:-9px;right:28px;width:18px;height:18px;border-radius:50%;background:var(--orange-red)}
body .timeline-slide .timeline-card--wide .timeline-card-label{display:block;margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-red)}
body .timeline-slide .timeline-card--wide .timeline-card-title{margin:0 0 8px;line-height:1.35;font-weight:700;color:#2B2B2B}
body .timeline-slide .timeline-card--wide .timeline-card-text{margin:0;font-size:.92rem;line-height:1.45;color:#5a5a5a}
body .timeline-slide .timeline-card--wide .timeline-card-btn{display:inline-block;padding:12px 24px;background:var(--orange-red);color:#fff;font-size:.86rem;font-weight:700;text-decoration:none}
body .timeline-slide .timeline-card--wide .timeline-card-btn:hover{background:#2B2B2B}
/* editorial: celular 0.2.211 */
@media(max-width:767px){
body .timeline-slide--gal-ed .timeline-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 16px!important}
body .timeline-slide--gal-ed .timeline-gallery-item{grid-column:span 1!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(-n+2),body .timeline-slide--gal-ed .timeline-gallery-item:first-child:last-child{grid-column:1/-1!important}
body .timeline-slide--gal-ed .timeline-gallery-item>a>img{padding:8px!important;box-shadow:6px 6px 0 var(--teal)!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n+2)>a>img{box-shadow:6px 6px 0 #DC8728!important}
body .timeline-slide--gal-ed .timeline-gallery-item:nth-child(3n)>a>img{box-shadow:6px 6px 0 var(--orange-red)!important}
body .timeline-slide--gal-ed .timeline-gallery-item figcaption{font-size:.78rem!important;margin-top:16px!important}
}
/* COLAGEM Palhaçaria 0.2.212 */
body .palhacaria-colagem .palhacaria-foto{padding-bottom:0}
body .palhacaria-colagem{align-self:start;display:flex;flex-direction:column;gap:34px}
body .palhacaria-colagem .palhacaria-foto img{aspect-ratio:4/3;object-position:50% 38%}
body .palhacaria-colagem-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:22px;align-items:start}
body .palhacaria-colagem-item{margin:0;position:relative}
body .palhacaria-colagem-item img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;border-radius:0;box-shadow:8px 8px 0 #DC8728}
body .palhacaria-colagem-item--b{margin-top:26px}
body .palhacaria-colagem-item--b img{box-shadow:8px 8px 0 var(--orange-red);object-position:55% 25%}
body .palhacaria-colagem-item--c img{box-shadow:8px 8px 0 var(--teal);object-position:45% 40%}
@media(max-width:767px){body .palhacaria-colagem{gap:26px}body .palhacaria-colagem-row{gap:14px}body .palhacaria-colagem-item img{box-shadow:6px 6px 0 #DC8728}body .palhacaria-colagem-item--b img{box-shadow:6px 6px 0 var(--orange-red)}body .palhacaria-colagem-item--c img{box-shadow:6px 6px 0 var(--teal)}}
/* COLAGEM Palhaçaria 0.2.215: um só item extra + epígrafe na coluna do texto */
.palhacaria-colagem-row .palhacaria-colagem-item:only-child{grid-column:1/-1}
.palhacaria-colagem-row .palhacaria-colagem-item:only-child img{aspect-ratio:5/4;object-position:50% 40%}
body .palhacaria-texto-content .palhacaria-epigrafe{padding:46px 0 0}
body .palhacaria-texto-content .palhacaria-epigrafe .wrap{max-width:none;width:auto;padding:0;margin:0}
body .palhacaria-texto-content .palhacaria-epigrafe .epigrafe-box{max-width:460px;margin:0 auto}

/* COLAGEM Palhaçaria 0.2.216: fotos sobrepostas + epígrafe alinhada à esquerda */
body .palhacaria-colagem{gap:0}
body .palhacaria-colagem .palhacaria-foto{position:relative;z-index:1;width:92%;margin-left:auto}
body .palhacaria-colagem-row{display:block;position:relative;z-index:2;margin-top:-88px}
body .palhacaria-colagem-row .palhacaria-colagem-item:only-child{width:64%;margin-left:0;transform:rotate(-2.5deg)}
body .palhacaria-colagem-row .palhacaria-colagem-item:only-child img{aspect-ratio:5/4;border:8px solid #fff;box-shadow:8px 8px 0 var(--teal),0 6px 18px rgba(0,0,0,.18);box-sizing:border-box}
body .palhacaria-texto-content .palhacaria-epigrafe{padding:38px 0 0}
body .palhacaria-texto-content .palhacaria-epigrafe .epigrafe-box{max-width:none;margin:0;text-align:left;padding:2px 0 2px 22px;border-left:3px solid #E14127}
body .palhacaria-texto-content .palhacaria-epigrafe .epigrafe-fonte{text-align:left}
body .palhacaria-texto-content .palhacaria-epigrafe .epigrafe-fonte::before{margin-left:0;margin-right:auto}
@media (max-width:767px){body .palhacaria-colagem .palhacaria-foto{width:100%}body .palhacaria-colagem-row{margin-top:-46px}body .palhacaria-colagem-row .palhacaria-colagem-item:only-child{width:72%}}

/* COLAGEM 0.2.217: foto principal mais alta para equilibrar com o texto */
body .palhacaria-colagem .palhacaria-foto{width:100%}
body .palhacaria-colagem .palhacaria-foto img{aspect-ratio:5/6;object-position:68% 50%}
body .palhacaria-colagem-row .palhacaria-colagem-item:only-child{width:70%;margin-left:-22px}
@media (max-width:767px){body .palhacaria-colagem .palhacaria-foto img{aspect-ratio:4/5}body .palhacaria-colagem-row .palhacaria-colagem-item:only-child{margin-left:-8px}}

/* COLAGEM 0.2.218: ajuste fino de altura */
body .palhacaria-colagem .palhacaria-foto img{aspect-ratio:4/5}
body .palhacaria-colagem-row .palhacaria-colagem-item:only-child{width:74%}
body .palhacaria-texto-content .palhacaria-epigrafe{padding-top:26px}

/* AVISO nas fotos de topo 0.2.220 */
.hero-aviso{position:absolute;right:22px;bottom:18px;z-index:4;margin:0;max-width:360px;padding:9px 14px;background:rgba(30,20,20,.82);color:#fff;font-size:.86rem;line-height:1.4;letter-spacing:.01em;border-left:3px solid #DC8728;border-radius:0}
.hero-slide .hero-aviso{bottom:22px}
@media (max-width:767px){.hero-aviso{right:10px;left:10px;bottom:10px;max-width:none;font-size:.7rem;padding:7px 10px}}

/* Banner Atuação um pouco mais alto, para caber a foto sem cortar 0.2.223 */
body.page-template-template-atuacao .page-hero{min-height:540px}
@media (max-width:767px){body.page-template-template-atuacao .page-hero{min-height:460px}}

/* ==== FIM FORMULÁRIOS ==== */

/* ==== QUEM SOMOS — colagem automática (Humanização, 1 a 3 fotos) ==== */
/* As fotos mantêm a proporção original: nunca são cortadas nem cobertas por outra foto. */
.humanizacao-media.is-collage { display: grid; grid-template-columns: 1fr 1fr; column-gap: 22px; row-gap: 22px; align-items: start; aspect-ratio: auto; box-shadow: none; }
.humanizacao-media.is-collage::before { content: ""; position: absolute; top: 14%; bottom: -14px; left: 20%; right: -14px; background: var(--teal); z-index: 0; }
.humanizacao-media.is-collage img { display: block; width: auto; height: auto; max-width: 100%; aspect-ratio: auto; object-fit: contain; position: relative; z-index: 1; box-shadow: 0 0 0 6px #FAF3E8; }
.humanizacao-media.collage-2 img { grid-column: 1 / 3; max-width: 80%; max-height: 340px; }
.humanizacao-media.collage-2 img:nth-of-type(1) { justify-self: start; }
.humanizacao-media.collage-2 img:nth-of-type(2) { justify-self: end; }
.humanizacao-media.collage-3 img:nth-of-type(1) { justify-self: end; align-self: end; max-height: 240px; }
.humanizacao-media.collage-3 img:nth-of-type(2) { justify-self: start; max-height: 300px; margin-top: 40px; }
.humanizacao-media.collage-3 img:nth-of-type(3) { grid-column: 1 / 3; justify-self: center; max-width: 80%; max-height: 300px; }
@media (max-width: 767px) {
  .humanizacao-media.is-collage { column-gap: 14px; row-gap: 14px; }
  .humanizacao-media.is-collage::before { bottom: -8px; right: -8px; }
  .humanizacao-media.is-collage img { box-shadow: 0 0 0 4px #FAF3E8; }
  .humanizacao-media.collage-2 img, .humanizacao-media.collage-3 img:nth-of-type(3) { max-height: 260px; }
  .humanizacao-media.collage-3 img:nth-of-type(1), .humanizacao-media.collage-3 img:nth-of-type(2) { max-height: 200px; }
}
/* ==== FIM COLAGEM ==== */

/* ==== NAS UNIVERSIDADES — novo layout (2026-11-01) ==== */
.univ-oque, .univ-citacao, .univ-atuacao { padding-block: var(--sp-10); }
.univ-oque-layout, .univ-bloco { display: grid; grid-template-columns: 1fr; gap: var(--sp-8); align-items: center; }
.univ-oque-layout--sem-foto, .univ-bloco--sem-foto { max-width: 820px; }
.univ-oque-text p:not(.eyebrow-kicker), .univ-bloco-text p:not(.eyebrow-kicker) { font-size: 1.1875rem; line-height: 1.7; color: #3a3a3a; }
.univ-oque-text p + p, .univ-bloco-text p + p { margin-top: var(--sp-3); }
.univ-oque-text strong, .univ-bloco-text strong { font-weight: 700; color: var(--dark); }
.univ-collage.humanizacao-media img { aspect-ratio: auto !important; height: auto; object-fit: contain; }
.univ-oque .humanizacao-media.is-collage img { box-shadow: 0 0 0 6px #FFF; }

.univ-numeros { background: #FAF3E8; padding-block: var(--sp-8); }
.univ-numeros-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-6, 2rem); }
.univ-numero { display: flex; flex-direction: column; gap: 6px; padding-left: 20px; border-left: 4px solid var(--teal); }
.univ-numero-valor { font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 800; line-height: 1; color: var(--orange-red); }
.univ-numero-legenda { font-size: 1rem; line-height: 1.5; color: #3a3a3a; }

.univ-citacao-figure { max-width: 880px; margin: 0 auto; text-align: center; }
.univ-citacao-aspas { display: block; font-size: 6rem; line-height: .7; font-weight: 800; color: var(--orange-red); margin-bottom: 8px; }
.univ-citacao blockquote { margin: 0; padding: 0; border: 0; }
.univ-citacao blockquote p { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.6; font-weight: 500; font-style: italic; color: var(--red); }
.univ-citacao figcaption { margin-top: var(--sp-3); font-size: .85rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #3a3a3a; }
.univ-citacao figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.univ-atuacao { background: #FAF3E8; }
.univ-atuacao-head { text-align: center; margin-bottom: var(--sp-8); }
.univ-atuacao-head h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; line-height: 1.2; color: var(--red); }
.univ-bloco + .univ-temas, .univ-temas + .univ-bloco { margin-top: var(--sp-10); }
.univ-bloco-text h3 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 800; line-height: 1.3; color: var(--dark); margin-bottom: var(--sp-3); }
.univ-foto { position: relative; }
.univ-foto img { display: block; width: 100%; height: auto; border-radius: 0 !important; position: relative; z-index: 1; }
.univ-foto::after { content: ""; position: absolute; width: 40px; height: 40px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; z-index: 3; top: -18px; }
.univ-foto--teal { box-shadow: 14px 14px 0 var(--teal); }
.univ-foto--teal::after { left: -18px; background: var(--orange-red); }
.univ-foto--red { box-shadow: -14px 14px 0 var(--orange-red); }
.univ-foto--red::after { right: -18px; background: var(--teal); }
.univ-tags { list-style: none; margin: var(--sp-4, 1.5rem) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.univ-tags li { border: 2px solid var(--red); color: var(--red); padding: 6px 14px; font-size: .9rem; font-weight: 700; line-height: 1.3; background: #FFF; }

.univ-temas-titulo { text-align: center; font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 800; color: var(--red); margin-bottom: var(--sp-6, 2rem); }
.univ-temas-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 20px; }
.univ-tema { background: #FFF; padding: 28px 24px; border-top: 5px solid var(--orange-red); }
.univ-tema:nth-child(even) { border-top-color: var(--teal); }
.univ-tema-num { display: block; font-size: 2rem; font-weight: 800; line-height: 1; color: var(--red); opacity: .25; margin-bottom: 14px; }
.univ-tema h4 { font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: var(--dark); margin-bottom: 8px; }
.univ-tema p { font-size: 1rem; line-height: 1.55; color: #3a3a3a; }

.univ-ph { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 24px; border: 2px dashed #CDBBA7; background: rgba(255,255,255,.6); color: #8A7765; font-weight: 600; }
.univ-ph small { font-weight: 400; font-size: .8rem; opacity: .8; }

.univ-logos { padding-block: var(--sp-8); text-align: center; }
.univ-logos-lista { list-style: none; margin: var(--sp-4, 1.5rem) 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2rem 3.5rem; }
.univ-logos-lista img { max-height: 64px; max-width: 180px; width: auto; height: auto; }

.univ-cta { background: var(--red); padding-block: var(--sp-8); }
.univ-cta-inner { display: flex; flex-direction: column; gap: var(--sp-4, 1.5rem); align-items: flex-start; }
.univ-cta h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; line-height: 1.25; color: #FFF; margin-bottom: 8px; }
.univ-cta p { font-size: 1.05rem; line-height: 1.6; color: rgba(255,255,255,.9); max-width: 640px; }
.univ-cta .btn { flex-shrink: 0; }

@media (min-width: 768px) {
  .univ-numeros-grid { grid-template-columns: repeat(3, 1fr); }
  .univ-temas-lista { grid-template-columns: repeat(2, 1fr); }
  .univ-cta-inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (min-width: 1024px) {
  .univ-oque-layout { grid-template-columns: 1.1fr 1fr; gap: var(--sp-10); }
  .univ-bloco { grid-template-columns: 1fr 1.1fr; gap: var(--sp-10); }
  .univ-bloco--reverse { grid-template-columns: 1.1fr 1fr; }
  .univ-bloco--reverse .univ-bloco-media { order: 2; }
  .univ-oque-layout--sem-foto, .univ-bloco--sem-foto { grid-template-columns: 1fr; }
  .univ-temas-lista { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 767px) {
  .univ-foto--teal { box-shadow: 8px 8px 0 var(--teal); }
  .univ-foto--red { box-shadow: -8px 8px 0 var(--orange-red); }
  .univ-citacao-aspas { font-size: 4.5rem; }
}

/* ajuste 2026-11-01: números no padrão das seções laranja + chamada final branca */
.univ-numeros { position: relative; overflow: hidden; background-color: var(--orange-red); padding-block: 80px;
  background-image:
    radial-gradient(circle at 94% 14%, rgba(255,255,255,0.14) 0 80px, transparent 81px),
    radial-gradient(circle at 3% 82%, rgba(255,255,255,0.14) 0 120px, transparent 121px),
    radial-gradient(circle at 92% 90%, rgba(109,193,214,0.95) 0 30px, transparent 31px),
    radial-gradient(circle at 9% 12%, rgba(250,243,231,0.9) 0 12px, transparent 13px); }
.univ-numeros .wrap { position: relative; z-index: 2; }
.univ-numeros-grid { gap: 52px; }
.univ-numero { --blk: var(--teal); --dot: var(--teal); position: relative; background: #FFF; border-left: 0; padding: 32px 28px; gap: 10px; box-shadow: 12px 12px 0 var(--blk); }
.univ-numero:nth-child(3n+2) { --blk: #FAF3E7; --dot: var(--orange-red); }
.univ-numero:nth-child(3n+3) { --blk: var(--red); --dot: #FAF3E7; }
.univ-numero::after { content: ""; position: absolute; top: -12px; right: -12px; width: 26px; height: 26px; border-radius: 50%; box-sizing: border-box; border: 4px solid #FFF; background: var(--dot); }
.univ-numero-legenda { color: #3a3a3a; }
.univ-cta { background: #FFF; }
.univ-cta h2 { color: var(--red); }
.univ-cta p { color: #3a3a3a; }
@media (max-width: 767px) { .univ-numeros { padding-block: 56px; } .univ-numeros-grid { gap: 36px; } .univ-numero { box-shadow: 8px 8px 0 var(--blk); } }
.univ-oque .eyebrow-kicker { font-size: 1.0625rem; letter-spacing: .16em; margin-bottom: 18px; }
/* ==== FIM NAS UNIVERSIDADES ==== */

/* ==== HOME — "Saiba mais" das Frentes de Atuação em branco e negrito ==== */
.atuacao-card .atuacao-card-link, .atuacao-grid .atuacao-card .atuacao-card-link, .atuacao-grid .atuacao-card:hover .atuacao-card-link, .atuacao-grid .atuacao-card:focus-visible .atuacao-card-link { color: #FFF !important; font-weight: 800 !important; }
.atuacao-card .atuacao-card-link svg { stroke: currentColor; color: #FFF; }
