/**
 * Smiles To Miles — centralized public header lockup.
 * Loaded once from head.php after the core public design system.
 * Keep visual hierarchy, wordmark width and company-name alignment here.
 */
:root{
  --stm-header-brand-width:clamp(18.5rem,25vw,21.5rem);
  --stm-header-wordmark-size:clamp(2rem,2.7vw,2.45rem);
  --stm-header-company-size:clamp(.92rem,1.1vw,1.08rem);
  --stm-header-company-tracking:.018em;
  --stm-header-lockup-gap:.38rem;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:var(--stm-header-brand-width)!important;
  min-width:0!important;
  gap:0!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > [data-stm-brand-name]{
  display:block!important;
  width:100%!important;
  margin:0!important;
  font-size:var(--stm-header-wordmark-size)!important;
  line-height:.98!important;
  white-space:nowrap!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > .stm-brand-subline{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  margin:var(--stm-header-lockup-gap) 0 0!important;
  padding:0!important;
  gap:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  font-size:var(--stm-header-company-size)!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:var(--stm-header-company-tracking)!important;
  text-transform:uppercase!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > .stm-brand-subline > span{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:start!important;
}

@media (max-width: 760px){
  :root{
    --stm-header-brand-width:min(18.75rem,calc(100vw - 8.25rem));
    --stm-header-wordmark-size:clamp(1.78rem,6vw,2.15rem);
    --stm-header-company-size:clamp(.82rem,2.45vw,.95rem);
    --stm-header-lockup-gap:.3rem;
  }
}

@media (max-width: 430px){
  :root{
    --stm-header-brand-width:min(16rem,calc(100vw - 6.75rem));
    --stm-header-wordmark-size:clamp(1.52rem,7.2vw,1.85rem);
    --stm-header-company-size:clamp(.7rem,2.8vw,.82rem);
  }
}/**
 * Smiles To Miles — single source of truth for the public header lockup.
 * The subtitle is deliberately constrained to the exact wordmark measure.
 */
:root{
  --stm-header-lockup-width:clamp(18.5rem,25vw,21.5rem);
  --stm-header-wordmark-size:clamp(2rem,2.7vw,2.45rem);
  --stm-header-company-size:clamp(.92rem,1.1vw,1.08rem);
  --stm-header-company-tracking:.018em;
  --stm-header-lockup-gap:.38rem;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy{
  display:block!important;
  box-sizing:border-box!important;
  inline-size:var(--stm-header-lockup-width)!important;
  width:var(--stm-header-lockup-width)!important;
  min-inline-size:var(--stm-header-lockup-width)!important;
  max-inline-size:var(--stm-header-lockup-width)!important;
  flex:0 0 var(--stm-header-lockup-width)!important;
  margin:0!important;
  padding:0!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > [data-stm-brand-name],
html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > .stm-brand-subline{
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > [data-stm-brand-name]{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:var(--stm-header-wordmark-size)!important;
  line-height:.98!important;
  white-space:nowrap!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > .stm-brand-subline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:var(--stm-header-lockup-gap) 0 0!important;
  padding:0!important;
  gap:0!important;
  font-size:var(--stm-header-company-size)!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:var(--stm-header-company-tracking)!important;
  text-transform:uppercase!important;
}

html body #stmPublicHeader.stm-header-v4311 .stm-brand-copy > .stm-brand-subline > span{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:start!important;
}

@media (max-width:760px){
  :root{
    --stm-header-lockup-width:min(18.75rem,calc(100vw - 8.25rem));
    --stm-header-wordmark-size:clamp(1.78rem,6vw,2.15rem);
    --stm-header-company-size:clamp(.82rem,2.45vw,.95rem);
    --stm-header-lockup-gap:.3rem;
  }
}
@media (max-width:430px){
  :root{
    --stm-header-lockup-width:min(16rem,calc(100vw - 6.75rem));
    --stm-header-wordmark-size:clamp(1.52rem,7.2vw,1.85rem);
    --stm-header-company-size:clamp(.7rem,2.8vw,.82rem);
  }
}/**
 * Smiles To Miles — single source of truth for the public header lockup.
 * The subtitle is deliberately constrained to the exact wordmark measure.
 */
:root{
  --stm-header-lockup-width:clamp(18.5rem,25vw,21.5rem);
  --stm-header-wordmark-size:clamp(2rem,2.7vw,2.45rem);
  --stm-header-company-size:clamp(.92rem,1.1vw,1.08rem);
  --stm-header-company-tracking:.018em;
  --stm-header-lockup-gap:.38rem;
}

html body .stm-public-header .stm-brand-copy{
  display:block!important;
  box-sizing:border-box!important;
  inline-size:var(--stm-header-lockup-width)!important;
  width:var(--stm-header-lockup-width)!important;
  min-inline-size:var(--stm-header-lockup-width)!important;
  max-inline-size:var(--stm-header-lockup-width)!important;
  flex:0 0 var(--stm-header-lockup-width)!important;
  margin:0!important;
  padding:0!important;
}

html body .stm-public-header .stm-brand-copy > [data-stm-brand-name],
html body .stm-public-header .stm-brand-copy > .stm-brand-subline{
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
}

html body .stm-public-header .stm-brand-copy > [data-stm-brand-name]{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:var(--stm-header-wordmark-size)!important;
  line-height:.98!important;
  white-space:nowrap!important;
}

html body .stm-public-header .stm-brand-copy > .stm-brand-subline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:var(--stm-header-lockup-gap) 0 0!important;
  padding:0!important;
  gap:0!important;
  font-size:var(--stm-header-company-size)!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:var(--stm-header-company-tracking)!important;
  text-transform:uppercase!important;
}

html body .stm-public-header .stm-brand-copy > .stm-brand-subline > span{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:start!important;
}

@media (max-width:760px){
  :root{
    --stm-header-lockup-width:min(18.75rem,calc(100vw - 8.25rem));
    --stm-header-wordmark-size:clamp(1.78rem,6vw,2.15rem);
    --stm-header-company-size:clamp(.82rem,2.45vw,.95rem);
    --stm-header-lockup-gap:.3rem;
  }
}
@media (max-width:430px){
  :root{
    --stm-header-lockup-width:min(16rem,calc(100vw - 6.75rem));
    --stm-header-wordmark-size:clamp(1.52rem,7.2vw,1.85rem);
    --stm-header-company-size:clamp(.7rem,2.8vw,.82rem);
  }
}  

/* Final lockup authority: the company line must never inherit header-width grids. */
html body #stmPublicHeader.stm-public-header .stm-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  inline-size:var(--stm-header-lockup-width)!important;
  width:var(--stm-header-lockup-width)!important;
  min-width:var(--stm-header-lockup-width)!important;
  max-width:var(--stm-header-lockup-width)!important;
  flex:0 0 var(--stm-header-lockup-width)!important;
}
html body #stmPublicHeader.stm-public-header .stm-brand-copy > [data-stm-brand-name]{
  display:block!important;
  inline-size:100%!important;
  width:100%!important;
}
html body #stmPublicHeader.stm-public-header .stm-brand-copy > .stm-brand-subline{
  display:grid!important;
  grid-template-columns:max-content max-content max-content!important;
  align-items:center!important;
  justify-content:space-between!important;
  inline-size:100%!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:var(--stm-header-lockup-gap) 0 0!important;
  padding:0!important;
}
html body #stmPublicHeader.stm-public-header .stm-brand-copy > .stm-brand-subline > *{
  position:static!important;
  justify-self:auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
