/* V42: user-requested fine polish only. */

/* Services section heading: fixed two-line phrase. */
.v42-support-heading > span{display:block}

@media (max-width:720px){
  /* Give support cards enough real text width; avoid title/body overflow. */
  .v36-support-grid{gap:10px}
  .v36-support-card{box-sizing:border-box;min-width:0;overflow:hidden}
  .v36-support-card > div{min-width:0;width:100%}
  .v36-support-card h3{overflow-wrap:normal;word-break:keep-all;line-break:strict}
  .v36-support-card p{overflow-wrap:anywhere;word-break:normal;line-break:strict}

  /* Contact CTA: exactly two heading lines on phones. */
  .v36-contact-inner{width:calc(100% - 16px)!important;max-width:none!important;padding:18px 12px!important;box-sizing:border-box}
  .v36-contact-inner h2{font-size:20px!important;line-height:1.4!important;letter-spacing:-.02em}
  .v36-contact-inner h2 > span{display:block;white-space:nowrap}
  .v36-contact-inner .v42-contact-line2{white-space:nowrap}
}

@media (max-width:380px){
  /* 360px: readability takes priority over forcing a two-column card grid. */
  .v36-support-grid{grid-template-columns:1fr!important;gap:8px!important}
  .v36-support-card{min-height:88px!important;padding:11px 14px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;text-align:left!important}
  .v36-support-card h3{font-size:15px!important;white-space:normal!important}
  .v36-support-card p{font-size:14px!important}
  .v36-icon svg{width:34px!important;height:34px!important}
}

/* About: only contain the final CTA at narrow widths; keep V39 design intact. */
@media (max-width:430px){
  .v39-about-page .v39-contact-card{width:calc(100% - 8px);margin-inline:auto;box-sizing:border-box}
  .v39-about-page .v39-contact-copy h2{overflow-wrap:normal;word-break:keep-all;line-break:strict}
}

/* Final V42 phone card layout: retain two columns, but stack icon/text within each card so copy has full width. */
@media (max-width:430px){
  .brand-mark-image,.v16-brand-mark-image{width:28px!important;height:28px!important;flex-basis:28px!important}
  .v36-brand .brand-mark-image{width:28px!important;height:28px!important;flex-basis:28px!important}

  .v36-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .v36-support-card{
    min-height:148px!important;
    padding:12px 8px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    text-align:center!important;
  }
  .v36-support-card > div{width:100%!important;min-width:0!important}
  .v36-icon{margin:0 0 6px!important;height:34px!important}
  .v36-icon svg{width:32px!important;height:32px!important}
  .v36-support-card h3{font-size:14px!important;line-height:1.35!important;margin:0 0 5px!important;white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important}
  .v36-support-card p{font-size:13px!important;line-height:1.45!important;overflow-wrap:normal!important;word-break:normal!important}

  /* About: keep the hero and final CTA on intentional two-line headings at 360px. */
  .v39-about-page .v39-hero h1{font-size:28px!important;line-height:1.38!important}
  .v39-about-page .v39-hero h1 span{white-space:nowrap!important}
  .v39-about-page .v39-contact-copy h2{font-size:20px!important;line-height:1.45!important;letter-spacing:-.02em!important}
  .v39-about-page .v39-contact-copy h2 > span{white-space:nowrap!important}
}
