/* Professional typography and logo polish for the Sousa Murray master-brand site. */

/* Keep the transparent brand mark fully visible. */
.sm-header-logo{
  overflow:visible!important;
  min-width:235px!important;
}
.sm-logo{
  width:235px!important;
  height:46px!important;
  max-width:235px!important;
  max-height:46px!important;
  object-fit:contain!important;
  object-position:left center!important;
  overflow:visible!important;
}
.sm-footer-logo-box{overflow:visible!important}
.sm-logo-footer{
  width:220px!important;
  height:44px!important;
  max-width:220px!important;
  max-height:44px!important;
  object-fit:contain!important;
}

/* A calmer, more corporate weight hierarchy. */
.sm-site{font-weight:400!important}
.sm-nav-link{font-weight:600!important}
.sm-account-btn{font-weight:650!important}
.sm-mega-head strong,.sm-mega-item b{font-weight:650!important}

.sm-kicker,.sm-overline,.sm-fact-grid span,.sm-row-number,.sm-steps>div>span,.sm-process-grid article>span{
  font-weight:700!important;
}

.sm-hero h1,.sm-service-hero h1,.sm-page-hero h1{
  font-weight:700!important;
  letter-spacing:-.022em!important;
}
.sm-hero h1{
  max-width:760px!important;
  font-size:clamp(2.25rem,3.65vw,3.45rem)!important;
  line-height:1.08!important;
}
.sm-hero h1 br{display:block!important}

.sm-two-col h2,.sm-section-head h2,.sm-dark-section h2,.sm-cta h2{
  font-weight:650!important;
  font-size:clamp(1.65rem,2.5vw,2.35rem)!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
}

.sm-glass-card>h2{font-weight:650!important}
.sm-facts b,.sm-fact-grid b{font-weight:650!important}
.sm-row-title h3,.sm-steps h3,.sm-process-grid h3,.sm-audience-card h3,.sm-subhead{
  font-weight:600!important;
}

.sm-btn,.sm-inline-links a,.sm-text-link,.sm-section-head>a,.sm-audience-card span{
  font-weight:650!important;
}

.sm-rich-copy,.sm-muted-intro,.sm-row-main p,.sm-steps p,.sm-process-grid p,.sm-audience-card p,.sm-footer-brand p{
  font-weight:400!important;
}

.sm-status{font-weight:650!important}
.sm-footer h3{font-weight:700!important}
.sm-footer a{font-weight:400!important}

/* Preserve the intended dark sections. group-exact-overrides.css applies a light
   background to every .sm-section, so dark sections need a more specific rule. */
.sm-section.sm-dark-section{
  background:#071A38!important;
  color:#fff!important;
}
.sm-section.sm-dark-section .sm-overline{color:#bfdbfe!important}
.sm-section.sm-dark-section h2,
.sm-section.sm-dark-section h3{color:#fff!important}
.sm-section.sm-dark-section p{color:rgba(255,255,255,.72)!important}
.sm-section.sm-dark-section .sm-audience-card{
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.sm-section.sm-dark-section .sm-audience-card p{color:rgba(255,255,255,.64)!important}
.sm-section.sm-dark-section .sm-audience-card span,
.sm-section.sm-dark-section .sm-audience-card>svg{color:#bfdbfe!important}

/* Slightly cleaner spacing to match the corporate site. */
.sm-hero-grid,.sm-service-hero-grid{padding-top:68px!important;padding-bottom:72px!important}
.sm-section{padding-top:54px!important;padding-bottom:62px!important}
.sm-glass-card{border-radius:10px!important}
.sm-btn{border-radius:5px!important}

/* Footer — compact proportions copied from the corporate site's visual rhythm. */
.sm-footer{
  margin:0!important;
  padding:0!important;
  background:#06152E!important;
  color:#fff!important;
  border-top:0!important;
}
.sm-footer .sm-container{
  width:calc(100% - 64px)!important;
  max-width:1188px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.sm-footer-grid{
  grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.82fr))!important;
  gap:48px!important;
  align-items:start!important;
  padding-top:46px!important;
  padding-bottom:22px!important;
}
.sm-footer-grid>div{
  gap:0!important;
}
.sm-footer-logo-box{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  padding:8px 12px!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.sm-logo-footer{
  width:210px!important;
  height:40px!important;
  max-width:210px!important;
  max-height:40px!important;
  object-fit:contain!important;
}
.sm-footer-brand p{
  max-width:315px!important;
  margin:11px 0 0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.sm-footer .sm-company-line{
  margin-top:10px!important;
  color:rgba(255,255,255,.9)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.sm-footer-grid>div:not(:first-child){
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.sm-footer h3{
  margin:1px 0 10px!important;
  color:rgba(255,255,255,.96)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.sm-footer-grid>div:not(:first-child)>a{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.sm-footer-grid>div:not(:first-child)>a:hover{
  color:#fff!important;
}
.sm-footer-bottom{
  position:relative!important;
  display:block!important;
  margin-top:0!important;
  min-height:98px!important;
  padding-top:14px!important;
  padding-bottom:20px!important;
  border-top:1px solid rgba(255,255,255,.42)!important;
  color:rgba(255,255,255,.52)!important;
}
.sm-footer-bottom p{
  max-width:920px!important;
  margin:0!important;
  color:rgba(255,255,255,.52)!important;
  font-size:11px!important;
  line-height:1.55!important;
}
.sm-footer-bottom p strong{
  color:rgba(255,255,255,.72)!important;
  font-weight:650!important;
}
.sm-footer-bottom span{
  display:block!important;
  margin-top:10px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:11px!important;
  font-weight:500!important;
}
.sm-footer-bottom::after{
  content:"◎  English (UK)";
  position:absolute;
  right:0;
  bottom:20px;
  display:inline-flex;
  align-items:center;
  min-height:35px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.03);
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
}

@media(max-width:1100px){
  .sm-header-logo{min-width:215px!important}
  .sm-logo{width:215px!important;max-width:215px!important}
  .sm-footer-grid{
    grid-template-columns:1.2fr repeat(3,minmax(0,.78fr))!important;
    gap:30px!important;
  }
}
@media(max-width:800px){
  .sm-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px 34px!important;
  }
  .sm-footer-brand{grid-column:1/-1!important}
}
@media(max-width:640px){
  .sm-header-logo{min-width:170px!important}
  .sm-logo{width:170px!important;height:38px!important;max-width:170px!important;max-height:38px!important}
  .sm-hero h1{font-size:2.25rem!important}
  .sm-footer .sm-container{width:calc(100% - 32px)!important}
  .sm-footer-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding-top:34px!important;
    padding-bottom:22px!important;
  }
  .sm-footer-brand{grid-column:auto!important}
  .sm-footer-bottom{
    min-height:142px!important;
    padding-bottom:64px!important;
  }
  .sm-footer-bottom::after{
    left:0;
    right:auto;
    bottom:20px;
  }
}
