/*! NBC v7.071 · Hero family: typography safety; no content or color replacement.
 * First after width owner. Keep individual page visual identities and functional tools.
 */
@layer nbc-hero-family {
  h1[data-hero-type] {
    width:100%!important;max-width:100%!important;min-width:0!important;
    height:auto!important;max-height:none!important;
    white-space:normal!important;word-break:normal!important;
    overflow-wrap:anywhere!important;hyphens:manual!important;text-wrap:pretty!important;
    line-height:1.08!important;letter-spacing:-.035em!important;
    font-size:clamp(2.5rem,4.6vw,4.75rem)!important;
  }
  h1[data-hero-length="long"] {font-size:clamp(2.375rem,4.1vw,4.25rem)!important;}
  h1[data-hero-type="article"] {font-size:clamp(2.5rem,5vw,5rem)!important;}
  h1[data-hero-type]>:is(span,em,strong) {
    max-width:100%!important;white-space:normal!important;
    line-height:inherit!important;overflow-wrap:anywhere!important;
  }
  /* Shared service figures stay open on the ambient canvas. The diagram itself
     retains its meaningful internal rails, nodes and decision boundary. */
  body.page-service .nbc-service-hero-grid>.nbc-hero-artifact {
    min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  }
  body.page-service .nbc-service-hero-grid>.nbc-hero-artifact>figcaption {
    white-space:normal!important;font-size:.75rem!important;line-height:1.55!important;
  }
  :is(.ep-hero-grid,.case2-hero-grid,.dg3-hero-grid,.local-hero-grid,.nbc-service-hero-grid,.nbc-about-hero-grid)>* {min-width:0!important;}
  :is(.service-hero-copy,.local-hero-copy,.ep-hero-copy) :is(.hero-actions,.local-hero-actions) {
    display:flex!important;flex-wrap:wrap!important;gap:1rem 1.5rem!important;align-items:center!important;
  }
  :is(.service-hero-copy,.local-hero-copy) :is(.btn,.nbc-hero-secondary-link) {
    max-width:100%!important;white-space:normal!important;line-height:1.4!important;
  }
  .service-hero-proofline {min-width:0!important;max-width:100%!important;}
  .service-hero-proofline>* {min-width:0!important;white-space:normal!important;}
  @media(max-width:1100px) {
    h1[data-hero-type] {font-size:clamp(2.25rem,5.5vw,3.75rem)!important;line-height:1.1!important;}
  }
  @media(max-width:760px) {
    h1[data-hero-type] {font-size:clamp(2rem,8.5vw,2.875rem)!important;letter-spacing:-.025em!important;}
    h1[data-hero-length="long"] {font-size:clamp(1.875rem,8vw,2.625rem)!important;}
    h1[data-hero-type]>:is(span,em,strong) {font-size:inherit!important;}
    :is(.service-hero-copy,.local-hero-copy) :is(.hero-actions,.local-hero-actions) {align-items:flex-start!important;}
    :is(.service-hero-copy,.local-hero-copy) .btn {width:100%!important;box-sizing:border-box!important;}
    .sh-outcome {overflow-wrap:anywhere!important;}
  }
}
