/*
 * First Light 0.5.191 global typography and rhythm authority.
 *
 * One semantic type scale is used everywhere. Context may change color and
 * alignment, never the size assigned to a semantic level.
 */
:root{
  --fls-type-h1:64px;
  --fls-type-h2:48px;
  --fls-type-h3:32px;
  --fls-type-h4:24px;
  --fls-type-h5:20px;
  --fls-type-h6:18px;
  --fls-type-body:18px;
  --fls-type-eyebrow:12px;
  --fls-line-h1:1.02;
  --fls-line-h2:1.08;
  --fls-line-h3:1.12;
  --fls-line-h4:1.20;
  --fls-line-h5:1.30;
  --fls-line-h6:1.35;
  --fls-line-body:1.65;
  --fls-line-eyebrow:1.35;
  --fls-space-hero-y:72px;
  --fls-space-section-y:72px;
  --fls-space-h1-bottom:24px;
  --fls-space-h2-bottom:20px;
  --fls-space-h3-bottom:16px;
  --fls-space-heading-bottom:12px;
  --fls-space-eyebrow-bottom:12px;
  --fls-space-actions-top:28px;
}

/* Semantic scale. */
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h1{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h1)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h1)!important;
  letter-spacing:-.025em!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-h1-bottom)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h2{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h2)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h2)!important;
  letter-spacing:-.022em!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-h2-bottom)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h3{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h3)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h3)!important;
  letter-spacing:-.018em!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-h3-bottom)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h4{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h4)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h4)!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-heading-bottom)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h5{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h5)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h5)!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-heading-bottom)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main) h6{
  font-family:var(--fls-display-font,"Lusitana",serif)!important;
  font-size:var(--fls-type-h6)!important;
  font-weight:400!important;
  line-height:var(--fls-line-h6)!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-heading-bottom)!important;
}

/* All ordinary reading copy uses one body scale. */
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main)
  :is(p,li,.fls-stack-copy,.fls-stack-editable,.fls-functional-custom,.fls-functional-detail,.pp-infobox-description){
  font-family:var(--fls-support-font,"Open Sans",sans-serif)!important;
  font-size:var(--fls-type-body)!important;
  font-weight:400!important;
  line-height:var(--fls-line-body)!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main)
  :is(.fls-stack-copy,.fls-stack-editable,.fls-functional-custom,.fls-functional-detail) p{
  margin-top:0!important;
  margin-bottom:1em!important;
}

/* Eyebrows are a separate semantic role, also one scale. */
html body.fls-type-rhythm-05191:not(.wp-admin) :is(.fl-page-content,.fl-builder-content-primary,main)
  :is(.fls-stack-kicker:not(.fls-stack-kicker-heading),.pp-infobox-title-prefix,.fls-news-eyebrow,.fls-news-kicker){
  font-family:var(--fls-support-font,"Open Sans",sans-serif)!important;
  font-size:var(--fls-type-eyebrow)!important;
  font-weight:700!important;
  line-height:var(--fls-line-eyebrow)!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  margin-top:0!important;
  margin-bottom:var(--fls-space-eyebrow-bottom)!important;
}

/* The First Light stack itself carries no extra typography padding. Rows own rhythm. */
html body.fls-type-rhythm-05191:not(.wp-admin):not(.home) .fls-hero{
  min-height:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
html body.fls-type-rhythm-05191:not(.wp-admin) .fls-hero .fls-stack-actions{
  gap:14px!important;
  margin-top:var(--fls-space-actions-top)!important;
}

/* Row padding and minimum height are owned by Beaver Builder.
 * Do not impose them from the global type layer. */

/* Light second-level heroes: dark accessible type. The row color itself stays in Beaver. */
html body.fls-type-rhythm-05191.fls-second-level-hero-05191:not(.wp-admin)
  .fls-v0558-hero-row .fls-hero,
html body.fls-type-rhythm-05191.fls-second-level-hero-05191:not(.wp-admin)
  .fls-ref-simple-hero-module .fls-hero{
  --fls-kicker-color:#4D67AF;
  --fls-heading-color:#0B1644;
  --fls-body-color:#243150;
  --fls-primary-color:#0B1644;
  --fls-primary-background-color:#EF8394;
  --fls-primary-border-color:#EF8394;
  --fls-secondary-color:#0B1644;
  --fls-secondary-background-color:transparent;
  --fls-secondary-border-color:#0B1644;
}

/* Root text-only dark heroes need an accessible surface treatment.
 * The five photographic top-level heroes keep their existing colors/buttons. */
html body.fls-type-rhythm-05191.fls-layout-preserve-hero.fls-reference-interior:not(.wp-admin)
  .fls-ref-simple-hero-module .fls-hero{
  --fls-kicker-color:#EF8394!important;
  --fls-heading-color:#FFFFFF!important;
  --fls-body-color:#FFFFFF!important;
  --fls-primary-color:#0B1644!important;
  --fls-primary-background-color:#EF8394!important;
  --fls-primary-border-color:#EF8394!important;
  --fls-secondary-color:#FFFFFF!important;
  --fls-secondary-background-color:transparent!important;
  --fls-secondary-border-color:#FFFFFF!important;
}

/* Dark content surfaces keep the same sizes, only the foreground changes. */
html body.fls-type-rhythm-05191:not(.wp-admin) :is(
  .fls-ref-dark,
  .fls-ref-dark--heading,
  .fls98-card--navy,
  .fls-v0558-split-column--right,
  .fls-news-single-header
) :is(h1,h2,h3,h4,h5,h6,.fls-stack-heading,.fls-stack-subheading,.fls-stack-copy,.fls-stack-copy p,.fls-stack-editable,.fls-stack-editable p,p,li){
  color:#FFFFFF!important;
}

/* Light surfaces get the standard First Light foreground. */
html body.fls-type-rhythm-05191:not(.wp-admin) :is(
  .fls-ref-band-pink,
  .fls-ref-band-blue,
  .fls-v0558-body-row,
  .fls98-page-body
) :is(h1,h2,h3,h4,h5,h6){
  color:#0B1644;
}

/* Button contrast on dark heroes. */
html body.fls-type-rhythm-05191:not(.wp-admin)
  .fls-layout-preserve-hero .fls-ref-simple-hero .fls-stack-action-secondary{
  color:#FFFFFF!important;
  background:transparent!important;
  border-color:#FFFFFF!important;
}

/* Keep the sitewide hierarchy identical at each breakpoint. */
@media(max-width:900px){
  :root{
    --fls-type-h1:52px;
    --fls-type-h2:42px;
    --fls-type-h3:30px;
    --fls-space-hero-y:64px;
    --fls-space-section-y:64px;
  }
}
@media(max-width:680px){
  :root{
    --fls-type-h1:44px;
    --fls-type-h2:36px;
    --fls-type-h3:28px;
    --fls-type-h4:22px;
    --fls-type-body:17px;
    --fls-space-hero-y:52px;
    --fls-space-section-y:52px;
  }
}
