
/* BALANCED SITE SHELL
   Header and footer now share the same brand scale and visual proportions. */
:root{
  --tc-brand-width: 132px;
  --tc-brand-pad: 6px;
  --tc-brand-radius: 15px;
  --tc-shell-pad-y: 18px;
}

/* Header */
.site-header{
  min-height:108px!important;
  height:auto!important;
  padding-top:var(--tc-shell-pad-y)!important;
  padding-bottom:var(--tc-shell-pad-y)!important;
  box-sizing:border-box!important;
  align-items:center!important;
}
.site-header .footer-style-header-brand{
  width:auto!important;height:auto!important;flex:0 0 auto!important;
  margin:0!important;padding:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  overflow:visible!important;
}
.site-header .footer-style-header-brand img{
  width:var(--tc-brand-width)!important;
  height:auto!important;
  max-width:var(--tc-brand-width)!important;
  max-height:none!important;
  padding:var(--tc-brand-pad)!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border-radius:var(--tc-brand-radius)!important;
  border:0!important;box-shadow:none!important;filter:none!important;
  object-fit:contain!important;display:block!important;margin:0!important;
}

/* Footer brand area: same logo dimensions and same breathing room */
.site-footer .footer-logo{
  width:var(--tc-brand-width)!important;
  height:auto!important;
  max-width:var(--tc-brand-width)!important;
  max-height:none!important;
  padding:var(--tc-brand-pad)!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border-radius:var(--tc-brand-radius)!important;
  border:0!important;box-shadow:none!important;filter:none!important;
  object-fit:contain!important;display:block!important;
  margin:0 0 14px!important;
}
.site-footer{
  padding-top:var(--tc-shell-pad-y)!important;
  padding-bottom:var(--tc-shell-pad-y)!important;
  box-sizing:border-box!important;
}

/* Keep content from colliding with the balanced shell */
.hero{margin-top:0!important}

@media(max-width:980px){
  :root{--tc-brand-width:118px;--tc-brand-pad:5px;--tc-brand-radius:13px;--tc-shell-pad-y:14px}
  .site-header{min-height:94px!important}
}
@media(max-width:680px){
  :root{--tc-brand-width:102px;--tc-brand-pad:4px;--tc-brand-radius:12px;--tc-shell-pad-y:10px}
  .site-header{min-height:80px!important}
  .site-footer .footer-logo{margin-bottom:10px!important}
}


/* Header brand promise — complements the logo without competing with navigation */
.site-header .header-brand-tagline{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  margin-left:18px;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.28);
  max-width:255px;
  line-height:1.15;
  color:#fff;
  white-space:normal;
}
.site-header .header-brand-tagline strong{
  display:block;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.02em;
  color:#fff;
}
.site-header .header-brand-tagline > span{
  display:block;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  opacity:.78;
  color:#fff;
}
@media(max-width:1100px){
  .site-header .header-brand-tagline{
    max-width:210px;
    margin-left:12px;
    padding-left:12px;
  }
  .site-header .header-brand-tagline strong{font-size:12px;}
  .site-header .header-brand-tagline > span{font-size:11px;}
}
@media(max-width:860px){
  .site-header .header-brand-tagline{display:none!important;}
}


/* Natural header brand lockup: logo + tagline behave as one visual unit */
.site-header .footer-style-header-brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
.site-header .header-brand-tagline{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:center!important;
  gap:1px!important;
  margin:0 0 0 12px!important;
  padding:0 0 0 12px!important;
  border-left:1px solid rgba(255,255,255,.22)!important;
  max-width:225px!important;
  min-width:0!important;
  line-height:1.18!important;
  position:static!important;
  transform:none!important;
  text-align:left!important;
  white-space:normal!important;
}
.site-header .header-brand-tagline strong{
  display:block!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.site-header .header-brand-tagline > span{
  display:block!important;
  margin:2px 0 0!important;
  font-size:11px!important;
  line-height:1.18!important;
  font-weight:500!important;
  opacity:.78!important;
}
@media(max-width:1100px){
  .site-header .header-brand-tagline{
    max-width:185px!important;
    margin-left:9px!important;
    padding-left:9px!important;
  }
  .site-header .header-brand-tagline strong{font-size:11px!important;}
  .site-header .header-brand-tagline > span{font-size:10px!important;}
}
@media(max-width:860px){
  .site-header .header-brand-tagline{display:none!important;}
}


/* Structural fix: logo + tagline are ONE left-side flex item, never a centered sibling */
.site-header .header-brand-group{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.site-header .header-brand-group .footer-style-header-brand{
  flex:0 0 auto!important;
}
.site-header .header-brand-group .header-brand-tagline{
  flex:0 0 auto!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
}
.site-header nav,
.site-header .nav{
  margin-left:auto!important;
}
@media(max-width:860px){
  .site-header .header-brand-group .header-brand-tagline{display:none!important;}
}
