/* NBC v6.451 — Hero Typography & Width Consistency
   Reference: ueber.html / founder hero.
   Scope: hero typography, copy width, desktop split ratio and vertical rhythm only.
   Visual assets/art-direction remain untouched. */

:root{
  --nbc-hero-ref-title-size:clamp(54px,4.8vw,68px);
  --nbc-hero-ref-title-line:.98;
  --nbc-hero-ref-title-track:-.05em;
  --nbc-hero-ref-lead-size:clamp(25px,2.45vw,38px);
  --nbc-hero-ref-lead-line:1.08;
  --nbc-hero-ref-lead-track:-.04em;
  --nbc-hero-ref-copy-max:1072px;
  --nbc-hero-ref-gap:clamp(48px,6vw,92px);
  --nbc-hero-ref-top:clamp(132px,9vw,154px);
  --nbc-hero-ref-bottom:clamp(68px,5vw,84px);
}

@media (min-width:1024px){
  [data-hero-unified="v6451"]{
    padding-top:var(--nbc-hero-ref-top)!important;
    padding-bottom:var(--nbc-hero-ref-bottom)!important;
    max-height:none!important;
  }

  [data-hero-unified="v6451"] .nbc-unified-hero-title{
    width:auto!important;
    max-width:100%!important;
    margin-block:12px 0!important;
    font-family:Archivo,-apple-system,"Segoe UI",system-ui,sans-serif!important;
    font-size:var(--nbc-hero-ref-title-size)!important;
    font-weight:800!important;
    line-height:var(--nbc-hero-ref-title-line)!important;
    letter-spacing:var(--nbc-hero-ref-title-track)!important;
    text-wrap:wrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    hyphens:none!important;
  }

  [data-hero-unified="v6451"] .nbc-unified-hero-lead{
    width:auto!important;
    max-width:100%!important;
    margin:30px 0 0!important;
    font-family:Archivo,-apple-system,"Segoe UI",system-ui,sans-serif!important;
    font-size:var(--nbc-hero-ref-lead-size)!important;
    font-weight:400!important;
    line-height:var(--nbc-hero-ref-lead-line)!important;
    letter-spacing:var(--nbc-hero-ref-lead-track)!important;
    color:rgb(201,203,197)!important;
    text-wrap:pretty!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    hyphens:none!important;
  }

  /* One-column heroes use the same effective copy width as the founder hero. */
  [data-hero-unified="v6451"][data-hero-layout="single"] .nbc-unified-hero-title,
  [data-hero-unified="v6451"][data-hero-layout="single"] .nbc-unified-hero-lead{
    max-width:min(60vw,var(--nbc-hero-ref-copy-max))!important;
  }

  /* Founder split: 1.25fr / .60fr. This reproduces the ueber.html copy width. */
  [data-hero-unified="v6451"] :is(
    .nbc-about-hero-grid,
    .nbc-contact-hero-grid,
    .nbc-service-hero-grid,
    .ep-hero-grid,
    .nbc-hub-hero-grid,
    .case-dossier-hero-grid,
    .evidence-library-hero-grid,
    .nbc-diagnose-hero-grid,
    .km-hero-grid,
    .local-hero-grid,
    .knowledge-hub-direct-hero__grid,
    .dc7-entry__layout
  ){
    grid-template-columns:minmax(0,1.25fr) minmax(360px,.6fr)!important;
    column-gap:var(--nbc-hero-ref-gap)!important;
    row-gap:var(--nbc-hero-ref-gap)!important;
    align-items:center!important;
  }

  /* Two hero families use the hero root itself as the split grid. */
  [data-hero-unified="v6451"].guide-editorial-hero,
  [data-hero-unified="v6451"].oml-hero{
    padding-inline:0!important;
    grid-template-columns:minmax(0,1.25fr) minmax(360px,.6fr)!important;
    gap:var(--nbc-hero-ref-gap)!important;
    align-items:center!important;
  }

  [data-hero-unified="v6451"] .nbc-unified-hero-title.title-fit-longword{
    -webkit-hyphens:manual!important;
    hyphens:manual!important;
  }

  [data-hero-unified="v6451"] :is(.nbc-hero-actions,.hero-actions,.ac-actions){
    margin-top:30px!important;
  }
}

/* Existing mobile art direction remains the source of truth. Only prevent
   forced title-width restrictions from older desktop title-fit rules. */
@media (max-width:1023px){
  [data-hero-unified="v6451"] .nbc-unified-hero-title{
    max-width:100%!important;
  }
}
