/* LUXFF public page hero contract
 * One visual axis and one typography rhythm for all standard public pages.
 * Home remains intentionally outside this contract.
 */

:root{
  --luxff-hero-pad-y:clamp(3.5rem,6vw,5.5rem);
  --luxff-hero-title:clamp(2rem,3.8vw,3.5rem);
  --luxff-hero-lead:clamp(1.05rem,1.5vw,1.3rem);
  --luxff-hero-content:1240px;
}

/* Native editorial heroes: Agenda, Contact, Membership, Franchises, etc. */
main > .page-hero{
  padding:var(--luxff-hero-pad-y) 0!important;
  min-height:0!important;
  background:var(--luxfa-dark,#003A59)!important;
  border-bottom:0!important;
}
main > .page-hero > .editorial-container{
  width:min(var(--luxff-hero-content),calc(100% - 3rem))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
main > .page-hero .editorial-kicker{
  margin:0 0 1.15rem!important;
}
main > .page-hero .editorial-title{
  max-width:980px!important;
  margin:0!important;
  font-size:var(--luxff-hero-title)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
}
main > .page-hero .editorial-lead{
  max-width:760px!important;
  margin-top:1.75rem!important;
  font-size:var(--luxff-hero-lead)!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.84)!important;
}

/* Legacy wave heroes: About, Franchising, Support, News and similar pages.
 * Normalize them to the same axis/rhythm without rewriting page content.
 */
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom){
  padding:var(--luxff-hero-pad-y) 0!important;
  min-height:0!important;
  background:var(--luxfa-dark,#003A59)!important;
  border-bottom:0!important;
}
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) > div:not(.absolute):not(.wave-bottom){
  width:min(var(--luxff-hero-content),calc(100% - 3rem))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding:0!important;
}
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) > .absolute,
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) > .wave-bottom,
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) .h-1.bg-luxfa-red{
  display:none!important;
}
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) h1{
  max-width:980px!important;
  margin:0!important;
  font-size:var(--luxff-hero-title)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
}
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) h1 + div + p,
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) h1 + p{
  max-width:760px!important;
  margin-top:1.75rem!important;
  margin-bottom:0!important;
  font-size:var(--luxff-hero-lead)!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.84)!important;
}
body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) span.text-luxfa-red{
  margin-bottom:1.15rem!important;
  color:rgba(255,255,255,.78)!important;
}

@media(max-width:900px){
  main > .page-hero > .editorial-container,
  body:not(.page-home) main > section:first-of-type:has(> .wave-bottom) > div:not(.absolute):not(.wave-bottom){
    width:min(100% - 2rem,var(--luxff-hero-content))!important;
  }
}
