/*
 * Palermo Design System — Theme 0.2.0
 * Todos os componentes públicos usam o prefixo cp-.
 */

:root {
  --cp-color-ink: #111213;
  --cp-color-graphite: #1b1d1f;
  --cp-color-gray-700: #4d5257;
  --cp-color-gray-300: #d8dcdf;
  --cp-color-gray-100: #f3f4f4;
  --cp-color-white: #fff;
  --cp-color-lime: #c8f000;
  --cp-color-lime-deep: #667a00;
  --cp-color-purple: #68138b;
  --cp-color-purple-dark: #3f0b55;
  --cp-content: 760px;
  --cp-wide: 1200px;
  --cp-gutter: clamp(1rem, 3vw, 2rem);
  --cp-section-space: clamp(3.75rem, 8vw, 7.5rem);
  --cp-radius-small: 0.6rem;
  --cp-radius: 1rem;
  --cp-radius-large: 1.5rem;
  --cp-shadow-soft: 0 16px 50px rgb(17 18 19 / 10%);
  --cp-shadow-lifted: 0 24px 70px rgb(17 18 19 / 16%);
  --cp-transition: 180ms ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-wrap: break-word;
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

body.cp-navigation-open {
  overflow: hidden;
}

img,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

a:hover {
  text-decoration-thickness: 0.14em;
}

:focus-visible {
  outline: 3px solid var(--cp-color-lime);
  outline-offset: 4px;
}

::selection {
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
}

.cp-container {
  width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
  margin-inline: auto;
}

.cp-content-narrow {
  width: min(100%, var(--cp-content));
}

.cp-flow > * + * {
  margin-block-start: 1.5rem;
}

.cp-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.cp-skip-link {
  position: fixed;
  z-index: 9999;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-200%);
  padding: 0.75rem 1rem;
  border-radius: var(--cp-radius-small);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
  box-shadow: 0 0 0 2px var(--cp-color-ink);
  font-weight: 800;
}

.cp-skip-link:focus {
  transform: translateY(0);
}

/* Cabeçalho e navegação. */
.cp-site-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid var(--cp-color-gray-300);
  background: rgb(255 255 255 / 96%);
}

.cp-site-header__inner {
  display: flex;
  min-height: 5.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.cp-site-branding {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
}

.cp-site-branding .custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.cp-site-branding .custom-logo {
  width: auto;
  max-height: 3rem;
}

.cp-site-title {
  color: inherit;
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.cp-navigation-toggle {
  display: none;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--cp-color-ink);
  border-radius: 999px;
  background: transparent;
  color: var(--cp-color-ink);
  cursor: pointer;
  font-size: 0.875rem;
  font-weight: 800;
}

.cp-navigation-toggle__icon {
  display: grid;
  width: 1rem;
  gap: 0.2rem;
}

.cp-navigation-toggle__icon span {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: currentcolor;
  transition: transform var(--cp-transition), opacity var(--cp-transition);
}

.cp-navigation-toggle[aria-expanded="true"] .cp-navigation-toggle__icon span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}

.cp-navigation-toggle[aria-expanded="true"] .cp-navigation-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.cp-navigation-toggle[aria-expanded="true"] .cp-navigation-toggle__icon span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

.cp-menu,
.cp-footer-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-menu a,
.cp-footer-menu a {
  color: inherit;
  font-size: 0.9rem;
  font-weight: 750;
  text-decoration: none;
}

.cp-menu a:hover,
.cp-menu .current-menu-item > a,
.cp-footer-menu a:hover {
  text-decoration: underline;
  text-decoration-color: var(--cp-color-lime-deep);
  text-decoration-thickness: 0.16em;
  text-underline-offset: 0.35em;
}

/* Estrutura editorial. */
.cp-site-main:not(.cp-site-main--front):not(.cp-site-main--dossie) {
  padding-block: var(--cp-section-space);
}

.cp-entry__header,
.cp-archive-header {
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.cp-entry__header h1,
.cp-archive-header h1 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 5.25rem);
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.cp-entry__meta,
.cp-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--cp-color-gray-700);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cp-entry__thumbnail {
  margin: 0 0 clamp(2rem, 5vw, 3.5rem);
}

.cp-entry__thumbnail img {
  width: 100%;
  border-radius: var(--cp-radius-large);
}

.cp-entry__content {
  font-size: clamp(1rem, 1.25vw, 1.125rem);
}

.cp-entry__content > * {
  max-width: 100%;
}

.cp-entry__content > * + * {
  margin-block-start: 1.5em;
}

.cp-entry__content h2,
.cp-entry__content h3 {
  margin-block-start: 2em;
}

.cp-entry__content a:not(.wp-element-button):not(.cp-button) {
  font-weight: 700;
}

/* Seções e heróis para HTML personalizado ou blocos Group. */
.cp-section,
.is-style-cp-section-light,
.is-style-cp-section-dark,
.is-style-cp-section-lime,
.is-style-cp-section-purple {
  padding-block: var(--cp-section-space);
}

.cp-section--light,
.is-style-cp-section-light {
  background: var(--cp-color-gray-100);
  color: var(--cp-color-ink);
}

.cp-section--dark,
.is-style-cp-section-dark {
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-section--lime,
.is-style-cp-section-lime {
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
}

.cp-section--purple {
  background: var(--cp-color-purple);
  color: var(--cp-color-white);
}

/* A variação roxa não é oferecida globalmente no editor. */
.is-style-cp-section-purple {
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-section__header {
  display: grid;
  max-width: 58rem;
  gap: 1rem;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.cp-section__header > * {
  margin: 0;
}

.cp-section__title {
  max-width: 18ch;
  font-size: clamp(2rem, 4.5vw, 4rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.cp-section__intro {
  max-width: 62ch;
  color: inherit;
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}

.cp-hero {
  display: grid;
  min-height: min(780px, calc(100svh - 5.25rem));
  align-items: end;
  padding-block: clamp(5rem, 12vw, 10rem);
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-hero__content {
  display: grid;
  max-width: 70rem;
  gap: 1.5rem;
}

.cp-hero__content > * {
  margin: 0;
}

.cp-hero__title {
  max-width: 14ch;
  font-size: clamp(3rem, 8vw, 7.5rem);
  letter-spacing: -0.06em;
  line-height: 0.96;
}

.cp-hero__text {
  max-width: 58ch;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(1.125rem, 2vw, 1.45rem);
}

.cp-hero__actions,
.cp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

/* Botões. */
.cp-button,
.wp-element-button,
.wp-block-button__link {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.25rem;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: transform var(--cp-transition), box-shadow var(--cp-transition), background var(--cp-transition);
}

.cp-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgb(17 18 19 / 18%);
  text-decoration: none;
}

.cp-button--secondary,
.is-style-cp-button-secondary .wp-block-button__link {
  border-color: currentcolor;
  background: transparent;
  color: inherit;
}

.cp-button--dark,
.is-style-cp-button-dark .wp-block-button__link {
  background: var(--cp-color-ink);
  color: var(--cp-color-white);
}

/* Grades, cartões e Query Loop. */
.cp-grid,
.cp-post-grid,
.wp-block-post-template.is-style-cp-card-grid,
.wp-block-query.cp-query-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  padding: 0;
  list-style: none;
}

.cp-card,
.is-style-cp-card,
.wp-block-post-template.is-style-cp-card-grid > li,
.wp-block-query.cp-query-grid .wp-block-post-template > li {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
  box-shadow: 0 1px 0 rgb(17 18 19 / 3%);
  transition: transform var(--cp-transition), box-shadow var(--cp-transition), border-color var(--cp-transition);
}

.cp-card:hover,
.wp-block-post-template.is-style-cp-card-grid > li:hover,
.wp-block-query.cp-query-grid .wp-block-post-template > li:hover {
  transform: translateY(-4px);
  border-color: rgb(17 18 19 / 35%);
  box-shadow: var(--cp-shadow-soft);
}

.cp-card__media,
.wp-block-post-template.is-style-cp-card-grid .wp-block-post-featured-image,
.wp-block-query.cp-query-grid .wp-block-post-featured-image {
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--cp-color-gray-100);
}

.cp-card__media img,
.wp-block-post-template.is-style-cp-card-grid .wp-block-post-featured-image img,
.wp-block-query.cp-query-grid .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.cp-card:hover .cp-card__media img,
.wp-block-post-template.is-style-cp-card-grid > li:hover .wp-block-post-featured-image img,
.wp-block-query.cp-query-grid .wp-block-post-template > li:hover .wp-block-post-featured-image img {
  transform: scale(1.025);
}

.cp-card__body,
.wp-block-post-template.is-style-cp-card-grid > li > :not(.wp-block-post-featured-image),
.wp-block-query.cp-query-grid .wp-block-post-template > li > :not(.wp-block-post-featured-image) {
  margin-inline: 1.25rem;
}

.cp-card__body {
  padding-block: 1.25rem 1.5rem;
}

.wp-block-post-template.is-style-cp-card-grid > li > :last-child,
.wp-block-query.cp-query-grid .wp-block-post-template > li > :last-child {
  margin-bottom: 1.5rem;
}

.cp-card__title,
.wp-block-post-template.is-style-cp-card-grid .wp-block-post-title,
.wp-block-query.cp-query-grid .wp-block-post-title {
  margin-block: 0.6rem;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  line-height: 1.15;
}

.cp-card__title a,
.wp-block-post-template.is-style-cp-card-grid .wp-block-post-title a,
.wp-block-query.cp-query-grid .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.cp-card__excerpt,
.wp-block-post-template.is-style-cp-card-grid .wp-block-post-excerpt,
.wp-block-query.cp-query-grid .wp-block-post-excerpt {
  color: var(--cp-color-gray-700);
  font-size: 0.95rem;
}

/* Marcadores e estados. */
.cp-badges,
.cp-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-badge,
.cp-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: var(--cp-color-gray-100);
  color: var(--cp-color-ink);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.cp-badge--purple {
  background: rgb(200 240 0 / 12%);
  color: var(--cp-color-lime-deep);
}

.cp-status::before {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--cp-color-lime-deep);
  content: "";
}

/* Quadros, documentos e cronologias. */
.cp-callout {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-left: 0.4rem solid var(--cp-color-lime);
  border-radius: 0 var(--cp-radius) var(--cp-radius) 0;
  background: var(--cp-color-gray-100);
}

.cp-callout--purple {
  border-left-color: var(--cp-color-lime);
}

.cp-document {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius);
  background: var(--cp-color-white);
}

.cp-document__title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
}

.cp-document__meta {
  margin: 0.25rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 0.82rem;
}

.cp-timeline {
  position: relative;
  display: grid;
  gap: 1.5rem;
  margin: 0;
  padding: 0 0 0 1.75rem;
  list-style: none;
}

.cp-timeline::before {
  position: absolute;
  top: 0.45rem;
  bottom: 0.45rem;
  left: 0.38rem;
  width: 2px;
  background: var(--cp-color-gray-300);
  content: "";
}

.cp-timeline__item {
  position: relative;
}

.cp-timeline__item::before {
  position: absolute;
  top: 0.38rem;
  left: -1.72rem;
  width: 0.78rem;
  height: 0.78rem;
  border: 2px solid var(--cp-color-white);
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 2px var(--cp-color-lime-deep);
  content: "";
}

.cp-timeline__date {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--cp-color-gray-700);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Rodapé. */
.cp-site-footer {
  margin-top: var(--cp-section-space);
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-site-main--front + .cp-site-footer {
  margin-top: 0;
}

.cp-site-main.cp-fiscalizacoes-page + .cp-site-footer {
  margin-top: 0 !important;
}

.cp-site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.cp-site-footer__identity strong {
  font-size: 1.15rem;
}

.cp-site-footer__identity p,
.cp-site-footer__copyright {
  color: rgb(255 255 255 / 68%);
  font-size: 0.875rem;
}

.cp-site-footer__copyright {
  grid-column: 1 / -1;
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / 18%);
}

/* Paginação. */
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 3rem;
}

.navigation.pagination .page-numbers {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: 999px;
  color: inherit;
  font-weight: 800;
  text-decoration: none;
}

.navigation.pagination .current {
  border-color: var(--cp-color-ink);
  background: var(--cp-color-ink);
  color: var(--cp-color-white);
}

@media (max-width: 900px) {
  .cp-site-header__inner {
    flex-wrap: wrap;
    min-height: 4.75rem;
    padding-block: 0.75rem;
  }

  .cp-js .cp-navigation-toggle {
    display: inline-flex;
  }

  .cp-primary-navigation {
    width: 100%;
  }

  .cp-js .cp-primary-navigation {
    display: none;
  }

  .cp-js .cp-primary-navigation.is-open {
    display: block;
  }

  .cp-menu {
    display: grid;
    gap: 0;
    padding-block: 0.5rem 1rem;
  }

  .cp-menu a {
    display: block;
    padding-block: 0.8rem;
    border-top: 1px solid var(--cp-color-gray-300);
    font-size: 1rem;
  }

  .cp-site-footer__inner {
    grid-template-columns: 1fr;
  }

  .cp-site-footer__copyright {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .cp-hero {
    min-height: auto;
  }

  .cp-hero__actions,
  .cp-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cp-hero__actions .cp-button,
  .cp-actions .cp-button,
  .cp-hero__actions .wp-block-button,
  .cp-actions .wp-block-button,
  .cp-hero__actions .wp-block-button__link,
  .cp-actions .wp-block-button__link {
    width: 100%;
  }

  .cp-document {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Versão 0.3.0 — arquivos, taxonomias e publicações. */
.cp-archive-description {
  max-width: 62ch;
  margin-top: 1.25rem;
  color: var(--cp-color-gray-700);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.cp-archive-description > :first-child {
  margin-top: 0;
}

.cp-archive-description > :last-child {
  margin-bottom: 0;
}

.cp-card--content {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.cp-card--content .cp-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.cp-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background:
    linear-gradient(135deg, rgb(200 240 0 / 22%), transparent 48%),
    linear-gradient(315deg, rgb(105 65 198 / 18%), transparent 52%),
    var(--cp-color-gray-100);
}

.cp-card__placeholder span {
  padding: 0.55rem 0.8rem;
  border: 1px solid rgb(17 18 19 / 18%);
  border-radius: 999px;
  background: rgb(255 255 255 / 78%);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cp-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin-bottom: 0.85rem;
  color: var(--cp-color-gray-700);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cp-card__body .cp-badges {
  margin-bottom: 0.85rem;
}

.cp-card__excerpt {
  margin: 0.35rem 0 0;
  line-height: 1.65;
}

.cp-card__footer {
  margin-top: auto;
  padding-top: 1.25rem;
}

.cp-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--cp-color-ink);
  font-size: 0.88rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-card__link span {
  transition: transform var(--cp-transition);
}

.cp-card__link:hover span {
  transform: translateX(0.25rem);
}

.cp-entry__taxonomy {
  margin-top: 1.25rem;
}

.cp-entry__thumbnail figcaption {
  margin-top: 0.75rem;
  color: var(--cp-color-gray-700);
  font-size: 0.82rem;
}

.cp-entry__content blockquote {
  margin-inline: 0;
  padding: 1.5rem clamp(1.25rem, 4vw, 2.25rem);
  border-left: 0.4rem solid var(--cp-color-lime-deep);
  border-radius: 0 var(--cp-radius) var(--cp-radius) 0;
  background: var(--cp-color-gray-100);
  font-size: 1.12em;
}

.cp-entry__content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.cp-entry__content th,
.cp-entry__content td {
  padding: 0.75rem;
  border: 1px solid var(--cp-color-gray-300);
  text-align: left;
  vertical-align: top;
}

.cp-entry__content th {
  background: var(--cp-color-gray-100);
}

.cp-entry__footer {
  display: grid;
  gap: 0.5rem;
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--cp-color-gray-300);
  color: var(--cp-color-gray-700);
  font-size: 0.88rem;
}

.cp-entry__footer p {
  margin: 0;
}

.cp-entry__footer a {
  color: inherit;
  font-weight: 700;
}

.cp-page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 2rem;
}

.cp-post-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(3rem, 7vw, 5rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--cp-color-gray-300);
}

.cp-post-navigation > :last-child {
  text-align: right;
}

.cp-post-navigation a {
  color: inherit;
  font-weight: 800;
  text-decoration: none;
}

.cp-post-navigation a:hover {
  text-decoration: underline;
  text-decoration-color: var(--cp-color-lime-deep);
}

.cp-empty-state {
  max-width: 48rem;
  padding: clamp(2rem, 6vw, 4rem);
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-gray-100);
}

.cp-empty-state h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.1;
}

.cp-empty-state p:not(.cp-eyebrow) {
  max-width: 55ch;
  color: var(--cp-color-gray-700);
}

@media (max-width: 680px) {
  .cp-post-navigation {
    grid-template-columns: 1fr;
  }

  .cp-post-navigation > :last-child {
    text-align: left;
  }

  .cp-entry__content {
    overflow-x: auto;
  }
}

/* Versão 0.4.0 — template completo dos dossiês. */
.cp-site-main--dossie {
  padding: 0;
}

.cp-dossie-cover {
  overflow: hidden;
  padding-block: clamp(4rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 85% 20%, rgb(200 240 0 / 16%), transparent 28rem),
    linear-gradient(135deg, var(--cp-color-graphite), #0d0e0f);
  color: var(--cp-color-white);
}

.cp-dossie-cover .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-dossie-cover .cp-badge {
  border: 1px solid rgb(255 255 255 / 22%);
  background: rgb(255 255 255 / 10%);
  color: var(--cp-color-white);
}

.cp-dossie-cover .cp-status {
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
}

.cp-dossie-cover__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}

.cp-dossie-cover__content {
  display: grid;
  gap: 1.25rem;
}

.cp-dossie-cover__content > * {
  margin: 0;
}

.cp-dossie-cover h1 {
  max-width: 15ch;
  font-size: clamp(3rem, 7vw, 6.5rem);
  letter-spacing: -0.06em;
  line-height: 0.98;
}

.cp-dossie-cover__summary {
  max-width: 62ch;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  line-height: 1.6;
}

.cp-dossie-cover__media {
  margin: 0;
}

.cp-dossie-cover__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--cp-radius-large);
  object-fit: cover;
  box-shadow: 0 28px 80px rgb(0 0 0 / 35%);
}

.cp-dossie-cover__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin: 0.5rem 0 0;
}

.cp-dossie-cover__meta div {
  display: grid;
  gap: 0.2rem;
}

.cp-dossie-cover__meta dt {
  color: rgb(255 255 255 / 58%);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cp-dossie-cover__meta dd {
  margin: 0;
  font-weight: 750;
}

.cp-dossie__layout {
  display: grid;
  grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
  padding-block: var(--cp-section-space);
}

.cp-dossie-nav {
  position: sticky;
  top: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius);
  background: var(--cp-color-gray-100);
}

.admin-bar .cp-dossie-nav {
  top: calc(32px + 1rem);
}

.cp-dossie-nav__title {
  margin: 0 0 0.75rem;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cp-dossie-nav ul {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-dossie-nav a {
  display: block;
  padding: 0.5rem 0;
  color: var(--cp-color-gray-700);
  font-size: 0.9rem;
  font-weight: 750;
  text-decoration: none;
}

.cp-dossie-nav a:hover {
  color: var(--cp-color-ink);
  text-decoration: underline;
  text-decoration-color: var(--cp-color-lime-deep);
}

.cp-dossie__content {
  min-width: 0;
  max-width: 860px;
}

.cp-dossie-section {
  scroll-margin-top: 2rem;
}

.cp-dossie-section + .cp-dossie-section {
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--cp-color-gray-300);
}

.cp-dossie-section__header {
  display: grid;
  gap: 0.65rem;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.cp-dossie-section__header > * {
  margin: 0;
}

.cp-dossie-section__header h2 {
  max-width: 18ch;
  font-size: clamp(2rem, 4.2vw, 3.6rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.cp-dossie-summary__lead {
  margin: 0 0 2rem;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 650;
  line-height: 1.7;
}

.cp-dossie-summary__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1rem;
}

.cp-dossie-fact {
  padding: 1.4rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius);
  background: var(--cp-color-white);
}

.cp-dossie-fact--question {
  border-left: 0.35rem solid var(--cp-color-lime-deep);
}

.cp-dossie-fact--status {
  border-left: 0.35rem solid var(--cp-color-lime-deep);
  background: rgb(200 240 0 / 7%);
}

.cp-dossie-fact h3 {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cp-dossie-fact p {
  margin: 0;
  line-height: 1.65;
}

.cp-timeline__item h3 {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
}

.cp-timeline__item p {
  margin: 0.45rem 0 0;
  line-height: 1.65;
}

.cp-timeline__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.cp-timeline__links a {
  font-size: 0.88rem;
  font-weight: 800;
}

.cp-document-list {
  display: grid;
  gap: 1rem;
}

.cp-document {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
}

.cp-document__content {
  min-width: 0;
}

.cp-document__type,
.cp-source__type {
  margin: 0 0 0.4rem;
  color: var(--cp-color-gray-700);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cp-document__description {
  margin: 0.7rem 0 0;
  color: var(--cp-color-gray-700);
  line-height: 1.6;
}

.cp-document__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.cp-document__actions .cp-button {
  min-height: 2.5rem;
  padding: 0.62rem 0.9rem;
  font-size: 0.8rem;
}

.cp-source-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding-left: 1.5rem;
}

.cp-source {
  padding: 1.25rem 0 1.25rem 0.5rem;
  border-bottom: 1px solid var(--cp-color-gray-300);
}

.cp-source:first-child {
  border-top: 1px solid var(--cp-color-gray-300);
}

.cp-source h3 {
  margin: 0;
  font-size: 1.05rem;
}

.cp-source h3 a {
  color: inherit;
}

.cp-source__meta {
  margin: 0.4rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 0.84rem;
}

.cp-source__content > p:last-child {
  margin-bottom: 0;
}

.cp-post-grid--updates {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.cp-post-grid--updates .cp-card__media {
  aspect-ratio: 16 / 9;
}

@media (max-width: 900px) {
  .cp-dossie-cover__grid,
  .cp-dossie__layout {
    grid-template-columns: 1fr;
  }

  .cp-dossie-cover__media {
    max-width: 36rem;
  }

  .cp-dossie-cover__media img {
    aspect-ratio: 16 / 10;
  }

  .cp-dossie-nav {
    position: static;
  }

  .cp-dossie-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
  }

  .cp-dossie-nav a {
    padding: 0.25rem 0;
  }
}

@media (max-width: 600px) {
  .cp-dossie-cover {
    padding-block: 3.5rem;
  }

  .cp-dossie-cover h1 {
    font-size: clamp(2.65rem, 13vw, 4rem);
  }

  .cp-dossie-cover__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .cp-dossie__layout {
    padding-block: 3.5rem;
  }

  .cp-document {
    grid-template-columns: 1fr;
  }

  .cp-document__actions,
  .cp-document__actions .cp-button {
    width: 100%;
  }
}

/* Versão 0.5.0 — Home dinâmica e Loops de Consulta. */
.cp-site-main--front > :first-child {
  margin-top: 0;
}

.cp-site-main--front > :last-child {
  margin-bottom: 0;
}

.cp-section__header--split {
  display: flex;
  max-width: none;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
}

.cp-section__header--split > * {
  margin: 0;
}

.cp-home-featured {
  background:
    radial-gradient(circle at 85% 15%, rgb(200 240 0 / 22%), transparent 30rem),
    var(--cp-color-white);
}

.cp-home-featured-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  overflow: hidden;
  border-radius: clamp(1.25rem, 3vw, 2.25rem);
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
  box-shadow: var(--cp-shadow-lifted);
}

.cp-home-featured-card__media {
  min-height: clamp(20rem, 46vw, 36rem);
  margin: 0;
  background: var(--cp-color-ink);
}

.cp-home-featured-card__media a,
.cp-home-featured-card__media img {
  width: 100%;
  height: 100%;
}

.cp-home-featured-card__media img {
  object-fit: cover;
}

.cp-home-featured-card__body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 1.25rem;
  padding: clamp(2rem, 5vw, 4.5rem);
}

.cp-home-featured-card__body > * {
  margin: 0;
}

.cp-home-featured-card__body .wp-block-post-title {
  font-size: clamp(2rem, 4vw, 4rem);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.cp-home-featured-card__body .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.cp-home-featured-card__body .wp-block-post-excerpt {
  color: rgb(255 255 255 / 76%);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.cp-home-featured-card__body .wp-block-post-excerpt__more-link {
  display: inline-flex;
  margin-top: 1rem;
  padding: 0.8rem 1.2rem;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  font-size: 0.88rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-home-query-terms {
  margin: 0;
  color: inherit;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.cp-home-query-terms a {
  color: inherit;
  text-decoration: none;
}

.cp-home-dossies-query .wp-block-post-terms,
.cp-home-posts-query .wp-block-post-date,
.cp-home-olha-lai-query .wp-block-post-date {
  margin-top: 1.25rem;
  color: var(--cp-color-gray-700);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cp-home-dossies-query .wp-block-post-excerpt__more-link,
.cp-home-posts-query .wp-block-post-excerpt__more-link,
.cp-home-olha-lai-query .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 0.75rem;
  color: var(--cp-color-ink);
  font-size: 0.86rem;
  font-weight: 850;
}

.cp-home-institutional__grid,
.cp-home-contact__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
}

.cp-home-institutional__content,
.cp-home-contact__content {
  display: grid;
  gap: 1.5rem;
  justify-items: start;
}

.cp-home-institutional__content p,
.cp-home-contact__content p {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.65;
}

.cp-home-olha-lai .cp-eyebrow,
.cp-home-contact .cp-eyebrow {
  color: rgb(255 255 255 / 72%);
}

.cp-home-olha-lai .cp-section__header .wp-block-button__link {
  color: var(--cp-color-white);
}

.cp-empty-state {
  padding: 1.25rem 1.5rem;
  border: 1px dashed currentcolor;
  border-radius: var(--cp-radius);
  color: var(--cp-color-gray-700);
}

.cp-home-olha-lai .cp-empty-state {
  color: rgb(255 255 255 / 78%);
}

@media (max-width: 900px) {
  .cp-section__header--split {
    align-items: flex-start;
    flex-direction: column;
  }

  .cp-home-featured-card,
  .cp-home-institutional__grid,
  .cp-home-contact__inner {
    grid-template-columns: 1fr;
  }

  .cp-home-featured-card__media {
    min-height: clamp(15rem, 60vw, 28rem);
  }
}

@media (max-width: 600px) {
  .cp-section__header--split .wp-block-buttons,
  .cp-section__header--split .wp-block-button,
  .cp-section__header--split .wp-block-button__link,
  .cp-home-institutional__content .cp-button,
  .cp-home-contact__content .cp-button {
    width: 100%;
  }
}

/* Versão 0.9.0-rc2 — páginas institucionais, contato, filtros e correções de homologação. */
.cp-site-header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  box-shadow: 0 1px 0 rgb(17 18 19 / 5%);
}

.cp-site-title {
  display: grid;
  gap: 0.1rem;
}

.cp-site-title__tagline {
  color: var(--cp-color-gray-700);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cp-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  font-size: 0.85rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-page-hero {
  padding-block: clamp(4rem, 9vw, 8rem);
  background:
    radial-gradient(circle at 80% 15%, rgb(200 240 0 / 20%), transparent 24rem),
    var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-page-hero__inner {
  display: grid;
  gap: 1.25rem;
}

.cp-page-hero h1 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(3rem, 8vw, 7.5rem);
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.cp-page-hero__excerpt {
  max-width: 62ch;
  margin: 0;
  color: rgb(255 255 255 / 75%);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.cp-institutional-page .cp-page-content {
  background: var(--cp-color-white);
}

.cp-contact-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}

.cp-contact-card,
.cp-contact-form {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-white);
  box-shadow: var(--cp-shadow-soft);
}

.cp-contact-card h2,
.cp-contact-form h2 {
  margin-top: 0;
}

.cp-contact-links {
  display: grid;
  gap: 0.65rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.cp-contact-form input:not([type="checkbox"]):not([type="radio"]),
.cp-contact-form select,
.cp-contact-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-small);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
}

.cp-contact-form button,
.cp-contact-form input[type="submit"] {
  min-height: 2.85rem;
  padding: 0.7rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  cursor: pointer;
  font-weight: 850;
}

.cp-dossie-filters {
  display: grid;
  grid-template-columns: minmax(15rem, 1.5fr) repeat(5, minmax(9rem, 1fr));
  gap: 1rem;
  margin-bottom: clamp(2rem, 5vw, 4rem);
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-gray-100);
}

.cp-dossie-filters > div {
  display: grid;
  align-content: end;
  gap: 0.4rem;
}

.cp-dossie-filters label {
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cp-dossie-filters input,
.cp-dossie-filters select {
  width: 100%;
  min-height: 2.8rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-small);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
}

.cp-dossie-filters__actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.75rem !important;
}

.cp-dossie-filters__actions a {
  color: var(--cp-color-gray-700);
  font-size: 0.85rem;
  font-weight: 750;
}

.cp-section--purple .cp-card {
  border-color: rgb(255 255 255 / 15%);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
}

@media (max-width: 1100px) {
  .cp-dossie-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-dossie-filters__search,
  .cp-dossie-filters__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .cp-header-cta {
    display: none;
  }

  .cp-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .cp-page-hero {
    padding-block: 3.5rem;
  }

  .cp-dossie-filters {
    grid-template-columns: 1fr;
  }

  .cp-dossie-filters__search,
  .cp-dossie-filters__actions {
    grid-column: auto;
  }

  .cp-dossie-filters__actions,
  .cp-dossie-filters__actions .cp-button {
    width: 100%;
  }
}

.cp-social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-social-links a {
  display: inline-grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 999px;
  color: var(--cp-color-white);
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.cp-social-links a:hover {
  border-color: var(--cp-color-lime);
  background: var(--cp-color-lime);
  color: var(--cp-color-graphite);
  text-decoration: none;
  transform: translateY(-2px);
}

.cp-social-links a:focus-visible {
  outline: 3px solid var(--cp-color-lime);
  outline-offset: 3px;
}

.cp-social-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
  .cp-social-links a {
    transition: none;
  }

  .cp-social-links a:hover {
    transform: none;
  }
}

.cp-footer-social-directory {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / 18%);
}

.cp-footer-social-group {
  display: grid;
  gap: 0.55rem;
}

.cp-footer-social-group > strong {
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cp-public-action-social {
  border-top: 1px solid var(--cp-color-gray-300);
  background: var(--cp-color-gray-100);
}

.cp-public-action-social .cp-container {
  display: grid;
  justify-items: start;
  gap: 0.8rem;
}

.cp-public-action-social h2 {
  margin: 0;
}

@media (max-width: 600px) {
  .cp-footer-social-directory {
    grid-template-columns: 1fr;
  }
}

.cp-dossie-resumo,
.cp-dossie-evidencias,
.cp-dossie-perguntas {
  margin-block: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.25rem, 4vw, 2.25rem);
  border-radius: var(--cp-radius-large);
}

.cp-dossie-resumo {
  border: 1px solid var(--cp-color-gray-300);
  background: var(--cp-color-gray-100);
}

.cp-dossie-evidencias {
  border-left: 0.45rem solid var(--cp-color-lime);
  background: var(--cp-color-white);
  box-shadow: var(--cp-shadow-soft);
}

.cp-dossie-perguntas {
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-dossie-resumo > :first-child,
.cp-dossie-evidencias > :first-child,
.cp-dossie-perguntas > :first-child {
  margin-top: 0;
}

.cp-dossie-resumo > :last-child,
.cp-dossie-evidencias > :last-child,
.cp-dossie-perguntas > :last-child {
  margin-bottom: 0;
}

.cp-search-form {
  display: grid;
  gap: 0.45rem;
  max-width: 48rem;
}

.cp-search-form > label {
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cp-search-form__row {
  display: flex;
  gap: 0.65rem;
}

.cp-search-form input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 2.9rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-small);
}

.cp-search-form button {
  min-height: 2.9rem;
  padding: 0.7rem 1.1rem;
  border: 0;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  cursor: pointer;
  font-weight: 850;
}

@media (max-width: 520px) {
  .cp-search-form__row {
    flex-direction: column;
  }
}

/* Versão 0.9.0-rc3 — equipe, autoria e vídeos. */
.cp-byline,
.cp-byline a,
.cp-card__byline a,
.cp-video-card__author a {
  color: inherit;
}

.cp-card__byline {
  margin: -0.35rem 0 0.85rem;
  color: var(--cp-color-gray-700);
  font-size: 0.82rem;
  line-height: 1.45;
}

.cp-entry__meta .cp-byline {
  text-transform: none;
  letter-spacing: normal;
}

.cp-author-directory {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
  margin: -1.5rem 0 clamp(2rem, 5vw, 4rem);
  padding: 1rem 1.15rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius);
  background: var(--cp-color-gray-100);
}

.cp-author-directory .cp-eyebrow {
  margin: 0;
}

.cp-author-directory ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-author-directory a {
  display: inline-flex;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-author-box {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 2rem);
  align-items: start;
  margin-top: clamp(2.5rem, 6vw, 5rem);
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-gray-100);
}

.cp-author-box__photo img,
.cp-author-hero__photo img,
.cp-team-card__photo img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}

.cp-author-box h2,
.cp-author-box p {
  margin-top: 0;
}

.cp-author-box h2 {
  margin-bottom: 0.35rem;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.cp-author-box h2 a,
.cp-author-hero h1,
.cp-team-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cp-author-box__role,
.cp-author-hero__role,
.cp-team-card__role {
  color: var(--cp-color-lime-deep);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cp-author-hero {
  display: grid;
  grid-template-columns: minmax(8rem, 13rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 6vw, 5rem);
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

.cp-author-hero h1 {
  margin: 0;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  letter-spacing: -0.05em;
  line-height: 1;
}

.cp-author-hero__role {
  color: var(--cp-color-lime);
}

.cp-author-hero__bio {
  max-width: 62ch;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.cp-team-grid,
.cp-video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  margin-block: 2rem;
}

.cp-team-card,
.cp-video-card {
  overflow: hidden;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: var(--cp-radius-large);
  background: var(--cp-color-white);
  color: var(--cp-color-ink);
  box-shadow: 0 1px 0 rgb(17 18 19 / 3%);
}

.cp-team-card__photo {
  padding: clamp(1.25rem, 4vw, 2rem) clamp(2.5rem, 7vw, 4.5rem) 0;
}

.cp-team-card__body,
.cp-video-card__body {
  padding: 1.25rem 1.4rem 1.5rem;
}

.cp-team-card h3,
.cp-video-card h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.15;
}

.cp-team-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1rem;
}

.cp-team-card__links a {
  color: var(--cp-color-ink);
  font-size: 0.82rem;
  font-weight: 800;
}

.cp-team-grid--compact .cp-team-card__photo {
  padding-inline: clamp(3rem, 8vw, 5rem);
}

.cp-video-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--cp-color-ink);
}

.cp-video-card__media iframe,
.cp-video-card__media img {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.cp-video-card__fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--cp-color-white);
  font-weight: 850;
}

.cp-video-card__label,
.cp-video-card__author {
  margin: 0 0 0.55rem;
  color: var(--cp-color-gray-700);
  font-size: 0.78rem;
  font-weight: 750;
}

.cp-video-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cp-section--purple .cp-video-card,
.cp-home-olha-lai-videos .cp-video-card {
  border-color: rgb(255 255 255 / 18%);
}

.cp-home-equipe .wp-block-buttons {
  margin-top: 2rem;
}

@media (max-width: 700px) {
  .cp-author-box,
  .cp-author-hero {
    grid-template-columns: 1fr;
  }

  .cp-author-box__photo,
  .cp-author-hero__photo {
    width: 8rem;
  }

  .cp-author-directory {
    align-items: flex-start;
    flex-direction: column;
  }
}

.cp-home-query-author {
  margin-top: -0.2rem;
  color: var(--cp-color-gray-700);
  font-size: 0.8rem;
  line-height: 1.4;
}

/* Versão 0.9.0-rc4 — dimensionamento da equipe e estabilidade do cabeçalho. */
.cp-site-header .cp-site-header__inner {
  width: min(100% - (2 * var(--cp-gutter)), 1500px);
  gap: clamp(0.75rem, 1.35vw, 1.35rem);
}

.cp-site-branding {
  flex: 0 1 18rem;
  min-width: 0;
}

.cp-primary-navigation {
  flex: 1 1 auto;
  min-width: 0;
}

.cp-menu {
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.65rem clamp(0.65rem, 1.05vw, 1.15rem);
}

.cp-menu a {
  white-space: nowrap;
  font-size: clamp(0.78rem, 0.8vw, 0.9rem);
}

.cp-header-cta {
  flex: 0 0 auto;
  white-space: nowrap;
}

.cp-team-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 21rem));
  justify-content: center;
}

.cp-team-grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 18rem));
}

.cp-team-card {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.cp-team-card__photo,
.cp-team-grid--compact .cp-team-card__photo {
  display: grid;
  place-items: center;
  padding: 1.5rem 1.25rem 0;
}

.cp-team-card__photo img {
  width: 10rem;
  height: 10rem;
  max-width: 100%;
  flex: 0 0 auto;
}

.cp-team-grid--compact .cp-team-card__photo img {
  width: 8.5rem;
  height: 8.5rem;
}

.cp-team-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.cp-team-card__links {
  margin-top: auto;
  padding-top: 1rem;
}

@media (max-width: 1320px) {
  .cp-site-header__inner {
    flex-wrap: wrap;
    min-height: 4.75rem;
    padding-block: 0.75rem;
  }

  .cp-js .cp-navigation-toggle {
    display: inline-flex;
  }

  .cp-primary-navigation {
    order: 4;
    width: 100%;
    flex: 1 0 100%;
  }

  .cp-js .cp-primary-navigation {
    display: none;
  }

  .cp-js .cp-primary-navigation.is-open {
    display: block;
  }

  .cp-menu {
    display: grid;
    justify-content: stretch;
    gap: 0;
    padding-block: 0.5rem 1rem;
  }

  .cp-menu a {
    display: block;
    padding-block: 0.8rem;
    border-top: 1px solid var(--cp-color-gray-300);
    font-size: 1rem;
    white-space: normal;
  }
}

@media (max-width: 620px) {
  .cp-site-branding {
    flex: 1 1 calc(100% - 6rem);
  }

  .cp-header-cta {
    display: none;
  }

  .cp-team-grid,
  .cp-team-grid--compact {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* Versão 0.9.5 — equipe como rede viva de contribuições. */
.cp-team-experience {
  --cp-team-surface: #0b0d0e;
  --cp-team-surface-soft: #111416;
  --cp-team-line: rgb(190 242 0 / 78%);
  --cp-team-muted: rgb(255 255 255 / 68%);
  overflow: clip;
  background: var(--cp-team-surface);
  color: #fff;
}

.cp-team-stage {
  position: relative;
  isolation: isolate;
  padding: clamp(3.5rem, 8vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 82% 35%, rgb(190 242 0 / 10%), transparent 28rem),
    linear-gradient(135deg, #090b0c 0%, #111416 70%, #0c1107 100%);
}

.cp-team-stage::before,
.cp-team-stage::after {
  position: absolute;
  z-index: -1;
  width: 22rem;
  height: 22rem;
  border: 1px solid rgb(190 242 0 / 12%);
  border-radius: 50%;
  content: "";
}

.cp-team-stage::before { top: -11rem; right: -5rem; }
.cp-team-stage::after { bottom: -15rem; left: -11rem; }

.cp-team-stage__grid {
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(0, 1.75fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
}

.cp-team-breadcrumb {
  margin: 0 0 clamp(2.5rem, 5vw, 5rem);
  color: rgb(255 255 255 / 62%);
  font-size: .78rem;
  font-weight: 750;
}

.cp-team-breadcrumb a { color: inherit; text-decoration: none; }
.cp-team-breadcrumb span { margin-inline: .5rem; color: var(--cp-color-lime); }

.cp-team-intro h1 {
  margin: .65rem 0 1.5rem;
  max-width: 7ch;
  color: #fff;
  font-size: clamp(3.2rem, 7vw, 7.8rem);
  letter-spacing: -.075em;
  line-height: .88;
}

.cp-team-intro h1 span {
  display: block;
  color: var(--cp-color-lime);
  text-shadow: 0 0 2rem rgb(190 242 0 / 18%);
}

.cp-team-intro__text {
  max-width: 37ch;
  color: var(--cp-team-muted);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.75;
}

.cp-team-manifesto {
  display: flex;
  gap: .85rem;
  align-items: center;
  margin-top: 2.5rem;
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cp-team-manifesto span {
  width: .75rem;
  height: .75rem;
  border: 2px solid rgb(190 242 0 / 60%);
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 .4rem rgb(190 242 0 / 8%), 0 0 1.25rem rgb(190 242 0 / 55%);
}

.cp-team-constellation { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.cp-team-constellation span {
  position: absolute;
  top: var(--y);
  left: var(--x);
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 1rem rgb(190 242 0 / 70%);
  animation: cp-team-pulse 3.5s var(--delay) ease-in-out infinite;
}

.cp-team-leader {
  --cp-pointer-x: 50%;
  --cp-pointer-y: 50%;
  position: relative;
  display: grid;
  grid-template-columns: minmax(13rem, .72fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: stretch;
  overflow: hidden;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgb(190 242 0 / 78%);
  border-radius: 2rem;
  background:
    radial-gradient(circle at var(--cp-pointer-x) var(--cp-pointer-y), rgb(190 242 0 / 11%), transparent 17rem),
    linear-gradient(145deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1%));
  box-shadow: 0 0 0 1px rgb(255 255 255 / 4%), 0 2rem 5rem rgb(0 0 0 / 30%);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}

.cp-team-leader::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 25%, rgb(255 255 255 / 8%) 44%, transparent 62%);
  content: "";
  opacity: 0;
  transform: translateX(-70%);
  transition: opacity .4s ease, transform .8s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}

.cp-team-leader:hover,
.cp-team-leader:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 0 0 1px rgb(190 242 0 / 38%), 0 2rem 6rem rgb(190 242 0 / 12%);
}

.cp-team-leader:hover::before,
.cp-team-leader:focus-within::before { opacity: 1; transform: translateX(70%); }

.cp-team-leader__photo { min-height: 31rem; overflow: hidden; border-radius: 1.5rem; background: #171a1c; }
.cp-team-leader__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .55s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.cp-team-leader:hover .cp-team-leader__photo img,
.cp-team-leader:focus-within .cp-team-leader__photo img { filter: grayscale(.15) contrast(1); transform: scale(1.025); }

.cp-team-leader__content { display: flex; min-width: 0; flex-direction: column; padding: clamp(1rem, 3vw, 2.2rem) clamp(.25rem, 2vw, 1.2rem); }
.cp-team-leader__badge { display: inline-flex; width: fit-content; gap: .55rem; align-items: center; margin: 0 0 1rem; color: var(--cp-color-lime); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cp-team-leader__badge span { display: grid; width: 2.2rem; height: 2.2rem; border: 1px solid var(--cp-color-lime); border-radius: 50%; place-items: center; }
.cp-team-leader h2 { margin: 0; font-size: clamp(2.6rem, 5vw, 5.5rem); letter-spacing: -.06em; line-height: .95; }
.cp-team-leader__role { margin: .9rem 0 1.25rem; color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.cp-team-leader__bio { max-width: 57ch; color: var(--cp-team-muted); line-height: 1.75; }
.cp-team-leader__pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: auto; padding-top: 2rem; }
.cp-team-leader__pillars span { position: relative; padding-top: 2.25rem; color: rgb(255 255 255 / 77%); font-size: .7rem; font-weight: 760; letter-spacing: .045em; text-transform: uppercase; }
.cp-team-leader__pillars span::before { position: absolute; top: .4rem; left: .15rem; width: 1rem; height: 1rem; border: 1px solid var(--cp-color-lime); border-radius: 50%; content: ""; box-shadow: 1.25rem 0 0 -.35rem rgb(190 242 0 / 55%); }

.cp-team-leader__links,
.cp-team-profile__links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: 1.8rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgb(255 255 255 / 12%);
}
.cp-team-leader__links a,
.cp-team-profile__links a { color: #fff; font-size: .78rem; font-weight: 800; text-decoration: none; }
.cp-team-leader__links a:hover,
.cp-team-leader__links a:focus-visible,
.cp-team-profile__links a:hover,
.cp-team-profile__links a:focus-visible { color: var(--cp-color-lime); }

.cp-team-connections { position: relative; padding: clamp(4rem, 8vw, 8rem) 0; background: #090b0c; }
.cp-team-connections__header { margin-inline: auto; max-width: 48rem; text-align: center; }
.cp-team-connections__header h2 { margin: .4rem 0 0; font-size: clamp(1.1rem, 2vw, 1.45rem); font-weight: 500; }

.cp-team-network { position: relative; margin-top: clamp(4rem, 8vw, 7rem); padding-top: clamp(3rem, 6vw, 5rem); }
.cp-team-network__hub { position: absolute; z-index: 2; top: 0; left: 50%; width: 1.5rem; height: 1.5rem; transform: translateX(-50%); }
.cp-team-network__hub::before,
.cp-team-network__hub::after,
.cp-team-network__hub span { position: absolute; inset: 0; border-radius: 50%; content: ""; }
.cp-team-network__hub::before { background: var(--cp-color-lime); box-shadow: 0 0 2rem rgb(190 242 0 / 85%); }
.cp-team-network__hub::after { animation: cp-team-radar 2.8s ease-out infinite; border: 1px solid rgb(190 242 0 / 50%); }

.cp-team-network__svg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.cp-team-network__svg path { fill: none; stroke: var(--cp-team-line); stroke-width: 1.25; stroke-dasharray: 5 7; opacity: .75; animation: cp-team-flow 14s linear infinite; animation-delay: var(--cp-path-delay); }
.cp-team-network__svg circle { fill: var(--cp-color-lime); filter: drop-shadow(0 0 7px rgb(190 242 0 / 85%)); animation: cp-team-pulse 2.8s ease-in-out infinite; animation-delay: var(--cp-path-delay); }

.cp-team-support-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.8rem); }

.cp-team-profile {
  --cp-profile-accent: var(--cp-color-lime);
  --cp-pointer-x: 50%;
  --cp-pointer-y: 50%;
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at var(--cp-pointer-x) var(--cp-pointer-y), color-mix(in srgb, var(--cp-profile-accent) 12%, transparent), transparent 14rem),
    linear-gradient(145deg, rgb(255 255 255 / 5%), rgb(255 255 255 / 1%));
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 14%);
  transition: border-color .35s ease, box-shadow .4s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}
.cp-team-profile--2 { --cp-profile-accent: #4f9cff; }
.cp-team-profile--3 { --cp-profile-accent: #ff9b31; }
.cp-team-profile:hover,
.cp-team-profile:focus-within { z-index: 3; border-color: var(--cp-profile-accent); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cp-profile-accent) 30%, transparent), 0 1.8rem 4rem color-mix(in srgb, var(--cp-profile-accent) 12%, transparent); transform: translateY(-7px) rotate(.15deg); }
.cp-team-profile__bookmark { position: absolute; top: 0; right: 1.2rem; width: 1.1rem; height: 2rem; background: var(--cp-profile-accent); clip-path: polygon(0 0,100% 0,100% 100%,50% 72%,0 100%); }
.cp-team-profile__heading { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; align-items: center; }
.cp-team-profile__photo { position: relative; width: 7.5rem; height: 7.5rem; padding: .3rem; border: 1px solid var(--cp-profile-accent); border-radius: 50%; }
.cp-team-profile__photo::after { position: absolute; inset: -.5rem; border: 1px solid color-mix(in srgb, var(--cp-profile-accent) 28%, transparent); border-radius: 50%; content: ""; transition: transform .55s ease; }
.cp-team-profile:hover .cp-team-profile__photo::after,
.cp-team-profile:focus-within .cp-team-profile__photo::after { transform: rotate(16deg) scale(1.04); }
.cp-team-profile__photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; filter: saturate(.82); transition: filter .45s ease, transform .6s ease; }
.cp-team-profile:hover .cp-team-profile__photo img,
.cp-team-profile:focus-within .cp-team-profile__photo img { filter: saturate(1.1); transform: scale(1.04); }
.cp-team-profile h3 { margin: 0; font-size: clamp(1.7rem, 2.5vw, 2.65rem); letter-spacing: -.045em; line-height: .95; }
.cp-team-profile__role { margin: .85rem 0 0; color: var(--cp-profile-accent); font-size: .68rem; font-weight: 850; letter-spacing: .055em; line-height: 1.55; text-transform: uppercase; }
.cp-team-profile__bio { margin: 1.5rem 0; padding-top: 1.3rem; border-top: 1px solid rgb(255 255 255 / 12%); color: var(--cp-team-muted); line-height: 1.72; }
.cp-team-profile__focus { display: flex; width: fit-content; gap: .6rem; align-items: center; margin: auto 0 0; padding: .55rem .8rem; border: 1px solid color-mix(in srgb, var(--cp-profile-accent) 35%, transparent); border-radius: 999px; color: var(--cp-profile-accent); font-size: .67rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.cp-team-profile__focus span { width: .55rem; height: .55rem; border: 1px solid currentColor; border-radius: 50%; box-shadow: .65rem 0 0 -.17rem currentColor; }

.cp-team-publications { padding: clamp(4rem, 8vw, 8rem) 0; border-top: 1px solid rgb(255 255 255 / 12%); background: #0c0e10; }
.cp-team-publications__layout { display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.55fr); gap: clamp(2rem, 5vw, 5rem); }
.cp-team-publications__intro h2 { margin: .7rem 0 1rem; font-size: clamp(2.2rem, 4.5vw, 4.8rem); letter-spacing: -.06em; line-height: .95; }
.cp-team-publications__intro > p:not(.cp-eyebrow) { color: var(--cp-team-muted); line-height: 1.7; }
.cp-button--outline-lime { margin-top: 1.25rem; border: 1px solid var(--cp-color-lime); background: transparent; color: var(--cp-color-lime); }
.cp-button--outline-lime:hover,
.cp-button--outline-lime:focus-visible { background: var(--cp-color-lime); color: var(--cp-color-ink); }
.cp-team-publications__filters { display: flex; gap: .25rem; overflow-x: auto; margin-bottom: 1.2rem; border-bottom: 1px solid rgb(255 255 255 / 12%); scrollbar-width: thin; }
.cp-team-publications__filters button { flex: 0 0 auto; padding: .85rem 1rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: rgb(255 255 255 / 62%); cursor: pointer; font: inherit; font-size: .78rem; }
.cp-team-publications__filters button[aria-selected="true"] { border-color: var(--cp-color-lime); color: var(--cp-color-lime); }
.cp-team-publications__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cp-team-publication-card { overflow: hidden; border: 1px solid rgb(255 255 255 / 12%); border-radius: 1.15rem; background: rgb(255 255 255 / 3%); transition: border-color .3s ease, transform .35s ease; }
.cp-team-publication-card:hover,
.cp-team-publication-card:focus-within { border-color: rgb(190 242 0 / 48%); transform: translateY(-4px); }
.cp-team-publication-card[hidden] { display: none; }
.cp-team-publication-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #171a1d, #232a19); color: var(--cp-color-lime); }
.cp-team-publication-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.cp-team-publication-card:hover .cp-team-publication-card__media img { transform: scale(1.035); }
.cp-team-publication-card__media span { display: grid; height: 100%; place-items: center; font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cp-team-publication-card__body { padding: 1rem 1.1rem 1.15rem; }
.cp-team-publication-card__category { margin: 0 0 .65rem; color: var(--cp-color-lime); font-size: .65rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.cp-team-publication-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.cp-team-publication-card h3 a { color: #fff; text-decoration: none; }
.cp-team-publication-card__author,
.cp-team-publication-card time { display: block; margin: .8rem 0 0; color: rgb(255 255 255 / 56%); font-size: .7rem; }
.cp-team-publication-card time { margin-top: .15rem; }

.cp-team-purpose { padding: 0 0 clamp(4rem, 7vw, 7rem); background: #0c0e10; }
.cp-team-purpose__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(15rem, .8fr); gap: clamp(1rem, 3vw, 2.5rem); align-items: center; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgb(255 255 255 / 18%); border-radius: 1.4rem; background: linear-gradient(110deg, rgb(255 255 255 / 4%), rgb(190 242 0 / 3%)); }
.cp-team-purpose__icon { display: grid; width: 3rem; height: 3rem; border: 1px solid var(--cp-color-lime); border-radius: 50%; color: var(--cp-color-lime); place-items: center; }
.cp-team-purpose p { margin: 0; font-size: clamp(1.5rem, 3vw, 2.8rem); letter-spacing: -.04em; }
.cp-team-purpose p strong { color: var(--cp-color-lime); font-weight: inherit; }
.cp-team-purpose__inner > span:last-child { color: var(--cp-team-muted); line-height: 1.65; }

/* A seção compacta da Home passa a comunicar liderança + rede. */
.cp-home-equipe { position: relative; overflow: hidden; background: #0c0e10 !important; color: #fff; }
.cp-home-equipe::before { position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgb(190 242 0 / 7%), transparent 33rem); content: ""; pointer-events: none; }
.cp-home-equipe .cp-container { position: relative; }
.cp-home-equipe .cp-section__title,
.cp-home-equipe .cp-section__intro { color: #fff; }
.cp-home-equipe .cp-section__intro { color: var(--cp-team-muted); }
.cp-home-equipe .cp-team-grid { position: relative; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; padding-top: 3.5rem; }
.cp-home-equipe .cp-team-card { position: relative; z-index: 1; overflow: visible; border-color: rgb(255 255 255 / 20%); background: rgb(255 255 255 / 4%); color: #fff; transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .4s ease; }
.cp-home-equipe .cp-team-card--lead { grid-column: 1 / -1; display: grid; max-width: 56rem; grid-template-columns: 12rem minmax(0, 1fr); justify-self: center; }
.cp-home-equipe .cp-team-card:hover,
.cp-home-equipe .cp-team-card:focus-within { border-color: var(--cp-color-lime); box-shadow: 0 1.7rem 4rem rgb(190 242 0 / 10%); transform: translateY(-6px); }
.cp-home-equipe .cp-team-card__photo { align-self: center; }
.cp-home-equipe .cp-team-card__photo img { border: 1px solid rgb(190 242 0 / 55%); filter: grayscale(.55); transition: filter .4s ease, transform .5s ease; }
.cp-home-equipe .cp-team-card:hover .cp-team-card__photo img,
.cp-home-equipe .cp-team-card:focus-within .cp-team-card__photo img { filter: grayscale(0); transform: scale(1.035); }
.cp-home-equipe .cp-team-card__focus { color: var(--cp-color-lime); font-size: .65rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.cp-home-equipe .cp-team-card h3 a,
.cp-home-equipe .cp-team-card__links a { color: #fff; }
.cp-home-equipe .cp-team-card__role { color: var(--cp-color-lime); }
.cp-home-equipe .cp-team-card__bio { color: var(--cp-team-muted); line-height: 1.55; }
.cp-home-equipe .cp-team-card__bio--compact { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.cp-home-equipe .cp-team-card__links { border-top: 1px solid rgb(255 255 255 / 12%); }
.cp-home-equipe .cp-team-card__marker { position: absolute; top: -.45rem; right: 1rem; width: 2.1rem; height: .3rem; border-radius: 999px; background: var(--cp-color-lime); box-shadow: 0 0 1rem rgb(190 242 0 / 58%); }
.cp-home-equipe .cp-team-network__svg { z-index: 0; }
.cp-home-equipe .cp-team-network__svg path { stroke: rgb(190 242 0 / 50%); }

@keyframes cp-team-flow { to { stroke-dashoffset: -240; } }
@keyframes cp-team-pulse { 0%,100% { opacity: .35; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.2); } }
@keyframes cp-team-radar { from { opacity: .8; transform: scale(.7); } to { opacity: 0; transform: scale(2.7); } }

@media (max-width: 1100px) {
  .cp-team-stage__grid { grid-template-columns: 1fr; }
  .cp-team-intro { max-width: 48rem; }
  .cp-team-intro h1 { max-width: none; }
  .cp-team-leader { max-width: 70rem; }
  .cp-team-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-team-publications__layout { grid-template-columns: 1fr; }
  .cp-team-publications__intro { max-width: 45rem; }
  .cp-team-publications__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-home-equipe .cp-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .cp-team-stage { padding-top: 2.5rem; }
  .cp-team-breadcrumb { margin-bottom: 2rem; }
  .cp-team-leader { grid-template-columns: 1fr; }
  .cp-team-leader__photo { min-height: 24rem; }
  .cp-team-leader__pillars { grid-template-columns: 1fr; }
  .cp-team-support-grid,
  .cp-team-publications__grid,
  .cp-home-equipe .cp-team-grid { grid-template-columns: 1fr; }
  .cp-team-network { padding-top: 1rem; }
  .cp-team-network__hub,
  .cp-team-network__svg { display: none; }
  .cp-team-profile__heading { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .cp-team-profile__photo { width: 6.5rem; height: 6.5rem; }
  .cp-team-purpose__inner { grid-template-columns: auto 1fr; }
  .cp-team-purpose__inner > span:last-child { grid-column: 1 / -1; }
  .cp-home-equipe .cp-team-card--lead { grid-column: auto; display: flex; max-width: none; }
}

@media (max-width: 480px) {
  .cp-team-intro h1 { font-size: clamp(3rem, 18vw, 5rem); }
  .cp-team-profile__heading { grid-template-columns: 1fr; }
  .cp-team-profile__photo { width: 7rem; height: 7rem; }
  .cp-team-leader__links,
  .cp-team-profile__links { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-team-constellation span,
  .cp-team-network__hub::after,
  .cp-team-network__svg path,
  .cp-team-network__svg circle { animation: none !important; }
  .cp-team-leader,
  .cp-team-leader::before,
  .cp-team-leader__photo img,
  .cp-team-profile,
  .cp-team-profile__photo::after,
  .cp-team-profile__photo img,
  .cp-team-publication-card,
  .cp-team-publication-card__media img,
  .cp-home-equipe .cp-team-card,
  .cp-home-equipe .cp-team-card__photo img { transition: none !important; }
}

/* Versão 0.9.6 — correção estrutural e proporções da experiência Equipe. */
.cp-team-experience {
  --cp-team-page-wide: 1440px;
}

.cp-team-experience .cp-container {
  width: min(100% - (2 * clamp(1.25rem, 3vw, 3rem)), var(--cp-team-page-wide));
}

.cp-team-stage {
  padding-block: clamp(4rem, 7vw, 7rem);
}

.cp-team-stage__grid {
  grid-template-columns: minmax(20rem, .58fr) minmax(42rem, 1.42fr);
  gap: clamp(3rem, 5vw, 5.5rem);
  align-items: center;
}

.cp-team-intro {
  min-width: 0;
}

.cp-team-intro h1 {
  max-width: 8ch;
  font-size: clamp(3.7rem, 5.4vw, 6rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.cp-team-intro__text,
.cp-team-manifesto {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.cp-team-leader {
  grid-template-columns: minmax(17.5rem, .82fr) minmax(24rem, 1.18fr);
  gap: clamp(1.75rem, 3vw, 3rem);
  width: 100%;
  min-width: 0;
  padding: clamp(1rem, 1.7vw, 1.4rem);
}

.cp-team-leader__photo {
  min-height: 0;
  aspect-ratio: 4 / 5;
}

.cp-team-leader__content {
  min-width: 0;
  padding: clamp(1.2rem, 2.4vw, 2.4rem) clamp(.4rem, 1.5vw, 1.4rem);
}

.cp-team-leader h2 {
  max-width: 12ch;
  font-size: clamp(2.8rem, 4vw, 4.75rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.cp-team-leader__role,
.cp-team-leader__bio,
.cp-team-leader__pillars span,
.cp-team-leader__links a,
.cp-team-profile h3,
.cp-team-profile__role,
.cp-team-profile__bio,
.cp-team-profile__focus,
.cp-team-profile__links a {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.cp-team-connections {
  padding-block: clamp(4.5rem, 7vw, 7.5rem);
}

.cp-team-network {
  min-width: 0;
  margin-top: clamp(3.5rem, 6vw, 6rem);
  padding-top: clamp(4rem, 6vw, 5.5rem);
}

.cp-team-network__svg {
  z-index: 0;
  contain: layout paint;
}

.cp-team-support-grid {
  z-index: 1;
  grid-template-columns: repeat(3, minmax(17rem, 1fr));
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: stretch;
}

.cp-team-profile {
  min-width: 0;
  min-height: 34rem;
  padding: clamp(1.35rem, 2vw, 2rem);
}

.cp-team-profile__heading {
  grid-template-columns: 6.75rem minmax(0, 1fr);
  gap: 1rem;
}

.cp-team-profile__photo {
  width: 6.75rem;
  height: 6.75rem;
}

.cp-team-profile h3 {
  max-width: 12ch;
  font-size: clamp(1.65rem, 2.15vw, 2.45rem);
  line-height: .98;
}

.cp-team-profile__role {
  margin-top: .75rem;
  font-size: .7rem;
}

.cp-team-profile__bio {
  font-size: clamp(.94rem, 1vw, 1.05rem);
}

.cp-team-profile__links {
  margin-top: 1.45rem;
}

.cp-team-publications__layout {
  grid-template-columns: minmax(16rem, .48fr) minmax(0, 1.52fr);
}

@media (max-width: 1240px) {
  .cp-team-stage__grid {
    grid-template-columns: minmax(18rem, .62fr) minmax(36rem, 1.38fr);
    gap: 3rem;
  }

  .cp-team-leader {
    grid-template-columns: minmax(15rem, .78fr) minmax(21rem, 1.22fr);
  }

  .cp-team-leader h2 {
    font-size: clamp(2.6rem, 3.8vw, 4rem);
  }
}

@media (max-width: 1100px) {
  .cp-team-stage__grid {
    grid-template-columns: 1fr;
    gap: 2.75rem;
  }

  .cp-team-intro {
    max-width: 52rem;
  }

  .cp-team-intro h1 {
    max-width: 11ch;
  }

  .cp-team-leader {
    max-width: none;
    grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr);
  }

  .cp-team-support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cp-team-profile__heading {
    grid-template-columns: 5.75rem minmax(0, 1fr);
  }

  .cp-team-profile__photo {
    width: 5.75rem;
    height: 5.75rem;
  }
}

@media (max-width: 900px) {
  .cp-team-leader {
    grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.2fr);
  }

  .cp-team-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-team-profile {
    min-height: 32rem;
  }

  .cp-team-publications__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .cp-team-experience .cp-container {
    width: min(100% - 2rem, var(--cp-team-page-wide));
  }

  .cp-team-stage {
    padding-block: 3rem 4.5rem;
  }

  .cp-team-intro h1 {
    max-width: 9ch;
    font-size: clamp(3rem, 15vw, 5rem);
  }

  .cp-team-leader {
    grid-template-columns: 1fr;
    border-radius: 1.5rem;
  }

  .cp-team-leader__photo {
    width: 100%;
    max-height: 34rem;
    aspect-ratio: 4 / 5;
  }

  .cp-team-leader__content {
    padding: 1.25rem .45rem .75rem;
  }

  .cp-team-leader h2 {
    max-width: none;
    font-size: clamp(2.7rem, 13vw, 4.4rem);
  }

  .cp-team-leader__pillars {
    grid-template-columns: 1fr;
  }

  .cp-team-support-grid {
    grid-template-columns: 1fr;
  }

  .cp-team-profile {
    min-height: 0;
  }

  .cp-team-profile__heading {
    grid-template-columns: 6.5rem minmax(0, 1fr);
  }

  .cp-team-profile__photo {
    width: 6.5rem;
    height: 6.5rem;
  }

  .cp-team-network {
    padding-top: 1rem;
  }

  .cp-team-network__hub,
  .cp-team-network__svg {
    display: none;
  }
}

@media (max-width: 440px) {
  .cp-team-profile__heading {
    grid-template-columns: 1fr;
  }

  .cp-team-profile h3 {
    max-width: none;
  }

  .cp-team-leader__links,
  .cp-team-profile__links {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Versão 0.9.7 — compactação vertical e reorganização do cartão de liderança. */
.cp-site-main.cp-team-experience {
  padding-block: 0 !important;
}

.cp-team-experience + .cp-site-footer {
  margin-top: 0;
}

.cp-team-stage {
  padding-block: clamp(2.5rem, 4.5vw, 4.75rem);
}

.cp-team-stage__grid {
  align-items: start;
}

.cp-team-breadcrumb {
  margin-bottom: clamp(1.5rem, 2.8vw, 2.5rem);
}

.cp-team-intro h1 {
  margin-block: .55rem 1.15rem;
}

.cp-team-intro__text {
  margin-bottom: 0;
}

.cp-team-manifesto {
  margin-top: 1.75rem;
}

.cp-team-leader {
  grid-template-columns: minmax(15.5rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.5rem, 2.8vw, 2.75rem);
  align-items: center;
  min-height: 0;
  padding: clamp(.9rem, 1.5vw, 1.25rem);
}

.cp-team-leader__halo {
  position: absolute;
  z-index: 0;
  right: -8rem;
  bottom: -12rem;
  width: 30rem;
  aspect-ratio: 1;
  border: 1px solid rgb(190 242 0 / 9%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(190 242 0 / 8%), transparent 68%);
  pointer-events: none;
}

.cp-team-leader > :not(.cp-team-leader__halo) {
  position: relative;
  z-index: 1;
}

.cp-team-leader__photo {
  width: 100%;
  min-height: 0;
  max-height: 30rem;
  aspect-ratio: 4 / 5;
}

.cp-team-leader__content {
  justify-content: center;
  padding: clamp(1rem, 1.8vw, 1.75rem) clamp(.25rem, 1vw, .9rem);
}

.cp-team-leader__badge {
  margin-bottom: .8rem;
}

.cp-team-leader h2 {
  max-width: 11ch;
  font-size: clamp(2.65rem, 3.7vw, 4.25rem);
  line-height: .94;
}

.cp-team-leader__role {
  margin-block: .75rem 1rem;
}

.cp-team-leader__bio {
  margin-block: 0;
  max-width: 54ch;
  font-size: clamp(.96rem, 1.05vw, 1.08rem);
  line-height: 1.62;
}

.cp-team-leader__pillars {
  margin-top: 1.35rem;
  padding-top: 0;
}

.cp-team-leader__pillars span {
  padding-top: 1.9rem;
}

.cp-team-leader__links {
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.cp-team-connections {
  padding-block: clamp(3.5rem, 5.5vw, 5.75rem);
}

.cp-team-network {
  margin-top: clamp(2.75rem, 4vw, 4rem);
  padding-top: clamp(3.25rem, 4.5vw, 4.5rem);
}

.cp-team-publications {
  padding-block: clamp(3.5rem, 5.5vw, 5.75rem);
}

.cp-team-publications__layout {
  grid-template-columns: minmax(20rem, .7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 4vw, 4.5rem);
}

.cp-team-publications__intro h2 {
  max-width: 15ch;
  font-size: clamp(2.35rem, 3.7vw, 4rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.cp-team-publications__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 20rem));
  justify-content: start;
}

.cp-team-purpose {
  padding-bottom: clamp(3.5rem, 5.5vw, 5.75rem);
}

@media (max-width: 1240px) {
  .cp-team-leader {
    grid-template-columns: minmax(14.5rem, .7fr) minmax(0, 1.3fr);
  }
}

@media (max-width: 1100px) {
  .cp-team-stage {
    padding-block: 3rem 4.25rem;
  }

  .cp-team-stage__grid {
    gap: 2.25rem;
  }

  .cp-team-leader {
    grid-template-columns: minmax(15rem, .68fr) minmax(0, 1.32fr);
  }

  .cp-team-publications__layout {
    grid-template-columns: 1fr;
  }

  .cp-team-publications__intro {
    max-width: 52rem;
  }

  .cp-team-publications__intro h2 {
    max-width: 18ch;
  }
}

@media (max-width: 720px) {
  .cp-team-stage {
    padding-block: 2.25rem 3.5rem;
  }

  .cp-team-leader {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .cp-team-leader__photo {
    max-height: 31rem;
  }

  .cp-team-leader__content {
    padding: 1rem .4rem .65rem;
  }

  .cp-team-connections,
  .cp-team-publications {
    padding-block: 3.25rem;
  }

  .cp-team-purpose {
    padding-bottom: 3.25rem;
  }
}

/* ========================================================================
   Página Sobre Camila — 0.9.57
   ======================================================================== */
.cp-about-page {
  overflow: hidden;
  background: #f6f4ef;
  color: #111213;
}

.cp-about-hero {
  position: relative;
  padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(5rem, 8vw, 7.5rem);
  background:
    radial-gradient(circle at 82% 28%, rgb(104 19 139 / 18%), transparent 28rem),
    linear-gradient(135deg, #080a0b 0%, #101214 62%, #151019 100%);
  color: #fff;
}

.cp-about-hero::after {
  position: absolute;
  right: -8rem;
  bottom: -12rem;
  width: 30rem;
  height: 30rem;
  border: 1px solid rgb(200 240 0 / 18%);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 4rem rgb(200 240 0 / 3%), 0 0 0 8rem rgb(104 19 139 / 3%);
  pointer-events: none;
}

.cp-about-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
}

.cp-about-eyebrow,
.cp-about-section-label {
  margin: 0 0 1rem;
  color: #68138b;
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.cp-about-hero .cp-about-eyebrow { color: #c8f000; }

.cp-about-hero h1 {
  max-width: 11ch;
  margin: 0;
  font-size: clamp(3.4rem, 7vw, 7.25rem);
  font-weight: 840;
  letter-spacing: -.065em;
  line-height: .92;
}

.cp-about-hero h1 span { color: #c8f000; }

.cp-about-hero__lead {
  max-width: 44rem;
  margin: 2rem 0 0;
  color: #d8dcde;
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  line-height: 1.65;
}

.cp-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: 2.25rem;
}

.cp-about-button {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  padding: .85rem 1.25rem;
  border-radius: .55rem;
  font-weight: 820;
  text-decoration: none;
}

.cp-about-button--primary {
  background: #c8f000;
  color: #111213;
  box-shadow: 0 1rem 2rem rgb(200 240 0 / 12%);
}

.cp-about-button--text { color: #fff; }
.cp-about-button--text span { margin-left: .5rem; color: #c8f000; }

.cp-about-portrait { position: relative; }

.cp-about-portrait__frame {
  position: relative;
  display: grid;
  width: min(100%, 27rem);
  aspect-ratio: 4 / 5;
  place-items: center;
  margin-left: auto;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 48% 48% 1.25rem 1.25rem;
  background:
    linear-gradient(150deg, rgb(255 255 255 / 7%), transparent 55%),
    #17191b;
  box-shadow: 0 2rem 5rem rgb(0 0 0 / 35%);
}

.cp-about-portrait__frame::before {
  position: absolute;
  inset: 1rem;
  border: 1px solid rgb(200 240 0 / 36%);
  border-radius: inherit;
  content: "";
}

.cp-about-portrait__photo {
  position: absolute;
  inset: 0;
  background: var(--cp-about-image) center 18% / cover no-repeat;
  filter: saturate(.88) contrast(1.03);
}

.cp-about-portrait__monogram {
  color: #c8f000;
  font-size: clamp(5rem, 10vw, 8rem);
  font-weight: 900;
  letter-spacing: -.08em;
}

.cp-about-portrait > p {
  position: relative;
  width: min(88%, 23rem);
  margin: -2.75rem 0 0 auto;
  padding: 1.15rem 1.25rem;
  border-left: 4px solid #c8f000;
  background: #fff;
  box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 24%);
  color: #111213;
}

.cp-about-portrait > p strong,
.cp-about-portrait > p span { display: block; }
.cp-about-portrait > p span { margin-top: .25rem; color: #555b60; font-size: .88rem; line-height: 1.45; }

.cp-about-intro,
.cp-about-pillars,
.cp-about-journey { padding: clamp(4.5rem, 8vw, 8rem) 0; }

.cp-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(16rem, .7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.cp-about-intro h2,
.cp-about-section-head h2,
.cp-about-journey__headline h2,
.cp-about-links h2 {
  margin: 0;
  font-size: clamp(2.45rem, 5vw, 5rem);
  font-weight: 830;
  letter-spacing: -.055em;
  line-height: .98;
}

.cp-about-intro__text { max-width: 50rem; }
.cp-about-intro__text > p,
.cp-about-editor-content { color: #34383b; font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.75; }
.cp-about-intro__text > p { margin: 0 0 1.2rem; }
.cp-about-editor-content { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgb(17 18 19 / 12%); }

.cp-about-pillars { background: #fff; }
.cp-about-section-head { max-width: 60rem; margin-bottom: 3rem; }

.cp-about-pillars__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgb(17 18 19 / 14%);
}

.cp-about-pillars__grid article {
  min-height: 19rem;
  padding: 2rem 1.5rem;
  border-right: 1px solid rgb(17 18 19 / 10%);
}

.cp-about-pillars__grid article:last-child { border-right: 0; }
.cp-about-pillars__grid article > span { color: #68138b; font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.cp-about-pillars__grid h3 { margin: 3rem 0 1rem; font-size: 1.55rem; }
.cp-about-pillars__grid p { margin: 0; color: #555a5e; line-height: 1.65; }

.cp-about-journey { background: #111315; color: #fff; }
.cp-about-journey__grid {
  display: grid;
  grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr);
  gap: clamp(3rem, 7vw, 7rem);
}
.cp-about-journey .cp-about-section-label { color: #c8f000; }
.cp-about-journey__headline { position: sticky; top: 8rem; align-self: start; }

.cp-about-timeline { border-left: 1px solid rgb(255 255 255 / 18%); }
.cp-about-timeline article { position: relative; padding: 0 0 3.25rem 2.25rem; }
.cp-about-timeline article:last-child { padding-bottom: 0; }
.cp-about-timeline article::before {
  position: absolute;
  top: .2rem;
  left: -.4rem;
  width: .75rem;
  height: .75rem;
  border: 2px solid #111315;
  border-radius: 50%;
  background: #c8f000;
  box-shadow: 0 0 0 1px #c8f000;
  content: "";
}
.cp-about-timeline span { color: #aeb3b7; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cp-about-timeline h3 { margin: .45rem 0 .65rem; font-size: 1.45rem; }
.cp-about-timeline p { max-width: 42rem; margin: 0; color: #c5c9cc; line-height: 1.65; }

.cp-about-quote { padding: clamp(4rem, 7vw, 7rem) 0; background: #68138b; color: #fff; }
.cp-about-quote blockquote { max-width: 64rem; margin: 0; font-size: clamp(2rem, 4.5vw, 4.65rem); font-weight: 780; letter-spacing: -.045em; line-height: 1.04; }
.cp-about-quote blockquote::before { display: block; margin-bottom: 1rem; color: #c8f000; content: "“"; font-size: 1.4em; line-height: .5; }

.cp-about-links { padding: clamp(4.5rem, 8vw, 8rem) 0; background: #f6f4ef; }
.cp-about-links__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cp-about-links__grid a {
  position: relative;
  display: flex;
  min-height: 13rem;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem;
  border: 1px solid rgb(17 18 19 / 12%);
  background: #fff;
  color: #111213;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease;
}
.cp-about-links__grid a:hover,
.cp-about-links__grid a:focus-visible { border-color: #68138b; transform: translateY(-.25rem); }
.cp-about-links__grid span { color: #68138b; font-size: .74rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.cp-about-links__grid strong { max-width: 14ch; font-size: 1.35rem; line-height: 1.2; }
.cp-about-links__grid b { align-self: flex-end; color: #68138b; font-size: 1.35rem; }

@media (max-width: 980px) {
  .cp-about-hero__grid,
  .cp-about-intro__grid,
  .cp-about-journey__grid { grid-template-columns: 1fr; }
  .cp-about-portrait { width: min(100%, 31rem); margin-inline: auto; }
  .cp-about-portrait__frame { margin-inline: auto; }
  .cp-about-journey__headline { position: static; }
  .cp-about-pillars__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-about-pillars__grid article:nth-child(2) { border-right: 0; }
  .cp-about-pillars__grid article:nth-child(-n+2) { border-bottom: 1px solid rgb(17 18 19 / 10%); }
}

@media (max-width: 720px) {
  .cp-about-hero { padding-top: 3.5rem; }
  .cp-about-hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .cp-about-hero__actions { align-items: stretch; flex-direction: column; }
  .cp-about-button { width: 100%; }
  .cp-about-pillars__grid,
  .cp-about-links__grid { grid-template-columns: 1fr; }
  .cp-about-pillars__grid article { min-height: 0; border-right: 0; border-bottom: 1px solid rgb(17 18 19 / 10%); }
  .cp-about-pillars__grid article:last-child { border-bottom: 0; }
  .cp-about-pillars__grid h3 { margin-top: 1.75rem; }
  .cp-about-links__grid a { min-height: 10.5rem; }
}

/* ========================================================================
   Limpeza visual objetiva — Olha LAI, hein! — 0.9.57
   ======================================================================== */
.cp-lai-showcase::before,
.cp-lai-showcase__brand::after { display: none !important; content: none !important; }

.cp-lai-manifesto--paper {
  border: 0 !important;
  box-shadow: none !important;
}

.cp-lai-manifesto--paper::before,
.cp-lai-manifesto--paper::after { display: none !important; content: none !important; }

.cp-lai-manifesto__copy .cp-lai-kicker > span { display: none !important; }

.cp-lai-manifesto__copy::before {
  top: 2rem;
  right: calc(100% + .75rem);
  width: clamp(5.5rem, 8vw, 7.5rem);
  border: 0;
  border-radius: 0;
  background: url("../images/olha-lai/manifesto-gray-art-clean.svg") center / contain no-repeat;
  opacity: .5;
}

.cp-lai-manifesto__copy h2 {
  max-width: 11.5ch;
  text-wrap: pretty;
}

.cp-lai-manifesto__copy h2 .cp-lai-word-nowrap { white-space: nowrap; }

.cp-lai-latest-card,
.cp-lai-site-metrics article {
  border-color: rgb(17 18 19 / 9%);
  box-shadow: none;
}

.cp-lai-storyboard { gap: clamp(2rem, 4vw, 4.5rem); }
.cp-lai-manifesto--paper { padding-bottom: clamp(3rem, 4vw, 4.25rem) !important; }
.cp-lai-latest__header { margin-bottom: 1.35rem; }

@media (max-width: 980px) {
  .cp-lai-manifesto__copy::before { right: auto; left: -1.25rem; opacity: .35; }
}

@media (max-width: 720px) {
  .cp-lai-manifesto__copy::before { display: none; }
  .cp-lai-storyboard { gap: 2.25rem; }
}


/* ========================================================================
   Versão 0.9.66 — menu global do rodapé em uma linha no desktop
   ======================================================================== */
@media (min-width: 901px) {
  .cp-site-footer__inner {
    grid-template-columns: minmax(15rem, .78fr) minmax(0, 1.72fr);
    column-gap: clamp(1.5rem, 3vw, 3.5rem);
  }

  .cp-site-footer__inner > nav {
    min-width: 0;
    justify-self: end;
    width: max-content;
    max-width: 100%;
  }

  .cp-footer-menu {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: clamp(.75rem, 1.25vw, 1.25rem);
    white-space: nowrap;
  }

  .cp-footer-menu a {
    font-size: clamp(.78rem, .82vw, .9rem);
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .cp-site-footer__inner {
    grid-template-columns: minmax(13rem, .64fr) minmax(0, 1.86fr);
    column-gap: 1.25rem;
  }

  .cp-footer-menu {
    gap: .68rem;
  }

  .cp-footer-menu a {
    font-size: .76rem;
  }
}


/* ========================================================================
   Versão 0.9.67 — identidade global e rodapé sem redução tipográfica
   ======================================================================== */
.cp-site-signature {
  display: inline-block;
  margin-left: .55rem;
  color: var(--cp-color-purple, #68138b);
  font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive;
  font-size: 1.08em;
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: 1;
  transform: rotate(-4deg) translateY(.06em);
  transform-origin: left center;
}

.cp-site-header .cp-site-title {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
}

.cp-site-header .cp-site-title__name {
  white-space: nowrap;
}

.cp-site-footer__brandline {
  display: flex;
  align-items: baseline;
  gap: 0;
}

.cp-site-footer .cp-site-signature--footer {
  color: var(--cp-color-lime, #c8f000);
}

@media (min-width: 901px) {
  .cp-site-footer__inner {
    grid-template-columns: 1fr;
    row-gap: 1.35rem;
  }

  .cp-site-footer__identity {
    max-width: 42rem;
  }

  .cp-site-footer__inner > nav {
    justify-self: stretch;
    width: 100%;
    max-width: none;
  }

  .cp-footer-menu {
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    gap: clamp(.7rem, 1.2vw, 1.25rem);
    white-space: nowrap;
  }

  .cp-footer-menu a,
  .cp-footer-menu a:visited {
    font-size: clamp(.94rem, .88vw, 1.0625rem);
    font-weight: 720;
    letter-spacing: -.018em;
    line-height: 1.2;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .cp-site-footer__inner {
    grid-template-columns: 1fr;
  }

  .cp-footer-menu {
    gap: .55rem;
  }

  .cp-footer-menu a,
  .cp-footer-menu a:visited {
    font-size: clamp(.94rem, .88vw, 1.0625rem);
  }
}

@media (max-width: 900px) {
  .cp-site-header .cp-site-title,
  .cp-site-footer__brandline {
    align-items: center;
  }

  .cp-site-signature {
    margin-left: .42rem;
    font-size: 1em;
  }
}


/* ========================================================================
   Versão 0.9.68 — restaura a organização lateral do rodapé sem reduzir fonte
   ======================================================================== */
@media (min-width: 901px) {
  .cp-site-footer__inner {
    grid-template-columns: minmax(12.5rem, .62fr) minmax(0, 1.88fr);
    column-gap: clamp(1.1rem, 2.2vw, 2.5rem);
    row-gap: 1.35rem;
    align-items: start;
  }

  .cp-site-footer__identity {
    max-width: 21rem;
  }

  .cp-site-footer__inner > nav {
    justify-self: stretch;
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .cp-footer-menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
    gap: clamp(.42rem, .8vw, .8rem);
    white-space: nowrap;
  }

  .cp-footer-menu a,
  .cp-footer-menu a:visited {
    font-size: clamp(.94rem, .88vw, 1.0625rem);
    font-weight: 720;
    letter-spacing: -.018em;
    line-height: 1.2;
  }

  .cp-site-footer__copyright {
    grid-column: 1 / -1;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .cp-site-footer__inner {
    grid-template-columns: minmax(11rem, .48fr) minmax(0, 2.02fr);
    column-gap: .9rem;
  }

  .cp-footer-menu {
    gap: .32rem;
  }

  .cp-footer-menu a,
  .cp-footer-menu a:visited {
    font-size: .94rem;
  }
}


/* ========================================================================
   Versão 0.9.73 — salvaguardas responsivas globais para botões
   ======================================================================== */
:where(
  .cp-button,
  .wp-element-button,
  .wp-block-button__link,
  .cp-header-cta,
  .cp-about-button,
  .cp-contact-form button,
  .cp-search-form button,
  .cp-dossie-filters__actions button
) {
  max-width: 100%;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
}

:where(.cp-hero__actions, .cp-actions, .wp-block-buttons, .cp-document__actions) {
  min-width: 0;
}

@media (max-width: 1180px) {
  :where(.cp-hero__actions, .cp-actions, .wp-block-buttons, .cp-document__actions) {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  :where(
    .cp-hero__actions,
    .cp-actions,
    .cp-document__actions,
    .cp-about-hero__actions
  ) {
    width: 100%;
    align-items: stretch;
  }

  :where(
    .cp-hero__actions .cp-button,
    .cp-actions .cp-button,
    .cp-document__actions .cp-button,
    .cp-about-hero__actions .cp-about-button,
    .cp-hero__actions .wp-block-button,
    .cp-actions .wp-block-button,
    .cp-hero__actions .wp-block-button__link,
    .cp-actions .wp-block-button__link
  ) {
    width: 100%;
  }
}

@media (max-width: 420px) {
  :where(
    .cp-button,
    .wp-element-button,
    .wp-block-button__link,
    .cp-header-cta,
    .cp-about-button,
    .cp-contact-form button,
    .cp-search-form button
  ) {
    min-height: 3rem;
    padding-inline: 1rem;
    white-space: normal;
  }
}


/* Versão 0.9.81 — entrada da página Sobre Camila */
.cp-site-main.cp-about-page {
  padding-block: 0 !important;
}


/* ========================================================================
   Versão 0.9.82 — identidade própria da página Sobre Camila
   ======================================================================== */
.cp-about-page {
  --cp-about-blue: #093760;
  --cp-about-orange: #ff9900;
  --cp-about-paper: #f7f3ec;
  --cp-about-ink: #171717;
  background: var(--cp-about-paper);
}

/* Hero editorial: foto integrada, sem moldura, card ou caixa. */
.cp-about-hero {
  min-height: min(78rem, calc(100vh - 7rem));
  padding: clamp(4.75rem, 8vw, 8.5rem) 0 clamp(4rem, 7vw, 7rem);
  overflow: hidden;
  background:
    linear-gradient(90deg, #f7f3ec 0%, #f7f3ec 49%, rgb(247 243 236 / 92%) 58%, rgb(247 243 236 / 18%) 78%, transparent 100%),
    linear-gradient(180deg, #fbf8f2 0%, #f1ece3 100%);
  color: var(--cp-about-ink);
}

.cp-about-hero::before {
  position: absolute;
  top: 8%;
  left: -8rem;
  width: 18rem;
  height: 18rem;
  border: 1px solid rgb(9 55 96 / 12%);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 4rem rgb(255 153 0 / 3%);
  pointer-events: none;
}

.cp-about-hero::after {
  position: absolute;
  right: 5%;
  bottom: 7%;
  width: clamp(8rem, 13vw, 14rem);
  height: .55rem;
  border: 0;
  border-radius: 999px;
  background: var(--cp-about-orange);
  box-shadow: none;
  content: "";
  transform: rotate(-4deg);
  transform-origin: right center;
  pointer-events: none;
}

.cp-about-hero__grid {
  grid-template-columns: minmax(0, .96fr) minmax(25rem, 1.04fr);
  min-height: clamp(36rem, 68vh, 52rem);
  align-items: center;
  gap: clamp(2rem, 4vw, 5rem);
}

.cp-about-hero__copy {
  position: relative;
  z-index: 3;
  padding-block: 2rem;
}

.cp-about-eyebrow,
.cp-about-section-label {
  color: var(--cp-about-blue);
}

.cp-about-hero .cp-about-eyebrow {
  color: var(--cp-about-blue);
  font-weight: 900;
}

.cp-about-hero h1 {
  max-width: 10.5ch;
  color: var(--cp-about-ink);
  font-size: clamp(3.9rem, 7.2vw, 7.8rem);
  line-height: .9;
}

.cp-about-hero h1 span {
  color: var(--cp-about-orange);
}

.cp-about-hero__lead {
  max-width: 39rem;
  color: #3c4145;
}

.cp-about-button {
  border-radius: 999px;
}

.cp-about-button--primary {
  background: var(--cp-about-orange);
  color: #171717;
  box-shadow: 0 1rem 2.2rem rgb(255 153 0 / 18%);
}

.cp-about-button--text {
  color: var(--cp-about-blue);
}

.cp-about-button--text span {
  color: var(--cp-about-orange);
}

.cp-about-portrait {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(52vw, 55rem);
  z-index: 1;
}

.cp-about-portrait__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: auto;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cp-about-portrait__frame::before {
  display: none;
  content: none;
}

.cp-about-portrait__photo {
  inset: 0;
  background-position: center 12%;
  background-size: cover;
  filter: saturate(.95) contrast(1.02);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
}

.cp-about-portrait__monogram {
  position: absolute;
  right: 12%;
  bottom: 18%;
  color: var(--cp-about-blue);
}

.cp-about-portrait > p {
  position: absolute;
  right: clamp(2rem, 5vw, 6rem);
  bottom: clamp(3rem, 7vw, 7rem);
  width: min(23rem, 72%);
  margin: 0;
  padding: 0 0 0 1.15rem;
  border-left: 5px solid var(--cp-about-orange);
  background: transparent;
  box-shadow: none;
  color: var(--cp-about-ink);
  text-shadow: 0 1px 1rem rgb(255 255 255 / 85%);
}

.cp-about-portrait > p span {
  color: #394148;
}

/* Toda a página usa azul e laranja; roxo permanece exclusivo do Olha LAI. */
.cp-about-pillars__grid article > span,
.cp-about-links__grid span,
.cp-about-links__grid b {
  color: var(--cp-about-blue);
}

.cp-about-timeline article::before {
  background: var(--cp-about-orange);
  box-shadow: 0 0 0 1px var(--cp-about-orange);
}

.cp-about-journey .cp-about-section-label {
  color: var(--cp-about-orange);
}

.cp-about-quote {
  background: var(--cp-about-blue);
}

.cp-about-quote blockquote::before {
  color: var(--cp-about-orange);
}

.cp-about-links__grid a:hover,
.cp-about-links__grid a:focus-visible {
  border-color: var(--cp-about-orange);
}

@media (max-width: 1120px) {
  .cp-about-hero {
    min-height: auto;
  }

  .cp-about-hero__grid {
    min-height: 43rem;
    grid-template-columns: minmax(0, 1fr) minmax(21rem, .78fr);
  }

  .cp-about-portrait {
    width: 48vw;
  }
}

@media (max-width: 980px) {
  .cp-about-hero {
    padding-bottom: 0;
    background: linear-gradient(180deg, #fbf8f2 0%, #f1ece3 100%);
  }

  .cp-about-hero__grid {
    display: block;
    min-height: 0;
  }

  .cp-about-hero__copy {
    max-width: 43rem;
    padding: 1rem 0 3rem;
  }

  .cp-about-portrait {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: calc(100% + 3rem);
    min-height: 42rem;
    margin-left: -1.5rem;
  }

  .cp-about-portrait__photo {
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 10%, #000 100%);
  }

  .cp-about-portrait > p {
    right: 1.5rem;
    bottom: 2.5rem;
  }
}

@media (max-width: 720px) {
  .cp-about-hero {
    padding-top: 2.75rem;
  }

  .cp-about-hero h1 {
    font-size: clamp(3.15rem, 14vw, 4.85rem);
  }

  .cp-about-portrait {
    min-height: 34rem;
  }

  .cp-about-portrait > p {
    right: 1rem;
    bottom: 1.75rem;
    width: min(21rem, 82%);
  }
}


/* Versão 0.9.83 — imagens reais integradas à página Sobre Camila */
.cp-about-portrait__photo {
  background-image: var(--cp-about-image);
}

.cp-about-intro__grid {
  align-items: start;
}

.cp-about-intro__photo {
  margin: 2rem 0 0;
  overflow: hidden;
  border-radius: 2rem;
  background: #e9ecef;
  box-shadow: 0 1.35rem 3rem rgb(9 55 96 / 12%);
}

.cp-about-intro__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.cp-about-journey__headline {
  display: grid;
  gap: 1.5rem;
}

.cp-about-journey__photo {
  width: min(100%, 24rem);
  margin: .5rem 0 0;
  overflow: hidden;
  border-radius: 2rem;
  background: rgb(255 255 255 / 4%);
  box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 18%);
}

.cp-about-journey__photo img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 1120px) {
  .cp-about-intro__photo {
    max-width: 26rem;
  }
}

@media (max-width: 980px) {
  .cp-about-intro__photo {
    max-width: 30rem;
    margin-top: 1.5rem;
  }

  .cp-about-journey__photo {
    width: min(100%, 20rem);
  }
}

@media (max-width: 720px) {
  .cp-about-intro__photo,
  .cp-about-journey__photo {
    width: 100%;
    max-width: none;
    border-radius: 1.5rem;
  }
}


/* Versão 0.9.84 — ajusta entrada do hero e remove a caixa visual atrás da foto */
.cp-about-hero {
  padding-top: clamp(1.1rem, 1.8vw, 1.6rem);
}

.cp-about-hero__grid {
  min-height: clamp(31rem, 56vw, 44rem);
  align-items: start;
}

.cp-about-hero__copy {
  padding-block: 0 2rem;
}

.cp-about-portrait__photo {
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
  filter: saturate(.98) contrast(1.01);
}

@media (max-width: 980px) {
  .cp-about-hero {
    padding-top: 1rem;
  }
}


/* Versão 0.9.85 — reduz apenas o espaço final antes do rodapé na página Sobre Camila */
.cp-about-links {
  padding-bottom: clamp(1.4rem, 2.2vw, 2rem);
}


/* Versão 0.9.86 — remove apenas a faixa entre o último bloco do Sobre e o rodapé */
.cp-about-links + .cp-site-footer {
  margin-top: 0;
}


/* Versão 0.9.87 — remove a margem do rodapé após a página Sobre Camila */
.cp-site-main.cp-about-page + .cp-site-footer {
  margin-top: 0 !important;
}


/* ========================================================================
   Versão 0.9.88 — paleta integrada da página Sobre Camila
   ======================================================================== */
.cp-about-page {
  --cp-about-charcoal: #23282d;
  --cp-about-blue: #173a5e;
  --cp-about-blue-soft: #dce6ee;
  --cp-about-yellow: #f4c542;
  --cp-about-lime: #c8f000;
  --cp-about-paper: #f7f3ec;
  --cp-about-ink: #23282d;
  background: var(--cp-about-paper);
}

.cp-about-hero {
  background:
    linear-gradient(90deg, #f7f3ec 0%, #f7f3ec 49%, rgb(247 243 236 / 92%) 58%, rgb(247 243 236 / 18%) 78%, transparent 100%),
    linear-gradient(180deg, #fbf8f2 0%, #f1ece3 100%);
  color: var(--cp-about-charcoal);
}

.cp-about-hero::before {
  border-color: rgb(23 58 94 / 14%);
  box-shadow: 0 0 0 4rem rgb(244 197 66 / 5%);
}

.cp-about-hero::after {
  background: var(--cp-about-yellow);
}

.cp-about-eyebrow,
.cp-about-section-label,
.cp-about-hero .cp-about-eyebrow,
.cp-about-pillars__grid article > span,
.cp-about-links__grid span,
.cp-about-links__grid b {
  color: var(--cp-about-blue);
}

.cp-about-hero h1,
.cp-about-portrait > p,
.cp-about-intro h2,
.cp-about-section-head h2,
.cp-about-journey__headline h2,
.cp-about-links h2 {
  color: var(--cp-about-charcoal);
}

.cp-about-hero h1 span {
  color: var(--cp-about-yellow);
}

.cp-about-button--primary {
  border-color: var(--cp-about-lime);
  background: var(--cp-about-lime);
  color: #171717;
  box-shadow: 0 1rem 2.2rem rgb(200 240 0 / 20%);
}

.cp-about-button--primary:hover,
.cp-about-button--primary:focus-visible {
  border-color: #acd000;
  background: #acd000;
}

.cp-about-button--text {
  color: var(--cp-about-blue);
}

.cp-about-button--text span {
  color: var(--cp-about-lime);
}

.cp-about-portrait > p {
  border-left-color: var(--cp-about-yellow);
}

.cp-about-intro__photo {
  box-shadow: 0 1.35rem 3rem rgb(23 58 94 / 12%);
}

.cp-about-journey {
  background: var(--cp-about-charcoal);
}

.cp-about-journey .cp-about-section-label {
  color: var(--cp-about-yellow);
}

.cp-about-timeline article::before {
  background: var(--cp-about-yellow);
  box-shadow: 0 0 0 1px var(--cp-about-yellow);
}

.cp-about-quote {
  background: #1d2d3b;
}

.cp-about-quote blockquote::before {
  color: var(--cp-about-yellow);
}

.cp-about-links__grid a:hover,
.cp-about-links__grid a:focus-visible {
  border-color: var(--cp-about-lime);
}

/* A navegação desta página também segue a paleta pessoal, sem roxo. */
body.page-template-page-sobre-camila .cp-primary-menu .current-menu-item > a,
body.page-template-page-sobre-camila .cp-primary-menu .current_page_item > a,
body.page-template-page-sobre-camila .cp-primary-menu a:hover,
body.page-template-page-sobre-camila .cp-primary-menu a:focus-visible {
  color: var(--cp-about-blue, #173a5e);
}

body.page-template-page-sobre-camila .cp-primary-menu .current-menu-item > a::after,
body.page-template-page-sobre-camila .cp-primary-menu .current_page_item > a::after {
  background: var(--cp-about-lime, #c8f000);
}

body.page-template-page-sobre-camila .cp-site-signature--header {
  color: var(--cp-about-lime, #c8f000);
}


/* Versão 0.9.89 — remove o espaço branco entre o último bloco do Sobre e o rodapé */
.cp-about-links {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.cp-about-links .cp-container {
  padding-bottom: 0 !important;
}

/* ========================================================================
   Versão 0.9.90 — Sobre Camila: conceito editorial, trajetória e Mantiqueira
   ======================================================================== */
.cp-about-page--editorial {
  --cp-about90-blue: #0a3558;
  --cp-about90-blue-dark: #071f34;
  --cp-about90-yellow: #f4b400;
  --cp-about90-lime: #c8f000;
  --cp-about90-paper: #f7f3eb;
  --cp-about90-ink: #18212a;
  background: var(--cp-about90-paper);
  color: var(--cp-about90-ink);
}

.cp-about-page--editorial .cp-about90-hero {
  min-height: auto;
  padding: clamp(4.5rem, 8vw, 8rem) 0 clamp(3.5rem, 7vw, 6.5rem);
  background: linear-gradient(135deg, #fbf9f4 0%, #f2eee5 100%);
}

.cp-about90-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: center;
}

.cp-about90-kicker,
.cp-about90-section-head > p,
.cp-about90-mantiqueira__content > p {
  margin: 0 0 1rem;
  color: var(--cp-about90-blue);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.cp-about90-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--cp-about90-blue-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.4rem, 6.6vw, 7.4rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .91;
}

.cp-about90-hero h1 em {
  display: block;
  margin-top: .15em;
  color: var(--cp-about90-yellow);
  font-family: 'Segoe Print', 'Bradley Hand', cursive;
  font-size: .63em;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1;
  transform: rotate(-2deg);
}

.cp-about90-lead {
  max-width: 39rem;
  margin: 2rem 0 0;
  color: #35424d;
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  line-height: 1.7;
}

.cp-about90-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.5rem;
  align-items: center;
  margin-top: 2rem;
}

.cp-about90-button {
  display: inline-flex;
  gap: .6rem;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: .8rem 1.25rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}

.cp-about90-button--primary { background: var(--cp-about90-lime); color: #101413; }
.cp-about90-button--text { padding-inline: 0; color: var(--cp-about90-blue); text-decoration: underline; text-decoration-color: var(--cp-about90-yellow); text-decoration-thickness: .18em; text-underline-offset: .35em; }
.cp-about90-button--light { color: #fff; border: 1px solid rgb(255 255 255 / 35%); }

.cp-about90-hero__visual { position: relative; min-height: clamp(34rem, 54vw, 51rem); }
.cp-about90-blue-stroke {
  position: absolute;
  top: 5%; right: -4%; bottom: 8%; left: 4%;
  border-radius: 49% 51% 42% 58% / 54% 38% 62% 46%;
  background: var(--cp-about90-blue);
  transform: rotate(-5deg);
  clip-path: polygon(4% 18%, 17% 10%, 28% 14%, 39% 4%, 50% 12%, 64% 2%, 74% 13%, 91% 7%, 97% 28%, 89% 43%, 98% 58%, 90% 76%, 71% 79%, 58% 93%, 40% 85%, 22% 95%, 10% 79%, 2% 59%, 9% 39%);
}
.cp-about90-hero__photo { position: absolute; inset: 0 4% 0 0; z-index: 2; background: var(--cp-about-hero-photo) center bottom / contain no-repeat; }
.cp-about90-hero__visual blockquote {
  position: absolute;
  right: -1rem;
  bottom: 4%;
  z-index: 3;
  width: min(22rem, 58%);
  margin: 0;
  padding: 2rem 2rem 2rem 2.4rem;
  border-radius: 58% 42% 0 48% / 55% 45% 0 45%;
  background: var(--cp-about90-blue-dark);
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.75rem);
  font-weight: 750;
  line-height: 1.2;
}
.cp-about90-hero__visual blockquote span { display: block; color: var(--cp-about90-lime); font-size: 3rem; line-height: .55; }

.cp-about90-story { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.cp-about90-story__grid { display: grid; grid-template-columns: minmax(22rem, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.cp-about90-story__image { position: relative; margin: 0; }
.cp-about90-story__image img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3rem .6rem 3rem .6rem; }
.cp-about90-story__image::before { position: absolute; top: -1.2rem; left: -1.2rem; width: 5rem; height: 12rem; border-left: 2px dotted var(--cp-about90-blue); content: ''; }
.cp-about90-story__image span { position: absolute; right: -1.2rem; bottom: 2rem; width: 4rem; height: 8rem; background: var(--cp-about90-lime); }
.cp-about90-script { margin: 0 0 .7rem; color: var(--cp-about90-blue); font-family: 'Segoe Print', 'Bradley Hand', cursive; font-size: clamp(1.15rem, 2vw, 1.7rem); font-weight: 700; transform: rotate(-2deg); }
.cp-about90-story h2,
.cp-about90-section-head h2,
.cp-about90-journey__head h2,
.cp-about90-mantiqueira h2,
.cp-about90-closing h2 { margin: 0; color: var(--cp-about90-blue-dark); font-size: clamp(2.35rem, 4.3vw, 4.8rem); letter-spacing: -.045em; line-height: 1.02; }
.cp-about90-story__copy > p:not(.cp-about90-script) { color: #394650; font-size: clamp(1.02rem, 1.3vw, 1.18rem); line-height: 1.75; }
.cp-about90-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2rem 0 0; padding: 2rem 0 0; border-top: 1px solid rgb(10 53 88 / 16%); list-style: none; }
.cp-about90-values li { display: grid; gap: .35rem; }
.cp-about90-values strong { color: var(--cp-about90-blue); }
.cp-about90-values span { color: #58636b; font-size: .92rem; line-height: 1.45; }

.cp-about90-pillars { padding: clamp(4rem, 7vw, 7rem) 0; background: var(--cp-about90-blue-dark); color: #fff; }
.cp-about90-section-head { max-width: 65rem; margin-bottom: 3rem; }
.cp-about90-section-head > p { color: var(--cp-about90-lime); }
.cp-about90-section-head h2 { color: #fff; }
.cp-about90-pillars__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.cp-about90-pillars article { min-height: 18rem; padding: 1.5rem 2rem; border-right: 1px solid rgb(255 255 255 / 18%); }
.cp-about90-pillars article:last-child { border-right: 0; }
.cp-about90-pillars article > span { color: var(--cp-about90-lime); font-size: .76rem; font-weight: 900; letter-spacing: .15em; }
.cp-about90-pillars h3 { margin: 3rem 0 .8rem; color: #fff; font-size: 1.4rem; line-height: 1.18; }
.cp-about90-pillars p { margin: 0; color: #cbd4dc; line-height: 1.65; }

.cp-about90-journey { padding: clamp(4.5rem, 8vw, 8rem) 0; background: #fbf8f2; }
.cp-about90-journey__head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.cp-about90-journey__head > p { margin: 0; color: #53606b; font-size: 1.08rem; line-height: 1.7; }
.cp-about90-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgb(10 53 88 / 13%); border: 1px solid rgb(10 53 88 / 13%); }
.cp-about90-timeline article { min-height: 15rem; padding: 1.65rem; background: #fbf8f2; }
.cp-about90-timeline time { color: var(--cp-about90-blue); font-size: .76rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cp-about90-timeline h3 { margin: 2.2rem 0 .65rem; color: var(--cp-about90-blue-dark); font-size: 1.28rem; line-height: 1.18; }
.cp-about90-timeline p { margin: 0; color: #58636b; line-height: 1.55; }
.cp-about90-timeline__highlight { position: relative; background: var(--cp-about90-lime) !important; }
.cp-about90-timeline__highlight::after { position: absolute; right: 1.2rem; bottom: .8rem; color: rgb(7 31 52 / 18%); content: '“'; font-size: 6rem; font-weight: 900; line-height: 1; }

.cp-about90-mantiqueira { position: relative; min-height: 44rem; display: flex; align-items: flex-end; padding: clamp(5rem, 10vw, 10rem) 0 3rem; background: linear-gradient(90deg, rgb(7 31 52 / 92%) 0%, rgb(7 31 52 / 72%) 48%, rgb(7 31 52 / 18%) 100%), var(--cp-about-mantiqueira) center / cover no-repeat; color: #fff; }
.cp-about90-mantiqueira__content { display: grid; grid-template-columns: 1fr .8fr; gap: 4rem; align-items: end; }
.cp-about90-mantiqueira__content > p { grid-column: 1 / -1; margin-bottom: 0; color: var(--cp-about90-lime); }
.cp-about90-mantiqueira h2 { color: #fff; }
.cp-about90-mantiqueira__content > div p { color: #eef3f6; font-size: 1.05rem; line-height: 1.7; }
.cp-about90-mantiqueira > small { position: absolute; right: 1rem; bottom: .7rem; color: rgb(255 255 255 / 72%); font-size: .65rem; }

.cp-about90-closing { overflow: hidden; background: var(--cp-about90-blue-dark); color: #fff; }
.cp-about90-closing__grid { display: grid; grid-template-columns: 1fr .75fr; align-items: end; min-height: 41rem; }
.cp-about90-closing__copy { padding: clamp(4rem, 7vw, 7rem) 3rem clamp(4rem, 7vw, 7rem) 0; }
.cp-about90-closing__copy > span { color: var(--cp-about90-lime); font-size: 5rem; font-weight: 900; line-height: .6; }
.cp-about90-closing h2 { max-width: 17ch; color: #fff; font-size: clamp(2.2rem, 4vw, 4.4rem); }
.cp-about90-closing__copy > p { max-width: 42rem; color: #d3dce3; font-size: 1.08rem; line-height: 1.7; }
.cp-about90-closing__photo { align-self: stretch; margin: 0; }
.cp-about90-closing__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; clip-path: ellipse(76% 74% at 70% 61%); }
.cp-site-main.cp-about-page--editorial + .cp-site-footer { margin-top: 0 !important; }

@media (max-width: 980px) {
  .cp-about90-hero__grid,
  .cp-about90-story__grid,
  .cp-about90-journey__head,
  .cp-about90-mantiqueira__content,
  .cp-about90-closing__grid { grid-template-columns: 1fr; }
  .cp-about90-hero h1 { max-width: 14ch; }
  .cp-about90-hero__visual { min-height: 38rem; }
  .cp-about90-pillars__grid { grid-template-columns: repeat(2, 1fr); }
  .cp-about90-pillars article:nth-child(2) { border-right: 0; }
  .cp-about90-pillars article:nth-child(-n+2) { border-bottom: 1px solid rgb(255 255 255 / 18%); }
  .cp-about90-timeline { grid-template-columns: repeat(2, 1fr); }
  .cp-about90-mantiqueira__content { gap: 1.5rem; }
  .cp-about90-closing__copy { padding-right: 0; }
  .cp-about90-closing__photo { height: 34rem; }
}

@media (max-width: 640px) {
  .cp-about-page--editorial .cp-about90-hero { padding-top: 3rem; }
  .cp-about90-hero__grid { gap: 1.5rem; }
  .cp-about90-hero h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .cp-about90-hero__visual { min-height: 31rem; }
  .cp-about90-hero__visual blockquote { right: 0; width: 70%; padding: 1.4rem 1.4rem 1.5rem; font-size: 1rem; }
  .cp-about90-story__grid { grid-template-columns: minmax(0, 1fr); }
  .cp-about90-story__image img { aspect-ratio: 4 / 5.2; }
  .cp-about90-values,
  .cp-about90-pillars__grid,
  .cp-about90-timeline { grid-template-columns: 1fr; }
  .cp-about90-pillars article { min-height: 0; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 18%); }
  .cp-about90-pillars article:last-child { border-bottom: 0; }
  .cp-about90-journey__head { gap: 1.5rem; }
  .cp-about90-timeline article { min-height: 0; }
  .cp-about90-mantiqueira { min-height: 48rem; background-position: 62% center; }
  .cp-about90-mantiqueira > small { right: .6rem; bottom: .4rem; max-width: 70%; text-align: right; }
  .cp-about90-closing__photo { height: 29rem; }
}


/* =====================================================================
   Versão 0.9.95 — página Sobre Camila baseada no layout aprovado
   ===================================================================== */
.cp-site-main.cp-about95-page {
  padding-block: 0 !important;
  background: #f4efe7;
}

.cp-about95-page {
  --cp95-paper: #f4efe7;
  --cp95-paper-light: #fbf8f3;
  --cp95-blue: #113a5e;
  --cp95-blue-dark: #072c4d;
  --cp95-charcoal: #24292e;
  --cp95-text: #4d555b;
  --cp95-olive: #728f17;
  --cp95-yellow: #e5b12a;
  --cp95-lime: #c8f000;
  color: var(--cp95-text);
}

.cp-about95-symbols {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.cp-about95-page h1,
.cp-about95-page h2,
.cp-about95-page h3,
.cp-about95-page p,
.cp-about95-page time,
.cp-about95-page li {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.cp-about95-page h1,
.cp-about95-page h2,
.cp-about95-page h3 {
  text-wrap: balance;
}

.cp-about95-page p,
.cp-about95-page li {
  text-wrap: pretty;
}

.cp-about95-rule {
  display: block;
  width: 2.35rem;
  height: 2px;
  margin: 1rem 0 1.15rem;
  background: var(--cp95-yellow);
}

.cp-about95-hero {
  position: relative;
  min-height: 39rem;
  overflow: hidden;
  background: linear-gradient(180deg, #fbf8f2 0%, #f2ece2 100%);
}

.cp-about95-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(180deg, transparent, rgba(244,239,231,.95)), var(--cp95-mountain) center 70% / cover no-repeat;
  content: "";
  opacity: .22;
  filter: grayscale(1) saturate(.35);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 52%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 52%, #000 100%);
}

.cp-about95-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 32rem;
  align-items: center;
}

.cp-about95-hero__copy {
  align-self: center;
  max-width: 42rem;
  padding: 4.25rem 0 6rem;
}

.cp-about95-hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  align-items: center;
  margin: 0 0 1.35rem;
  color: var(--cp95-blue);
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.cp-about95-hero__eyebrow span {
  color: var(--cp95-yellow);
  font-size: .95em;
}

.cp-about95-hero h1 {
  max-width: 11ch;
  margin: 0;
  color: var(--cp95-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.35rem, 4.5vw, 3.95rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.06;
}

.cp-about95-hero__copy > p:not(.cp-about95-hero__eyebrow) {
  max-width: 34rem;
  margin: 0;
  color: #555d63;
  font-size: clamp(1rem, 1.22vw, 1.12rem);
  line-height: 1.58;
}

.cp-about95-hero__link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 2rem;
  color: var(--cp95-blue);
  font-size: 1.02rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-about95-hero__link span {
  color: var(--cp95-yellow);
  font-size: 1.65rem;
  line-height: 1;
  transform: translateY(-.08rem);
}

.cp-about95-intro {
  position: relative;
  z-index: 3;
  background: var(--cp95-paper-light);
}

.cp-about95-intro__grid {
  display: grid;
  grid-template-columns: minmax(19rem, .92fr) minmax(0, 1.08fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  min-height: 26rem;
}

.cp-about95-intro__photo {
  align-self: stretch;
  margin: 0;
  overflow: visible;
}

.cp-about95-intro__photo img {
  width: 100%;
  height: 100%;
  min-height: 26rem;
  object-fit: cover;
  object-position: center 35%;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 80%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, #000 0%, #000 80%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-composite: intersect;
}

.cp-about95-intro__copy {
  padding: 2.6rem 0;
}

.cp-about95-intro h2,
.cp-about95-timeline h2,
.cp-about95-mountain h2,
.cp-about95-cta h2 {
  margin: 0;
  color: var(--cp95-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.04;
}

.cp-about95-intro h2 {
  max-width: 18ch;
  font-size: clamp(2.2rem, 3.7vw, 3.35rem);
}

.cp-about95-intro__copy > p {
  max-width: 47rem;
  margin: 0 0 .85rem;
  font-size: 1rem;
  line-height: 1.65;
}

.cp-about95-personal {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem 1.4rem;
  margin: 1.25rem 0 0;
  padding: 0;
  color: #58674a;
  list-style: none;
}

.cp-about95-personal li {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .9rem;
  font-weight: 700;
}

.cp-about95-personal li span {
  color: var(--cp95-olive);
  font-size: 1.2rem;
}

.cp-about95-org {
  padding: 2.4rem 0 2.8rem;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.035), transparent 30%),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.03), transparent 32%),
    #24272a;
  color: #f4f1eb;
}

.cp-about95-org__head {
  position: relative;
  width: 11rem;
  margin: 0 auto .7rem;
  text-align: center;
}

.cp-about95-org__head h2 {
  margin: 0;
  color: #f7f2e8;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 3.15rem);
  font-weight: 500;
  line-height: .88;
}

.cp-about95-org__head span {
  display: block;
  width: 2rem;
  height: 2px;
  margin: .85rem auto 0;
  background: var(--cp95-yellow);
}

.cp-about95-orgchart {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 5rem minmax(0,1fr);
  row-gap: .45rem;
  max-width: 61rem;
  margin: 0 auto;
  padding: 1rem 0 .35rem;
}

.cp-about95-orgchart__spine {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(255,255,255,.33);
  transform: translateX(-50%);
}

.cp-about95-orgnode {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 7.15rem;
}

.cp-about95-orgnode--left {
  grid-column: 1 / 3;
  grid-template-columns: minmax(0,1fr) 5rem;
  text-align: right;
}

.cp-about95-orgnode--right {
  grid-column: 2 / 4;
  grid-template-columns: 5rem minmax(0,1fr);
  text-align: left;
}

.cp-about95-orgnode::after {
  position: absolute;
  top: 50%;
  width: 2rem;
  height: 1px;
  background: rgba(255,255,255,.45);
  content: "";
}

.cp-about95-orgnode--left::after { right: 2.5rem; }
.cp-about95-orgnode--right::after { left: 2.5rem; }

.cp-about95-orgnode > div {
  padding-inline: 1.15rem;
}

.cp-about95-orgnode h3 {
  margin: 0 0 .35rem;
  color: #f2eee6;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 2.1vw, 1.75rem);
  font-weight: 500;
}

.cp-about95-orgnode p {
  max-width: 30rem;
  margin: 0;
  color: #d1d3d4;
  font-size: .83rem;
  line-height: 1.45;
}

.cp-about95-orgnode--left p { margin-left: auto; }

.cp-about95-orgnode__icon {
  position: relative;
  z-index: 2;
  display: grid;
  width: 4rem;
  height: 4rem;
  margin: auto;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  background: #24272a;
  color: var(--cp95-olive);
}

.cp-about95-orgnode__icon::after {
  position: absolute;
  top: 50%;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #bbbfc2;
  content: "";
  transform: translateY(-50%);
}

.cp-about95-orgnode--left .cp-about95-orgnode__icon::after { right: -1.05rem; }
.cp-about95-orgnode--right .cp-about95-orgnode__icon::after { left: -1.05rem; }

.cp-about95-orgnode__icon svg,
.cp-about95-timeicon svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cp-about95-timeline {
  padding: 2.7rem 0 3rem;
  background: var(--cp95-paper-light);
}

.cp-about95-timeline__head {
  margin-bottom: 1rem;
}

.cp-about95-timeline h2 {
  font-size: clamp(2rem, 3.8vw, 3.1rem);
}

.cp-about95-timeline__list {
  position: relative;
  max-width: 61rem;
  margin: 0 auto;
}

.cp-about95-timeline__list::before {
  position: absolute;
  top: .4rem;
  bottom: .4rem;
  left: 5.15rem;
  width: 1px;
  background: rgba(17,58,94,.55);
  content: "";
}

.cp-about95-timeline__list article {
  position: relative;
  display: grid;
  grid-template-columns: 4rem minmax(0,1fr);
  gap: 1.15rem;
  min-height: 5.1rem;
  padding: .55rem 0 .75rem;
}

.cp-about95-timeicon {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  align-self: start;
  place-items: center;
  color: var(--cp95-olive);
}

.cp-about95-timeicon svg { width: 2.1rem; height: 2.1rem; }

.cp-about95-timeline__list article > div {
  position: relative;
  padding-left: 1.35rem;
}

.cp-about95-timeline__list article > div::before {
  position: absolute;
  top: .72rem;
  left: -.7rem;
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  background: var(--cp95-blue);
  content: "";
}

.cp-about95-timeline time {
  display: block;
  color: #7a7e80;
  font-size: .76rem;
  font-weight: 700;
}

.cp-about95-timeline h3 {
  margin: .08rem 0 .12rem;
  color: var(--cp95-blue);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 500;
}

.cp-about95-timeline p {
  margin: 0;
  color: #5e6569;
  font-size: .88rem;
  line-height: 1.45;
}

.cp-about95-mountain {
  position: relative;
  min-height: 20rem;
  display: flex;
  align-items: flex-start;
  padding: 2.2rem 0 2.5rem;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(244,239,231,.9) 0%, rgba(244,239,231,.48) 25%, rgba(15,45,72,.1) 100%), var(--cp95-mountain) center 48% / cover no-repeat;
}

.cp-about95-mountain h2 {
  max-width: 36rem;
  font-size: clamp(2rem, 3.6vw, 3.15rem);
}

.cp-about95-mountain small {
  position: absolute;
  right: 1rem;
  bottom: .5rem;
  color: rgba(255,255,255,.9);
  font-size: .62rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}

.cp-about95-cta {
  position: relative;
  overflow: hidden;
  background: var(--cp95-blue-dark);
  color: #fff;
}

.cp-about95-cta::after {
  position: absolute;
  right: -7rem;
  bottom: -9rem;
  width: 26rem;
  height: 26rem;
  border: 2px solid var(--cp95-yellow);
  border-radius: 50%;
  content: "";
}

.cp-about95-cta__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(20rem,.72fr);
  min-height: 23rem;
  align-items: end;
}

.cp-about95-cta__copy {
  align-self: center;
  padding: 2.8rem 2rem 2.8rem 0;
}

.cp-about95-cta h2 {
  max-width: 18ch;
  color: #fff;
  font-size: clamp(2.1rem, 3.8vw, 3.3rem);
}

.cp-about95-cta p {
  max-width: 35rem;
  margin: 0;
  color: #dbe4eb;
  line-height: 1.55;
}

.cp-about95-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.35rem;
}

.cp-about95-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.9rem;
  padding: .7rem 1.15rem;
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-about95-button--primary {
  background: #77a322;
  color: #fff;
}

.cp-about95-button--ghost {
  border: 1px solid rgba(255,255,255,.42);
  color: #fff;
}

.cp-about95-cta__photo {
  position: relative;
  z-index: 2;
  align-self: end;
  justify-self: end;
  width: min(100%, 28rem);
  margin: 0;
}

.cp-about95-cta__photo img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1.3rem 2rem rgba(0,0,0,.24));
}

.cp-site-main.cp-about95-page + .cp-site-footer {
  margin-top: 0 !important;
  background: var(--cp95-blue-dark, #072c4d);
}

@media (max-width: 980px) {
  .cp-about95-hero__grid,
  .cp-about95-intro__grid,
  .cp-about95-cta__grid {
    grid-template-columns: 1fr;
  }

  .cp-about95-hero__grid { min-height: 0; }
  .cp-about95-hero__copy { max-width: 44rem; padding: 2rem 0 3.5rem; }
  .cp-about95-intro__photo { height: 25rem; }
  .cp-about95-intro__photo img { min-height: 25rem; }
  .cp-about95-intro__copy { padding-top: 0; }
  .cp-about95-cta__copy { padding-right: 0; }
  .cp-about95-cta__photo { width: min(100%, 23rem); }
}

@media (max-width: 720px) {
  .cp-about95-hero h1 { font-size: clamp(2.35rem, 10.4vw, 3.35rem); }
  .cp-about95-hero__eyebrow { gap: .55rem; font-size: .76rem; letter-spacing: .13em; }
  .cp-about95-intro__photo { height: 22rem; }
  .cp-about95-intro__photo img { min-height: 22rem; object-position: center 28%; }
  .cp-about95-personal { gap: .55rem 1rem; }

  .cp-about95-org { padding-top: 2rem; }
  .cp-about95-orgchart {
    display: block;
    padding-left: 3.6rem;
  }
  .cp-about95-orgchart__spine {
    left: 1.6rem;
    transform: none;
  }
  .cp-about95-orgnode,
  .cp-about95-orgnode--left,
  .cp-about95-orgnode--right {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    margin-bottom: 1.25rem;
    text-align: left;
  }
  .cp-about95-orgnode--left,
  .cp-about95-orgnode--right { grid-column: auto; }
  .cp-about95-orgnode::after { display: none; }
  .cp-about95-orgnode > div { padding: 0; }
  .cp-about95-orgnode p { margin: 0; }
  .cp-about95-orgnode__icon {
    position: absolute;
    left: -3.3rem;
    top: .15rem;
    width: 2.85rem;
    height: 2.85rem;
    grid-row: 1;
  }
  .cp-about95-orgnode__icon svg { width: 1.45rem; height: 1.45rem; }
  .cp-about95-orgnode__icon::after { display: none; }
  .cp-about95-orgnode--left .cp-about95-orgnode__icon { order: -1; }

  .cp-about95-timeline__list::before { left: 3.5rem; }
  .cp-about95-timeline__list article { grid-template-columns: 2.8rem minmax(0,1fr); gap: .6rem; }
  .cp-about95-timeline__list article > div { padding-left: 1rem; }
  .cp-about95-timeline__list article > div::before { left: -.35rem; }
  .cp-about95-mountain { min-height: 20rem; background-position: 58% center; }
  .cp-about95-cta__photo { width: min(100%, 19rem); }
  .cp-about95-actions { flex-direction: column; align-items: stretch; }
}


/* =====================================================================
   Versão 0.9.99 — Sobre Camila: técnica, território e vida pública
   ===================================================================== */
.cp-site-main.cp-about99-page {
  padding-block: 0 !important;
  background: #f6f2eb;
}

.cp-about99-page {
  --cp99-paper: #f6f2eb;
  --cp99-paper-light: #fbf8f3;
  --cp99-graphite: #262b2f;
  --cp99-text: #50575d;
  --cp99-blue: #123c66;
  --cp99-blue-soft: #9fb5d1;
  --cp99-yellow: #efc34a;
  --cp99-lime: #c8f000;
  --cp99-line: rgba(38,43,47,.13);
  color: var(--cp99-text);
}

.cp-about99-page h1,
.cp-about99-page h2,
.cp-about99-page h3,
.cp-about99-page p,
.cp-about99-page li,
.cp-about99-page time,
.cp-about99-page blockquote {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.cp-about99-page h1,
.cp-about99-page h2,
.cp-about99-page h3 {
  text-wrap: balance;
}

.cp-about99-page p,
.cp-about99-page li,
.cp-about99-page blockquote {
  text-wrap: pretty;
}

.cp-about99-eyebrow {
  margin: 0 0 1rem;
  color: var(--cp99-blue);
  font-size: .79rem;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.cp-about99-rule {
  display: block;
  width: 2.8rem;
  height: 2px;
  margin: 1.05rem 0 1.25rem;
  background: var(--cp99-yellow);
}

.cp-about99-hero {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  background: linear-gradient(180deg, #fbf8f3 0%, #f2ece2 100%);
}

.cp-about99-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 30%;
  background: linear-gradient(180deg, transparent 0%, rgba(246,242,235,.8) 44%, rgba(246,242,235,.96) 100%), var(--cp99-mountains) center 66% / cover no-repeat;
  content: "";
  opacity: .35;
  filter: grayscale(.7) saturate(.52);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 44%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 44%, #000 100%);
}

.cp-about99-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(24rem,1.1fr);
  min-height: 42rem;
  align-items: stretch;
}

.cp-about99-hero__copy {
  align-self: center;
  max-width: 39rem;
  padding: 3.5rem 0 5rem;
}

.cp-about99-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--cp99-graphite);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.75rem, 4.8vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.02;
}

.cp-about99-hero__lead {
  max-width: 35rem;
  margin: 0;
  color: #454d53;
  font-size: clamp(1.03rem, 1.25vw, 1.16rem);
  line-height: 1.68;
}

.cp-about99-hero__support {
  max-width: 33rem;
  margin: .85rem 0 0;
  color: #6a7075;
  font-size: .96rem;
  line-height: 1.62;
}

.cp-about99-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.8rem;
  color: var(--cp99-blue);
  font-weight: 850;
  text-decoration: none;
}

.cp-about99-link span {
  color: var(--cp99-yellow);
  font-size: 1.45rem;
}

.cp-about99-hero__visual {
  position: relative;
  min-height: 42rem;
}

.cp-about99-hero__blue {
  position: absolute;
  inset: 8% -5% 7% 12%;
  border-radius: 54% 46% 44% 56% / 45% 55% 45% 55%;
  background:
    radial-gradient(circle at 46% 38%, rgba(18,60,102,.46) 0%, rgba(18,60,102,.29) 31%, rgba(159,181,209,.22) 52%, rgba(159,181,209,0) 76%);
  filter: blur(12px);
  transform: rotate(-6deg) scale(1.04);
}

.cp-about99-hero__yellow {
  position: absolute;
  right: -9%;
  top: 15%;
  width: 47%;
  height: 68%;
  border: 1.5px solid rgba(239,195,74,.78);
  border-left: 0;
  border-radius: 50%;
}

.cp-about99-hero__photo {
  position: absolute;
  inset: 1.25rem -2.5rem 0 0;
  z-index: 2;
  margin: 0;
}

.cp-about99-hero__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 14%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  mask-composite: intersect;
  filter: drop-shadow(0 1.25rem 2.2rem rgba(0,0,0,.16));
}

.cp-about99-intro {
  padding: clamp(3rem,5vw,5rem) 0 0;
  background: var(--cp99-paper-light);
}

.cp-about99-intro__grid {
  display: grid;
  grid-template-columns: minmax(20rem,.9fr) minmax(0,1.1fr);
  gap: clamp(2rem,5vw,4.5rem);
  align-items: center;
}

.cp-about99-intro__photo {
  align-self: stretch;
  margin: 0;
  min-height: 36rem;
}

.cp-about99-intro__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 36rem;
  object-fit: cover;
  object-position: center 28%;
  -webkit-mask-image: linear-gradient(90deg,#000 0%,#000 83%,transparent 100%), linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg,#000 0%,#000 83%,transparent 100%), linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  mask-composite: intersect;
}

.cp-about99-intro__copy {
  padding: 1.5rem 0 2.75rem;
}

.cp-about99-intro h2,
.cp-about99-map h2,
.cp-about99-timeline h2,
.cp-about99-mountain h2,
.cp-about99-closing h2 {
  margin: 0;
  color: var(--cp99-graphite);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.cp-about99-intro h2 {
  max-width: 18ch;
  font-size: clamp(2.25rem,3.7vw,3.4rem);
}

.cp-about99-intro__copy > p {
  max-width: 48rem;
  margin: 0 0 .9rem;
  font-size: 1rem;
  line-height: 1.68;
}

.cp-about99-personal {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin: 1.3rem 0 0;
  padding: 0;
  color: var(--cp99-blue);
  list-style: none;
}

.cp-about99-personal li {
  position: relative;
  padding-left: 1rem;
  font-size: .9rem;
  font-weight: 750;
}

.cp-about99-personal li::before {
  position: absolute;
  left: 0;
  top: .5em;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: var(--cp99-yellow);
  content: "";
}

.cp-about99-method {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0;
  padding: 1.6rem 0 2.25rem;
  border-top: 1px solid var(--cp99-line);
  list-style: none;
}

.cp-about99-method li {
  min-height: 5rem;
  padding: .55rem 1.25rem;
  border-right: 1px solid var(--cp99-line);
}

.cp-about99-method li:first-child { padding-left: 0; }
.cp-about99-method li:last-child { border-right: 0; }
.cp-about99-method strong { display:block; color:var(--cp99-blue); font-size:1.03rem; }
.cp-about99-method span { display:block; margin-top:.35rem; color:#73797e; font-size:.86rem; line-height:1.45; }

.cp-about99-map {
  padding: clamp(3.5rem,6vw,5.5rem) 0;
  background:
    radial-gradient(circle at 15% 18%,rgba(18,60,102,.18),transparent 28%),
    radial-gradient(circle at 82% 70%,rgba(239,195,74,.05),transparent 26%),
    var(--cp99-graphite);
  color: #f6f3ed;
}

.cp-about99-map__head {
  max-width: 48rem;
  margin: 0 auto 2.25rem;
  text-align: center;
}

.cp-about99-map .cp-about99-eyebrow { color: var(--cp99-yellow); }
.cp-about99-map h2 { color:#fff; font-size:clamp(2.2rem,4vw,3.4rem); }
.cp-about99-map__head > p:last-child { max-width:42rem; margin:1rem auto 0; color:#cfd4d8; line-height:1.65; }

.cp-about99-org {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 6rem minmax(0,1fr);
  row-gap: .55rem;
  max-width: 66rem;
  margin: 0 auto;
  padding: 6.5rem 0 .5rem;
}

.cp-about99-org__rail {
  position: absolute;
  top: 5.5rem;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg,var(--cp99-yellow),rgba(255,255,255,.25));
  transform: translateX(-50%);
}

.cp-about99-org__center {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 3;
  display: grid;
  width: 7.5rem;
  height: 7.5rem;
  place-content: center;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 50%;
  background: var(--cp99-blue);
  color: #fff;
  text-align: center;
  transform: translateX(-50%);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.2);
}

.cp-about99-org__center strong,
.cp-about99-org__center span { display:block; font-family:Georgia,'Times New Roman',serif; font-size:1.35rem; line-height:1; }
.cp-about99-org__center span { margin-top:.15rem; }

.cp-about99-org__item {
  position: relative;
  display: grid;
  grid-template-columns: 3.3rem minmax(0,1fr);
  gap: 1rem;
  align-items: start;
  min-height: 7.25rem;
  padding: 1rem 1.25rem;
}

.cp-about99-org__item--left { grid-column:1/3; padding-right:4rem; text-align:right; grid-template-columns:minmax(0,1fr) 3.3rem; }
.cp-about99-org__item--right { grid-column:2/4; padding-left:4rem; }
.cp-about99-org__item--left .cp-about99-org__number { order:2; }

.cp-about99-org__item::after {
  position: absolute;
  top: 1.9rem;
  width: 2.3rem;
  height: 1px;
  background: rgba(255,255,255,.32);
  content: "";
}

.cp-about99-org__item--left::after { right: 2.55rem; }
.cp-about99-org__item--right::after { left: 2.55rem; }

.cp-about99-org__number {
  position: relative;
  z-index: 2;
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  background: var(--cp99-graphite);
  color: var(--cp99-yellow);
  font-size: .77rem;
  font-weight: 850;
}

.cp-about99-org__item h3 { margin:0 0 .35rem; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.25rem,2vw,1.75rem); font-weight:500; }
.cp-about99-org__item p { max-width:29rem; margin:0; color:#cfd3d6; font-size:.85rem; line-height:1.5; }
.cp-about99-org__item--left p { margin-left:auto; }

.cp-about99-timeline {
  padding: clamp(3.5rem,6vw,5.5rem) 0;
  background: var(--cp99-paper-light);
}

.cp-about99-timeline__layout {
  display: grid;
  grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
  gap: clamp(2rem,5vw,5rem);
}

.cp-about99-timeline__head { align-self:start; position:sticky; top:7rem; }
.cp-about99-timeline h2 { max-width:15ch; font-size:clamp(2.15rem,3.8vw,3.45rem); }
.cp-about99-timeline__head > p:last-child { max-width:30rem; margin:1rem 0 0; line-height:1.65; }

.cp-about99-timeline__list {
  position: relative;
  margin: 0;
  padding: 0 0 0 2.4rem;
  list-style: none;
}

.cp-about99-timeline__list::before {
  position: absolute;
  top: .8rem;
  bottom: .8rem;
  left: .48rem;
  width: 1px;
  background: linear-gradient(180deg,var(--cp99-blue),rgba(18,60,102,.14));
  content: "";
}

.cp-about99-timeline__list li {
  position: relative;
  display: grid;
  grid-template-columns: 7rem minmax(0,1fr);
  gap: 1.15rem;
  min-height: 6.1rem;
  padding: .35rem 0 1.2rem;
}

.cp-about99-timeline__list li::before {
  position: absolute;
  left: -2.33rem;
  top: .72rem;
  width: .75rem;
  height: .75rem;
  border: 3px solid var(--cp99-paper-light);
  border-radius: 50%;
  background: var(--cp99-blue);
  box-shadow: 0 0 0 1px var(--cp99-blue);
  content: "";
}

.cp-about99-timeline time { color:#7d8286; font-size:.78rem; font-weight:800; }
.cp-about99-timeline h3 { margin:0 0 .28rem; color:var(--cp99-blue); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.15rem,2vw,1.55rem); font-weight:500; }
.cp-about99-timeline__list p { margin:0; color:#666d72; font-size:.9rem; line-height:1.5; }
.cp-about99-timeline__highlight h3 { color:var(--cp99-graphite); }
.cp-about99-timeline__highlight::before { background:var(--cp99-yellow) !important; box-shadow:0 0 0 1px var(--cp99-yellow) !important; }

.cp-about99-mountain {
  position: relative;
  min-height: 35rem;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(90deg,rgba(10,35,58,.88) 0%,rgba(10,35,58,.62) 48%,rgba(10,35,58,.12) 100%), var(--cp99-mountains) center 50% / cover no-repeat;
  color: #fff;
}

.cp-about99-mountain__content {
  padding-top: 4rem;
  padding-bottom: 3.4rem;
}

.cp-about99-mountain .cp-about99-eyebrow { color:var(--cp99-yellow); }
.cp-about99-mountain h2 { max-width:17ch; color:#fff; font-size:clamp(2.3rem,4.2vw,3.8rem); }
.cp-about99-mountain__content > p:not(.cp-about99-eyebrow) { max-width:37rem; margin:1.25rem 0 0; color:#edf2f5; line-height:1.65; }
.cp-about99-mountain blockquote { max-width:42rem; margin:1.25rem 0 0; padding-left:1.15rem; border-left:3px solid var(--cp99-yellow); color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.25rem,2.2vw,1.75rem); line-height:1.35; }
.cp-about99-mountain small { position:absolute; right:1rem; bottom:.5rem; color:rgba(255,255,255,.78); font-size:.62rem; text-shadow:0 1px 2px rgba(0,0,0,.55); }

.cp-about99-closing {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg,#24292e 0%,#153a5f 100%);
  color: #fff;
}

.cp-about99-closing::after {
  position: absolute;
  right: -9rem;
  bottom: -10rem;
  width: 30rem;
  height: 30rem;
  border: 1.5px solid rgba(239,195,74,.78);
  border-radius: 50%;
  content: "";
}

.cp-about99-closing__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(20rem,.78fr);
  min-height: 31rem;
  align-items: end;
}

.cp-about99-closing__copy { align-self:center; padding:3.5rem 2rem 3.5rem 0; }
.cp-about99-closing .cp-about99-eyebrow { color:var(--cp99-yellow); }
.cp-about99-closing h2 { max-width:15ch; color:#fff; font-size:clamp(2.25rem,4vw,3.55rem); }
.cp-about99-closing__copy > p:not(.cp-about99-eyebrow) { max-width:38rem; margin:0; color:#e2e8ec; line-height:1.65; }

.cp-about99-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.cp-about99-button { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.95rem; padding:.72rem 1.2rem; border-radius:999px; font-size:.89rem; font-weight:850; text-decoration:none; }
.cp-about99-button--primary { background:var(--cp99-lime); color:var(--cp99-graphite); }
.cp-about99-button--ghost { border:1px solid rgba(255,255,255,.42); color:#fff; }
.cp-about99-button--text { color:#fff; }

.cp-about99-closing__photo { position:relative; z-index:2; align-self:end; justify-self:end; width:min(100%,29rem); margin:0; }
.cp-about99-closing__photo img { display:block; width:100%; height:auto; filter:drop-shadow(0 1.2rem 2rem rgba(0,0,0,.24)); }

.cp-site-main.cp-about99-page + .cp-site-footer { margin-top:0 !important; background:#153a5f; }

@media (max-width: 1050px) {
  .cp-about99-hero__grid,
  .cp-about99-intro__grid,
  .cp-about99-timeline__layout,
  .cp-about99-closing__grid { grid-template-columns:1fr; }

  .cp-about99-hero__copy { max-width:44rem; padding:2.6rem 0 0; }
  .cp-about99-hero__visual { min-height:35rem; }
  .cp-about99-hero__photo { inset:1rem 0 0 auto; width:min(100%,42rem); }
  .cp-about99-intro__photo { min-height:28rem; max-width:36rem; }
  .cp-about99-intro__photo img { min-height:28rem; }
  .cp-about99-timeline__head { position:static; }
  .cp-about99-closing__copy { padding-right:0; }
  .cp-about99-closing__photo { width:min(100%,23rem); }
}

@media (max-width: 760px) {
  .cp-about99-hero { min-height:0; }
  .cp-about99-hero h1 { font-size:clamp(2.55rem,12vw,3.75rem); }
  .cp-about99-hero__copy { padding-top:2rem; }
  .cp-about99-hero__visual { min-height:27rem; }
  .cp-about99-hero__blue { inset:7% -9% 9% 4%; }
  .cp-about99-hero__yellow { right:-20%; width:58%; }
  .cp-about99-hero__photo { inset:1rem -6rem 0 -1rem; }
  .cp-about99-hero__photo img { object-position:center 28%; }

  .cp-about99-intro { padding-top:2.5rem; }
  .cp-about99-intro__photo { min-height:23rem; }
  .cp-about99-intro__photo img { min-height:23rem; }

  .cp-about99-method { grid-template-columns:1fr 1fr; }
  .cp-about99-method li { border-bottom:1px solid var(--cp99-line); }
  .cp-about99-method li:nth-child(2) { border-right:0; }
  .cp-about99-method li:nth-last-child(-n+2) { border-bottom:0; }
  .cp-about99-method li:nth-child(3) { padding-left:0; }

  .cp-about99-org { display:block; padding:7.2rem 0 0 3.6rem; }
  .cp-about99-org__center { left:1.65rem; transform:none; }
  .cp-about99-org__rail { left:3.55rem; transform:none; }
  .cp-about99-org__item,
  .cp-about99-org__item--left,
  .cp-about99-org__item--right { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.85rem; margin-bottom:1rem; padding:.5rem 0; text-align:left; }
  .cp-about99-org__item--left .cp-about99-org__number { order:0; }
  .cp-about99-org__item::after { display:none; }
  .cp-about99-org__item--left p { margin-left:0; }

  .cp-about99-timeline__list { padding-left:1.9rem; }
  .cp-about99-timeline__list li { grid-template-columns:1fr; gap:.25rem; }
  .cp-about99-timeline__list li::before { left:-1.83rem; }

  .cp-about99-mountain { min-height:33rem; background-position:58% center; }
  .cp-about99-mountain__content { padding-top:3rem; padding-bottom:2.7rem; }

  .cp-about99-actions { flex-direction:column; align-items:stretch; }
  .cp-about99-closing__grid { min-height:0; }
  .cp-about99-closing__photo { width:min(100%,20rem); }
}


/* =====================================================================
   0.9.100 — Sobre Camila: identidade exclusiva do site
   ===================================================================== */
.cp-site-main.cp-about100-page {
  padding-block: 0 !important;
  background: #f4efe7;
}

.cp-about100-page {
  --cp100-offwhite: #f4efe7;
  --cp100-paper: #fbf8f3;
  --cp100-graphite: #232629;
  --cp100-ink: #171717;
  --cp100-text: #555b60;
  --cp100-muted: #777d81;
  --cp100-lime: #c8f000;
  --cp100-line: rgba(23,23,23,.14);
  color: var(--cp100-text);
}

.cp-about100-page h1,
.cp-about100-page h2,
.cp-about100-page h3,
.cp-about100-page p,
.cp-about100-page li,
.cp-about100-page time,
.cp-about100-page blockquote {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.cp-about100-page h1,
.cp-about100-page h2,
.cp-about100-page h3 {
  text-wrap: balance;
}

.cp-about100-page p,
.cp-about100-page li,
.cp-about100-page blockquote {
  text-wrap: pretty;
}

.cp-about100-eyebrow {
  margin: 0 0 .9rem;
  color: var(--cp100-graphite);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.cp-about100-rule {
  display: block;
  width: 2.7rem;
  height: 3px;
  margin: 1.1rem 0 1.25rem;
  background: var(--cp100-lime);
}

.cp-about100-hero {
  position: relative;
  min-height: 39rem;
  overflow: hidden;
  background: linear-gradient(180deg, #fbf8f3 0%, #f2ede5 100%);
}

.cp-about100-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 31%;
  background: linear-gradient(180deg, transparent, rgba(244,239,231,.86)), var(--cp100-mountains) center 68% / cover no-repeat;
  content: '';
  opacity: .34;
  filter: grayscale(1) contrast(.92);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 43%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 43%, #000 100%);
}

.cp-about100-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(24rem,1.08fr);
  min-height: 39rem;
  align-items: stretch;
}

.cp-about100-hero__copy {
  align-self: center;
  max-width: 38rem;
  padding: 3.5rem 0 5.5rem;
}

.cp-about100-hero h1 {
  max-width: 11ch;
  margin: 0;
  color: var(--cp100-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.65rem,5vw,4.5rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.cp-about100-hero__lead {
  max-width: 35rem;
  margin: 0;
  color: var(--cp100-text);
  font-size: clamp(1rem,1.25vw,1.12rem);
  line-height: 1.65;
}

.cp-about100-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.75rem;
  color: var(--cp100-ink);
  font-weight: 850;
  text-decoration: none;
}

.cp-about100-link span {
  color: var(--cp100-lime);
  font-size: 1.65rem;
  line-height: 1;
}

.cp-about100-hero__photo {
  position: relative;
  align-self: stretch;
  margin: 0;
  overflow: visible;
}

.cp-about100-hero__photo img {
  position: absolute;
  inset: 0 -4rem 0 auto;
  width: calc(100% + 4rem);
  height: 100%;
  object-fit: cover;
  object-position: 46% 34%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%), linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  mask-composite: intersect;
  filter: drop-shadow(-1.1rem 1.2rem 2rem rgba(23,23,23,.14));
}

.cp-about100-intro {
  padding: clamp(3rem,5.5vw,5rem) 0 0;
  background: var(--cp100-paper);
}

.cp-about100-intro__grid {
  display: grid;
  grid-template-columns: minmax(21rem,.9fr) minmax(0,1.1fr);
  gap: clamp(1.8rem,4.5vw,4.5rem);
  align-items: center;
}

.cp-about100-intro__photo {
  min-height: 38rem;
  margin: 0;
  overflow: visible;
}

.cp-about100-intro__photo img {
  width: 100%;
  height: 100%;
  min-height: 38rem;
  object-fit: cover;
  object-position: 48% 28%;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 10%, #000 87%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, #000 0%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 10%, #000 87%, transparent 100%);
  mask-composite: intersect;
}

.cp-about100-intro__copy {
  padding: 1.5rem 0 2.5rem;
}

.cp-about100-intro h2,
.cp-about100-map h2,
.cp-about100-timeline h2,
.cp-about100-mountain h2,
.cp-about100-closing h2 {
  margin: 0;
  color: var(--cp100-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.04;
}

.cp-about100-intro h2 {
  max-width: 16ch;
  font-size: clamp(2.15rem,3.8vw,3.4rem);
}

.cp-about100-intro__copy > p {
  max-width: 47rem;
  margin: 0 0 .85rem;
  line-height: 1.68;
}

.cp-about100-personal {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.3rem;
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
}

.cp-about100-personal li {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  color: var(--cp100-graphite);
  font-size: .9rem;
  font-weight: 750;
}

.cp-about100-personal li::before {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--cp100-lime);
  content: '';
}


.cp-about100-map {
  padding: clamp(3.5rem,6vw,5.4rem) 0 clamp(3rem,5vw,4.5rem);
  background: var(--cp100-graphite);
  color: #fff;
}

.cp-about100-map .cp-about100-eyebrow,
.cp-about100-closing .cp-about100-eyebrow {
  color: var(--cp100-lime);
}

.cp-about100-map__head {
  max-width: 52rem;
  margin: 0 auto 2.2rem;
  text-align: center;
}

.cp-about100-map h2 {
  color: #fff;
  font-size: clamp(2.15rem,4vw,3.45rem);
}

.cp-about100-map__head > p:last-child {
  max-width: 43rem;
  margin: 1rem auto 0;
  color: #cfd3d6;
  line-height: 1.65;
}

.cp-about100-org {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) 7rem minmax(0,1fr);
  max-width: 64rem;
  margin: 0 auto;
  padding: 7.5rem 0 .5rem;
}

.cp-about100-org__rail {
  position: absolute;
  top: 6.8rem;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(255,255,255,.34);
  transform: translateX(-50%);
}

.cp-about100-org__center {
  position: absolute;
  top: .4rem;
  left: 50%;
  z-index: 2;
  display: grid;
  width: 6.7rem;
  height: 6.7rem;
  place-items: center;
  border: 1px solid rgba(200,240,0,.7);
  border-radius: 50%;
  background: var(--cp100-graphite);
  color: #fff;
  text-align: center;
  transform: translateX(-50%);
}

.cp-about100-org__center strong,
.cp-about100-org__center span {
  display: block;
  font-family: Georgia,'Times New Roman',serif;
  font-size: 1.3rem;
  line-height: 1;
}

.cp-about100-org__center span { margin-top:.12rem; }

.cp-about100-org__item {
  position: relative;
  display: grid;
  min-height: 7.3rem;
  align-items: center;
}

.cp-about100-org__item--left {
  grid-column: 1 / 3;
  grid-template-columns: minmax(0,1fr) 3.3rem;
  padding-right: 4.1rem;
  text-align: right;
}

.cp-about100-org__item--right {
  grid-column: 2 / 4;
  grid-template-columns: 3.3rem minmax(0,1fr);
  padding-left: 4.1rem;
}

.cp-about100-org__item--left .cp-about100-org__number { order: 2; }

.cp-about100-org__item::after {
  position: absolute;
  top: 50%;
  width: 2.2rem;
  height: 1px;
  background: rgba(255,255,255,.4);
  content: '';
}

.cp-about100-org__item--left::after { right:2.65rem; }
.cp-about100-org__item--right::after { left:2.65rem; }

.cp-about100-org__number {
  position: relative;
  z-index: 2;
  display: grid;
  width: 3.3rem;
  height: 3.3rem;
  place-items: center;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: var(--cp100-graphite);
  color: var(--cp100-lime);
  font-size: .76rem;
  font-weight: 900;
}

.cp-about100-org__item h3 {
  margin: 0 0 .35rem;
  color: #fff;
  font-family: Georgia,'Times New Roman',serif;
  font-size: clamp(1.25rem,2vw,1.75rem);
  font-weight: 500;
}

.cp-about100-org__item p {
  max-width: 30rem;
  margin: 0;
  color: #cfd3d6;
  font-size: .86rem;
  line-height: 1.5;
}

.cp-about100-org__item--left p { margin-left:auto; }

.cp-about100-timeline {
  padding: clamp(3.5rem,6vw,5.5rem) 0;
  background: var(--cp100-paper);
}

.cp-about100-timeline__layout {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
  gap: clamp(2rem,5vw,5rem);
}

.cp-about100-timeline__head {
  position: sticky;
  top: 7rem;
  align-self: start;
}

.cp-about100-timeline h2 {
  max-width: 15ch;
  font-size: clamp(2.15rem,3.8vw,3.45rem);
}

.cp-about100-timeline__head > p:last-child {
  max-width: 31rem;
  margin: 1rem 0 0;
  line-height: 1.65;
}

.cp-about100-timeline__list {
  position: relative;
  margin: 0;
  padding: 0 0 0 2.2rem;
  list-style: none;
}

.cp-about100-timeline__list::before {
  position: absolute;
  top: .45rem;
  bottom: .45rem;
  left: .38rem;
  width: 1px;
  background: rgba(23,23,23,.28);
  content: '';
}

.cp-about100-timeline__list li {
  position: relative;
  display: grid;
  grid-template-columns: 7rem minmax(0,1fr);
  gap: 1.1rem;
  min-height: 6.4rem;
  padding: .35rem 0 1.1rem;
}

.cp-about100-timeline__list li::before {
  position: absolute;
  top: .63rem;
  left: -2.12rem;
  width: .76rem;
  height: .76rem;
  border-radius: 50%;
  background: var(--cp100-lime);
  box-shadow: 0 0 0 1px rgba(23,23,23,.75);
  content: '';
}

.cp-about100-timeline time {
  color: var(--cp100-muted);
  font-size: .78rem;
  font-weight: 850;
}

.cp-about100-timeline h3 {
  margin: 0 0 .25rem;
  color: var(--cp100-ink);
  font-family: Georgia,'Times New Roman',serif;
  font-size: clamp(1.15rem,2vw,1.55rem);
  font-weight: 500;
}

.cp-about100-timeline__list p {
  margin: 0;
  color: #666c70;
  font-size: .9rem;
  line-height: 1.5;
}

.cp-about100-mountain {
  position: relative;
  min-height: 37rem;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(23,23,23,.88) 0%, rgba(23,23,23,.7) 46%, rgba(23,23,23,.24) 100%), var(--cp100-mountains) center / cover no-repeat;
  background-color: var(--cp100-graphite);
  background-blend-mode: normal, luminosity;
  color: #fff;
}

.cp-about100-mountain__content {
  position: relative;
  z-index: 2;
  padding-top: 4rem;
  padding-bottom: 3.5rem;
}

.cp-about100-mountain .cp-about100-eyebrow { color:var(--cp100-lime); }

.cp-about100-mountain h2 {
  max-width: 17ch;
  color: #fff;
  font-size: clamp(2.25rem,4.2vw,3.8rem);
}

.cp-about100-mountain__content > p:not(.cp-about100-eyebrow) {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: #edf0f2;
  line-height: 1.65;
}

.cp-about100-mountain blockquote {
  max-width: 43rem;
  margin: 1.35rem 0 0;
  padding-left: 1.15rem;
  border-left: 3px solid var(--cp100-lime);
  color: #fff;
  font-family: Georgia,'Times New Roman',serif;
  font-size: clamp(1.25rem,2.2vw,1.75rem);
  line-height: 1.35;
}

.cp-about100-mountain small {
  position: absolute;
  right: 1rem;
  bottom: .55rem;
  color: rgba(255,255,255,.72);
  font-size: .62rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}

.cp-about100-closing {
  position: relative;
  overflow: hidden;
  background: var(--cp100-graphite);
  color: #fff;
}

.cp-about100-closing__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(22rem,.86fr);
  min-height: 31rem;
  align-items: stretch;
}

.cp-about100-closing__copy {
  position: relative;
  z-index: 3;
  align-self: center;
  padding: 3.5rem 2rem 3.5rem 0;
}

.cp-about100-closing h2 {
  max-width: 15ch;
  color: #fff;
  font-size: clamp(2.2rem,4vw,3.55rem);
}

.cp-about100-closing__copy > p:not(.cp-about100-eyebrow) {
  max-width: 38rem;
  margin: 0;
  color: #e1e4e6;
  line-height: 1.65;
}

.cp-about100-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.cp-about100-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.95rem;
  padding: .72rem 1.2rem;
  border-radius: 999px;
  font-size: .89rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-about100-button--primary { background:var(--cp100-lime); color:var(--cp100-ink); }
.cp-about100-button--ghost { border:1px solid rgba(255,255,255,.42); color:#fff; }
.cp-about100-button--text { color:#fff; }

.cp-about100-closing__photo {
  position: relative;
  margin: 0;
  overflow: visible;
}

.cp-about100-closing__photo img {
  position: absolute;
  inset: 0 -3rem 0 auto;
  width: calc(100% + 3rem);
  height: 100%;
  object-fit: cover;
  object-position: 55% 35%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 100%), linear-gradient(180deg, #000 0%, #000 80%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 100%), linear-gradient(180deg, #000 0%, #000 80%, transparent 100%);
  mask-composite: intersect;
}

.cp-site-main.cp-about100-page + .cp-site-footer {
  margin-top: 0 !important;
  background: var(--cp100-graphite);
}

@media (max-width: 1024px) {
  .cp-about100-hero__grid,
  .cp-about100-intro__grid,
  .cp-about100-timeline__layout,
  .cp-about100-closing__grid {
    grid-template-columns: 1fr;
  }

  .cp-about100-hero__copy { max-width:44rem; padding:2.8rem 0 0; }
  .cp-about100-hero__photo { min-height:34rem; }
  .cp-about100-hero__photo img { inset:0 -5rem 0 auto; width:calc(100% + 5rem); object-position:center 29%; }
  .cp-about100-intro__photo { min-height:29rem; max-width:38rem; }
  .cp-about100-intro__photo img { min-height:29rem; }
  .cp-about100-timeline__head { position:static; }
  .cp-about100-closing__copy { padding-right:0; }
  .cp-about100-closing__photo { min-height:27rem; }
  .cp-about100-closing__photo img { inset:0 -2rem 0 0; width:calc(100% + 2rem); object-position:70% 28%; }
}

@media (max-width: 720px) {
  .cp-about100-hero { min-height:0; }
  .cp-about100-hero h1 { font-size:clamp(2.55rem,12vw,3.7rem); }
  .cp-about100-hero__copy { padding-top:2rem; }
  .cp-about100-hero__photo { min-height:26rem; }
  .cp-about100-hero__photo img { inset:0 -5rem 0 -1rem; width:calc(100% + 6rem); object-position:54% 26%; }

  .cp-about100-intro { padding-top:2.5rem; }
  .cp-about100-intro__photo { min-height:23rem; }
  .cp-about100-intro__photo img { min-height:23rem; object-position:center 24%; }

  .cp-about100-org { display:block; padding:7.2rem 0 0 3.6rem; }
  .cp-about100-org__center { left:1.65rem; transform:none; }
  .cp-about100-org__rail { left:3.55rem; transform:none; }
  .cp-about100-org__item,
  .cp-about100-org__item--left,
  .cp-about100-org__item--right {
    display:grid;
    grid-template-columns:3rem minmax(0,1fr);
    gap:.85rem;
    margin-bottom:1rem;
    padding:.5rem 0;
    text-align:left;
  }
  .cp-about100-org__item--left .cp-about100-org__number { order:0; }
  .cp-about100-org__item::after { display:none; }
  .cp-about100-org__item--left p { margin-left:0; }

  .cp-about100-timeline__list { padding-left:1.9rem; }
  .cp-about100-timeline__list li { grid-template-columns:1fr; gap:.25rem; }
  .cp-about100-timeline__list li::before { left:-1.83rem; }

  .cp-about100-mountain { min-height:34rem; background-position:58% center; }
  .cp-about100-mountain__content { padding-top:3rem; padding-bottom:2.8rem; }

  .cp-about100-actions { flex-direction:column; align-items:stretch; }
  .cp-about100-closing__grid { min-height:0; }
  .cp-about100-closing__photo { min-height:23rem; }
  .cp-about100-closing__photo img { object-position:78% 30%; }
}


/* =====================================================================
   Versão 0.9.101 — fotos em largura total e rodapé global
   ===================================================================== */
.cp-about100-hero,
.cp-about100-intro,
.cp-about100-closing {
  isolation: isolate;
}

.cp-about100-hero {
  min-height: 44rem;
  background: var(--cp100-graphite);
}

.cp-about100-hero::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 82% 48%, rgb(200 240 0 / 13%) 0%, rgb(200 240 0 / 0%) 29%),
    linear-gradient(90deg, rgb(35 38 41 / 97%) 0%, rgb(35 38 41 / 90%) 34%, rgb(35 38 41 / 55%) 58%, rgb(35 38 41 / 15%) 100%);
  content: '';
  pointer-events: none;
}

.cp-about100-hero::after {
  z-index: 1;
  height: 29%;
  opacity: .36;
  filter: grayscale(1) contrast(.96);
}

.cp-about100-hero__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.cp-about100-hero__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 66% 34%;
  filter: grayscale(.28) brightness(.78) contrast(1.05);
  -webkit-mask-image: none;
  mask-image: none;
}

.cp-about100-hero__grid {
  z-index: 2;
  grid-template-columns: minmax(0,1fr);
  min-height: 44rem;
}

.cp-about100-hero__copy {
  max-width: 39rem;
  padding: 4.5rem 0 5.5rem;
}

.cp-about100-hero .cp-about100-eyebrow,
.cp-about100-hero h1,
.cp-about100-hero__lead,
.cp-about100-hero .cp-about100-link {
  color: var(--cp100-paper);
}

.cp-about100-hero__lead {
  color: rgb(251 248 243 / 86%);
}

.cp-about100-intro {
  position: relative;
  min-height: 44rem;
  padding: 0;
  overflow: hidden;
  background: var(--cp100-paper);
}

.cp-about100-intro::before {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 44rem;
  background:
    radial-gradient(circle at 12% 88%, rgb(200 240 0 / 12%) 0%, rgb(200 240 0 / 0%) 30%),
    linear-gradient(90deg, rgb(251 248 243 / 96%) 0%, rgb(251 248 243 / 90%) 37%, rgb(251 248 243 / 50%) 58%, rgb(251 248 243 / 8%) 100%);
  content: '';
  pointer-events: none;
}

.cp-about100-intro__photo {
  position: absolute;
  inset: 0 0 auto;
  z-index: 0;
  width: 100%;
  height: 44rem;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.cp-about100-intro__photo img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 70% 54%;
  filter: grayscale(.2) brightness(.92) contrast(.98);
  -webkit-mask-image: none;
  mask-image: none;
}

.cp-about100-intro__grid {
  position: relative;
  z-index: 2;
  display: block;
  min-height: 44rem;
}

.cp-about100-intro__copy {
  width: min(100%, 39rem);
  margin-right: auto;
  padding: 4.8rem 0 4rem;
}


.cp-about100-closing {
  min-height: 36rem;
  background: var(--cp100-graphite);
}

.cp-about100-closing::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 78% 34%, rgb(200 240 0 / 12%) 0%, rgb(200 240 0 / 0%) 28%),
    linear-gradient(90deg, rgb(35 38 41 / 98%) 0%, rgb(35 38 41 / 90%) 42%, rgb(35 38 41 / 52%) 66%, rgb(35 38 41 / 17%) 100%);
  content: '';
  pointer-events: none;
}

.cp-about100-closing__photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.cp-about100-closing__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 38%;
  filter: grayscale(.18) brightness(.82) contrast(1.04);
  -webkit-mask-image: none;
  mask-image: none;
}

.cp-about100-closing__grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0,1fr);
  min-height: 36rem;
}

.cp-about100-closing__copy {
  max-width: 43rem;
  padding: 4.25rem 0;
}

.cp-site-main.cp-about100-page + .cp-site-footer {
  margin-top: 0 !important;
  background: var(--cp-color-graphite);
  color: var(--cp-color-white);
}

@media (max-width: 1024px) {
  .cp-about100-hero__copy {
    max-width: 38rem;
    padding: 4rem 0 5rem;
  }

  .cp-about100-intro__copy {
    width: min(100%, 36rem);
  }

  .cp-about100-closing__copy {
    max-width: 39rem;
  }
}

@media (max-width: 720px) {
  .cp-about100-hero,
  .cp-about100-hero__grid {
    min-height: 40rem;
  }

  .cp-about100-hero::before {
    background:
      linear-gradient(180deg, rgb(35 38 41 / 84%) 0%, rgb(35 38 41 / 68%) 55%, rgb(35 38 41 / 94%) 100%),
      radial-gradient(circle at 75% 52%, rgb(200 240 0 / 12%), transparent 30%);
  }

  .cp-about100-hero__photo img {
    object-position: 58% 32%;
  }

  .cp-about100-hero__copy {
    align-self: end;
    padding: 4rem 0 4.2rem;
  }

  .cp-about100-intro,
  .cp-about100-intro__grid,
  .cp-about100-intro__photo,
  .cp-about100-intro::before {
    min-height: 43rem;
    height: 43rem;
  }

  .cp-about100-intro::before {
    background: linear-gradient(180deg, rgb(251 248 243 / 34%) 0%, rgb(251 248 243 / 80%) 42%, rgb(251 248 243 / 98%) 68%, var(--cp100-paper) 100%);
  }

  .cp-about100-intro__photo img {
    object-position: 58% 38%;
  }

  .cp-about100-intro__copy {
    display: flex;
    width: 100%;
    min-height: 43rem;
    flex-direction: column;
    justify-content: flex-end;
    padding: 15rem 0 2.5rem;
  }

  .cp-about100-closing,
  .cp-about100-closing__grid {
    min-height: 38rem;
  }

  .cp-about100-closing::before {
    background: linear-gradient(180deg, rgb(35 38 41 / 28%) 0%, rgb(35 38 41 / 64%) 48%, rgb(35 38 41 / 98%) 100%);
  }

  .cp-about100-closing__photo img {
    object-position: 72% 28%;
  }

  .cp-about100-closing__copy {
    align-self: end;
    padding: 12rem 0 3rem;
  }
}

/* =====================================================================
   Versão 0.9.102 — fechamento coeso do bloco “Do escritório para o território”
   ===================================================================== */
.cp-about100-intro {
  min-height: 0;
  overflow: visible;
}

.cp-about100-intro::before {
  display: none;
}

.cp-about100-intro__stage {
  position: relative;
  min-height: 44rem;
  overflow: hidden;
  isolation: isolate;
  background: var(--cp100-paper);
}

.cp-about100-intro__stage::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 12% 88%, rgb(200 240 0 / 12%) 0%, rgb(200 240 0 / 0%) 30%),
    linear-gradient(90deg, rgb(251 248 243 / 96%) 0%, rgb(251 248 243 / 90%) 37%, rgb(251 248 243 / 50%) 58%, rgb(251 248 243 / 8%) 100%);
  content: '';
  pointer-events: none;
}

.cp-about100-intro__stage .cp-about100-intro__photo {
  inset: 0;
  height: 100%;
}

.cp-about100-intro__stage .cp-about100-intro__grid {
  min-height: 44rem;
}

.cp-about100-intro__copy {
  padding-bottom: 2.35rem;
}

.cp-about100-personal {
  margin-bottom: 0;
}


@media (max-width: 720px) {
  .cp-about100-intro {
    height: auto;
    min-height: 0;
  }

  .cp-about100-intro__stage {
    height: auto;
    min-height: 43rem;
  }

  .cp-about100-intro__stage::before,
  .cp-about100-intro__stage .cp-about100-intro__photo {
    height: 100%;
    min-height: 100%;
  }

  .cp-about100-intro__stage .cp-about100-intro__grid {
    height: auto;
    min-height: 43rem;
  }

  .cp-about100-intro__copy {
    height: auto;
    min-height: 43rem;
    padding-bottom: 2rem;
  }
}

/* =====================================================================
   Versão 0.9.103 — remoção da faixa escura antes do bloco do organograma
   ===================================================================== */
.cp-about100-map {
  padding-top: 0;
}

.cp-about100-map__head {
  padding-top: clamp(2rem, 4vw, 3rem);
}


/* =====================================================================
   Versão 0.9.108 — escurecimento da base da imagem da Mantiqueira
   ===================================================================== */
.cp-about100-mountain::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: clamp(8rem, 15vw, 13rem);
  background: linear-gradient(180deg, rgba(23,23,23,0) 0%, rgba(23,23,23,.52) 46%, rgba(23,23,23,.9) 74%, var(--cp100-graphite) 100%);
  pointer-events: none;
  z-index: 1;
}

.cp-about100-closing {
  margin-top: 0;
}

/* Ajuste exclusivo do enquadramento da foto no hero da página Sobre Camila. */
@media (min-width: 1025px) {
  .cp-about100-hero__photo {
    inset: 0 0 0 auto;
    width: 55%;
  }

  .cp-about100-hero__photo img {
    object-position: center 18%;
  }
}


/* Versão 0.9.114 — fusão suave entre a foto e o fundo do título no hero. */
@media (min-width: 1025px) {
  .cp-about100-hero__photo {
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0, 0, 0, .12) 8%,
      rgba(0, 0, 0, .38) 16%,
      rgba(0, 0, 0, .72) 27%,
      #000 40%,
      #000 100%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      rgba(0, 0, 0, .12) 8%,
      rgba(0, 0, 0, .38) 16%,
      rgba(0, 0, 0, .72) 27%,
      #000 40%,
      #000 100%
    );
  }
}

/* Versão 0.9.123 — Fiscalizações e Hero de dossiê com identidade Olha LAI. */
.cp-dossie-cover {
  position: relative;
  min-height: clamp(34rem, 72vh, 52rem);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  padding: 0;
  background: linear-gradient(105deg, #111315 0%, #121416 54%, #201126 100%);
  isolation: isolate;
}

.cp-dossie-cover::after {
  content: "";
  position: absolute;
  inset: auto -8vw -34% auto;
  width: min(46rem, 52vw);
  aspect-ratio: 1;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  z-index: -1;
}

.cp-dossie-cover__media-layer,
.cp-dossie-cover__purple-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cp-dossie-cover__media-layer {
  z-index: -3;
  background-image: var(--cp-dossie-cover-image, none);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: min(58vw, 70rem) 100%;
  opacity: 0;
}

.cp-dossie-cover--has-media .cp-dossie-cover__media-layer {
  opacity: 1;
}

.cp-dossie-cover__purple-layer {
  z-index: -2;
  background:
    linear-gradient(90deg, #111315 0%, #111315 42%, rgb(17 19 21 / 92%) 53%, rgb(104 19 139 / 48%) 78%, rgb(104 19 139 / 64%) 100%),
    radial-gradient(circle at 82% 35%, rgb(104 19 139 / 36%), transparent 34rem);
}

.cp-dossie-cover--has-media .cp-dossie-cover__purple-layer {
  background:
    linear-gradient(90deg, #111315 0%, #111315 38%, rgb(17 19 21 / 96%) 48%, rgb(17 19 21 / 72%) 61%, rgb(104 19 139 / 46%) 82%, rgb(104 19 139 / 58%) 100%),
    linear-gradient(180deg, rgb(0 0 0 / 5%), rgb(0 0 0 / 22%));
}

.cp-dossie-cover__inner {
  width: 100%;
  display: flex;
  align-items: center;
  padding-block: clamp(4.5rem, 9vw, 8rem);
}

.cp-dossie-cover__content {
  width: min(100%, 58rem);
  display: grid;
  gap: 1.15rem;
  position: relative;
  z-index: 2;
}

.cp-dossie-cover__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--cp-color-lime);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.cp-dossie-cover__identity strong {
  color: #d9a7ef;
}

.cp-dossie-cover__badges {
  margin-top: 0.15rem;
}

.cp-dossie-cover h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3.35rem, 7.2vw, 7rem);
  letter-spacing: -0.065em;
  line-height: 0.92;
  text-wrap: balance;
}

.cp-dossie-cover__summary {
  max-width: 58ch;
  margin: 0.35rem 0 0;
  color: rgb(255 255 255 / 84%);
  font-size: clamp(1.08rem, 1.7vw, 1.35rem);
  line-height: 1.6;
}

.cp-dossie-cover__meta {
  margin-top: 0.75rem;
}

/* Centro de Fiscalizações. */
.cp-site-main.cp-fiscalizacoes-page {
  padding-block: 0 !important;
  margin-top: 0 !important;
}

.cp-fiscalizacoes-page {
  padding: 0;
}

.cp-fiscalizacoes-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 22%, rgb(104 19 139 / 28%), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgb(200 240 0 / 16%), transparent 20rem),
    linear-gradient(118deg, #0d1016 0%, #111315 54%, #181325 78%, #22270f 100%);
  border-top: 1px solid rgb(104 19 139 / 28%);
  color: #fff;
}

.cp-fiscalizacoes-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(104 19 139 / 0%) 0%, rgb(104 19 139 / 0%) 54%, rgb(104 19 139 / 16%) 73%, rgb(104 19 139 / 30%) 100%),
    radial-gradient(circle at 82% 30%, rgb(104 19 139 / 30%), transparent 26rem);
  pointer-events: none;
}

.cp-fiscalizacoes-hero::after {
  content: "";
  position: absolute;
  right: -9rem;
  bottom: -19rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 50%;
}

.cp-fiscalizacoes-hero__grid {
  position: relative;
  z-index: 1;
  min-height: clamp(36rem, 75vh, 52rem);
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.55fr);
  gap: clamp(3rem, 8vw, 8rem);
  align-items: center;
  padding-block: clamp(5rem, 10vw, 8.5rem);
}

.cp-fiscalizacoes-hero .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-fiscalizacoes-page .cp-section__header .cp-eyebrow,
.cp-fiscalizacoes-page .cp-fiscalizacoes-search__header .cp-eyebrow,
.cp-fiscalizacoes-page .cp-fiscalizacoes-cta .cp-eyebrow {
  color: var(--cp-color-purple);
}

.cp-fiscalizacoes-hero h1 {
  margin: 1rem 0 1.2rem;
  font-size: clamp(4rem, 10vw, 8rem);
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.cp-fiscalizacoes-hero__lead {
  max-width: 33ch;
  margin: 0;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.7;
}

.cp-fiscalizacoes-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}

.cp-button--lime {
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
}

.cp-button--outline-light {
  border: 2px solid rgb(255 255 255 / 88%);
  background: transparent;
  color: #fff;
}

.cp-fiscalizacoes-hero__note {
  position: relative;
  z-index: 2;
  padding: clamp(1.8rem, 4vw, 2.6rem);
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 1.75rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 8%), rgb(104 19 139 / 12%));
  box-shadow: 0 28px 50px rgb(0 0 0 / 18%);
  backdrop-filter: blur(16px);
}

.cp-fiscalizacoes-hero__note::before {
  content: "";
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  width: 2.8rem;
  height: 0.2rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cp-color-purple), var(--cp-color-lime));
}

.cp-fiscalizacoes-hero__note p:last-child {
  margin: 1.2rem 0 0;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  line-height: 1.7;
}

.cp-fiscalizacoes-featured__card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  overflow: hidden;
  border: 1px solid rgb(104 19 139 / 12%);
  border-radius: clamp(1.2rem, 3vw, 2rem);
  background: linear-gradient(180deg, #fff 0%, #fbf9fd 100%);
  box-shadow: 0 24px 70px rgb(30 12 43 / 8%);
}

.cp-fiscalizacoes-featured__card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 0.35rem;
  background: linear-gradient(90deg, var(--cp-color-lime) 0%, var(--cp-color-purple) 100%);
}

.cp-fiscalizacoes-featured__media {
  min-height: 100%;
  background: var(--cp-color-gray-200);
}

.cp-fiscalizacoes-featured__media img {
  width: 100%;
  height: 100%;
  min-height: 28rem;
  object-fit: cover;
}

.cp-fiscalizacoes-featured__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.5rem);
  background: linear-gradient(180deg, #ffffff 0%, #fcfbfd 100%);
}

.cp-fiscalizacoes-featured__body h3 {
  max-width: 12ch;
  margin: 1rem 0;
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.cp-fiscalizacoes-featured__body > p:not(.cp-fiscalizacoes-featured__date) {
  max-width: 52ch;
  color: var(--cp-color-gray-700);
  font-size: 1.08rem;
  line-height: 1.7;
}

.cp-fiscalizacoes-featured__date {
  margin: 1rem 0 1.4rem;
  color: var(--cp-color-gray-700);
  font-size: 0.9rem;
}

.cp-fiscalizacoes-search .cp-dossie-filters {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.cp-fiscalizacoes-method__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.cp-fiscalizacoes-method__grid article {
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border-top: 3px solid var(--cp-color-purple);
  border-radius: 0 0 1rem 1rem;
  background: linear-gradient(180deg, #fff 0%, #fbf9fd 100%);
  box-shadow: 0 16px 38px rgb(30 12 43 / 6%);
}

.cp-fiscalizacoes-method__grid span {
  display: block;
  margin-bottom: 2rem;
  color: var(--cp-color-gray-500);
  font-size: 0.82rem;
  font-weight: 850;
}

.cp-fiscalizacoes-method__grid h3 {
  margin: 0 0 0.7rem;
  font-size: 1.2rem;
}

.cp-fiscalizacoes-method__grid p {
  margin: 0;
  color: var(--cp-color-gray-700);
  line-height: 1.65;
}

.cp-fiscalizacoes-cta {
  background: linear-gradient(110deg, #111315 0%, #17111f 62%, #1e132a 100%);
  color: #fff;
  border-top: 1px solid rgb(104 19 139 / 18%);
}

.cp-fiscalizacoes-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.cp-fiscalizacoes-cta .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-fiscalizacoes-cta h2 {
  max-width: 17ch;
  margin: 0.7rem 0 1rem;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.cp-fiscalizacoes-cta p {
  max-width: 58ch;
  margin: 0;
  color: rgb(255 255 255 / 72%);
  line-height: 1.7;
}

@media (max-width: 900px) {
  .cp-dossie-cover {
    min-height: auto;
  }

  .cp-dossie-cover__media-layer {
    background-position: center bottom;
    background-size: cover;
  }

  .cp-dossie-cover--has-media .cp-dossie-cover__purple-layer {
    background: linear-gradient(180deg, #111315 0%, rgb(17 19 21 / 92%) 58%, rgb(104 19 139 / 62%) 100%);
  }

  .cp-dossie-cover__inner {
    min-height: 42rem;
    align-items: flex-start;
  }

  .cp-dossie-cover__content {
    width: min(100%, 44rem);
  }

  .cp-fiscalizacoes-hero__grid,
  .cp-fiscalizacoes-featured__card,
  .cp-fiscalizacoes-cta__inner {
    grid-template-columns: 1fr;
  }

  .cp-fiscalizacoes-hero__note {
    max-width: 38rem;
    padding-top: 2.5rem;
  }

  .cp-fiscalizacoes-featured__media img {
    min-height: 20rem;
    max-height: 30rem;
  }

  .cp-fiscalizacoes-featured__header .cp-section__title {
    max-width: none;
  }

  .cp-fiscalizacoes-method__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .cp-dossie-cover__inner {
    min-height: 38rem;
    padding-block: 3.8rem 4.5rem;
  }

  .cp-dossie-cover h1 {
    font-size: clamp(2.8rem, 15vw, 4.7rem);
  }

  .cp-dossie-cover__summary {
    max-width: 100%;
    font-size: 1.02rem;
  }

  .cp-dossie-cover__identity {
    font-size: 0.68rem;
  }

  .cp-fiscalizacoes-hero__grid {
    min-height: auto;
    padding-block: 4.5rem;
  }

  .cp-fiscalizacoes-hero h1 {
    font-size: clamp(3.6rem, 20vw, 5.8rem);
  }

  .cp-fiscalizacoes-method__grid {
    grid-template-columns: 1fr;
  }
}

/* 0.9.125 — Fiscalizações: o arquivo do CPT funciona como hub editorial. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-featured {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4.5rem, 8vw, 7rem);
  background: linear-gradient(180deg, #eef0f2 0%, #f5f5f6 62%, #f8f6fb 100%);
}

.cp-fiscalizacoes-archive .cp-fiscalizacoes-featured::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgb(200 240 0 / 9%), transparent 17rem),
    radial-gradient(circle at 86% 22%, rgb(104 19 139 / 8%), transparent 20rem);
  pointer-events: none;
}

.cp-fiscalizacoes-featured__header {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.cp-fiscalizacoes-featured__header .cp-section__title {
  max-width: 10ch;
}

.cp-fiscalizacoes-featured__media {
  position: relative;
  display: block;
  min-height: clamp(22rem, 42vw, 34rem);
  overflow: hidden;
  background:
    linear-gradient(135deg, rgb(104 19 139 / 24%), rgb(17 19 21 / 6%)),
    var(--cp-color-gray-200);
}

.cp-fiscalizacoes-featured__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 38%;
  background: linear-gradient(180deg, rgb(17 19 21 / 0%), rgb(17 19 21 / 22%));
  pointer-events: none;
}

.cp-fiscalizacoes-featured__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.cp-fiscalizacoes-search {
  position: relative;
  padding-block: clamp(4.5rem, 8vw, 7rem);
  background: linear-gradient(180deg, #fff 0%, #fbf9fd 100%);
}

.cp-fiscalizacoes-search__header {
  max-width: 52rem;
  margin-bottom: clamp(1.8rem, 4vw, 2.8rem);
}

.cp-fiscalizacoes-search__header > p:last-child {
  margin: 0.8rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 1.05rem;
}

.cp-fiscalizacoes-archive .cp-dossie-filters {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  border-color: rgb(104 19 139 / 12%);
  box-shadow: 0 18px 45px rgb(30 12 43 / 6%);
}

.cp-fiscalizacoes-archive .cp-dossie-filters input:focus,
.cp-fiscalizacoes-archive .cp-dossie-filters select:focus {
  outline: none;
  border-color: rgb(104 19 139 / 45%);
  box-shadow: 0 0 0 4px rgb(104 19 139 / 10%);
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions a:hover,
.cp-fiscalizacoes-archive .cp-dossie-filters__actions a:focus-visible {
  color: var(--cp-color-purple);
}


/* Miniaturas nunca devem ocupar a largura inteira quando há poucos dossiês. */
.cp-fiscalizacoes-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.cp-fiscalizacoes-grid .cp-card {
  min-width: 0;
  border-color: rgb(104 19 139 / 12%);
  box-shadow: 0 14px 34px rgb(30 12 43 / 5%);
}

.cp-fiscalizacoes-grid .cp-card:hover,
.cp-fiscalizacoes-grid .cp-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgb(30 12 43 / 10%);
}

.cp-fiscalizacoes-grid .cp-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  min-height: 0;
}

.cp-fiscalizacoes-grid .cp-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cp-fiscalizacoes-empty-more {
  margin-top: 0;
  padding: 1.2rem 0 0;
  border-top: 1px solid var(--cp-color-gray-300);
  color: var(--cp-color-gray-600);
}

@media (max-width: 980px) {
  .cp-fiscalizacoes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-grid {
    grid-template-columns: 1fr;
  }

  .cp-fiscalizacoes-featured__media {
    min-height: 18rem;
  }
}


.cp-fiscalizacoes-cta + .cp-site-footer {
  margin-top: 0 !important;
}


/* 0.9.128 — Destaque editorial da página Fiscalizações. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-featured {
  background:
    radial-gradient(circle at 90% 8%, rgb(104 19 139 / 5%), transparent 22rem),
    #f2f3f4;
}

.cp-fiscalizacoes-featured__header {
  max-width: 48rem;
  margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.cp-fiscalizacoes-featured__header .cp-section__title {
  max-width: none;
  margin-top: 0.35rem;
  font-size: clamp(2.3rem, 4vw, 3.8rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.cp-fiscalizacoes-featured__intro {
  max-width: 48ch;
  margin: 0.85rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 1.05rem;
  line-height: 1.65;
}

.cp-fiscalizacoes-featured__card {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  min-height: 26rem;
  border: 1px solid rgb(17 19 21 / 10%);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 18px 50px rgb(17 19 21 / 8%);
}

.cp-fiscalizacoes-featured__card::before {
  width: 0.32rem;
  height: 100%;
  background: linear-gradient(180deg, var(--cp-color-purple) 0 70%, var(--cp-color-lime) 70% 100%);
}

.cp-fiscalizacoes-featured__media {
  min-height: 26rem;
}

.cp-fiscalizacoes-featured__media::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgb(17 19 21 / 5%) 0%, rgb(17 19 21 / 0%) 62%, rgb(104 19 139 / 12%) 100%);
  pointer-events: none;
}

.cp-fiscalizacoes-featured__media::after {
  height: 26%;
  background: linear-gradient(180deg, rgb(17 19 21 / 0%), rgb(17 19 21 / 20%));
}

.cp-fiscalizacoes-featured__media img {
  min-height: 26rem;
  max-height: 30rem;
  object-position: center center;
}

.cp-fiscalizacoes-featured__body {
  position: relative;
  padding: clamp(2rem, 4vw, 3.6rem);
  background: #fff;
}

.cp-fiscalizacoes-featured__body h3 {
  max-width: 17ch;
  margin: 0.85rem 0 1rem;
  font-size: clamp(2.2rem, 4vw, 3.65rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.cp-fiscalizacoes-featured__body > p:not(.cp-fiscalizacoes-featured__date) {
  max-width: 56ch;
  margin-bottom: 0.65rem;
  font-size: 1rem;
  line-height: 1.65;
}

.cp-fiscalizacoes-featured__date {
  margin: 0.85rem 0 1.35rem;
  color: var(--cp-color-gray-600);
  font-size: 0.82rem;
}

.cp-fiscalizacoes-featured__body .cp-button--dark {
  min-height: 3rem;
  padding-inline: 1.15rem;
  border-radius: 999px;
  background: var(--cp-color-ink);
}

.cp-fiscalizacoes-featured__body .cp-button--dark:hover,
.cp-fiscalizacoes-featured__body .cp-button--dark:focus-visible {
  background: var(--cp-color-purple-dark);
}

@media (max-width: 900px) {
  .cp-fiscalizacoes-featured__card {
    grid-template-columns: 1fr;
  }

  .cp-fiscalizacoes-featured__card::before {
    width: 100%;
    height: 0.28rem;
    background: linear-gradient(90deg, var(--cp-color-purple) 0 72%, var(--cp-color-lime) 72% 100%);
  }

  .cp-fiscalizacoes-featured__media,
  .cp-fiscalizacoes-featured__media img {
    min-height: 18rem;
    max-height: 24rem;
  }
}


/* 0.9.129 — Fiscalizações: ritmo vertical mais compacto. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-featured {
  padding-top: clamp(2.8rem, 4.8vw, 4.25rem);
  padding-bottom: clamp(3.2rem, 5.4vw, 4.75rem);
}

.cp-fiscalizacoes-page .cp-section__header,
.cp-fiscalizacoes-page .cp-fiscalizacoes-search__header,
.cp-fiscalizacoes-page .cp-fiscalizacoes-featured__header {
  gap: 0.55rem;
  margin-bottom: clamp(1.35rem, 2.6vw, 2.1rem);
}

.cp-fiscalizacoes-page .cp-section__header .cp-eyebrow,
.cp-fiscalizacoes-page .cp-fiscalizacoes-search__header .cp-eyebrow,
.cp-fiscalizacoes-page .cp-fiscalizacoes-featured__header .cp-eyebrow {
  margin-bottom: 0;
}

.cp-fiscalizacoes-search {
  padding-top: clamp(2.8rem, 4.8vw, 4.25rem);
  padding-bottom: clamp(3.2rem, 5.4vw, 4.75rem);
}

.cp-fiscalizacoes-method {
  padding-top: clamp(2.8rem, 4.8vw, 4.25rem);
  padding-bottom: clamp(3.2rem, 5.4vw, 4.75rem);
}

.cp-fiscalizacoes-cta__inner {
  padding-top: clamp(3rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.cp-fiscalizacoes-page > :last-child,
.cp-fiscalizacoes-page > :last-child > :last-child {
  margin-bottom: 0;
}

.cp-site-main.cp-fiscalizacoes-page + .cp-site-footer,
.cp-fiscalizacoes-cta + .cp-site-footer {
  margin-top: 0 !important;
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-featured,
  .cp-fiscalizacoes-search,
  .cp-fiscalizacoes-method {
    padding-top: 2.4rem;
    padding-bottom: 2.8rem;
  }

  .cp-fiscalizacoes-cta__inner {
    padding-block: 2.8rem;
  }
}


/* 0.9.130 — Destaque de dossiê em linguagem de matéria investigativa. */
.cp-fiscalizacoes-featured--editorial {
  background:
    radial-gradient(circle at 92% 14%, rgb(104 19 139 / 5%), transparent 20rem),
    linear-gradient(180deg, #f3f4f5 0%, #f7f7f8 100%);
}

.cp-fiscalizacoes-featured--editorial .cp-fiscalizacoes-featured__header {
  max-width: 40rem;
}

.cp-fiscalizacoes-featured--editorial .cp-fiscalizacoes-featured__header .cp-section__title {
  margin-top: 0.25rem;
  font-size: clamp(2rem, 3.4vw, 3.1rem);
}

.cp-fiscalizacoes-featured__story {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgb(17 19 21 / 10%);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 18px 46px rgb(17 19 21 / 7%);
}

.cp-fiscalizacoes-featured__story-media {
  position: relative;
  display: block;
  aspect-ratio: 21 / 8;
  min-height: 20rem;
  overflow: hidden;
  background: #dfe2e5;
}

.cp-fiscalizacoes-featured__story-media::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(17 19 21 / 4%) 20%, rgb(17 19 21 / 42%) 100%),
    linear-gradient(90deg, rgb(104 19 139 / 20%) 0%, transparent 38%);
  pointer-events: none;
}

.cp-fiscalizacoes-featured__story-media img {
  width: 100%;
  height: 100%;
  min-height: 20rem;
  object-fit: cover;
  object-position: center 48%;
  transition: transform 420ms ease;
}

.cp-fiscalizacoes-featured__story:hover .cp-fiscalizacoes-featured__story-media img,
.cp-fiscalizacoes-featured__story:focus-within .cp-fiscalizacoes-featured__story-media img {
  transform: scale(1.018);
}

.cp-fiscalizacoes-featured__story-label {
  position: absolute;
  z-index: 2;
  left: clamp(1rem, 2.5vw, 2rem);
  bottom: clamp(1rem, 2.5vw, 1.8rem);
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 999px;
  background: rgb(104 19 139 / 84%);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.cp-fiscalizacoes-featured__story-label::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.55rem;
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 4px rgb(200 240 0 / 13%);
}

.cp-fiscalizacoes-featured__story-body {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding: clamp(2rem, 4.5vw, 4rem);
  border-top: 0.32rem solid transparent;
  border-image: linear-gradient(90deg, var(--cp-color-purple), var(--cp-color-lime)) 1;
}

.cp-fiscalizacoes-featured__story-kicker {
  margin: 0 0 0.85rem;
  color: var(--cp-color-purple);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cp-fiscalizacoes-featured__story-title h3 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.8vw, 4.7rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.cp-fiscalizacoes-featured__story-info {
  padding-top: 0.1rem;
}

.cp-fiscalizacoes-featured__story-info .cp-badges {
  margin-bottom: 1.2rem;
}

.cp-fiscalizacoes-featured__story-summary {
  max-width: 48ch;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: 1.03rem;
  line-height: 1.68;
}

.cp-fiscalizacoes-featured__story-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.65rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgb(17 19 21 / 10%);
}

.cp-fiscalizacoes-featured__story-footer .cp-fiscalizacoes-featured__date {
  margin: 0;
}

.cp-fiscalizacoes-featured__story-link {
  color: var(--cp-color-ink);
  font-size: 0.9rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-fiscalizacoes-featured__story-link span {
  display: inline-block;
  margin-left: 0.35rem;
  color: var(--cp-color-purple);
  transition: transform 180ms ease;
}

.cp-fiscalizacoes-featured__story-link:hover,
.cp-fiscalizacoes-featured__story-link:focus-visible {
  color: var(--cp-color-purple);
}

.cp-fiscalizacoes-featured__story-link:hover span,
.cp-fiscalizacoes-featured__story-link:focus-visible span {
  transform: translateX(0.2rem);
}

@media (max-width: 900px) {
  .cp-fiscalizacoes-featured__story-media {
    aspect-ratio: 16 / 8.5;
    min-height: 18rem;
  }

  .cp-fiscalizacoes-featured__story-body {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .cp-fiscalizacoes-featured__story-title h3 {
    max-width: 16ch;
  }
}

@media (max-width: 600px) {
  .cp-fiscalizacoes-featured__story-media {
    aspect-ratio: 4 / 3;
    min-height: 16rem;
  }

  .cp-fiscalizacoes-featured__story-label {
    max-width: calc(100% - 2rem);
    white-space: normal;
  }

  .cp-fiscalizacoes-featured__story-body {
    padding: 1.5rem;
  }

  .cp-fiscalizacoes-featured__story-title h3 {
    font-size: clamp(2.15rem, 11vw, 3.4rem);
  }
}


/* 0.9.131 — Fiscalizações: hero híbrido com o dossiê principal como manchete. */
.cp-fiscalizacoes-hero--featured {
  min-height: clamp(38rem, 78vh, 54rem);
  background: #0d1014;
}

.cp-fiscalizacoes-hero--featured .cp-fiscalizacoes-hero__media-layer {
  position: absolute;
  inset: 0;
  background-position: 68% center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .48;
  filter: saturate(.82) contrast(1.02);
  transform: scale(1.015);
}

.cp-fiscalizacoes-hero--featured::before {
  z-index: 1;
  background:
    linear-gradient(90deg, #0d1014 0%, rgb(13 16 20 / 96%) 32%, rgb(13 16 20 / 76%) 56%, rgb(104 19 139 / 34%) 78%, rgb(104 19 139 / 52%) 100%),
    linear-gradient(180deg, rgb(13 16 20 / 7%) 0%, rgb(13 16 20 / 32%) 100%);
}

.cp-fiscalizacoes-hero--featured::after {
  z-index: 1;
  right: -10rem;
  bottom: -21rem;
  border-color: rgb(200 240 0 / 16%);
}

.cp-fiscalizacoes-hero__grid--featured {
  position: relative;
  z-index: 2;
  min-height: clamp(38rem, 78vh, 54rem);
  grid-template-columns: minmax(0, 2.15fr) minmax(18rem, .85fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  padding-block: clamp(4.5rem, 9vw, 7.5rem);
}

.cp-fiscalizacoes-hero__content--featured {
  max-width: 54rem;
}

.cp-fiscalizacoes-hero--featured h1 {
  max-width: 11ch;
  margin: .85rem 0 1.25rem;
  font-size: clamp(3.45rem, 7.1vw, 6.75rem);
  line-height: .91;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.cp-fiscalizacoes-hero--featured .cp-fiscalizacoes-hero__lead {
  max-width: 43rem;
  font-size: clamp(1.06rem, 1.55vw, 1.34rem);
  line-height: 1.62;
}

.cp-fiscalizacoes-hero__badges {
  margin-top: 1.4rem;
}

.cp-fiscalizacoes-hero__badges .cp-badges {
  gap: .45rem;
}

.cp-fiscalizacoes-hero__badges .cp-badge {
  border-color: rgb(255 255 255 / 18%);
  background: rgb(13 16 20 / 42%);
  color: rgb(255 255 255 / 86%);
  backdrop-filter: blur(10px);
}

.cp-fiscalizacoes-hero__date {
  margin: .75rem 0 0;
  color: rgb(255 255 255 / 62%);
  font-size: .82rem;
  font-weight: 720;
}

.cp-fiscalizacoes-hero__note--explain {
  align-self: center;
  border: 1px solid rgb(255 255 255 / 13%);
  background: linear-gradient(155deg, rgb(29 15 37 / 82%) 0%, rgb(104 19 139 / 52%) 100%);
  box-shadow: 0 28px 70px rgb(0 0 0 / 26%);
}

.cp-fiscalizacoes-hero__note--explain::before {
  width: 3.5rem;
  background: linear-gradient(90deg, var(--cp-color-lime), rgb(255 255 255 / 38%));
}

.cp-fiscalizacoes-hero__note--explain .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-fiscalizacoes-hero__note--explain h2 {
  max-width: 12ch;
  margin: .8rem 0 1rem;
  color: #fff;
  font-size: clamp(1.8rem, 2.7vw, 2.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.cp-fiscalizacoes-hero__note--explain p:not(.cp-eyebrow) {
  margin: 0;
  color: rgb(255 255 255 / 76%);
  font-size: 1rem;
  line-height: 1.62;
}

.cp-fiscalizacoes-hero__note-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1.45rem;
  color: #fff;
  font-size: .82rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-fiscalizacoes-hero__note-link span {
  color: var(--cp-color-lime);
  transition: transform .2s ease;
}

.cp-fiscalizacoes-hero__note-link:hover,
.cp-fiscalizacoes-hero__note-link:focus-visible {
  color: var(--cp-color-lime);
}

.cp-fiscalizacoes-hero__note-link:hover span,
.cp-fiscalizacoes-hero__note-link:focus-visible span {
  transform: translateY(3px);
}

/* O dossiê principal já está no hero; a consulta começa imediatamente abaixo. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-search {
  padding-top: clamp(3.5rem, 6vw, 5.4rem);
}

@media (max-width: 900px) {
  .cp-fiscalizacoes-hero--featured .cp-fiscalizacoes-hero__media-layer {
    background-position: 58% center;
    opacity: .34;
  }

  .cp-fiscalizacoes-hero--featured::before {
    background: linear-gradient(180deg, rgb(13 16 20 / 96%) 0%, rgb(13 16 20 / 82%) 58%, rgb(104 19 139 / 52%) 100%);
  }

  .cp-fiscalizacoes-hero__grid--featured {
    grid-template-columns: 1fr;
    gap: 2rem;
    min-height: auto;
  }

  .cp-fiscalizacoes-hero__note--explain {
    max-width: 44rem;
  }
}

@media (max-width: 600px) {
  .cp-fiscalizacoes-hero--featured h1 {
    max-width: 12ch;
    font-size: clamp(3rem, 15vw, 4.8rem);
  }

  .cp-fiscalizacoes-hero__grid--featured {
    padding-block: 3.8rem 4.25rem;
  }

  .cp-fiscalizacoes-hero__actions .cp-button {
    width: 100%;
    justify-content: center;
  }
}


/* 0.9.132 — Fiscalizações: hero compacto, seções distinguíveis e estado editorial. */
.cp-fiscalizacoes-hero--featured,
.cp-fiscalizacoes-hero__grid--featured {
  min-height: clamp(31rem, calc(100svh - 5.75rem), 39rem);
}

.cp-fiscalizacoes-hero__grid--featured {
  grid-template-columns: minmax(0, 2.1fr) minmax(17rem, .9fr);
  gap: clamp(2rem, 5vw, 5.25rem);
  align-items: start;
  padding-block: clamp(2.6rem, 5.2vh, 3.7rem);
}

.cp-fiscalizacoes-hero__content--featured {
  align-self: center;
  max-width: 50rem;
}

.cp-fiscalizacoes-hero--featured h1 {
  max-width: 12ch;
  margin: .65rem 0 .9rem;
  font-size: clamp(3rem, 5.8vw, 5.35rem);
  line-height: .92;
}

.cp-fiscalizacoes-hero--featured .cp-fiscalizacoes-hero__lead {
  max-width: 39rem;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.52;
}

.cp-fiscalizacoes-hero__badges {
  margin-top: 1rem;
}

.cp-fiscalizacoes-hero__date {
  margin-top: .55rem;
}

.cp-fiscalizacoes-hero__actions {
  margin-top: 1.35rem;
}

.cp-fiscalizacoes-hero__note--explain {
  align-self: start;
  margin-top: .35rem;
  padding: clamp(1.45rem, 2.4vw, 2rem);
}

.cp-fiscalizacoes-hero__note--explain h2 {
  margin: .65rem 0 .8rem;
  font-size: clamp(1.65rem, 2.15vw, 2.25rem);
}

.cp-fiscalizacoes-hero__note--explain p:not(.cp-eyebrow) {
  font-size: .94rem;
  line-height: 1.52;
}

.cp-fiscalizacoes-hero__note-link {
  margin-top: 1.05rem;
}

/* Consulta continua clara; Método ganha uma camada editorial discreta. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-search {
  padding-top: clamp(2.9rem, 4.6vw, 4rem);
  background: #fff;
}

.cp-fiscalizacoes-method {
  position: relative;
  background:
    radial-gradient(circle at 88% 12%, rgb(104 19 139 / 5%), transparent 18rem),
    linear-gradient(180deg, #f0f1f2 0%, #f6f6f7 100%);
  border-top: 1px solid rgb(104 19 139 / 10%);
}

.cp-fiscalizacoes-method::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100% - (2 * var(--cp-gutter, 2rem))), 1500px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cp-color-purple) 0 22%, rgb(104 19 139 / 0%) 58%);
  transform: translateX(-50%);
}

.cp-fiscalizacoes-method .cp-section__header {
  max-width: 46rem;
}

.cp-fiscalizacoes-method__grid article {
  border-top-color: rgb(104 19 139 / 70%);
  background: rgb(255 255 255 / 86%);
}

/* A ausência de outros dossiês vira informação de interface, não uma frase perdida. */
.cp-fiscalizacoes-empty-more {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  max-width: 48rem;
  margin-top: .2rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgb(104 19 139 / 12%);
  border-radius: 1rem;
  background: linear-gradient(105deg, rgb(104 19 139 / 5%), rgb(200 240 0 / 4%) 72%, #fff 100%);
  color: var(--cp-color-gray-700);
}

.cp-fiscalizacoes-empty-more__mark {
  position: relative;
  display: block;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgb(104 19 139 / 18%);
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 8px 22px rgb(30 12 43 / 6%);
}

.cp-fiscalizacoes-empty-more__mark::before,
.cp-fiscalizacoes-empty-more__mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 999px;
  background: var(--cp-color-purple);
  transform: translate(-50%, -50%);
}

.cp-fiscalizacoes-empty-more__mark::before {
  width: 1rem;
  height: 2px;
}

.cp-fiscalizacoes-empty-more__mark::after {
  width: 2px;
  height: 1rem;
}

.cp-fiscalizacoes-empty-more strong {
  display: block;
  margin-bottom: .2rem;
  color: var(--cp-color-ink);
  font-size: .94rem;
  font-weight: 850;
}

.cp-fiscalizacoes-empty-more p {
  margin: 0;
  color: var(--cp-color-gray-600);
  font-size: .9rem;
  line-height: 1.5;
}

@media (max-width: 1100px) and (min-width: 901px) {
  .cp-fiscalizacoes-hero--featured,
  .cp-fiscalizacoes-hero__grid--featured {
    min-height: auto;
  }

  .cp-fiscalizacoes-hero__grid--featured {
    grid-template-columns: minmax(0, 1.8fr) minmax(16rem, .8fr);
    gap: 2rem;
    padding-block: 3rem;
  }

  .cp-fiscalizacoes-hero--featured h1 {
    font-size: clamp(3rem, 5.5vw, 4.65rem);
  }
}

@media (max-width: 900px) {
  .cp-fiscalizacoes-hero--featured,
  .cp-fiscalizacoes-hero__grid--featured {
    min-height: auto;
  }

  .cp-fiscalizacoes-hero__grid--featured {
    grid-template-columns: 1fr;
    gap: 1.65rem;
    padding-block: 3rem 3.4rem;
  }

  .cp-fiscalizacoes-hero__content--featured {
    align-self: start;
  }

  .cp-fiscalizacoes-hero__note--explain {
    width: min(100%, 42rem);
    margin-top: 0;
  }
}

@media (max-width: 600px) {
  .cp-fiscalizacoes-hero__grid--featured {
    padding-block: 2.6rem 3rem;
  }

  .cp-fiscalizacoes-hero--featured h1 {
    font-size: clamp(2.75rem, 13vw, 4.1rem);
  }

  .cp-fiscalizacoes-empty-more {
    grid-template-columns: 1fr;
    gap: .75rem;
    padding: 1.1rem;
  }

  .cp-fiscalizacoes-empty-more__mark {
    width: 2.35rem;
    height: 2.35rem;
  }
}


/* 0.9.134 — fundo editorial técnico para o bloco Método. */
.cp-fiscalizacoes-method {
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgb(200 240 0 / 6%), transparent 18rem),
    radial-gradient(circle at 88% 16%, rgb(104 19 139 / 8%), transparent 22rem),
    linear-gradient(rgb(104 19 139 / 2.4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(104 19 139 / 2.4%) 1px, transparent 1px),
    linear-gradient(180deg, #eef0f2 0%, #f4f5f6 54%, #f1f2f3 100%);
  background-size: auto, auto, 34px 34px, 34px 34px, auto;
}

.cp-fiscalizacoes-method::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: clamp(-8rem, -7vw, -3rem);
  bottom: clamp(-10rem, -9vw, -5rem);
  width: clamp(22rem, 38vw, 42rem);
  aspect-ratio: 1;
  border: 1px solid rgb(104 19 139 / 8%);
  border-radius: 50%;
  box-shadow:
    0 0 0 clamp(2rem, 4vw, 4rem) rgb(104 19 139 / 2.5%),
    0 0 0 clamp(5rem, 9vw, 8rem) rgb(200 240 0 / 1.8%);
  pointer-events: none;
}

.cp-fiscalizacoes-method > .cp-container {
  position: relative;
  z-index: 1;
}

.cp-fiscalizacoes-method__grid article {
  border: 1px solid rgb(104 19 139 / 8%);
  border-top: 3px solid rgb(104 19 139 / 64%);
  background: rgb(255 255 255 / 90%);
  backdrop-filter: blur(4px);
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-method {
    background-size: auto, auto, 28px 28px, 28px 28px, auto;
  }

  .cp-fiscalizacoes-method::after {
    right: -10rem;
    bottom: -7rem;
    width: 24rem;
  }
}


/* 0.9.135 — Método: fundo editorial real, sem a trilha animada. */
.cp-fiscalizacoes-method {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 0;
  background-color: #e9ebee;
  background-image:
    radial-gradient(circle at 14% 18%, rgb(200 240 0 / 7%), transparent 20rem),
    radial-gradient(circle at 88% 14%, rgb(104 19 139 / 11%), transparent 24rem),
    linear-gradient(rgb(17 19 21 / 4.5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(17 19 21 / 4.5%) 1px, transparent 1px),
    linear-gradient(135deg, rgb(255 255 255 / 36%) 0 38%, transparent 38% 100%);
  background-size: auto, auto, 32px 32px, 32px 32px, auto;
}

.cp-fiscalizacoes-method::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(112deg, transparent 0 64%, rgb(104 19 139 / 4%) 64% 70%, transparent 70% 100%),
    linear-gradient(180deg, rgb(255 255 255 / 28%) 0%, transparent 22%, transparent 78%, rgb(17 19 21 / 2%) 100%);
  pointer-events: none;
}

.cp-fiscalizacoes-method::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -9rem;
  bottom: -10rem;
  width: clamp(26rem, 42vw, 48rem);
  aspect-ratio: 1;
  border: 1px solid rgb(104 19 139 / 10%);
  border-radius: 50%;
  box-shadow:
    0 0 0 4rem rgb(104 19 139 / 3.5%),
    0 0 0 8rem rgb(200 240 0 / 2.5%);
  pointer-events: none;
}

.cp-fiscalizacoes-method > .cp-container {
  position: relative;
  z-index: 1;
}

.cp-fiscalizacoes-method .cp-section__header {
  max-width: 46rem;
}

.cp-fiscalizacoes-method .cp-section__header .cp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .42rem .72rem;
  border: 1px solid rgb(104 19 139 / 14%);
  border-radius: 999px;
  background: rgb(255 255 255 / 68%);
  color: var(--cp-color-purple);
  backdrop-filter: blur(6px);
}

.cp-fiscalizacoes-method .cp-section__header .cp-eyebrow::before {
  content: "";
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 .22rem rgb(200 240 0 / 12%);
}

.cp-fiscalizacoes-method__grid article {
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(104 19 139 / 10%);
  border-top: 3px solid var(--cp-color-purple);
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 16px 34px rgb(30 12 43 / 7%);
  backdrop-filter: blur(6px);
}

.cp-fiscalizacoes-method__grid article::after {
  content: "";
  position: absolute;
  right: -2.2rem;
  bottom: -2.2rem;
  width: 5rem;
  height: 5rem;
  border: 1px solid rgb(104 19 139 / 8%);
  border-radius: 50%;
}

.cp-fiscalizacoes-method__grid span {
  color: var(--cp-color-purple);
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-method {
    background-size: auto, auto, 26px 26px, 26px 26px, auto;
  }

  .cp-fiscalizacoes-method::after {
    right: -12rem;
    bottom: -8rem;
    width: 28rem;
  }
}


/* 0.9.136 — Refino do bloco Consulta em Fiscalizações. */
.cp-fiscalizacoes-search {
  position: relative;
  background:
    linear-gradient(180deg, #fbfbfc 0%, #ffffff 58%, #fcfbfd 100%);
}

.cp-fiscalizacoes-search::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, rgb(104 19 139 / 0%), rgb(104 19 139 / 18%), rgb(104 19 139 / 0%));
}

.cp-fiscalizacoes-search__header {
  max-width: 44rem;
  margin-bottom: clamp(1.35rem, 2.8vw, 2rem);
}

.cp-fiscalizacoes-search__header .cp-eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding-inline: .85rem;
  min-height: 2rem;
  border-radius: 999px;
  background: rgb(104 19 139 / 7%);
  color: var(--cp-color-purple);
}

.cp-fiscalizacoes-search__header .cp-eyebrow::before {
  content: "";
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 4px rgb(200 240 0 / 18%);
}

.cp-fiscalizacoes-search__header .cp-section__title {
  max-width: 12ch;
  font-size: clamp(2.45rem, 5.2vw, 4.3rem);
  line-height: .96;
  letter-spacing: -0.05em;
}

.cp-fiscalizacoes-search__header > p:last-child {
  max-width: 38rem;
  font-size: 1rem;
  line-height: 1.7;
}

.cp-fiscalizacoes-archive .cp-dossie-filters {
  grid-template-columns: minmax(16rem, 1.45fr) repeat(4, minmax(9.5rem, 1fr));
  gap: 1rem 1rem;
  padding: clamp(1.2rem, 2.8vw, 1.7rem);
  border: 1px solid rgb(104 19 139 / 10%);
  border-radius: 1.8rem;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(250 249 252 / 100%));
  box-shadow: 0 14px 34px rgb(30 12 43 / 5%);
}

.cp-fiscalizacoes-archive .cp-dossie-filters > div {
  gap: .45rem;
}

.cp-fiscalizacoes-archive .cp-dossie-filters label {
  color: var(--cp-color-ink);
  font-size: .74rem;
  letter-spacing: .08em;
}

.cp-fiscalizacoes-archive .cp-dossie-filters input,
.cp-fiscalizacoes-archive .cp-dossie-filters select {
  min-height: 4rem;
  padding-inline: 1rem;
  border: 1px solid rgb(17 19 21 / 12%);
  border-radius: 1rem;
  background: #fff;
  font-size: 1rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 75%);
}

.cp-fiscalizacoes-archive .cp-dossie-filters input::placeholder {
  color: var(--cp-color-gray-600);
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions {
  justify-content: flex-start;
  align-self: center;
  gap: .9rem !important;
  padding-top: .1rem;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions .cp-button {
  min-height: 3.5rem;
  padding-inline: 1.4rem;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgb(17 19 21 / 10%);
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding-inline: .15rem;
  color: var(--cp-color-purple);
  text-decoration: none;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions a:hover,
.cp-fiscalizacoes-archive .cp-dossie-filters__actions a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}

@media (max-width: 1100px) {
  .cp-fiscalizacoes-search__header .cp-section__title {
    max-width: none;
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__search,
  .cp-fiscalizacoes-archive .cp-dossie-filters__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-search__header .cp-section__title {
    font-size: clamp(2.2rem, 13vw, 3.4rem);
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters {
    grid-template-columns: 1fr;
    border-radius: 1.35rem;
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters input,
  .cp-fiscalizacoes-archive .cp-dossie-filters select {
    min-height: 3.5rem;
  }
}


/* 0.9.138 — Dossiê aberto: ritmo editorial mais compacto e leitura narrativa. */
.cp-site-main--dossie .cp-dossie-cover {
  min-height: clamp(30rem, 60vh, 45rem);
}

.cp-site-main--dossie .cp-dossie-cover__inner {
  min-height: 0;
  padding-block: clamp(3.2rem, 6.5vw, 5.4rem);
}

.cp-site-main--dossie .cp-dossie-cover h1 {
  font-size: clamp(3rem, 6vw, 6rem);
}

.cp-site-main--dossie .cp-dossie-cover__summary {
  max-width: 54ch;
  font-size: clamp(1.02rem, 1.45vw, 1.25rem);
  line-height: 1.55;
}

.cp-site-main--dossie .cp-dossie__layout {
  gap: clamp(2rem, 4.5vw, 4.5rem);
  padding-top: clamp(2.6rem, 4.8vw, 4rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.cp-site-main--dossie .cp-dossie-section + .cp-dossie-section {
  margin-top: clamp(2.4rem, 4.2vw, 3.75rem);
  padding-top: clamp(2.2rem, 3.8vw, 3.25rem);
}

.cp-site-main--dossie .cp-dossie-section__header {
  gap: .48rem;
  margin-bottom: clamp(1.15rem, 2.4vw, 1.8rem);
}

.cp-site-main--dossie .cp-dossie-section__header .cp-eyebrow {
  margin-bottom: 0;
  color: var(--cp-color-purple);
}

.cp-site-main--dossie .cp-dossie-section__header h2 {
  max-width: 20ch;
  font-size: clamp(1.9rem, 3.8vw, 3.25rem);
}

.cp-site-main--dossie .cp-dossie-summary__lead {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.8rem);
}

.cp-site-main--dossie .cp-dossie-analysis__intro {
  max-width: 58ch;
  margin: .15rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 1rem;
  line-height: 1.65;
}

.cp-site-main--dossie .cp-dossie-analysis__body {
  max-width: 72ch;
  font-size: 1.04rem;
  line-height: 1.76;
}

.cp-site-main--dossie .cp-dossie-analysis__body > :first-child {
  margin-top: 0;
}

.cp-site-main--dossie .cp-dossie-analysis__body > :last-child {
  margin-bottom: 0;
}

.cp-site-main--dossie .cp-dossie-analysis__body h2,
.cp-site-main--dossie .cp-dossie-analysis__body h3 {
  margin-top: clamp(1.8rem, 3.5vw, 2.7rem);
  margin-bottom: .7rem;
}

.cp-site-main--dossie .cp-dossie-analysis__body p + p {
  margin-top: .9rem;
}

.cp-site-main--dossie + .cp-site-footer {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .cp-site-main--dossie .cp-dossie-cover {
    min-height: auto;
  }

  .cp-site-main--dossie .cp-dossie-cover__inner {
    min-height: 0;
    padding-block: 3.2rem 3.8rem;
  }

  .cp-site-main--dossie .cp-dossie__layout {
    padding-top: 2.5rem;
    padding-bottom: 3.2rem;
  }

  .cp-site-main--dossie .cp-dossie-nav {
    padding: 1rem 1.15rem;
  }
}

@media (max-width: 600px) {
  .cp-site-main--dossie .cp-dossie-cover__inner {
    min-height: 0;
    padding-block: 2.8rem 3.25rem;
  }

  .cp-site-main--dossie .cp-dossie-cover h1 {
    font-size: clamp(2.55rem, 12.5vw, 4rem);
  }

  .cp-site-main--dossie .cp-dossie__layout {
    padding-block: 2.25rem 2.8rem;
  }

  .cp-site-main--dossie .cp-dossie-section + .cp-dossie-section {
    margin-top: 2rem;
    padding-top: 1.9rem;
  }
}


/* 0.9.139 — Dossiê: correção real de gutters, respiros e consulta. */
.cp-site-main--dossie .cp-dossie-cover__inner {
  width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
  margin-inline: auto;
  padding-block: clamp(2.5rem, 4.5vw, 3.8rem);
}

.cp-site-main--dossie .cp-dossie-cover {
  min-height: clamp(28rem, 54vh, 40rem);
}

.cp-site-main--dossie .cp-dossie-cover__content {
  gap: .9rem;
}

.cp-site-main--dossie .cp-dossie-cover__summary {
  margin-top: .15rem;
}

.cp-site-main--dossie .cp-dossie-cover__meta {
  margin-top: .35rem;
}

.cp-site-main--dossie .cp-dossie__layout {
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
  padding-top: clamp(1.7rem, 3vw, 2.5rem);
  padding-bottom: clamp(2rem, 3.4vw, 3rem);
}

.cp-site-main--dossie .cp-dossie-section + .cp-dossie-section {
  margin-top: clamp(1.35rem, 2.4vw, 2rem);
  padding-top: clamp(1.35rem, 2.4vw, 2rem);
}

.cp-site-main--dossie .cp-dossie-section__header {
  margin-bottom: clamp(.9rem, 1.8vw, 1.35rem);
}

.cp-site-main--dossie .cp-dossie-summary__lead {
  max-width: 66ch;
  margin-bottom: clamp(1rem, 1.8vw, 1.35rem);
  padding-left: 1rem;
  border-left: 3px solid var(--cp-color-purple);
  font-weight: 560;
}

.cp-site-main--dossie .cp-dossie-summary__grid {
  gap: .8rem;
}

.cp-site-main--dossie .cp-dossie-fact {
  padding: 1.15rem 1.25rem;
}

.cp-site-main--dossie .cp-dossie-analysis__intro {
  margin-top: 0;
}

.cp-site-main--dossie .cp-dossie-analysis__body h2,
.cp-site-main--dossie .cp-dossie-analysis__body h3 {
  margin-top: clamp(1.25rem, 2.4vw, 1.9rem);
}

/* Fiscalizações: o campo Ordenar precisa acomodar os rótulos completos. */
.cp-fiscalizacoes-archive .cp-dossie-filters {
  grid-template-columns:
    minmax(16rem, 1.45fr)
    minmax(10rem, .95fr)
    minmax(10rem, .95fr)
    minmax(11rem, 1fr)
    minmax(14.5rem, 1.25fr);
}

.cp-fiscalizacoes-archive .cp-dossie-filters__order select {
  min-width: 14.5rem;
  padding-right: 2.5rem;
}

@media (max-width: 1100px) {
  .cp-fiscalizacoes-archive .cp-dossie-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__order select {
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .cp-site-main--dossie .cp-dossie-cover__inner {
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    padding-block: 2.4rem 2.8rem;
  }

  .cp-site-main--dossie .cp-dossie__layout {
    padding-top: 1.6rem;
    padding-bottom: 2.2rem;
  }
}

@media (max-width: 600px) {
  .cp-site-main--dossie .cp-dossie-cover__inner {
    padding-block: 2rem 2.4rem;
  }

  .cp-site-main--dossie .cp-dossie-section + .cp-dossie-section {
    margin-top: 1.15rem;
    padding-top: 1.15rem;
  }

  .cp-site-main--dossie .cp-dossie-summary__lead {
    padding-left: .8rem;
  }
}


/* 0.9.140 — correções definitivas: respiro do dossiê, documentos e Ordenar. */
/* O h2 do cabeçalho de análise herdava margin-top: 2em de .cp-entry__content h2. */
.cp-site-main--dossie .cp-dossie-analysis.cp-entry__content .cp-dossie-section__header > * {
  margin-block: 0 !important;
}

.cp-site-main--dossie .cp-dossie-analysis.cp-entry__content .cp-dossie-section__header {
  gap: .48rem;
  margin-bottom: clamp(.85rem, 1.5vw, 1.15rem);
}

.cp-site-main--dossie .cp-dossie-analysis.cp-entry__content .cp-dossie-section__header h2 {
  margin: 0 !important;
}

.cp-site-main--dossie .cp-dossie-analysis__intro {
  margin: 0 !important;
}

/* Títulos dos documentos também funcionam como links; ação sempre visível quando há URL. */
.cp-site-main--dossie .cp-document__title a {
  color: inherit;
  text-decoration: none;
}

.cp-site-main--dossie .cp-document__title a:hover,
.cp-site-main--dossie .cp-document__title a:focus-visible {
  color: var(--cp-color-purple);
  text-decoration: underline;
  text-decoration-thickness: .1em;
  text-underline-offset: .16em;
}

/* Fiscalizações: duas linhas no desktop preservam a consulta sem comprimir campos. */
.cp-fiscalizacoes-archive .cp-dossie-filters {
  grid-template-columns:
    minmax(16rem, 1.35fr)
    repeat(3, minmax(10rem, 1fr));
  align-items: end;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__taxonomy--cp_situacao {
  grid-column: 1;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__order {
  grid-column: 2;
  width: 100%;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__order select,
.cp-fiscalizacoes-archive #cp-ordem {
  width: 100%;
  min-width: 0;
  padding-right: 3rem;
}

.cp-fiscalizacoes-archive .cp-dossie-filters__actions {
  grid-column: 3 / -1;
  justify-content: flex-end;
  align-self: end;
}

@media (max-width: 1100px) {
  .cp-fiscalizacoes-archive .cp-dossie-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-fiscalizacoes-archive .cp-dossie-filters__order {
    grid-column: auto;
    width: 100%;
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__search,
  .cp-fiscalizacoes-archive .cp-dossie-filters__actions {
    grid-column: 1 / -1;
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-archive .cp-dossie-filters {
    grid-template-columns: 1fr;
  }

  .cp-fiscalizacoes-archive .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-fiscalizacoes-archive .cp-dossie-filters__order,
  .cp-fiscalizacoes-archive .cp-dossie-filters__search,
  .cp-fiscalizacoes-archive .cp-dossie-filters__actions {
    grid-column: 1;
  }
}


/* 0.9.143 — Página Publicações: hub editorial vivo do WordPress. */
.cp-site-main.cp-publicacoes-page {
  padding-block: 0 !important;
  margin: 0;
}

.cp-site-main.cp-publicacoes-page + .cp-site-footer {
  margin-top: 0 !important;
}

.cp-publicacoes-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgb(200 240 0 / 7%) 0%, rgb(200 240 0 / 0%) 38%),
    #f4f3ef;
  border-bottom: 1px solid rgb(17 19 21 / 8%);
}

.cp-publicacoes-hero::after {
  display: none;
}

.cp-publicacoes-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .55fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  min-height: clamp(27rem, 58vh, 39rem);
  padding-block: clamp(3.8rem, 7vw, 6.2rem);
}

.cp-publicacoes-hero .cp-eyebrow {
  color: var(--cp-color-lime-deep);
}

.cp-publicacoes-hero h1 {
  margin: .8rem 0 1rem;
  font-size: clamp(4rem, 10vw, 8rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.cp-publicacoes-hero__lead {
  max-width: 38ch;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: clamp(1.12rem, 2vw, 1.4rem);
  line-height: 1.65;
}

.cp-publicacoes-hero__note {
  position: relative;
  padding: 1.5rem 0 0 1.5rem;
  border-left: 1px solid rgb(17 19 21 / 16%);
}

.cp-publicacoes-hero__note-mark {
  display: block;
  margin-bottom: 2.2rem;
  color: var(--cp-color-lime-deep);
  font-size: 2rem;
  line-height: 1;
}

.cp-publicacoes-hero__note p:last-child {
  margin: .65rem 0 0;
  color: var(--cp-color-gray-700);
  line-height: 1.65;
}

.cp-publicacoes-intro {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--cp-color-gray-300);
  background: #fff;
}

.cp-publicacoes-featured {
  padding-block: clamp(3rem, 6vw, 5.5rem);
  background: #fff;
}

.cp-publicacoes-section-heading {
  margin-bottom: 1.25rem;
}

.cp-publicacoes-section-heading .cp-eyebrow {
  margin: 0;
}

.cp-publicacoes-featured__card {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr);
  min-height: 29rem;
  overflow: hidden;
  border: 1px solid rgb(17 19 21 / 10%);
  border-radius: 1.6rem;
  background: #111315;
  color: #fff;
  box-shadow: 0 22px 56px rgb(17 19 21 / 10%);
}

.cp-publicacoes-featured__media {
  position: relative;
  display: block;
  min-height: 29rem;
  overflow: hidden;
  background: #202325;
}

.cp-publicacoes-featured__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(17 19 21 / 2%) 55%, rgb(17 19 21 / 28%) 100%);
  pointer-events: none;
}

.cp-publicacoes-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.cp-publicacoes-featured__card:hover .cp-publicacoes-featured__media img {
  transform: scale(1.025);
}

.cp-publicacoes-featured__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background: linear-gradient(135deg, #17191c, #252a1b);
  color: var(--cp-color-lime);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cp-publicacoes-featured__body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(2rem, 4vw, 3.6rem);
}

.cp-publicacoes-featured__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4rem;
  height: .28rem;
  background: var(--cp-color-lime);
}

.cp-publicacoes-featured__category {
  margin: 0 0 .8rem;
  color: var(--cp-color-lime);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cp-publicacoes-featured__body h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: .98;
  letter-spacing: -.05em;
}

.cp-publicacoes-featured__body h2 a {
  color: inherit;
  text-decoration: none;
}

.cp-publicacoes-featured__summary {
  margin: 1.15rem 0 0;
  color: rgb(255 255 255 / 72%);
  line-height: 1.7;
}

.cp-publicacoes-featured__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin: 1rem 0 1.25rem;
  color: rgb(255 255 255 / 56%);
  font-size: .78rem;
}

.cp-publicacoes-featured__meta a {
  color: inherit;
}

.cp-publicacoes-featured__body .cp-card__link {
  color: #fff;
}

.cp-publicacoes-index {
  padding-block: clamp(3rem, 6vw, 5.5rem);
  background: #f4f4f4;
}

.cp-publicacoes-index__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, .45fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.8rem;
}

.cp-publicacoes-index__header .cp-eyebrow {
  margin-bottom: .5rem;
  color: var(--cp-color-lime-deep);
}

.cp-publicacoes-index__header h2 {
  margin: 0;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.cp-publicacoes-index__header > p {
  margin: 0;
  color: var(--cp-color-gray-700);
  line-height: 1.65;
}

.cp-publicacoes-filters {
  display: grid;
  grid-template-columns: minmax(17rem, 1.4fr) minmax(12rem, .75fr) minmax(11rem, .65fr) auto;
  gap: 1rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  padding: 1.35rem;
  border: 1px solid rgb(17 19 21 / 9%);
  border-radius: 1.4rem;
  background: #fff;
  box-shadow: 0 14px 35px rgb(17 19 21 / 5%);
}

.cp-publicacoes-filters > div {
  display: grid;
  gap: .4rem;
}

.cp-publicacoes-filters label {
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cp-publicacoes-filters input,
.cp-publicacoes-filters select {
  width: 100%;
  min-height: 3.5rem;
  padding: .7rem .9rem;
  border: 1px solid rgb(17 19 21 / 14%);
  border-radius: .9rem;
  background: #fff;
  color: var(--cp-color-ink);
}

.cp-publicacoes-filters input:focus,
.cp-publicacoes-filters select:focus {
  outline: none;
  border-color: var(--cp-color-lime-deep);
  box-shadow: 0 0 0 4px rgb(200 240 0 / 18%);
}

.cp-publicacoes-filters__actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: .75rem !important;
  align-items: center;
}

.cp-publicacoes-filters__actions .cp-button {
  min-height: 3.5rem;
  border-radius: 999px;
}

.cp-publicacoes-filters__actions a {
  color: var(--cp-color-gray-700);
  font-size: .85rem;
  font-weight: 750;
}

.cp-publicacoes-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.cp-publicacoes-grid .cp-card {
  min-width: 0;
  background: #fff;
}

.cp-publicacoes-grid .cp-card__media {
  aspect-ratio: 16 / 10;
}

.cp-publicacoes-empty {
  display: flex;
  gap: 1rem;
  align-items: center;
  max-width: 42rem;
  padding: 1.35rem 1.5rem;
  border: 1px solid rgb(17 19 21 / 10%);
  border-radius: 1rem;
  background: #fff;
}

.cp-publicacoes-empty > span {
  color: var(--cp-color-lime-deep);
  font-size: 1.6rem;
}

.cp-publicacoes-empty strong {
  display: block;
}

.cp-publicacoes-empty p {
  margin: .2rem 0 0;
  color: var(--cp-color-gray-700);
}

@media (max-width: 980px) {
  .cp-publicacoes-hero__grid,
  .cp-publicacoes-featured__card,
  .cp-publicacoes-index__header {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-hero__note {
    max-width: 34rem;
  }

  .cp-publicacoes-featured__media {
    min-height: 22rem;
  }

  .cp-publicacoes-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-publicacoes-filters__search,
  .cp-publicacoes-filters__actions {
    grid-column: 1 / -1;
  }

  .cp-publicacoes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .cp-publicacoes-hero__grid {
    min-height: auto;
    padding-block: 3.5rem;
  }

  .cp-publicacoes-hero h1 {
    font-size: clamp(3.5rem, 19vw, 5.6rem);
  }

  .cp-publicacoes-featured__media {
    min-height: 17rem;
  }

  .cp-publicacoes-featured__body {
    padding: 1.6rem;
  }

  .cp-publicacoes-filters,
  .cp-publicacoes-grid {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-filters__search,
  .cp-publicacoes-filters__actions {
    grid-column: auto;
  }
}


/* 0.9.144 — Publicações: template real da Página de posts + refinamento do hero. */
.cp-publicacoes-home .cp-publicacoes-hero__grid {
  min-height: clamp(24rem, 46vh, 32rem);
  align-items: center;
  padding-block: clamp(3rem, 5.5vw, 4.8rem);
}

.cp-publicacoes-home .cp-publicacoes-hero h1 {
  font-size: clamp(4rem, 8.5vw, 7rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  align-self: center;
  padding: 1.35rem 0 1.35rem 1.5rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__note-mark {
  margin-bottom: 1.25rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__note .cp-card__link {
  margin-top: 1rem;
  color: var(--cp-color-ink);
}

.cp-publicacoes-home .cp-publicacoes-featured {
  padding-top: clamp(2.6rem, 5vw, 4.5rem);
}

.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(2.8rem, 5vw, 4.5rem);
}

@media (max-width: 980px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    min-height: auto;
    padding-block: 3.25rem;
  }
}

/* 0.9.145 — Publicações: a publicação em destaque passa a ser o próprio hero. */
.cp-publicacoes-home .cp-publicacoes-hero {
  background:
    linear-gradient(90deg, rgb(200 240 0 / 6%) 0%, rgb(200 240 0 / 0%) 34%),
    #f4f3ef;
}

.cp-publicacoes-home .cp-publicacoes-hero__grid {
  grid-template-columns: minmax(0, 2.15fr) minmax(16rem, .7fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: stretch;
  min-height: clamp(25rem, 52vh, 34rem);
  padding-block: clamp(2.4rem, 4vw, 3.6rem);
}

.cp-publicacoes-hero__story {
  position: relative;
  min-height: clamp(24rem, 48vh, 31rem);
  overflow: hidden;
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 80% 18%, rgb(200 240 0 / 14%), transparent 18rem),
    linear-gradient(125deg, #101214 0%, #17191c 62%, #242a18 100%);
  color: #fff;
  box-shadow: 0 24px 58px rgb(17 19 21 / 12%);
}

.cp-publicacoes-hero__story::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--cp-publicacoes-hero-image, none);
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.01);
  transition: transform .7s ease;
}

.cp-publicacoes-hero__story--has-image::before {
  opacity: .7;
}

.cp-publicacoes-hero__story::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(10 12 14 / 94%) 0%, rgb(10 12 14 / 84%) 44%, rgb(10 12 14 / 48%) 72%, rgb(10 12 14 / 20%) 100%),
    linear-gradient(180deg, rgb(10 12 14 / 8%) 40%, rgb(10 12 14 / 40%) 100%);
  pointer-events: none;
}

.cp-publicacoes-hero__story:hover::before {
  transform: scale(1.035);
}

.cp-publicacoes-hero__story-content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: inherit;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  max-width: 58rem;
  padding: clamp(2rem, 4vw, 3.7rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
  margin-bottom: .7rem;
  color: var(--cp-color-lime);
}

.cp-publicacoes-hero__category {
  margin: 0 0 .6rem;
  color: rgb(255 255 255 / 70%);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.5rem, 5.7vw, 5.25rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
  color: inherit;
  text-decoration: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 49ch;
  margin-top: 1rem;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  line-height: 1.62;
}

.cp-publicacoes-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin-top: 1rem;
  color: rgb(255 255 255 / 58%);
  font-size: .78rem;
}

.cp-publicacoes-hero__meta a {
  color: inherit;
}

.cp-publicacoes-hero__read {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.15rem;
  padding: .78rem 1rem;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-publicacoes-hero__read:hover,
.cp-publicacoes-hero__read:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 10px 25px rgb(0 0 0 / 20%);
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 2.4rem) 0 clamp(1.5rem, 3vw, 2.4rem) clamp(1.5rem, 3vw, 2.4rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__note-mark {
  margin-bottom: 1rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__note p:nth-of-type(2) {
  max-width: 24ch;
  margin: .55rem 0 0;
  color: var(--cp-color-gray-800);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}

.cp-publicacoes-home .cp-publicacoes-hero__note .cp-card__link {
  margin-top: 1.1rem;
  color: var(--cp-color-ink);
}

/* O destaque deixou de existir como bloco separado; o índice vem logo após o hero. */
.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(2.6rem, 4.5vw, 4rem);
}

@media (max-width: 980px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-block: 2.4rem;
  }

  .cp-publicacoes-hero__story {
    min-height: clamp(24rem, 58vw, 31rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    max-width: none;
    padding: 1.3rem 0 0;
    border-left: 0;
    border-top: 1px solid rgb(17 19 21 / 15%);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note p:nth-of-type(2) {
    max-width: 42ch;
  }
}

@media (max-width: 680px) {
  .cp-publicacoes-hero__story {
    min-height: 27rem;
    border-radius: 1.35rem;
  }

  .cp-publicacoes-hero__story--has-image::before {
    opacity: .56;
  }

  .cp-publicacoes-hero__story::after {
    background: linear-gradient(180deg, rgb(10 12 14 / 38%) 0%, rgb(10 12 14 / 88%) 64%, rgb(10 12 14 / 96%) 100%);
  }

  .cp-publicacoes-hero__story-content {
    justify-content: flex-end;
    padding: 1.55rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: none;
    font-size: clamp(2.35rem, 12.5vw, 3.7rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cp-publicacoes-hero__story::before,
  .cp-publicacoes-hero__read {
    transition: none;
  }

  .cp-publicacoes-hero__story:hover::before,
  .cp-publicacoes-hero__read:hover,
  .cp-publicacoes-hero__read:focus-visible {
    transform: none;
  }
}

/* 0.9.146 — Publicações: linguagem de revista + leitura por autor. */
.cp-publicacoes-home .cp-publicacoes-hero {
  background:
    radial-gradient(circle at 9% 16%, rgb(200 240 0 / 8%), transparent 18rem),
    linear-gradient(180deg, #f6f4ef 0%, #f3f1ec 100%);
}

.cp-publicacoes-home .cp-publicacoes-hero__grid {
  grid-template-columns: minmax(0, 3fr) minmax(15rem, .85fr);
  gap: clamp(2rem, 4.5vw, 4.25rem);
  min-height: auto;
  padding-block: clamp(2.6rem, 4.5vw, 4.4rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  min-height: 0;
  overflow: visible;
  border-top: 1px solid rgb(17 19 21 / 15%);
  border-bottom: 1px solid rgb(17 19 21 / 15%);
  border-radius: 0;
  background: transparent;
  color: var(--cp-color-ink);
  box-shadow: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__story::before,
.cp-publicacoes-home .cp-publicacoes-hero__story::after {
  display: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  min-height: 0;
  max-width: none;
  justify-content: center;
  padding: clamp(2.2rem, 4vw, 4rem) clamp(2rem, 4vw, 3.4rem) clamp(2.2rem, 4vw, 4rem) 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
  margin-bottom: .8rem;
  color: var(--cp-color-purple);
}

.cp-publicacoes-home .cp-publicacoes-hero__category {
  margin: 0 0 .75rem;
  color: var(--cp-color-gray-700);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 11ch;
  margin: 0;
  color: var(--cp-color-ink);
  font-size: clamp(2.6rem, 5.3vw, 5rem);
  line-height: .94;
  letter-spacing: -.058em;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
  color: inherit;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 43ch;
  margin: 1rem 0 0;
  color: var(--cp-color-gray-800);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.65;
}

.cp-publicacoes-home .cp-publicacoes-hero__meta {
  margin-top: 1.1rem;
  color: var(--cp-color-gray-600);
  font-size: .8rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__meta a {
  color: var(--cp-color-ink);
  text-underline-offset: .18em;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  position: relative;
  display: inline-flex;
  gap: .5rem;
  margin-top: 1.3rem;
  padding: .2rem 0 .45rem;
  border-radius: 0;
  background: transparent;
  color: var(--cp-color-ink);
  font-size: .9rem;
  font-weight: 850;
  box-shadow: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__read::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.2rem;
  height: .18rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cp-color-lime), var(--cp-color-purple));
  transition: width .25s ease;
}

.cp-publicacoes-home .cp-publicacoes-hero__read:hover,
.cp-publicacoes-home .cp-publicacoes-hero__read:focus-visible {
  transform: none;
  box-shadow: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__read:hover::after,
.cp-publicacoes-home .cp-publicacoes-hero__read:focus-visible::after {
  width: 100%;
}

.cp-publicacoes-hero__media {
  position: relative;
  display: block;
  min-height: clamp(24rem, 39vw, 32rem);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.cp-publicacoes-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.cp-publicacoes-hero__story:hover .cp-publicacoes-hero__media img {
  transform: scale(1.018);
}

.cp-publicacoes-hero__media-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1.5rem;
  background:
    linear-gradient(135deg, rgb(104 19 139 / 13%), transparent 44%),
    radial-gradient(circle at 78% 20%, rgb(200 240 0 / 22%), transparent 11rem),
    linear-gradient(145deg, #e8e5e0 0%, #f6f3ed 58%, #e7e2eb 100%);
}

.cp-publicacoes-hero__media-placeholder::before,
.cp-publicacoes-hero__media-placeholder::after {
  content: "";
  position: absolute;
  border: 1px solid rgb(17 19 21 / 10%);
  border-radius: 50%;
}

.cp-publicacoes-hero__media-placeholder::before {
  width: 18rem;
  height: 18rem;
  right: -5rem;
  top: -5rem;
}

.cp-publicacoes-hero__media-placeholder::after {
  width: 9rem;
  height: 9rem;
  left: 2rem;
  bottom: 3rem;
}

.cp-publicacoes-hero__media-placeholder > span {
  position: relative;
  z-index: 1;
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  justify-content: flex-start;
  padding: .25rem 0 .25rem clamp(1.5rem, 3vw, 2.4rem);
  border-left: 1px solid rgb(17 19 21 / 14%);
}

.cp-publicacoes-home .cp-publicacoes-hero__note > .cp-eyebrow {
  margin-bottom: 1.5rem;
  color: var(--cp-color-purple);
}

.cp-publicacoes-hero__nav-group {
  padding-block: 1rem;
  border-top: 1px solid rgb(17 19 21 / 11%);
}

.cp-publicacoes-hero__nav-group strong {
  display: block;
  margin-bottom: .45rem;
  color: var(--cp-color-ink);
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group p {
  max-width: 28ch;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: .92rem;
  line-height: 1.6;
}

.cp-publicacoes-hero__authors ul {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .65rem 0 0;
  padding: 0;
  list-style: none;
}

.cp-publicacoes-hero__authors a {
  display: inline-flex;
  padding: .42rem .7rem;
  border: 1px solid rgb(104 19 139 / 14%);
  border-radius: 999px;
  background: rgb(255 255 255 / 48%);
  color: var(--cp-color-purple);
  font-size: .8rem;
  font-weight: 750;
  text-decoration: none;
}

.cp-publicacoes-hero__authors a:hover,
.cp-publicacoes-hero__authors a:focus-visible {
  border-color: rgb(104 19 139 / 35%);
  background: #fff;
}

.cp-publicacoes-hero__all {
  display: inline-flex;
  gap: .45rem;
  margin-top: 1.25rem;
  color: var(--cp-color-ink);
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
}

.cp-publicacoes-hero__all:hover,
.cp-publicacoes-hero__all:focus-visible {
  color: var(--cp-color-purple);
}

.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(2.8rem, 4.5vw, 4.2rem);
}

.cp-publicacoes-home .cp-publicacoes-filters {
  grid-template-columns: minmax(15rem, 1.35fr) repeat(3, minmax(10rem, .8fr)) auto;
}

@media (max-width: 1180px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, .34fr);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr);
  }

  .cp-publicacoes-home .cp-publicacoes-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-publicacoes-home .cp-publicacoes-filters__search,
  .cp-publicacoes-home .cp-publicacoes-filters__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding: 2.2rem 0 2rem;
  }

  .cp-publicacoes-hero__media {
    min-height: 21rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    padding: 1.2rem 0 0;
    border-left: 0;
    border-top: 1px solid rgb(17 19 21 / 14%);
  }
}

@media (max-width: 680px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: none;
    font-size: clamp(2.4rem, 12vw, 3.75rem);
  }

  .cp-publicacoes-hero__media {
    min-height: 17rem;
  }

  .cp-publicacoes-home .cp-publicacoes-filters {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-home .cp-publicacoes-filters__search,
  .cp-publicacoes-home .cp-publicacoes-filters__actions {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cp-publicacoes-hero__media img,
  .cp-publicacoes-home .cp-publicacoes-hero__read::after {
    transition: none;
  }

  .cp-publicacoes-hero__story:hover .cp-publicacoes-hero__media img {
    transform: none;
  }
}


/* 0.9.147 — limpeza visual do hero de Publicações. */
.cp-publicacoes-home .cp-publicacoes-hero__note {
  background: transparent;
}


/* 0.9.148 — refinamento da página de publicação individual e limpeza do hero de Publicações. */
.single-post .cp-site-main:not(.cp-site-main--front):not(.cp-site-main--dossie) {
  padding-top: clamp(2rem, 4.2vw, 3.25rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.single-post .cp-entry__header {
  margin-bottom: clamp(1.35rem, 3vw, 2.2rem);
}

.single-post .cp-entry__meta {
  margin-bottom: .95rem;
}

.single-post .cp-entry__header h1 {
  max-width: 11ch;
  font-size: clamp(2.9rem, 5.8vw, 5rem);
  line-height: .94;
  letter-spacing: -.058em;
}

.cp-entry__dek {
  max-width: 44rem;
  margin: 1.05rem 0 0;
  color: var(--cp-color-gray-800);
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.72;
}

.single-post .cp-entry__taxonomy {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.15rem;
}

.single-post .cp-entry__thumbnail {
  margin-bottom: clamp(1.65rem, 4vw, 2.75rem);
}

.single-post .cp-entry__content {
  max-width: 44rem;
}

.single-post .cp-post-navigation {
  margin-top: clamp(2.4rem, 5vw, 4rem);
}

.cp-publicacoes-hero::after {
  display: none;
}

@media (max-width: 782px) {
  .single-post .cp-entry__header h1 {
    max-width: 12ch;
    font-size: clamp(2.5rem, 11vw, 3.8rem);
  }

  .cp-entry__dek {
    font-size: 1rem;
    line-height: 1.65;
  }
}


/* 0.9.152 — Publicações: hero editorial compacto e imagem 16:9 preservada. */
.cp-publicacoes-home .cp-publicacoes-hero__grid {
  grid-template-columns: minmax(0, 7fr) minmax(15.5rem, 3fr);
  gap: clamp(1.8rem, 3.5vw, 3.4rem);
  align-items: start;
  padding-top: clamp(2rem, 3.4vw, 3.1rem);
  padding-bottom: clamp(1.9rem, 3vw, 2.7rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story {
  grid-template-columns: minmax(0, .95fr) minmax(22rem, 1.18fr);
  align-items: center;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  padding: clamp(1.6rem, 2.6vw, 2.5rem) clamp(1.7rem, 3vw, 2.8rem) clamp(1.6rem, 2.6vw, 2.5rem) 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 12ch;
  font-size: clamp(2.55rem, 4.25vw, 4.15rem);
  line-height: .95;
  letter-spacing: -.052em;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  display: -webkit-box;
  max-width: 42ch;
  margin-top: .85rem;
  overflow: hidden;
  font-size: clamp(.96rem, 1.18vw, 1.08rem);
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.cp-publicacoes-home .cp-publicacoes-hero__meta {
  margin-top: .85rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  margin-top: 1rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__media {
  align-self: center;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #e9e6e0;
}

.cp-publicacoes-home .cp-publicacoes-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  align-self: start;
  padding: .15rem 0 .15rem clamp(1.25rem, 2.3vw, 2rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__note > .cp-eyebrow {
  margin-bottom: .8rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group {
  padding-block: .75rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group p {
  max-width: 27ch;
  font-size: .86rem;
  line-height: 1.52;
}

.cp-publicacoes-home .cp-publicacoes-hero__authors ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: .4rem;
  margin-top: .55rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__authors a {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: fit-content;
  max-width: 100%;
  padding: .25rem .55rem .25rem .3rem;
  border-color: rgb(104 19 139 / 12%);
  background: rgb(255 255 255 / 42%);
  color: var(--cp-color-ink);
  font-size: .78rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__authors img,
.cp-publicacoes-home .cp-publicacoes-hero__authors .avatar {
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  object-fit: cover;
}

.cp-publicacoes-home .cp-publicacoes-hero__all {
  margin-top: .8rem;
}

.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(2.2rem, 3.4vw, 3.2rem);
}

@media (max-width: 1180px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(14rem, .34fr);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    grid-template-columns: minmax(0, .95fr) minmax(18rem, 1.05fr);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    font-size: clamp(2.35rem, 4.5vw, 3.7rem);
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    grid-template-columns: 1fr;
    padding-block: 2rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    grid-template-columns: 1fr;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding: 1.8rem 0 1.4rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    padding: 1rem 0 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__authors ul {
    grid-template-columns: repeat(2, minmax(0, max-content));
  }
}

@media (max-width: 600px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: none;
    font-size: clamp(2.35rem, 12vw, 3.25rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    -webkit-line-clamp: 4;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__authors ul {
    grid-template-columns: 1fr;
  }
}


/* 0.9.153 — Hero de Publicações em largura total, com imagem preenchendo e maior impacto visual. */
.cp-publicacoes-home .cp-publicacoes-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #0d1013;
}

.cp-publicacoes-home .cp-publicacoes-hero__grid {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__story {
  position: relative;
  display: block;
  min-height: clamp(36rem, 56vw, 48rem);
  border: 0;
  overflow: hidden;
  isolation: isolate;
}

.cp-publicacoes-home .cp-publicacoes-hero__story::before,
.cp-publicacoes-home .cp-publicacoes-hero__story::after {
  display: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__media {
  position: absolute;
  inset: 0;
  min-height: 100%;
  z-index: 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(8 10 12 / 0.90) 0%, rgb(8 10 12 / 0.82) 20%, rgb(8 10 12 / 0.62) 43%, rgb(8 10 12 / 0.26) 68%, rgb(8 10 12 / 0.18) 100%),
    linear-gradient(180deg, rgb(4 5 6 / 0.08) 0%, rgb(4 5 6 / 0.42) 100%);
}

.cp-publicacoes-home .cp-publicacoes-hero__media img,
.cp-publicacoes-home .cp-publicacoes-hero__media-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
  min-height: clamp(36rem, 56vw, 48rem);
  margin-inline: auto;
  padding: clamp(2.4rem, 5vw, 4rem) 0 clamp(2.7rem, 6vw, 4.8rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow,
.cp-publicacoes-home .cp-publicacoes-hero__category,
.cp-publicacoes-home .cp-publicacoes-hero__meta,
.cp-publicacoes-home .cp-publicacoes-hero__lead,
.cp-publicacoes-home .cp-publicacoes-hero__story h1,
.cp-publicacoes-home .cp-publicacoes-hero__story h1 a,
.cp-publicacoes-home .cp-publicacoes-hero__meta a,
.cp-publicacoes-home .cp-publicacoes-hero__read {
  color: #fff;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
  margin-bottom: .85rem;
  color: var(--cp-color-lime);
}

.cp-publicacoes-home .cp-publicacoes-hero__category {
  color: rgb(255 255 255 / 0.82);
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 9.5ch;
  font-size: clamp(3.1rem, 6.2vw, 6.2rem);
  line-height: .92;
  text-wrap: balance;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 40rem;
  color: rgb(255 255 255 / 0.86);
  font-size: clamp(1rem, 1.45vw, 1.12rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__meta {
  color: rgb(255 255 255 / 0.72);
}

.cp-publicacoes-home .cp-publicacoes-hero__meta a {
  color: #fff;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  align-self: flex-start;
  margin-top: 1.5rem;
  padding: .95rem 1.35rem;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  box-shadow: 0 16px 34px rgb(0 0 0 / 0.22);
}

.cp-publicacoes-home .cp-publicacoes-hero__read::after {
  display: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__read:hover,
.cp-publicacoes-home .cp-publicacoes-hero__read:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px rgb(0 0 0 / 0.28);
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  position: absolute;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 3;
  width: min(100% - (2 * var(--cp-gutter)), 22rem);
  padding: 1.45rem 1.4rem 1.3rem;
  border: 1px solid rgb(255 255 255 / 0.18);
  border-left: 0;
  border-radius: 1.4rem;
  background: rgb(245 243 238 / 0.88);
  backdrop-filter: blur(16px);
  box-shadow: 0 22px 60px rgb(0 0 0 / 0.18);
}

.cp-publicacoes-home .cp-publicacoes-hero__note > .cp-eyebrow {
  margin-bottom: .95rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group {
  padding-block: .9rem;
}

.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(2.3rem, 4vw, 3.4rem);
}

@media (max-width: 1100px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story {
    min-height: clamp(34rem, 66vw, 44rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    min-height: clamp(34rem, 66vw, 44rem);
    padding-right: min(36vw, 20rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    font-size: clamp(2.8rem, 6.4vw, 4.8rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    width: min(20rem, calc(100% - (2 * var(--cp-gutter))));
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story {
    min-height: auto;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    position: relative;
    min-height: clamp(16rem, 52vw, 22rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media::after {
    background:
      linear-gradient(180deg, rgb(8 10 12 / 0.24) 0%, rgb(8 10 12 / 0.48) 100%);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    min-height: 0;
    margin-top: -4.5rem;
    padding: 0 0 2rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content > * {
    position: relative;
    z-index: 2;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content-inner,
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    max-width: none;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    justify-content: flex-start;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead,
  .cp-publicacoes-home .cp-publicacoes-hero__meta,
  .cp-publicacoes-home .cp-publicacoes-hero__category,
  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow,
  .cp-publicacoes-home .cp-publicacoes-hero__meta a {
    color: var(--cp-color-ink);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
    color: var(--cp-color-purple);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__category {
    color: var(--cp-color-gray-700);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 10ch;
    font-size: clamp(2.6rem, 10vw, 4rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    color: var(--cp-color-gray-800);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    position: static;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    margin: 0 auto 2rem;
    border-left: 1px solid rgb(17 19 21 / 11%);
    border-radius: 1.2rem;
    background: #fff;
    backdrop-filter: none;
    box-shadow: 0 12px 32px rgb(17 19 21 / 0.08);
  }
}


/* 0.9.154 — Hero full-width com escala controlada e sem overflow horizontal. */
.cp-publicacoes-home {
  overflow-x: clip;
}

.cp-publicacoes-home .cp-publicacoes-hero {
  width: 100%;
  margin-left: 0;
  overflow: hidden;
}

.cp-publicacoes-home .cp-publicacoes-hero__story {
  height: min(44rem, calc(100svh - 9.25rem));
  min-height: 34rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  justify-content: center;
  min-height: 100%;
  padding-top: clamp(2.2rem, 4vw, 3.5rem);
  padding-right: clamp(19rem, 25vw, 23rem);
  padding-bottom: clamp(2.2rem, 4vw, 3.5rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 12.5ch;
  font-size: clamp(3rem, 4.7vw, 4.85rem);
  line-height: .91;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 39rem;
  margin-top: .85rem;
  font-size: clamp(.98rem, 1.18vw, 1.08rem);
  line-height: 1.55;
  -webkit-line-clamp: 3;
}

.cp-publicacoes-home .cp-publicacoes-hero__meta {
  margin-top: .8rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  margin-top: 1rem;
  padding: .82rem 1.2rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__media img {
  object-position: center 48%;
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  top: clamp(1.5rem, 3vw, 2.5rem);
  right: max(var(--cp-gutter), calc((100% - var(--cp-wide)) / 2));
  bottom: auto;
  width: min(20rem, calc(100% - (2 * var(--cp-gutter))));
  padding: 1.15rem 1.2rem 1.05rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__note > .cp-eyebrow {
  margin-bottom: .65rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group {
  padding-block: .7rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group p {
  font-size: .83rem;
  line-height: 1.48;
}

.cp-publicacoes-home .cp-publicacoes-hero__authors ul {
  margin-top: .4rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__all {
  margin-top: .55rem;
}

.cp-publicacoes-home .cp-publicacoes-index {
  padding-top: clamp(1.8rem, 3vw, 2.7rem);
}

@media (max-width: 1180px) and (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story {
    height: min(42rem, calc(100svh - 9rem));
    min-height: 33rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-right: min(21rem, 34vw);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 12ch;
    font-size: clamp(2.75rem, 5vw, 4rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    width: min(18.5rem, 30vw);
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero {
    background: #f4f3ef;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    height: auto;
    min-height: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    min-height: 0;
    padding-right: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    top: auto;
    right: auto;
  }
}


/* 0.9.155 — artes específicas de Hero para Publicações (desktop + mobile). */
.cp-publicacoes-home .cp-publicacoes-hero__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.cp-publicacoes-home .cp-publicacoes-hero__media picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero__media picture,
  .cp-publicacoes-home .cp-publicacoes-hero__media picture img {
    min-height: inherit;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img {
    object-position: center 58%;
  }
}


/* 0.9.156 — CTA explícito do Hero de Publicações junto à manchete. */
.cp-publicacoes-home .cp-publicacoes-hero__read {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  margin-top: 0;
}

/* 0.9.157 — Hero de Publicações com arte preservada no desktop e hierarquia correta no mobile. */
.cp-publicacoes-home .cp-publicacoes-hero__story {
  height: auto;
  min-height: 0;
  aspect-ratio: 1800 / 771;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  min-height: 100%;
  justify-content: center;
  padding-top: clamp(2rem, 3.1vw, 2.9rem);
  padding-right: clamp(21rem, 27vw, 24rem);
  padding-bottom: clamp(2rem, 3.4vw, 3rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 11ch;
  font-size: clamp(2.75rem, 4.35vw, 4.85rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 38rem;
  font-size: clamp(.98rem, 1.05vw, 1.06rem);
  line-height: 1.52;
}

.cp-publicacoes-home .cp-publicacoes-hero__media picture img,
.cp-publicacoes-home .cp-publicacoes-hero__media img {
  object-position: center center;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-right: min(21rem, 32vw);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 10.5ch;
    font-size: clamp(2.5rem, 4.5vw, 4rem);
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero {
    background: #f4f3ef;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    overflow: visible;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    position: relative;
    order: 1;
    inset: auto;
    min-height: 0;
    aspect-ratio: 9 / 16;
    overflow: hidden;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media::after {
    background: linear-gradient(180deg, rgb(8 10 12 / 0.10) 0%, rgb(8 10 12 / 0.42) 100%);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture,
  .cp-publicacoes-home .cp-publicacoes-hero__media picture img {
    width: 100%;
    height: 100%;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img {
    object-position: center center;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    order: 2;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    min-height: 0;
    margin: -2.4rem auto 0;
    padding: 1.3rem 1.2rem 1.5rem;
    border-radius: 1.35rem;
    background: #f4f3ef;
    box-shadow: 0 16px 34px rgb(17 19 21 / 0.10);
    justify-content: flex-start;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow,
  .cp-publicacoes-home .cp-publicacoes-hero__category,
  .cp-publicacoes-home .cp-publicacoes-hero__meta,
  .cp-publicacoes-home .cp-publicacoes-hero__lead,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a,
  .cp-publicacoes-home .cp-publicacoes-hero__meta a {
    color: var(--cp-color-ink);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
    color: var(--cp-color-purple);
    margin-bottom: .65rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__category {
    color: var(--cp-color-gray-700);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 11ch;
    font-size: clamp(2.1rem, 8.6vw, 3.35rem);
    line-height: .94;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__read {
    margin-top: .95rem;
    margin-bottom: .95rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    max-width: none;
    margin-top: 0;
    color: var(--cp-color-gray-800);
    font-size: 1rem;
    -webkit-line-clamp: 4;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__meta {
    margin-top: .75rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    position: static;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    margin: 1rem auto 2rem;
    border-left: 1px solid rgb(17 19 21 / 11%);
    border-radius: 1.2rem;
    background: #fff;
    backdrop-filter: none;
    box-shadow: 0 12px 32px rgb(17 19 21 / 0.08);
  }
}

/* 0.9.158 — Ajustes finos no Hero de Publicações: menos compressão no desktop e enquadramento correto no mobile. */
.cp-publicacoes-home .cp-publicacoes-hero__story {
  aspect-ratio: 1800 / 771;
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  justify-content: flex-end;
  padding-top: clamp(1.75rem, 2.8vw, 2.4rem);
  padding-right: clamp(20rem, 26vw, 23rem);
  padding-bottom: clamp(1.8rem, 3vw, 2.6rem);
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 10ch;
  font-size: clamp(2.55rem, 4vw, 4.45rem);
  line-height: .92;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  max-width: 34rem;
  font-size: clamp(.98rem, 1.02vw, 1.05rem);
  -webkit-line-clamp: 3;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  margin-top: 1rem;
  margin-bottom: .85rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__media picture img,
.cp-publicacoes-home .cp-publicacoes-hero__media img {
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 1280px) and (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-right: clamp(18rem, 25vw, 21rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    font-size: clamp(2.35rem, 3.9vw, 4rem);
  }
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero {
    background: #f4f3ef;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    overflow: visible;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    position: relative;
    order: 1;
    inset: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
    max-height: 27rem;
    overflow: hidden;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture,
  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media img {
    width: 100%;
    height: 100%;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media img {
    object-position: 54% 62%;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media::after {
    background: linear-gradient(180deg, rgb(8 10 12 / 0.10) 0%, rgb(8 10 12 / 0.18) 30%, rgb(8 10 12 / 0.44) 100%);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    order: 2;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    min-height: 0;
    margin: -4.25rem auto 0;
    padding: 1.2rem 1.15rem 1.5rem;
    border-radius: 1.35rem;
    background: #f4f3ef;
    box-shadow: 0 14px 30px rgb(17 19 21 / 0.10);
    justify-content: flex-start;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow,
  .cp-publicacoes-home .cp-publicacoes-hero__category,
  .cp-publicacoes-home .cp-publicacoes-hero__meta,
  .cp-publicacoes-home .cp-publicacoes-hero__lead,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a,
  .cp-publicacoes-home .cp-publicacoes-hero__meta a {
    color: var(--cp-color-ink);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
    color: var(--cp-color-purple);
    margin-bottom: .55rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__category {
    color: var(--cp-color-gray-700);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: none;
    font-size: clamp(2.05rem, 8.1vw, 3.05rem);
    line-height: .94;
    text-wrap: pretty;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__read {
    margin-top: .85rem;
    margin-bottom: .85rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    max-width: none;
    margin-top: 0;
    color: var(--cp-color-gray-800);
    font-size: 1rem;
    -webkit-line-clamp: 4;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__meta {
    margin-top: .7rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    position: static;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    margin: 1rem auto 2rem;
    border-left: 1px solid rgb(17 19 21 / 11%);
    border-radius: 1.2rem;
    background: #fff;
    backdrop-filter: none;
    box-shadow: 0 12px 32px rgb(17 19 21 / 0.08);
  }
}

@media (max-width: 520px) {
  .cp-publicacoes-home .cp-publicacoes-hero__media {
    aspect-ratio: 1 / 1.02;
    max-height: 24rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media img {
    object-position: 56% 63%;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    margin-top: -4.75rem;
    padding: 1.1rem 1rem 1.35rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    font-size: clamp(1.95rem, 8.5vw, 2.8rem);
  }
}

/* 0.9.159 — estabilidade do cabeçalho no mobile e remoção do efeito flutuante sobre o hero. */
@media (max-width: 900px) {
  .cp-site-header {
    position: relative;
    top: auto;
  }

  .admin-bar .cp-site-header {
    top: auto;
  }

  .cp-site-header__inner {
    min-height: 4.75rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero {
    padding-top: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    margin-top: 1.15rem;
  }
}


/* 0.9.160 — Hero definitivo: a arte determina a proporção; nenhuma imagem é recortada. */
.cp-publicacoes-home .cp-publicacoes-hero {
  width: 100%;
  margin-left: 0;
  overflow: hidden;
  background: #0d1013;
}

.cp-publicacoes-home .cp-publicacoes-hero__grid {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  padding: 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__story {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  overflow: hidden;
  border: 0;
}

.cp-publicacoes-home .cp-publicacoes-hero__media {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  min-height: 0;
  z-index: 0;
  overflow: hidden;
}

.cp-publicacoes-home .cp-publicacoes-hero__media picture {
  display: block;
  width: 100%;
  height: auto;
}

.cp-publicacoes-home .cp-publicacoes-hero__media picture img,
.cp-publicacoes-home .cp-publicacoes-hero__media > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: center center;
}

.cp-publicacoes-home .cp-publicacoes-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgb(7 8 10 / 0.88) 0%, rgb(7 8 10 / 0.76) 25%, rgb(7 8 10 / 0.48) 48%, rgb(7 8 10 / 0.16) 74%, rgb(7 8 10 / 0.06) 100%),
    linear-gradient(180deg, rgb(5 6 7 / 0.08), rgb(5 6 7 / 0.28));
}

.cp-publicacoes-home .cp-publicacoes-hero__story-content {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 50%;
  width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
  min-height: 0;
  margin: 0;
  padding: clamp(1.7rem, 3vw, 2.8rem) clamp(20rem, 25vw, 23rem) clamp(1.7rem, 3vw, 2.8rem) 0;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
  margin-bottom: .65rem;
  color: var(--cp-color-lime);
}

.cp-publicacoes-home .cp-publicacoes-hero__category {
  margin-bottom: .6rem;
  color: rgb(255 255 255 / 0.82);
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 {
  max-width: 11.7ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.45rem, 3.8vw, 4.35rem);
  line-height: .92;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
  color: inherit;
}

.cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
  display: -webkit-box;
  max-width: 35rem;
  margin: .85rem 0 0;
  overflow: hidden;
  color: rgb(255 255 255 / 0.86);
  font-size: clamp(.96rem, 1vw, 1.05rem);
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.cp-publicacoes-home .cp-publicacoes-hero__meta {
  margin-top: .75rem;
  color: rgb(255 255 255 / 0.74);
}

.cp-publicacoes-home .cp-publicacoes-hero__meta a {
  color: #fff;
}

.cp-publicacoes-home .cp-publicacoes-hero__read {
  align-self: flex-start;
  margin: 1rem 0 0;
  padding: .82rem 1.2rem;
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  box-shadow: 0 14px 30px rgb(0 0 0 / 0.22);
}

.cp-publicacoes-home .cp-publicacoes-hero__read::after {
  display: none;
}

.cp-publicacoes-home .cp-publicacoes-hero__note {
  position: absolute;
  z-index: 3;
  top: clamp(1.2rem, 2.5vw, 2.2rem);
  right: max(var(--cp-gutter), calc((100% - var(--cp-wide)) / 2));
  bottom: auto;
  width: min(20rem, calc(100% - (2 * var(--cp-gutter))));
  padding: 1.05rem 1.15rem 1rem;
  border: 1px solid rgb(255 255 255 / 0.18);
  border-radius: 1.35rem;
  background: rgb(245 243 238 / 0.90);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 48px rgb(0 0 0 / 0.18);
}

.cp-publicacoes-home .cp-publicacoes-hero__note > .cp-eyebrow {
  margin-bottom: .6rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group {
  padding-block: .65rem;
}

.cp-publicacoes-home .cp-publicacoes-hero__nav-group p {
  font-size: .82rem;
  line-height: 1.45;
}

.cp-publicacoes-home .cp-publicacoes-hero__all {
  margin-top: .5rem;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-right: min(20rem, 31vw);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 11ch;
    font-size: clamp(2.25rem, 3.85vw, 3.8rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    width: min(18rem, 29vw);
  }
}

@media (max-width: 900px) {
  .cp-site-header {
    position: relative;
    top: auto;
  }

  .admin-bar .cp-site-header {
    top: auto;
  }

  .cp-publicacoes-home .cp-publicacoes-hero {
    background: #0d1013;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    display: flex;
    flex-direction: column;
    overflow: visible;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    order: 1;
    width: 100%;
    overflow: hidden;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture,
  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media > img {
    width: 100%;
    height: auto;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media > img {
    object-fit: contain;
    object-position: center center;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media::after {
    display: none;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    position: relative;
    order: 2;
    top: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 1.35rem var(--cp-gutter) 1.55rem;
    transform: none;
    justify-content: flex-start;
    background: #0d1013;
    box-shadow: none;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-eyebrow {
    color: var(--cp-color-lime);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__category {
    color: rgb(255 255 255 / 0.74);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
    max-width: none;
    color: #fff;
    font-size: clamp(2.05rem, 8.2vw, 3.2rem);
    line-height: .94;
    text-wrap: pretty;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    max-width: none;
    color: rgb(255 255 255 / 0.82);
    font-size: .98rem;
    -webkit-line-clamp: 4;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__meta {
    color: rgb(255 255 255 / 0.70);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__meta a {
    color: #fff;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__read {
    margin-top: 1rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    position: static;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    margin: 1rem auto 1.6rem;
    border: 1px solid rgb(17 19 21 / 0.10);
    border-radius: 1.2rem;
    background: #fff;
    backdrop-filter: none;
    box-shadow: 0 12px 28px rgb(17 19 21 / 0.08);
  }
}

/* 0.9.161 — desktop: hero limitado exatamente à proporção da arte, sem faixa complementar. Mobile preservado. */
@media (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero {
    padding: 0 !important;
    background: #0d1013;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    min-height: 0;
    padding: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1916 / 821;
    overflow: hidden;
    background: #0d1013;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture,
  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media > img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__media picture img,
  .cp-publicacoes-home .cp-publicacoes-hero__media > img {
    object-fit: contain;
    object-position: center center;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    top: 0;
    bottom: 0;
    min-height: 0;
    justify-content: flex-start;
    padding-top: clamp(2rem, 3.2vw, 3rem);
    padding-right: clamp(20rem, 25vw, 23rem);
    padding-bottom: clamp(1.4rem, 2.4vw, 2.1rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 11.6ch;
    font-size: clamp(2.45rem, 3.7vw, 4.25rem);
    line-height: .92;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story .cp-publicacoes-hero__lead {
    max-width: 35rem;
    margin-top: .7rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__meta {
    margin-top: .65rem;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__read {
    margin-top: .8rem;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-top: clamp(1.6rem, 2.7vw, 2.2rem);
    padding-right: min(20rem, 31vw);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 11ch;
    font-size: clamp(2.2rem, 3.75vw, 3.65rem);
  }
}

/* 0.9.162 — Publicação individual com linguagem editorial alinhada à página Publicações. */
.single-post .cp-site-main--single {
  padding: 0;
  background: #f6f5f2;
}

.cp-single-article__hero {
  position: relative;
  overflow: hidden;
  background: #101214;
  color: #fff;
}

.cp-single-article__hero-media {
  position: relative;
  width: 100%;
  z-index: 0;
}

.cp-single-article__hero-media picture,
.cp-single-article__hero-media img {
  display: block;
  width: 100%;
  height: auto;
}

.cp-single-article__hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(7 9 11 / .92) 0%, rgb(7 9 11 / .80) 24%, rgb(7 9 11 / .54) 48%, rgb(7 9 11 / .18) 74%, rgb(7 9 11 / .08) 100%),
    linear-gradient(180deg, rgb(7 9 11 / .04) 0%, rgb(7 9 11 / .28) 100%);
}

.cp-single-article__hero--has-art .cp-single-article__hero-inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
}

.cp-single-article__hero-copy {
  width: min(100%, 48rem);
  padding-block: clamp(2rem, 4vw, 3.5rem);
}

.cp-single-article__back {
  display: inline-flex;
  margin-bottom: 1.15rem;
  color: rgb(255 255 255 / .78);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-single-article__back:hover,
.cp-single-article__back:focus-visible {
  color: var(--cp-color-lime);
}

.cp-single-article__hero .cp-eyebrow {
  margin-bottom: .8rem;
  color: var(--cp-color-lime);
}

.cp-single-article__hero h1 {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5vw, 5.25rem);
  line-height: .92;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.cp-single-article__dek {
  max-width: 42rem;
  margin: 1.1rem 0 0;
  color: rgb(255 255 255 / .84);
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.62;
}

.cp-single-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin-top: 1.2rem;
  color: rgb(255 255 255 / .70);
  font-size: .84rem;
}

.cp-single-article__meta a {
  color: #fff;
  text-underline-offset: .2em;
}

.cp-single-article__reading {
  padding: clamp(2.5rem, 5vw, 4.75rem) 0 clamp(3.5rem, 7vw, 6rem);
  background:
    radial-gradient(circle at 8% 4%, rgb(200 240 0 / .055), transparent 17rem),
    #f6f5f2;
}

.cp-single-article__reading-grid {
  display: grid;
  grid-template-columns: minmax(9.5rem, 13rem) minmax(0, 46rem);
  justify-content: center;
  gap: clamp(2rem, 5vw, 4.75rem);
  align-items: start;
}

.cp-single-article__rail {
  position: sticky;
  top: 8rem;
  padding-top: .8rem;
  border-top: 2px solid var(--cp-color-purple);
}

.cp-single-article__rail .cp-eyebrow {
  margin-bottom: .65rem;
  color: var(--cp-color-purple);
}

.cp-single-article__rail p:last-child {
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: .88rem;
  line-height: 1.55;
}

.single-post .cp-single-article__content {
  max-width: none;
  color: #222428;
  font-size: clamp(1.06rem, 1.18vw, 1.14rem);
  line-height: 1.78;
}

.single-post .cp-single-article__content > p:first-child {
  margin-top: 0;
  padding-left: clamp(1rem, 2vw, 1.4rem);
  border-left: 3px solid var(--cp-color-purple);
  color: var(--cp-color-ink);
  font-size: clamp(1.14rem, 1.45vw, 1.28rem);
  line-height: 1.72;
}

.single-post .cp-single-article__content > * + * {
  margin-block-start: 1.45em;
}

.single-post .cp-single-article__content h2 {
  position: relative;
  margin-top: clamp(2.6rem, 5vw, 4.4rem);
  padding-top: 1.15rem;
  color: var(--cp-color-ink);
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.single-post .cp-single-article__content h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.25rem;
  height: .2rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cp-color-purple), var(--cp-color-lime));
}

.single-post .cp-single-article__content h3 {
  margin-top: 2.4rem;
  color: var(--cp-color-ink);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
}

.single-post .cp-single-article__content strong {
  color: var(--cp-color-ink);
}

.single-post .cp-single-article__content blockquote {
  margin-inline: 0;
  padding: 1.4rem 1.5rem;
  border-left: 4px solid var(--cp-color-lime-deep);
  background: #fff;
  color: var(--cp-color-ink);
  font-size: 1.08em;
}

.cp-single-article__footer {
  margin-top: clamp(2.75rem, 5vw, 4.5rem);
  padding-top: 1.4rem;
  border-top: 1px solid rgb(17 19 21 / .14);
  color: var(--cp-color-gray-700);
  font-size: .88rem;
}

.cp-single-article__footer p {
  margin: .35rem 0 0;
}

.single-post .cp-single-article .cp-author-box {
  margin-top: clamp(2.4rem, 5vw, 4rem);
  border-color: rgb(104 19 139 / .14);
  background:
    radial-gradient(circle at 92% 14%, rgb(200 240 0 / .13), transparent 10rem),
    linear-gradient(135deg, #fff 0%, #f1edf4 100%);
  box-shadow: 0 18px 50px rgb(17 19 21 / .06);
}

.single-post .cp-single-navigation-wrap {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.single-post .cp-post-navigation {
  max-width: 61rem;
  margin: 0 auto;
  padding-top: clamp(1.6rem, 3vw, 2.5rem);
  border-top: 1px solid rgb(17 19 21 / .14);
}

@media (max-width: 900px) {
  .cp-single-article__hero {
    background: #f4f3ef;
    color: var(--cp-color-ink);
    overflow: visible;
  }

  .cp-single-article__hero-media::after {
    background: linear-gradient(180deg, rgb(7 9 11 / .06) 0%, rgb(7 9 11 / .18) 100%);
  }

  .cp-single-article__hero--has-art .cp-single-article__hero-inner {
    position: relative;
    inset: auto;
    display: block;
    width: min(100% - (2 * var(--cp-gutter)), var(--cp-wide));
    margin-top: -2.25rem;
    padding: 0;
  }

  .cp-single-article__hero-copy {
    width: 100%;
    padding: 1.25rem 1.1rem 1.45rem;
    border-radius: 1.35rem;
    background: #f4f3ef;
    box-shadow: 0 14px 30px rgb(17 19 21 / .10);
  }

  .cp-single-article__back {
    color: var(--cp-color-gray-700);
  }

  .cp-single-article__hero .cp-eyebrow {
    color: var(--cp-color-purple);
  }

  .cp-single-article__hero h1 {
    max-width: none;
    color: var(--cp-color-ink);
    font-size: clamp(2.3rem, 9vw, 3.5rem);
    line-height: .94;
  }

  .cp-single-article__dek {
    color: var(--cp-color-gray-800);
    font-size: 1rem;
    line-height: 1.62;
  }

  .cp-single-article__meta {
    color: var(--cp-color-gray-700);
  }

  .cp-single-article__meta a {
    color: var(--cp-color-ink);
  }

  .cp-single-article__reading {
    padding-top: 2.4rem;
  }

  .cp-single-article__reading-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .cp-single-article__rail {
    position: static;
    padding: .9rem 1rem;
    border-top: 0;
    border-left: 3px solid var(--cp-color-purple);
    background: rgb(255 255 255 / .62);
  }

  .single-post .cp-single-article__content {
    font-size: 1.03rem;
    line-height: 1.73;
  }

  .single-post .cp-single-article__content > p:first-child {
    font-size: 1.08rem;
  }

  .single-post .cp-single-article__content h2 {
    margin-top: 2.7rem;
    font-size: clamp(1.7rem, 7.4vw, 2.2rem);
  }
}


/* 0.9.163 — fechamento da publicação individual no desktop e navegação final limpa. */
@media (min-width: 901px) {
  .single-post .cp-single-article__hero--has-art {
    position: relative;
    aspect-ratio: 1916 / 821;
    min-height: 0;
    margin-bottom: 0;
    overflow: hidden;
    background: #0d1013;
  }

  .single-post .cp-single-article__hero--has-art .cp-single-article__hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .single-post .cp-single-article__hero--has-art .cp-single-article__hero-media picture,
  .single-post .cp-single-article__hero--has-art .cp-single-article__hero-media img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .single-post .cp-single-article__hero--has-art .cp-single-article__hero-media img {
    object-fit: contain;
    object-position: center center;
  }

  .single-post .cp-single-article__hero--has-art .cp-single-article__hero-inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
  }

  .single-post .cp-single-article__hero-copy {
    width: min(100%, 43rem);
    padding-block: clamp(1.25rem, 2.2vw, 2rem);
  }

  .single-post .cp-single-article__back {
    margin-bottom: .7rem;
  }

  .single-post .cp-single-article__hero .cp-eyebrow {
    margin-bottom: .55rem;
  }

  .single-post .cp-single-article__hero h1 {
    max-width: 10.75ch;
    font-size: clamp(2.4rem, 3.55vw, 4.15rem);
    line-height: .92;
  }

  .single-post .cp-single-article__dek {
    max-width: 39rem;
    margin-top: .75rem;
    font-size: clamp(.94rem, 1vw, 1.04rem);
    line-height: 1.5;
  }

  .single-post .cp-single-article__meta {
    margin-top: .7rem;
    font-size: .8rem;
  }
}

.single-post .cp-single-article__reading {
  padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

.single-post .cp-site-main--single + .cp-site-footer {
  margin-top: 0;
}

.single-post .cp-single-navigation-wrap {
  padding-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

/* 0.9.164 — Home dinâmica, editorial e orientada a ação. */
.cp-home164 {
  overflow: clip;
  background: #f5f3ee;
  color: var(--cp-color-ink);
}

.cp-home164-kicker {
  margin: 0 0 .8rem;
  color: var(--cp-color-purple);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.cp-home164-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 77% 26%, rgb(200 240 0 / 11%), transparent 24rem),
    radial-gradient(circle at 68% 76%, rgb(104 19 139 / 18%), transparent 22rem),
    #101214;
  color: #fff;
}

.cp-home164-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(200 240 0 / 60%), rgb(104 19 139 / 50%), transparent);
  content: "";
}

.cp-home164-hero__grid {
  display: grid;
  min-height: min(47rem, calc(100svh - 8rem));
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  padding-block: clamp(3.4rem, 6vw, 5.8rem);
}

.cp-home164-hero__copy {
  position: relative;
  z-index: 2;
}

.cp-home164-hero .cp-home164-kicker {
  color: var(--cp-color-lime);
}

.cp-home164-hero h1 {
  max-width: 11.5ch;
  margin: 0;
  color: #fff;
  font-size: clamp(3.25rem, 5.75vw, 6.3rem);
  line-height: .91;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.cp-home164-hero h1 span {
  display: block;
  margin-top: .14em;
  color: var(--cp-color-lime);
}

.cp-home164-hero__lead {
  max-width: 42rem;
  margin: 1.45rem 0 0;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(1rem, 1.35vw, 1.17rem);
  line-height: 1.68;
}

.cp-home164-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.35rem;
  margin-top: 1.8rem;
}

.cp-home164-text-link,
.cp-home164-card-link {
  color: var(--cp-color-ink);
  font-weight: 850;
  text-decoration: none;
}

.cp-home164-text-link {
  color: #fff;
}

.cp-home164-text-link:hover,
.cp-home164-text-link:focus-visible,
.cp-home164-card-link:hover,
.cp-home164-card-link:focus-visible {
  color: var(--cp-color-purple);
}

.cp-home164-text-link--light:hover,
.cp-home164-text-link--light:focus-visible {
  color: var(--cp-color-lime);
}

.cp-home164-hero__visual {
  position: relative;
  min-height: clamp(30rem, 43vw, 43rem);
  margin: 0;
}

.cp-home164-hero__visual::before {
  position: absolute;
  inset: 9% 2% 4% 10%;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 44% 44% 18% 18%;
  background:
    linear-gradient(145deg, rgb(255 255 255 / 8%), rgb(255 255 255 / 2%)),
    radial-gradient(circle at 54% 36%, rgb(200 240 0 / 10%), transparent 18rem);
  content: "";
}

.cp-home164-hero__visual img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  border-radius: 1.8rem;
  filter: saturate(.88) contrast(1.04);
  mask-image: linear-gradient(180deg, #000 0%, #000 89%, transparent 100%);
}

.cp-home164-hero__visual figcaption {
  position: absolute;
  z-index: 3;
  right: -.5rem;
  bottom: 2.2rem;
  display: grid;
  gap: .45rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 1rem;
  background: rgb(14 16 18 / 78%);
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 26%);
  backdrop-filter: blur(12px);
}

.cp-home164-hero__visual figcaption span {
  color: #fff;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cp-home164-hero__visual figcaption span::before {
  display: inline-block;
  width: .45rem;
  height: .45rem;
  margin-right: .6rem;
  border-radius: 50%;
  background: var(--cp-color-lime);
  content: "";
}

.cp-home164-now,
.cp-home164-routes,
.cp-home164-reading {
  padding-block: clamp(4rem, 7vw, 7rem);
}

.cp-home164-heading {
  max-width: 58rem;
  margin-bottom: clamp(2rem, 4vw, 3.4rem);
}

.cp-home164-heading--split {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .65fr);
  align-items: end;
  gap: 2rem 5rem;
}

.cp-home164-heading h2,
.cp-home164-public h2,
.cp-home164-lai h2,
.cp-home164-closing h2 {
  margin: 0;
  font-size: clamp(2.7rem, 5vw, 5.2rem);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.cp-home164-heading > p,
.cp-home164-heading--split > p {
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: 1.06rem;
  line-height: 1.68;
}

.cp-home164-now {
  background: #f5f3ee;
}

.cp-home164-now__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
  gap: clamp(1.3rem, 3vw, 2.2rem);
}

.cp-home164-feature {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(17 19 21 / 12%);
  border-radius: 1.65rem;
  background: #fff;
  box-shadow: 0 1.2rem 3.5rem rgb(17 19 21 / 7%);
}

.cp-home164-feature--dossie {
  grid-template-columns: minmax(16rem, .9fr) minmax(0, 1.1fr);
}

.cp-home164-feature__media {
  min-height: 25rem;
  overflow: hidden;
}

.cp-home164-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.cp-home164-feature:hover .cp-home164-feature__media img {
  transform: scale(1.025);
}

.cp-home164-feature__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.7rem, 3vw, 2.6rem);
}

.cp-home164-feature__type {
  margin: 0 0 .65rem;
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cp-home164-feature--dossie .cp-home164-feature__type {
  color: #5b6f00;
}

.cp-home164-status,
.cp-home164-post-cat {
  align-self: flex-start;
  margin-bottom: .9rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: #eff2e8;
  color: var(--cp-color-ink);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cp-home164-post-cat {
  background: rgb(104 19 139 / 8%);
  color: var(--cp-color-purple);
}

.cp-home164-feature h3 {
  margin: 0;
  font-size: clamp(1.8rem, 2.7vw, 3.1rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.cp-home164-feature h3 a,
.cp-home164-reading-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cp-home164-feature__body > p:not(.cp-home164-feature__type) {
  margin: 1rem 0 0;
  color: var(--cp-color-gray-700);
  line-height: 1.62;
}

.cp-home164-feature__meta {
  margin-top: 1rem;
  color: var(--cp-color-gray-600);
  font-size: .78rem;
}

.cp-home164-feature__meta a {
  color: inherit;
}

.cp-home164-feature .cp-home164-card-link {
  margin-top: 1.35rem;
}

.cp-home164-routes {
  position: relative;
  background: #fff;
}

.cp-home164-routes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgb(17 19 21 / 14%);
  border-bottom: 1px solid rgb(17 19 21 / 14%);
}

.cp-home164-route {
  position: relative;
  min-height: 21rem;
  padding: 1.5rem 1.4rem 1.7rem;
  border-right: 1px solid rgb(17 19 21 / 12%);
  color: var(--cp-color-ink);
  text-decoration: none;
  transition: background .25s ease, transform .25s ease;
}

.cp-home164-route:last-child {
  border-right: 0;
}

.cp-home164-route:hover,
.cp-home164-route:focus-visible {
  z-index: 2;
  background: #f4f2ec;
  transform: translateY(-.35rem);
}

.cp-home164-route--lai:hover,
.cp-home164-route--lai:focus-visible {
  background: rgb(104 19 139 / 7%);
}

.cp-home164-route__number {
  display: block;
  margin-bottom: 1.35rem;
  color: var(--cp-color-purple);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .1em;
}

.cp-home164-route--fiscal .cp-home164-route__number,
.cp-home164-route--public .cp-home164-route__number {
  color: #6f8400;
}

.cp-home164-route h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2vw, 2.1rem);
  letter-spacing: -.035em;
}

.cp-home164-route p {
  margin: .85rem 0 0;
  color: var(--cp-color-gray-700);
  line-height: 1.56;
}

.cp-home164-route b {
  position: absolute;
  bottom: 1.5rem;
  left: 1.4rem;
  font-size: .83rem;
}

.cp-home164-lai {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 56%, rgb(200 240 0 / 14%), transparent 20rem),
    linear-gradient(120deg, #150d1a 0%, #24112d 48%, #68138b 155%);
  color: #fff;
}

.cp-home164-lai::after {
  position: absolute;
  right: -7rem;
  bottom: -10rem;
  width: 32rem;
  height: 32rem;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
}

.cp-home164-lai__grid {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 32rem;
  grid-template-columns: minmax(16rem, .65fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 7rem);
  padding-block: clamp(4rem, 7vw, 6.5rem);
}

.cp-home164-lai__mark {
  display: grid;
  align-content: center;
  justify-items: start;
  font-weight: 950;
  letter-spacing: -.08em;
  line-height: .72;
  transform: rotate(-2deg);
}

.cp-home164-lai__mark span,
.cp-home164-lai__mark strong {
  font-size: clamp(5rem, 10vw, 9rem);
}

.cp-home164-lai__mark span {
  color: #fff;
}

.cp-home164-lai__mark strong {
  color: var(--cp-color-lime);
}

.cp-home164-lai__mark em {
  justify-self: end;
  margin-top: .45rem;
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.5rem);
  font-style: italic;
  letter-spacing: -.03em;
}

.cp-home164-lai .cp-home164-kicker {
  color: var(--cp-color-lime);
}

.cp-home164-lai h2 {
  color: #fff;
}

.cp-home164-lai__copy > p:not(.cp-home164-kicker) {
  max-width: 42rem;
  margin: 1.2rem 0 0;
  color: rgb(255 255 255 / 76%);
  font-size: 1.08rem;
  line-height: 1.68;
}

.cp-home164-public {
  background: var(--cp-color-lime);
}

.cp-home164-public__grid {
  display: grid;
  min-height: 26rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .7fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 8rem);
  padding-block: clamp(3.5rem, 6vw, 5.6rem);
}

.cp-home164-public .cp-home164-kicker {
  color: var(--cp-color-ink);
}

.cp-home164-public__copy p {
  margin: 0 0 1.4rem;
  font-size: clamp(1.08rem, 1.55vw, 1.3rem);
  line-height: 1.6;
}

.cp-home164-reading {
  background: #f5f3ee;
}

.cp-home164-reading__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.cp-home164-reading-card {
  overflow: hidden;
  border: 1px solid rgb(17 19 21 / 11%);
  border-radius: 1.4rem;
  background: #fff;
}

.cp-home164-reading-card__media {
  display: grid;
  aspect-ratio: 16 / 10;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 20%, rgb(200 240 0 / 25%), transparent 8rem),
    linear-gradient(145deg, #f0eee9, #ede7f0);
  color: var(--cp-color-purple);
  font-size: 3rem;
  font-weight: 900;
  text-decoration: none;
}

.cp-home164-reading-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.cp-home164-reading-card:hover img {
  transform: scale(1.025);
}

.cp-home164-reading-card__body {
  padding: 1.3rem 1.35rem 1.5rem;
}

.cp-home164-reading-card__body > p {
  margin: 0 0 .55rem;
  color: var(--cp-color-purple);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cp-home164-reading-card h3 {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.cp-home164-reading-card__body > div {
  margin-top: 1rem;
  color: var(--cp-color-gray-600);
  font-size: .75rem;
}

.cp-home164-reading-card__body > div a {
  color: inherit;
}

.cp-home164-closing {
  background: #17191b;
  color: #fff;
}

.cp-home164-closing__grid {
  display: grid;
  min-height: 26rem;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .65fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 8rem);
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

.cp-home164-closing .cp-home164-kicker {
  color: var(--cp-color-lime);
}

.cp-home164-closing h2 {
  color: #fff;
}

.cp-home164-closing__grid > div:last-child p {
  margin: 0 0 1.5rem;
  color: rgb(255 255 255 / 72%);
  font-size: 1.08rem;
  line-height: 1.64;
}

@media (max-width: 1100px) {
  .cp-home164-hero__grid,
  .cp-home164-now__grid,
  .cp-home164-public__grid,
  .cp-home164-closing__grid {
    grid-template-columns: 1fr 1fr;
  }

  .cp-home164-hero h1 {
    font-size: clamp(3rem, 6vw, 5rem);
  }

  .cp-home164-routes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-home164-route:nth-child(2) {
    border-right: 0;
  }

  .cp-home164-route:nth-child(-n+2) {
    border-bottom: 1px solid rgb(17 19 21 / 12%);
  }
}

@media (max-width: 820px) {
  .cp-home164-hero__grid,
  .cp-home164-heading--split,
  .cp-home164-now__grid,
  .cp-home164-lai__grid,
  .cp-home164-public__grid,
  .cp-home164-closing__grid {
    grid-template-columns: 1fr;
  }

  .cp-home164-hero__grid {
    min-height: 0;
    padding-bottom: 0;
  }

  .cp-home164-hero__copy {
    padding-bottom: 1rem;
  }

  .cp-home164-hero h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 11vw, 4.5rem);
  }

  .cp-home164-hero__visual {
    min-height: 29rem;
  }

  .cp-home164-hero__visual img {
    border-radius: 1.3rem 1.3rem 0 0;
    object-position: center 26%;
  }

  .cp-home164-hero__visual figcaption {
    right: var(--cp-gutter);
  }

  .cp-home164-feature--dossie {
    grid-template-columns: 1fr;
  }

  .cp-home164-feature__media {
    min-height: 19rem;
    aspect-ratio: 16 / 10;
  }

  .cp-home164-lai__grid {
    gap: 1.5rem;
  }

  .cp-home164-lai__mark {
    opacity: .88;
  }

  .cp-home164-reading__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cp-home164-now,
  .cp-home164-routes,
  .cp-home164-reading {
    padding-block: 3.4rem;
  }

  .cp-home164-hero__grid {
    padding-top: 2.8rem;
  }

  .cp-home164-hero__visual {
    min-height: 24rem;
  }

  .cp-home164-routes__grid {
    grid-template-columns: 1fr;
  }

  .cp-home164-route {
    min-height: 17rem;
    border-right: 0;
    border-bottom: 1px solid rgb(17 19 21 / 12%);
  }

  .cp-home164-route:last-child {
    border-bottom: 0;
  }

  .cp-home164-route__number {
    margin-bottom: 1rem;
  }

  .cp-home164-heading h2,
  .cp-home164-public h2,
  .cp-home164-lai h2,
  .cp-home164-closing h2 {
    font-size: clamp(2.5rem, 12vw, 3.9rem);
  }
}


/* 0.9.165 — Home: elimina respiros globais, recupera a imagem do dossiê e usa a marca real do Olha LAI. */
.cp-site-main.cp-home164 {
  padding-block: 0 !important;
}

.cp-site-main.cp-home164 + .cp-site-footer {
  margin-top: 0 !important;
}

.cp-home164 > :first-child {
  margin-top: 0 !important;
}

.cp-home164 > :last-child {
  margin-bottom: 0 !important;
}

.cp-home164-lai__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: none;
}

.cp-home164-lai__mark img {
  display: block;
  width: min(100%, 27rem);
  height: auto;
  max-height: 25rem;
  object-fit: contain;
  filter: drop-shadow(0 1.4rem 3rem rgb(0 0 0 / 18%));
}

@media (max-width: 820px) {
  .cp-home164-lai__mark {
    justify-content: flex-start;
  }

  .cp-home164-lai__mark img {
    width: min(72vw, 20rem);
    max-height: none;
  }
}


/* 0.9.166 — Home: hero institucional compacto + conteúdo vivo imediatamente abaixo. */
.cp-home164-hero__grid {
  min-height: min(40rem, calc(100svh - 7rem));
  gap: clamp(1.75rem, 4vw, 4rem);
  padding-block: clamp(2.5rem, 4.6vw, 4.1rem);
}

.cp-home164-hero h1 {
  font-size: clamp(3rem, 5.2vw, 5.75rem);
}

.cp-home164-hero__lead {
  margin-top: 1.15rem;
  line-height: 1.6;
}

.cp-home164-actions {
  margin-top: 1.4rem;
}

.cp-home164-hero__visual {
  min-height: clamp(26rem, 37vw, 35rem);
}

.cp-home164-now {
  padding-block: clamp(2.35rem, 3.8vw, 3.5rem);
}

.cp-home164-now .cp-home164-heading {
  margin-bottom: clamp(1.35rem, 2.5vw, 2rem);
}

.cp-home164-now .cp-home164-heading--split {
  grid-template-columns: minmax(0, .85fr) minmax(20rem, .55fr);
  align-items: end;
  gap: 1.2rem 4rem;
}

.cp-home164-now .cp-home164-heading h2 {
  font-size: clamp(2.2rem, 3.8vw, 3.7rem);
  line-height: .96;
}

.cp-home164-now .cp-home164-heading--split > p {
  max-width: 32rem;
  justify-self: end;
  font-size: .98rem;
  line-height: 1.58;
}

.cp-home164-now__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.cp-home164-feature,
.cp-home164-feature--dossie {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.cp-home164-feature__media {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #dedbd3, #efede8);
}

.cp-home164-feature__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cp-home164-feature--dossie .cp-home164-feature__media img {
  object-position: center 48%;
}

.cp-home164-feature__body {
  flex: 1 1 auto;
  justify-content: flex-start;
  padding: clamp(1.25rem, 2.2vw, 1.8rem);
}

.cp-home164-feature h3 {
  max-width: 18ch;
  font-size: clamp(1.65rem, 2.25vw, 2.55rem);
  line-height: .98;
}

.cp-home164-feature__body > p:not(.cp-home164-feature__type) {
  margin-top: .8rem;
  line-height: 1.55;
}

.cp-home164-feature .cp-home164-card-link {
  margin-top: auto;
  padding-top: 1.05rem;
}

/* Se ainda não houver imagem disponível, o card não ganha um vazio enorme. */
.cp-home164-feature--no-image .cp-home164-feature__body {
  min-height: 21rem;
}

/* Menos pausas verticais no restante da Home. */
.cp-home164-routes,
.cp-home164-reading {
  padding-block: clamp(3rem, 5vw, 4.75rem);
}

.cp-home164-lai__grid {
  min-height: 27rem;
  padding-block: clamp(3rem, 5vw, 4.6rem);
}

.cp-home164-public__grid,
.cp-home164-closing__grid {
  min-height: 22rem;
  padding-block: clamp(2.8rem, 4.6vw, 4.2rem);
}

@media (max-width: 820px) {
  .cp-home164-hero__grid {
    padding-top: 2.25rem;
  }

  .cp-home164-now {
    padding-block: 2.5rem;
  }

  .cp-home164-now .cp-home164-heading--split {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .cp-home164-now .cp-home164-heading--split > p {
    justify-self: start;
  }

  .cp-home164-now__grid {
    grid-template-columns: 1fr;
  }

  .cp-home164-feature--dossie {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cp-home164-hero__grid {
    padding-top: 2rem;
  }

  .cp-home164-now,
  .cp-home164-routes,
  .cp-home164-reading {
    padding-block: 2.6rem;
  }

  .cp-home164-now .cp-home164-heading h2 {
    font-size: clamp(2.1rem, 10vw, 3rem);
  }
}

/* 0.9.167 — Home: retrato editorial de liderança + retorno da equipe. */
.cp-home164-hero__grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(25rem, .88fr);
  gap: clamp(1.5rem, 3.2vw, 3.5rem);
}

.cp-home164-hero__visual {
  min-height: clamp(31rem, 38vw, 37rem);
  align-self: stretch;
}

.cp-home164-hero__visual::before {
  display: none;
}

.cp-home164-hero__visual::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  background:
    linear-gradient(90deg, #101214 0%, rgb(16 18 20 / 46%) 10%, transparent 28%),
    linear-gradient(180deg, transparent 68%, #101214 100%);
  content: "";
  pointer-events: none;
}

.cp-home164-hero__visual img {
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0;
  filter: grayscale(1) contrast(1.08) brightness(.96);
  mask-image: none;
}

.cp-home164-hero__visual figcaption {
  display: none;
}

.cp-home164-hero__copy::after {
  display: block;
  width: clamp(4rem, 8vw, 7rem);
  height: 2px;
  margin-top: 1.65rem;
  background: linear-gradient(90deg, var(--cp-color-lime), var(--cp-color-purple));
  content: "";
}

.cp-home164-team {
  padding-block: clamp(3.25rem, 5vw, 4.75rem) !important;
}

.cp-home164-team__heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(18rem, .62fr);
  align-items: end;
  gap: 1.5rem 4rem;
  margin-bottom: clamp(1.5rem, 2.8vw, 2.35rem);
}

.cp-home164-team__heading h2 {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.7rem, 4.8vw, 4.9rem);
  line-height: .94;
  letter-spacing: -.055em;
}

.cp-home164-team__intro {
  max-width: 31rem;
  justify-self: end;
}

.cp-home164-team__intro p {
  margin: 0 0 1rem;
  color: rgb(255 255 255 / 70%);
  line-height: 1.6;
}

.cp-home164-team .cp-team-grid {
  padding-top: 1.4rem;
}

.cp-home164-team .cp-team-card {
  border-radius: 1.25rem;
}

.cp-home164-team .cp-team-card--lead {
  max-width: 58rem;
}

@media (max-width: 1100px) {
  .cp-home164-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(21rem, .78fr);
  }

  .cp-home164-hero__visual {
    min-height: 31rem;
  }
}

@media (max-width: 820px) {
  .cp-home164-hero__grid,
  .cp-home164-team__heading {
    grid-template-columns: 1fr;
  }

  .cp-home164-hero__visual {
    min-height: 31rem;
    margin-top: .5rem;
  }

  .cp-home164-hero__visual img {
    object-fit: contain;
    object-position: center bottom;
    border-radius: 0;
  }

  .cp-home164-hero__visual::after {
    background: linear-gradient(180deg, transparent 72%, #101214 100%);
  }

  .cp-home164-team__intro {
    max-width: 38rem;
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .cp-home164-hero__visual {
    min-height: 27rem;
  }

  .cp-home164-team {
    padding-block: 2.8rem !important;
  }

  .cp-home164-team__heading h2 {
    font-size: clamp(2.5rem, 12vw, 3.7rem);
  }
}

/* 0.9.168 — Home: fotografia fundida ao Hero, sem moldura ou limite perceptível. */
.cp-home164-hero--integrated {
  min-height: clamp(36rem, 43vw, 47rem);
  background: #101214;
}

.cp-home164-hero--integrated .cp-home164-hero__backdrop {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  pointer-events: none;
}

.cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgb(10 12 14 / 26%) 0%, rgb(10 12 14 / 12%) 43%, transparent 66%),
    linear-gradient(180deg, rgb(10 12 14 / 4%) 0%, transparent 68%, rgb(10 12 14 / 24%) 100%);
  content: "";
}

.cp-home164-hero--integrated .cp-home164-hero__backdrop img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.cp-home164-hero--integrated .cp-home164-hero__grid {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: clamp(36rem, 43vw, 47rem);
  align-items: center;
  padding-block: clamp(3rem, 5vw, 4.75rem);
}

.cp-home164-hero--integrated .cp-home164-hero__copy {
  width: min(54rem, 54%);
  padding: clamp(.25rem, 1vw, 1rem) 0;
  text-shadow: 0 2px 18px rgb(0 0 0 / 26%);
}

.cp-home164-hero--integrated .cp-home164-hero__lead {
  max-width: 38rem;
}

.cp-home164-hero--integrated .cp-home164-hero__visual {
  display: none !important;
}

@media (max-width: 1100px) {
  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: min(39rem, 58%);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    object-position: 56% center;
  }
}

@media (max-width: 820px) {
  .cp-home164-hero--integrated {
    min-height: clamp(43rem, 165vw, 53rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background:
      linear-gradient(180deg, rgb(8 10 12 / 32%) 0%, rgb(8 10 12 / 15%) 45%, rgb(8 10 12 / 5%) 72%, rgb(8 10 12 / 24%) 100%),
      linear-gradient(90deg, rgb(8 10 12 / 18%) 0%, transparent 76%);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    object-position: center center;
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid {
    display: block;
    min-height: clamp(43rem, 165vw, 53rem);
    padding-top: clamp(2.2rem, 8vw, 3.2rem);
    padding-bottom: clamp(2rem, 7vw, 3rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: min(100%, 34rem);
    padding: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    max-width: 31rem;
  }
}

@media (max-width: 560px) {
  .cp-home164-hero--integrated {
    min-height: clamp(45rem, 188vw, 54rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid {
    min-height: clamp(45rem, 188vw, 54rem);
    padding-top: 2rem;
  }

  .cp-home164-hero--integrated h1 {
    max-width: 10.8ch;
    font-size: clamp(2.65rem, 11.7vw, 3.7rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    max-width: 29rem;
    font-size: .98rem;
    line-height: 1.55;
  }

  .cp-home164-hero--integrated .cp-home164-actions {
    gap: .75rem 1rem;
    margin-top: 1.15rem;
  }
}


/* 0.9.169 — continuidade editorial entre Hero e busca em Fiscalizações/Publicações. */
.cp-hub-more {
  padding-block: clamp(2.4rem, 4vw, 3.6rem);
  background: #f8f7f4;
}

.cp-hub-more--dossies {
  border-top: 1px solid rgb(17 19 21 / 6%);
  background: #f2f3f4;
}

.cp-hub-more--publicacoes {
  border-bottom: 1px solid rgb(17 19 21 / 7%);
}

.cp-hub-more__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, .5fr);
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: end;
  margin-bottom: clamp(1.4rem, 2.7vw, 2rem);
}

.cp-hub-more__header .cp-eyebrow {
  margin: 0 0 .42rem;
  color: var(--cp-color-purple);
}

.cp-hub-more__header h2 {
  margin: 0;
  font-size: clamp(2rem, 3.7vw, 3.35rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.cp-hub-more__header > p {
  max-width: 48ch;
  margin: 0;
  color: var(--cp-color-gray-700);
  line-height: 1.62;
}

.cp-hub-more__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.cp-hub-more__grid .cp-card {
  min-width: 0;
  background: #fff;
  box-shadow: 0 12px 32px rgb(17 19 21 / 5%);
}

.cp-hub-more__grid .cp-card__media {
  aspect-ratio: 16 / 9;
}

.cp-hub-more__grid .cp-card__title {
  font-size: clamp(1.3rem, 1.8vw, 1.65rem);
}

.cp-hub-more__grid .cp-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* O novo bloco e a busca funcionam como uma sequência única, sem respiro excessivo. */
.cp-hub-more--publicacoes + .cp-publicacoes-index,
.cp-hub-more--dossies + .cp-fiscalizacoes-search {
  padding-top: clamp(2.6rem, 4.2vw, 3.8rem);
}

@media (max-width: 980px) {
  .cp-hub-more__header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cp-hub-more__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .cp-hub-more {
    padding-block: 2rem;
  }

  .cp-hub-more__grid {
    grid-template-columns: 1fr;
  }
}

/* 0.9.170 — o bloco de continuidade também permite pré-visualizar rascunhos para editores. */
.cp-hub-more__grid {
  display: grid;
}

.cp-hub-more__editor-note {
  margin: 0;
  padding: 1.15rem 1.25rem;
  border: 1px dashed rgb(104 19 139 / 28%);
  border-radius: 1rem;
  background: rgb(255 255 255 / 70%);
  color: var(--cp-color-gray-700);
  line-height: 1.6;
}

.cp-card__editor-status {
  width: fit-content;
  margin: .15rem 0 .25rem;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: rgb(104 19 139 / 9%);
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}


/* 0.9.172 — blocos de continuidade em linguagem editorial/cinematográfica. */
.cp-hub-more {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3rem, 5vw, 4.8rem);
  background:
    radial-gradient(circle at 78% 12%, rgb(104 19 139 / 20%), transparent 28rem),
    radial-gradient(circle at 10% 100%, rgb(200 240 0 / 8%), transparent 22rem),
    #111315;
  color: #fff;
}

.cp-hub-more::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgb(255 255 255 / 2%), transparent 35%),
    repeating-linear-gradient(90deg, transparent 0 95px, rgb(255 255 255 / 1.5%) 96px);
  content: "";
}

.cp-hub-more > .cp-container {
  position: relative;
  z-index: 1;
}

.cp-hub-more--dossies,
.cp-hub-more--publicacoes {
  border-block: 1px solid rgb(255 255 255 / 7%);
  background:
    radial-gradient(circle at 82% 6%, rgb(104 19 139 / 18%), transparent 27rem),
    radial-gradient(circle at 8% 94%, rgb(200 240 0 / 7%), transparent 20rem),
    #111315;
}

.cp-hub-more__header {
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .55fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: end;
  margin-bottom: clamp(1.8rem, 3.5vw, 2.8rem);
}

.cp-hub-more__header .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-hub-more--publicacoes .cp-hub-more__header .cp-eyebrow {
  color: #d795ee;
}

.cp-hub-more__header h2 {
  max-width: 12ch;
  color: #fff;
  font-size: clamp(2.7rem, 5.2vw, 5rem);
  line-height: .9;
  letter-spacing: -.065em;
}

.cp-hub-more__header > p {
  max-width: 39ch;
  color: rgb(255 255 255 / 66%);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.55;
}

/*
 * 1 peça principal + 2 peças laterais. Quando houver só uma publicação/dossiê,
 * ela ocupa a largura inteira e deixa de parecer um card solto no vazio.
 */
.cp-hub-more__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .85fr);
  grid-template-rows: repeat(2, minmax(13.5rem, 1fr));
  gap: clamp(.8rem, 1.4vw, 1.15rem);
}

.cp-hub-more__grid .cp-card {
  position: relative;
  min-height: 14rem;
  overflow: hidden;
  border: 0;
  border-radius: clamp(1rem, 1.4vw, 1.35rem);
  background: #17191b;
  color: #fff;
  box-shadow: 0 24px 60px rgb(0 0 0 / 28%);
  isolation: isolate;
}

.cp-hub-more__grid .cp-card:first-child {
  grid-row: 1 / span 2;
  min-height: clamp(29rem, 38vw, 37rem);
}

.cp-hub-more__grid .cp-card:only-child {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  min-height: clamp(27rem, 42vw, 38rem);
}

.cp-hub-more__grid .cp-card:nth-child(2),
.cp-hub-more__grid .cp-card:nth-child(3) {
  min-height: 0;
}

.cp-hub-more__grid .cp-card:hover,
.cp-hub-more__grid .cp-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 30px 70px rgb(0 0 0 / 38%);
}

.cp-hub-more__grid .cp-card__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  background: #202326;
}

.cp-hub-more__grid .cp-card__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(7 8 9 / 6%) 0%, rgb(7 8 9 / 20%) 35%, rgb(7 8 9 / 92%) 100%),
    linear-gradient(90deg, rgb(7 8 9 / 24%), transparent 58%);
  content: "";
}

.cp-hub-more__grid .cp-card:first-child .cp-card__media::after,
.cp-hub-more__grid .cp-card:only-child .cp-card__media::after {
  background:
    linear-gradient(180deg, rgb(7 8 9 / 0%) 10%, rgb(7 8 9 / 12%) 38%, rgb(7 8 9 / 92%) 100%),
    linear-gradient(90deg, rgb(7 8 9 / 30%) 0%, transparent 68%);
}

.cp-hub-more__grid .cp-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.86) contrast(1.04);
  transform: scale(1.001);
  transition: transform 700ms cubic-bezier(.2,.7,.2,1), filter 500ms ease;
}

.cp-hub-more__grid .cp-card:hover .cp-card__media img,
.cp-hub-more__grid .cp-card:focus-within .cp-card__media img {
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.035);
}

.cp-hub-more__grid .cp-card__placeholder {
  background:
    radial-gradient(circle at 80% 20%, rgb(104 19 139 / 32%), transparent 46%),
    linear-gradient(135deg, rgb(200 240 0 / 12%), transparent 60%),
    #202326;
}

.cp-hub-more__grid .cp-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100%;
  margin: 0;
  padding: clamp(1.25rem, 2.4vw, 2rem);
  flex-direction: column;
  justify-content: flex-end;
}

.cp-hub-more__grid .cp-card:first-child .cp-card__body,
.cp-hub-more__grid .cp-card:only-child .cp-card__body {
  max-width: 46rem;
  padding: clamp(1.6rem, 3.2vw, 2.75rem);
}

.cp-hub-more__grid .cp-card__meta,
.cp-hub-more__grid .cp-card__byline,
.cp-hub-more__grid .cp-card__excerpt {
  color: rgb(255 255 255 / 70%);
}

.cp-hub-more__grid .cp-card__meta {
  margin-bottom: .55rem;
  font-size: .68rem;
  letter-spacing: .08em;
}

.cp-hub-more__grid .cp-card__byline {
  margin: 0 0 .35rem;
  font-size: .82rem;
}

.cp-hub-more__grid .cp-card__byline a {
  color: #fff;
}

.cp-hub-more__grid .cp-card__badges,
.cp-hub-more__grid .cp-badges {
  margin-bottom: .5rem;
}

.cp-hub-more__grid .cp-badge,
.cp-hub-more__grid .cp-status,
.cp-hub-more__grid .cp-card__editor-status {
  border: 1px solid rgb(255 255 255 / 14%);
  background: rgb(13 14 15 / 52%);
  color: #fff;
  backdrop-filter: blur(10px);
}

.cp-hub-more__grid .cp-card__title {
  max-width: 24ch;
  margin: .35rem 0 .5rem;
  color: #fff;
  font-size: clamp(1.35rem, 1.8vw, 1.8rem);
  line-height: 1.03;
  letter-spacing: -.035em;
}

.cp-hub-more__grid .cp-card:first-child .cp-card__title,
.cp-hub-more__grid .cp-card:only-child .cp-card__title {
  max-width: 17ch;
  font-size: clamp(2rem, 3.4vw, 3.65rem);
  line-height: .96;
  letter-spacing: -.055em;
}

.cp-hub-more__grid .cp-card__title a {
  color: inherit;
}

.cp-hub-more__grid .cp-card__excerpt {
  display: none;
  max-width: 48ch;
  margin: .25rem 0 0;
  font-size: .95rem;
  line-height: 1.5;
}

.cp-hub-more__grid .cp-card:first-child .cp-card__excerpt,
.cp-hub-more__grid .cp-card:only-child .cp-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cp-hub-more__grid .cp-card__footer {
  margin-top: .5rem;
  padding-top: 0;
}

.cp-hub-more__grid .cp-card__link {
  color: var(--cp-color-lime);
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .03em;
  text-decoration: none;
  text-transform: uppercase;
}

.cp-hub-more--publicacoes .cp-hub-more__grid .cp-card__link {
  color: #dfadf0;
}

.cp-hub-more__grid .cp-card__link span {
  transition: transform 180ms ease;
}

.cp-hub-more__grid .cp-card:hover .cp-card__link span,
.cp-hub-more__grid .cp-card:focus-within .cp-card__link span {
  transform: translateX(.22rem);
}

.cp-hub-more__editor-note {
  border-color: rgb(255 255 255 / 18%);
  background: rgb(255 255 255 / 5%);
  color: rgb(255 255 255 / 70%);
}

/* Transição curta para o arquivo/busca: o bloco escuro termina e a consulta respira. */
.cp-hub-more--publicacoes + .cp-publicacoes-index,
.cp-hub-more--dossies + .cp-fiscalizacoes-search {
  padding-top: clamp(3rem, 5vw, 4.5rem);
}

@media (max-width: 980px) {
  .cp-hub-more__header {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .cp-hub-more__header h2 {
    max-width: 16ch;
  }

  .cp-hub-more__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .cp-hub-more__grid .cp-card:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: clamp(25rem, 58vw, 34rem);
  }

  .cp-hub-more__grid .cp-card:only-child {
    min-height: clamp(25rem, 62vw, 34rem);
  }

  .cp-hub-more__grid .cp-card:nth-child(2),
  .cp-hub-more__grid .cp-card:nth-child(3) {
    min-height: 19rem;
  }
}

@media (max-width: 680px) {
  .cp-hub-more {
    padding-block: 2.5rem;
  }

  .cp-hub-more__header h2 {
    font-size: clamp(2.45rem, 12vw, 3.7rem);
  }

  .cp-hub-more__grid {
    grid-template-columns: 1fr;
  }

  .cp-hub-more__grid .cp-card:first-child,
  .cp-hub-more__grid .cp-card:only-child,
  .cp-hub-more__grid .cp-card:nth-child(2),
  .cp-hub-more__grid .cp-card:nth-child(3) {
    grid-column: auto;
    min-height: clamp(22rem, 112vw, 30rem);
  }

  .cp-hub-more__grid .cp-card__body,
  .cp-hub-more__grid .cp-card:first-child .cp-card__body,
  .cp-hub-more__grid .cp-card:only-child .cp-card__body {
    padding: 1.35rem;
  }

  .cp-hub-more__grid .cp-card__title,
  .cp-hub-more__grid .cp-card:first-child .cp-card__title,
  .cp-hub-more__grid .cp-card:only-child .cp-card__title {
    max-width: 20ch;
    font-size: clamp(1.65rem, 8.2vw, 2.45rem);
    line-height: .98;
  }

  .cp-hub-more__grid .cp-card__excerpt,
  .cp-hub-more__grid .cp-card:first-child .cp-card__excerpt,
  .cp-hub-more__grid .cp-card:only-child .cp-card__excerpt {
    display: none;
  }
}

/* 0.9.172 — ponte automática entre matéria e dossiê relacionados. */
.cp-related-bridge {
  margin-block: clamp(2rem, 4vw, 3.5rem);
}

.cp-related-bridge--article {
  margin-top: clamp(1rem, 2vw, 1.8rem);
  padding-block: clamp(2.2rem, 4vw, 3.5rem);
  background:
    radial-gradient(circle at 85% 15%, rgb(104 19 139 / 16%), transparent 22rem),
    #141617;
  color: #fff;
}

.cp-related-bridge__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}

.cp-related-bridge__inner > div {
  max-width: 52rem;
}

.cp-related-bridge .cp-eyebrow {
  margin: 0 0 .45rem;
  color: var(--cp-color-lime-deep);
}

.cp-related-bridge--article .cp-eyebrow {
  color: var(--cp-color-lime);
}

.cp-related-bridge h2 {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.cp-related-bridge p:last-child {
  max-width: 62ch;
  margin: .75rem 0 0;
  color: var(--cp-color-gray-700);
  line-height: 1.6;
}

.cp-related-bridge--article p:last-child {
  color: rgb(255 255 255 / 68%);
}

.cp-related-bridge--dossie {
  padding: clamp(1.35rem, 2.8vw, 2rem);
  border: 1px solid rgb(104 19 139 / 13%);
  border-radius: 1.35rem;
  background:
    linear-gradient(135deg, rgb(104 19 139 / 5%), transparent 45%),
    #fff;
  box-shadow: 0 16px 42px rgb(30 12 43 / 5%);
}

.cp-related-bridge .cp-button {
  white-space: nowrap;
}

@media (max-width: 780px) {
  .cp-related-bridge__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cp-related-bridge .cp-button {
    width: fit-content;
  }
}


/* 0.9.174 — texto editorial separado da arte: a imagem não carrega manchete embutida. */
.cp-hub-more__grid .cp-card--editorial .cp-card__editorial-eyebrow {
  width: fit-content;
  margin: 0 0 .75rem;
  padding: .38rem .66rem;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: .32rem;
  background: rgb(104 19 139 / 86%);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .075em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 8px 28px rgb(0 0 0 / 18%);
}

.cp-hub-more__grid .cp-card--editorial-lime .cp-editorial-accent {
  color: var(--cp-color-lime);
}

.cp-hub-more__grid .cp-card--title-uppercase .cp-card__title {
  text-transform: uppercase;
}

.cp-hub-more__grid .cp-card--editorial-lime .cp-card__title {
  max-width: 16ch;
  text-shadow: 0 3px 18px rgb(0 0 0 / 34%);
}

.cp-hub-more__grid .cp-card--editorial-lime .cp-card__excerpt {
  color: rgb(255 255 255 / 86%);
  text-shadow: 0 2px 12px rgb(0 0 0 / 28%);
}

.cp-hub-more__grid .cp-card--editorial-lime .cp-card__link {
  color: var(--cp-color-lime);
}

.cp-single-article__hero--editorial-lime .cp-editorial-accent {
  color: var(--cp-color-lime);
}

.cp-single-article__hero--title-uppercase h1 {
  text-transform: uppercase;
}

.cp-single-article__hero--editorial-lime h1 {
  max-width: 13.5ch;
  text-shadow: 0 4px 24px rgb(0 0 0 / 42%);
}

.cp-single-article__hero--editorial-lime .cp-single-article__dek {
  color: rgb(255 255 255 / 90%);
  text-shadow: 0 2px 14px rgb(0 0 0 / 34%);
}

@media (max-width: 900px) {
  .cp-single-article__hero--editorial-lime h1 {
    color: var(--cp-color-ink);
    text-shadow: none;
  }

  .cp-single-article__hero--editorial-lime .cp-single-article__dek {
    color: var(--cp-color-gray-800);
    text-shadow: none;
  }
}


/* 0.9.175 — correção de regressão 0.9.174 e restauração do bloco editorial aprovado. */
.cp-hub-more__header {
  display: block;
}

.cp-hub-more__header > p {
  display: none !important;
}

.cp-hub-more__grid--count-2 {
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .9fr);
  grid-template-rows: minmax(24rem, 1fr);
}

.cp-hub-more__grid--count-2 .cp-card:first-child,
.cp-hub-more__grid--count-2 .cp-card:nth-child(2) {
  grid-row: 1;
  min-height: clamp(24rem, 34vw, 31rem);
}

.cp-hub-more__grid .cp-card {
  border: 1px solid rgb(255 255 255 / 10%);
}

.cp-hub-more__grid .cp-card__media img {
  filter: saturate(.92) contrast(1.08) brightness(.94);
}

.cp-hub-more__grid .cp-card:hover .cp-card__media img,
.cp-hub-more__grid .cp-card:focus-within .cp-card__media img {
  filter: saturate(1) contrast(1.08) brightness(.98);
}

@media (max-width: 980px) {
  .cp-hub-more__grid--count-2 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
}

@media (max-width: 680px) {
  .cp-hub-more__grid--count-2 {
    grid-template-columns: 1fr;
  }

  .cp-hub-more__grid--count-2 .cp-card:first-child,
  .cp-hub-more__grid--count-2 .cp-card:nth-child(2) {
    grid-row: auto;
  }
}

/* 0.9.176 — contraste editorial em Publicações e hero individual sem faixa intermediária. */
.cp-hub-more--publicacoes {
  border-block-color: rgb(17 19 21 / 8%);
  background:
    radial-gradient(circle at 88% 8%, rgb(104 19 139 / 7%), transparent 25rem),
    radial-gradient(circle at 8% 92%, rgb(200 240 0 / 8%), transparent 19rem),
    #f4f3ef;
  color: var(--cp-color-ink);
}

.cp-hub-more--publicacoes::before {
  background:
    linear-gradient(120deg, rgb(255 255 255 / 48%), transparent 34%),
    repeating-linear-gradient(90deg, transparent 0 95px, rgb(17 19 21 / 1.5%) 96px);
}

.cp-hub-more--publicacoes .cp-hub-more__header h2 {
  color: var(--cp-color-ink);
}

.cp-hub-more--publicacoes .cp-hub-more__header .cp-eyebrow {
  color: var(--cp-color-purple);
}

.cp-hub-more--publicacoes .cp-hub-more__grid .cp-card {
  border-color: rgb(17 19 21 / 9%);
  box-shadow: 0 22px 54px rgb(17 19 21 / 15%);
}

.cp-hub-more--publicacoes .cp-hub-more__editor-note {
  border-color: rgb(104 19 139 / 22%);
  background: rgb(255 255 255 / 72%);
  color: var(--cp-color-gray-700);
}

/* O hero da matéria começa imediatamente após o cabeçalho. */
.single-post .cp-site-main--single,
.single-post .cp-site-main:not(.cp-site-main--front):not(.cp-site-main--dossie).cp-site-main--single {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (min-width: 901px) {
  /* Mais largura para a manchete: menos quebras e melhor ocupação horizontal da arte. */
  .single-post .cp-single-article__hero-copy {
    width: min(46vw, 49rem);
    max-width: none;
    padding-block: clamp(1.2rem, 2vw, 1.85rem);
  }

  .single-post .cp-single-article__hero h1,
  .single-post .cp-single-article__hero--editorial-lime h1 {
    max-width: 14.75ch;
    font-size: clamp(2.35rem, 3.15vw, 3.95rem);
    line-height: .94;
    letter-spacing: -.052em;
    text-wrap: balance;
  }

  .single-post .cp-single-article__dek,
  .single-post .cp-single-article__hero--editorial-lime .cp-single-article__dek {
    max-width: 45rem;
    margin-top: .85rem;
    font-size: clamp(.95rem, 1.02vw, 1.07rem);
    line-height: 1.52;
  }
}


/* 0.9.178 — heros individuais: manchete mais horizontal e arte ultrawide sem letterbox. */
@media (min-width: 901px) {
  .single-post .cp-single-article__hero-copy {
    width: min(59vw, 63rem);
    max-width: none;
    padding-block: clamp(1.15rem, 1.85vw, 1.75rem);
  }

  .single-post .cp-single-article__hero h1,
  .single-post .cp-single-article__hero--editorial-lime h1 {
    max-width: 18ch;
    font-size: clamp(2.25rem, 2.9vw, 3.75rem);
    line-height: .94;
    letter-spacing: -.052em;
    text-wrap: balance;
  }

  .single-post .cp-single-article__dek,
  .single-post .cp-single-article__hero--editorial-lime .cp-single-article__dek {
    max-width: 52rem;
  }

  /* Artes muito largas (como Plano Diretor 3:1) usam sua proporção real.
     Isso elimina a faixa preta criada anteriormente pelo object-fit: contain. */
  .single-post .cp-single-article__hero--has-art.cp-single-article__hero--ultrawide {
    aspect-ratio: var(--cp-hero-aspect, 3 / 1);
  }

  .single-post .cp-single-article__hero--has-art.cp-single-article__hero--ultrawide .cp-single-article__hero-media img {
    object-fit: cover;
    object-position: center center;
  }
}


/* 0.9.179 — Plano Diretor / artes ultrawide: manchete realmente horizontal. */
@media (min-width: 901px) {
  .single-post .cp-single-article__hero--ultrawide .cp-single-article__hero-copy {
    width: min(68vw, 72rem);
    max-width: none;
  }

  .single-post .cp-single-article__hero--ultrawide h1,
  .single-post .cp-single-article__hero--ultrawide.cp-single-article__hero--editorial-lime h1 {
    width: min(100%, 62rem);
    max-width: 23ch;
    font-size: clamp(2.45rem, 3.15vw, 4.05rem);
    line-height: .94;
    text-wrap: pretty;
  }

  .single-post .cp-single-article__hero--ultrawide .cp-single-article__dek {
    max-width: 59rem;
  }
}


/* 0.9.180 — padronização tipográfica das manchetes editoriais. */
.single-post .cp-single-article__hero h1,
.single-post .cp-single-article__hero--editorial-lime h1 {
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  font-variation-settings: "wght" 900;
}

/* Os cards usam a mesma voz tipográfica das páginas individuais. */
.cp-hub-more--publicacoes .cp-card__title,
.cp-publicacoes-grid .cp-card__title {
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  font-variation-settings: "wght" 900;
}

/* Destaques editoriais permanecem em verde-limão. */
.single-post .cp-single-article__hero .cp-editorial-accent,
.cp-hub-more--publicacoes .cp-editorial-accent,
.cp-publicacoes-grid .cp-editorial-accent {
  color: var(--cp-color-lime);
}

/* 0.9.181 — unificação visual das manchetes editoriais das matérias. */
.single-post .cp-single-article__hero h1,
.single-post .cp-single-article__hero--editorial-lime h1 {
  text-transform: uppercase;
}

/* Cards editoriais de Publicações seguem a mesma linguagem visual. */
.cp-hub-more--publicacoes .cp-card__title,
.cp-publicacoes-grid .cp-card__title {
  text-transform: uppercase;
}


/* 0.9.184 — Fiscalizações: acentos editoriais e vínculo matéria ↔ dossiê. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-hero h1 .cp-editorial-accent,
.cp-hub-more--dossies .cp-card__title .cp-editorial-accent,
.cp-fiscalizacoes-grid .cp-card__title .cp-editorial-accent {
  color: var(--cp-color-lime);
}

.cp-hub-more--dossies .cp-hub-more__grid .cp-card__body {
  justify-content: center;
}

.cp-hub-more--dossies .cp-hub-more__grid .cp-card:first-child .cp-card__body,
.cp-hub-more--dossies .cp-hub-more__grid .cp-card:only-child .cp-card__body {
  padding-top: clamp(1.5rem, 2.5vw, 2.25rem);
  padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
}

.cp-hub-more--dossies .cp-card__title {
  margin-top: .2rem;
}


/* 0.9.185 — Fiscalizações: card dos dossiês sobe o foco e títulos recebem o verde editorial. */
.cp-hub-more--dossies .cp-hub-more__grid .cp-card__body {
  justify-content: flex-start;
  padding-top: clamp(1.9rem, 3vw, 2.75rem);
}

.cp-hub-more--dossies .cp-hub-more__grid .cp-card:first-child .cp-card__body,
.cp-hub-more--dossies .cp-hub-more__grid .cp-card:only-child .cp-card__body {
  justify-content: flex-start;
  padding-top: clamp(2.2rem, 4vw, 3.25rem);
}

.cp-hub-more--dossies .cp-card:first-child .cp-card__title,
.cp-hub-more--dossies .cp-card:only-child .cp-card__title {
  max-width: 20ch;
}

.cp-hub-more--dossies .cp-card__title .cp-editorial-accent,
.cp-fiscalizacoes-grid .cp-card__title .cp-editorial-accent,
.cp-site-main--dossie .cp-dossie-cover h1 .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

.cp-site-main--dossie .cp-dossie-cover__actions {
  margin-top: .4rem;
}

.cp-site-main--dossie .cp-dossie-cover__actions .cp-button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}


/* 0.9.187 — regra tipográfica global sem alterar escala/composição aprovada. */
:where(
  .cp-hub-more--publicacoes .cp-card__title,
  .cp-publicacoes-grid .cp-card__title,
  .cp-hub-more--dossies .cp-card__title,
  .cp-fiscalizacoes-grid .cp-card__title,
  .cp-fiscalizacoes-featured__card h3,
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero h1,
  .single-post .cp-single-article__hero h1,
  .cp-site-main--dossie .cp-dossie-cover h1
) {
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 900 !important;
  font-variation-settings: "wght" 900;
  text-transform: uppercase;
}

/* O hero principal de Fiscalizações mantém a escala editorial anterior.
   A caixa alta não pode transformar o destaque em um paredão tipográfico. */
@media (min-width: 1101px) {
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1 {
    max-width: 12.5ch;
    font-size: clamp(2.75rem, 4.65vw, 4.75rem);
    line-height: .92;
    letter-spacing: -.055em;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1 {
    font-size: clamp(2.65rem, 4.8vw, 4.25rem);
    letter-spacing: -.05em;
  }
}

/* O nome completo do caso em destaque é a unidade verde. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-hero h1 .cp-editorial-accent,
.cp-hub-more--dossies .cp-card__title .cp-editorial-accent,
.cp-fiscalizacoes-grid .cp-card__title .cp-editorial-accent,
.cp-site-main--dossie .cp-dossie-cover h1 .cp-editorial-accent,
.single-post .cp-single-article__hero h1 .cp-editorial-accent,
.cp-hub-more--publicacoes .cp-card__title .cp-editorial-accent,
.cp-publicacoes-grid .cp-card__title .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

/* Fiscalizações: o segundo bloco volta a ser claro, como aprovado,
   para separar visualmente o hero dos cards de continuidade. */
.cp-fiscalizacoes-archive .cp-hub-more--dossies,
.cp-fiscalizacoes-page .cp-hub-more--dossies {
  border-block-color: rgb(17 19 21 / 8%);
  background:
    radial-gradient(circle at 88% 8%, rgb(104 19 139 / 6%), transparent 25rem),
    radial-gradient(circle at 8% 92%, rgb(200 240 0 / 8%), transparent 19rem),
    #f4f3ef;
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-archive .cp-hub-more--dossies::before,
.cp-fiscalizacoes-page .cp-hub-more--dossies::before {
  background:
    linear-gradient(120deg, rgb(255 255 255 / 45%), transparent 34%),
    repeating-linear-gradient(90deg, transparent 0 95px, rgb(17 19 21 / 1.5%) 96px);
}

.cp-fiscalizacoes-archive .cp-hub-more--dossies .cp-hub-more__header h2,
.cp-fiscalizacoes-page .cp-hub-more--dossies .cp-hub-more__header h2 {
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-archive .cp-hub-more--dossies .cp-hub-more__header .cp-eyebrow,
.cp-fiscalizacoes-page .cp-hub-more--dossies .cp-hub-more__header .cp-eyebrow {
  color: var(--cp-color-purple);
}

.cp-fiscalizacoes-archive .cp-hub-more--dossies .cp-card,
.cp-fiscalizacoes-page .cp-hub-more--dossies .cp-card {
  border-color: rgb(17 19 21 / 9%);
  box-shadow: 0 22px 54px rgb(17 19 21 / 15%);
}

/* 0.9.191 — hero principal do HCR com quebra exata em quatro linhas. */
.cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1.cp-title-hcr {
  max-width: none;
  font-size: clamp(2.2rem, 2.8vw, 3rem);
  line-height: .92;
  letter-spacing: -.045em;
}

.cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1.cp-title-hcr .cp-hcr-line {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1.cp-title-hcr .cp-hcr-line {
    white-space: normal;
  }
}


/* 0.9.192 — Dossiês: títulos do hero com escala mais eficiente e melhor aproveitamento de largura. */
.cp-site-main--dossie .cp-dossie-cover h1 {
  max-width: 16ch;
  font-size: clamp(2.6rem, 4.9vw, 5rem);
  line-height: .94;
  letter-spacing: -.055em;
}

@media (max-width: 900px) {
  .cp-site-main--dossie .cp-dossie-cover h1 {
    max-width: 15ch;
    font-size: clamp(2.35rem, 6.8vw, 4rem);
  }
}

@media (max-width: 600px) {
  .cp-site-main--dossie .cp-dossie-cover h1 {
    max-width: 14ch;
    font-size: clamp(2.15rem, 10.2vw, 3.35rem);
    line-height: .96;
  }
}


/* 0.9.193 — Dossiês: títulos menores para aproveitar melhor o hero. */
.cp-site-main--dossie .cp-dossie-cover h1 {
  max-width: 18ch;
  font-size: clamp(2.3rem, 4.15vw, 4.5rem);
  line-height: .95;
  letter-spacing: -.05em;
}

@media (max-width: 900px) {
  .cp-site-main--dossie .cp-dossie-cover h1 {
    max-width: 16ch;
    font-size: clamp(2.2rem, 6vw, 3.85rem);
    line-height: .96;
  }
}

@media (max-width: 600px) {
  .cp-site-main--dossie .cp-dossie-cover h1 {
    max-width: 14ch;
    font-size: clamp(2rem, 9.4vw, 3.15rem);
  }
}


/* 0.9.194 — Dossiê HCR: quebra editorial para ocupar melhor a largura do hero. */
.cp-site-main--dossie .cp-dossie-cover h1.cp-dossie-title--hospital {
  max-width: 22ch;
}

.cp-site-main--dossie .cp-dossie-cover h1.cp-dossie-title--hospital .cp-dossie-title-line {
  display: block;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .cp-site-main--dossie .cp-dossie-cover h1.cp-dossie-title--hospital {
    max-width: 100%;
  }

  .cp-site-main--dossie .cp-dossie-cover h1.cp-dossie-title--hospital .cp-dossie-title-line {
    white-space: normal;
  }
}


/* 0.9.198 — Publicações: títulos muito longos usam melhor a largura sem alterar matérias já aprovadas. */
@media (min-width: 901px) {
  .single-post .cp-single-article__hero--long-title .cp-single-article__hero-copy {
    width: min(68vw, 76rem);
    max-width: none;
  }

  .single-post .cp-single-article__hero--long-title h1,
  .single-post .cp-single-article__hero--long-title.cp-single-article__hero--editorial-lime h1 {
    width: min(100%, 70rem);
    max-width: 28ch;
    font-size: clamp(2.05rem, 2.55vw, 3.35rem);
    line-height: .95;
    letter-spacing: -.048em;
    text-wrap: pretty;
  }

  .single-post .cp-single-article__hero--long-title .cp-single-article__dek {
    max-width: 62rem;
  }
}

@media (max-width: 900px) {
  .single-post .cp-single-article__hero--long-title h1 {
    font-size: clamp(2rem, 7.6vw, 3rem);
    line-height: .96;
  }
}

/* Cards longos: mais contraste e menos paredes de texto. */
.cp-hub-more--publicacoes .cp-card--long-title .cp-card__media::after {
  background:
    linear-gradient(180deg, rgb(7 8 9 / 12%) 0%, rgb(7 8 9 / 36%) 30%, rgb(7 8 9 / 95%) 100%),
    linear-gradient(90deg, rgb(7 8 9 / 48%) 0%, rgb(7 8 9 / 18%) 70%, transparent 100%);
}

.cp-hub-more--publicacoes .cp-card--long-title:first-child .cp-card__title,
.cp-hub-more--publicacoes .cp-card--long-title:only-child .cp-card__title {
  max-width: 22ch;
  font-size: clamp(1.8rem, 2.75vw, 2.9rem);
  line-height: .98;
}

.cp-hub-more--publicacoes .cp-card--long-title:not(:first-child) .cp-card__title {
  max-width: 23ch;
  font-size: clamp(1.2rem, 1.55vw, 1.55rem);
  line-height: 1;
}


/* 0.9.199 — Publicações: tipografia editorial no hub; matéria individual recebe apenas o acento verde. */
@media (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story-content {
    padding-right: clamp(20rem, 24vw, 22rem);
  }

  .cp-publicacoes-home .cp-publicacoes-hero__story h1 {
    max-width: 15ch;
    font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(2.3rem, 3.25vw, 3.9rem);
    font-weight: 900;
    font-variation-settings: "wght" 900;
    line-height: .93;
    letter-spacing: -.052em;
    text-transform: uppercase;
    text-wrap: pretty;
  }
}

.cp-publicacoes-home .cp-publicacoes-hero__story h1 .cp-editorial-accent,
.cp-publicacoes-home .cp-publicacoes-hero__story h1 a .cp-editorial-accent,
.single-post .cp-single-article__hero h1 .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

@media (max-width: 900px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
    font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 900;
    font-variation-settings: "wght" 900;
    text-transform: uppercase;
  }
}


/* 0.9.200 — Matérias: descrição alinhada à mesma largura editorial do título. */
@media (min-width: 901px) {
  .single-post .cp-single-article__hero--long-title h1,
  .single-post .cp-single-article__hero--long-title.cp-single-article__hero--editorial-lime h1,
  .single-post .cp-single-article__hero--long-title .cp-single-article__dek {
    width: min(100%, 52rem);
    max-width: 52rem;
  }
}

/* 0.9.201 — Publicações: título do hero usa melhor a largura disponível. */
@media (min-width: 1101px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
    width: min(100%, 21ch);
    max-width: 21ch;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__story h1,
  .cp-publicacoes-home .cp-publicacoes-hero__story h1 a {
    width: min(100%, 18ch);
    max-width: 18ch;
  }
}

/* 0.9.204 — Home usa o mesmo componente estrutural de card das páginas de origem. */
.cp-home164-now__grid--shared-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.cp-home164-now__grid--shared-cards .cp-card {
  min-width: 0;
  min-height: 100%;
  border-color: rgb(17 19 21 / 10%);
  border-radius: 1.35rem;
  box-shadow: 0 1.2rem 3.5rem rgb(17 19 21 / 9%);
}

.cp-home164-now__grid--shared-cards .cp-card__media {
  aspect-ratio: 16 / 9;
}

.cp-home164-now__grid--shared-cards .cp-card__body {
  margin-inline: 0;
  padding: clamp(1.2rem, 2vw, 1.65rem);
}

.cp-home164-now__grid--shared-cards .cp-card__title {
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  font-variation-settings: "wght" 900;
  text-transform: uppercase;
}

.cp-home164-now__grid--shared-cards .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

.cp-home164-highlight-note {
  margin: 0;
  padding: 1rem 1.15rem;
  border: 1px dashed rgb(17 19 21 / 22%);
  border-radius: 1rem;
  background: rgb(255 255 255 / 65%);
  color: var(--cp-color-gray-700);
}

@media (max-width: 820px) {
  .cp-home164-now__grid--shared-cards {
    grid-template-columns: 1fr;
  }
}


/* 0.9.210 — séries editoriais: sequência no dossiê e navegação entre matérias. */
.cp-dossie-series__intro {
  max-width: 58rem;
  margin: .65rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: 1rem;
  line-height: 1.65;
}

.cp-post-grid--series {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cp-card__series-sequence {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 .8rem;
  padding-bottom: .7rem;
  border-bottom: 1px solid rgb(17 19 21 / .11);
  color: var(--cp-color-gray-700);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cp-card__series-sequence strong {
  color: var(--cp-color-purple);
  font-weight: 900;
}

.cp-single-article__series {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .8rem;
  align-items: center;
  width: fit-content;
  margin: 0 0 .75rem;
  padding: .5rem .7rem;
  border: 1px solid rgb(104 19 139 / .20);
  border-radius: 999px;
  background: rgb(255 255 255 / .76);
  color: var(--cp-color-ink);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1.25;
}

.cp-single-article__series strong {
  color: var(--cp-color-purple);
  font-weight: 900;
}

.cp-series-navigation__header {
  max-width: 61rem;
  margin: 0 auto;
  padding-top: clamp(1rem, 2vw, 1.5rem);
}

.cp-series-navigation__header .cp-eyebrow {
  margin-bottom: .45rem;
}

.cp-series-navigation__status {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .8rem;
  align-items: baseline;
  justify-content: space-between;
  margin: 0;
  color: var(--cp-color-gray-700);
}

.cp-series-navigation__status strong {
  color: var(--cp-color-ink);
  font-size: 1.08rem;
}

.cp-series-navigation__status span {
  color: var(--cp-color-purple);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.single-post .cp-post-navigation--series {
  margin-top: 1rem;
}

.cp-post-navigation--series a {
  display: grid;
  gap: .35rem;
}

.cp-series-navigation__direction {
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.cp-post-navigation--series a strong {
  color: var(--cp-color-ink);
  font-size: .98rem;
  line-height: 1.35;
}

@media (max-width: 980px) {
  .cp-post-grid--series {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .cp-post-grid--series {
    grid-template-columns: 1fr;
  }

  .cp-card__series-sequence,
  .cp-series-navigation__status {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* 0.9.211 — navegação da série dentro da própria matéria. */
.cp-series-inline-navigation {
  margin: clamp(2.2rem, 5vw, 4rem) 0 1.6rem;
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
  border: 1px solid rgb(104 19 139 / .18);
  border-radius: 1.25rem;
  background: rgb(104 19 139 / .035);
}

.cp-series-inline-navigation__header {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgb(17 19 21 / .11);
}

.cp-series-inline-navigation__header .cp-eyebrow {
  margin-bottom: .35rem;
}

.cp-series-inline-navigation__label {
  margin: 0;
  color: var(--cp-color-ink);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.35;
}

.cp-series-inline-navigation__position {
  flex: 0 0 auto;
  color: var(--cp-color-purple);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.cp-series-inline-navigation__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  padding-top: 1rem;
}

.cp-series-inline-navigation__link {
  display: grid;
  gap: .35rem;
  min-height: 100%;
  padding: .95rem 1rem;
  border: 1px solid rgb(17 19 21 / .12);
  border-radius: 1rem;
  background: rgb(255 255 255 / .8);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cp-series-inline-navigation__link:hover,
.cp-series-inline-navigation__link:focus-visible {
  border-color: rgb(104 19 139 / .32);
  box-shadow: 0 .6rem 1.5rem rgb(17 19 21 / .07);
  transform: translateY(-2px);
}

.cp-series-inline-navigation__link--next {
  text-align: right;
}

.cp-series-inline-navigation__link--next:only-child {
  grid-column: 2;
}

.cp-series-inline-navigation__link span {
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.cp-series-inline-navigation__link strong {
  color: var(--cp-color-ink);
  font-size: .98rem;
  line-height: 1.4;
}

@media (max-width: 680px) {
  .cp-series-inline-navigation__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .cp-series-inline-navigation__links {
    grid-template-columns: 1fr;
  }

  .cp-series-inline-navigation__link--next,
  .cp-series-inline-navigation__link--next:only-child {
    grid-column: 1;
    text-align: left;
  }
}


/* 0.9.212 — navegação da série em cards visuais, usando a imagem destacada de cada matéria. */
.cp-series-inline-navigation__link {
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgb(17 19 21 / .12);
  border-radius: 1.05rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.cp-series-inline-navigation__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgb(17 19 21 / .06);
}

.cp-series-inline-navigation__media:empty {
  display: none;
}

.cp-series-inline-navigation__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

.cp-series-inline-navigation__link:hover .cp-series-inline-navigation__media img,
.cp-series-inline-navigation__link:focus-visible .cp-series-inline-navigation__media img {
  transform: scale(1.025);
}

.cp-series-inline-navigation__card-body {
  display: grid;
  gap: .48rem;
  padding: .95rem 1rem 1.05rem;
}

.cp-series-inline-navigation__card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .65rem;
  align-items: center;
  justify-content: space-between;
  color: var(--cp-color-purple);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .045em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cp-series-inline-navigation__card-meta em {
  color: var(--cp-color-gray-700);
  font-size: .66rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .035em;
}

.cp-series-inline-navigation__link strong {
  display: block;
  color: var(--cp-color-ink);
  font-size: 1rem;
  line-height: 1.38;
}

.cp-series-inline-navigation__link--next {
  text-align: left;
}

@media (max-width: 680px) {
  .cp-series-inline-navigation__card-meta {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* 0.9.214 — todas as demais matérias da série em cards, com grade dinâmica. */
.cp-series-inline-navigation__links {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.cp-series-inline-navigation__card-meta {
  justify-content: flex-start;
}

.cp-series-inline-navigation__card-meta em {
  color: var(--cp-color-purple);
}

@media (max-width: 680px) {
  .cp-series-inline-navigation__links {
    grid-template-columns: 1fr;
  }
}

/* 0.9.217 — Home: Hero responsivo aprovado + cards cinematográficos herdados das páginas de origem. */

/* Hero: a composição aprovada já mantém Camila à direita. Em desktop/notebook,
   ancoramos a imagem pelo topo para que qualquer corte necessário aconteça
   abaixo do rosto, nunca acima da cabeça. */
.cp-home164-hero--integrated .cp-home164-hero__backdrop img {
  object-position: center top;
}

@media (max-width: 1100px) {
  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    object-position: center top;
  }
}

/* Tablet: mantém a composição horizontal, com o rosto protegido à direita. */
@media (max-width: 820px) and (min-width: 681px) {
  .cp-home164-hero--integrated {
    min-height: 44rem;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    inset: 0;
    height: 100%;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background:
      linear-gradient(90deg, rgb(8 10 12 / 62%) 0%, rgb(8 10 12 / 34%) 48%, rgb(8 10 12 / 6%) 72%),
      linear-gradient(180deg, rgb(8 10 12 / 4%) 0%, transparent 72%, rgb(8 10 12 / 24%) 100%);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    object-position: 60% top;
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid {
    display: flex;
    min-height: 44rem;
    align-items: flex-start;
    padding-top: 3rem;
    padding-bottom: 2.5rem;
  }

  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: min(31rem, 61%);
  }
}

/* Mobile: texto acima, fotografia abaixo. A arte mobile é um recorte 4:5 da
   própria composição aprovada — sem recriar nem alterar o rosto. */
@media (max-width: 680px) {
  .cp-home164-hero--integrated {
    min-height: calc(27rem + min(125vw, 42rem));
    background: #101214;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    inset: auto 0 0;
    width: 100%;
    height: min(125vw, 42rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background:
      linear-gradient(180deg, #101214 0%, rgb(16 18 20 / 72%) 8%, rgb(16 18 20 / 8%) 24%, transparent 48%),
      linear-gradient(90deg, rgb(8 10 12 / 10%), transparent 68%);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    object-fit: cover;
    object-position: center top;
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid {
    display: block;
    min-height: calc(27rem + min(125vw, 42rem));
    padding-top: 2rem;
    padding-bottom: min(125vw, 42rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: 100%;
    max-width: 34rem;
    padding: 0;
  }

  .cp-home164-hero--integrated h1 {
    max-width: 10.8ch;
    font-size: clamp(2.55rem, 11.4vw, 3.7rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    max-width: 31rem;
    font-size: .96rem;
    line-height: 1.52;
  }

  .cp-home164-hero--integrated .cp-home164-actions {
    gap: .7rem 1rem;
    margin-top: 1.05rem;
  }
}

/* Home / Em destaque: não existe mais um terceiro desenho de card.
   Cada grupo usa diretamente a grade cinematográfica já aprovada nas páginas
   de origem; apenas o agrupamento da Home é próprio. */
.cp-home164-now__groups {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.cp-home164-now__group {
  min-width: 0;
}

.cp-home164-now__source-grid.cp-hub-more__grid {
  width: 100%;
}

/* Mantém a mesma voz tipográfica dos destaques de Fiscalizações/Publicações. */
.cp-home164-now__source-grid .cp-card__title {
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 900;
  font-variation-settings: "wght" 900;
  text-transform: uppercase;
}

.cp-home164-now__source-grid .cp-card__title .cp-editorial-accent,
.cp-home164-now__source-grid .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

/* Dossiê conserva CTA lime; matéria conserva CTA roxo, como em Publicações. */
.cp-home164-now__group--dossies .cp-card__link {
  color: var(--cp-color-lime);
}

.cp-home164-now__group--publicacoes .cp-card__link {
  color: #dfadf0;
}

/* Em cada grupo há no máximo dois conteúdos, reproduzindo a geometria aprovada
   de um destaque maior à esquerda e um secundário à direita. */
.cp-home164-now__source-grid.cp-hub-more__grid--count-2 {
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .9fr);
  grid-template-rows: minmax(24rem, 1fr);
}

.cp-home164-now__source-grid.cp-hub-more__grid--count-2 .cp-card:first-child,
.cp-home164-now__source-grid.cp-hub-more__grid--count-2 .cp-card:nth-child(2) {
  grid-row: 1;
  min-height: clamp(24rem, 34vw, 31rem);
}

@media (max-width: 980px) {
  .cp-home164-now__source-grid.cp-hub-more__grid--count-2 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
}

@media (max-width: 680px) {
  .cp-home164-now__groups {
    gap: 1rem;
  }

  .cp-home164-now__source-grid.cp-hub-more__grid--count-2 {
    grid-template-columns: 1fr;
  }

  .cp-home164-now__source-grid.cp-hub-more__grid--count-2 .cp-card:first-child,
  .cp-home164-now__source-grid.cp-hub-more__grid--count-2 .cp-card:nth-child(2) {
    grid-row: auto;
    min-height: 24rem;
  }
}

/* 0.9.219 — Home: retrato original preservado + responsividade sem área morta.
   Decisões congeladas desta entrega:
   - desktop usa a prévia aprovada composta sem regenerar o rosto;
   - mobile usa recorte direto da fotografia original, sem IA;
   - rosto/olhar não são reinterpretados;
   - até 820px, texto e fotografia deixam de disputar a mesma camada: texto acima, foto abaixo. */

/* Desktop / notebook: preserva a composição aprovada sem ampliar a fotografia.
   A imagem fica ancorada à direita; o fundo estrutural do Hero completa a faixa à esquerda. */
@media (min-width: 821px) {
  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    background: #101214;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right top;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background:
      linear-gradient(90deg, rgb(10 12 14 / 18%) 0%, rgb(10 12 14 / 9%) 42%, transparent 67%),
      linear-gradient(180deg, rgb(10 12 14 / 2%) 0%, transparent 72%, rgb(10 12 14 / 18%) 100%);
  }
}

/* Tablet e celular: bloco editorial realmente empilhado, sem o grande vazio entre CTA e fotografia. */
@media (max-width: 820px) {
  .cp-home164-hero--integrated {
    display: flex;
    min-height: 0;
    flex-direction: column;
    background: #101214;
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid {
    position: relative;
    z-index: 2;
    order: 1;
    display: block;
    min-height: 0;
    width: 100%;
    padding-top: clamp(2rem, 6vw, 2.75rem);
    padding-bottom: clamp(1.45rem, 4vw, 2rem);
  }

  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: 100%;
    max-width: 38rem;
    padding: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    position: relative;
    z-index: 0;
    inset: auto;
    order: 2;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    overflow: hidden;
    background: #101214;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background: linear-gradient(180deg, #101214 0%, rgb(16 18 20 / 36%) 7%, transparent 22%);
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center top;
  }
}

/* Celular: usa o arquivo 4:5 derivado diretamente da foto original e compacta a tipografia. */
@media (max-width: 680px) {
  .cp-home164-hero--integrated .cp-home164-hero__grid {
    padding-top: 1.9rem;
    padding-bottom: 1.35rem;
  }

  .cp-home164-hero--integrated h1 {
    max-width: 11.6ch;
    font-size: clamp(2.28rem, 10.25vw, 3.2rem);
    line-height: .93;
    letter-spacing: -.055em;
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    max-width: 31rem;
    margin-top: 1.15rem;
    font-size: .94rem;
    line-height: 1.5;
  }

  .cp-home164-hero--integrated .cp-home164-actions {
    gap: .72rem 1rem;
    margin-top: 1.05rem;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    aspect-ratio: 4 / 5;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
}

@media (max-width: 460px) {
  .cp-home164-hero--integrated .cp-home164-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .cp-home164-hero--integrated .cp-home164-actions .cp-button {
    width: auto;
    max-width: 100%;
  }
}


/* 0.9.220 — Home: correção cirúrgica dos gutters e CTAs no Hero mobile.
   NÃO altera a arte, o retrato, o desktop ou os cards.
   Corrige a regressão em que .cp-home164-hero__grid { width:100% } anulava
   o gutter padrão de .cp-container e fazia o texto encostar/cortar na borda. */
@media (max-width: 820px) {
  .cp-home164-hero--integrated .cp-home164-hero__grid.cp-container {
    width: min(calc(100% - (2 * var(--cp-gutter))), var(--cp-wide));
    margin-inline: auto;
  }
}

@media (max-width: 680px) {
  .cp-home164-hero--integrated h1 {
    max-width: 10.9ch;
    font-size: clamp(2.22rem, 9.9vw, 3.05rem);
  }
}

@media (max-width: 520px) {
  .cp-home164-hero--integrated .cp-home164-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: .9rem;
  }

  .cp-home164-hero--integrated .cp-home164-actions .cp-button,
  .cp-home164-hero--integrated .cp-home164-text-link {
    max-width: 100%;
  }
}

/* 0.9.221 — Hero mobile: ações abaixo da fotografia.
   Desktop/notebook permanecem inalterados: ações sob o texto, ao lado do retrato.
   Em tablet/mobile a hierarquia passa a ser texto -> foto -> CTAs. */
.cp-home164-actions--mobile {
  display: none;
}

@media (max-width: 820px) {
  .cp-home164-hero--integrated .cp-home164-actions--desktop {
    display: none;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    position: relative;
    z-index: 2;
    order: 3;
    display: flex;
    width: min(calc(100% - (2 * var(--cp-gutter))), var(--cp-wide));
    align-items: center;
    gap: .8rem 1.15rem;
    margin: 0 auto;
    padding-top: 1.15rem;
    padding-bottom: 1.75rem;
  }

  /* O divisor acompanha as ações, não fica solto antes da fotografia. */
  .cp-home164-hero--integrated .cp-home164-hero__copy::after {
    display: none;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile::after {
    position: absolute;
    bottom: .55rem;
    left: 0;
    width: clamp(4rem, 18vw, 6rem);
    height: 2px;
    background: linear-gradient(90deg, var(--cp-color-lime), var(--cp-color-purple));
    content: "";
  }
}

@media (max-width: 520px) {
  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    align-items: flex-start;
    flex-direction: column;
    gap: .9rem;
  }
}

/* 0.9.222 — Hero mobile compacto, inspirado na cadência da landing.
   CORREÇÃO EXCLUSIVAMENTE RESPONSIVA:
   - não altera imagem/rosto;
   - não altera desktop/notebook;
   - mantém texto -> foto -> CTAs;
   - encurta a fotografia no mobile para o Hero não virar uma página inteira. */
@media (max-width: 680px) {
  .cp-home164-hero--integrated .cp-home164-hero__grid {
    padding-top: 1.65rem;
    padding-bottom: .9rem;
  }

  .cp-home164-hero--integrated h1 {
    max-width: 11.2ch;
    font-size: clamp(2.08rem, 8.85vw, 2.8rem);
    line-height: .94;
    letter-spacing: -.052em;
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    margin-top: .95rem;
    font-size: .91rem;
    line-height: 1.46;
  }

  /* A foto deixa de obedecer ao 4:5 integral. O quadro é deliberadamente
     mais baixo e mostra cabeça + tronco superior, como um Hero, não como
     uma fotografia editorial de página inteira. */
  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    aspect-ratio: auto;
    height: clamp(21rem, 82vw, 26rem);
    min-height: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  /* Transição curta para que a barra de ações pareça parte do Hero. */
  .cp-home164-hero--integrated .cp-home164-hero__backdrop::after {
    background:
      linear-gradient(180deg, #101214 0%, rgb(16 18 20 / 22%) 7%, transparent 19%),
      linear-gradient(0deg, rgb(16 18 20 / 38%) 0%, transparent 16%);
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    gap: .75rem 1rem;
    padding-top: .85rem;
    padding-bottom: 1.45rem;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile::after {
    bottom: .42rem;
  }
}

/* Em celulares médios os dois CTAs ficam lado a lado logo abaixo da foto.
   Em telas realmente estreitas, empilham sem esmagar o texto. */
@media (min-width: 431px) and (max-width: 680px) {
  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 430px) {
  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    align-items: stretch;
    flex-direction: column;
    gap: .65rem;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile .cp-button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile .cp-home164-text-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* 0.9.223 — Hero mobile: retrato com escala menor + respiro dos CTAs.
   Ajuste exclusivamente responsivo, sem trocar ou regenerar a imagem.
   Mantém desktop/notebook e toda a estrutura editorial inalterados. */
@media (max-width: 680px) {
  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    height: clamp(22rem, 88vw, 26.5rem);
    background: #101214;
  }

  .cp-home164-hero--integrated .cp-home164-hero__backdrop img {
    display: block;
    width: 88%;
    max-width: none;
    height: auto;
    margin-left: auto;
    object-fit: initial;
    object-position: initial;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    padding-top: 1.15rem;
    padding-bottom: 1.65rem;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile::after {
    bottom: .48rem;
  }
}


/* 0.9.224 — Hero mobile aprovado + Home herdando o contexto visual exato das páginas de origem.
   DECISÕES CONGELADAS:
   - desktop/notebook do Hero não muda;
   - mobile: título ao lado do retrato, descrição abaixo, ações abaixo;
   - o retrato continua sendo o asset já aprovado, sem regeneração;
   - cards da Home recebem os mesmos modificadores de Fiscalizações/Publicações. */

.cp-home164-hero__mobile-portrait {
  display: none;
}

/* Na Home, os modificadores servem apenas para herdar o desenho dos cards.
   O fundo geral continua pertencendo ao bloco "Em destaque" da própria Home. */
.cp-home164-now__group.cp-hub-more--dossies,
.cp-home164-now__group.cp-hub-more--publicacoes {
  border: 0;
  background: transparent;
  color: inherit;
}

@media (max-width: 680px) {
  .cp-home164-hero--integrated {
    display: block;
    min-height: 0;
    background: #101214;
  }

  /* O antigo backdrop empilhado deixa de existir no mobile. A mesma imagem
     passa a ocupar a coluna ao lado do título, sem criar uma faixa vertical enorme. */
  .cp-home164-hero--integrated .cp-home164-hero__backdrop {
    display: none !important;
  }

  .cp-home164-hero--integrated .cp-home164-hero__grid.cp-container {
    display: block;
    width: min(calc(100% - (2 * var(--cp-gutter))), var(--cp-wide));
    min-height: 0;
    margin-inline: auto;
    padding-top: 1.65rem;
    padding-bottom: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__copy {
    width: 100%;
    max-width: none;
    padding: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__mobile-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(8.6rem, .84fr);
    gap: .7rem;
    align-items: stretch;
  }

  .cp-home164-hero--integrated .cp-home164-hero__title-block {
    min-width: 0;
  }

  .cp-home164-hero--integrated .cp-home164-hero__mobile-portrait {
    display: block;
    min-width: 0;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    background: #151719;
  }

  .cp-home164-hero--integrated .cp-home164-hero__mobile-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center 10%;
  }

  .cp-home164-hero--integrated .cp-home164-kicker {
    margin-bottom: .55rem;
    font-size: clamp(.62rem, 2.65vw, .76rem);
    line-height: 1.2;
  }

  .cp-home164-hero--integrated h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(1.82rem, 7.55vw, 2.45rem);
    line-height: .94;
    letter-spacing: -.052em;
    text-wrap: balance;
  }

  .cp-home164-hero--integrated .cp-home164-hero__lead {
    max-width: none;
    margin: 1rem 0 0;
    font-size: .92rem;
    line-height: 1.5;
  }

  .cp-home164-hero--integrated .cp-home164-actions--desktop {
    display: none;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(calc(100% - (2 * var(--cp-gutter))), var(--cp-wide));
    align-items: stretch;
    flex-direction: column;
    gap: .65rem;
    margin: 1.05rem auto 0;
    padding: 0 0 1.65rem;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile::after {
    display: none;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile .cp-button,
  .cp-home164-hero--integrated .cp-home164-actions--mobile .cp-home164-text-link {
    display: inline-flex;
    width: 100%;
    min-height: 3.15rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    text-align: center;
  }

  .cp-home164-hero--integrated .cp-home164-actions--mobile .cp-home164-text-link {
    border: 1px solid rgb(255 255 255 / 78%);
    color: #fff;
  }
}

@media (max-width: 380px) {
  .cp-home164-hero--integrated .cp-home164-hero__mobile-layout {
    grid-template-columns: minmax(0, 1.12fr) minmax(7.4rem, .88fr);
    gap: .5rem;
  }

  .cp-home164-hero--integrated h1 {
    font-size: clamp(1.65rem, 7.35vw, 2.12rem);
  }
}

/* 0.9.225 — Home / Leituras recentes.
   Função editorial: fluxo cronológico de matérias recentes, sem repetir as
   matérias já exibidas em “Acompanhe o que está em andamento”.
   Os cards reutilizam o contexto visual canônico de Publicações; a seção
   permanece clara e secundária para não competir com o destaque principal. */
.cp-home164-reading--source.cp-hub-more--publicacoes {
  position: relative;
  overflow: visible;
  border-block: 0;
  background: #f5f3ee;
  color: var(--cp-color-ink);
}

.cp-home164-reading--source.cp-hub-more--publicacoes::before {
  display: none;
}

.cp-home164-reading--source .cp-home164-reading__heading {
  margin-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
}

.cp-home164-reading--source .cp-home164-reading__heading h2 {
  max-width: 18ch;
  color: var(--cp-color-ink);
  font-size: clamp(2.1rem, 3.35vw, 3.65rem);
  line-height: .96;
  letter-spacing: -.052em;
}

.cp-home164-reading--source .cp-home164-kicker {
  color: var(--cp-color-purple);
}

.cp-home164-reading--source .cp-home164-card-link {
  align-self: end;
  color: var(--cp-color-ink);
}

/* O grid recebe exatamente o mesmo desenho cinematográfico de “Mais
   publicações”. O fundo claro pertence à seção, não aos cards. */
.cp-home164-reading--source .cp-home164-reading__grid {
  margin: 0;
}

@media (max-width: 980px) {
  .cp-home164-reading--source .cp-home164-card-link {
    align-self: start;
  }
}

@media (max-width: 680px) {
  .cp-home164-reading--source.cp-hub-more--publicacoes {
    padding-block: 2.65rem;
  }

  .cp-home164-reading--source .cp-home164-reading__heading {
    gap: .85rem;
    margin-bottom: 1.35rem;
  }

  .cp-home164-reading--source .cp-home164-reading__heading h2 {
    max-width: 15ch;
    font-size: clamp(2rem, 9.2vw, 2.75rem);
  }
}

/* 0.9.226 — Sistema visual canônico dos cards.
   DECISÃO EDITORIAL:
   - roxo = investigação / fiscalização / universo Olha LAI;
   - publicação = tratamento neutro/editorial;
   - um único componente responsivo por tipo de conteúdo em todas as superfícies.
   O Hero aprovado não é alterado por este bloco. */

/* Classes tipológicas explícitas vêm do componente compartilhado card-content.php. */
.cp-card--content.cp-card--dossie,
.cp-card--content.cp-card--publicacao {
  --cp-card-pad: clamp(1.25rem, 2vw, 1.8rem);
  --cp-card-meta-size: .7rem;
  --cp-card-byline-size: .8rem;
  --cp-card-title-size: clamp(1.28rem, 1.65vw, 1.62rem);
  --cp-card-title-leading: 1.01;
  --cp-card-gap: .48rem;
}

/* As grades de consulta passam a usar a mesma construção cinematográfica,
   sem voltar ao antigo desenho imagem + caixa branca. */
.cp-fiscalizacoes-grid .cp-card--content,
.cp-publicacoes-grid .cp-card--content {
  position: relative;
  min-height: clamp(22rem, 31vw, 28rem);
  overflow: hidden;
  border: 0;
  border-radius: clamp(1rem, 1.35vw, 1.3rem);
  background: #17191b;
  color: #fff;
  box-shadow: 0 20px 48px rgb(17 19 21 / 16%);
  isolation: isolate;
}

.cp-fiscalizacoes-grid .cp-card--content:hover,
.cp-fiscalizacoes-grid .cp-card--content:focus-within,
.cp-publicacoes-grid .cp-card--content:hover,
.cp-publicacoes-grid .cp-card--content:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 26px 58px rgb(17 19 21 / 22%);
}

.cp-fiscalizacoes-grid .cp-card--content .cp-card__media,
.cp-publicacoes-grid .cp-card--content .cp-card__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  background: #202326;
}

.cp-fiscalizacoes-grid .cp-card--content .cp-card__media img,
.cp-publicacoes-grid .cp-card--content .cp-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.035);
  transition: transform 650ms cubic-bezier(.2,.7,.2,1), filter 450ms ease;
}

.cp-fiscalizacoes-grid .cp-card--content:hover .cp-card__media img,
.cp-fiscalizacoes-grid .cp-card--content:focus-within .cp-card__media img,
.cp-publicacoes-grid .cp-card--content:hover .cp-card__media img,
.cp-publicacoes-grid .cp-card--content:focus-within .cp-card__media img {
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.025);
}

.cp-fiscalizacoes-grid .cp-card--content .cp-card__body,
.cp-publicacoes-grid .cp-card--content .cp-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100%;
  padding: var(--cp-card-pad);
  flex-direction: column;
  justify-content: flex-end;
}

/* A estrutura interna é a mesma em qualquer superfície: os espaços passam a
   ser controlados pelo componente, não por margens casuais de cada bloco. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__body {
  gap: var(--cp-card-gap);
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content :where(
  .cp-card__series-sequence,
  .cp-card__editorial-eyebrow,
  .cp-card__meta,
  .cp-card__editor-status,
  .cp-card__byline,
  .cp-badges,
  .cp-card__title,
  .cp-card__excerpt,
  .cp-card__footer
) {
  margin-top: 0;
  margin-bottom: 0;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__meta {
  color: rgb(255 255 255 / 74%);
  font-size: var(--cp-card-meta-size);
  font-weight: 760;
  line-height: 1.25;
  letter-spacing: .075em;
  text-transform: uppercase;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__byline {
  color: rgb(255 255 255 / 78%);
  font-size: var(--cp-card-byline-size);
  line-height: 1.35;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__byline a {
  color: #fff;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-badges {
  display: flex;
  gap: .34rem;
  align-items: center;
  flex-wrap: wrap;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content :where(.cp-badge, .cp-status, .cp-card__editor-status) {
  min-height: 1.58rem;
  padding: .26rem .52rem;
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 999px;
  background: rgb(12 13 15 / 52%);
  color: #fff;
  font-size: .66rem;
  font-weight: 780;
  line-height: 1.05;
  letter-spacing: .035em;
  backdrop-filter: blur(9px);
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__title {
  max-width: 24ch;
  color: #fff;
  font-family: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--cp-card-title-size);
  font-weight: 900;
  font-variation-settings: "wght" 900;
  line-height: var(--cp-card-title-leading);
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-wrap: pretty;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__title a {
  color: inherit;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__excerpt {
  color: rgb(255 255 255 / 76%);
  font-size: .9rem;
  line-height: 1.46;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__footer {
  padding-top: .18rem;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--content .cp-card__link {
  font-size: .76rem;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
}

/* ---------------------------------------------------------------
   DOSSIÊ / FISCALIZAÇÃO = ROXO. É o código visual do Olha LAI.
   --------------------------------------------------------------- */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-card__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(25 8 34 / 10%) 0%, rgb(49 10 66 / 30%) 42%, rgb(22 8 29 / 93%) 100%),
    linear-gradient(105deg, rgb(104 19 139 / 42%) 0%, rgb(104 19 139 / 20%) 48%, transparent 82%);
  content: "";
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-card__media img {
  filter: saturate(.82) contrast(1.045);
}

/* Situação é dado operacional do dossiê: aparece como sinal verde-limão,
   enquanto cidade/tema permanecem translúcidos sobre a máscara roxa. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-status {
  border-color: rgb(200 240 0 / 72%);
  background: rgb(200 240 0 / 92%);
  color: #151719;
  box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-card__link {
  color: var(--cp-color-lime) !important;
}

/* O dossiê não usa acento roxo no título: o roxo já está na atmosfera.
   Acentos editoriais de título permanecem verde-limão. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

/* ---------------------------------------------------------------
   PUBLICAÇÃO = EDITORIAL NEUTRO / CHUMBO.
   Roxo deixa de ser cor funcional destes cards.
   --------------------------------------------------------------- */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao .cp-card__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(7 8 9 / 4%) 0%, rgb(7 8 9 / 22%) 42%, rgb(7 8 9 / 94%) 100%),
    linear-gradient(100deg, rgb(7 8 9 / 28%) 0%, transparent 66%);
  content: "";
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao .cp-card__link {
  color: #fff !important;
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao .cp-card__link span {
  color: var(--cp-color-lime);
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

/* Destaques grandes mantêm hierarquia, mas agora obedecem às mesmas métricas
   internas. O tamanho muda por função, não por um CSS diferente para cada página. */
.cp-hub-more__grid .cp-card--content:first-child,
.cp-hub-more__grid .cp-card--content:only-child {
  --cp-card-pad: clamp(1.65rem, 3vw, 2.55rem);
  --cp-card-title-size: clamp(1.95rem, 3vw, 3.25rem);
  --cp-card-title-leading: .98;
  --cp-card-gap: .55rem;
}

.cp-hub-more__grid .cp-card--content:first-child .cp-card__title,
.cp-hub-more__grid .cp-card--content:only-child .cp-card__title {
  max-width: 20ch;
}

/* Dossiês deixam de forçar o texto ao topo: o componente volta a ter a mesma
   cadência de leitura dos demais cards, corrigindo o desalinhamento percebido. */
.cp-hub-more--dossies .cp-hub-more__grid .cp-card--dossie .cp-card__body,
.cp-hub-more--dossies .cp-hub-more__grid .cp-card--dossie:first-child .cp-card__body,
.cp-hub-more--dossies .cp-hub-more__grid .cp-card--dossie:only-child .cp-card__body {
  justify-content: flex-end;
  padding: var(--cp-card-pad);
}

/* Títulos longos reduzem de forma proporcional sem alterar o desenho do card. */
.cp-hub-more__grid .cp-card--publicacao.cp-card--long-title:first-child,
.cp-hub-more__grid .cp-card--publicacao.cp-card--long-title:only-child {
  --cp-card-title-size: clamp(1.72rem, 2.55vw, 2.7rem);
}

.cp-hub-more__grid .cp-card--publicacao.cp-card--long-title:not(:first-child) {
  --cp-card-title-size: clamp(1.18rem, 1.42vw, 1.45rem);
}

/* Mobile: uma escala única para cards de mesmo nível. */
@media (max-width: 680px) {
  .cp-card--content.cp-card--dossie,
  .cp-card--content.cp-card--publicacao {
    --cp-card-pad: 1.15rem;
    --cp-card-meta-size: .66rem;
    --cp-card-byline-size: .76rem;
    --cp-card-title-size: clamp(1.35rem, 6.1vw, 1.72rem);
    --cp-card-title-leading: 1.01;
    --cp-card-gap: .42rem;
  }

  .cp-hub-more__grid .cp-card--content:first-child,
  .cp-hub-more__grid .cp-card--content:only-child {
    --cp-card-pad: 1.25rem;
    --cp-card-title-size: clamp(1.55rem, 7vw, 2.05rem);
    --cp-card-title-leading: .99;
  }

  .cp-fiscalizacoes-grid .cp-card--content,
  .cp-publicacoes-grid .cp-card--content {
    min-height: 23rem;
  }

  :where(
    .cp-hub-more__grid,
    .cp-fiscalizacoes-grid,
    .cp-publicacoes-grid
  ) .cp-card--content :where(.cp-badge, .cp-status, .cp-card__editor-status) {
    min-height: 1.48rem;
    padding: .23rem .46rem;
    font-size: .62rem;
  }

  :where(
    .cp-hub-more__grid,
    .cp-fiscalizacoes-grid,
    .cp-publicacoes-grid
  ) .cp-card--content .cp-card__excerpt {
    font-size: .84rem;
    line-height: 1.43;
  }
}

/* 0.9.227 — distinção visual global entre Dossiês e Publicações.
   Regra editorial congelada:
   - roxo = investigação / fiscalização / universo Olha LAI;
   - dossiês recebem máscara roxa em TODAS as superfícies de card;
   - status de dossiê = selo roxo, com ponto verde-limão;
   - publicações permanecem neutras/chumbo e NÃO usam etiquetas roxas.
   Aplica-se à Home, Fiscalizações (destaques + consulta) e Publicações
   (destaques + arquivo/filtros), sem alterar o Hero da Home. */

/* 1) DOSSIÊS — máscara roxa consistente, inclusive no primeiro card grande,
   que tinha uma regra antiga de overlay mais específica. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-card__media::after,
.cp-hub-more__grid .cp-card--dossie:first-child .cp-card__media::after,
.cp-hub-more__grid .cp-card--dossie:only-child .cp-card__media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgb(41 9 54 / 14%) 0%, rgb(72 14 94 / 36%) 44%, rgb(23 7 30 / 94%) 100%),
    linear-gradient(105deg, rgb(104 19 139 / 48%) 0%, rgb(104 19 139 / 26%) 50%, rgb(104 19 139 / 8%) 78%, transparent 100%);
  content: "";
}

/* Dossiês em destaque na página de Fiscalizações também obedecem ao mesmo
   código visual roxo, mesmo quando usam o componente legado da seção. */
.cp-fiscalizacoes-featured__media::after,
.cp-fiscalizacoes-featured__story-media::before {
  background:
    linear-gradient(180deg, rgb(37 8 49 / 9%) 18%, rgb(65 13 85 / 34%) 62%, rgb(25 8 32 / 70%) 100%),
    linear-gradient(100deg, rgb(104 19 139 / 44%) 0%, rgb(104 19 139 / 20%) 48%, transparent 82%);
}

/* 2) STATUS DOS DOSSIÊS — roxo, não verde. O ponto verde-limão permanece
   como sinal operacional, sem confundir o código de cor do tipo de conteúdo. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-status,
.cp-fiscalizacoes-featured__body .cp-status,
.cp-fiscalizacoes-featured__story .cp-status {
  border-color: rgb(255 255 255 / 22%);
  background: rgb(104 19 139 / 92%);
  color: #fff;
  box-shadow: 0 5px 18px rgb(33 8 45 / 28%);
}

:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--dossie .cp-status::before,
.cp-fiscalizacoes-featured__body .cp-status::before,
.cp-fiscalizacoes-featured__story .cp-status::before {
  background: var(--cp-color-lime);
  box-shadow: 0 0 0 3px rgb(200 240 0 / 12%);
}

/* 3) PUBLICAÇÕES — nenhuma etiqueta editorial roxa nos cards.
   Série/editoria vira etiqueta neutra translúcida, coerente com o card chumbo. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao.cp-card--editorial .cp-card__editorial-eyebrow,
.cp-hub-more__grid .cp-card--publicacao.cp-card--editorial .cp-card__editorial-eyebrow {
  border-color: rgb(255 255 255 / 18%);
  background: rgb(15 17 19 / 76%);
  color: #fff;
  box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  backdrop-filter: blur(9px);
}

/* Proteção adicional: se alguma matéria receber a classe histórica
   cp-badge--purple, o card de publicação continua neutro. */
:where(
  .cp-hub-more__grid,
  .cp-fiscalizacoes-grid,
  .cp-publicacoes-grid
) .cp-card--publicacao .cp-badge--purple {
  border-color: rgb(255 255 255 / 16%);
  background: rgb(15 17 19 / 58%);
  color: #fff;
}

/* O destaque principal de Publicações permanece editorial/neutro. */
.cp-publicacoes-featured__category {
  color: var(--cp-color-lime);
}


/* 0.9.228 — Home: 1 publicação principal + 2 secundárias; Fiscalizações:
   dossiês como universo padrão da consulta e bloco editorial separado para matérias.
   O Hero e Leituras recentes permanecem congelados. */

/* Home / Agora no site — quando houver três publicações, reutiliza a geometria
   canônica 1 + 2 do hub: destaque grande à esquerda e duas peças empilhadas à direita. */
.cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 {
  grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .85fr);
  grid-template-rows: repeat(2, minmax(13.5rem, 1fr));
  gap: clamp(.8rem, 1.4vw, 1.15rem);
}

.cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:first-child {
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: clamp(29rem, 38vw, 37rem);
}

.cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(2),
.cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(3) {
  grid-column: 2;
  min-height: 0;
}

/* Fiscalizações → matérias relacionadas: mudança de universo explícita.
   Publicações permanecem neutras/chumbo; nenhuma máscara roxa é introduzida aqui. */
.cp-fiscalizacoes-related-publicacoes {
  border-top: 1px solid rgb(17 19 21 / 10%);
  border-bottom: 1px solid rgb(17 19 21 / 8%);
  background:
    radial-gradient(circle at 10% 100%, rgb(200 240 0 / 7%), transparent 20rem),
    linear-gradient(135deg, rgb(255 255 255 / 38%), transparent 45%),
    #f4f3ef;
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-related-publicacoes::before {
  background:
    linear-gradient(120deg, rgb(255 255 255 / 46%), transparent 34%),
    repeating-linear-gradient(90deg, transparent 0 95px, rgb(17 19 21 / 1.5%) 96px);
}

.cp-fiscalizacoes-related-publicacoes .cp-fiscalizacoes-related-publicacoes__header {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .55fr);
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: end;
}

.cp-fiscalizacoes-related-publicacoes .cp-hub-more__header h2 {
  max-width: 12ch;
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-related-publicacoes .cp-hub-more__header .cp-eyebrow {
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-related-publicacoes .cp-fiscalizacoes-related-publicacoes__intro {
  display: grid;
  gap: .8rem;
  align-content: end;
}

.cp-fiscalizacoes-related-publicacoes .cp-fiscalizacoes-related-publicacoes__intro > p {
  display: block !important;
  max-width: 40ch;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: clamp(.96rem, 1.2vw, 1.08rem);
  line-height: 1.58;
}

.cp-fiscalizacoes-related-publicacoes .cp-fiscalizacoes-related-publicacoes__intro .cp-home164-card-link {
  width: fit-content;
  color: var(--cp-color-ink);
}

.cp-fiscalizacoes-related-publicacoes .cp-hub-more__grid .cp-card {
  border-color: rgb(17 19 21 / 9%);
  box-shadow: 0 22px 54px rgb(17 19 21 / 15%);
}

@media (max-width: 980px) {
  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: clamp(25rem, 58vw, 34rem);
  }

  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(2),
  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(3) {
    grid-column: auto;
    min-height: 19rem;
  }

  .cp-fiscalizacoes-related-publicacoes .cp-fiscalizacoes-related-publicacoes__header {
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
  }

  .cp-fiscalizacoes-related-publicacoes .cp-hub-more__header h2 {
    max-width: 16ch;
  }
}

@media (max-width: 680px) {
  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:first-child,
  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(2),
  .cp-home164-now__group--publicacoes .cp-home164-now__source-grid.cp-hub-more__grid--count-3 .cp-card:nth-child(3) {
    grid-column: auto;
    grid-row: auto;
    min-height: 23rem;
  }
}

/* 0.9.229 — Filtros do acervo: um único componente, funcional e legível. */
/*
 * Fiscalizações e Publicações usam exatamente o mesmo formulário. O layout em
 * duas linhas evita comprimir “Ordenar”, e o color-scheme claro impede selects
 * ilegíveis em navegadores/OS configurados em modo escuro.
 */
.cp-fiscalizacoes-page .cp-dossie-filters,
.cp-publicacoes-page .cp-dossie-filters {
  grid-template-columns:
    minmax(16rem, 1.35fr)
    repeat(3, minmax(10.5rem, 1fr));
  gap: 1rem;
  align-items: end;
  padding: clamp(1.2rem, 2.8vw, 1.7rem);
  border: 1px solid rgb(104 19 139 / 10%);
  border-radius: 1.8rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 97%), rgb(250 249 252 / 100%));
  box-shadow: 0 14px 34px rgb(30 12 43 / 5%);
}

.cp-fiscalizacoes-page .cp-dossie-filters > div,
.cp-publicacoes-page .cp-dossie-filters > div {
  gap: .45rem;
  min-width: 0;
}

.cp-fiscalizacoes-page .cp-dossie-filters label,
.cp-publicacoes-page .cp-dossie-filters label {
  color: var(--cp-color-ink);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .08em;
}

.cp-fiscalizacoes-page .cp-dossie-filters input,
.cp-fiscalizacoes-page .cp-dossie-filters select,
.cp-publicacoes-page .cp-dossie-filters input,
.cp-publicacoes-page .cp-dossie-filters select {
  width: 100%;
  min-width: 0;
  min-height: 3.65rem;
  padding: .72rem 2.65rem .72rem 1rem;
  border: 1px solid rgb(17 19 21 / 14%);
  border-radius: 1rem;
  background-color: #fff;
  color: #111315;
  color-scheme: light;
  font-size: .98rem;
  font-weight: 650;
  line-height: 1.25;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
}

.cp-fiscalizacoes-page .cp-dossie-filters input,
.cp-publicacoes-page .cp-dossie-filters input {
  padding-right: 1rem;
}

.cp-fiscalizacoes-page .cp-dossie-filters select option,
.cp-publicacoes-page .cp-dossie-filters select option {
  background: #fff;
  color: #111315;
}

.cp-fiscalizacoes-page .cp-dossie-filters input:focus,
.cp-fiscalizacoes-page .cp-dossie-filters select:focus,
.cp-publicacoes-page .cp-dossie-filters input:focus,
.cp-publicacoes-page .cp-dossie-filters select:focus {
  outline: none;
  border-color: var(--cp-color-purple);
  box-shadow: 0 0 0 4px rgb(104 19 139 / 12%);
}

.cp-fiscalizacoes-page .cp-dossie-filters__taxonomy--cp_situacao,
.cp-publicacoes-page .cp-dossie-filters__taxonomy--cp_situacao {
  grid-column: 1;
}

.cp-fiscalizacoes-page .cp-dossie-filters__order,
.cp-publicacoes-page .cp-dossie-filters__order {
  grid-column: 2 / span 2;
  width: 100%;
}

.cp-fiscalizacoes-page .cp-dossie-filters__order select,
.cp-publicacoes-page .cp-dossie-filters__order select {
  min-width: 0;
  width: 100%;
  white-space: nowrap;
}

.cp-fiscalizacoes-page .cp-dossie-filters__actions,
.cp-publicacoes-page .cp-dossie-filters__actions {
  grid-column: 4;
  justify-content: flex-end;
  align-self: end;
  min-height: 3.65rem;
  gap: .85rem !important;
}

.cp-fiscalizacoes-page .cp-dossie-filters__actions .cp-button,
.cp-publicacoes-page .cp-dossie-filters__actions .cp-button {
  min-height: 3.5rem;
  padding-inline: 1.35rem;
  border-radius: 999px;
}

.cp-fiscalizacoes-page .cp-dossie-filters__actions a,
.cp-publicacoes-page .cp-dossie-filters__actions a {
  color: var(--cp-color-purple);
  font-size: .86rem;
  font-weight: 780;
  text-decoration: none;
}

.cp-fiscalizacoes-page .cp-dossie-filters__actions a:hover,
.cp-fiscalizacoes-page .cp-dossie-filters__actions a:focus-visible,
.cp-publicacoes-page .cp-dossie-filters__actions a:hover,
.cp-publicacoes-page .cp-dossie-filters__actions a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}

@media (max-width: 1100px) {
  .cp-fiscalizacoes-page .cp-dossie-filters,
  .cp-publicacoes-page .cp-dossie-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cp-fiscalizacoes-page .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-fiscalizacoes-page .cp-dossie-filters__order,
  .cp-publicacoes-page .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-publicacoes-page .cp-dossie-filters__order {
    grid-column: auto;
  }

  .cp-fiscalizacoes-page .cp-dossie-filters__search,
  .cp-fiscalizacoes-page .cp-dossie-filters__actions,
  .cp-publicacoes-page .cp-dossie-filters__search,
  .cp-publicacoes-page .cp-dossie-filters__actions {
    grid-column: 1 / -1;
  }

  .cp-fiscalizacoes-page .cp-dossie-filters__actions,
  .cp-publicacoes-page .cp-dossie-filters__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-page .cp-dossie-filters,
  .cp-publicacoes-page .cp-dossie-filters {
    grid-template-columns: 1fr;
    border-radius: 1.35rem;
  }

  .cp-fiscalizacoes-page .cp-dossie-filters__search,
  .cp-fiscalizacoes-page .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-fiscalizacoes-page .cp-dossie-filters__order,
  .cp-fiscalizacoes-page .cp-dossie-filters__actions,
  .cp-publicacoes-page .cp-dossie-filters__search,
  .cp-publicacoes-page .cp-dossie-filters__taxonomy--cp_situacao,
  .cp-publicacoes-page .cp-dossie-filters__order,
  .cp-publicacoes-page .cp-dossie-filters__actions {
    grid-column: 1;
  }

  .cp-fiscalizacoes-page .cp-dossie-filters__actions,
  .cp-publicacoes-page .cp-dossie-filters__actions,
  .cp-fiscalizacoes-page .cp-dossie-filters__actions .cp-button,
  .cp-publicacoes-page .cp-dossie-filters__actions .cp-button {
    width: 100%;
  }
}

/* 0.9.230 — Acervo filtrável unificado: Fiscalizações + Publicações.
   O filtro é o mesmo nas duas páginas; os resultados usam uma lista compacta
   para permitir consulta de muitos dossiês/matérias sem repetir cards de destaque. */
.cp-acervo-results {
  margin-top: clamp(1.35rem, 3vw, 2.2rem);
}

.cp-acervo-results__summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin: 0 0 1rem;
  padding: 0 .15rem;
  color: var(--cp-color-gray-700);
  font-size: .9rem;
  line-height: 1.45;
}

.cp-acervo-results__summary strong {
  color: var(--cp-color-ink);
  font-size: 1rem;
  font-weight: 850;
}

.cp-acervo-list {
  display: grid;
  gap: .9rem;
}

.cp-acervo-list-card {
  position: relative;
  display: grid;
  grid-template-columns: clamp(11rem, 22vw, 15.5rem) minmax(0, 1fr);
  min-height: 12rem;
  overflow: hidden;
  border: 1px solid rgb(17 19 21 / 10%);
  border-left-width: 5px;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 10px 28px rgb(17 19 21 / 7%);
}

.cp-acervo-list-card--dossie {
  border-left-color: var(--cp-color-purple);
  background:
    linear-gradient(90deg, rgb(104 19 139 / 4%), transparent 31%),
    #fff;
}

.cp-acervo-list-card--materia {
  border-left-color: rgb(17 19 21 / 72%);
}

.cp-acervo-list-card__media {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
  background: #151618;
}

.cp-acervo-list-card__media img,
.cp-acervo-list-card__placeholder {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

.cp-acervo-list-card:hover .cp-acervo-list-card__media img {
  transform: scale(1.025);
}

.cp-acervo-list-card--dossie .cp-acervo-list-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgb(104 19 139 / 28%), rgb(27 8 38 / 7%) 65%);
}

.cp-acervo-list-card__placeholder {
  display: grid;
  place-items: center;
  min-height: 12rem;
  color: rgb(255 255 255 / 72%);
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  background:
    radial-gradient(circle at 75% 25%, rgb(200 240 0 / 12%), transparent 35%),
    #191a1c;
}

.cp-acervo-list-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(1.05rem, 2.6vw, 1.55rem) clamp(1.1rem, 3vw, 1.8rem);
}

.cp-acervo-list-card__topline {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  margin-bottom: .55rem;
  color: var(--cp-color-gray-600);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.cp-acervo-list-card__type {
  font-weight: 900;
}

.cp-acervo-list-card--dossie .cp-acervo-list-card__type {
  color: var(--cp-color-purple);
}

.cp-acervo-list-card--materia .cp-acervo-list-card__type {
  color: var(--cp-color-ink);
}

.cp-acervo-list-card__title {
  max-width: 36ch;
  margin: 0;
  color: var(--cp-color-ink);
  font-size: clamp(1.25rem, 2.15vw, 1.75rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.035em;
}

.cp-acervo-list-card__title a {
  color: inherit;
  text-decoration: none;
}

.cp-acervo-list-card__badges {
  margin-top: .75rem;
}

.cp-acervo-list-card__badges .cp-badges {
  gap: .38rem;
  margin: 0;
}

.cp-acervo-list-card__badges .cp-badge,
.cp-acervo-list-card__badges .cp-status {
  padding: .34rem .62rem;
  font-size: .68rem;
  line-height: 1;
}

.cp-acervo-list-card--dossie .cp-acervo-list-card__badges .cp-status {
  border-color: rgb(104 19 139 / 22%);
  background: var(--cp-color-purple);
  color: #fff;
}

.cp-acervo-list-card--materia .cp-acervo-list-card__badges .cp-badge {
  border-color: rgb(17 19 21 / 10%);
  background: #f0f0ee;
  color: var(--cp-color-ink);
}

.cp-acervo-list-card__summary {
  max-width: 70ch;
  margin: .75rem 0 0;
  color: var(--cp-color-gray-700);
  font-size: .92rem;
  line-height: 1.52;
}

.cp-acervo-list-card__link {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  margin-top: auto;
  padding-top: .85rem;
  color: var(--cp-color-ink);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-decoration: none;
  text-transform: uppercase;
}

.cp-acervo-list-card--dossie .cp-acervo-list-card__link {
  color: var(--cp-color-purple);
}

.cp-acervo-list-card--materia .cp-acervo-list-card__link span {
  color: var(--cp-color-lime-deep, #8baa00);
}

.cp-acervo-list-card__link:hover,
.cp-acervo-list-card__link:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}

.cp-acervo-results__pagination {
  margin-top: 1.5rem;
}

/* O filtro é literalmente o mesmo nas duas áreas. Somente o valor inicial de
   “Tipo” difere por função editorial: Dossiês em Fiscalizações, Matérias em Publicações. */
.cp-fiscalizacoes-page .cp-dossie-filters,
.cp-publicacoes-page .cp-dossie-filters {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .cp-acervo-results__summary {
    display: grid;
    gap: .2rem;
  }

  .cp-acervo-list-card {
    grid-template-columns: 1fr;
    min-height: 0;
    border-left-width: 1px;
    border-top-width: 5px;
  }

  .cp-acervo-list-card--dossie {
    border-top-color: var(--cp-color-purple);
  }

  .cp-acervo-list-card--materia {
    border-top-color: rgb(17 19 21 / 72%);
  }

  .cp-acervo-list-card__media {
    min-height: 0;
    aspect-ratio: 16 / 8.5;
  }

  .cp-acervo-list-card__media img,
  .cp-acervo-list-card__placeholder {
    min-height: 0;
  }

  .cp-acervo-list-card__content {
    padding: 1.05rem 1rem 1.15rem;
  }

  .cp-acervo-list-card__title {
    max-width: none;
    font-size: clamp(1.2rem, 6vw, 1.55rem);
    line-height: 1.06;
  }

  .cp-acervo-list-card__summary {
    font-size: .9rem;
  }
}

/* 0.9.233 — fechamento da Home: reduz o respiro entre número e título em 'Por onde começar'. */

/* 0.9.236 — Home / “Por onde começar”: aproxima o CTA do texto e remove o vazio interno excessivo. */
.cp-home164-route {
  display: flex;
  flex-direction: column;
}

.cp-home164-route b {
  position: static;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: .28rem;
  margin-top: 1.35rem;
}

@media (max-width: 760px) {
  .cp-home164-route {
    min-height: 0;
    padding-bottom: 1.65rem;
  }

  .cp-home164-route b {
    margin-top: 1.15rem;
  }
}


/* 0.9.237 — fechamento mobile da página Sobre Camila:
   reduz áreas vazias no Hero, “Do escritório para o território”
   e “Participação transforma”, preservando desktop/tablet. */
@media (max-width: 720px) {
  /* Hero: aproxima o conteúdo do início da imagem. */
  .cp-about100-hero,
  .cp-about100-hero__grid {
    min-height: 34rem;
  }

  .cp-about100-hero__copy {
    padding-top: 2.15rem;
    padding-bottom: 2.7rem;
  }

  /* Do escritório para o território:
     reduz a grande faixa exclusivamente fotográfica antes do texto. */
  .cp-about100-intro__stage,
  .cp-about100-intro__stage .cp-about100-intro__grid,
  .cp-about100-intro__copy {
    min-height: 0;
  }

  .cp-about100-intro__copy {
    justify-content: flex-end;
    padding-top: 9rem;
    padding-bottom: 1.8rem;
  }

  /* Participação transforma:
     deixa a altura acompanhar o conteúdo e reduz a faixa vazia superior. */
  .cp-about100-closing,
  .cp-about100-closing__grid {
    min-height: 0;
  }

  .cp-about100-closing__copy {
    padding-top: 6rem;
    padding-bottom: 2.5rem;
  }
}


/* 0.9.238 — fechamento mobile da página Sobre Camila.
   1) Reduz de fato o vazio antes de “Do escritório para o território”.
   2) Reenquadra o Hero para tornar o rosto de Camila perceptível no mobile,
      sem trocar nem editar a fotografia e sem alterar desktop/tablet. */
@media (max-width: 720px) {
  /* Hero: mantém a composição aprovada, mas traz o rosto para a área visível. */
  .cp-about100-hero__photo img {
    object-position: 70% 23%;
    filter: grayscale(.22) brightness(.88) contrast(1.04);
  }

  .cp-about100-hero::before {
    background:
      linear-gradient(90deg, rgb(35 38 41 / 82%) 0%, rgb(35 38 41 / 66%) 48%, rgb(35 38 41 / 34%) 100%),
      linear-gradient(180deg, rgb(35 38 41 / 38%) 0%, rgb(35 38 41 / 42%) 58%, rgb(35 38 41 / 88%) 100%),
      radial-gradient(circle at 75% 42%, rgb(200 240 0 / 8%), transparent 28%);
  }

  /* “Do escritório para o território”: o conteúdo entra bem antes na imagem. */
  .cp-about100-intro__copy {
    padding-top: 4.5rem;
    padding-bottom: 1.8rem;
  }
}


/* 0.9.239 — Sobre Camila / mobile:
   reduz o espaço ao final de “Trajetória de envolvimento e impacto”
   antes do bloco “Do escritório para o território”. */
@media (max-width: 720px) {
  .cp-about100-timeline {
    padding-bottom: 1.4rem;
  }

  .cp-about100-timeline__list li:last-child {
    min-height: 0;
    padding-bottom: .2rem;
  }
}


/* 0.9.240 — Sobre Camila / Hero mobile:
   em telas pequenas, a foto deixa de funcionar como fundo do texto e passa
   a ocupar uma faixa própria no topo; o conteúdo vem abaixo, em composição
   editorial independente. Desktop e tablet permanecem como antes. */
@media (max-width: 720px) {
  .cp-about100-hero {
    display: block;
    min-height: 0;
    background: #232629;
  }

  .cp-about100-hero::before {
    display: none;
  }

  .cp-about100-hero__photo {
    position: relative;
    inset: auto;
    width: 100%;
    height: min(74vw, 22rem);
    overflow: hidden;
  }

  .cp-about100-hero__photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 22%;
    background: linear-gradient(180deg, rgb(35 38 41 / 0%) 0%, rgb(35 38 41 / 82%) 100%);
    pointer-events: none;
  }

  .cp-about100-hero__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% 24%;
    filter: grayscale(.12) brightness(.96) contrast(1.02);
  }

  .cp-about100-hero__grid {
    display: block;
    min-height: 0;
  }

  .cp-about100-hero__copy {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    padding: 1.85rem 1.25rem 1.65rem;
    margin: 0;
    background: #232629;
  }

  .cp-about100-hero__copy .cp-kicker,
  .cp-about100-hero__copy .eyebrow {
    margin-top: 0;
  }

  .cp-about100-hero__copy h1 {
    margin-top: .85rem;
  }

  .cp-about100-hero__copy p {
    max-width: 31rem;
  }
}


/* 0.9.241 — Sobre Camila / Hero mobile:
   sobe o bloco de texto e reorganiza a transição entre foto e conteúdo. */
@media (max-width: 720px) {
  .cp-about100-hero__photo {
    height: min(70vw, 20.5rem);
  }

  .cp-about100-hero__photo::after {
    height: 14%;
    background: linear-gradient(180deg, rgb(35 38 41 / 0%) 0%, rgb(35 38 41 / 72%) 100%);
  }

  .cp-about100-hero__copy {
    margin-top: -0.8rem;
    padding-top: 1.15rem;
    padding-bottom: 1.65rem;
  }

  .cp-about100-hero__copy h1 {
    margin-top: .65rem;
  }
}


/* 0.9.242 — Sobre Camila / Hero mobile:
   limpa a transição entre foto e bloco textual e sobe discretamente o conteúdo. */
@media (max-width: 720px) {
  .cp-about100-hero__photo::after {
    display: none;
  }

  .cp-about100-hero__copy {
    margin-top: 0;
    padding-top: .75rem;
    border-top: 0;
  }
}


/* 0.9.243 — Fiscalizações: compacta os respiros da área de consulta e corrige o título do bloco do acervo. */
.cp-fiscalizacoes-search {
  padding-top: clamp(2.35rem, 3.5vw, 3.6rem);
  padding-bottom: clamp(2.55rem, 3.9vw, 4rem);
}

.cp-hub-more--dossies {
  padding-top: clamp(2.15rem, 3.4vw, 3.1rem);
  padding-bottom: clamp(2.1rem, 3.2vw, 3rem);
}

.cp-fiscalizacoes-related-publicacoes {
  padding-top: clamp(2.3rem, 3.5vw, 3.3rem);
  padding-bottom: clamp(2.35rem, 3.6vw, 3.35rem);
}

.cp-hub-more--dossies + .cp-fiscalizacoes-search {
  padding-top: clamp(1.65rem, 2.6vw, 2.3rem);
}

.cp-fiscalizacoes-search__header .cp-section__title {
  max-width: none;
}

.cp-fiscalizacoes-search__header .cp-section__title .cp-title-line {
  display: block;
}

@media (min-width: 721px) {
  .cp-fiscalizacoes-search__header .cp-section__title {
    font-size: clamp(2.55rem, 4.4vw, 4.15rem);
    line-height: .94;
  }
}

@media (max-width: 720px) {
  .cp-fiscalizacoes-search {
    padding-top: 2rem;
    padding-bottom: 2.15rem;
  }

  .cp-fiscalizacoes-search__header .cp-section__title {
    font-size: clamp(1.9rem, 10.4vw, 2.75rem);
    line-height: .96;
  }

  .cp-fiscalizacoes-search__header .cp-section__title .cp-title-line--secondary {
    margin-top: .08em;
  }
}


/* 0.9.245 — Fiscalizações / desktop:
   corrige a causa real da quebra indevida no título do bloco lateral. */
@media (min-width: 981px) {
  .cp-fiscalizacoes-hero__note--explain h2 {
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}


/* 0.9.246 — Fiscalizações / desktop:
   amplia efetivamente a largura do quadro lateral direito do hero,
   preservando a correção de quebra natural do título. */
@media (min-width: 981px) {
  .cp-fiscalizacoes-hero__grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(23.25rem, 0.72fr);
    gap: clamp(2.2rem, 5.2vw, 5.6rem);
  }
}


/* 0.9.247 — Fiscalizações / hero em destaque (desktop):
   reposiciona o quadro lateral para a direita e alinha seu topo com o início do conteúdo destacado,
   evitando concorrência/ sobreposição visual com o título principal. */
@media (min-width: 901px) {
  .cp-fiscalizacoes-hero__grid--featured {
    align-items: start;
    grid-template-columns: minmax(0, 1.92fr) minmax(23rem, .98fr);
    gap: clamp(2.8rem, 6.4vw, 7.4rem);
  }

  .cp-fiscalizacoes-hero__content--featured {
    max-width: 50rem;
  }

  .cp-fiscalizacoes-hero__note--explain {
    justify-self: end;
    align-self: start;
    width: min(100%, 27rem);
    margin-top: 1.45rem;
  }
}


/* 0.9.248 — Fiscalizações / desktop:
   posicionamento efetivo do quadro explicativo no hero. */
@media (min-width: 1101px) {
  .cp-fiscalizacoes-hero__grid--featured {
    grid-template-columns: minmax(0, 1.95fr) minmax(23.5rem, .9fr);
    column-gap: clamp(4rem, 7vw, 7.5rem);
  }

  .cp-fiscalizacoes-hero__note--explain {
    justify-self: end;
    align-self: start;
    width: 27rem;
    margin-top: 2.65rem;
    transform: translateX(4rem);
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .cp-fiscalizacoes-hero__note--explain {
    transform: none;
    margin-top: 1.8rem;
  }
}


/* 0.9.249 — Fiscalizações / HCR desktop:
   controla a última linha do título para impedir invasão da coluna lateral. */
@media (min-width: 1101px) {
  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1.cp-title-hcr {
    max-width: 17ch;
  }

  .cp-fiscalizacoes-archive .cp-fiscalizacoes-hero--featured h1.cp-title-hcr .cp-hcr-line:last-child {
    display: inline-block;
    max-width: 14.5ch;
    white-space: normal;
  }

  .cp-fiscalizacoes-hero__note--explain {
    transform: translateX(2.5rem);
  }
}


/* 0.9.250 — Fiscalizações / mobile:
   impede a quebra da palavra “acompanhamento” no quadro explicativo do hero. */
@media (max-width: 900px) {
  .cp-fiscalizacoes-hero__note--explain h2 {
    max-width: none;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
  }
}


/* 0.9.251 — Publicações / desktop:
   alinha o topo do bloco “Navegue pelo acervo” com o início editorial do destaque. */
@media (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__grid {
    align-items: start;
  }

  .cp-publicacoes-home .cp-publicacoes-hero__note {
    padding-top: .95rem;
  }
}


/* 0.9.252 — Publicações / desktop:
   alinhamento efetivo do bloco “Navegue pelo acervo” com “Publicações · Em destaque”. */
@media (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__note {
    margin-top: -1.15rem;
    padding-top: .1rem;
  }
}


/* 0.9.253 — Publicações / desktop:
   corrige o alinhamento superior real entre o destaque à esquerda
   e o bloco “Navegue pelo acervo” à direita. */
@media (min-width: 901px) {
  .cp-publicacoes-home .cp-publicacoes-hero__note {
    margin-top: 2.25rem;
    padding-top: .25rem;
  }
}

/* 0.9.258 — Equipe / mobile:
   elimina a barra de rolagem horizontal nos filtros de publicações. */
@media (max-width: 720px) {
  .cp-team-publications__filters {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: .15rem;
    column-gap: .35rem;
    scrollbar-width: none;
  }

  .cp-team-publications__filters::-webkit-scrollbar {
    display: none;
  }

  .cp-team-publications__filters button {
    padding-inline: .8rem;
  }
}


/* 0.9.259 — Equipe / mobile:
   mantém os filtros em uma única linha, com gesto horizontal e sem barra visível. */
@media (max-width: 720px) {
  .cp-team-publications__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: .25rem;
    padding-bottom: .05rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .cp-team-publications__filters::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .cp-team-publications__filters button {
    flex: 0 0 auto;
    padding: .82rem .92rem;
    white-space: nowrap;
    scroll-snap-align: start;
  }
}


/* 0.9.260 — Equipe / mobile:
   faz caber todos os filtros na largura visível, sem esconder “Por Júlia”. */
@media (max-width: 720px) {
  .cp-team-publications__filters {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    overflow: visible;
    gap: .12rem;
    padding-bottom: 0;
    scrollbar-width: none;
    scroll-snap-type: none;
  }

  .cp-team-publications__filters button {
    flex: 0 1 auto;
    min-width: 0;
    padding: .78rem .2rem;
    font-size: .70rem;
    letter-spacing: -.01em;
    white-space: nowrap;
  }
}


/* 0.9.261 — Acervo compartilhado / Fiscalizações + Publicações:
   9 resultados por página e paginação navegável, preservando filtros. */
.cp-acervo-results__pagination {
  margin-top: clamp(1.6rem, 3vw, 2.4rem);
}

.cp-acervo-results__pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cp-acervo-results__pagination .page-numbers a,
.cp-acervo-results__pagination .page-numbers span {
  display: inline-flex;
  min-width: 2.65rem;
  min-height: 2.65rem;
  align-items: center;
  justify-content: center;
  padding: .55rem .8rem;
  border: 1px solid rgb(17 19 21 / 12%);
  border-radius: 999px;
  background: #fff;
  color: var(--cp-color-ink);
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-acervo-results__pagination .page-numbers .current {
  border-color: var(--cp-color-purple);
  background: var(--cp-color-purple);
  color: #fff;
}

@media (max-width: 720px) {
  .cp-acervo-results__pagination .page-numbers {
    justify-content: center;
  }
}

/* 0.9.262 — dossiê: matéria relacionada com capa própria e destaque editorial. */
.cp-related-bridge--with-media {
  overflow: hidden;
  padding: 0;
}

.cp-related-bridge__media {
  display: block;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  background: #111;
}

.cp-related-bridge__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cp-related-bridge--with-media .cp-related-bridge__inner {
  padding: clamp(1.35rem, 2.8vw, 2rem);
}

.cp-related-bridge--dossie h2 .cp-editorial-accent {
  color: var(--cp-color-lime-deep);
}

@media (max-width: 780px) {
  .cp-related-bridge__media {
    aspect-ratio: 16 / 9;
  }
}



/* 0.9.263 — HVET + padrão visual de dossiês.
   - força o destaque verde completo no hero do dossiê HVET;
   - devolve as tags dos dossiês ao roxo aprovado;
   - aumenta somente o título da matéria HVET, sem afetar matérias já fechadas. */
.cp-site-main--dossie .cp-dossie-cover .cp-badge,
.cp-card--dossie .cp-badge,
.cp-hub-more--dossies .cp-card--dossie .cp-badge,
.cp-fiscalizacoes-grid .cp-card--dossie .cp-badge {
  border-color: rgb(104 19 139 / 55%) !important;
  background: rgb(104 19 139 / 88%) !important;
  color: #fff !important;
}

.cp-site-main--dossie .cp-dossie-cover .cp-status,
.cp-card--dossie .cp-status {
  border-color: rgb(200 240 0 / 42%) !important;
  background: var(--cp-color-lime) !important;
  color: var(--cp-color-ink) !important;
}

.cp-site-main--dossie .cp-dossie-cover h1 .cp-editorial-accent {
  color: var(--cp-color-lime) !important;
}

@media (min-width: 901px) {
  .single-post .cp-single-article__hero--hvet .cp-single-article__hero-copy {
    width: min(74vw, 82rem);
    max-width: none;
  }

  .single-post .cp-single-article__hero--hvet h1,
  .single-post .cp-single-article__hero--hvet.cp-single-article__hero--editorial-lime h1 {
    width: min(100%, 72rem);
    max-width: 24ch;
    font-size: clamp(2.65rem, 3.45vw, 4.4rem);
    line-height: .92;
    letter-spacing: -.052em;
  }
}

@media (max-width: 900px) {
  .single-post .cp-single-article__hero--hvet h1,
  .single-post .cp-single-article__hero--hvet.cp-single-article__hero--editorial-lime h1 {
    font-size: clamp(2.25rem, 8vw, 3.5rem);
    line-height: .94;
  }
}




/* 0.9.267 — Página Contato / refinamento de layout. */
.cp-contact-page--editorial {
  background: var(--cp-color-gray-100);
}

.cp-contact-hero {
  padding: clamp(1.2rem, 2.8vw, 2rem) 0 clamp(3.2rem, 6vw, 5rem);
  background:
    radial-gradient(circle at 88% 18%, rgb(200 240 0 / 12%), transparent 22rem),
    var(--cp-color-gray-100);
  color: var(--cp-color-ink);
}

.cp-contact-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(32rem, 1.1fr);
  gap: clamp(2rem, 4vw, 4.25rem);
  align-items: start;
}

.cp-contact-hero__copy {
  padding-top: .2rem;
}

.cp-contact-hero__copy .cp-eyebrow,
.cp-contact-form-card .cp-eyebrow,
.cp-contact-channels .cp-eyebrow {
  color: var(--cp-color-purple);
}

.cp-contact-hero__copy h1 {
  max-width: 8.2ch;
  margin: .4rem 0 1.15rem;
  font-size: clamp(3.35rem, 6.1vw, 6.1rem);
  line-height: .88;
  letter-spacing: -.07em;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.cp-contact-hero__copy h1 span {
  display: block;
  margin-top: .22em;
  max-width: 8.8ch;
  color: var(--cp-color-lime-deep);
  font-size: .76em;
  line-height: .92;
  letter-spacing: -.05em;
}

.cp-contact-hero__lead {
  max-width: 28rem;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: clamp(1.02rem, 1.5vw, 1.24rem);
  line-height: 1.5;
}

.cp-contact-hero__note {
  max-width: 30rem;
  margin-top: 1.65rem;
  padding: 1rem 0 0 1.15rem;
  border-left: .28rem solid var(--cp-color-lime);
}

.cp-contact-hero__note strong {
  display: block;
  margin-bottom: .3rem;
  font-size: .92rem;
}

.cp-contact-hero__note p {
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: .88rem;
  line-height: 1.48;
}

.cp-contact-form-card {
  padding: clamp(1.6rem, 3.2vw, 2.7rem);
  border: 1px solid rgb(17 18 19 / 8%);
  border-radius: clamp(1.35rem, 3vw, 2rem);
  background: var(--cp-color-white);
  box-shadow: 0 1rem 2.4rem rgb(17 18 19 / 6%);
}

.cp-contact-form-card__header {
  margin-bottom: 1.4rem;
}

.cp-contact-form-card__header h2 {
  max-width: 10ch;
  margin: .4rem 0 .75rem;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  line-height: .94;
  letter-spacing: -.05em;
}

.cp-contact-form-card__header > p:last-child {
  max-width: 42rem;
  margin: 0;
  color: var(--cp-color-gray-700);
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.56;
}

.cp-contact-form {
  min-height: 9rem;
}

.cp-contact-form-card .wpforms-container {
  margin: 0;
}

.cp-contact-form-card .wpforms-field {
  padding-block: .55rem !important;
}

.cp-contact-form-card .wpforms-field-label {
  margin-bottom: .4rem !important;
  color: var(--cp-color-ink) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.cp-contact-form-card input:not([type="checkbox"]):not([type="radio"]),
.cp-contact-form-card select,
.cp-contact-form-card textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 3.2rem;
  padding: .85rem 1rem !important;
  border: 1px solid var(--cp-color-gray-300) !important;
  border-radius: .75rem !important;
  background: #fafafa !important;
  color: var(--cp-color-ink) !important;
  box-shadow: none !important;
}

.cp-contact-form-card textarea {
  min-height: 10rem;
  resize: vertical;
}

.cp-contact-form-card input:focus,
.cp-contact-form-card select:focus,
.cp-contact-form-card textarea:focus {
  border-color: var(--cp-color-purple) !important;
  outline: 3px solid rgb(104 19 139 / 12%) !important;
}

.cp-contact-form-card .wpforms-submit,
.cp-contact-form-card button[type="submit"],
.cp-contact-form-card input[type="submit"] {
  min-height: 3.25rem !important;
  padding: .8rem 1.5rem !important;
  border: 1px solid var(--cp-color-ink) !important;
  border-radius: 999px !important;
  background: var(--cp-color-lime) !important;
  color: var(--cp-color-ink) !important;
  box-shadow: none !important;
  font-weight: 900 !important;
}

.cp-contact-form-card .wpforms-submit:hover,
.cp-contact-form-card button[type="submit"]:hover,
.cp-contact-form-card input[type="submit"]:hover {
  transform: translateY(-1px);
  background: var(--cp-color-ink) !important;
  color: #fff !important;
}

.cp-contact-form-placeholder {
  min-height: 8.6rem;
  padding: 1.2rem 1.25rem;
  border: 1px dashed var(--cp-color-gray-300);
  border-radius: 1rem;
  background: linear-gradient(180deg, #fafafa 0%, #f3f3f3 100%);
  color: var(--cp-color-gray-700);
}

.cp-contact-form-placeholder__title {
  margin: 0 0 .45rem;
  color: var(--cp-color-ink);
  font-size: 1rem;
  font-weight: 900;
}

.cp-contact-form-placeholder__helper {
  margin-top: .65rem;
  font-size: .82rem;
  color: var(--cp-color-gray-700);
}

.cp-contact-privacy {
  margin: 1rem 0 0;
  padding-top: .9rem;
  border-top: 1px solid var(--cp-color-gray-300);
  color: var(--cp-color-gray-700);
  font-size: .75rem;
  line-height: 1.5;
}

.cp-contact-channels {
  padding: 0 0 clamp(4rem, 7vw, 6rem);
  background: var(--cp-color-gray-100);
}

.cp-contact-channels__header {
  display: grid;
  gap: .45rem;
  margin-bottom: 1.35rem;
}

.cp-contact-channels__header h2 {
  margin: 0;
  font-size: clamp(2rem, 3.8vw, 3.85rem);
  letter-spacing: -.05em;
}

.cp-contact-channels__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.cp-contact-channel-card {
  min-height: 14rem;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid var(--cp-color-gray-300);
  border-radius: 1.5rem;
  background: #fff;
}

.cp-contact-channel-card--dark {
  border-color: transparent;
  background: var(--cp-color-ink);
  color: #fff;
}

.cp-contact-channel-card__index {
  margin: 0 0 1.75rem;
  color: var(--cp-color-lime-deep);
  font-size: 1rem;
  font-weight: 900;
}

.cp-contact-channel-card--dark .cp-contact-channel-card__index {
  color: var(--cp-color-lime);
}

.cp-contact-channel-card h3 {
  margin: 0 0 .8rem;
  font-size: clamp(1.9rem, 3vw, 2.9rem);
  letter-spacing: -.04em;
}

.cp-contact-channel-card > p:not(.cp-contact-channel-card__index) {
  max-width: 32rem;
  color: inherit;
  opacity: .76;
}

.cp-contact-channel-card ul {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.cp-contact-channel-card li a {
  display: inline-flex;
  gap: .45rem;
  align-items: center;
  min-height: 2.5rem;
  padding: .55rem .85rem;
  border: 1px solid currentcolor;
  border-radius: 999px;
  color: inherit;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.cp-contact-channel-card li a:hover {
  border-color: var(--cp-color-lime);
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
}

@media (max-width: 1100px) {
  .cp-contact-hero__grid {
    grid-template-columns: 1fr;
  }

  .cp-contact-hero__copy h1,
  .cp-contact-hero__copy h1 span {
    max-width: none;
  }
}

@media (max-width: 700px) {
  .cp-contact-hero {
    padding-top: 1.2rem;
  }

  .cp-contact-hero__copy h1 {
    font-size: clamp(2.9rem, 13vw, 4.6rem);
    line-height: .92;
  }

  .cp-contact-hero__copy h1 span {
    font-size: .68em;
  }

  .cp-contact-form-card {
    padding: 1.2rem;
    border-radius: 1.25rem;
  }

  .cp-contact-channels__grid {
    grid-template-columns: 1fr;
  }

  .cp-contact-channel-card {
    min-height: auto;
  }
}



/* 0.9.268 — Contato: compactação vertical e remoção da faixa acidental. */
.cp-site-main.cp-contact-page {
  padding-block: 0 !important;
}

.cp-contact-hero {
  padding-top: clamp(.7rem, 1.4vw, 1.15rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.cp-contact-hero__copy {
  padding-top: 0;
}

.cp-contact-hero__copy .cp-eyebrow {
  margin-bottom: .45rem;
}

.cp-contact-hero__copy h1 {
  margin-top: .2rem;
  margin-bottom: .85rem;
}

.cp-contact-hero__copy h1 span {
  margin-top: .14em;
}

.cp-contact-hero__note {
  margin-top: 1.15rem;
  padding-top: .75rem;
}

.cp-contact-form-card {
  padding-top: clamp(1.35rem, 2.5vw, 2rem);
  padding-bottom: clamp(1.35rem, 2.5vw, 2rem);
}

.cp-contact-form-card__header {
  margin-bottom: 1rem;
}

.cp-contact-form-card__header .cp-eyebrow {
  margin-bottom: .45rem;
}

.cp-contact-form-card__header h2 {
  margin-top: .2rem;
  margin-bottom: .55rem;
}

.cp-contact-privacy {
  margin-top: .75rem;
  padding-top: .7rem;
}

.cp-contact-channels {
  padding-top: clamp(1rem, 2vw, 1.6rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.cp-contact-channels__header {
  margin-bottom: 1rem;
}

.cp-contact-channel-card {
  min-height: 12.5rem;
}

.cp-contact-channel-card__index {
  margin-bottom: 1.15rem;
}

@media (max-width: 700px) {
  .cp-contact-hero {
    padding-top: .65rem;
    padding-bottom: 1.4rem;
  }

  .cp-contact-channels {
    padding-top: .8rem;
  }
}



/* 0.9.269 — Contato: remove faixa branca entre o último bloco e o rodapé. */
.cp-contact-page--editorial .cp-contact-channels {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.cp-contact-page--editorial + .cp-site-footer,
body.page-template-page-contato .cp-site-footer,
body.page-template-page-contato-php .cp-site-footer {
  margin-top: 0 !important;
}

body.page-template-page-contato,
body.page-template-page-contato-php {
  background: var(--cp-color-gray-100);
}



/* 0.9.270 — Contato: pequeno respiro antes do rodapé. */
.cp-contact-page--editorial .cp-contact-channels {
  padding-bottom: clamp(1.1rem, 2vw, 1.8rem) !important;
}



/* 0.9.271 — Formulário institucional nativo / Camila Palermo Core. */
.cp-contact-native-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem 1rem;
}

.cp-contact-field {
  display: grid;
  gap: .4rem;
}

.cp-contact-field--full {
  grid-column: 1 / -1;
}

.cp-contact-field > span {
  color: var(--cp-color-ink);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cp-contact-native-form input[type="text"],
.cp-contact-native-form input[type="email"],
.cp-contact-native-form input[type="tel"],
.cp-contact-native-form textarea {
  width: 100%;
  max-width: none;
  padding: .82rem .95rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: .75rem;
  background: #fafafa;
  color: var(--cp-color-ink);
  box-shadow: none;
  font: inherit;
}

.cp-contact-native-form input[type="text"],
.cp-contact-native-form input[type="email"],
.cp-contact-native-form input[type="tel"] {
  min-height: 3.15rem;
}

.cp-contact-native-form textarea {
  min-height: 8.5rem;
  resize: vertical;
}

.cp-contact-native-form input:focus,
.cp-contact-native-form textarea:focus {
  border-color: var(--cp-color-purple);
  outline: 3px solid rgb(104 19 139 / 12%);
}

.cp-contact-consent {
  display: grid;
  grid-template-columns: 1.1rem 1fr;
  gap: .65rem;
  align-items: start;
  margin-top: .95rem;
  color: var(--cp-color-gray-700);
  font-size: .82rem;
  line-height: 1.45;
}

.cp-contact-consent input {
  width: 1rem;
  height: 1rem;
  margin-top: .15rem;
  accent-color: var(--cp-color-purple);
}

.cp-contact-native-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1rem;
  align-items: center;
  margin-top: 1.1rem;
}

.cp-contact-native-form__submit {
  display: inline-flex;
  gap: .65rem;
  align-items: center;
  justify-content: center;
  min-height: 3.2rem;
  padding: .8rem 1.35rem;
  border: 1px solid var(--cp-color-ink);
  border-radius: 999px;
  background: var(--cp-color-lime);
  color: var(--cp-color-ink);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.cp-contact-native-form__submit:hover {
  background: var(--cp-color-ink);
  color: #fff;
}

.cp-contact-native-form__submit:disabled {
  cursor: wait;
  opacity: .65;
}

.cp-contact-native-form__status {
  flex: 1 1 16rem;
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
}

.cp-contact-native-form__status[data-state="success"] {
  color: #2f6400;
  font-weight: 800;
}

.cp-contact-native-form__status[data-state="error"] {
  color: #a2261c;
  font-weight: 800;
}

.cp-contact-native-form__status[data-state="loading"] {
  color: var(--cp-color-gray-700);
}

@media (max-width: 700px) {
  .cp-contact-native-form__grid {
    grid-template-columns: 1fr;
  }

  .cp-contact-field--full {
    grid-column: auto;
  }

  .cp-contact-native-form__submit {
    width: 100%;
  }
}



/* 0.9.272 — Formulário institucional: endpoint correto do Core 0.9.20. */
.cp-contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}



/* 0.9.273 — Contato: campo Assunto e roteamento editorial. */
.cp-contact-native-form select {
  width: 100%;
  max-width: none;
  min-height: 3.15rem;
  padding: .82rem .95rem;
  border: 1px solid var(--cp-color-gray-300);
  border-radius: .75rem;
  background: #fafafa;
  color: var(--cp-color-ink);
  box-shadow: none;
  font: inherit;
}

.cp-contact-native-form select:focus {
  border-color: var(--cp-color-purple);
  outline: 3px solid rgb(104 19 139 / 12%);
}

.cp-contact-field__help {
  display: block;
  margin-top: .15rem;
  color: var(--cp-color-gray-700);
  font-size: .76rem;
  line-height: 1.45;
}

