@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap");

/* =========================================================
   <span style="color:#16A34A;">Weal</span><span style="color:#DC2626;">Sure</span> V21 — FINAL AUDITED LAYOUT SYSTEM
   Root-cause fixes: true centered navigation, stable sticky
   header, centered mega menus, readable type, consistent grids,
   mobile drawer, service-page rhythm and overflow protection.
   ========================================================= */
:root{
  --ws-header:82px;
  --ws-max:1320px;
  --ws-ink:#252627;
  --ws-navy:#2b2d2e;
  --ws-accent:#b91624;
  --ws-accent-dark:#890b15;
  --ws-paper:#ffffff;
  --ws-soft:#f7f3f3;
  --ws-line:rgba(37,38,39,.11);
  --ws-muted:#7b5f61;
}

html{scroll-padding-top:var(--ws-header);overflow-x:hidden}
body{overflow-x:hidden;min-width:0;font-size:16px;line-height:1.65}
.container{width:min(calc(100% - 56px),var(--ws-max));max-width:var(--ws-max);margin-inline:auto}

/* Header: use a 3-column grid instead of absolute positioning. */
.wealsure-header, header.wealsure-header, header{
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  width:100% !important;
  min-height:var(--ws-header) !important;
  background:rgba(252,250,250,.97) !important;
  border-top:1px solid rgba(185,22,36,.20) !important;
  border-bottom:1px solid rgba(37,38,39,.10) !important;
  box-shadow:0 8px 30px rgba(37,38,39,.055) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%) !important;
  isolation:isolate;
}
.wealsure-header .nav, header .nav{
  min-height:var(--ws-header) !important;
  height:var(--ws-header) !important;
  width:min(calc(100% - 56px),var(--ws-max)) !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:24px !important;
  margin-inline:auto !important;
  position:relative !important;
}
.wealsure-header .brand, header .brand{
  display:inline-flex !important;
  align-items:baseline !important;
  justify-self:start !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--ws-ink) !important;
  text-decoration:none !important;
  font-family:"Manrope",sans-serif !important;
  font-size:21px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
}
.wealsure-header .brand small, header .brand small{
  margin:0 0 0 1px !important;
  color:var(--ws-accent-dark) !important;
  font-size:1em !important;
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}
.wealsure-header .links, header .links{
  position:static !important;
  left:auto !important;
  transform:none !important;
  justify-self:center !important;
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.wealsure-header .links>a,
.wealsure-header .drop-wrap>a,
header .links>a,
header .drop-wrap>a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--ws-header) !important;
  padding:0 13px !important;
  color:#323435 !important;
  font-family:"Manrope",sans-serif !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.wealsure-header .links>a:after,
.wealsure-header .drop-wrap>a:after,
header .links>a:after,
header .drop-wrap>a:after{
  content:"" !important;
  position:absolute !important;
  left:13px !important;
  right:13px !important;
  bottom:20px !important;
  width:auto !important;
  height:2px !important;
  background:var(--ws-accent) !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .22s ease !important;
}
.wealsure-header .links>a:hover:after,
.wealsure-header .drop-wrap:hover>a:after,
.wealsure-header .links>a:focus-visible:after,
.wealsure-header .drop-wrap:focus-within>a:after,
header .links>a:hover:after,
header .drop-wrap:hover>a:after,
header .links>a:focus-visible:after,
header .drop-wrap:focus-within>a:after{transform:scaleX(1) !important}
.wealsure-header .nav>.btn,
header .nav>.btn{
  justify-self:end !important;
  margin:0 !important;
  white-space:nowrap !important;
  min-height:46px !important;
  padding:12px 18px !important;
  font-size:14px !important;
}
.wealsure-header .menu, header .menu{
  display:none !important;
  justify-self:end !important;
  width:44px !important;height:44px !important;
  margin:0 !important;padding:0 !important;
  border:1px solid rgba(37,38,39,.14) !important;
  border-radius:12px !important;
  background:#ffffff !important;color:var(--ws-ink) !important;
  font-size:0 !important;
}
.wealsure-header .menu:before, header .menu:before{
  content:"";display:block;width:18px;height:12px;margin:auto;
  border-top:2px solid currentColor;border-bottom:2px solid currentColor;
  box-shadow:0 5px 0 -1px currentColor;
}

/* True viewport-centered mega menus. No :has(), no right anchoring. */
.wealsure-header .drop-wrap, header .drop-wrap{position:static !important}
.wealsure-header .drop-wrap>.drop,
header .drop-wrap>.drop{
  position:fixed !important;
  top:var(--ws-header) !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-8px) !important;
  width:min(1120px,calc(100vw - 48px)) !important;
  max-width:1120px !important;
  min-width:0 !important;
  max-height:calc(100vh - var(--ws-header) - 24px) !important;
  overflow:auto !important;
  margin:0 !important;
  padding:22px !important;
  box-sizing:border-box !important;
  background:rgba(255,255,255,.985) !important;
  border:1px solid rgba(37,38,39,.11) !important;
  border-top:2px solid var(--ws-accent) !important;
  border-radius:0 0 20px 20px !important;
  box-shadow:0 28px 70px rgba(37,38,39,.17) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
}
.wealsure-header .drop-wrap:hover>.drop,
.wealsure-header .drop-wrap:focus-within>.drop,
.wealsure-header .drop-wrap.open>.drop,
header .drop-wrap:hover>.drop,
header .drop-wrap:focus-within>.drop,
header .drop-wrap.open>.drop{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate(-50%,0) !important;
}
.wealsure-header .wealth-drop-wrap>.drop,
header .wealth-drop-wrap>.drop{
  width:min(780px,calc(100vw - 48px)) !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:4px 18px !important;
}
.wealsure-header .investment-drop-wrap>.drop,
header .investment-drop-wrap>.drop{
  width:min(1120px,calc(100vw - 48px)) !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  padding:24px 8px !important;
}
.wealsure-header .drop-col,
header .drop-col{
  min-width:0 !important;
  padding:0 22px !important;
  border-right:1px solid rgba(37,38,39,.09) !important;
}
.wealsure-header .drop-col:last-child, header .drop-col:last-child{border-right:0 !important}
.wealsure-header .drop-title, header .drop-title{
  margin:0 0 10px !important;
  color:var(--ws-accent-dark) !important;
  font:800 10px/1.2 "Manrope",sans-serif !important;
  letter-spacing:.16em !important;
}
.wealsure-header .drop a,
header .drop a{
  display:block !important;
  padding:11px 12px !important;
  border-radius:10px !important;
  text-decoration:none !important;
}
.wealsure-header .drop a:hover, header .drop a:hover{background:#f7f2f2 !important}
.wealsure-header .drop b, header .drop b{
  display:block !important;
  color:var(--ws-ink) !important;
  font:700 14px/1.35 "Manrope",sans-serif !important;
}
.wealsure-header .drop span, header .drop span{
  display:block !important;
  margin-top:3px !important;
  color:#816668 !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

/* Mobile navigation */
.wealsure-header .mobile, header .mobile{
  display:none !important;
  position:relative !important;
  width:100% !important;
  max-height:calc(100vh - var(--ws-header)) !important;
  overflow:auto !important;
  padding:12px 18px 24px !important;
  background:#ffffff !important;
  border-top:1px solid rgba(37,38,39,.08) !important;
  box-shadow:0 20px 50px rgba(37,38,39,.10) !important;
}
.wealsure-header .mobile.open, header .mobile.open{display:block !important}
.wealsure-header .mobile a, header .mobile a{
  display:block !important;
  padding:12px 4px !important;
  color:var(--ws-ink) !important;
  text-decoration:none !important;
  font-size:16px !important;
  border-bottom:1px solid rgba(37,38,39,.07) !important;
}
.wealsure-header .mobile-group, header .mobile-group{
  margin:8px 0 !important;
  padding:10px 0 4px !important;
  border-top:1px solid rgba(37,38,39,.08) !important;
}
.wealsure-header .mobile-group strong, header .mobile-group strong{
  display:block !important;
  padding:5px 4px 2px !important;
  color:var(--ws-accent-dark) !important;
  font:800 10px/1.2 "Manrope",sans-serif !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

/* Readability */
main p, main li, .section-copy, .section-intro, .card p, .article p,
.service-body p, .service-row p, .service-aside p{font-size:16px !important;line-height:1.72 !important}
main h3{line-height:1.18}

/* Homepage hero: less empty vertical space, stronger visual hierarchy. */
.hero-v18{min-height:0 !important;padding:58px 0 64px !important}
.hero-v18 .hero-grid{min-height:0 !important;grid-template-columns:minmax(0,1fr) minmax(0,.96fr) !important;gap:52px !important}
.hero-v18 h1{font-size:clamp(48px,5.4vw,78px) !important;max-width:760px !important;margin:15px 0 20px !important}
.hero-v18 .lead{font-size:18px !important;max-width:630px !important}
.hero-visual{min-height:500px !important}
.hero-photo{height:500px !important;border-radius:24px !important}
.hero-card{left:-24px !important;bottom:22px !important;min-width:280px !important}

/* Image-led cards: stable equal heights, no accidental stretch. */
.solutions-v18{align-items:stretch !important;grid-auto-rows:1fr !important}
.solution-card{min-height:390px !important;height:100% !important}
.invest-grid-v15,.invest-grid-image,.invest-grid{align-items:stretch !important}
.invest-card-v15{height:100% !important;min-height:0 !important}
.invest-card-v15:nth-child(2),.invest-card-v15:nth-child(4){transform:none !important}
.invest-card-v15:nth-child(2):hover,.invest-card-v15:nth-child(4):hover{transform:translateY(-7px) !important}
.invest-card-photo{height:210px !important;flex-basis:210px !important}

/* Service pages */
.service-hero{padding:62px 0 58px !important}
.service-hero .hero-grid{min-height:0 !important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr) !important;gap:52px !important}
.service-hero .display{font-size:clamp(46px,5.3vw,74px) !important}
.service-art{min-height:430px !important;border-radius:22px !important;overflow:hidden !important}
.service-body{padding:76px 0 !important}
.service-body-grid{gap:56px !important}
.service-row{padding:20px 0 !important}
.service-row h3{font-size:21px !important}
.service-aside{padding:30px !important;position:sticky !important;top:104px !important}

/* Sections: tighter luxury rhythm, not huge dead zones. */
.editorial{padding:82px 0 !important}
.feature-band,.portfolio-v18,.cta-v18{padding:82px 0 !important}
.section{padding:82px 0 !important}
.section-sm{padding:56px 0 !important}
.section-kicker{margin-bottom:34px !important}

/* Footer readability */
footer{font-size:15px}
footer a{font-size:15px}
footer .legal-note{font-size:13px !important;line-height:1.7 !important}

/* Tablet */
@media (max-width:1180px) and (min-width:821px){
  .wealsure-header .nav, header .nav{gap:12px !important}
  .wealsure-header .links>a,.wealsure-header .drop-wrap>a,
  header .links>a,header .drop-wrap>a{padding-inline:8px !important;font-size:13.5px !important}
  .wealsure-header .nav>.btn,header .nav>.btn{padding-inline:13px !important;font-size:12.5px !important}
  .hero-v18 .hero-grid{gap:34px !important}
}

@media (max-width:820px){
  :root{--ws-header:72px}
  .container{width:calc(100% - 32px) !important}
  .wealsure-header .nav, header .nav{height:72px !important;min-height:72px !important;width:calc(100% - 32px) !important;grid-template-columns:1fr auto !important}
  .wealsure-header .links,.wealsure-header .nav>.btn,
  header .links,header .nav>.btn{display:none !important}
  .wealsure-header .menu,header .menu{display:grid !important;place-items:center !important}
  .wealsure-header .mobile,header .mobile{display:none !important}
  .wealsure-header .mobile.open,header .mobile.open{display:block !important}
  .drop{display:none !important}
  .hero-v18{padding:46px 0 54px !important}
  .hero-v18 .hero-grid{grid-template-columns:1fr !important;gap:32px !important}
  .hero-v18 h1{font-size:clamp(44px,9vw,64px) !important}
  .hero-visual{min-height:390px !important}
  .hero-photo{height:390px !important}
  .hero-card{left:16px !important;right:16px !important;bottom:18px !important;min-width:0 !important}
  .service-hero .hero-grid{grid-template-columns:1fr !important}
  .service-art{min-height:360px !important}
  .service-aside{position:static !important}
  .solutions-v18{grid-template-columns:1fr 1fr !important}
  .invest-grid-v15,.invest-grid-image,.invest-grid{grid-template-columns:1fr 1fr !important}
  .trust-grid{grid-template-columns:1fr 1fr !important}
  .audience-v18{grid-template-columns:1fr 1fr !important}
  .process-v18{grid-template-columns:1fr 1fr !important}
}

@media (max-width:600px){
  .container{width:calc(100% - 28px) !important}
  main>section:not(.hero):not(.trust){padding:62px 0 !important}
  .editorial,.feature-band,.portfolio-v18,.cta-v18,.section{padding:62px 0 !important}
  .section-kicker{display:block !important;margin-bottom:28px !important}
  .section-intro{margin-top:18px !important;font-size:16px !important}
  .solutions-v18,.invest-grid-v15,.invest-grid-image,.invest-grid,
  .audience-v18,.process-v18,.feature-list{grid-template-columns:1fr !important}
  .solution-card{min-height:350px !important}
  .invest-card-photo{height:215px !important;flex-basis:215px !important}
  .hero-v18 h1{font-size:clamp(42px,12.5vw,58px) !important}
  .hero-v18 .lead{font-size:17px !important}
  .hero-visual{min-height:330px !important}
  .hero-photo{height:330px !important}
  .hero-card{position:absolute !important;left:12px !important;right:12px !important;bottom:12px !important;padding:17px 18px !important}
  .service-art{min-height:310px !important}
  .trust-grid{grid-template-columns:1fr !important}
  .trust-item{border-right:0 !important;border-bottom:1px solid var(--ws-line) !important}
  .portfolio-metrics{grid-template-columns:1fr 1fr !important}
  .portfolio-body{grid-template-columns:1fr !important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}

/* V24 — single typography system */
html,body,button,input,select,textarea{font-family:"Manrope",sans-serif !important;}
