/* Phrase grouping is inline on desktop, and becomes a wrap unit on mobile. */
@media (max-width: 760px) {
  #hinata-housecleaning .hc-phrase {
    display: inline-block;
    max-width: 100%;
    vertical-align: baseline;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    line-break: strict;
    text-wrap: balance;
  }

  #hinata-housecleaning .hc-wrap-copy {
    word-break: normal;
    line-break: strict;
    text-wrap: balance;
  }

  #hinata-housecleaning .hc-wrap-heading {
    font-size: clamp(1.375rem, 6.7vw, 1.75rem);
    line-height: 1.7;
    letter-spacing: 0;
    text-wrap: balance;
  }

  #hinata-housecleaning .section-heading h2.hc-mobile-lines,
  #hinata-housecleaning .detail-maintenance h2.hc-mobile-lines {
    font-size: clamp(1.375rem, 6.7vw, 1.75rem);
    line-height: 1.7;
    letter-spacing: 0;
  }

  #hinata-housecleaning .hc-mobile-lines .hc-phrase {
    display: block;
  }

  #hinata-housecleaning .detail-scope-card .hc-wrap-copy,
  #hinata-housecleaning .detail-maintenance .hc-wrap-copy,
  #hinata-housecleaning .detail-hero-description.hc-wrap-copy,
  #hinata-housecleaning .detail-service-notice .hc-wrap-copy,
  #hinata-housecleaning .detail-range-description.hc-wrap-copy {
    text-wrap: wrap;
  }

  #hinata-housecleaning .contact h2.hc-contact-heading {
    font-size: clamp(1.375rem, 6.7vw, 1.75rem);
    line-height: 1.7;
    letter-spacing: 0;
  }

  #hinata-housecleaning .contact h2.hc-contact-heading .hc-phrase {
    display: block;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  #hinata-housecleaning .hc-desktop-break {
    display: none;
  }

  /* Large accessibility text may wrap inside a unit instead of overflowing. */
  #hinata-housecleaning .hero h1 > span {
    white-space: normal;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
}

/* Refrigerator: preserve words and question endings within narrow panels. */
@media (max-width: 760px) {
  #hinata-housecleaning .hc-refrigerator .section-heading h2.hc-wrap-heading {
    font-size: clamp(1.375rem, 6.7vw, 1.75rem);
    line-height: 1.7;
    letter-spacing: 0;
  }

  #hinata-housecleaning .hc-refrigerator .faq-trigger > span:nth-child(2) {
    min-width: 0;
    text-wrap: wrap;
  }

  #hinata-housecleaning .hc-refrigerator .detail-pricing-advice .hc-phrase {
    display: block;
  }

  #hinata-housecleaning .hc-refrigerator .detail-pricing-advice .detail-bundle-description .hc-phrase {
    display: inline-block;
  }

  #hinata-housecleaning .hc-refrigerator .faq-answer,
  #hinata-housecleaning .hc-refrigerator .detail-bundle-description {
    text-wrap: wrap;
  }
}

/* Windows: wrap between phrases instead of splitting nouns and verb endings. */
@media (max-width: 760px) {
  #hinata-housecleaning .hc-windows .section-heading h2.hc-wrap-heading {
    font-size: clamp(1.375rem, 6.7vw, 1.75rem);
    line-height: 1.7;
    letter-spacing: 0;
  }

  #hinata-housecleaning .hc-windows .hc-wrap-copy,
  #hinata-housecleaning .hc-windows .faq-trigger > span:nth-child(2) {
    text-wrap: wrap;
  }

  #hinata-housecleaning .hc-windows .faq-trigger > span:nth-child(2) {
    min-width: 0;
  }
}

/* A single readable column on phones; wider screens retain their card grid. */
@media (max-width: 600px) {
  #hinata-housecleaning .detail-scope-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  #hinata-housecleaning .detail-scope-card,
  #hinata-housecleaning .detail-scope-card:last-child:nth-child(odd) {
    display: flex;
    flex-direction: column;
    grid-column: auto;
    padding: 20px 12px;
    gap: 0;
    min-width: 0;
  }

  #hinata-housecleaning .detail-scope-top,
  #hinata-housecleaning .detail-scope-card:last-child:nth-child(odd) .detail-scope-top {
    flex-direction: row;
    align-self: auto;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 14px;
  }

  #hinata-housecleaning .detail-scope-card p {
    margin-bottom: 20px;
  }

  #hinata-housecleaning .detail-scope-link,
  #hinata-housecleaning .detail-scope-card:last-child:nth-child(odd) .detail-scope-link {
    justify-content: space-between;
    gap: 12px;
  }
}
