/* Lívia Fiorentino — widget servicos (estilos do bloco; a base está em lf-base.css) */
.lf-servicos { padding: 0 12px 12px; }
.lf-servicos__topo { text-align: center; padding: 0 var(--lf-margem) clamp(40px, 5vw, 60px); }
.lf-servicos__topo h2 { font-size: clamp(2.8rem, 6vw, 5.2rem); font-weight: 300; text-transform: uppercase; letter-spacing: .06em; }
.lf-servicos__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lf-servico { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--lf-raio); color: #fff; isolation: isolate; background: var(--lf-tinta); }
.lf-servico img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: saturate(.8); transition: transform 1.4s var(--lf-ease); }
.lf-servico::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28, 30, 27, .05) 30%, rgba(28, 30, 27, .72) 100%); transition: background .6s; }
.lf-servico:hover img { transform: scale(1.06); }
.lf-servico:hover::after { background: linear-gradient(180deg, rgba(28, 30, 27, .35) 0%, rgba(28, 30, 27, .8) 100%); }
.lf-servico__info { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 30px 34px; text-align: center; }
.lf-servico small { font-size: 11px; font-weight: 400; letter-spacing: .3em; text-transform: uppercase; opacity: .85; }
.lf-servico h3 { font-size: clamp(1.7rem, 2.4vw, 2.2rem); font-weight: 400; text-transform: uppercase; letter-spacing: .08em; line-height: 1.1; margin: 6px 0 0; }
.lf-servico p { max-width: 300px; margin: 0 auto; font-size: 14.5px; line-height: 1.55; opacity: 0; max-height: 0; overflow: hidden; transition: opacity .5s, max-height .6s var(--lf-ease), margin .6s var(--lf-ease); }
.lf-servico:hover p, .lf-servico:focus-within p { opacity: .9; max-height: 80px; margin-top: 12px; }
.lf-servico__acoes { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 22px; }
.lf-servico__acoes .lf-botao { height: 40px; padding: 0 20px; font-size: 11px; }
@media (max-width: 1100px) {
  .lf-servicos__grade { grid-template-columns: 1fr 1fr; }
  .lf-servico p { opacity: .9; max-height: none; margin-top: 10px; }
}
@media (max-width: 560px) {
  .lf-servicos__grade { grid-template-columns: 1fr; }
  .lf-servico { aspect-ratio: 4 / 4.4; }
}
@media (max-width: 560px) {
  .lf-servicos__topo h2 { font-size: clamp(2.2rem, 11vw, 2.8rem); letter-spacing: .03em; }
}
