/* WEALSURE V45 — exact logo fit + mobile typography safety */
:root{
  --ws-brand-green:#008a4b;
  --ws-brand-red:#f20d18;
  --ws-brand-gradient:linear-gradient(105deg,#006b43 0%,#009e55 38%,#f20d18 78%,#c90813 100%);
}

/* Header uses the complete supplied logo; never crop the image. */
.site-header .brand,
.wealsure-header .brand,
header .brand{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:150px !important;
  height:74px !important;
  flex:0 0 150px !important;
  min-width:0 !important;
  overflow:visible !important;
  white-space:normal !important;
  line-height:normal !important;
}
.site-header .brand .ws-official-logo,
.wealsure-header .brand .ws-official-logo,
header .brand .ws-official-logo{
  display:block !important;
  width:150px !important;
  height:74px !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  flex:none !important;
}

/* Footer logo: complete mark + wordmark, also never cropped. */
.footbrand .brand,
footer .footbrand .brand{
  width:180px !important;
  height:86px !important;
  overflow:visible !important;
}
.footbrand .brand .ws-official-logo,
footer .footbrand .brand .ws-official-logo{
  width:180px !important;
  height:86px !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
}

/* Hero/page headings: gradient without clipping the heading box. */
html body .hero-v18 h1,
html body .hero-v18 h2,
html body .section-title,
html body .h2,
html body .page-hero .section-title{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:var(--ws-brand-gradient) !important;
  background-color:transparent !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  overflow:visible !important;
  max-width:100% !important;
  text-wrap:balance !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
html body .hero-v18 h1 em,
html body .hero-v18 h1 span,
html body .h2 em,
html body .h2 span{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background-image:var(--ws-brand-gradient) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
}

/* Mobile: prevent horizontal text cropping/overflow. */
@media (max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max)) !important;}
  .nav{min-height:72px !important;gap:12px !important;}
  .site-header .brand,
  .wealsure-header .brand,
  header .brand{width:122px !important;height:68px !important;flex-basis:122px !important;}
  .site-header .brand .ws-official-logo,
  .wealsure-header .brand .ws-official-logo,
  header .brand .ws-official-logo{width:122px !important;height:68px !important;}

  .hero-v18{overflow:visible !important;padding:46px 0 56px !important;}
  .hero-v18 .hero-grid{width:100% !important;min-width:0 !important;gap:28px !important;}
  .hero-v18 .hero-grid > div:first-child{min-width:0 !important;width:100% !important;}
  .hero-v18 h1{
    width:100% !important;
    min-width:0 !important;
    margin:14px 0 20px !important;
    font-size:clamp(34px,10.5vw,46px) !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .hero-v18 h1 br{display:block !important;}
  .hero-v18 .lead{max-width:100% !important;overflow-wrap:anywhere !important;}
}

@media (max-width:390px){
  .hero-v18 h1{font-size:35px !important;line-height:1.05 !important;letter-spacing:-.04em !important;}
}
