/* ─── Utilities & extracted HTML styles ───────────────────────── */

.u-sr-only {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.em-mauve {
  font-style: italic;
  color: var(--mauve);
}

.em-gray {
  font-style: italic;
  color: var(--gray-elegant);
}

.bg-white {
  background: var(--white);
}

.bg-section {
  background: var(--gradient-section);
}

.bg-hero {
  background: var(--gradient-hero);
}

.section-pad {
  padding: var(--space-32) 0;
}

.section-header--tight {
  margin-bottom: var(--space-16);
}

.section-header__title {
  margin-top: var(--space-4);
}

.stack-6 {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.center-mb-6 {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-6);
}

.mt-2 {
  margin-top: var(--space-2);
}

.req {
  color: var(--rose-light);
}

.btn--block {
  width: 100%;
}

/* Services hero / CTA (servicos pages) */
.services-hero__title {
  font-size: clamp(2.75rem, 5.5vw, 5.75rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: var(--space-4) 0 var(--space-5);
}

.services-cta {
  padding: var(--space-24) 0;
  text-align: center;
}

.services-cta__inner {
  max-width: 600px;
  margin: 0 auto;
}

.services-cta__title {
  font-size: var(--text-4xl);
  margin: var(--space-4) 0 var(--space-5);
}

.services-cta__text {
  font-family: var(--font-subtitle);
  font-size: var(--text-xl);
  font-style: italic;
  color: var(--text-light);
  margin-bottom: var(--space-8);
}

/* Preview placeholders (home) */
.img-placeholder--warm-a {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #EDD8C4, #D8C89C);
}

.img-placeholder--warm-b {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #EDD4C4, #EDE3C8);
}

.img-placeholder--warm-c {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #D8C89C, #EDD8C4);
}

.img-placeholder--warm-d {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #EDD4C8, #D8C89C);
}

.img-placeholder--warm-e {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #EDE3C8, #EDD8C4);
}

.img-placeholder--warm-f {
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, #D8C89C, #EDD4C8);
}

.testimonial-card__avatar--rose {
  background: var(--gradient-rose);
}

.testimonial-card__avatar--sage {
  background: var(--gradient-sage);
}

.testimonial-card__avatar--sand {
  background: linear-gradient(135deg, #EDD8C4, #D8C89C);
}

.contact-form__title {
  font-size: var(--text-2xl);
  margin-top: var(--space-3);
  margin-bottom: var(--space-2);
}

.contact-form select {
  color: var(--text);
}
