/*
Theme Name: Octopus Theme
Theme URI: https://cinf.com.br
Author: CINF
Description: Tema WordPress do CINF, com componentes do Octopus System.
Version: 0.1.1
Requires at least: 6.0
Requires PHP: 8.1
License: Proprietário
Text Domain: effecti-arrow
*/
:root {
  --color-plan-gratis-surface: var(--primitive-green-100);
  --color-plan-gratis-surface-subtle: var(--primitive-green-50);
  --color-plan-gratis-content: var(--primitive-green-700);
  --color-plan-iniciante-surface: var(--primitive-merino-100);
  --color-plan-iniciante-surface-subtle: var(--primitive-merino-50);
  --color-plan-iniciante-content: var(--primitive-merino-700);
  --color-plan-profissional-surface: var(--primitive-blizzard-100);
  --color-plan-profissional-surface-subtle: var(--primitive-blizzard-50);
  --color-plan-profissional-content: var(--primitive-blizzard-700);
  --color-plan-grandes-contas-surface: var(--primitive-gulf-100);
  --color-plan-grandes-contas-surface-subtle: var(--primitive-gulf-50);
  --color-plan-grandes-contas-content: var(--primitive-gulf-700);
  --color-plan-consultor-surface: var(--primitive-orange-100);
  --color-plan-consultor-surface-subtle: var(--primitive-orange-50);
  --color-plan-consultor-content: var(--primitive-orange-700);
}

/* Base do tema — usa os tokens do Arrow (carregados por assets/css/arrow.css).
   Os var(--token, fallback) garantem sanidade mesmo se algum token faltar. */
:root {
  color-scheme: light;
  /* Contrato visual único da moldura superior: header e capas da hero sempre
     consomem a mesma superfície, sem duplicação ou dependência de cor literal. */
  --site-shell-surface: var(--color-surface-inverted, #081128);
  /* Largura máx. do conteúdo — espelha o container "boxed" do site atual (Elementor). */
  --site-max: 1380px;
  /* Tokens oficiais de marketing do Arrow. Mantidos aqui até o próximo sync
     integral do artefato assets/css/arrow.css. */
  --type-editorial-lg-size: 36px;
  --type-editorial-lg-weight: 500;
  --type-editorial-lg-line-height: 1.2;
  --type-editorial-lg-tracking: -0.04em;
  --type-metric-xl-size: 70px;
  --type-metric-xl-weight: 400;
  --type-metric-xl-line-height: 1.3;
  --type-metric-xl-tracking: -0.04em;
  --radius-32: 32px;
  --shape-container-3xl: var(--radius-32);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-family-base, "Inter", system-ui, sans-serif);
  color: var(--color-content-primary, #081128);
  background: var(--color-surface-base, #ffffff);
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--color-purple-100);
  color: var(--color-purple-900);
}

.site-shell,
.site-topbar__inner,
.site-footer__inner {
  max-width: var(--site-max, 1380px);
  margin-inline: auto;
  padding-inline: 24px;
}

/* Header: contrato compartilhado em assets/css/octopus-site-header.css. */

/* O conteúdo permanece geometricamente íntegro. O acabamento arredondado da
   emenda header → hero pertence à própria hero (capas sobrepostas abaixo), não
   ao recorte do site-main — assim nenhuma superfície externa vaza nos cantos. */
.site-main {
  position: relative;
  background: var(--color-surface-base, #ffffff);
  overflow: clip;
}

/* Hero: contrato compartilhado em assets/css/octopus-hero.css. */

/* ============================================================
   Home — seções
   ============================================================ */

/* Marcas de clientes — confiança institucional administrável. */
.cinf-iniciativas {
  position: relative;
  width: 100%;
  padding-block: var(--space-structural-lg);
  background: var(--color-purple-100);
  color: var(--color-text-primary);
  overflow-x: clip;
}
.cinf-iniciativas__inner {
  position: relative;
  width: min(calc(100% - (2 * var(--grid-margin-minimal))), var(--site-max, 1380px));
  margin-inline: auto;
  isolation: isolate;
}
.cinf-iniciativas__fx {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  color: var(--color-purple-50);
  opacity: 0.48;
}
.cinf-iniciativas__fx-svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}
.cinf-iniciativas__fx-band,
.cinf-iniciativas__fx-node,
.cinf-iniciativas__fx-origin,
.cinf-iniciativas__fx-traveler { fill: currentColor; }
.cinf-iniciativas__fx-node { opacity: 0; }
.cinf-iniciativas__fx-traveler { rx: 0; }
.cinf-iniciativas__header,
.cinf-iniciativas__grid { position: relative; z-index: 1; }
.cinf-iniciativas__header {
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
}
.cinf-iniciativas__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-component-xl);
  margin-top: var(--space-structural-sm);
}
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .cinf-iniciativas[data-cinf-initiatives-pin] {
    min-height: 280vh;
    padding-block: 0;
  }
  .cinf-iniciativas[data-cinf-initiatives-pin] .cinf-iniciativas__inner {
    position: sticky;
    top: var(--cinf-initiatives-sticky-top, 0px);
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: var(--space-structural-md);
  }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__grid > .octopus-editorial-card {
    opacity: var(--cinf-card-reveal, 0);
    transform: translateY(calc((1 - var(--cinf-card-reveal, 0)) * var(--space-layout-md)));
    will-change: opacity, transform;
  }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx {
    opacity: clamp(0, calc(var(--cinf-initiatives-progress, 0) * 4), 0.48);
    will-change: opacity;
  }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-band,
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-node,
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-traveler {
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-fill-mode: both;
    animation-play-state: paused;
    animation-delay: calc(var(--cinf-initiatives-progress, 0) * -1s);
  }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-band--a { animation-name: cinf-initiatives-fx-a; }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-band--b { animation-name: cinf-initiatives-fx-b; }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-band--c { animation-name: cinf-initiatives-fx-c; }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-node--1 { animation-name: cinf-initiatives-fx-node-1; }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-node--2 { animation-name: cinf-initiatives-fx-node-2; }
  .cinf-iniciativas[data-cinf-initiatives-ready] .cinf-iniciativas__fx-traveler { animation-name: cinf-initiatives-fx-traveler; }
}
@keyframes cinf-initiatives-fx-a {
  0% { d: path("M40 248 L40 248 L112 320 L112 320 Z"); }
  41.64%, 100% { d: path("M40 248 L200 40 L272 112 L112 320 Z"); }
}
@keyframes cinf-initiatives-fx-b {
  0%, 41.64% { d: path("M200 112 L200 112 L272 40 L272 40 Z"); }
  70.06%, 100% { d: path("M200 112 L288 268 L360 196 L272 40 Z"); }
}
@keyframes cinf-initiatives-fx-c {
  0%, 70.06% { d: path("M288 196 L288 196 L360 268 L360 268 Z"); }
  100% { d: path("M288 196 L467.02 100.25 L505.34 160.99 L360 268 Z"); }
}
@keyframes cinf-initiatives-fx-node-1 {
  0%, 41.63% { opacity: 0; }
  41.64%, 100% { opacity: 1; }
}
@keyframes cinf-initiatives-fx-node-2 {
  0%, 70.05% { opacity: 0; }
  70.06%, 100% { opacity: 1; }
}
@keyframes cinf-initiatives-fx-traveler {
  0% { rx: 0; transform: translate(0, 0); }
  41.64% { rx: 0; transform: translate(160px, -208px); }
  70.06% { rx: 0; transform: translate(248px, -52px); }
  100% { rx: 36px; transform: translate(408px, -152px); }
}
@media (prefers-reduced-motion: reduce) {
  .cinf-iniciativas__fx-band--a { d: path("M40 248 L200 40 L272 112 L112 320 Z"); }
  .cinf-iniciativas__fx-band--b { d: path("M200 112 L288 268 L360 196 L272 40 Z"); }
  .cinf-iniciativas__fx-band--c { d: path("M288 196 L467.02 100.25 L505.34 160.99 L360 268 Z"); }
  .cinf-iniciativas__fx-node { opacity: 1; }
  .cinf-iniciativas__fx-traveler { rx: 36px; transform: translate(408px, -152px); }
}
@media (max-width: 900px) {
  .cinf-iniciativas { padding-block: var(--space-structural-md); }
  .cinf-iniciativas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cinf-iniciativas__fx { opacity: 0.3; }
  .cinf-iniciativas__fx-band--a { d: path("M40 248 L200 40 L272 112 L112 320 Z"); }
  .cinf-iniciativas__fx-band--b { d: path("M200 112 L288 268 L360 196 L272 40 Z"); }
  .cinf-iniciativas__fx-band--c { d: path("M288 196 L467.02 100.25 L505.34 160.99 L360 268 Z"); }
  .cinf-iniciativas__fx-node { opacity: 1; }
  .cinf-iniciativas__fx-traveler { rx: 36px; transform: translate(408px, -152px); }
}
@media (max-width: 639px) {
  .cinf-iniciativas__inner { width: min(calc(100% - (2 * var(--grid-margin-xs))), var(--site-max, 1380px)); }
  .cinf-iniciativas__grid { grid-template-columns: 1fr; }
}

.destaque-agenda {
  width: 100%;
  padding-block: var(--space-structural-lg);
  background: var(--color-zinc-50);
  color: var(--color-text-primary);
}
.destaque-agenda__inner {
  width: min(calc(100% - (2 * var(--grid-margin-minimal))), var(--site-max, 1380px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: var(--space-layout-xl);
}
.destaque-agenda__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-layout-lg);
}
.destaque-agenda__intro .octopus-section-header { max-width: 560px; }
.destaque-agenda__all {
  --octopus-button-background: var(--color-brand-primary);
  --octopus-button-border: var(--color-brand-primary);
  --octopus-button-content: #FFFFFF;
  --color-focus-ring: var(--color-brand-primary-subtle);
}
.destaque-agenda__all:hover:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-brand-primary-strong);
  --octopus-button-border: var(--color-brand-primary-strong);
}
.destaque-agenda__all:active:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-purple-800);
  --octopus-button-border: var(--color-purple-800);
}
.destaque-agenda__cards { display: grid; gap: var(--space-component-xl); }
@media (min-width: 901px) {
  .destaque-agenda__intro {
    position: sticky;
    top: 0;
    min-height: 100vh;
    align-self: start;
    justify-content: center;
  }
}
@media (max-width: 900px) {
  .destaque-agenda { padding-block: var(--space-structural-md); }
  .destaque-agenda__inner { grid-template-columns: 1fr; gap: var(--space-structural-sm); }
}
@media (max-width: 639px) {
  .destaque-agenda__inner { width: min(calc(100% - (2 * var(--grid-margin-xs))), var(--site-max, 1380px)); }
}

.cinf-na-midia {
  position: relative;
  width: 100%;
  padding-block: var(--space-structural-lg);
  background: #FFFFFF;
  color: var(--color-text-primary);
  overflow-x: clip;
}
.cinf-na-midia__inner {
  position: relative;
  width: min(calc(100% - (2 * var(--grid-margin-minimal))), var(--site-max, 1380px));
  margin-inline: auto;
  isolation: isolate;
}
.cinf-na-midia__fx {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  color: var(--color-zinc-100);
  opacity: 0.48;
}
.cinf-na-midia__fx-svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}
.cinf-na-midia__fx :is(
  .cinf-fx-texture__idle,
  .cinf-fx-texture__band,
  .cinf-fx-texture__node,
  .cinf-fx-texture__origin,
  .cinf-fx-texture__traveler
) { fill: currentColor; }
.cinf-na-midia__fx :is(.cinf-fx-texture__idle, .cinf-fx-texture__traveler) { rx: 0; }
.cinf-na-midia__fx .cinf-fx-texture__node { opacity: 0; }
.cinf-na-midia__top,
.cinf-na-midia__grid { position: relative; z-index: 1; }
.cinf-na-midia__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-layout-xl);
}
.cinf-na-midia__header { max-width: 760px; }
.cinf-na-midia__all {
  --octopus-button-background: var(--color-brand-primary);
  --octopus-button-border: var(--color-brand-primary);
  --octopus-button-content: #FFFFFF;
  --color-focus-ring: var(--color-brand-primary-subtle);
  flex: none;
  margin-bottom: var(--space-component-sm);
}
.cinf-na-midia__all:hover:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-brand-primary-strong);
  --octopus-button-border: var(--color-brand-primary-strong);
}
.cinf-na-midia__all:active:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-purple-800);
  --octopus-button-border: var(--color-purple-800);
}
.cinf-na-midia__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-component-xl);
  margin-top: var(--space-structural-sm);
}
.cinf-news-card .octopus-editorial-card__cta-footer { padding-right: 0; align-items: center; }
.cinf-news-card .octopus-editorial-card__cta-footer > .octopus-button { margin-inline-start: auto; }
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .cinf-na-midia[data-cinf-media-pin] {
    min-height: 280vh;
    padding-block: 0;
  }
  .cinf-na-midia[data-cinf-media-pin] .cinf-na-midia__inner {
    position: sticky;
    top: 0;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-block: var(--space-structural-md);
  }
  .cinf-na-midia[data-cinf-media-ready] .cinf-na-midia__grid > .octopus-editorial-card {
    opacity: var(--cinf-media-card-reveal, 0);
    transform: translateX(calc((1 - var(--cinf-media-card-reveal, 0)) * var(--space-layout-xl)));
    will-change: opacity, transform;
  }
  .cinf-na-midia[data-cinf-media-ready] .cinf-na-midia__fx {
    opacity: clamp(0, calc(var(--cinf-media-progress, 0) * 4), 0.48);
    will-change: opacity;
  }
  .cinf-na-midia[data-cinf-media-ready] .cinf-na-midia__fx :is(
    .cinf-fx-texture__idle,
    .cinf-fx-texture__band,
    .cinf-fx-texture__node,
    .cinf-fx-texture__traveler
  ) {
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-fill-mode: both;
    animation-play-state: paused;
  }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j3a { animation-name: cinf-fx-tex-j3a; animation-delay: calc(var(--cinf-media-j3-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__traveler--j3 { animation-name: cinf-fx-tex-j3t; animation-delay: calc(var(--cinf-media-j3-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] :is(.cinf-fx-texture__band--j1a, .cinf-fx-texture__band--j1b, .cinf-fx-texture__node--j1n1, .cinf-fx-texture__traveler--j1) { animation-delay: calc(var(--cinf-media-j1-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j1a { animation-name: cinf-fx-tex-j1a; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j1b { animation-name: cinf-fx-tex-j1b; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__node--j1n1 { animation-name: cinf-fx-tex-j1n1; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__traveler--j1 { animation-name: cinf-fx-tex-j1t; }
  .cinf-na-midia[data-cinf-media-ready] :is(.cinf-fx-texture__band--j2a, .cinf-fx-texture__band--j2b, .cinf-fx-texture__band--j2c, .cinf-fx-texture__node--j2n1, .cinf-fx-texture__node--j2n2, .cinf-fx-texture__traveler--j2) { animation-delay: calc(var(--cinf-media-j2-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j2a { animation-name: cinf-fx-tex-j2a; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j2b { animation-name: cinf-fx-tex-j2b; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j2c { animation-name: cinf-fx-tex-j2c; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__node--j2n1 { animation-name: cinf-fx-tex-j2n1; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__node--j2n2 { animation-name: cinf-fx-tex-j2n2; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__traveler--j2 { animation-name: cinf-fx-tex-j2t; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__band--j4a { animation-name: cinf-fx-tex-j4a; animation-delay: calc(var(--cinf-media-j4-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__traveler--j4 { animation-name: cinf-fx-tex-j4t; animation-delay: calc(var(--cinf-media-j4-progress, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle { animation-name: cinf-fx-tex-round; }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--1 { animation-delay: calc(var(--cinf-media-idle-1, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--2 { animation-delay: calc(var(--cinf-media-idle-2, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--3 { animation-delay: calc(var(--cinf-media-idle-3, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--4 { animation-delay: calc(var(--cinf-media-idle-4, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--5 { animation-delay: calc(var(--cinf-media-idle-5, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--6 { animation-delay: calc(var(--cinf-media-idle-6, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--7 { animation-delay: calc(var(--cinf-media-idle-7, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--8 { animation-delay: calc(var(--cinf-media-idle-8, 0) * -1s); }
  .cinf-na-midia[data-cinf-media-ready] .cinf-fx-texture__idle--9 { animation-delay: calc(var(--cinf-media-idle-9, 0) * -1s); }
}
@keyframes cinf-fx-tex-round { from { rx: 0; } to { rx: 50px; } }
@keyframes cinf-fx-tex-j3a { from { d: path("M400 147.57 L400 147.57 L500 47.57 L500 47.57 Z"); } to { d: path("M400 147.57 L636.29 245.91 L681.32 156.93 L500 47.57 Z"); } }
@keyframes cinf-fx-tex-j3t { from { rx: 0; transform: translate(0, 0); } to { rx: 50px; transform: translate(205.5px, 102.18px); } }
@keyframes cinf-fx-tex-j1a { 0% { d: path("M100 97.57 L100 97.57 L200 197.57 L200 197.57 Z"); } 54.32%, 100% { d: path("M100 97.57 L0 297.57 L100 397.57 L200 197.57 Z"); } }
@keyframes cinf-fx-tex-j1b { 0%, 54.32% { d: path("M0 397.57 L0 397.57 L100 297.57 L100 297.57 Z"); } 100% { d: path("M0 397.57 L182.38 496.26 L238.38 414.04 L100 297.57 Z"); } }
@keyframes cinf-fx-tex-j1n1 { 0%, 54.31% { opacity: 0; } 54.32%, 100% { opacity: 1; } }
@keyframes cinf-fx-tex-j1t { 0% { rx: 0; transform: translate(0, 0); } 54.32% { rx: 0; transform: translate(-100px, 200px); } 100% { rx: 50px; transform: translate(56.18px, 304.72px); } }
@keyframes cinf-fx-tex-j2a { 0% { d: path("M300 597.57 L300 597.57 L400 697.57 L400 697.57 Z"); } 44.23%, 100% { d: path("M300 597.57 L500 297.57 L600 397.57 L400 697.57 Z"); } }
@keyframes cinf-fx-tex-j2b { 0%, 44.23% { d: path("M500 397.57 L500 397.57 L600 297.57 L600 297.57 Z"); } 71.9%, 100% { d: path("M500 397.57 L599.35 600 L699.35 500 L600 297.57 Z"); } }
@keyframes cinf-fx-tex-j2c { 0%, 71.9% { d: path("M599.35 500 L599.35 500 L699.35 600 L699.35 600 Z"); } 100% { d: path("M599.35 500 L833.62 399.7 L879.66 488.15 L699.35 600 Z"); } }
@keyframes cinf-fx-tex-j2n1 { 0%, 44.22% { opacity: 0; } 44.23%, 100% { opacity: 1; } }
@keyframes cinf-fx-tex-j2n2 { 0%, 71.89% { opacity: 0; } 71.9%, 100% { opacity: 1; } }
@keyframes cinf-fx-tex-j2t { 0% { rx: 0; transform: translate(0, 0); } 44.23% { rx: 0; transform: translate(200px, -300px); } 71.9% { rx: 0; transform: translate(299.35px, -97.57px); } 100% { rx: 50px; transform: translate(503.3px, -201.91px); } }
@keyframes cinf-fx-tex-j4a { from { d: path("M1000 497.57 L1000 497.57 L1100 597.57 L1100 597.57 Z"); } to { d: path("M1000 497.57 L818.26 606.48 L863.07 695.57 L1100 597.57 Z"); } }
@keyframes cinf-fx-tex-j4t { from { rx: 0; transform: translate(0, 0); } to { rx: 50px; transform: translate(-206.04px, 101.8px); } }
@media (prefers-reduced-motion: reduce) {
  .cinf-na-midia__fx .cinf-fx-texture__band--j3a { d: path("M400 147.57 L636.29 245.91 L681.32 156.93 L500 47.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j1a { d: path("M100 97.57 L0 297.57 L100 397.57 L200 197.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j1b { d: path("M0 397.57 L182.38 496.26 L238.38 414.04 L100 297.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2a { d: path("M300 597.57 L500 297.57 L600 397.57 L400 697.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2b { d: path("M500 397.57 L599.35 600 L699.35 500 L600 297.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2c { d: path("M599.35 500 L833.62 399.7 L879.66 488.15 L699.35 600 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j4a { d: path("M1000 497.57 L818.26 606.48 L863.07 695.57 L1100 597.57 Z"); }
  .cinf-na-midia__fx :is(.cinf-fx-texture__idle, .cinf-fx-texture__traveler) { rx: 50px; }
  .cinf-na-midia__fx .cinf-fx-texture__node { opacity: 1; }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j3 { transform: translate(205.5px, 102.18px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j1 { transform: translate(56.18px, 304.72px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j2 { transform: translate(503.3px, -201.91px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j4 { transform: translate(-206.04px, 101.8px); }
}
@media (max-width: 900px) {
  .cinf-na-midia { padding-block: var(--space-structural-md); }
  .cinf-na-midia__fx { opacity: 0.3; }
  .cinf-na-midia__fx .cinf-fx-texture__band--j3a { d: path("M400 147.57 L636.29 245.91 L681.32 156.93 L500 47.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j1a { d: path("M100 97.57 L0 297.57 L100 397.57 L200 197.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j1b { d: path("M0 397.57 L182.38 496.26 L238.38 414.04 L100 297.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2a { d: path("M300 597.57 L500 297.57 L600 397.57 L400 697.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2b { d: path("M500 397.57 L599.35 600 L699.35 500 L600 297.57 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j2c { d: path("M599.35 500 L833.62 399.7 L879.66 488.15 L699.35 600 Z"); }
  .cinf-na-midia__fx .cinf-fx-texture__band--j4a { d: path("M1000 497.57 L818.26 606.48 L863.07 695.57 L1100 597.57 Z"); }
  .cinf-na-midia__fx :is(.cinf-fx-texture__idle, .cinf-fx-texture__traveler) { rx: 50px; }
  .cinf-na-midia__fx .cinf-fx-texture__node { opacity: 1; }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j3 { transform: translate(205.5px, 102.18px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j1 { transform: translate(56.18px, 304.72px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j2 { transform: translate(503.3px, -201.91px); }
  .cinf-na-midia__fx .cinf-fx-texture__traveler--j4 { transform: translate(-206.04px, 101.8px); }
  .cinf-na-midia__top { align-items: flex-start; }
  .cinf-na-midia__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .cinf-na-midia__inner { width: min(calc(100% - (2 * var(--grid-margin-xs))), var(--site-max, 1380px)); }
  .cinf-na-midia__top { flex-direction: column; gap: var(--space-component-xl); }
  .cinf-na-midia__all { margin-bottom: 0; }
  .cinf-na-midia__grid { grid-template-columns: 1fr; }
}

.cinf-apoiadores {
  padding-block: var(--space-structural-lg);
  background: var(--color-zinc-100);
  color: var(--color-content-primary);
}
.cinf-apoiadores__inner {
  width: min(calc(100% - (2 * var(--grid-margin-minimal))), var(--site-max, 1380px));
  margin-inline: auto;
}
.cinf-apoiadores__header { width: 100%; max-width: 560px; }
.cinf-apoiadores__header :is(.octopus-section-header__title, .octopus-section-header__description) {
  width: 100%;
  max-width: none;
}
.cinf-apoiadores__groups { display: grid; gap: var(--space-structural-sm); margin-top: var(--space-structural-sm); }
.cinf-apoiadores__group-title {
  margin: 0;
  padding-bottom: var(--space-component-lg);
  border-bottom: 1px solid var(--color-zinc-300);
  color: var(--color-text-secondary);
  font-size: var(--type-label-lg-size);
  font-weight: var(--type-label-lg-weight);
  line-height: var(--type-label-lg-line-height);
  letter-spacing: var(--type-label-lg-tracking);
  text-transform: uppercase;
}
.cinf-apoiadores__placeholders {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-component-lg);
  margin-top: var(--space-layout-md);
}
.cinf-apoiadores__placeholder {
  min-height: 80px;
  display: grid;
  place-items: center;
  padding: 0;
}
.cinf-apoiadores__link {
  width: 100%;
  min-height: 80px;
  display: grid;
  place-items: center;
  color: inherit;
  text-decoration: none;
  transition: transform var(--motion-duration-fast) var(--motion-ease-standard);
}
.cinf-apoiadores__link:hover { transform: translateY(-4px); }
.cinf-apoiadores__link:focus-visible {
  outline: 3px solid var(--color-focus-ring);
  outline-offset: 4px;
  border-radius: var(--shape-radius-component);
}
.cinf-apoiadores__logo {
  display: block;
  width: min(184px, 97.75%);
  height: 55.2px;
  background: var(--color-zinc-400);
  -webkit-mask: var(--cinf-supporter-logo) center / contain no-repeat;
  mask: var(--cinf-supporter-logo) center / contain no-repeat;
  transition: background-color var(--motion-duration-fast) var(--motion-ease-standard);
}
.cinf-apoiadores__logo[style*="rio-do-sul-capital-alto-vale.png"] { -webkit-mask-size: auto 250%; mask-size: auto 250%; }
.cinf-apoiadores__logo[style*="prefeitura-rio-do-sul-branca.png"] { -webkit-mask-size: auto 200%; mask-size: auto 200%; }
.cinf-apoiadores__logo[style*="ponsoni.png"] { -webkit-mask-size: auto 290%; mask-size: auto 290%; }
.cinf-apoiadores__link:hover .cinf-apoiadores__logo,
.cinf-apoiadores__link:focus-visible .cinf-apoiadores__logo { background-color: var(--color-zinc-900); }
@media (prefers-reduced-motion: reduce) {
  .cinf-apoiadores__logo { transition-duration: 0ms; }
}
@media (max-width: 900px) {
  .cinf-apoiadores { padding-block: var(--space-structural-md); }
  .cinf-apoiadores__placeholders { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .cinf-apoiadores__inner { width: min(calc(100% - (2 * var(--grid-margin-xs))), var(--site-max, 1380px)); }
  .cinf-apoiadores__placeholders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.cinf-incubadas { padding-block: var(--space-structural-sm); background: var(--color-bg-surface); }
.cinf-incubadas__inner { width: min(calc(100% - 2 * var(--grid-margin-minimal)), var(--site-max, 1380px)); margin-inline: auto; }
.cinf-incubadas .resident-grid { margin-top: var(--space-layout-md); }
.cinf-eco__support .resident-grid__logo[style*="rcci.png"] { -webkit-mask-size: auto 250%; mask-size: auto 250%; }
@media (max-width: 600px) { .cinf-incubadas__inner { width: calc(100% - 2 * var(--grid-margin-xs)); } }

.marcas-clientes {
  padding-block: var(--space-structural-md);
  background: var(--color-surface-raised);
}
.marcas-clientes__inner {
  width: min(calc(100% - (2 * var(--grid-margin-minimal))), var(--site-max, 1380px));
  margin-inline: auto;
}
.marcas-clientes__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-layout-xl);
}
.marcas-clientes__header { max-width: 760px; }
.marcas-clientes__all {
  --octopus-button-background: var(--color-brand-primary);
  --octopus-button-border: var(--color-brand-primary);
  --octopus-button-content: #FFFFFF;
  --color-focus-ring: var(--color-brand-primary-subtle);
  flex: none;
  margin-bottom: var(--space-component-sm);
}
.marcas-clientes__all:hover:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-brand-primary-strong);
  --octopus-button-border: var(--color-brand-primary-strong);
}
.marcas-clientes__all:active:not([aria-disabled="true"]) {
  --octopus-button-background: var(--color-purple-800);
  --octopus-button-border: var(--color-purple-800);
}
.marcas-clientes__rows {
  display: flex;
  flex-direction: column;
  gap: var(--space-component-lg);
  min-width: 0;
  margin-top: var(--space-structural-sm);
}
.marcas-clientes__ticker {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.3) 4%,
    #000 12%,
    #000 88%,
    rgba(0, 0, 0, 0.3) 96%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.3) 4%,
    #000 12%,
    #000 88%,
    rgba(0, 0, 0, 0.3) 96%,
    transparent 100%
  );
}
.marcas-clientes__track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}
.marcas-clientes__inner:not([data-revealed]) .marcas-clientes__track {
  animation-play-state: paused;
}
.marcas-clientes__ticker:hover .marcas-clientes__track {
  animation-play-state: paused;
}
.marcas-clientes__ticker--forward .marcas-clientes__track {
  animation: marcas-clientes-forward 40s linear infinite;
}
.marcas-clientes__ticker--reverse .marcas-clientes__track {
  animation: marcas-clientes-reverse 40s linear infinite;
}
.marcas-clientes__sequence {
  display: flex;
  align-items: center;
  gap: var(--space-component-lg);
  padding-right: var(--space-component-lg);
}
.marcas-clientes__logo-slot {
  width: 269px;
  height: 100px;
  flex: none;
  display: grid;
  place-items: center;
  padding: var(--space-component-xl) var(--space-layout-md);
  border: 0;
  background: transparent;
}
.marcas-clientes__logo {
  display: block;
  width: 100%;
  max-width: 184px;
  height: 32px;
  margin-right: 0;
  background-color: var(--color-zinc-400);
  -webkit-mask-image: var(--marca-logo);
  mask-image: var(--marca-logo);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color var(--motion-duration-fast) var(--motion-ease-standard);
}
.marcas-clientes__logo-slot:hover .marcas-clientes__logo {
  background-color: var(--color-zinc-900);
}
/* Duas sequências idênticas: -50% percorre exatamente uma delas, incluindo o gap. */
@keyframes marcas-clientes-forward {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes marcas-clientes-reverse {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .marcas-clientes__ticker {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .marcas-clientes__ticker--reverse,
  .marcas-clientes__sequence[aria-hidden="true"] {
    display: none;
  }
  .marcas-clientes__track {
    animation: none;
    will-change: auto;
  }
  .marcas-clientes__logo { transition-duration: 0ms; }
}
@media (max-width: 900px) {
  .marcas-clientes {
    padding-block: var(--space-structural-sm);
  }
  .marcas-clientes__top { align-items: flex-start; }
}
@media (max-width: 639px) {
  .marcas-clientes__inner { width: min(calc(100% - (2 * var(--grid-margin-xs))), var(--site-max, 1380px)); }
  .marcas-clientes__top { flex-direction: column; gap: var(--space-component-xl); }
  .marcas-clientes__all { margin-bottom: 0; }
}

.site-cta-wrap {
  width: 100%;
  padding: 0 24px;
  background: linear-gradient(
    to bottom,
    var(--color-zinc-100) 0%,
    var(--color-zinc-100) 50%,
    transparent 50%,
    transparent 100%
  );
}
.site-cta {
  width: 100%;
  max-width: var(--site-max, 1380px);
  margin-inline: auto;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 16px;
  padding: clamp(48px, 6vw, 88px) 24px;
  background: var(--color-orange-400);
  color: var(--color-zinc-900);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}
.site-cta__title {
  margin: 0;
  max-width: 32ch;
  font-family: var(--font-sans);
  font-size: var(--type-heading-1-size);
  font-weight: var(--type-heading-1-weight);
  line-height: var(--type-heading-1-leading);
  letter-spacing: var(--type-heading-1-tracking);
}
.site-cta__desc {
  margin: 0;
  max-width: 56ch;
  font-family: var(--font-sans);
  font-size: var(--type-body-lead-size);
  font-weight: var(--type-body-lead-weight);
  line-height: var(--type-body-lead-leading);
  color: color-mix(in srgb, var(--color-zinc-900) 80%, transparent);
}
/* Button Octopus com Icon Octopus no trailing. */
.site-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-component-lg);
}
.site-cta__btn {
  margin-top: 12px;
}

/* ============================================================
   Footer — newsletter · marca (esq) · 3 colunas · copyright.
   Cores, superfícies e tipografia vêm dos tokens do Octopus System.
   ============================================================ */
.site-footer {
  background: var(--color-surface-inverted, #081128);
  color: var(--color-content-inverted, #ffffff);
  font-family: var(--font-sans);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  --footer-muted: color-mix(in srgb, var(--color-content-inverted, #fff) 62%, transparent);
  --footer-line: color-mix(in srgb, var(--color-content-inverted, #fff) 12%, transparent);
  --footer-raised: var(--color-surface-inverted-raised, #33384e);
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("assets/images/textura-footer-cinf.svg") center / max(1250px, 100vw) auto repeat-y;
  opacity: 0.14;
  pointer-events: none;
}
.site-footer__inner {
  max-width: var(--site-max, 1380px);
  margin-inline: auto;
  padding: 60px 20px 32px;
}
.site-footer__news {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  align-items: center;
  gap: clamp(32px, 6vw, 96px);
  padding: 0 0 60px;
  margin-bottom: 60px;
  border-bottom: 1px solid var(--footer-line);
}
.site-footer__news-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  max-width: 560px;
}
.site-footer__main {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) minmax(300px, 1.25fr);
  gap: clamp(40px, 6vw, 88px);
  padding-bottom: 60px;
  border-bottom: 1px solid var(--footer-line);
}
/* --- Marca (esquerda): logo + descrição + contatos --- */
.site-footer__logo {
  height: 28px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
}
.site-footer__desc {
  margin: 20px 0 0;
  max-width: 320px;
  font-size: var(--type-body-secondary-size);
  font-weight: var(--type-body-secondary-weight);
  line-height: var(--type-body-secondary-leading);
  color: var(--footer-muted);
}
/* --- Colunas de links --- */
.site-footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.site-footer__col h4 {
  margin: 0 0 2px;
  font-size: var(--type-label-size);
  font-weight: var(--type-label-weight);
  line-height: var(--type-label-leading);
  letter-spacing: var(--type-label-tracking);
  text-transform: uppercase;
  color: var(--color-content-inverted, #fff);
}
.site-footer__col a {
  color: var(--footer-muted);
  text-decoration: none;
  font-size: var(--type-body-secondary-size);
  font-weight: var(--type-body-secondary-weight);
  line-height: var(--type-body-secondary-leading);
  transition: color var(--motion-duration-interaction-base, 150ms) ease;
}
.site-footer__col a:hover { color: var(--color-content-inverted, #fff); }
.site-footer__link-badge { display: inline-flex; align-items: center; gap: 8px; }
.site-footer__contact { gap: var(--space-component-sm, 16px); }
.site-footer__contact a,
.site-footer__contact p,
.site-footer__contact address {
  margin: 0;
  color: var(--footer-muted);
  font-size: var(--type-body-secondary-size);
  font-weight: var(--type-body-secondary-weight);
  line-height: var(--type-body-secondary-leading);
  font-style: normal;
}
.site-footer__contact .site-footer__contact-item {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: var(--space-component-xs, 8px);
}
.site-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(var(--type-body-secondary-size) * var(--type-body-secondary-leading));
  color: var(--color-text-on-action);
}
.site-footer__address { display: grid; }
.site-footer__address > span { white-space: nowrap; }
.site-footer__maps-link {
  display: inline-block;
  width: fit-content;
  text-decoration: none;
  white-space: nowrap;
}

/* --- Newsletter: faixa própria logo abaixo do CTA --- */
.site-footer__news-title {
  margin: 0;
  max-width: 24ch;
  font-size: var(--type-heading-1-size);
  font-weight: var(--type-heading-1-weight);
  line-height: var(--type-heading-1-leading);
  letter-spacing: var(--type-heading-1-tracking);
}
/* Sociais: estados e cores semânticas do tema escuro Octopus. */
.site-footer__social { display: flex; gap: 10px; }
.site-footer__social a {
  width: 40px;
  height: 40px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: var(--shape-radius-component);
  border: 1px solid var(--color-border-subtle);
  color: var(--color-icon-primary);
  transition: background-color var(--motion-duration-fast) var(--motion-ease-standard),
    border-color var(--motion-duration-fast) var(--motion-ease-standard),
    color var(--motion-duration-fast) var(--motion-ease-standard),
    transform var(--motion-duration-fast) var(--motion-ease-standard);
}
.site-footer__social a svg { width: 20px; height: 20px; display: block; }
.site-footer__social a:hover {
  background: var(--color-action-primary);
  border-color: var(--color-action-primary);
  color: var(--color-icon-on-action);
  transform: translateY(-2px);
}
.site-footer__social a:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 2px; }
/* Form: campo e CTA são superfícies independentes, como no padrão de referência. */
.site-footer__news-form {
  display: flex;
  align-items: stretch;
  gap: var(--space-component-xs, 8px);
  width: 100%;
}
.site-footer__news-field {
  flex: 1 1 auto;
  min-width: 0;
  gap: 0;
  color: var(--color-text-on-action);
}
.site-footer__news-field .octopus-field__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.site-footer__news-field .site-footer__news-input {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--shape-radius-component, 12px);
  background: color-mix(in srgb, var(--color-bg-surface) 82%, transparent);
  color: var(--color-text-primary);
  box-shadow: 0 8px 24px color-mix(in srgb, #000 16%, transparent);
}
.site-footer__news-input::placeholder { color: var(--color-text-tertiary); }
.site-footer__news-field:is(:hover, :focus-within) .site-footer__news-input:not(:disabled) {
  background: var(--color-bg-surface);
}
.site-footer__news-input {
  caret-color: var(--color-input-active);
}
.site-footer__news-field .octopus-input__icon {
  color: var(--color-icon-secondary);
  transition: color var(--motion-duration-fast) var(--motion-ease-standard);
}
.site-footer__news-field:focus-within .octopus-input__icon { color: var(--color-input-active); }
.octopus-button.site-footer__news-submit {
  flex: none;
  min-width: 132px;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--color-action-primary) 16%, transparent);
}

/* --- Copyright --- */
.site-footer__bottom {
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.site-footer__bottom p {
  margin: 0;
  color: var(--footer-muted);
  font-size: var(--type-caption-size);
  font-weight: var(--type-caption-weight);
  line-height: var(--type-caption-leading);
  letter-spacing: var(--type-caption-tracking);
}

@media (max-width: 960px) {
  .site-footer__news { grid-template-columns: 1fr; gap: 28px; }
  .site-footer__news-form { max-width: 640px; }
  .site-footer__main { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  .site-footer__main { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .site-footer__news-form { flex-direction: column; }
  .site-footer__news-submit { width: 100%; }
}
