/* ---------- fecho: a tinta toma a página ---------- */
.fe { min-height: min(92svh, 860px); display: grid; place-items: center; text-align: center; overflow: hidden; }
.fe-tinta { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.fe-caixa { position: relative; max-width: 56rem; margin: 0 auto; display: grid; justify-items: center; }
.fe .wf-rotulo { color: var(--esmalte); }
.fe-titulo { font-size: clamp(2.6rem, 1.2rem + 6vw, 7rem); line-height: .98; letter-spacing: -.02em; font-weight: 500; }
.fe-titulo em { display: block; font-style: italic; font-weight: 600; color: var(--esmalte); }
.fe-titulo .wf-mancha > svg path { fill: color-mix(in oklab, var(--noite) 55%, transparent); }
.fe-e { font-style: italic; color: var(--rosa-claro); font-weight: 500; }
.fe-fala { margin: var(--e-4) auto 0; max-width: 40rem; }
.fe-fala .wf-fala { font-size: clamp(1.1rem, .95rem + .6vw, 1.45rem); color: var(--esmalte); }
.fe-fala footer { margin-top: var(--e-2); font-size: var(--t-rotulo); letter-spacing: .16em; text-transform: uppercase; color: color-mix(in oklab, var(--esmalte) 82%, transparent); }
.fe-acoes { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--e-2) var(--e-4); margin-top: var(--e-4); }
.fe-botao { font-size: 1.08rem; min-height: 58px; padding-inline: 1.5rem 1.9rem; background: var(--esmalte); color: var(--noite);
  box-shadow: 0 18px 40px -16px rgb(0 0 0 / .55), inset 0 1px 0 #fff; }
.fe-botao:hover { background: #fff; }
.fe-tel { font-size: 1.05rem; }
.fe-onde { margin-top: var(--e-3); font-size: .9rem; max-width: 40rem; color: color-mix(in oklab, var(--esmalte) 88%, transparent); }
.fe-onde span { white-space: nowrap; }
.fe-gota { margin: 0 0 var(--e-3); width: clamp(110px, 8vw + 60px, 168px); filter: drop-shadow(0 18px 30px rgb(42 20 24 / .45)); }
.fe-gota svg { display: block; width: 100%; height: auto; overflow: visible; }
.fe-gota path { fill: none; }
.fe-gota-aro { stroke: var(--esmalte); stroke-width: 5; vector-effect: non-scaling-stroke; }
.fe-gota-foto { filter: sepia(.18) saturate(1.08) hue-rotate(-8deg); }

/* ---------- rodapé ---------- */
.fe-rodape { position: relative; padding: clamp(3rem, 2rem + 4vw, 5rem) var(--margem) 2rem; border-top: 1px solid color-mix(in oklab, var(--esmalte) 14%, transparent); font-size: .92rem; }
.fe-rodape-grade { max-width: var(--largura); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 2rem 3rem; }
.fe-marca { font-family: var(--f-titulo); font-weight: 600; font-size: 1.35rem; line-height: 1.1; }
.fe-marca span { display: block; font-family: var(--f-texto); font-weight: 500; font-size: var(--t-rotulo); letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); margin-top: .5rem; }
.fe-rodape h3 { font-family: var(--f-texto); font-size: var(--t-rotulo); font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--rosa-claro); margin-bottom: .8rem; }
.fe-rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.fe-rodape li a, .fe-rodape address a { display: inline-block; padding: .35rem 0; text-decoration: none; color: var(--texto-suave); }
.fe-rodape li a:hover, .fe-rodape address a:hover { color: var(--esmalte); }
.fe-rodape address span { white-space: nowrap; }
.fe-rodape address { font-style: normal; color: var(--texto-suave); line-height: 1.6; }
.fe-nota { max-width: var(--largura); margin: 2.4rem auto 0; padding-top: 1.4rem; border-top: 1px solid color-mix(in oklab, var(--esmalte) 12%, transparent);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem; color: var(--texto-suave); font-size: .82rem; }
.fe-selo a { color: var(--esmalte); font-weight: 600; text-decoration: underline; text-decoration-color: var(--rosa); text-underline-offset: .25em; padding: .4rem 0; display: inline-block; }
.fe-selo a:hover { color: var(--rosa-claro); }

@media (max-width: 960px) {
  .fe-rodape-grade { grid-template-columns: 1fr 1fr; }
  .fe-rodape-grade > :first-child { grid-column: 1 / -1; }
  .fe { padding-bottom: calc(var(--secao) + 1rem); }
}
@media (max-width: 420px) {
  .fe-botao { width: 100%; justify-content: center; }
  .fe-rodape-grade { grid-template-columns: 1fr; }
}
