/* ===== cf · Como funciona (parede oliva) ===== */
.cf-secao{overflow:clip}
.cf-trio{position:relative;display:grid;grid-template-columns:minmax(0,1fr);margin-top:1.4rem}
.cf-titulo{margin:0;display:block}
.cf-t{display:block}
.cf-t em,.cf-t strong{font-size:1.15em}
.cf-t>span{font-weight:400;letter-spacing:-.015em}

/* figura: painel de um canto curvo, contorno deslocado e luz atrás da cabeça */
.cf-figura{position:relative;margin:2.4rem auto 0;width:min(100%,22rem);aspect-ratio:880/1468}
.cf-figura::before{content:"";position:absolute;inset:-18% -22% 30% -22%;background:radial-gradient(closest-side,rgb(201 173 124/.2),transparent);pointer-events:none}
.cf-painel{position:absolute;inset:34% 0 0 0}
.cf-figura::after{content:"";position:absolute;inset:calc(34% - .8rem) -.8rem 0 auto;width:calc(100% + .8rem);border:1px solid var(--fio);border-bottom:0;border-left:0;border-radius:0 100% 0 0 / 0 46% 0 0;pointer-events:none}
.cf-figura img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:bottom}

/* rótulos: servem de legenda dos pares */
.cf-rotulos{display:flex;flex-wrap:wrap;gap:.7rem 1.8rem;margin-top:2.6rem}
.cf-rotulo{position:relative;font-family:var(--f-sem);font-size:var(--t-mini);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);padding-left:1.4rem}
.cf-rotulo::before,.cf-d::before,.cf-f::before{content:"";position:absolute;left:0}
.cf-r-doce::before,.cf-d::before{top:.12em;width:.72rem;height:.95rem;background:var(--palha-clara);border-radius:0 100% 0 100%;transform:rotate(-8deg)}
.cf-r-firme::before,.cf-f::before{top:.38em;width:.58rem;height:.58rem;background:var(--marfim)}

/* pares: cada linha começa doce e termina firme */
.cf-pares{list-style:none;padding:0;margin:1.3rem 0 0;font-family:var(--f-serifa)}
.cf-pares li{display:block;padding:1.25rem 0;border-top:1px solid var(--fio)}
.cf-pares li:last-child{border-bottom:1px solid var(--fio)}
.cf-d,.cf-f{position:relative;display:block;padding-left:1.7rem}
.cf-d{font-style:italic;font-weight:300;font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.22;color:var(--palha-clara)}
.cf-d::before{top:.2em}
.cf-f{font-weight:800;font-size:clamp(1.25rem,1.6vw,1.45rem);line-height:1.18;letter-spacing:-.01em;margin-top:.55rem}
.cf-f::before{top:.36em}
.cf-f::first-letter{text-transform:uppercase}
.cf-e{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cf-pares li{position:relative}

.cf-fala{margin:1.8rem 0 0;line-height:1.55;color:var(--tinta-suave);max-width:27rem}
.cf-fala footer{margin-top:.6rem;font-size:var(--t-mini);color:var(--caramelo-texto)}
.cf-linha{margin-top:2.5rem}

.cf-pratica{display:grid;gap:3.5rem;margin-top:clamp(3.5rem,7vw,6rem)}
.cf-aqui{margin:1.4rem 0 0;font-family:var(--f-serifa);font-style:italic;font-weight:250;font-size:clamp(1.7rem,3.1vw,2.7rem);line-height:1.12;letter-spacing:-.015em;color:var(--palha-clara);max-width:15em;text-wrap:balance}
.cf-voz .wf-texto{margin-top:2rem}
.cf-fora{list-style:none;padding:0;margin:.9rem 0 0;max-width:30rem;font-family:var(--f-serifa);font-size:1.15rem;line-height:1.3}
.cf-fora li{padding:.7rem 0;border-top:1px solid var(--fio)}
.cf-fora li:last-child{border-bottom:1px solid var(--fio)}
.cf-agenda .wf-lead{margin-top:.9rem;max-width:32rem}
.cf-agenda .wf-botao{margin-top:2rem}
.cf-ficha{margin:1.8rem 0 0}
.cf-ficha>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;padding:1.1rem 0;border-top:1px solid var(--fio)}
.cf-ficha>div:last-child{border-bottom:1px solid var(--fio)}
.cf-ficha dt{font-size:var(--t-mini);letter-spacing:.14em;text-transform:uppercase;color:var(--caramelo-texto);padding-top:.25rem}
.cf-ficha dd{margin:0;font-family:var(--f-serifa);font-size:1.2rem;line-height:1.35}

@media (min-width:640px) and (max-width:1023.98px){
  .cf-trio{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2.5rem}
  .cf-titulo{grid-column:1;grid-row:1;align-self:center}
  .cf-figura{grid-column:2;grid-row:1;margin:0 .8rem 0 auto;width:min(100%,20rem)}
  .cf-rotulos,.cf-pares,.cf-fala,.cf-linha{grid-column:1/-1}
  .cf-rotulos{margin-top:0;padding-top:2.2rem;display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem}
  .cf-pares li{display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem;align-items:center}
  .cf-f{margin-top:0}
  .cf-pratica{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem}
}
@media (min-width:1024px){
  .cf-trio{--lh:clamp(3.4rem,6vw,5rem);grid-template-columns:minmax(0,1fr) clamp(20rem,30vw,27rem) minmax(0,1fr);column-gap:clamp(1.6rem,3vw,3.2rem);grid-template-rows:auto auto auto minmax(calc(var(--lh)*1.25),auto)}
  .cf-titulo{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:subgrid;font-size:clamp(2rem,3.1vw,2.9rem);line-height:1.05}
  .cf-t-doce{grid-column:1;text-align:right}
  .cf-t-firme{grid-column:3}
  .cf-t em,.cf-t strong{display:block;font-size:clamp(5rem,8.4vw,8rem);line-height:.86;letter-spacing:-.035em}
  .cf-t strong{letter-spacing:-.04em}
  .cf-t>span{display:block;margin-top:.5rem}
  .cf-figura{grid-column:2;grid-row:1/5;align-self:end;width:100%;margin:0;z-index:1}
  .cf-rotulos{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:subgrid;margin-top:2.6rem;padding-bottom:1.1rem}
  .cf-r-doce{grid-column:1;justify-self:end;padding-left:0;padding-right:1.4rem}
  .cf-r-doce::before{left:auto;right:0;border-radius:100% 0 100% 0;transform:rotate(8deg)}
  .cf-r-firme{grid-column:3}
  .cf-pares{grid-column:1/-1;grid-row:3;margin:0;display:grid;grid-template-columns:subgrid}
  .cf-pares li{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center;min-height:5.6rem;padding:1.1rem 0}
  .cf-d{grid-column:1;text-align:right;padding-left:0;padding-right:1.7rem;justify-self:end;max-width:24rem}
  .cf-d::before{left:auto;right:0;border-radius:100% 0 100% 0;transform:rotate(8deg)}
  .cf-f{grid-column:3;margin-top:0;max-width:23rem}
  .cf-fala{grid-column:3;grid-row:4;margin:1.5rem 0 calc(var(--lh)*.45);font-size:1rem}
  .cf-linha{position:absolute;left:0;right:0;margin:0;height:var(--lh);bottom:calc(var(--lh)*-.2)}
  .cf-pratica{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(3rem,7vw,7rem);align-items:start;margin-top:clamp(5.5rem,9vw,8rem)}
  .cf-agenda{padding-left:clamp(2rem,4vw,4rem);border-left:1px solid var(--fio)}
}
