/* v3: image wrapper margin creates space ABOVE the head without moving the badge */
@media (max-width: 576px){
  .hero-section .nm-hero-media{ margin-top: 16vw; } /* adjust 14–20vw to taste */
}

/* Make sure badge is pinned to true top-right of the column and above image */
.hero-section .nm-phone-badge{
  position: absolute; top: .6rem; right: .6rem; z-index: 70 !important;
  max-width: 88vw; white-space: normal; line-height: 1.1;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.hero-section .nm-phone-badge .nm-phone-text{ display:inline-block; overflow-wrap:anywhere; word-break:break-word; }
@media (max-width: 380px){
  .hero-section .nm-phone-badge{ font-size: .85rem; max-width: 72vw; }
}
.nm-phone-badge[aria-disabled="true"] { display: none !important; }

/* Keep general wrap guards and no horizontal scroll */
.hero-section h1, .hero-section p, .nm-cta-note { overflow-wrap:anywhere; word-wrap:break-word; hyphens:auto; }
.hero-section .d-flex .btn { white-space: normal; }
@media (max-width: 576px){
  .hero-section h1 { font-size: clamp(1.6rem, 7vw, 2.2rem); line-height: 1.2; }
  .hero-section .btn { width: 100%; }
}
html, body { max-width: 100%; overflow-x: hidden; }
