/* Cirurgias · do rosto ao contorno corporal (prefixo cr-) */
.cr-secao { background: var(--hd-papel); padding: var(--wf-secao) var(--wf-margem); }
.cr-dentro { max-width: var(--wf-largura); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 4.3fr) minmax(0, 7.7fr); grid-template-areas: "abre abre" "fig ind"; gap: clamp(2rem, 4vw, 3.6rem) clamp(2rem, 6vw, 6rem); align-items: start; }

.cr-abre { grid-area: abre; }
.cr-h2 { margin-top: 1.4rem; font-size: clamp(2.5rem, .7rem + 5.6vw, 5.4rem); line-height: .96; letter-spacing: -.022em; }
.cr-intro { font-family: var(--hd-serifa); font-size: clamp(1.35rem, 1.1rem + .9vw, 1.9rem); line-height: 1.2; max-width: 26em; padding-bottom: clamp(1.4rem, 3vw, 2.2rem); text-wrap: pretty; }
@media (min-width: 1100px) { .cr-h2 { text-wrap: nowrap; } }

/* ela, de jaleco, acompanha a leitura */
.cr-figura { grid-area: fig; position: sticky; top: 1.5rem; }
.cr-arco { position: relative; isolation: isolate; overflow: hidden; aspect-ratio: 3 / 4; max-height: calc(100svh - 13rem); min-height: 22rem; width: 100%; border-radius: 999px 999px 32px 32px; background: linear-gradient(175deg, var(--hd-nevoa), var(--hd-pessego)); background: linear-gradient(175deg in oklab, var(--hd-nevoa) 15%, var(--hd-pessego)); }
.cr-arco::before { content: ""; position: absolute; z-index: -1; width: 95%; aspect-ratio: 1; right: -30%; top: calc(-12% + var(--cr-passo, 4) * 15%); transition: top 1.6s var(--wf-curva); border-radius: 50%; background: radial-gradient(closest-side, color-mix(in oklab, var(--hd-ambar) 70%, transparent), transparent); filter: blur(30px); opacity: .7; }
.cr-arco::after { content: ""; position: absolute; inset: auto 0 0; height: 22%; background: linear-gradient(to top, color-mix(in oklab, var(--hd-pessego) 85%, transparent), transparent); }
.cr-arco img { position: absolute; left: 50%; top: 9%; width: 84%; max-width: none; height: auto; transform: translateX(-50%); filter: drop-shadow(0 24px 30px rgba(42, 33, 29, .16)); }
.cr-onde { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; display: inline-flex; align-items: baseline; gap: .6rem; padding: .55rem 1rem .6rem; border-radius: 999px; background: color-mix(in oklab, var(--hd-papel-claro) 88%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 14px 24px -16px rgba(42, 33, 29, .5); font-family: var(--hd-serifa); font-size: 1.3rem; line-height: 1; }
.cr-onde[hidden] { display: none; }
.cr-onde b, .cr-onde i { font-family: var(--hd-sem); font-style: normal; font-size: var(--wf-mini); font-weight: 500; letter-spacing: .14em; }
.cr-onde b { color: var(--wf-laranja-texto); }
.cr-onde i { color: var(--hd-tinta-suave); }
.cr-fala { margin-top: 1.3rem; padding-left: 1.2rem; border-left: 1px solid var(--hd-laranja); }
.cr-fala blockquote { margin: 0; font-family: var(--hd-serifa); font-style: italic; font-size: clamp(1.2rem, 1.05rem + .5vw, 1.45rem); line-height: 1.24; }
.cr-fala cite { display: block; margin-top: .6rem; font-style: normal; font-size: var(--wf-mini); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--hd-tinta-suave); }

/* índice tipográfico */
.cr-indice { grid-area: ind; }
.cr-intro + .cr-grupo { border-top: 1px solid var(--hd-tinta); }
.cr-grupo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.2rem 2rem; padding: clamp(1.8rem, 3.4vw, 2.8rem) 0; border-bottom: 1px solid var(--hd-fio); }
.cr-grupo h3 { font-family: var(--hd-serifa); font-weight: 400; font-size: clamp(3rem, 1.2rem + 4.2vw, 5.6rem); line-height: .9; letter-spacing: -.03em; transition: color .7s, transform .9s var(--wf-curva); transform-origin: 0 60%; }
.cr-grupo h3 span { display: block; margin-bottom: .9rem; font-family: var(--hd-sem); font-style: normal; font-size: var(--wf-mini); font-weight: 500; letter-spacing: .18em; color: var(--wf-laranja-texto); }
.cr-vivo .cr-agora h3 { color: var(--wf-laranja-texto); font-style: italic; }
.cr-grupo dl { margin: 0; display: grid; gap: 1.35rem; padding-top: 1.75rem; }
.cr-grupo dt { font-family: var(--hd-serifa); font-size: clamp(1.4rem, 1.2rem + .6vw, 1.7rem); line-height: 1.1; letter-spacing: -.005em; }
.cr-grupo dd { margin: .35rem 0 0; color: var(--hd-tinta-suave); }
.cr-grupo dd a { color: var(--hd-tinta); border-bottom: 1px solid var(--hd-laranja); padding-block: .2rem; }
.cr-nota { padding-top: clamp(1.6rem, 3vw, 2.4rem); display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; }
.cr-nota p { font-family: var(--hd-serifa); font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.2rem); line-height: 1.08; letter-spacing: -.01em; max-width: 15em; text-wrap: balance; }
.cr-nota em { font-style: italic; color: var(--wf-laranja-texto); }
.cr-nota-link { display: inline-flex; align-items: center; min-height: 3rem; color: var(--hd-tinta); font-weight: 500; border-bottom: 1px solid var(--hd-laranja); }

@media (max-width: 940px) {
  .cr-dentro { grid-template-columns: minmax(0, 1fr); grid-template-areas: "abre" "fig" "ind"; }
  .cr-onde { display: none; }
  .cr-arco::before { top: auto; bottom: -22%; }
  /* no celular o número vai para a ponta da linha, e a palavra ganha a largura toda */
  .cr-grupo h3 { display: flex; align-items: baseline; gap: .8rem; font-size: clamp(3rem, 14vw, 4.2rem); }
  .cr-grupo h3 span { order: 2; margin: 0 0 0 auto; }
  .cr-figura { position: static; }
  .cr-arco { aspect-ratio: 1 / 1.08; max-height: none; min-height: 0; }
  .cr-arco img { width: 78%; top: 8%; }
  .cr-grupo { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cr-grupo dl { padding-top: 1.3rem; }
}
