/* ==========================================================================
   CLÍNICA PÉLVICA — tema (componentes). Só consome tokens (theme/tokens.css).
   Namespace "cp-" para não colidir com o CSS do Core. Mobile-first.
   Referência visual: referencia novo site/*.png · Documentação: docs/design-system.md
   ========================================================================== */

/* ── Base ─────────────────────────────────────────────────────────────── */
html { -webkit-text-size-adjust: 100%; }
body.cp { background: var(--cp-fundo); color: var(--cor-texto); font-family: var(--fonte-texto); font-size: 1rem; line-height: 1.6; }
:where(.cp) :is(h1, h2, h3, h4) { color: var(--cor-escura); font-family: var(--fonte-titulos); font-weight: 700; letter-spacing: -.012em; line-height: 1.16; margin: 0 0 .6em; }
:where(.cp) h1 { font-size: var(--titulo-1); font-weight: 800; }
:where(.cp) h2 { font-size: var(--titulo-2); }
:where(.cp) h3 { font-size: var(--titulo-3); line-height: 1.3; }
.cp p { margin: 0 0 1em; }
:where(.cp) a { color: var(--cor-primaria-texto); }
.cp img { max-width: 100%; height: auto; }
.cp :focus-visible { outline: 3px solid var(--cor-primaria); outline-offset: 3px; border-radius: 6px; }
.cp .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cp-container { width: 100%; max-width: var(--largura-max); margin-inline: auto; padding-inline: var(--cp-gutter); }
.cp-secao { padding-block: var(--cp-esp-secao); }
.cp-secao--compacta { padding-block: calc(var(--cp-esp-secao) * .6); }
.cp-kicker { display: block; margin: 0 0 .7rem; color: var(--cor-primaria-texto); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cp-titulo-secao { margin-bottom: .5rem; }
.cp-lead { font-size: 1.06rem; color: var(--cor-texto-suave); }
.cp-centro { text-align: center; }
.cp-centro .cp-lead { margin-inline: auto; max-width: 42rem; }
.cp-destaque { color: var(--cp-rosa-destaque); }
.cp-script { font-family: var(--fonte-destaque); font-weight: 400; color: var(--cor-primaria-texto); line-height: 1.05; }
.cp-icone-circulo { display: inline-grid; place-items: center; flex: none; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: var(--cp-rosa-circulo); color: var(--cp-rosa-icone); }
.cp-icone-circulo .icone svg { width: 1.6rem; height: 1.6rem; }
.cp .icone { color: inherit; }   /* Core: .icone { color: primária } — no tema o ícone herda a cor do contêiner */
.cp-icone-circulo--lg { width: 4.5rem; height: 4.5rem; }
.cp-icone-circulo--lg .icone svg { width: 2.2rem; height: 2.2rem; }
.cp-icone-circulo--branco { background: var(--cor-branca); box-shadow: var(--cp-sombra-card); }
.cp-badge-dev { position: absolute; z-index: 3; left: .75rem; bottom: .75rem; padding: .25rem .6rem; border-radius: var(--cp-raio-pill); background: rgb(23 42 69 / .82); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .04em; }

/* ── Botões ───────────────────────────────────────────────────────────── */
.cp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3rem; padding: .7rem 1.6rem; border-radius: var(--cp-raio-pill); border: 1.5px solid transparent; font-family: var(--fonte-texto); font-size: .98rem; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform var(--cp-transicao), box-shadow var(--cp-transicao), background var(--cp-transicao), color var(--cp-transicao); }
.cp-btn .icone svg { width: 1.15rem; height: 1.15rem; }
.cp-btn--primario { background: var(--cp-gradiente-cta); color: #fff; box-shadow: var(--cp-sombra-botao); }
.cp-btn--primario:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgb(208 56 111 / .28); color: #fff; }
.cp-btn--contorno { background: var(--cor-branca); color: var(--cor-primaria-texto); border-color: var(--cor-botao-fantasma-borda); }
.cp-btn--contorno:hover { border-color: var(--cor-primaria); background: var(--cor-tint-1); }
.cp-btn--branco { background: #fff; color: var(--cor-primaria-texto); box-shadow: 0 8px 20px rgb(120 20 60 / .18); }
.cp-btn--branco:hover { transform: translateY(-1px); }
.cp-btn--pequeno { min-height: 2.5rem; padding: .5rem 1.15rem; font-size: .88rem; }
.cp-btn--suave { background: var(--cp-rosa-circulo); color: var(--cor-primaria-texto); }
.cp-link-seta { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; font-size: .95rem; color: var(--cor-primaria-texto); text-decoration: none; }
.cp-link-seta:hover { text-decoration: underline; text-underline-offset: 4px; }
.cp-link-seta .icone svg { width: 1rem; height: 1rem; }
.cp-seta-circulo { display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; border: 1.5px solid var(--cor-botao-fantasma-borda); color: var(--cor-primaria-texto); transition: background var(--cp-transicao), color var(--cp-transicao); }
.cp-seta-circulo .icone svg { width: 1rem; height: 1rem; }
.cp-acoes { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; }

/* ── Header ───────────────────────────────────────────────────────────── */
.cp-header { position: relative; z-index: 20; background: var(--cor-branca); }
.cp-header__inner { display: flex; align-items: center; gap: 1rem; min-height: 5rem; }
.cp-header__marca { display: block; flex: none; margin-right: auto; line-height: 0; }
.cp-header__marca img { width: 9.5rem; height: auto; }
.cp-header__toggle { display: inline-grid; place-items: center; width: 2.9rem; height: 2.9rem; border: 0; border-radius: 50%; background: var(--cp-rosa-circulo); color: var(--cor-primaria-texto); cursor: pointer; }
.cp-header__toggle .icone svg { width: 1.4rem; height: 1.4rem; }
.cp-nav { position: absolute; inset: 100% 0 auto 0; display: none; padding: .75rem var(--cp-gutter) 1.25rem; background: var(--cor-branca); box-shadow: 0 16px 30px rgb(var(--cor-sombra-rgb) / .12); }
.cp-nav.is-aberto { display: block; }
.cp-nav__lista { list-style: none; margin: 0; padding: 0; }
.cp-nav__item { border-bottom: 1px solid var(--cor-borda); }
.cp-nav__link { display: flex; align-items: center; justify-content: space-between; gap: .4rem; min-height: 3rem; color: var(--cor-escura); font-weight: 600; text-decoration: none; }
.cp-nav__link[aria-current="page"], .cp-nav__link.is-ativo { color: var(--cor-primaria-texto); }
.cp-nav__sub { list-style: none; margin: 0 0 .5rem; padding: 0 0 0 .9rem; }
.cp-nav__sub a { display: flex; min-height: 2.6rem; align-items: center; color: var(--cor-texto); text-decoration: none; }
.cp-nav__cta { margin-top: 1rem; width: 100%; }
.cp-header__cta { display: none; }
@media (min-width: 64em) {
    .cp-header__inner { min-height: 5.5rem; gap: 2rem; }
    .cp-header__marca { margin-right: 0; }
    .cp-header__marca img { width: 10.6rem; }
    .cp-header__toggle { display: none; }
    .cp-nav { position: static; display: block; flex: 1; padding: 0; background: none; box-shadow: none; }
    .cp-nav__lista { display: flex; justify-content: center; gap: 2.4rem; }
    .cp-nav__item { position: relative; border: 0; }
    .cp-nav__link { min-height: 2.5rem; font-size: .96rem; font-weight: 600; justify-content: flex-start; }
    .cp-nav__link[aria-current="page"], .cp-nav__link.is-ativo { box-shadow: inset 0 -2px 0 var(--cor-primaria-texto); }
    .cp-nav__link .icone svg { width: .95rem; height: .95rem; }
    .cp-nav__sub { position: absolute; top: 100%; left: -1rem; min-width: 16rem; padding: .6rem; border-radius: var(--cp-raio-card); background: #fff; box-shadow: var(--sombra-md); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity var(--cp-transicao), transform var(--cp-transicao), visibility var(--cp-transicao); }
    .cp-nav__item:hover .cp-nav__sub, .cp-nav__item:focus-within .cp-nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }
    .cp-nav__sub a { padding-inline: .8rem; border-radius: 10px; }
    .cp-nav__sub a:hover { background: var(--cor-tint-1); color: var(--cor-primaria-texto); }
    .cp-nav__cta { display: none; }
    .cp-header__cta { display: inline-flex; min-height: 2.8rem; padding-inline: 1.4rem; font-size: .92rem; }
}

/* ── Breadcrumb ───────────────────────────────────────────────────────── */
.cp-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; list-style: none; margin: 0 0 1.1rem; padding: 0; font-size: .86rem; }
.cp-breadcrumb li { display: inline-flex; align-items: center; gap: .5rem; color: var(--cor-texto-suave); }
.cp-breadcrumb li + li::before { content: ""; width: .38rem; height: .38rem; border-right: 1.5px solid var(--cor-primaria-texto); border-top: 1.5px solid var(--cor-primaria-texto); transform: rotate(45deg); margin-right: .15rem; }
.cp-breadcrumb a { color: var(--cor-primaria-texto); text-decoration: none; font-weight: 600; }
.cp-breadcrumb a:hover { text-decoration: underline; }
.cp-breadcrumb--solto { padding-top: 1.5rem; }

/* ── Hero ─────────────────────────────────────────────────────────────── */
.cp-hero { position: relative; overflow: hidden; background: var(--cp-gradiente-hero); padding-block: 1.75rem 2.5rem; }
.cp-hero::before { content: ""; position: absolute; left: -7rem; top: 18%; width: 22rem; height: 30rem; border-radius: var(--cp-raio-blob); background: rgb(251 226 236 / .55); pointer-events: none; }
.cp-hero__folha { position: absolute; left: -1.5rem; top: 1rem; width: 7rem; color: #f3c3d4; opacity: .7; pointer-events: none; }
.cp-hero__grid { position: relative; display: grid; gap: 2rem; }
.cp-hero__conteudo { position: relative; z-index: 2; }
.cp-hero h1 { margin-bottom: .9rem; }
.cp-hero__subtitulo { margin: 0 0 .75rem; color: var(--cor-escura); font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); font-weight: 700; line-height: 1.35; }
.cp-hero__texto { max-width: 34rem; color: var(--cor-texto); font-size: 1.02rem; }
.cp-hero .cp-acoes { margin-top: 1.4rem; }
.cp-hero__midia { position: relative; min-height: 20rem; }
.cp-hero__foto { position: relative; height: 100%; min-height: 20rem; overflow: hidden; border-radius: 46% 54% 12% 62% / 34% 30% 70% 40%; background: var(--cor-tint-2); box-shadow: var(--sombra-md); }
.cp-hero__foto img, .cp-hero__foto .foto, .cp-hero__foto picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.cp-hero__foto img { object-fit: cover; }
.cp-hero__nota { position: absolute; z-index: 3; top: .5rem; right: .5rem; max-width: 12rem; margin: 0; transform: rotate(-9deg); font-size: 1.75rem; text-align: center; color: var(--cor-primaria-texto); }
.cp-hero__nota .icone { display: block; margin: .3rem auto 0; width: max-content; }
.cp-cartao-nome { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; padding: .8rem 1rem; border-radius: 14px; background: rgb(255 255 255 / .92); box-shadow: var(--cp-sombra-card); backdrop-filter: blur(4px); }
.cp-cartao-nome strong { display: block; color: var(--cor-escura); font-size: .98rem; }
.cp-cartao-nome span { display: block; color: var(--cor-texto-suave); font-size: .8rem; line-height: 1.35; }
@media (min-width: 64em) {
    .cp-hero { padding-block: 2.2rem 0; }
    .cp-hero__grid { grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: 0; min-height: 32rem; }
    .cp-hero__conteudo { padding: 1.2rem 2.5rem 2.8rem 0; }
    .cp-hero__midia { margin-right: calc(-1 * var(--cp-gutter) - max(0px, (100vw - var(--largura-max)) / 2)); }
    .cp-hero__foto { position: absolute; inset: -2.2rem 13.5rem 0 0; min-height: 0; border-radius: 34% 0 0 0 / 48% 0 0 0; clip-path: url(#cp-clip-hero); border-radius: 0; box-shadow: none; }
    .cp-hero__nota { top: 1.6rem; right: .9rem; font-size: 1.85rem; max-width: 11.5rem; }
    .cp-cartao-nome { right: 11rem; bottom: 1.5rem; }
    .cp-hero--compacto .cp-hero__grid { min-height: 27rem; }
}
.cp-hero__placeholder { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(120% 90% at 30% 25%, #fff5f8 0%, #fbe3ec 55%, #f7d3e0 100%); }
.cp-hero__placeholder img { width: 38%; max-width: 12rem; height: auto; opacity: .6; position: static; }

/* Faixa de confiança (hero) */
.cp-confianca { display: grid; grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr)); gap: 1rem 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.cp-confianca li { display: flex; align-items: center; gap: .7rem; }
.cp-confianca .cp-icone-circulo { width: 2.8rem; height: 2.8rem; background: #fff; box-shadow: var(--cp-sombra-card); }
.cp-confianca .cp-icone-circulo .icone svg { width: 1.35rem; height: 1.35rem; }
.cp-confianca strong { display: block; color: var(--cor-escura); font-size: .86rem; line-height: 1.25; }
.cp-confianca span { display: block; color: var(--cor-texto-suave); font-size: .76rem; line-height: 1.3; }
.cp-confianca--faixa { margin: 0; padding: 1.2rem 1.4rem; border-radius: var(--cp-raio-card); background: #fff; box-shadow: var(--cp-sombra-card); }

/* ── Cards ────────────────────────────────────────────────────────────── */
.cp-card { position: relative; border-radius: var(--cp-raio-card); background: var(--cp-superficie); border: 1px solid #f7e9ee; box-shadow: var(--cp-sombra-card); }
.cp-grade { display: grid; gap: 1rem; }
@media (min-width: 40em) { .cp-grade--2, .cp-grade--3, .cp-grade--6 { grid-template-columns: repeat(2, 1fr); } .cp-grade--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 56em) { .cp-grade--3 { grid-template-columns: repeat(3, 1fr); } .cp-grade--6 { grid-template-columns: repeat(3, 1fr); } .cp-grade--4 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 72em) { .cp-grade--6 { grid-template-columns: repeat(6, 1fr); } }

/* Card de especialidade / condição (ícone, título, texto, seta) */
.cp-card-item { display: flex; flex-direction: column; gap: .55rem; padding: 1.35rem 1.2rem 1.2rem; text-decoration: none; color: inherit; transition: transform var(--cp-transicao), box-shadow var(--cp-transicao); }
.cp-card-item h3 { margin: .35rem 0 0; font-size: 1.02rem; }
.cp-card-item p { margin: 0; color: var(--cor-texto-suave); font-size: .86rem; line-height: 1.45; }
.cp-card-item .cp-seta-circulo { margin-top: auto; }
a.cp-card-item:hover { transform: translateY(-3px); box-shadow: var(--sombra-md); }
a.cp-card-item:hover .cp-seta-circulo { background: var(--cor-primaria); color: #fff; border-color: var(--cor-primaria); }
.cp-card-item--centro { align-items: center; text-align: center; }
.cp-card-item--centro .cp-seta-circulo { margin-inline: auto; }

/* Cartão de lista (ícone à esquerda, texto) — sintomas, benefícios */
.cp-card-linha { display: flex; align-items: center; gap: .85rem; padding: .95rem 1.05rem; }
.cp-card-linha .cp-icone-circulo { width: 2.7rem; height: 2.7rem; background: transparent; }
.cp-card-linha .cp-icone-circulo--cheio { background: var(--cp-rosa-circulo); }
.cp-card-linha p { margin: 0; color: var(--cor-escura); font-size: .92rem; font-weight: 600; line-height: 1.35; }
.cp-card-linha small { display: block; font-weight: 400; color: var(--cor-texto-suave); }

/* Bloco rosa (seções de destaque com fundo blush) */
.cp-bloco-rosa { position: relative; overflow: hidden; border-radius: var(--raio-lg); background: linear-gradient(180deg, #fdeef3, #fce8ef); padding: clamp(1.5rem, 1rem + 2vw, 2.75rem); }
.cp-bloco-rosa--leve { background: var(--cor-tint-1); }
.cp-dividido { display: grid; gap: 1.75rem; align-items: center; }
@media (min-width: 56em) {
    .cp-dividido { grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: 2.5rem; }
    .cp-dividido--meio { grid-template-columns: 1fr 1fr; }
    .cp-dividido--midia-esq { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
}

/* Imagem com moldura orgânica (blob atrás) */
.cp-moldura { position: relative; padding: 0 1.2rem 1.2rem 0; }
.cp-moldura::before { content: ""; position: absolute; inset: 1.4rem 0 0 1.4rem; border-radius: var(--cp-raio-imagem); background: var(--cor-tint-2); }
.cp-moldura__img { position: relative; overflow: hidden; border-radius: var(--cp-raio-imagem); aspect-ratio: 4 / 3.2; background: var(--cor-tint-1); }
.cp-moldura__img img, .cp-moldura__img .foto, .cp-moldura__img picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-moldura--retrato .cp-moldura__img { aspect-ratio: 4 / 4.4; }
.cp-placeholder { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(120% 90% at 30% 25%, #fff6f9 0%, #fbe4ed 60%, #f7d6e2 100%); }
.cp-placeholder img { width: 34%; max-width: 9rem; opacity: .55; }

/* Citação com assinatura manuscrita */
.cp-citacao { position: relative; margin: 1.4rem 0 0; padding: 1.2rem 1.3rem 1rem 3.6rem; border-radius: 18px; background: var(--cor-tint-1); color: var(--cor-primaria-texto); font-size: .98rem; line-height: 1.55; }
.cp-citacao::before { content: "\201C"; position: absolute; left: 1rem; top: .35rem; font: 800 3.4rem/1 var(--fonte-titulos); color: var(--cp-rosa-destaque); }
.cp-citacao p { margin: 0; }
.cp-citacao cite { display: block; margin-top: .3rem; text-align: right; font: 400 1.6rem/1 var(--fonte-destaque); font-style: normal; color: var(--cor-primaria-texto); }

/* Passos numerados */
.cp-passos { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; counter-reset: passo; }
.cp-passos li { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.1rem; counter-increment: passo; }
.cp-passos li::before { content: counter(passo); display: grid; place-items: center; flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--cp-rosa-circulo); color: var(--cor-primaria-texto); font-weight: 800; font-size: 1.15rem; }
.cp-passos strong { display: block; color: var(--cor-escura); font-size: .98rem; }
.cp-passos span { display: block; color: var(--cor-texto-suave); font-size: .86rem; }

/* Pills */
.cp-pills { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.cp-pills li { padding: .55rem 1.15rem; border-radius: var(--cp-raio-pill); border: 1.5px solid var(--cor-botao-fantasma-borda); background: #fff; color: var(--cor-primaria-texto); font-size: .88rem; font-weight: 700; }

/* ── FAQ (acordeão acessível) ─────────────────────────────────────────── */
.cp-faq { display: grid; gap: .6rem; }
.cp-faq__item { border-radius: 12px; background: #fff; border: 1px solid #f3e4ea; box-shadow: 0 1px 2px rgb(var(--cor-sombra-rgb) / .04); }
.cp-faq__item summary { display: flex; align-items: center; gap: .9rem; min-height: 3.1rem; padding: .7rem 1rem; cursor: pointer; list-style: none; color: var(--cor-escura); font-weight: 600; font-size: .95rem; }
.cp-faq__item summary::-webkit-details-marker { display: none; }
.cp-faq__item summary::before { content: "+"; flex: none; width: 1.2rem; color: var(--cor-primaria-texto); font-size: 1.35rem; font-weight: 500; line-height: 1; text-align: center; transition: transform var(--cp-transicao); }
.cp-faq__item summary::after { content: ""; margin-left: auto; width: .45rem; height: .45rem; border-right: 1.5px solid var(--cor-primaria-texto); border-bottom: 1.5px solid var(--cor-primaria-texto); transform: rotate(45deg); transition: transform var(--cp-transicao); }
.cp-faq__item[open] summary::before { content: "−"; }
.cp-faq__item[open] summary::after { transform: rotate(-135deg); }
.cp-faq__item > div { padding: 0 1.1rem 1rem 3.1rem; color: var(--cor-texto); font-size: .93rem; }
.cp-faq__badge { margin-left: .4rem; padding: .1rem .5rem; border-radius: var(--cp-raio-pill); background: var(--cor-alerta-fundo); color: var(--cor-alerta-texto); font-size: .68rem; font-weight: 700; }
.cp-faq-bloco { display: grid; gap: 1.75rem; align-items: start; }
@media (min-width: 60em) { .cp-faq-bloco { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 2.5rem; } }

/* ── Autora ───────────────────────────────────────────────────────────── */
.cp-autora { display: grid; gap: 1rem; padding: 1.4rem; border-radius: var(--raio-lg); background: linear-gradient(180deg, #fdf0f5, #fce9f0); }
.cp-autora__topo { display: flex; gap: 1rem; align-items: center; }
.cp-autora__foto { position: relative; flex: none; width: 7.5rem; aspect-ratio: 1; overflow: hidden; border-radius: 42% 58% 46% 54% / 50% 44% 56% 50%; background: #fbe1eb; }
.cp-autora__foto img { width: 100%; height: 100%; object-fit: cover; }
.cp-autora__nome { margin: 0; color: var(--cor-escura); font-size: 1.1rem; font-weight: 800; }
.cp-autora__cargo { margin: 0; color: var(--cor-texto-suave); font-size: .85rem; line-height: 1.4; }
.cp-autora__texto { margin: 0; color: var(--cor-texto); font-size: .88rem; }
.cp-autora .cp-acoes { gap: .6rem; }
.cp-iniciais { position: absolute; inset: 0; display: grid; place-items: center; font: 400 2.6rem/1 var(--fonte-destaque); color: var(--cor-primaria-texto); }

/* ── Cards de artigo ──────────────────────────────────────────────────── */
.cp-artigo-card { display: flex; flex-direction: column; overflow: hidden; }
.cp-artigo-card__img { position: relative; display: block; aspect-ratio: 16 / 7; overflow: hidden; background: linear-gradient(135deg, #fdeef3, #f8dbe6); }
.cp-artigo-card__img img, .cp-artigo-card__img .foto { width: 100%; height: 100%; object-fit: cover; }
.cp-artigo-card__img .cp-placeholder img { width: 22%; }
.cp-artigo-card--alta .cp-artigo-card__img { aspect-ratio: 16 / 10; }
.cp-artigo-card__corpo { display: flex; flex-direction: column; gap: .45rem; padding: 1.05rem 1.2rem 1.2rem; flex: 1; }
.cp-artigo-card__tag { color: var(--cor-primaria-texto); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cp-artigo-card h3 { margin: 0; font-size: 1.02rem; line-height: 1.35; }
.cp-artigo-card h3 a { color: var(--cor-escura); text-decoration: none; }
.cp-artigo-card h3 a:hover { color: var(--cor-primaria-texto); }
.cp-artigo-card p { margin: 0; color: var(--cor-texto-suave); font-size: .88rem; }
.cp-artigo-card .cp-link-seta { margin-top: auto; padding-top: .35rem; }
.cp-rascunho { display: inline-block; margin-left: .35rem; padding: .05rem .45rem; border-radius: var(--cp-raio-pill); background: #fff4d6; color: #7a5200; font-size: .66rem; font-weight: 700; vertical-align: middle; }
.cp-cabecalho-secao { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 2rem; margin-bottom: 1.4rem; }
.cp-cabecalho-secao h2 { margin: 0; }
.cp-cabecalho-secao .cp-link-seta { text-decoration: underline; text-underline-offset: 4px; }

/* ── Faixa CTA ────────────────────────────────────────────────────────── */
.cp-cta { padding-block: 1rem clamp(2.5rem, 2rem + 2vw, 3.5rem); }
.cp-cta__caixa { position: relative; overflow: hidden; display: grid; gap: 1.25rem; align-items: center; padding: clamp(1.6rem, 1.2rem + 2vw, 2.4rem) clamp(1.4rem, 1rem + 3vw, 3.5rem); border-radius: var(--raio-lg); background: var(--cp-gradiente-cta); color: #fff; }
.cp-cta__titulo { margin: 0 0 .35rem; color: #fff; font-size: clamp(1.3rem, 1.1rem + 1vw, 1.75rem); font-weight: 700; line-height: 1.25; }
.cp-cta__texto { margin: 0; color: var(--cor-sobre-escuro); font-size: .98rem; max-width: 38rem; }
.cp-cta .cp-btn--branco { min-height: 3.6rem; padding-inline: 1.6rem; }
.cp-cta .cp-btn--branco span { text-align: left; line-height: 1.25; }
.cp-cta__lotus { position: absolute; right: 1.5rem; bottom: -.5rem; width: 6.5rem; color: rgb(255 255 255 / .65); pointer-events: none; }
@media (min-width: 56em) {
    .cp-cta__caixa { grid-template-columns: 1fr auto; padding-right: 10rem; }
}

/* ── Footer ───────────────────────────────────────────────────────────── */
.cp-footer { background: var(--cor-branca); padding-block: 2.2rem 1.4rem; border-top: 1px solid #fbeef2; }
.cp-footer__topo { display: grid; gap: 1.5rem; align-items: center; justify-items: center; text-align: center; }
.cp-footer__marca img { width: 11rem; height: auto; }
.cp-footer__nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 2rem; margin: 0; padding: 0; list-style: none; }
.cp-footer__nav a { color: var(--cor-escura); font-size: .92rem; font-weight: 600; text-decoration: none; }
.cp-footer__nav a:hover, .cp-footer__nav a[aria-current="page"] { color: var(--cor-primaria-texto); }
.cp-footer__redes { display: flex; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.cp-footer__redes a { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; color: var(--cor-primaria-texto); }
.cp-footer__redes a:hover { background: var(--cp-rosa-circulo); }
.cp-footer__redes .icone svg { width: 1.45rem; height: 1.45rem; }
.cp-footer__base { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.5rem; margin-top: 1.6rem; padding-top: 1.1rem; border-top: 1px solid var(--cor-borda); color: var(--cor-texto-suave); font-size: .78rem; text-align: center; }
.cp-footer__base p { margin: 0; }
.cp-footer__base a { color: var(--cor-texto-suave); }
.cp-footer__credito a { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
.cp-footer__credito a:hover, .cp-footer__credito a:focus-visible { color: var(--cor-primaria-texto); text-decoration-color: currentColor; }
.cp-footer__coracao { color: var(--cor-primaria-texto); }
.cp-footer__coracao .icone svg { width: .8rem; height: .8rem; fill: currentColor; vertical-align: -1px; }
@media (min-width: 64em) {
    .cp-footer__topo { grid-template-columns: auto 1fr auto; justify-items: stretch; text-align: left; }
    .cp-footer__base { justify-content: space-between; padding-left: 12.5rem; }
}

/* ── Home ─────────────────────────────────────────────────────────────── */
.cp-home-especialidades { padding-block: 2.5rem 1rem; }
.cp-home-especialidades .cp-card-item { min-height: 13.5rem; }
.cp-sozinha { display: grid; gap: 1.5rem; align-items: center; }
.cp-sozinha h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem); }
.cp-sozinha p { color: var(--cor-texto); }
@media (min-width: 60em) { .cp-sozinha { grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr); gap: 2.2rem; } }
.cp-conheca { display: grid; gap: 2rem; align-items: center; }
.cp-conheca__citacao { position: relative; padding: 2rem 1.6rem 1.5rem; border-radius: 28px 28px 48% 28px / 28px 28px 22% 28px; background: linear-gradient(180deg, #fdf0f5, #fce8ef); color: var(--cor-texto); font-size: .98rem; }
.cp-conheca__citacao::before { content: "\201C"; display: block; font: 800 3.4rem/.8 var(--fonte-titulos); color: var(--cp-rosa-destaque); }
.cp-conheca__citacao cite { display: block; margin-top: .8rem; font: 400 2rem/1 var(--fonte-destaque); font-style: normal; color: var(--cor-primaria-texto); }
.cp-fatos { display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; margin: 1.4rem 0; padding: 0; list-style: none; }
.cp-fatos li { display: flex; align-items: center; gap: .55rem; color: var(--cor-escura); font-size: .82rem; font-weight: 600; line-height: 1.25; }
.cp-fatos .cp-icone-circulo { width: 2.5rem; height: 2.5rem; border: 1.5px solid var(--cor-botao-fantasma-borda); background: #fff; }
.cp-fatos .cp-icone-circulo .icone svg { width: 1.2rem; height: 1.2rem; }
@media (min-width: 64em) { .cp-conheca { grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr) minmax(0, .62fr); gap: 2.5rem; } }
.cp-fases { position: relative; display: grid; gap: 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.cp-fases li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .25rem; }
.cp-fases .cp-icone-circulo { width: 5.2rem; height: 5.2rem; background: #fff; box-shadow: 0 0 0 5px var(--cor-tint-2), var(--cp-sombra-card); }
.cp-fases .cp-icone-circulo .icone svg { width: 2.2rem; height: 2.2rem; }
.cp-fases strong { margin-top: .6rem; color: var(--cor-escura); font-size: .98rem; }
.cp-fases span { color: var(--cor-texto-suave); font-size: .84rem; }
@media (min-width: 48em) {
    .cp-fases { grid-template-columns: repeat(5, 1fr); }
    .cp-fases::before { content: ""; position: absolute; left: 10%; right: 10%; top: 2.6rem; height: 2px; background: linear-gradient(90deg, #f7c6d8, #f3a9c4, #f7c6d8); }
    .cp-fases li { position: relative; }
}
.cp-unidade { display: grid; gap: 1.25rem; }
.cp-unidade__card { display: grid; gap: 1.2rem; padding: 1.6rem; }
.cp-unidade__nome { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; color: var(--cor-escura); font-size: 1.2rem; font-weight: 800; }
.cp-unidade__nome .icone { color: var(--cor-primaria-texto); }
.cp-unidade address { margin: 0 0 1rem; font-style: normal; color: var(--cor-texto); font-size: .98rem; }
.cp-unidade__lista { display: grid; gap: .9rem; margin: 0; padding: 1.2rem; border-radius: var(--cp-raio-card); background: var(--cor-tint-1); list-style: none; }
.cp-unidade__lista li { display: flex; align-items: center; gap: .8rem; color: var(--cor-texto); font-size: .92rem; }
.cp-unidade__lista .icone { color: var(--cor-primaria-texto); }
@media (min-width: 56em) {
    .cp-unidade { grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); align-items: stretch; }
    .cp-unidade__card { grid-template-columns: 1fr 1fr; align-items: center; }
    .cp-unidade .cp-moldura { padding: 0; }
    .cp-unidade .cp-moldura::before { display: none; }
    .cp-unidade .cp-moldura__img { height: 100%; aspect-ratio: auto; min-height: 15rem; }
}

/* ── Página de conteúdo (serviço, condição, HUB) ──────────────────────── */
.cp-oque { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 56em) { .cp-oque { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 3rem; } }
.cp-oque p { color: var(--cor-texto); }
.cp-grupo-titulo { margin-bottom: 1.3rem; }
.cp-lista-cards { display: grid; gap: .8rem; }
@media (min-width: 40em) { .cp-lista-cards { grid-template-columns: repeat(2, 1fr); } }
.cp-coluna-intro .cp-btn { margin-top: .6rem; }
.cp-lista-check { display: grid; gap: .55rem; margin: 1rem 0; padding: 0; list-style: none; }
.cp-lista-check li { position: relative; padding-left: 2rem; color: var(--cor-texto); }
.cp-lista-check li::before { content: ""; position: absolute; left: 0; top: .15rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--cp-rosa-circulo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2336a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / .75rem no-repeat; }

/* Corpo em blocos (HUB, condição, artigo) */
.cp-corpo > * + * { margin-top: 1rem; }
.cp-corpo .container { max-width: none; padding: 0; }
.cp-corpo h2 { margin-top: 2.2rem; }
.cp-corpo h3 { margin-top: 1.6rem; }
.cp-corpo p, .cp-corpo li { color: var(--cor-texto); font-size: 1.02rem; line-height: 1.72; }
.cp-corpo ul:not([class]) { padding-left: 0; list-style: none; }
.cp-corpo ul:not([class]) li { position: relative; padding-left: 2rem; margin-bottom: .45rem; }
.cp-corpo ul:not([class]) li::before { content: ""; position: absolute; left: 0; top: .3rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--cp-rosa-circulo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2336a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / .75rem no-repeat; }
.cp-corpo blockquote, .cp-corpo .citacao { position: relative; margin: 1.6rem 0; padding: 1.2rem 1.3rem 1rem 3.6rem; border: 0; border-radius: 18px; background: var(--cor-tint-1); color: var(--cor-primaria-texto); }
.cp-corpo blockquote::before, .cp-corpo .citacao::before { content: "\201C"; position: absolute; left: 1rem; top: .35rem; font: 800 3.4rem/1 var(--fonte-titulos); color: var(--cp-rosa-destaque); }
.cp-corpo blockquote p, .cp-corpo .citacao p { color: var(--cor-primaria-texto); margin: 0; }
.cp-corpo blockquote cite, .cp-corpo .citacao cite, .cp-corpo .citacao footer { display: block; text-align: right; font: 400 1.6rem/1 var(--fonte-destaque); font-style: normal; color: var(--cor-primaria-texto); }
.cp-corpo figure { margin: 1.6rem 0; }
.cp-corpo figure img { border-radius: var(--cp-raio-imagem); }
.cp-corpo figcaption { margin-top: .5rem; color: var(--cor-texto-suave); font-size: .85rem; }
.cp-corpo table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.cp-corpo th, .cp-corpo td { padding: .6rem .7rem; border-bottom: 1px solid var(--cor-borda); text-align: left; }
.cp-corpo th { color: var(--cor-escura); background: var(--cor-tint-1); }
.cp-corpo .tabela-wrap, .cp-corpo .table-wrap { overflow-x: auto; }
.cp-corpo .destaque, .cp-corpo .callout { padding: 1.1rem 1.3rem; border-radius: 16px; background: var(--cor-tint-1); border-left: 4px solid var(--cp-rosa-destaque); }

/* ── Artigo ───────────────────────────────────────────────────────────── */
.cp-artigo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; margin-top: 1.5rem; }
.cp-artigo-meta__autor { display: flex; align-items: center; gap: .7rem; }
.cp-avatar { position: relative; display: grid; place-items: center; flex: none; width: 3.1rem; height: 3.1rem; overflow: hidden; border-radius: 50%; background: #fbe1eb; color: var(--cor-primaria-texto); font: 400 1.4rem/1 var(--fonte-destaque); }
.cp-artigo-meta strong { display: block; color: var(--cor-escura); font-size: .9rem; }
.cp-artigo-meta span, .cp-artigo-meta time { display: block; color: var(--cor-texto-suave); font-size: .8rem; }
.cp-compartilhar { display: flex; align-items: center; gap: .45rem; margin: 0; padding: 0; list-style: none; font-size: .84rem; font-weight: 700; color: var(--cor-escura); }
.cp-compartilhar a, .cp-compartilhar button { display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border: 0; border-radius: 50%; background: var(--cor-primaria); color: #fff; cursor: pointer; }
.cp-compartilhar .icone svg { width: 1rem; height: 1rem; }
.cp-artigo-layout { display: grid; gap: 2.5rem; }
@media (min-width: 64em) { .cp-artigo-layout { grid-template-columns: minmax(0, 1fr) 19rem; gap: 3rem; } }
.cp-artigo-corpo { max-width: var(--cp-leitura); }
.cp-sumario { margin: 1.6rem 0; padding: 1rem 1.3rem; border-radius: 18px; background: var(--cor-tint-1); border: 1px solid #f7dde6; }
.cp-sumario summary { display: flex; align-items: center; gap: .8rem; cursor: pointer; list-style: none; color: var(--cor-escura); font-weight: 700; font-size: 1.05rem; }
.cp-sumario summary::-webkit-details-marker { display: none; }
.cp-sumario summary .icone { color: var(--cor-primaria-texto); }
.cp-sumario ol { display: grid; gap: .35rem 1.5rem; margin: 1rem 0 .3rem; padding: 0; list-style: none; counter-reset: toc; }
@media (min-width: 40em) { .cp-sumario ol { grid-template-columns: 1fr 1fr; } }
.cp-sumario li { counter-increment: toc; }
.cp-sumario a { display: flex; align-items: center; gap: .7rem; color: var(--cor-escura); font-size: .88rem; text-decoration: none; }
.cp-sumario a::before { content: counter(toc, decimal-leading-zero); display: grid; place-items: center; flex: none; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #fff; color: var(--cor-primaria-texto); font-weight: 800; font-size: .76rem; }
.cp-sumario a:hover { color: var(--cor-primaria-texto); }
.cp-aside { display: grid; gap: 1.2rem; align-content: start; }
.cp-aside__bloco { padding: 1.3rem; border-radius: 18px; background: #fff; border: 1px solid #f5e5eb; box-shadow: var(--cp-sombra-card); }
.cp-aside__bloco h2 { margin: 0 0 1rem; font-size: 1.06rem; }
.cp-aside__bloco--rosa { background: linear-gradient(180deg, #fdf0f5, #fce9f0); border-color: transparent; }
.cp-lista-categorias { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.cp-lista-categorias a { display: flex; align-items: center; gap: .7rem; padding: .55rem .7rem; border-radius: 10px; border: 1px solid #f5e5eb; color: var(--cor-escura); font-size: .88rem; text-decoration: none; }
.cp-lista-categorias a::after { content: ""; margin-left: auto; width: .4rem; height: .4rem; border-right: 1.5px solid var(--cor-primaria-texto); border-top: 1.5px solid var(--cor-primaria-texto); transform: rotate(45deg); }
.cp-lista-categorias a[aria-current="page"], .cp-lista-categorias a:hover { background: var(--cor-tint-1); color: var(--cor-primaria-texto); }
.cp-lista-categorias .icone { color: var(--cor-primaria-texto); }
.cp-mini-artigos { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; counter-reset: mini; }
.cp-mini-artigos li { display: flex; gap: .8rem; align-items: flex-start; counter-increment: mini; }
.cp-mini-artigos--numerada li::before { content: counter(mini); display: grid; place-items: center; flex: none; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--cp-rosa-circulo); color: var(--cor-primaria-texto); font-weight: 800; font-size: .82rem; }
.cp-mini-artigos a { color: var(--cor-escura); font-size: .88rem; font-weight: 600; text-decoration: none; line-height: 1.35; }
.cp-mini-artigos a:hover { color: var(--cor-primaria-texto); }

/* ── Blog / categoria ─────────────────────────────────────────────────── */
.cp-chips { display: flex; gap: .8rem; overflow-x: auto; margin: 0; padding: .4rem .2rem 1rem; list-style: none; scrollbar-width: thin; }
.cp-chips a { display: flex; flex-direction: column; align-items: center; gap: .45rem; min-width: 6.6rem; padding: 1rem .8rem .8rem; border-radius: 16px; background: #fff; border: 1px solid #f5e5eb; box-shadow: var(--cp-sombra-card); color: var(--cor-escura); font-size: .82rem; font-weight: 600; text-align: center; text-decoration: none; }
.cp-chips a[aria-current="true"], .cp-chips a[aria-current="page"] { background: var(--cor-tint-2); color: var(--cor-primaria-texto); }
.cp-chips .cp-icone-circulo { width: 2.6rem; height: 2.6rem; }
.cp-chips a[aria-current] .cp-icone-circulo { background: var(--cor-primaria); color: #fff; }
.cp-destaques { display: grid; gap: 1.2rem; }
@media (min-width: 56em) { .cp-destaques { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); } .cp-destaques__lado { display: grid; gap: 1.2rem; } }
.cp-destaques .cp-artigo-card--grande h3 { font-size: 1.45rem; }
.cp-destaques .cp-artigo-card--grande .cp-artigo-card__img { aspect-ratio: 16 / 7.2; }
.cp-categoria-layout { display: grid; gap: 2.2rem; }
@media (min-width: 64em) { .cp-categoria-layout { grid-template-columns: minmax(0, 1fr) 19rem; } }
.cp-paginacao { margin-top: 2rem; }
.cp-paginacao ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.cp-paginacao a, .cp-paginacao span { display: inline-grid; place-items: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 .9rem; border-radius: var(--cp-raio-pill); border: 1.5px solid var(--cor-botao-fantasma-borda); background: #fff; color: var(--cor-primaria-texto); font-weight: 700; text-decoration: none; }
.cp-paginacao [aria-current] { background: var(--cor-primaria); border-color: var(--cor-primaria); color: #fff; }

/* ── Contato ──────────────────────────────────────────────────────────── */
.cp-contato-layout { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 64em) { .cp-contato-layout { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; } }
.cp-canal { display: flex; gap: 1rem; padding: 1.2rem 1.3rem; }
.cp-canal .cp-icone-circulo { width: 3rem; height: 3rem; }
.cp-canal h3 { margin: 0 0 .15rem; font-size: 1rem; }
.cp-canal p { margin: 0 0 .3rem; color: var(--cor-escura); font-weight: 700; word-break: break-word; }
.cp-canal small { color: var(--cor-texto-suave); }
.cp-mapa { position: relative; overflow: hidden; border-radius: 18px; background: var(--cor-mapa-fundo); aspect-ratio: 4 / 3.6; border: 1px solid #f3e1e8; }
.cp-mapa svg { width: 100%; height: 100%; display: block; }
.cp-form { padding: 1.6rem; }
.cp-form h2 { font-size: 1.45rem; margin-bottom: .35rem; }
.cp-form__campo { display: grid; gap: .35rem; margin-bottom: 1rem; }
.cp-form label { color: var(--cor-escura); font-size: .88rem; font-weight: 700; }
.cp-form label .obrig { color: var(--cor-primaria-texto); }
.cp-form input, .cp-form select, .cp-form textarea { width: 100%; min-height: 2.9rem; padding: .65rem .9rem; border: 1px solid #efdce4; border-radius: 10px; background: #fff; color: var(--cor-texto); font: inherit; font-size: .95rem; }
.cp-form textarea { min-height: 6rem; resize: vertical; }
.cp-form input:focus, .cp-form select:focus, .cp-form textarea:focus { outline: 2px solid var(--cor-primaria); outline-offset: 1px; border-color: var(--cor-primaria); }
.cp-form__consentimento { display: flex; gap: .6rem; align-items: flex-start; margin: .4rem 0 1rem; font-size: .84rem; color: var(--cor-texto); }
.cp-form__consentimento input { width: 1.2rem; min-height: 1.2rem; margin-top: .15rem; accent-color: var(--cor-primaria); }
.cp-form .cp-btn { width: 100%; }
.cp-form__lgpd { display: flex; gap: .7rem; align-items: flex-start; margin: 1rem 0 0; color: var(--cor-texto-suave); font-size: .8rem; }
.cp-form__lgpd .icone { color: var(--cor-primaria-texto); }
.cp-form__erro { color: var(--cor-erro); font-size: .82rem; }
.cp-alerta { padding: .9rem 1.1rem; border-radius: 12px; font-size: .92rem; }
.cp-alerta--ok { background: var(--cor-sucesso-fundo); color: var(--cor-sucesso); }
.cp-alerta--erro { background: var(--cor-erro-fundo); color: var(--cor-erro); }

/* ── Legal ────────────────────────────────────────────────────────────── */
.cp-legal-layout { display: grid; gap: 2rem; }
@media (min-width: 64em) { .cp-legal-layout { grid-template-columns: 16.5rem minmax(0, 1fr); gap: 2.6rem; } .cp-legal-layout .cp-aside { position: sticky; top: 1.5rem; } }
.cp-toc-lista { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; counter-reset: ltoc; }
.cp-toc-lista li { counter-increment: ltoc; }
.cp-toc-lista a { display: flex; gap: .6rem; padding: .6rem .8rem; border-radius: 10px; border: 1px solid #f5e5eb; background: #fff; color: var(--cor-escura); font-size: .88rem; text-decoration: none; }
.cp-toc-lista a::before { content: counter(ltoc) "."; color: var(--cor-primaria-texto); font-weight: 800; }
.cp-toc-lista a:hover { background: var(--cor-tint-1); border-color: var(--cor-tint-borda); }

/* ── 404 ──────────────────────────────────────────────────────────────── */
.cp-404__num { display: block; margin: 0 0 .2rem; color: var(--cp-rosa-destaque); font-size: clamp(5rem, 3rem + 9vw, 9.5rem); font-weight: 900; line-height: .95; letter-spacing: -.04em; }
.cp-ajuda { display: grid; gap: 1.5rem; align-items: center; padding: clamp(1.6rem, 1rem + 2vw, 2.6rem); border-radius: var(--raio-lg); background: linear-gradient(100deg, #fdf0f5, #fce8ef); }
@media (min-width: 56em) { .cp-ajuda { grid-template-columns: 1.2fr 1fr; } }

/* ── Banners do Core (rascunho/consentimento) no idioma visual do tema ─── */
.cp .draft-banner { background: #fff4d6; color: #6b4a00; }
.cp .aviso-conteudo { border-radius: 12px; }

/* ── Movimento reduzido ───────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .cp *, .cp *::before, .cp *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Quem Sou ---------- */
.cp-sobre__midia { position: relative; }
.cp-sobre__citacao { position: relative; margin: -3.5rem 0 0 auto; width: min(17rem, 80%); padding: 1.4rem 1.4rem 1.2rem; border-radius: 26px; background: linear-gradient(180deg, #fdf0f5, #fce8ef); box-shadow: var(--cp-sombra-card); font-size: .92rem; color: var(--cor-texto); }
.cp-sobre__citacao svg { color: var(--cp-rosa-destaque); }
.cp-sobre__citacao p { margin: .3rem 0 .5rem; }
.cp-sobre__citacao cite { display: block; text-align: right; font-size: 1.9rem; font-style: normal; color: var(--cor-primaria-texto); }
@media (min-width: 64em) { .cp-sobre__citacao { position: absolute; right: -1.5rem; bottom: -1.5rem; margin: 0; } }
.cp-script { font-family: var(--fonte-destaque); font-weight: 400; }
.cp-linha-tempo { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 1.4rem; }
.cp-linha-tempo li { position: relative; padding-left: 1.6rem; display: grid; gap: .15rem; font-size: .92rem; }
.cp-linha-tempo li::before { content: ""; position: absolute; left: 0; top: .3rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--cp-rosa-destaque); box-shadow: 0 0 0 5px #fbe6ee; }
.cp-linha-tempo strong { color: var(--cor-primaria-texto); font-size: 1rem; }
.cp-linha-tempo small { color: var(--cor-texto-suave); }
@media (min-width: 56em) {
    .cp-linha-tempo { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1.2rem; padding-top: 1.6rem; background: linear-gradient(90deg, #f7c5d7, #fbe6ee) 0 .4rem / 100% 2px no-repeat; }
    .cp-linha-tempo li { padding: 1.3rem 0 0; }
    .cp-linha-tempo li::before { top: -1.6rem; }
}
.cp-proposito__titulo svg { color: var(--cp-rosa-destaque); vertical-align: -.1em; }
.cp-card-item--compacto { padding: 1.1rem 1rem; gap: .3rem; }
.cp-card-item--compacto h3 { font-size: .95rem; }
.cp-icone-rosa { color: var(--cp-rosa-icone); display: inline-flex; }

/* Placeholder vetorial (sem bitmap ampliado) */
.cp-placeholder__lotus { width: 34%; max-width: 10rem; height: auto; color: #e79ab7; opacity: .85; }
.cp-hero__foto .cp-placeholder__lotus { position: static; width: 30%; max-width: 11rem; }
.cp-artigo-card__img .cp-placeholder__lotus { width: 20%; }
.cp-hero__foto .cp-badge-dev { top: 1rem; bottom: auto; left: 1.2rem; }
@media (min-width: 64em) { .cp-hero__foto .cp-badge-dev { top: auto; left: 28%; bottom: 1.2rem; } }

.cp-hero--compacto h1 { font-size: clamp(1.85rem, 1.35rem + 1.7vw, 2.65rem); }

/* ==========================================================================
   FASE 2.1 — fidelidade de composição (componentes ricos reutilizáveis)
   ========================================================================== */

/* CLS: o CSS do Core aplica content-visibility:auto com altura estimada fixa (900px) a
   seções consecutivas — a página "encolhe" ao rolar (HUB: 16.877 → 10.376 px). No tema as
   seções são renderizadas normalmente (lacuna registrada no relatório da Fase 2.1). */
.cp main > section + section, .cp main > .section + .section { content-visibility: visible; contain-intrinsic-size: none; }

/* Herói no mobile: a frase manuscrita não cobre a foto nem o selo DEV */
@media (max-width: 63.99em) {
    .cp-hero__midia { display: grid; }
    .cp-hero__nota { position: static; order: -1; max-width: none; margin: 0 0 .6rem; transform: none; font-size: 1.45rem; text-align: right; }
    .cp-hero__nota .icone { display: inline-block; margin: 0 0 0 .35rem; vertical-align: middle; }
    .cp-hero__foto .cp-badge-dev { top: auto; bottom: 1rem; left: 50%; transform: translateX(-50%); white-space: nowrap; }
}

/* Entenda: imagem orgânica + texto + citação assinada */
.cp-entenda { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 56em) {
    .cp-entenda { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 3.2rem; }
    .cp-entenda--inv .cp-entenda__midia { order: 2; }
}
.cp-entenda__texto .cp-corpo p { color: var(--cor-texto); }
.cp-citacao--assinada { padding-bottom: 1.1rem; }
.cp-citacao--assinada cite { margin-top: .4rem; font-size: 1.7rem; }

/* Faixa de cards (6 ícones) */
.cp-faixa-cards { border-radius: var(--raio-lg); background: linear-gradient(180deg, #fdeef3, #fcebf1); padding: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); }
.cp-faixa-cards__titulo { margin-bottom: .4rem; font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); }
.cp-faixa-cards__texto { max-width: 52rem; margin: 0 0 .2rem; color: var(--cor-texto); font-size: .95rem; }
.cp-faixa-cards__lista { display: grid; gap: .9rem; margin: 1.2rem 0 0; padding: 0; list-style: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 48em) { .cp-faixa-cards__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 72em) { .cp-faixa-cards__lista { grid-template-columns: repeat(var(--colunas, 6), minmax(0, 1fr)); } }
.cp-faixa-card { display: flex; height: 100%; flex-direction: column; align-items: center; gap: .45rem; padding: 1.1rem .8rem 1rem; border-radius: 14px; background: #fff; box-shadow: var(--cp-sombra-card); text-align: center; color: inherit; text-decoration: none; transition: transform var(--cp-transicao), box-shadow var(--cp-transicao); }
.cp-faixa-card .cp-icone-circulo { width: 3.4rem; height: 3.4rem; }
.cp-faixa-card strong { color: var(--cor-escura); font-size: .9rem; line-height: 1.3; }
.cp-faixa-card > span:not(.cp-icone-circulo):not(.cp-seta-circulo) { color: var(--cor-texto-suave); font-size: .8rem; line-height: 1.4; }
.cp-faixa-card .cp-seta-circulo { margin-top: auto; }
a.cp-faixa-card:hover { transform: translateY(-2px); box-shadow: var(--sombra-md); }

/* Benefícios: introdução + CTA | cards em 2 colunas */
.cp-beneficios { display: grid; gap: 1.8rem; align-items: center; }
@media (min-width: 60em) { .cp-beneficios { grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 3rem; } }
.cp-beneficios__intro .cp-btn { margin-top: .8rem; }
.cp-beneficios__lista { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 40em) { .cp-beneficios__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cp-beneficios__lista > li > * { height: 100%; }
a.cp-card-linha { color: inherit; text-decoration: none; }
a.cp-card-linha:hover { box-shadow: var(--sombra-md); }

/* Etapas com ramo decorativo */
.cp-etapas { position: relative; overflow: hidden; }
.cp-etapas__folha { position: absolute; right: -1rem; top: 1rem; width: 9rem; color: #f3c3d4; opacity: .55; pointer-events: none; }
@media (max-width: 55.99em) { .cp-etapas__folha { display: none; } }

/* Fases com foto circular */
.cp-fases-bloco { display: grid; gap: 1.6rem; align-items: center; }
@media (min-width: 60em) { .cp-fases-bloco { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3rem; } }
.cp-fases-lista { display: grid; gap: .9rem; margin: 0; padding: 1rem; list-style: none; border-radius: var(--raio-lg); background: var(--cor-tint-1); }
.cp-fases-lista li { display: flex; align-items: center; gap: 1rem; }
.cp-fases-lista__foto { display: grid; place-items: center; flex: none; width: 5rem; height: 5rem; overflow: hidden; border-radius: 50%; background: #fff; color: var(--cp-rosa-icone); box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--cor-tint-2); }
.cp-fases-lista__foto img, .cp-fases-lista__foto .foto { width: 100%; height: 100%; object-fit: cover; }
.cp-fases-lista strong { display: block; color: var(--cor-escura); font-size: 1rem; }
.cp-fases-lista li span span { display: block; color: var(--cor-texto-suave); font-size: .86rem; }
.cp-fases-bloco .cp-nota-dev { grid-column: 1 / -1; }

/* Nota DEV (só ambiente local) */
.cp-nota-dev { margin: .6rem 0 0; padding: .45rem .8rem; border-radius: 10px; border: 1px dashed #caa0b2; background: #fff; color: #6b3a52; font-size: .78rem; font-weight: 600; }

/* FAQ + profissional (retrato) */
.cp-faq-bloco--so-autora { max-width: 40rem; grid-template-columns: 1fr !important; }
.cp-autora--retrato { align-content: start; }
.cp-autora--retrato .cp-autora__topo { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; }
.cp-autora--retrato .cp-autora__foto { width: 100%; aspect-ratio: 16 / 11; border-radius: 26px 26px 30% 26px / 26px 26px 18% 26px; }
.cp-autora--retrato .cp-autora__foto .cp-placeholder { border-radius: inherit; }
@media (min-width: 30em) and (max-width: 59.99em) { .cp-autora--retrato .cp-autora__topo { grid-template-columns: 12rem minmax(0, 1fr); align-items: center; } .cp-autora--retrato .cp-autora__foto { aspect-ratio: 1; } }
.cp-faq-slot__titulo { margin: 0 0 .8rem; color: var(--cor-escura); font: 700 var(--titulo-2) / 1.16 var(--fonte-titulos); }
.cp-faq__item--vazio { height: 3.1rem; display: flex; align-items: center; padding-inline: 1rem; }
.cp-faq__item--vazio span { width: 60%; height: .6rem; border-radius: 99px; background: #f6e3ea; }

/* Social Proof */
.cp-prova { border-radius: var(--raio-lg); background: linear-gradient(180deg, #fdeef3, #fcebf1); padding: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); }
.cp-prova__lista { display: grid; gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
@media (min-width: 48em) { .cp-prova__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-prova__card { height: 100%; margin: 0; padding: 1.3rem 1.3rem 1.1rem; display: grid; gap: .6rem; align-content: start; }
.cp-prova__card blockquote { margin: 0; color: var(--cor-texto); font-size: .95rem; }
.cp-prova__nota { margin: 0; color: var(--cp-estrela); letter-spacing: .12em; }
.cp-prova__card figcaption { display: flex; align-items: center; gap: .6rem; color: var(--cor-texto-suave); font-size: .86rem; }
.cp-prova__card figcaption small { margin-left: auto; }
.cp-prova__avatar { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cp-rosa-circulo); color: var(--cp-rosa-icone); }
.cp-prova__titulo-dev { margin: 0; color: var(--cor-escura); font: 700 var(--titulo-2) / 1.16 var(--fonte-titulos); }
.cp-prova__card--vazio { min-height: 9rem; }
.cp-prova__card--vazio span { display: block; height: .6rem; border-radius: 99px; background: #f6e3ea; }
.cp-prova__card--vazio span:nth-child(2) { width: 80%; }
.cp-prova__card--vazio span:nth-child(3) { width: 45%; margin-top: 1.4rem; }

/* Leitura com ritmo */
.cp-leitura { max-width: var(--cp-leitura); margin-inline: auto; }
.cp-leitura-banda { background: linear-gradient(180deg, #fdf4f7, #fdf0f4); }
.cp-cabecalho-leitura { max-width: var(--cp-leitura); margin: 0 auto 1.4rem; }
.cp-subcards { display: grid; gap: 1rem; }
@media (min-width: 48em) { .cp-subcards--2, .cp-subcards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .cp-subcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-subcard { padding: 1.3rem 1.3rem 1rem; }
.cp-subcard h3 { margin: .8rem 0 .4rem; font-size: 1.05rem; }
.cp-subcard .cp-corpo p { font-size: .92rem; }
.cp-continue { text-align: center; }
.cp-continue .cp-pills { justify-content: center; }
.cp-continue a { text-decoration: none; }

/* Corpo editorial: listas com check e cards de ícone */
.cp-lista-check { margin: .6rem 0 1.2rem; padding: 0; list-style: none; display: grid; gap: .55rem; }
.cp-lista-check li { position: relative; padding-left: 2rem; }
.cp-lista-check li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--cp-rosa-circulo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d0386f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / .8rem no-repeat; }
.cp-lista-icones { display: grid; gap: .8rem; margin: 1rem 0 1.4rem; padding: 0; list-style: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 40em) { .cp-lista-icones { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-lista-icones li { display: flex; flex-direction: column; align-items: center; gap: .5rem; padding: 1rem .8rem; text-align: center; color: var(--cor-escura); font-size: .88rem; font-weight: 600; line-height: 1.35; }
.cp-corpo figure { margin: 1.2rem 0; }
.cp-corpo figure img { border-radius: 18px; }

/* Fase 2.1 — busca, ordenação, fases com foto, slots DEV, legal em 2 colunas */
.cp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cp-busca { display: flex; max-width: 30rem; margin-top: 1.4rem; border-radius: 16px; background: #fff; box-shadow: var(--cp-sombra-card); border: 1px solid #f3e1e8; overflow: hidden; }
.cp-busca input { flex: 1; min-width: 0; min-height: 3.2rem; padding: 0 1rem; border: 0; background: transparent; font: inherit; color: var(--cor-escura); }
.cp-busca input:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: -2px; }
.cp-busca button { display: grid; place-items: center; width: 3.4rem; border: 0; background: var(--cp-gradiente-cta); color: #fff; cursor: pointer; }
.cp-aside .cp-busca { margin-top: .6rem; max-width: none; box-shadow: none; }
.cp-busca__vazio { margin: 1rem 0 0; color: var(--cor-texto-suave); }
.cp-ordenar { display: flex; align-items: center; gap: .6rem; color: var(--cor-texto-suave); font-size: .88rem; }
.cp-ordenar select { min-height: 2.6rem; padding: 0 2rem 0 .8rem; border-radius: 12px; border: 1px solid #f0dbe3; background: #fff; font: inherit; color: var(--cor-escura); }
.cp-cabecalho-secao { gap: 1rem; flex-wrap: wrap; }
[data-cp-artigo][hidden] { display: none !important; }

/* Home — fases com foto circular (presença humana da referência) */
.cp-fases__foto { overflow: hidden; padding: 0; }
.cp-fases__foto img, .cp-fases__foto .foto { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

/* Slots DEV (fatos bloqueados) */
.cp-slot-dev { border: 1.5px dashed #e3b3c6; background: #fff8fa; box-shadow: none; }
.cp-slot-dev p small { color: #8a4a66; font-weight: 700; letter-spacing: .04em; }
.cp-faixa-confianca-pro { margin-top: 1.2rem; }

/* Linha do tempo (Quem Sou) */
.cp-tempo { position: relative; overflow: hidden; }
.cp-tempo__folha { position: absolute; right: 3%; top: 1.5rem; width: 10rem; color: #f3c3d4; opacity: .6; pointer-events: none; }
@media (max-width: 55.99em) { .cp-tempo__folha { display: none; } }
.cp-linha-tempo--dev li::before { background: #fff; box-shadow: 0 0 0 2px #e3b3c6; }
.cp-linha-tempo--dev strong, .cp-linha-tempo--dev span { color: #b58aa0; }

/* Legal: seções em 2 colunas no desktop, índice ativo, cartão de contato */
@media (min-width: 72em) { .cp-legal-corpo { column-count: 2; column-gap: 2.6rem; } }
.cp-legal-sec { break-inside: avoid; padding-bottom: 1.2rem; margin-bottom: 1.2rem; border-bottom: 1px solid #f3e4ea; }
.cp-legal-sec--intro { column-span: all; }
.cp-legal-sec h2 { font-size: 1.35rem; margin-top: 0; }
.cp-toc-lista a[aria-current="true"] { border-color: var(--cor-primaria); background: var(--cor-tint-2); color: var(--cor-primaria-texto); font-weight: 700; }
.cp-contato-card { display: grid; gap: .9rem; padding: 1.3rem; border-radius: 18px; background: var(--cor-tint-1); }
.cp-contato-card__titulo { margin: 0; color: var(--cor-escura); font-weight: 800; }
.cp-contato-card p { display: flex; gap: .9rem; align-items: center; margin: 0; color: var(--cp-rosa-icone); }
.cp-contato-card span { display: grid; color: var(--cor-texto); font-size: .9rem; }
.cp-contato-card strong { color: var(--cor-escura); }

/* Fase 2.1 — ciclo 2: densidade e ritmo mais próximos das referências */
.cp-secao--compacta { padding-block: clamp(1.1rem, .7rem + 1.3vw, 2.1rem); }
.cp-faixa-cards, .cp-prova { padding: clamp(1.2rem, .9rem + 1.2vw, 2rem); }
.cp-faixa-cards__lista { margin-top: .9rem; }
.cp-hero__faixa { position: relative; z-index: 3; padding-bottom: 1.2rem; }
.cp-hero__confianca { margin-top: 0; }
@media (min-width: 64em) {
    .cp-hero__faixa { margin-top: -1rem; }
    .cp-hero__confianca { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 64rem; }
    .cp-hero .cp-hero__conteudo { padding-bottom: 2rem; }
}
.cp-abertura .cp-corpo p { font-size: 1.05rem; color: var(--cor-texto); }
.cp-abertura .cp-corpo p:first-child { font-size: 1.15rem; color: var(--cor-escura); }
.cp-fases-bloco .cp-nota-dev { margin-top: 0; }

/* Fase 2.1 — ciclo 2: artigo (tópicos "• Título: texto" em cards) */
.cp-topicos { list-style: none; margin: 1.2rem 0; padding: 0; display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.cp-topicos > li { display: flex; gap: .8rem; align-items: flex-start; padding: 1rem 1.1rem; margin: 0; }
.cp-topicos > li::before { content: none; }
.cp-topicos strong { display: block; color: var(--cor-escura); font-size: .98rem; margin-bottom: .25rem; }
.cp-topicos p { margin: 0; font-size: .92rem; line-height: 1.55; }
.cp-topicos .cp-icone-rosa { flex: none; }

/* Fase 2.1 — ciclo 2: mobile — grades de cards curtos em 2 colunas (densidade das referências) */
@media (max-width: 39.99em) {
    .cp-beneficios__lista, .cp-bloco-rosa .cp-grade--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
    .cp-beneficios__lista .cp-card-linha, .cp-bloco-rosa .cp-grade--3 .cp-card-linha { flex-direction: column; align-items: flex-start; gap: .5rem; padding: .8rem; }
    .cp-beneficios__lista .cp-card-linha p, .cp-bloco-rosa .cp-grade--3 .cp-card-linha p { font-size: .86rem; overflow-wrap: anywhere; }
    .cp-bloco-rosa .cp-grade--3 .cp-card-item--compacto { padding: .8rem; }
    .cp-bloco-rosa .cp-grade--3 .cp-card-item--compacto h3 { font-size: .9rem; }
}

/* ── Referências e fontes (Fase 3.3 · evidence presentation por page type) ─────────────── */
.cp-refs { background: var(--cor-branca); border: 1px solid var(--cor-borda); border-radius: 20px; padding: clamp(1.1rem, 2.5vw, 1.6rem) clamp(1.1rem, 3vw, 1.9rem); box-shadow: 0 10px 30px rgb(var(--cor-sombra-rgb) / .06); }
.cp-refs--artigo { background: var(--cor-tint-1); box-shadow: none; margin-top: 1.4rem; }
.cp-refs--hub { margin-top: .4rem; }
.cp-refs .cp-refs__titulo { display: flex; align-items: center; gap: .55rem; margin: 0 0 .45rem; font-size: 1.12rem; color: var(--cor-escura); }
.cp-refs__titulo .icone { color: var(--cor-primaria-texto); flex: none; }
.cp-refs__intro { margin: 0 0 .9rem; color: var(--cor-texto-suave); font-size: .93rem; line-height: 1.6; max-width: 62rem; }
.cp-refs__entidades { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 1rem; font-size: .82rem; }
.cp-refs__rotulo { color: var(--cor-texto-suave); font-weight: 700; margin-right: .15rem; }
.cp-refs__selo { background: var(--cor-tint-1); color: var(--cor-escura); border: 1px solid var(--cor-tint-borda); border-radius: 999px; padding: .2rem .7rem; font-weight: 700; }
.cp-refs__mais { color: var(--cor-texto-suave); font-weight: 600; }
.cp-refs__detalhes { border-top: 1px solid var(--cor-borda); padding-top: .75rem; }
.cp-refs__detalhes > summary { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; list-style: none; color: var(--cor-primaria-texto); font-weight: 800; font-size: .92rem; border-radius: 8px; padding: .2rem .1rem; }
.cp-refs__detalhes > summary::-webkit-details-marker { display: none; }
.cp-refs__detalhes > summary::before { content: ""; width: .55rem; height: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .2s ease; margin-right: .15rem; }
.cp-refs__detalhes[open] > summary::before { transform: rotate(45deg); }
.cp-refs__detalhes > summary:focus-visible { outline: 3px solid var(--cor-botao-fantasma-borda); outline-offset: 3px; }
.cp-refs__contagem { color: var(--cor-texto-suave); font-weight: 600; }
.cp-refs__grupo { margin: 1rem 0 .35rem; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cor-primaria-texto); }
.cp-refs__lista { margin: .7rem 0 0; padding-left: 1.3rem; display: grid; gap: .65rem; font-size: .88rem; line-height: 1.5; }
.cp-refs__lista li { padding-left: .2rem; }
.cp-refs__lista li::marker { color: var(--cor-primaria-texto); font-weight: 700; }
.cp-refs__lista a { color: var(--cor-escura); font-weight: 600; text-decoration: underline; text-decoration-color: var(--cor-botao-fantasma-borda); text-underline-offset: 3px; overflow-wrap: anywhere; }
.cp-refs__lista a:hover, .cp-refs__lista a:focus-visible { color: var(--cor-primaria-texto); text-decoration-color: currentColor; }
.cp-refs__meta { display: block; color: var(--cor-texto-suave); font-size: .8rem; margin-top: .1rem; }
@media (prefers-reduced-motion: reduce) { .cp-refs__detalhes > summary::before { transition: none; } }

/* ── Conheça o espaço (Fase 3.4): fotos do ambiente separadas do endereço ───────────────── */
.cp-espaco__topo { text-align: center; margin-bottom: 1.4rem; }
.cp-espaco__fotos { display: grid; gap: .9rem; grid-template-columns: 1fr; }
.cp-espaco__fotos .cp-moldura__img { aspect-ratio: 4 / 3; }
.cp-unidade__mapa { display: block; min-height: 13rem; border-radius: var(--cp-raio-imagem); overflow: hidden; }
@media (min-width: 40em) {
    .cp-espaco__fotos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cp-espaco__fotos--2 .cp-moldura__img { aspect-ratio: 4 / 5; }
    /* paisagem + retrato lado a lado: mesma altura, a paisagem ocupa mais largura */
    .cp-espaco__fotos--2:has(.cp-espaco__foto--larga) { grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); }
    .cp-espaco__fotos--2:has(.cp-espaco__foto--larga) .cp-moldura__img { aspect-ratio: auto; height: clamp(16rem, 34vw, 26rem); }
}
@media (min-width: 40em) { .cp-espaco__fotos--2:not(:has(.cp-espaco__foto--larga)) { max-width: 46rem; margin-inline: auto; } }
