/* Revision 28: calmer typography and a shorter, benefit-led conversion close. */
:root {
  --font-display: Instrument, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
.brand-name,
.service-tabs button,
.service-image-word,
.service-price,
.finish-heading > p:last-child,
.dialog-price {
  font-family: var(--font-display) !important;
  font-weight: 600;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.eyebrow,
.section-label,
.small-label {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.11em;
}

.button,
.header-cta {
  font-family: var(--font-body);
  font-weight: 750;
  letter-spacing: -0.01em;
}

.cleaning-plan {
  padding-block: clamp(76px, 10vw, 148px);
}

.cleaning-plan-inner {
  gap: clamp(34px, 7vw, 120px);
}

.plan-head .eyebrow {
  max-width: 32ch;
}

.cleaning-plan h2 {
  max-width: 12ch;
  font-family: var(--font-display) !important;
  font-size: clamp(3.3rem, 7.3vw, 7.2rem);
  line-height: 0.93;
  letter-spacing: -0.055em;
}

.cleaning-plan h2 span {
  color: var(--accent-blue);
}

.cleaning-plan-offer > p {
  max-width: 34ch;
  font-size: clamp(1.02rem, 1.5vw, 1.28rem);
  line-height: 1.45;
  margin-bottom: 24px;
}

.plan-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.plan-points li {
  display: grid;
  gap: 7px;
  min-height: 60px;
  padding-top: 10px;
  border-top: 1px solid #ffffff2a;
  color: #b9c8c7;
  font-size: 0.78rem;
  line-height: 1.35;
}

.plan-points li > span {
  color: var(--accent-blue);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  font-variant-numeric: tabular-nums;
}

.plan-price {
  margin-bottom: 22px;
}

.cleaning-contact {
  padding-block: clamp(80px, 12vw, 170px) 100px;
}

.cleaning-contact h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(3.35rem, 6.1vw, 6.8rem);
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.closing-cta > p:first-child {
  max-width: 30ch;
  font-size: clamp(1.12rem, 1.8vw, 1.48rem);
  line-height: 1.4;
}

.closing-actions {
  gap: 12px;
}

.closing-actions .button {
  min-width: min(100%, 220px);
}

@media (max-width: 720px) {
  .cleaning-plan {
    padding-block: 72px 82px;
  }

  .cleaning-plan h2 {
    max-width: 11ch;
    font-size: clamp(3.25rem, 16vw, 5.8rem);
  }

  .plan-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 11px;
    margin-bottom: 25px;
  }

  .plan-points li:last-child {
    grid-column: 1 / -1;
  }

  .cleaning-contact {
    padding-block: 76px 82px;
  }

  .cleaning-contact h2 {
    font-size: clamp(3rem, 12vw, 4.8rem);
  }

  .closing-cta > p:first-child {
    max-width: 27ch;
    font-size: 1.08rem;
  }

  .closing-actions .button {
    min-width: 0;
  }
}

@media (max-width: 370px) {
  .cleaning-plan h2 {
    font-size: 3rem;
  }

  .plan-points li {
    font-size: 0.74rem;
  }
}
