/*
 * Uniform title rhythm for all content pages.
 * The homepage hero (#home) intentionally keeps its own composition.
 */
@media (min-width:981px){
  /* Breadcrumb implementations differed slightly per template; one fixed band
     prevents the hero below it from moving between navigation destinations. */
  html body > .breadcrumbs{
    height:40px!important;
    min-height:40px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    display:flex!important;
    align-items:center!important;
  }

  html body main#inhoud > section.hero:not(#home),
  html body main#inhoud > section.page-hero,
  html body main#inhoud > section.legal-hero{
    padding-top:72px!important;
    padding-bottom:72px!important;
  }

  /* Pages without a breadcrumb strip receive the same visual title baseline. */
  html body > header + main#inhoud > section.hero:not(#home),
  html body > header + main#inhoud > section.page-hero,
  html body > header + main#inhoud > section.legal-hero{
    padding-top:112px!important;
  }

  html body main#inhoud > section.hero:not(#home) > .container,
  html body main#inhoud > section.page-hero > .container,
  html body main#inhoud > section.legal-hero > .container{
    width:min(calc(100% - 48px),1120px)!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body main#inhoud > section.page-hero > .container.page-hero-grid{
    justify-content:space-between!important;
  }

  /* Laat tekst en visual op hetzelfde vaste startpunt beginnen. Voorheen werd
     de tekst per template verticaal gecentreerd naast een wisselend hoge visual,
     waardoor titels op brede schermen leken te verspringen. */
  html body main#inhoud > section.hero:not(#home) > .container.hero-grid,
  html body main#inhoud > section.page-hero > .container.page-hero-grid,
  html body main#inhoud > section.legal-hero > .container.partner-hero-grid{
    align-items:start!important;
  }

  html body main#inhoud > section.page-hero .page-hero-copy{
    margin-left:0!important;
    padding-left:0!important;
  }

  html body main#inhoud > section.hero:not(#home) .eyebrow,
  html body main#inhoud > section.page-hero .eyebrow,
  html body main#inhoud > section.legal-hero .eyebrow{
    display:block!important;
    margin:0 0 14px!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
  }

  html body main#inhoud > section.hero:not(#home) h1,
  html body main#inhoud > section.page-hero h1,
  html body main#inhoud > section.legal-hero h1{
    margin:0 0 20px!important;
    max-width:780px!important;
    font-size:clamp(46px,4.3vw,60px)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
  }
}

@media (min-width:1700px){
  html body main#inhoud > section.hero:not(#home) > .container,
  html body main#inhoud > section.page-hero > .container,
  html body main#inhoud > section.legal-hero > .container{
    width:calc(100% - 112px)!important;
    max-width:1480px!important;
  }

  html body main#inhoud > section.hero:not(#home) > .container.hero-grid,
  html body main#inhoud > section.page-hero > .container.page-hero-grid{
    justify-content:space-between!important;
  }
}

@media (min-width:2200px){
  html body main#inhoud > section.hero:not(#home) > .container,
  html body main#inhoud > section.page-hero > .container,
  html body main#inhoud > section.legal-hero > .container{
    width:calc(100% - 160px)!important;
    max-width:1600px!important;
  }
}

@media (max-width:980px){
  html body main#inhoud > section.hero:not(#home),
  html body main#inhoud > section.page-hero,
  html body main#inhoud > section.legal-hero{
    padding-top:42px!important;
  }

  /* Pagina's zonder kruimelpad houden dezelfde titelbaseline. */
  html body > header + main#inhoud > section.hero:not(#home),
  html body > header + main#inhoud > section.page-hero,
  html body > header + main#inhoud > section.legal-hero{
    padding-top:75px!important;
  }

  /* Eén vaste mobiele zijmarge voorkomt dat paginatitels en hero-inhoud
     per template enkele pixels verspringen. */
  html body main#inhoud > section.hero:not(#home) > .container,
  html body main#inhoud > section.page-hero > .container,
  html body main#inhoud > section.legal-hero > .container{
    width:calc(100% - 32px)!important;
    max-width:calc(100% - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  html body main#inhoud > section.hero:not(#home) .eyebrow,
  html body main#inhoud > section.page-hero .eyebrow,
  html body main#inhoud > section.legal-hero .eyebrow{
    display:block!important;
    margin:0 0 12px!important;
  }

  html body main#inhoud > section.hero:not(#home) h1,
  html body main#inhoud > section.page-hero h1,
  html body main#inhoud > section.legal-hero h1{
    margin-top:0!important;
    margin-bottom:18px!important;
    line-height:1.06!important;
  }
}
