/* ============================================================
   PUBLIC.BASE.SEAL.01
   Contrato visual e de uso da experiencia publica do Crie.

   Principios:
   1. A parte publica e uma projecao do mesmo sistema privado.
   2. Conteudo e evidencias aparecem antes de decoracao.
   3. Uma pessoa deve reconhecer onde esta, o que pode fazer e
      como continuar sem conhecer a arquitetura interna.
   4. Cor orienta dominio e estado. Nao funciona como ranking.
   5. Desktop e mobile preservam a mesma ordem cognitiva.

   PUBLIC.VISUAL.POLISH.01A
   A base visual e refinada por subtracao: menos peso, menos
   sombra, menos variacao tipografica e mais ritmo editorial.
============================================================ */

:root {
  --cc-public-font: Helvetica, Arial, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cc-public-ink: #13283a;
  --cc-public-ink-strong: #0c2132;
  --cc-public-text: #3f596d;
  --cc-public-muted: #6a8090;
  --cc-public-faint: #8fa2af;
  --cc-public-canvas: #f7fafb;
  --cc-public-canvas-2: #fbfcfd;
  --cc-public-surface: #ffffff;
  --cc-public-surface-soft: rgba(255,255,255,.78);
  --cc-public-line: rgba(31,72,94,.12);
  --cc-public-line-strong: rgba(31,72,94,.20);
  --cc-public-blue: #2f68bd;
  --cc-public-blue-deep: #244f91;
  --cc-public-green: #3d7d68;
  --cc-public-cyan: #2c7f8d;
  --cc-public-gold: #9b6e2d;
  --cc-public-soft-blue: rgba(47,104,189,.08);
  --cc-public-soft-green: rgba(61,125,104,.09);
  --cc-public-soft-cyan: rgba(44,127,141,.08);
  --cc-public-radius-xs: 10px;
  --cc-public-radius-sm: 12px;
  --cc-public-radius: 18px;
  --cc-public-radius-lg: 26px;
  --cc-public-shadow-object: 0 10px 28px rgba(20,55,75,.045);
  --cc-public-shadow-depth: 0 20px 52px rgba(12,44,62,.09);
  --cc-public-width: 1220px;
  --cc-public-reading: 760px;
  --cc-public-section-gap: clamp(44px, 6vw, 82px);
  --cc-public-focus: 0 0 0 4px rgba(47,104,189,.16);
}

html { scroll-behavior: smooth; }

body.cc-public-v1 {
  margin: 0;
  min-height: 100vh;
  font-family: var(--cc-public-font);
  color: var(--cc-public-ink);
  background:
    radial-gradient(980px 420px at 12% -180px, rgba(44,127,141,.055), transparent 72%),
    linear-gradient(180deg, var(--cc-public-canvas-2), var(--cc-public-canvas));
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.cc-public-v1 *,
body.cc-public-v1 *::before,
body.cc-public-v1 *::after { box-sizing: border-box; }

body.cc-public-v1 a { text-underline-offset: .18em; }
body.cc-public-v1 img { max-width: 100%; }
body.cc-public-v1 h1,
body.cc-public-v1 h2,
body.cc-public-v1 h3,
body.cc-public-v1 p { text-wrap: pretty; }
body.cc-public-v1 h1,
body.cc-public-v1 h2,
body.cc-public-v1 h3 {
  font-family: var(--cc-public-font);
  color: var(--cc-public-ink-strong);
}
body.cc-public-v1 h1 {
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 700;
}
body.cc-public-v1 h2 {
  font-size: clamp(25px, 2.7vw, 39px);
  line-height: 1.08;
  letter-spacing: -.032em;
  font-weight: 700;
}
body.cc-public-v1 h3 {
  line-height: 1.2;
  letter-spacing: -.02em;
  font-weight: 700;
}
body.cc-public-v1 p {
  color: var(--cc-public-text);
  line-height: 1.68;
}
body.cc-public-v1 strong { font-variant-numeric: tabular-nums; }
body.cc-public-v1 :focus-visible {
  outline: 2px solid rgba(47,104,189,.75);
  outline-offset: 3px;
}
body.cc-public-v1 ::selection {
  color: var(--cc-public-ink-strong);
  background: rgba(44,127,141,.17);
}

/* Shell principal */
body.cc-public-v1 .ccp-shell {
  padding: 0;
  font-family: var(--cc-public-font);
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .ccp-shell__frame {
  max-width: 1320px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1 .ccp-shell__inner {
  min-height: 64px;
  gap: 14px;
  padding: 6px 9px 6px 11px;
}
body.cc-public-v1 .ccp-brand__mark {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  box-shadow: none;
}
body.cc-public-v1 .ccp-brand__wording strong {
  font-family: var(--cc-public-font);
  font-size: 15px;
  font-weight: 700;
}
body.cc-public-v1 .ccp-brand__wording small {
  color: var(--cc-public-muted);
  font-family: var(--cc-public-font);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .105em;
}
body.cc-public-v1 .ccp-nav { gap: 0; }
body.cc-public-v1 .ccp-nav a {
  min-height: 42px;
  padding: 0 10px;
  color: #536b7d !important;
  font-family: var(--cc-public-font);
  font-size: 13px;
  font-weight: 600;
}
body.cc-public-v1 .ccp-nav a.is-active {
  color: var(--cc-public-ink-strong) !important;
  font-weight: 700;
}
body.cc-public-v1 .ccp-nav a::after {
  left: 10px;
  right: 10px;
  background: var(--cc-public-cyan);
}
body.cc-public-v1 .ccp-search-link,
body.cc-public-v1 .ccp-login {
  min-height: 40px;
  font-family: var(--cc-public-font);
}
body.cc-public-v1 .ccp-search-link {
  border: 1px solid transparent;
  border-radius: 11px;
  color: #526a7d !important;
  font-size: 12.5px;
}
body.cc-public-v1 .ccp-search-link:hover,
body.cc-public-v1 .ccp-search-link:focus-visible {
  border-color: var(--cc-public-line);
  background: #fff;
}
body.cc-public-v1 .ccp-login {
  padding: 0 15px;
  border-radius: 11px;
  background: var(--cc-public-ink-strong);
  font-size: 12.5px;
  box-shadow: none;
}
body.cc-public-v1 .ccp-contextbar {
  min-height: 45px;
  gap: 14px;
  padding: 0 13px;
  border-top-color: rgba(31,72,94,.075);
  background: rgba(247,251,252,.88);
}
body.cc-public-v1 .ccp-contextbar__identity {
  gap: 7px;
  font-family: var(--cc-public-font);
  font-size: 11.5px;
}
body.cc-public-v1 .ccp-contextbar__label {
  color: var(--cc-public-faint);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
}
body.cc-public-v1 .ccp-contextbar__identity strong {
  color: var(--cc-public-ink);
  font-weight: 700;
}
body.cc-public-v1 .ccp-contextbar__dot {
  width: 7px;
  height: 7px;
  background: var(--cc-public-cyan);
  box-shadow: 0 0 0 3px var(--cc-public-soft-cyan);
}
body.cc-public-v1 .ccp-contextnav a {
  min-height: 38px;
  padding: 0 9px;
  color: #687d8e !important;
  font-family: var(--cc-public-font);
  font-size: 12px;
  font-weight: 600;
}
body.cc-public-v1 .ccp-contextnav a.is-active { color: var(--cc-public-ink) !important; }
body.cc-public-v1 .ccp-contextnav a.is-active::after { background: var(--cc-public-cyan); }
body.cc-public-v1 .ccp-menu-toggle {
  border-radius: 11px;
  border-color: var(--cc-public-line);
}
body.cc-public-v1 .ccp-mobile-panel {
  border-color: var(--cc-public-line);
  border-radius: 16px;
  box-shadow: var(--cc-public-shadow-depth);
}
body.cc-public-v1 .ccp-mobile-nav a,
body.cc-public-v1 .ccp-mobile-contextgroup nav a {
  border-radius: 10px;
  font-family: var(--cc-public-font);
}
body.cc-public-v1 .ccp-mobile-contextgroup__label {
  display: block;
  padding: 3px 10px 2px;
  color: var(--cc-public-faint);
  font-size: 10px;
  font-weight: 700;
}

/* Ritmo das superficies principais */
body.cc-public-v1 .cc-search-page,
body.cc-public-v1 .cc-learning-page,
body.cc-public-v1 .odsproj-page,
body.cc-public-v1 .or-wrap,
body.cc-public-v1 .economy-main,
body.cc-public-v1.inst-public-page main,
body.cc-public-v1 .inst-public-page main {
  font-family: var(--cc-public-font);
}
body.cc-public-v1 .cc-search-page,
body.cc-public-v1 .cc-learning-page,
body.cc-public-v1 .odsproj-page,
body.cc-public-v1 .or-wrap {
  width: min(var(--cc-public-width), calc(100% - 36px));
  margin-inline: auto;
}
body.cc-public-v1 .cc-search-page,
body.cc-public-v1 .cc-learning-page,
body.cc-public-v1 .odsproj-page,
body.cc-public-v1 .or-wrap {
  padding-top: clamp(18px, 2.4vw, 32px);
  padding-bottom: 64px;
}

/* Heros operacionais. Conteudo primeiro, visual subordinado. */
body.cc-public-v1 .cc-public-hero {
  margin: 0 0 clamp(32px, 4.8vw, 58px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1 .cc-public-hero__grid {
  min-height: 0;
  grid-template-columns: minmax(0,1.35fr) minmax(250px,.65fr);
  gap: clamp(26px, 4vw, 56px);
  align-items: center;
  padding: clamp(26px, 4vw, 46px) 0 clamp(22px, 3vw, 36px);
  border-bottom: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .cc-public-hero__content { max-width: 760px; }
body.cc-public-v1 .cc-public-hero__kicker,
body.cc-public-v1 .cc-search-kicker,
body.cc-public-v1 .cc-learning-kicker,
body.cc-public-v1 .economy-eyebrow,
body.cc-public-v1 .inst-eyebrow,
body.cc-public-v1 .odsproj-kicker,
body.cc-public-v1 .economy-index {
  color: var(--cc-public-cyan);
  font-family: var(--cc-public-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
body.cc-public-v1 .cc-public-hero h1 { max-width: 16ch; margin: 9px 0 15px; }
body.cc-public-v1 .cc-public-hero p { max-width: 68ch; margin: 0; font-size: clamp(15px,1.3vw,18px); }
body.cc-public-v1 .cc-public-hero__visual {
  aspect-ratio: 16 / 9;
  min-height: 0;
  max-height: 230px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius);
  background: #eef4f6;
  box-shadow: none;
  overflow: hidden;
}
body.cc-public-v1 .cc-public-hero__visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
body.cc-public-v1 .cc-public-hero__visual figcaption {
  padding: 8px 11px;
  background: rgba(9,28,40,.78);
  color: rgba(255,255,255,.92);
  font-family: var(--cc-public-font);
  font-size: 10px;
  line-height: 1.35;
}

/* Formularios e botoes */
body.cc-public-v1 input,
body.cc-public-v1 select,
body.cc-public-v1 textarea,
body.cc-public-v1 button { font-family: var(--cc-public-font); }
body.cc-public-v1 input[type="search"],
body.cc-public-v1 input[type="text"],
body.cc-public-v1 select,
body.cc-public-v1 textarea {
  min-height: 46px;
  border: 1px solid var(--cc-public-line-strong);
  border-radius: 12px;
  color: var(--cc-public-ink);
  background: rgba(255,255,255,.96);
  box-shadow: none;
}
body.cc-public-v1 input:focus,
body.cc-public-v1 select:focus,
body.cc-public-v1 textarea:focus {
  outline: none;
  border-color: rgba(47,104,189,.48);
  box-shadow: var(--cc-public-focus);
}
body.cc-public-v1 .or-btn,
body.cc-public-v1 .cc-learning-hero__actions a,
body.cc-public-v1 .cc-learning-card__open,
body.cc-public-v1 .cc-search-form button,
body.cc-public-v1 #loadMore,
body.cc-public-v1 .inst-btn,
body.cc-public-v1 .economy-btn,
body.cc-public-v1 .odsproj-target__open,
body.cc-public-v1 .btn,
body.cc-public-v1 .cc-research-primary,
body.cc-public-v1 .cc-research-secondary,
body.cc-public-v1 .cc-core-utility a {
  min-height: 42px;
  border-radius: 11px;
  font-family: var(--cc-public-font);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}
body.cc-public-v1 .or-btn-primary,
body.cc-public-v1 .cc-learning-hero__actions a.is-primary,
body.cc-public-v1 .cc-search-form button,
body.cc-public-v1 .inst-btn--primary,
body.cc-public-v1 .economy-btn--primary,
body.cc-public-v1 .cc-research-primary {
  border-color: var(--cc-public-blue-deep);
  background: var(--cc-public-blue-deep);
  color: #fff;
}
body.cc-public-v1 .or-btn:not(.or-btn-primary),
body.cc-public-v1 .cc-learning-hero__actions a:not(.is-primary),
body.cc-public-v1 .economy-btn--secondary,
body.cc-public-v1 .cc-research-secondary {
  border: 1px solid var(--cc-public-line-strong);
  background: #fff;
  color: var(--cc-public-ink);
}
body.cc-public-v1 .or-btn:hover,
body.cc-public-v1 .cc-learning-hero__actions a:hover,
body.cc-public-v1 .inst-btn:hover,
body.cc-public-v1 .economy-btn:hover,
body.cc-public-v1 .cc-research-primary:hover,
body.cc-public-v1 .cc-research-secondary:hover {
  transform: none;
  filter: none;
  border-color: rgba(47,104,189,.36);
}

/* Busca e conhecimento */
body.cc-public-v1 .cc-search-form {
  max-width: 680px;
  margin-top: 22px;
}
body.cc-public-v1 .cc-search-form label { color: var(--cc-public-ink); font-size: 12.5px; font-weight: 700; }
body.cc-public-v1 .cc-search-form__row { gap: 8px; }
body.cc-public-v1 .cc-search-form input { min-height: 50px; padding-inline: 15px; font-size: 14px; }
body.cc-public-v1 .cc-search-form button { min-width: 96px; }
body.cc-public-v1 .cc-search-suggestions { margin-top: 12px; gap: 6px; }
body.cc-public-v1 .cc-search-suggestions a {
  padding: 6px 9px;
  border: 1px solid var(--cc-public-line);
  border-radius: 9px;
  background: #fff;
  color: var(--cc-public-text);
  font-size: 11.5px;
  font-weight: 600;
  text-decoration: none;
}
body.cc-public-v1 .cc-search-start,
body.cc-public-v1 .cc-search-results-section,
body.cc-public-v1 .cc-search-method {
  margin-top: var(--cc-public-section-gap);
}
body.cc-public-v1 .cc-search-doors { gap: 10px; }
body.cc-public-v1 .cc-search-doors a {
  min-height: 0;
  padding: 18px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.8);
  box-shadow: none;
}
body.cc-public-v1 .cc-search-doors a:hover { transform: none; border-color: var(--cc-public-line-strong); background: #fff; }
body.cc-public-v1 .cc-search-cards { gap: 12px; }
body.cc-public-v1 .cc-knowledge-card {
  min-height: 170px;
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .cc-knowledge-card:hover { transform: none; box-shadow: none; border-color: var(--cc-public-line-strong); background: #fff; }
body.cc-public-v1 .cc-knowledge-card__media img { min-height: 170px; }
body.cc-public-v1 .cc-knowledge-card__body { padding: 16px; }
body.cc-public-v1 .cc-knowledge-card h3 { font-size: 18px; }
body.cc-public-v1 .cc-knowledge-card__meta span {
  border: 1px solid rgba(31,72,94,.075);
  background: #f7fafb;
  color: #607687;
}
body.cc-public-v1 .cc-knowledge-card__open { color: var(--cc-public-blue-deep); }

/* Aprendizagem */
body.cc-public-v1 .cc-learning-how,
body.cc-public-v1 .cc-learning-list,
body.cc-public-v1 .cc-learning-principles { margin-top: var(--cc-public-section-gap); }
body.cc-public-v1 .cc-learning-how__intro,
body.cc-public-v1 .cc-learning-list__head,
body.cc-public-v1 .cc-learning-principles__head { max-width: 780px; }
body.cc-public-v1 .cc-learning-flow { gap: 8px; }
body.cc-public-v1 .cc-learning-flow article {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .cc-learning-card {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .cc-learning-card:hover { transform: none; box-shadow: none; border-color: var(--cc-public-line-strong); background: #fff; }
body.cc-public-v1 .cc-learning-card__open { color: var(--cc-public-blue-deep); }
body.cc-public-v1 .cc-learning-principles__grid article {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.78);
  box-shadow: none;
}

/* Investigacao */
body.cc-public-v1 .or-wrap { max-width: var(--cc-public-width); }
body.cc-public-v1 .or-hero { margin-bottom: 26px; }
body.cc-public-v1 .or-metrics {
  gap: 8px;
  margin: 0 0 20px;
}
body.cc-public-v1 .or-metric {
  padding: 15px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.85);
  box-shadow: none;
}
body.cc-public-v1 .or-card,
body.cc-public-v1 .or-panel,
body.cc-public-v1 .or-list-card {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .or-empty,
body.cc-public-v1 .or-empty-state { border-radius: var(--cc-public-radius-sm); }

/* Contexto territorial */
body.cc-public-v1 .cc-public-context-panel,
body.cc-public-v1 .cc-public-context-strip {
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: linear-gradient(135deg, rgba(61,125,104,.065), rgba(44,127,141,.045));
  box-shadow: none;
}
body.cc-public-v1 .cc-public-context-panel { padding: 15px 17px; }
body.cc-public-v1 .cc-public-context-strip { margin-block: 0 28px; }
body.cc-public-v1 .cc-public-context-strip__inner { padding-block: 15px; }
body.cc-public-v1 .cc-public-context-strip strong,
body.cc-public-v1 .cc-public-context-panel strong { color: var(--cc-public-ink-strong); }
body.cc-public-v1 .cc-public-context-strip p,
body.cc-public-v1 .cc-public-context-panel p { margin-bottom: 0; font-size: 12.5px; }
body.cc-public-v1 .cc-public-context-strip__actions a,
body.cc-public-v1 .cc-public-context-panel__actions a {
  min-height: 38px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
}

/* Organizacoes */
body.cc-public-v1.inst-public-page { background: var(--cc-public-canvas); }
body.cc-public-v1 .inst-shell { width: min(var(--cc-public-width), calc(100% - 36px)); }
body.cc-public-v1 .inst-hero {
  padding: clamp(30px, 4.5vw, 58px) 0 28px;
  background: transparent;
}
body.cc-public-v1 .inst-hero__grid {
  min-height: 0;
  align-items: center;
  gap: clamp(28px, 4vw, 54px);
}
body.cc-public-v1 .inst-hero__copy h1 { max-width: 15ch; }
body.cc-public-v1 .inst-lead { max-width: 66ch; font-size: clamp(15px,1.2vw,18px); }
body.cc-public-v1 .inst-hero__visual {
  border-radius: var(--cc-public-radius);
  box-shadow: none;
}
body.cc-public-v1.inst-public-page.is-contextual .inst-hero__visual { display: none; }
body.cc-public-v1.inst-public-page.is-contextual .inst-hero__grid { grid-template-columns: minmax(0,760px); }
body.cc-public-v1 .inst-proof { padding: 8px 0 28px; }
body.cc-public-v1 .inst-proof__grid { gap: 8px; }
body.cc-public-v1 .inst-proof article {
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: #fff;
  box-shadow: none;
}
body.cc-public-v1 .inst-section { padding-block: clamp(42px, 5.5vw, 72px); }
body.cc-public-v1 .inst-section__heading { max-width: 780px; }
body.cc-public-v1 .inst-section__heading--center { margin-inline: auto; }
body.cc-public-v1 .inst-problem-grid article,
body.cc-public-v1 .inst-step,
body.cc-public-v1 .inst-audience-card,
body.cc-public-v1 .inst-week,
body.cc-public-v1 .inst-space-card {
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}

/* Economia */
body.cc-public-v1.economy-public-page { background: var(--cc-public-canvas); }
body.cc-public-v1 .economy-shell { width: min(var(--cc-public-width), calc(100% - 36px)); }
body.cc-public-v1 .economy-hero { padding: clamp(30px, 4.5vw, 58px) 0 28px; }
body.cc-public-v1 .economy-hero__grid { min-height: 0; gap: clamp(28px, 4vw, 54px); }
body.cc-public-v1 .economy-hero__copy h1 { max-width: 16ch; }
body.cc-public-v1 .economy-lead { max-width: 66ch; font-size: clamp(15px,1.2vw,18px); }
body.cc-public-v1 .economy-private-visual {
  max-height: 230px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius);
  box-shadow: none;
  overflow: hidden;
}
body.cc-public-v1 .economy-private-visual img { width: 100%; height: 100%; object-fit: cover; }
body.cc-public-v1 .economy-section,
body.cc-public-v1 .economy-movement,
body.cc-public-v1 .economy-method { padding-block: clamp(42px, 5.2vw, 70px); }
body.cc-public-v1 .economy-metrics,
body.cc-public-v1 .economy-grid,
body.cc-public-v1 .economy-method-grid { gap: 9px; }
body.cc-public-v1 .economy-metrics article,
body.cc-public-v1 .economy-profile-card,
body.cc-public-v1 .economy-offer-card,
body.cc-public-v1 .economy-challenge-card,
body.cc-public-v1 .economy-realization-card,
body.cc-public-v1 .economy-method-card,
body.cc-public-v1 .economy-method-grid article,
body.cc-public-v1 .economy-territory-lenses article {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .economy-state {
  border: 1px dashed var(--cc-public-line-strong);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.66);
}

/* ODS */
body.cc-public-v1 .odsproj-page { max-width: var(--cc-public-width); }
body.cc-public-v1 .odsproj-intro {
  margin: 0;
  padding: clamp(28px, 4vw, 46px) 0 28px;
  border: 0;
  border-bottom: 1px solid var(--cc-public-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1 .odsproj-intro__copy h1 { max-width: 17ch; }
body.cc-public-v1 .odsproj-intro__copy p { max-width: 68ch; font-size: clamp(15px,1.25vw,18px); }
body.cc-public-v1 .odsproj-intro__rule {
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.75);
}
body.cc-public-v1 .odsproj-summary { gap: 8px; margin-top: 24px; }
body.cc-public-v1 .odsproj-summary article {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .odsproj-tools {
  margin-top: 34px;
  padding: 16px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.76);
}
body.cc-public-v1 .odsproj-filters button {
  min-height: 36px;
  border-radius: 9px;
  border-color: var(--cc-public-line);
  background: #fff;
  color: var(--cc-public-text);
  font-size: 11px;
  font-weight: 700;
}
body.cc-public-v1 .odsproj-filters button.is-active {
  border-color: var(--cc-public-blue-deep);
  background: var(--cc-public-blue-deep);
  color: #fff;
}
body.cc-public-v1 .odsproj-goal {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1 .odsproj-target {
  border-color: var(--cc-public-line);
  border-radius: 12px;
  box-shadow: none;
}
body.cc-public-v1 .odsproj-method { margin-top: var(--cc-public-section-gap); }

/* Atlas territorial. A densidade e mantida, mas a hierarquia fica mais legivel. */
body.cc-public-v1.cc-public-territory {
  background:
    radial-gradient(780px 360px at 4% -60px, rgba(61,125,104,.09), transparent 70%),
    radial-gradient(760px 340px at 96% -40px, rgba(47,104,189,.07), transparent 70%),
    var(--cc-public-canvas);
}
body.cc-public-v1.cc-public-territory .wrap {
  max-width: var(--cc-public-width);
  padding: 22px 18px 72px;
}
body.cc-public-v1.cc-public-territory .hero {
  min-height: 0;
  padding: clamp(28px,4.2vw,48px);
  border-radius: var(--cc-public-radius-lg);
  grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr);
  gap: clamp(24px,4vw,44px);
  box-shadow: 0 18px 48px rgba(11,41,55,.13);
}
body.cc-public-v1.cc-public-territory .hero h1 {
  max-width: 14ch;
  color: #fff;
  font-size: clamp(38px,5vw,62px);
}
body.cc-public-v1.cc-public-territory .hero p { color: rgba(255,255,255,.84); }
body.cc-public-v1.cc-public-territory .hero-actions { gap: 8px; }
body.cc-public-v1.cc-public-territory .hero .btn {
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.95);
  color: #123246;
}
body.cc-public-v1.cc-public-territory .hero .btn.secondary {
  background: rgba(255,255,255,.08);
  color: #fff;
}
body.cc-public-v1.cc-public-territory .insight-grid { gap: 8px; }
body.cc-public-v1.cc-public-territory .insight-card {
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1.cc-public-territory .section { margin-top: clamp(28px, 4vw, 46px); }
body.cc-public-v1.cc-public-territory .card {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.90);
  box-shadow: none;
}
body.cc-public-v1.cc-public-territory .card:hover { transform: none; }
body.cc-public-v1.cc-public-territory .cc-reading-contract,
body.cc-public-v1.cc-public-territory .cc-research-entry,
body.cc-public-v1.cc-public-territory .cc-time-entry,
body.cc-public-v1.cc-public-territory .cc-capability-intro {
  border-left: 3px solid var(--cc-public-cyan);
}
body.cc-public-v1.cc-public-territory .cc-research-empty,
body.cc-public-v1.cc-public-territory .cc-time-empty,
body.cc-public-v1.cc-public-territory .item.cc-territory-post__empty {
  border: 1px dashed var(--cc-public-line-strong);
  border-radius: 12px;
  background: rgba(249,252,253,.9);
}
body.cc-public-v1.cc-public-territory #map { border-radius: var(--cc-public-radius-sm); }

/* Home. A Home continua mais expressiva, mas respeita a mesma tipografia e ritmo. */
body.cc-public-v1 .cc-home {
  font-family: var(--cc-public-font);
  color: var(--cc-public-ink);
}
body.cc-public-v1 .cc-home h1,
body.cc-public-v1 .cc-home h2,
body.cc-public-v1 .cc-home h3 { font-family: var(--cc-public-font); }
body.cc-public-v1 .cc-home section { scroll-margin-top: 132px; }
body.cc-public-v1 .cc-municipality-lens,
body.cc-public-v1 [data-cc-municipality-lens] { scroll-margin-top: 132px; }

/* Estados vazios. Um vazio explica cobertura e oferece saida. */
body.cc-public-v1 .cc-search-empty,
body.cc-public-v1 .cc-learning-empty,
body.cc-public-v1 .cc-public-context-empty,
body.cc-public-v1 .economy-state,
body.cc-public-v1 .odsproj-empty,
body.cc-public-v1 .cc-research-empty,
body.cc-public-v1 .cc-time-empty {
  padding: 18px;
  border: 1px dashed var(--cc-public-line-strong);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.70);
  color: var(--cc-public-text);
  box-shadow: none;
}
body.cc-public-v1 .cc-search-empty strong,
body.cc-public-v1 .cc-learning-empty strong,
body.cc-public-v1 .economy-state strong,
body.cc-public-v1 .odsproj-empty strong { color: var(--cc-public-ink-strong); }

/* Footer publico canonico */
body.cc-public-v1 .cc-static-footer,
body.cc-public-v1 .cc-footer {
  margin-top: 64px;
  border-top: 1px solid var(--cc-public-line);
  background: rgba(248,251,252,.96);
}
body.cc-public-v1 .cc-static-footer { padding: 34px 0 24px; }
body.cc-public-v1 .cc-static-footer__inner {
  width: min(var(--cc-public-width), calc(100% - 36px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px,1.15fr) 1fr 1fr;
  gap: 22px 34px;
}
body.cc-public-v1 .cc-static-footer__brand strong { color: var(--cc-public-ink-strong); font-size: 15px; }
body.cc-public-v1 .cc-static-footer__brand span,
body.cc-public-v1 .cc-static-footer__note { color: var(--cc-public-muted); font-size: 12px; }
body.cc-public-v1 .cc-static-footer__nav {
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 13px;
}
body.cc-public-v1 .cc-static-footer__nav a {
  color: #4f687b;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
body.cc-public-v1 .cc-static-footer__nav a:hover { color: var(--cc-public-ink-strong); text-decoration: underline; }
body.cc-public-v1 .cc-static-footer__note {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .cc-static-footer__legal {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--cc-public-faint);
  font-size: 11px;
}

/* Microinteracoes V1: feedback sem saltos ou brilho decorativo. */
body.cc-public-v1 .ccp-nav a,
body.cc-public-v1 .ccp-search-link,
body.cc-public-v1 .ccp-login,
body.cc-public-v1 .cc-search-doors a,
body.cc-public-v1 .cc-knowledge-card,
body.cc-public-v1 .cc-learning-card,
body.cc-public-v1 .or-card,
body.cc-public-v1 .or-list-card,
body.cc-public-v1 .economy-offer-card,
body.cc-public-v1 .economy-challenge-card,
body.cc-public-v1 .odsproj-goal,
body.cc-public-v1 .odsproj-target {
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
}

/* Mobile */
@media (max-width: 1080px) {
  body.cc-public-v1 .ccp-nav { display: none; }
  body.cc-public-v1 .ccp-menu-toggle { display: flex; }
  body.cc-public-v1 .ccp-shell__inner { grid-template-columns: auto 1fr auto; }
  body.cc-public-v1 .ccp-actions { grid-column: 3; }
  body.cc-public-v1 .ccp-search-link { display: none; }
  body.cc-public-v1 .cc-public-hero__grid,
  body.cc-public-v1 .inst-hero__grid,
  body.cc-public-v1 .economy-hero__grid,
  body.cc-public-v1.cc-public-territory .hero {
    grid-template-columns: 1fr;
  }
  body.cc-public-v1 .cc-public-hero__visual,
  body.cc-public-v1 .economy-private-visual { max-width: 620px; }
  body.cc-public-v1.cc-public-territory .hero h1 { max-width: 18ch; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 106px; }
  body.cc-public-v1 .ccp-shell { padding: 0; }
  body.cc-public-v1 .ccp-shell__frame { border-radius: 0; }
  body.cc-public-v1 .ccp-shell__inner { min-height: 58px; padding: 5px 6px 5px 9px; }
  body.cc-public-v1 .ccp-brand__mark { width: 36px; height: 36px; }
  body.cc-public-v1 .ccp-brand__wording small { display: none; }
  body.cc-public-v1 .ccp-login { min-height: 38px; padding-inline: 12px; }
  body.cc-public-v1 .ccp-contextbar { gap: 9px; min-height: 43px; padding-inline: 10px; }
  body.cc-public-v1 .ccp-contextbar__label { display: none; }
  body.cc-public-v1 .ccp-contextbar__identity { max-width: 45%; }
  body.cc-public-v1 .ccp-contextbar__identity strong { overflow: hidden; text-overflow: ellipsis; }
  body.cc-public-v1 .ccp-mobile-nav { grid-template-columns: 1fr 1fr; }

  body.cc-public-v1 .cc-search-page,
  body.cc-public-v1 .cc-learning-page,
  body.cc-public-v1 .odsproj-page,
  body.cc-public-v1 .or-wrap,
  body.cc-public-v1 .inst-shell,
  body.cc-public-v1 .economy-shell,
  body.cc-public-v1 .cc-static-footer__inner {
    width: min(100% - 24px, var(--cc-public-width));
  }
  body.cc-public-v1.cc-public-territory .wrap { padding-inline: 12px; }

  body.cc-public-v1 h1 { font-size: clamp(31px, 9.4vw, 43px); }
  body.cc-public-v1 h2 { font-size: clamp(23px, 7.4vw, 32px); }

  body.cc-public-v1 .cc-public-hero__grid { gap: 20px; padding-top: 22px; }
  body.cc-public-v1 .cc-public-hero__visual {
    width: 100%;
    max-width: none;
    max-height: 170px;
    aspect-ratio: 16 / 7;
  }
  body.cc-public-v1 .cc-public-hero__visual figcaption { display: none; }
  body.cc-public-v1 .cc-search-form__row { display: grid; grid-template-columns: 1fr; }
  body.cc-public-v1 .cc-search-form button { width: 100%; }
  body.cc-public-v1 .cc-knowledge-card { grid-template-columns: 110px minmax(0,1fr); min-height: 150px; }
  body.cc-public-v1 .cc-knowledge-card__media img { min-height: 150px; }
  body.cc-public-v1 .cc-knowledge-card__body { padding: 13px; }
  body.cc-public-v1 .cc-knowledge-card__body > p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.45;
  }
  body.cc-public-v1 .cc-knowledge-card h3 { font-size: 16px; }

  body.cc-public-v1 .inst-hero,
  body.cc-public-v1 .economy-hero { padding-top: 26px; }
  body.cc-public-v1 .economy-private-visual { max-height: 165px; }
  body.cc-public-v1 .inst-section,
  body.cc-public-v1 .economy-section,
  body.cc-public-v1 .economy-movement,
  body.cc-public-v1 .economy-method { padding-block: 40px; }

  body.cc-public-v1.cc-public-territory .hero { padding: 24px 18px; border-radius: 18px; }
  body.cc-public-v1.cc-public-territory .hero h1 { font-size: clamp(35px, 10vw, 48px); }
  body.cc-public-v1.cc-public-territory .section { margin-top: 24px; }

  body.cc-public-v1 .cc-static-footer__inner { grid-template-columns: 1fr; }
  body.cc-public-v1 .cc-static-footer__note,
  body.cc-public-v1 .cc-static-footer__legal { grid-column: 1; }
  body.cc-public-v1 .cc-static-footer__legal { flex-direction: column; gap: 4px; }
}

@media (max-width: 520px) {
  body.cc-public-v1 .ccp-mobile-nav { grid-template-columns: 1fr; }
  body.cc-public-v1 .ccp-brand__wording strong { font-size: 14px; }
  body.cc-public-v1 .ccp-login { font-size: 11.5px; }
  body.cc-public-v1 .cc-public-hero h1 { max-width: none; }
  body.cc-public-v1 .cc-public-hero__visual { aspect-ratio: 16 / 8; max-height: 145px; }
  body.cc-public-v1 .cc-search-doors { grid-template-columns: 1fr; }
  body.cc-public-v1 .cc-knowledge-card { grid-template-columns: 92px minmax(0,1fr); }
  body.cc-public-v1 .cc-knowledge-card__media img { min-height: 138px; }
  body.cc-public-v1 .cc-knowledge-card__meta { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.cc-public-v1 *,
  body.cc-public-v1 *::before,
  body.cc-public-v1 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ============================================================
   PUBLIC.VISUAL.POLISH.01B
   Home Art Direction

   Objetivo:
   1. reduzir ruido sem apagar a identidade do campo cognitivo
   2. organizar a Home como uma narrativa em capitulos
   3. devolver protagonismo a territorio, Atlas, evidencias e metodo
   4. manter movimento apenas onde ele comunica relacao
============================================================ */

body.cc-public-v1 .cc-home {
  background: #fff;
}

/* Capitulos editoriais */
body.cc-public-v1 .cc-home-chapter {
  position: relative;
  z-index: 3;
  width: min(var(--cc-public-width), calc(100% - 40px));
  margin: 0 auto clamp(24px, 3.2vw, 42px);
  display: grid;
  grid-template-columns: auto minmax(0, auto) minmax(80px, 1fr);
  align-items: center;
  gap: 12px 16px;
  color: var(--cc-public-muted);
}
body.cc-public-v1 .cc-home-chapter__index {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--cc-public-line-strong);
  border-radius: 10px;
  background: rgba(255,255,255,.76);
  color: var(--cc-public-cyan);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
body.cc-public-v1 .cc-home-chapter__copy {
  display: grid;
  gap: 2px;
}
body.cc-public-v1 .cc-home-chapter__copy strong {
  color: var(--cc-public-ink-strong);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.01em;
}
body.cc-public-v1 .cc-home-chapter__copy small {
  color: var(--cc-public-muted);
  font-size: 11.5px;
  line-height: 1.45;
}
body.cc-public-v1 .cc-home-chapter__line {
  height: 1px;
  background: linear-gradient(90deg, var(--cc-public-line-strong), rgba(31,72,94,.025));
}

/* Hero: campo semantico, nao vitrine de efeitos */
body.cc-public-v1 .cc-home .cc-hero {
  min-height: 0;
  padding-block: clamp(52px, 6.5vw, 90px);
  background:
    radial-gradient(780px 520px at 78% 42%, rgba(44,127,141,.10), transparent 68%),
    radial-gradient(620px 420px at 18% 18%, rgba(47,104,189,.055), transparent 70%),
    linear-gradient(180deg, #fbfdfe 0%, #f5fafb 100%);
}
body.cc-public-v1 .cc-home .cc-hero__grid {
  grid-template-columns: minmax(0,.92fr) minmax(460px,1.08fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
}
body.cc-public-v1 .cc-home .cc-hero__copy {
  max-width: 650px;
}
body.cc-public-v1 .cc-home .cc-hero h1 {
  max-width: 10.8ch;
  font-size: clamp(52px, 6.6vw, 86px);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 700;
}
body.cc-public-v1 .cc-home .cc-hero__lead {
  max-width: 37ch;
  font-size: clamp(18px, 1.65vw, 23px);
  line-height: 1.48;
}
body.cc-public-v1 .cc-home .cc-hero__support {
  max-width: 54ch;
  color: var(--cc-public-muted);
  line-height: 1.68;
}
body.cc-public-v1 .cc-home .cc-hero__signature {
  margin-bottom: 20px;
}
body.cc-public-v1 .cc-home .cc-actions {
  gap: 9px;
}
body.cc-public-v1 .cc-home .cc-action {
  min-height: 44px;
  border-radius: 12px;
  box-shadow: none;
}
body.cc-public-v1 .cc-home .cc-action:hover,
body.cc-public-v1 .cc-home .cc-action:focus-visible {
  transform: none;
}

body.cc-public-v1 .cc-home .cc-field {
  min-height: 450px;
  aspect-ratio: 1.12;
  border: 1px solid rgba(31,72,94,.10);
  border-radius: 26px;
  background: rgba(255,255,255,.55);
  box-shadow: none;
  overflow: hidden;
}
body.cc-public-v1 .cc-home .cc-field__aurora {
  opacity: .34;
  filter: blur(20px);
}
body.cc-public-v1 .cc-home .cc-field__star--4,
body.cc-public-v1 .cc-home .cc-field__star--5,
body.cc-public-v1 .cc-home .cc-field__star--6,
body.cc-public-v1 .cc-home .cc-field__star--7,
body.cc-public-v1 .cc-home .cc-field__memory-orbit--b,
body.cc-public-v1 .cc-home .cc-field__memory-trace--c,
body.cc-public-v1 .cc-home .cc-field__memory-trace--d,
body.cc-public-v1 .cc-home .cc-field__memory-dust,
body.cc-public-v1 .cc-home .cc-field__traveler--feedback {
  display: none;
}
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__gravity-well { opacity: .22; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__orbit { opacity: .035; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__orbit--b { opacity: .022; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__memory-orbit { opacity: .016; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__memory-trace { opacity: .012; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__core-light { opacity: .10; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__feedback { opacity: .025; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__traveler { opacity: .18; }
body.cc-public-v1 .cc-home .cc-field--entities-ready .cc-field__flow {
  opacity: .095;
  stroke-width: 1.05;
  filter: none;
}
body.cc-public-v1 .cc-home .cc-field--entities-ready [data-cc-causal-path].cc-is-causal-active {
  opacity: .44;
  stroke-width: 1.7;
}
body.cc-public-v1 .cc-home .cc-node.cc-node--has-image .cc-node__label,
body.cc-public-v1 .cc-home .cc-node--core.cc-node--has-image .cc-node__label {
  border-color: rgba(31,72,94,.10);
  background: rgba(255,255,255,.90);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

/* Ritmo cromatico: poucos campos, cada um com uma funcao */
body.cc-public-v1 .cc-home .cc-problem { background: #fff; }
body.cc-public-v1 .cc-home .cc-definition { background: linear-gradient(180deg, #fff, #f8fbfc); }
body.cc-public-v1 .cc-home .cc-cycle-section { background: #f7fafc; }
body.cc-public-v1 .cc-home .cc-portals-section { background: #fff; }
body.cc-public-v1 .cc-home .cc-municipality-lens { background: #f5faf8; }
body.cc-public-v1 .cc-home .cc-atlas-section { background: #f6fafc; }
body.cc-public-v1 .cc-home .cc-territorial-mind { background: #fff; }
body.cc-public-v1 .cc-home .cc-realization-section { background: #fbfaf8; }
body.cc-public-v1 .cc-home .cc-continuity-section { background: #f7faf8; }
body.cc-public-v1 .cc-home .cc-proof-section { background: #f7fafc; }
body.cc-public-v1 .cc-home .cc-method { background: #fff; }
body.cc-public-v1 .cc-home .cc-final { background: #f7fafb; }

body.cc-public-v1 .cc-home .cc-thread { opacity: .16; }
body.cc-public-v1 .cc-home .cc-fragments { opacity: .28; }
body.cc-public-v1 .cc-home .cc-municipality-lens__atmosphere { opacity: .42; }

/* Superficies: informacao antes de elevacao */
body.cc-public-v1 .cc-home .cc-definition__states,
body.cc-public-v1 .cc-home .cc-circuit__step,
body.cc-public-v1 .cc-home .cc-portal article,
body.cc-public-v1 .cc-home .cc-municipality-panel,
body.cc-public-v1 .cc-home .cc-municipality-card,
body.cc-public-v1 .cc-home .cc-atlas__field,
body.cc-public-v1 .cc-home .cc-realization__manifestation,
body.cc-public-v1 .cc-home .cc-continuity__stage article,
body.cc-public-v1 .cc-home .cc-proof-story,
body.cc-public-v1 .cc-home .cc-metric,
body.cc-public-v1 .cc-home .cc-method__card,
body.cc-public-v1 .cc-home .cc-method__foundation {
  border-color: var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1 .cc-home .cc-definition__states,
body.cc-public-v1 .cc-home .cc-municipality-panel,
body.cc-public-v1 .cc-home .cc-atlas__field,
body.cc-public-v1 .cc-home .cc-method__foundation {
  border-radius: 24px;
}
body.cc-public-v1 .cc-home .cc-circuit__step,
body.cc-public-v1 .cc-home .cc-portal article,
body.cc-public-v1 .cc-home .cc-municipality-card,
body.cc-public-v1 .cc-home .cc-realization__manifestation,
body.cc-public-v1 .cc-home .cc-continuity__stage article,
body.cc-public-v1 .cc-home .cc-proof-story,
body.cc-public-v1 .cc-home .cc-metric,
body.cc-public-v1 .cc-home .cc-method__card {
  border-radius: 18px;
}
body.cc-public-v1 .cc-home .cc-portal article:hover,
body.cc-public-v1 .cc-home .cc-municipality-card:hover,
body.cc-public-v1 .cc-home .cc-proof-story:hover,
body.cc-public-v1 .cc-home .cc-method__card:hover {
  transform: none;
  box-shadow: none;
}
body.cc-public-v1 .cc-home .cc-method__card::after { opacity: .26; }
body.cc-public-v1 .cc-home .cc-method__index {
  border-radius: 10px;
  font-weight: 700;
}
body.cc-public-v1 .cc-home .cc-method__foundation-map span {
  border-radius: 12px;
  font-weight: 600;
  box-shadow: none;
}

/* Leitura */
body.cc-public-v1 .cc-home .cc-section-heading,
body.cc-public-v1 .cc-home .cc-proof__intro,
body.cc-public-v1 .cc-home .cc-territorial-mind__intro {
  max-width: 820px;
}
body.cc-public-v1 .cc-home .cc-section-heading h2,
body.cc-public-v1 .cc-home .cc-proof__intro h2,
body.cc-public-v1 .cc-home .cc-territorial-mind__intro h2 {
  max-width: 18ch;
}
body.cc-public-v1 .cc-home .cc-eyebrow {
  color: var(--cc-public-cyan);
  font-weight: 700;
  letter-spacing: .085em;
}
body.cc-public-v1 .cc-home .cc-final h2 {
  font-size: clamp(42px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.05em;
}

@media (max-width: 1050px) {
  body.cc-public-v1 .cc-home .cc-hero__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  body.cc-public-v1 .cc-home .cc-hero__copy { max-width: 760px; }
  body.cc-public-v1 .cc-home .cc-hero h1 {
    max-width: 12ch;
    font-size: clamp(50px, 9vw, 78px);
  }
  body.cc-public-v1 .cc-home .cc-field {
    width: min(100%, 720px);
    margin-inline: auto;
  }
}

@media (max-width: 760px) {
  body.cc-public-v1 .cc-home-chapter {
    width: min(100% - 24px, var(--cc-public-width));
    grid-template-columns: auto minmax(0,1fr);
    gap: 10px 12px;
    margin-bottom: 22px;
  }
  body.cc-public-v1 .cc-home-chapter__line { display: none; }
  body.cc-public-v1 .cc-home-chapter__copy small {
    font-size: 11px;
    line-height: 1.4;
  }
  body.cc-public-v1 .cc-home .cc-hero {
    padding-block: 34px 46px;
  }
  body.cc-public-v1 .cc-home .cc-hero h1 {
    max-width: 100%;
    font-size: clamp(42px, 13vw, 62px);
    line-height: .97;
  }
  body.cc-public-v1 .cc-home .cc-hero__lead {
    max-width: none;
    font-size: 18px;
  }
  body.cc-public-v1 .cc-home .cc-field {
    min-height: 350px;
    border-radius: 20px;
  }
  body.cc-public-v1 .cc-home .cc-field__star--3 { display: none; }
  body.cc-public-v1 .cc-home .cc-definition__states,
  body.cc-public-v1 .cc-home .cc-municipality-panel,
  body.cc-public-v1 .cc-home .cc-atlas__field,
  body.cc-public-v1 .cc-home .cc-method__foundation {
    border-radius: 18px;
  }
  body.cc-public-v1 .cc-home .cc-method__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   PUBLIC.VISUAL.POLISH.01C
   Convergencia das superficies publicas principais.

   Territorio, Conhecimentos, Aprendizagem, Investigacao,
   Organizacoes, Economia e ODS passam a compartilhar ritmo,
   hierarquia, densidade, superficie, estados e interacao.
============================================================ */

/* Ritmo comum das superficies primarias */
body.cc-public-v1 .cc-search-page,
body.cc-public-v1 .cc-learning-page,
body.cc-public-v1 .or-wrap,
body.cc-public-v1 .odsproj-page,
body.cc-public-v1 .ctp-main {
  --cc-primary-accent: var(--cc-public-cyan);
}
body.cc-public-v1 .cc-learning-page { --cc-primary-accent: var(--cc-public-green); }
body.cc-public-v1 .or-wrap { --cc-primary-accent: var(--cc-public-blue); }
body.cc-public-v1 .odsproj-page { --cc-primary-accent: var(--cc-public-green); }
body.cc-public-v1 .ctp-main { --cc-primary-accent: var(--cc-public-cyan); }

body.cc-public-v1 .cc-search-section-head,
body.cc-public-v1 .cc-search-results-head,
body.cc-public-v1 .cc-learning-how__intro,
body.cc-public-v1 .cc-learning-list__head,
body.cc-public-v1 .cc-learning-principles__head,
body.cc-public-v1 .economy-section-head,
body.cc-public-v1 .inst-section__heading,
body.cc-public-v1 .odsproj-section-head,
body.cc-public-v1 .ctp-section__head {
  max-width: 800px;
}

body.cc-public-v1 .cc-search-section-head h2,
body.cc-public-v1 .cc-search-results-head h2,
body.cc-public-v1 .cc-learning-how__intro h2,
body.cc-public-v1 .cc-learning-list__head h2,
body.cc-public-v1 .cc-learning-principles__head h2,
body.cc-public-v1 .economy-section-head h2,
body.cc-public-v1 .inst-section__heading h2,
body.cc-public-v1 .odsproj-section-head h2,
body.cc-public-v1 .ctp-section__head h2,
body.cc-public-v1 .ctp-method h2 {
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.07;
  letter-spacing: -.035em;
  font-weight: 700;
}

/* Territorios agora participa da mesma autoridade visual */
body.cc-public-v1.cc-territory-portal {
  --ctp-blue: var(--cc-public-blue);
  --ctp-cyan: var(--cc-public-cyan);
  --ctp-green: var(--cc-public-green);
  --ctp-muted: var(--cc-public-muted);
  --ctp-line: var(--cc-public-line);
  --ctp-surface: #fff;
  background: var(--cc-public-canvas);
}
body.cc-public-v1 .ctp-main {
  max-width: var(--cc-public-width);
  padding: clamp(22px, 3vw, 36px) 18px 72px;
}
body.cc-public-v1 .ctp-hero {
  grid-template-columns: minmax(0,1.14fr) minmax(340px,.86fr);
  gap: clamp(32px, 5vw, 64px);
  padding: clamp(30px, 4.5vw, 54px) 0 clamp(28px, 4vw, 44px);
  border: 0;
  border-bottom: 1px solid var(--cc-public-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1 .ctp-hero::before { display: none; }
body.cc-public-v1 .ctp-eyebrow,
body.cc-public-v1 .ctp-kicker {
  margin-bottom: 9px;
  color: var(--cc-public-cyan);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
}
body.cc-public-v1 .ctp-hero h1 {
  max-width: 13ch;
  font-size: clamp(42px, 5.2vw, 68px);
  font-weight: 700;
}
body.cc-public-v1 .ctp-lead {
  max-width: 66ch;
  margin-top: 20px;
  color: var(--cc-public-text);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.68;
}
body.cc-public-v1 .ctp-search { margin-top: 26px; }
body.cc-public-v1 .ctp-search label { color: var(--cc-public-ink); font-size: 12.5px; font-weight: 700; }
body.cc-public-v1 .ctp-search__control {
  gap: 8px;
  padding: 6px;
  border-color: var(--cc-public-line-strong);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}
body.cc-public-v1 .ctp-search__control:focus-within {
  border-color: rgba(47,104,189,.42);
  box-shadow: var(--cc-public-focus);
}
body.cc-public-v1 .ctp-search__button,
body.cc-public-v1 .ctp-final__button {
  min-height: 42px;
  border-radius: 11px;
  background: var(--cc-public-blue-deep);
  font-weight: 700;
  box-shadow: none;
}
body.cc-public-v1 .ctp-search-results {
  border-color: var(--cc-public-line);
  border-radius: 14px;
  box-shadow: var(--cc-public-shadow-depth);
}
body.cc-public-v1 .ctp-lens {
  width: min(100%, 410px);
  padding: 48px;
  border-color: var(--cc-public-line);
  background: radial-gradient(circle, #fff 0 28%, rgba(235,247,247,.72) 29% 52%, rgba(255,255,255,.78) 53% 100%);
  box-shadow: none;
}
body.cc-public-v1 .ctp-lens__node { box-shadow: 0 0 0 5px rgba(44,127,141,.075); }
body.cc-public-v1 .ctp-lens__center {
  background: #fff;
  border: 1px solid var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1 .ctp-section {
  margin-top: var(--cc-public-section-gap);
  padding: clamp(26px, 3.6vw, 44px) 0 0;
  border: 0;
  border-top: 1px solid var(--cc-public-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1 .ctp-section--flow { background: transparent; }
body.cc-public-v1 .ctp-dimensions { gap: 9px; }
body.cc-public-v1 .ctp-dimension,
body.cc-public-v1 .ctp-flow li {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.82);
  box-shadow: none;
}
body.cc-public-v1 .ctp-dimension { min-height: 190px; padding: 20px; }
body.cc-public-v1 .ctp-dimension::before { width: 2px; }
body.cc-public-v1 .ctp-flow { gap: 7px; }
body.cc-public-v1 .ctp-flow li { padding: 16px 12px; }
body.cc-public-v1 .ctp-flow li:not(:last-child)::after { opacity: .35; }
body.cc-public-v1 .ctp-method__states span {
  border-color: var(--cc-public-line);
  border-radius: 10px;
  background: #fff;
  font-weight: 600;
}
body.cc-public-v1 .ctp-final {
  margin-top: var(--cc-public-section-gap);
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-lg);
  background: #112b3e;
  box-shadow: none;
}
body.cc-public-v1 .ctp-final__button { background: #fff; color: var(--cc-public-ink-strong); }

/* Conhecimentos */
body.cc-public-v1 .cc-search-start,
body.cc-public-v1 .cc-search-results-section,
body.cc-public-v1 .cc-search-method {
  padding-top: clamp(28px, 3.8vw, 46px);
  border-top: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .cc-search-doors a,
body.cc-public-v1 .cc-knowledge-card {
  background: rgba(255,255,255,.88);
}
body.cc-public-v1 .cc-search-suggestions a,
body.cc-public-v1 .cc-knowledge-card__meta span {
  border-radius: 9px;
  box-shadow: none;
}
body.cc-public-v1 .cc-knowledge-card__open,
body.cc-public-v1 .cc-learning-card__open,
body.cc-public-v1 .odsproj-target__open,
body.cc-public-v1 .odsproj-object-open {
  font-weight: 700;
}

/* Aprendizagem */
body.cc-public-v1 .cc-learning-how,
body.cc-public-v1 .cc-learning-list,
body.cc-public-v1 .cc-learning-principles {
  padding-top: clamp(28px, 3.8vw, 46px);
  border-top: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .cc-learning-flow article,
body.cc-public-v1 .cc-learning-card,
body.cc-public-v1 .cc-learning-principles__grid article {
  background: rgba(255,255,255,.88);
}
body.cc-public-v1 .cc-learning-card__tags span,
body.cc-public-v1 .cc-learning-card__audience {
  box-shadow: none;
}

/* Investigacao */
body.cc-public-v1 .or-wrap { padding-top: 0; }
body.cc-public-v1 .or-hero {
  margin: 0 0 26px;
  padding: clamp(30px, 4vw, 46px) 0 28px;
  border-bottom: 1px solid var(--cc-public-line);
}
body.cc-public-v1 .or-title {
  max-width: 16ch;
  margin: 0;
  color: var(--cc-public-ink-strong);
  font-size: clamp(36px, 4.5vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 700;
}
body.cc-public-v1 .or-sub {
  max-width: 68ch;
  margin-top: 14px;
  color: var(--cc-public-text);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.68;
}
body.cc-public-v1 .or-filter {
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.82);
  box-shadow: none;
}
body.cc-public-v1 .or-inp,
body.cc-public-v1 .or-sel {
  min-height: 44px;
  border-color: var(--cc-public-line-strong);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
body.cc-public-v1 .or-metric,
body.cc-public-v1 .or-card,
body.cc-public-v1 .or-panel,
body.cc-public-v1 .or-list-card {
  background: rgba(255,255,255,.88);
}
body.cc-public-v1 .or-card:hover,
body.cc-public-v1 .or-list-card:hover { transform: none; box-shadow: none; }

/* Organizacoes */
body.cc-public-v1 .inst-hero::before { opacity: .28; }
body.cc-public-v1 .inst-proof article::after,
body.cc-public-v1 .inst-final-cta::after { opacity: .22; }
body.cc-public-v1 .inst-proof article:hover,
body.cc-public-v1 .inst-problem-grid article:hover,
body.cc-public-v1 .inst-audience-grid article:hover,
body.cc-public-v1 .inst-step:hover,
body.cc-public-v1 .inst-week:hover,
body.cc-public-v1 .inst-space-card:hover {
  transform: none;
  box-shadow: none;
}
body.cc-public-v1 .inst-section--problem,
body.cc-public-v1 .inst-section--soft,
body.cc-public-v1 .inst-section--audiences,
body.cc-public-v1 .inst-section--badges { background: transparent; }
body.cc-public-v1 .inst-section--dark {
  background: #102a3d;
}
body.cc-public-v1 .inst-section--dark::before { opacity: .28; }
body.cc-public-v1 .inst-problem-grid article,
body.cc-public-v1 .inst-step,
body.cc-public-v1 .inst-audience-card,
body.cc-public-v1 .inst-week,
body.cc-public-v1 .inst-space-card {
  border: 1px solid var(--cc-public-line);
  background: rgba(255,255,255,.88);
}
body.cc-public-v1 .inst-final-cta {
  background: #f4f8f9;
  box-shadow: none;
}

/* Economia */
body.cc-public-v1 .economy-hero::after { height: 1px; opacity: .5; }
body.cc-public-v1 .economy-movement { background: #f5f9fa; }
body.cc-public-v1 .economy-section { background: transparent; }
body.cc-public-v1 .economy-section--tint { background: #f5f9f8; }
body.cc-public-v1 .economy-metric,
body.cc-public-v1 .economy-card,
body.cc-public-v1 .economy-offer,
body.cc-public-v1 .economy-territory-lenses article,
body.cc-public-v1 .economy-loop {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.9);
  box-shadow: none;
}
body.cc-public-v1 .economy-card--capacity,
body.cc-public-v1 .economy-card--challenge,
body.cc-public-v1 .economy-card--realization { border-top-width: 2px; }
body.cc-public-v1 .economy-card__meta span,
body.cc-public-v1 .economy-chip,
body.cc-public-v1 .economy-realization-flow span,
body.cc-public-v1 .economy-loop span {
  border-radius: 10px;
  font-weight: 700;
}
body.cc-public-v1 .economy-method {
  background: #102a3d;
}
body.cc-public-v1 .economy-method-grid article {
  border-color: rgba(255,255,255,.13);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.045);
}
body.cc-public-v1 .economy-final { background: #f3f8f8; }

/* ODS como lente, nao como universo visual separado */
body.cc-public-v1 .odsproj-summary article,
body.cc-public-v1 .odsproj-tools,
body.cc-public-v1 .odsproj-goal,
body.cc-public-v1 .odsproj-target,
body.cc-public-v1 .odsproj-method__grid article,
body.cc-public-v1 .odsproj-object-card,
body.cc-public-v1 .odsproj-event {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.9);
  box-shadow: none;
}
body.cc-public-v1 .odsproj-tools { margin-top: 26px; }
body.cc-public-v1 .odsproj-summary strong { font-weight: 700; }
body.cc-public-v1 .odsproj-filters button {
  border-radius: 10px;
  font-weight: 600;
}
body.cc-public-v1 .odsproj-filters button.is-active {
  border-color: rgba(44,127,141,.28);
  background: var(--cc-public-soft-cyan);
  color: var(--cc-public-cyan);
}
body.cc-public-v1 .odsproj-goal>summary { padding: 13px 15px; }
body.cc-public-v1 .odsproj-goal__identity img { border-radius: 9px; }
body.cc-public-v1 .odsproj-goal__signal {
  border-radius: 9px;
  background: #f5f8f9;
  font-weight: 600;
}
body.cc-public-v1 .odsproj-target__state,
body.cc-public-v1 .odsproj-target__counts span { font-weight: 600; }
body.cc-public-v1 .odsproj-target__counts span { border-radius: 8px; }
body.cc-public-v1 .odsproj-method {
  padding-top: clamp(28px, 3.8vw, 46px);
  border-top: 1px solid var(--cc-public-line);
}

/* Estados e interacoes comuns */
body.cc-public-v1 .cc-search-doors a,
body.cc-public-v1 .cc-knowledge-card,
body.cc-public-v1 .cc-learning-card,
body.cc-public-v1 .or-card,
body.cc-public-v1 .or-list-card,
body.cc-public-v1 .inst-problem-grid article,
body.cc-public-v1 .inst-audience-grid article,
body.cc-public-v1 .economy-card,
body.cc-public-v1 .economy-offer,
body.cc-public-v1 .odsproj-goal,
body.cc-public-v1 .odsproj-target,
body.cc-public-v1 .ctp-dimension {
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
body.cc-public-v1 .cc-search-doors a:hover,
body.cc-public-v1 .cc-knowledge-card:hover,
body.cc-public-v1 .cc-learning-card:hover,
body.cc-public-v1 .or-card:hover,
body.cc-public-v1 .or-list-card:hover,
body.cc-public-v1 .inst-problem-grid article:hover,
body.cc-public-v1 .inst-audience-grid article:hover,
body.cc-public-v1 .economy-card:hover,
body.cc-public-v1 .economy-offer:hover,
body.cc-public-v1 .odsproj-target:hover,
body.cc-public-v1 .ctp-dimension:hover {
  border-color: var(--cc-public-line-strong);
  background: #fff;
  transform: none;
  box-shadow: none;
}

@media (max-width: 1050px) {
  body.cc-public-v1 .ctp-hero { grid-template-columns: 1fr; }
  body.cc-public-v1 .ctp-hero__map { max-width: 500px; }
}

@media (max-width: 760px) {
  body.cc-public-v1 .ctp-main { padding-inline: 12px; }
  body.cc-public-v1 .ctp-hero {
    padding: 28px 0 30px;
    border-radius: 0;
  }
  body.cc-public-v1 .ctp-hero h1 { font-size: clamp(40px, 12vw, 58px); }
  body.cc-public-v1 .ctp-lens { padding: 32px; }
  body.cc-public-v1 .ctp-section {
    margin-top: 42px;
    padding: 28px 0 0;
    border-radius: 0;
  }
  body.cc-public-v1 .ctp-final {
    margin-top: 44px;
    padding: 26px 22px;
    border-radius: 18px;
  }
  body.cc-public-v1 .or-filter { padding: 10px; }
  body.cc-public-v1 .odsproj-goal__signal { font-size: 10.5px; }
}



/* ============================================================
   PUBLIC.VISUAL.POLISH.01D
   Rotas profundas e mobile.
   A leitura profunda preserva a identidade do objeto sem sair
   da gramatica visual publica. Mobile prioriza contexto, leitura
   e acao, sem reproduzir desktop comprimido.
============================================================ */

/* Conhecimento individual */
body.cc-public-v1.cc-public-knowledge-detail .cr-post-view {
  background: transparent;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-shell {
  max-width: var(--cc-public-width);
  padding-top: 22px;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-topbar,
body.cc-public-v1.cc-public-knowledge-detail .cr-post-breadcrumb {
  color: var(--cc-public-muted);
  font-family: var(--cc-public-font);
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-layout {
  gap: clamp(24px, 4vw, 52px);
  padding: clamp(28px, 4vw, 48px) 0 34px;
  border-bottom: 1px solid var(--cc-public-line);
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-editorial {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-title {
  max-width: 18ch;
  color: var(--cc-public-ink-strong);
  font-family: var(--cc-public-font);
  font-size: clamp(36px, 4.6vw, 60px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 700;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-subtitle,
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-lead,
body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-meta {
  color: var(--cc-public-text);
  font-family: var(--cc-public-font);
}
body.cc-public-v1.cc-public-knowledge-detail .cr-density-card,
body.cc-public-v1.cc-public-knowledge-detail .cr-context-panel,
body.cc-public-v1.cc-public-knowledge-detail .cr-reading-section,
body.cc-public-v1.cc-public-knowledge-detail .cr-simple-block {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius);
  background: rgba(255,255,255,.9);
  box-shadow: none;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-density-card::before,
body.cc-public-v1.cc-public-knowledge-detail .cr-density-card::after {
  opacity: .25;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-reading-section .card-header {
  border-bottom-color: var(--cc-public-line);
  background: #f7fafb;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-badge,
body.cc-public-v1.cc-public-knowledge-detail .cr-density-pill,
body.cc-public-v1.cc-public-knowledge-detail .lb-pill {
  border-radius: 9px;
  box-shadow: none;
  font-weight: 600;
}
body.cc-public-v1.cc-public-knowledge-detail .cr-territory-return__inner {
  border-color: var(--cc-public-line-strong);
  border-radius: var(--cc-public-radius-sm);
  background: #f5f9fa;
  box-shadow: none;
}
body.cc-public-v1.cc-public-knowledge-detail .linebar {
  top: 0;
  border-bottom-color: var(--cc-public-line);
  background: rgba(255,255,255,.96);
  box-shadow: none;
}
body.cc-public-v1.cc-public-knowledge-detail .linebar .wrap {
  font-family: var(--cc-public-font);
}
body.cc-public-v1.cc-public-knowledge-detail .lb-btn {
  border-radius: 10px;
  font-weight: 600;
  box-shadow: none;
}
body.cc-public-v1.cc-public-knowledge-detail .lb-btn.primary {
  border-color: var(--cc-public-ink-strong);
  background: var(--cc-public-ink-strong);
}

/* Oferta economica individual */
body.cc-public-v1.cc-public-market-product .market-wrap {
  max-width: var(--cc-public-width);
  padding-top: 28px;
}
body.cc-public-v1.cc-public-market-product .market-breadcrumb {
  color: var(--cc-public-muted);
  font-size: 12.5px;
}
body.cc-public-v1.cc-public-market-product .market-detail {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cc-public-v1.cc-public-market-product .market-detail-grid {
  gap: clamp(28px, 5vw, 62px);
  align-items: start;
}
body.cc-public-v1.cc-public-market-product .market-detail-image {
  overflow: hidden;
  border: 1px solid var(--cc-public-line);
  border-radius: var(--cc-public-radius-lg);
  background: #f2f6f7;
  box-shadow: none;
}
body.cc-public-v1.cc-public-market-product .market-detail-title {
  margin-top: 16px;
  color: var(--cc-public-ink-strong);
  font-family: var(--cc-public-font);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: -.042em;
  font-weight: 700;
}
body.cc-public-v1.cc-public-market-product .market-desc,
body.cc-public-v1.cc-public-market-product .market-product-meta,
body.cc-public-v1.cc-public-market-product .market-action-caption {
  color: var(--cc-public-text);
  line-height: 1.68;
}
body.cc-public-v1.cc-public-market-product .market-price {
  color: var(--cc-public-ink-strong);
  font-family: var(--cc-public-font);
  font-weight: 700;
}
body.cc-public-v1.cc-public-market-product .market-badge,
body.cc-public-v1.cc-public-market-product .market-trace-badge {
  border-radius: 9px;
  box-shadow: none;
  font-weight: 600;
}
body.cc-public-v1.cc-public-market-product .market-btn {
  min-height: 44px;
  border-radius: 11px;
  background: var(--cc-public-ink-strong);
  box-shadow: none;
  font-weight: 600;
}
body.cc-public-v1.cc-public-market-product .market-btn:hover {
  transform: none;
  box-shadow: none;
}
body.cc-public-v1.cc-public-market-product .market-separator {
  border-color: var(--cc-public-line);
}
body.cc-public-v1.cc-public-market-product .market-trust-card,
body.cc-public-v1.cc-public-market-product .market-knowledge-card,
body.cc-public-v1.cc-public-market-product .market-interest-contract,
body.cc-public-v1.cc-public-market-product .market-note {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  background: rgba(255,255,255,.88);
  box-shadow: none;
}

/* Universidade e disciplina publica */
body.cc-public-v1.cc-public-university .unipub {
  color: var(--cc-public-ink);
  background: transparent;
}
body.cc-public-v1.cc-public-university .unipub__shell {
  max-width: var(--cc-public-width);
}
body.cc-public-v1.cc-public-university .unipub__modebar,
body.cc-public-v1.cc-public-university .unipub__identity-panel,
body.cc-public-v1.cc-public-university .unipub__overview,
body.cc-public-v1.cc-public-university .unipub__section,
body.cc-public-v1.cc-public-university .unipub__access {
  border-color: var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__modebar,
body.cc-public-v1.cc-public-university .unipub__overview,
body.cc-public-v1.cc-public-university .unipub__section {
  background: rgba(255,255,255,.88);
}
body.cc-public-v1.cc-public-university .unipub__identity-panel {
  border-radius: var(--cc-public-radius);
  background: #fff;
}
body.cc-public-v1.cc-public-university .unipub__panorama {
  border-radius: var(--cc-public-radius-lg);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__nav {
  border-color: var(--cc-public-line);
  background: rgba(255,255,255,.94);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__nav a {
  font-family: var(--cc-public-font);
  font-weight: 600;
}
body.cc-public-v1.cc-public-university .unipub__research-grid > a,
body.cc-public-v1.cc-public-university .unipub__production-grid > a,
body.cc-public-v1.cc-public-university .unipub__discipline-grid > a,
body.cc-public-v1.cc-public-university .unipub__people-grid article,
body.cc-public-v1.cc-public-university .unipub__result-card,
body.cc-public-v1.cc-public-university .unipub__learning-lines > a {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius-sm);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__research-grid > a:hover,
body.cc-public-v1.cc-public-university .unipub__production-grid > a:hover,
body.cc-public-v1.cc-public-university .unipub__discipline-grid > a:hover,
body.cc-public-v1.cc-public-university .unipub__result-card:hover,
body.cc-public-v1.cc-public-university .unipub__learning-lines > a:hover {
  transform: none;
  border-color: var(--cc-public-line-strong);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__results,
body.cc-public-v1.cc-public-university .unipub__territory {
  box-shadow: none;
}
body.cc-public-v1.cc-public-university .unipub__territory::before,
body.cc-public-v1.cc-public-university .unipub__territory::after,
body.cc-public-v1.cc-public-university .unipub__results::before {
  opacity: .3;
}
body.cc-public-v1.cc-public-university-discipline .discipline-public__hero,
body.cc-public-v1.cc-public-university-discipline .discipline-public__facts article,
body.cc-public-v1.cc-public-university-discipline .discipline-public__content,
body.cc-public-v1.cc-public-university-discipline .discipline-public__reserved {
  border-color: var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1.cc-public-university-discipline .discipline-public__hero {
  border-radius: var(--cc-public-radius-lg);
}

/* Manual Vivo */
body.cc-public-v1.cc-public-method .ccm-main {
  background: transparent;
}
body.cc-public-v1.cc-public-method .ccm-shell {
  max-width: var(--cc-public-width);
}
body.cc-public-v1.cc-public-method .ccm-hero {
  padding: clamp(50px, 7vw, 90px) 0;
  background: transparent;
}
body.cc-public-v1.cc-public-method .ccm-hero::before {
  opacity: .28;
}
body.cc-public-v1.cc-public-method .ccm-hero h1 {
  color: var(--cc-public-ink-strong);
  font-size: clamp(40px, 5.7vw, 72px);
  font-weight: 700;
}
body.cc-public-v1.cc-public-method .ccm-hero__contract,
body.cc-public-v1.cc-public-method .ccm-definition-card,
body.cc-public-v1.cc-public-method .ccm-scale-card,
body.cc-public-v1.cc-public-method .ccm-dialogue-card,
body.cc-public-v1.cc-public-method .ccm-method-card,
body.cc-public-v1.cc-public-method .ccm-state-table,
body.cc-public-v1.cc-public-method .ccm-operation-list {
  border-color: var(--cc-public-line);
  border-radius: var(--cc-public-radius);
  background: rgba(255,255,255,.9);
  box-shadow: none;
}
body.cc-public-v1.cc-public-method .ccm-definition-card--main,
body.cc-public-v1.cc-public-method .ccm-section--definition,
body.cc-public-v1.cc-public-method .ccm-section--scales,
body.cc-public-v1.cc-public-method .ccm-section--method,
body.cc-public-v1.cc-public-method .ccm-section--operations,
body.cc-public-v1.cc-public-method .ccm-section--references,
body.cc-public-v1.cc-public-method .ccm-final {
  background: transparent;
}
body.cc-public-v1.cc-public-method .ccm-section {
  padding: clamp(58px, 7vw, 94px) 0;
  border-bottom-color: var(--cc-public-line);
}
body.cc-public-v1.cc-public-method .ccm-scale-card:nth-child(2) {
  transform: none;
}
body.cc-public-v1.cc-public-method .ccm-button {
  min-height: 44px;
  border-radius: 11px;
  font-weight: 600;
  box-shadow: none;
}
body.cc-public-v1.cc-public-method .ccm-button:hover {
  transform: none;
  box-shadow: none;
}
body.cc-public-v1.cc-public-method .ccm-button--primary {
  background: var(--cc-public-ink-strong);
}

/* Rotas profundas ja seladas */
body.cc-public-v1 .llp-page,
body.cc-public-v1 .odsproj-target-page,
body.cc-public-v1 .or-wrap {
  background: transparent;
}
body.cc-public-v1 .llp-ambient {
  opacity: .42;
}
body.cc-public-v1 .llp-hero,
body.cc-public-v1 .llp-map-section,
body.cc-public-v1 .llp-connections,
body.cc-public-v1 .llp-final-cta,
body.cc-public-v1 .llp-station-card,
body.cc-public-v1 .or-block,
body.cc-public-v1 .odsproj-target-hero,
body.cc-public-v1 .odsproj-target-summary,
body.cc-public-v1 .odsproj-lens,
body.cc-public-v1 .odsproj-section {
  border-color: var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1 .llp-station:hover,
body.cc-public-v1 .llp-station-card:hover,
body.cc-public-v1 .or-block:hover,
body.cc-public-v1 .odsproj-object-card:hover {
  transform: none;
  box-shadow: none;
}

/* Atlas: densidade legitima, decoracao reduzida */
body.cc-public-v1.cc-public-territory .hero,
body.cc-public-v1.cc-public-territory .card,
body.cc-public-v1.cc-public-territory .panel-good,
body.cc-public-v1.cc-public-territory .panel-alert,
body.cc-public-v1.cc-public-territory .cc-method-box,
body.cc-public-v1.cc-public-territory .cc-reading-contract,
body.cc-public-v1.cc-public-territory .cc-research-notebook,
body.cc-public-v1.cc-public-territory .cc-core-utility,
body.cc-public-v1.cc-public-territory .cc-evidence-return__shell {
  border-color: var(--cc-public-line);
  box-shadow: none;
}
body.cc-public-v1.cc-public-territory .hero {
  background: transparent;
}
body.cc-public-v1.cc-public-territory .insight-card,
body.cc-public-v1.cc-public-territory .dimension-card,
body.cc-public-v1.cc-public-territory .mini-card,
body.cc-public-v1.cc-public-territory .story-card,
body.cc-public-v1.cc-public-territory .politeia-card {
  box-shadow: none;
}

/* Mobile como sequencia cognitiva */
@media (max-width: 760px) {
  body.cc-public-v1 {
    background: var(--cc-public-canvas);
  }
  body.cc-public-v1 .ccp-shell__inner {
    min-height: 58px;
    padding-inline: 8px;
  }
  body.cc-public-v1 .ccp-brand__wording small {
    display: none;
  }
  body.cc-public-v1 .ccp-contextbar {
    min-height: 42px;
    padding-inline: 10px;
  }
  body.cc-public-v1 .ccp-contextnav {
    overflow-x: auto;
    scrollbar-width: none;
  }
  body.cc-public-v1 .ccp-contextnav::-webkit-scrollbar { display: none; }

  body.cc-public-v1.cc-public-knowledge-detail .cr-post-shell {
    padding: 12px 12px 48px;
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-layout {
    display: block;
    padding-top: 20px;
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-title {
    max-width: none;
    font-size: clamp(34px, 10vw, 48px);
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-side {
    margin-top: 22px;
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-post-body-layout {
    display: block;
  }
  body.cc-public-v1.cc-public-knowledge-detail .linebar .wrap {
    align-items: stretch;
    flex-direction: column;
    padding: 9px 12px;
  }
  body.cc-public-v1.cc-public-knowledge-detail .lb-left {
    min-width: 0;
  }
  body.cc-public-v1.cc-public-knowledge-detail .lb-mid,
  body.cc-public-v1.cc-public-knowledge-detail .lb-actions {
    justify-content: flex-start;
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-territory-return {
    padding-inline: 12px;
  }

  body.cc-public-v1.cc-public-market-product .market-wrap {
    padding: 18px 12px 52px;
  }
  body.cc-public-v1.cc-public-market-product .market-detail-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  body.cc-public-v1.cc-public-market-product .market-detail-image {
    max-height: none;
    border-radius: 18px;
  }
  body.cc-public-v1.cc-public-market-product .market-detail-title {
    font-size: clamp(34px, 10vw, 46px);
  }
  body.cc-public-v1.cc-public-market-product .market-btn {
    width: 100%;
  }

  body.cc-public-v1.cc-public-university .unipub__shell {
    padding-inline: 12px;
  }
  body.cc-public-v1.cc-public-university .unipub__modebar {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  body.cc-public-v1.cc-public-university .unipub__nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  body.cc-public-v1.cc-public-university .unipub__nav::-webkit-scrollbar { display: none; }
  body.cc-public-v1.cc-public-university .unipub__panorama {
    border-radius: 18px;
  }
  body.cc-public-v1.cc-public-university .unipub__section,
  body.cc-public-v1.cc-public-university .unipub__overview,
  body.cc-public-v1.cc-public-university .unipub__results,
  body.cc-public-v1.cc-public-university .unipub__territory {
    padding: 22px 18px;
  }

  body.cc-public-v1.cc-public-method .ccm-hero {
    padding: 42px 0 48px;
  }
  body.cc-public-v1.cc-public-method .ccm-hero__grid,
  body.cc-public-v1.cc-public-method .ccm-section-heading--split,
  body.cc-public-v1.cc-public-method .ccm-definition-card--main,
  body.cc-public-v1.cc-public-method .ccm-dialogue-grid,
  body.cc-public-v1.cc-public-method .ccm-method-grid,
  body.cc-public-v1.cc-public-method .ccm-final__inner {
    grid-template-columns: 1fr;
  }
  body.cc-public-v1.cc-public-method .ccm-section {
    padding: 50px 0;
  }
  body.cc-public-v1.cc-public-method .ccm-definition-grid,
  body.cc-public-v1.cc-public-method .ccm-scale-grid {
    grid-template-columns: 1fr;
  }
  body.cc-public-v1.cc-public-method .ccm-dialogue-card__body {
    grid-template-columns: 1fr;
  }
  body.cc-public-v1.cc-public-method .ccm-dialogue-card__body .ccm-boundary {
    border-top: 1px solid var(--cc-public-line);
    border-left: 0;
  }
  body.cc-public-v1.cc-public-method .ccm-state-table__row,
  body.cc-public-v1.cc-public-method .ccm-operation-row {
    grid-template-columns: 1fr;
  }
  body.cc-public-v1.cc-public-method .ccm-operation-row a {
    justify-self: start;
  }
  body.cc-public-v1.cc-public-method .ccm-final__actions {
    justify-content: flex-start;
  }

  body.cc-public-v1 .llp-ambient {
    display: none;
  }
  body.cc-public-v1 .llp-hero,
  body.cc-public-v1 .llp-map-section,
  body.cc-public-v1 .llp-connections,
  body.cc-public-v1 .llp-final-cta,
  body.cc-public-v1 .odsproj-target-hero,
  body.cc-public-v1 .odsproj-lens,
  body.cc-public-v1 .odsproj-section,
  body.cc-public-v1 .or-block {
    border-radius: 16px;
  }
  body.cc-public-v1 .odsproj-target-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  body.cc-public-v1 .odsproj-target-hero__actions a,
  body.cc-public-v1 .or-actions .or-btn {
    width: 100%;
    justify-content: center;
  }

  body.cc-public-v1.cc-public-territory .wrap {
    padding-inline: 12px;
  }
  body.cc-public-v1.cc-public-territory .hero {
    padding: 26px 0 30px;
  }
  body.cc-public-v1.cc-public-territory .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  body.cc-public-v1.cc-public-territory .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
  body.cc-public-v1.cc-public-territory .insight-grid,
  body.cc-public-v1.cc-public-territory .grid,
  body.cc-public-v1.cc-public-territory .split,
  body.cc-public-v1.cc-public-territory .cc-research-notebook__layout,
  body.cc-public-v1.cc-public-territory .cc-relations-grid,
  body.cc-public-v1.cc-public-territory .cc-time-lanes,
  body.cc-public-v1.cc-public-territory .cc-provenance-grid,
  body.cc-public-v1.cc-public-territory .cc-human-grid,
  body.cc-public-v1.cc-public-territory .cc-territory-action-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  body.cc-public-v1 h1 { letter-spacing: -.035em; }
  body.cc-public-v1 h2 { letter-spacing: -.025em; }
  body.cc-public-v1.cc-public-market-product .market-detail-image,
  body.cc-public-v1.cc-public-university .unipub__panorama,
  body.cc-public-v1.cc-public-university-discipline .discipline-public__hero {
    border-radius: 14px;
  }
  body.cc-public-v1.cc-public-method .ccm-button,
  body.cc-public-v1.cc-public-university-discipline .discipline-public__actions a {
    width: 100%;
  }
}

/* ============================================================
   PUBLIC.VISUAL.POLISH.01E
   Final Visual Seal

   Acabamento final antes de PUBLIC.QA.SEAL.01.
   Nenhuma nova capacidade. O objetivo e remover pequenas
   inconsistencias de contraste, escala, foco e responsividade.
============================================================ */

:root {
  --cc-public-muted: #5f7586;
  --cc-public-faint: #718695;
}

/* Legibilidade residual */
body.cc-public-v1 .ccp-brand__wording small {
  font-size: 10.5px;
  letter-spacing: .085em;
}
body.cc-public-v1 .ccp-mobile-contextgroup__label,
body.cc-public-v1 .cc-public-hero__visual figcaption {
  font-size: 11px;
}
body.cc-public-v1 h1,
body.cc-public-v1 h2,
body.cc-public-v1 h3,
body.cc-public-v1 .market-detail-title,
body.cc-public-v1 .cr-post-hero-title {
  overflow-wrap: break-word;
}
body.cc-public-v1 p,
body.cc-public-v1 li,
body.cc-public-v1 dd,
body.cc-public-v1 td,
body.cc-public-v1 th {
  overflow-wrap: anywhere;
}
body.cc-public-v1 code,
body.cc-public-v1 pre {
  max-width: 100%;
  overflow-x: auto;
}

/* Estados e superficies finais */
body.cc-public-v1 .cc-search-empty,
body.cc-public-v1 .cc-learning-empty,
body.cc-public-v1 .cc-public-context-empty,
body.cc-public-v1 .economy-state,
body.cc-public-v1 .odsproj-empty,
body.cc-public-v1 .cc-research-empty,
body.cc-public-v1 .cc-time-empty {
  line-height: 1.58;
}
body.cc-public-v1 .cc-public-hero__visual,
body.cc-public-v1 .market-detail-image,
body.cc-public-v1 .unipub__panorama {
  isolation: isolate;
}

/* Foco final. Visivel sem criar nova linguagem grafica. */
body.cc-public-v1 :where(a, button, input, select, textarea, summary, [role="button"]):focus-visible {
  outline: 2px solid rgba(47,104,189,.82);
  outline-offset: 3px;
}
body.cc-public-v1 :where(.btn, .or-btn, .inst-btn, .economy-btn, .ccp-login, .ccp-search-link, .market-btn, .ccm-button):focus-visible {
  box-shadow: 0 0 0 4px rgba(47,104,189,.14);
}

/* Alvos de acao consistentes */
body.cc-public-v1 :where(.btn, .or-btn, .inst-btn, .economy-btn, .ccp-login, .ccp-search-link, .market-btn, .ccm-button, .cc-learning-card__open) {
  min-height: 44px;
}
body.cc-public-v1 :where(button, [role="button"], .btn, .or-btn, .inst-btn, .economy-btn, .market-btn) {
  touch-action: manipulation;
}

/* Tablet. A composicao deixa de depender de colunas estreitas. */
@media (max-width: 820px) {
  body.cc-public-v1 .cc-public-hero__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  body.cc-public-v1 .cc-public-hero__visual {
    width: min(100%, 680px);
    max-height: 220px;
  }
}

/* Mobile final */
@media (max-width: 760px) {
  body.cc-public-v1 input[type="search"],
  body.cc-public-v1 input[type="text"],
  body.cc-public-v1 input[type="email"],
  body.cc-public-v1 input[type="url"],
  body.cc-public-v1 input[type="number"],
  body.cc-public-v1 select,
  body.cc-public-v1 textarea {
    font-size: 16px;
  }
  body.cc-public-v1 .cc-static-footer,
  body.cc-public-v1 .cc-footer {
    margin-top: 48px;
  }
}

/* 375 px. Mantem respiracao sem desperdiccar largura util. */
@media (max-width: 375px) {
  body.cc-public-v1 .cc-search-page,
  body.cc-public-v1 .cc-learning-page,
  body.cc-public-v1 .odsproj-page,
  body.cc-public-v1 .or-wrap,
  body.cc-public-v1 .cc-static-footer__inner {
    width: calc(100% - 24px);
  }
  body.cc-public-v1 .ccp-shell__inner {
    padding-inline: 6px;
    gap: 7px;
  }
  body.cc-public-v1 .ccp-login {
    padding-inline: 11px;
  }
  body.cc-public-v1 h1 {
    font-size: clamp(32px, 10.8vw, 42px);
  }
  body.cc-public-v1 h2 {
    font-size: clamp(24px, 8vw, 32px);
  }
  body.cc-public-v1 .cc-public-hero__grid {
    padding-top: 22px;
  }
}

/* 320 px. Ultimo limite de composicao da V1. */
@media (max-width: 340px) {
  body.cc-public-v1 .ccp-brand__mark {
    width: 36px;
    height: 36px;
  }
  body.cc-public-v1 .ccp-brand__wording strong {
    font-size: 13px;
  }
  body.cc-public-v1 .ccp-login {
    min-height: 38px;
    padding-inline: 9px;
    font-size: 11px;
  }
  body.cc-public-v1 .cc-public-hero__visual {
    border-radius: 14px;
  }
  body.cc-public-v1.cc-public-knowledge-detail .cr-post-hero-title,
  body.cc-public-v1.cc-public-market-product .market-detail-title {
    font-size: 31px;
  }
}

@media (prefers-contrast: more) {
  body.cc-public-v1 {
    --cc-public-line: rgba(31,72,94,.24);
    --cc-public-line-strong: rgba(31,72,94,.38);
    --cc-public-text: #314c60;
    --cc-public-muted: #4d6678;
  }
}
