
/* <span style="color:#16A34A;">Weal</span><span style="color:#DC2626;">Sure</span> V33 — Advanced premium editorial polish
   Built over V32: stronger hierarchy, disciplined spacing, logo-led buttons,
   refined cards, CTA/footer architecture, and no accidental oversizing. */

:root{
  --ws-accent:#b60a18;
  --ws-accent-dark:#8b0813;
  --ws-navy:#272829;
  --ws-ink:#252627;
  --ws-paper:#ffffff;
  --ws-soft:#f7f3f3;
  --ws-line:rgba(37,38,39,.12);
  --ws-white-line:rgba(255,255,255,.14);
  --ws-radius:22px;
  --ws-radius-lg:28px;
  --ws-ease:cubic-bezier(.16,1,.3,1);
}

/* ---------- Global section architecture ---------- */
.editorial,
.feature-band,
.portfolio-v18,
.cta-v18,
.section{
  position:relative;
  min-height:0 !important;
  overflow:visible;
}
main > section.editorial{
  padding-block:88px !important;
}
main > section.editorial:first-of-type{
  padding-top:96px !important;
}
main > section.editorial:last-of-type{
  padding-bottom:96px !important;
}

.section-kicker{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr) !important;
  align-items:end !important;
  gap:54px !important;
  margin-bottom:42px !important;
  padding-bottom:28px !important;
  border-bottom:1px solid var(--ws-line) !important;
}
.section-kicker > div:first-child{
  min-width:0 !important;
}
.section-kicker .eyebrow{
  margin-bottom:16px !important;
  color:var(--ws-accent-dark) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
}
.section-kicker .eyebrow:before{
  content:"" !important;
  display:inline-block !important;
  width:28px !important;
  height:1px !important;
  margin:0 11px 4px 0 !important;
  background:var(--ws-accent) !important;
}
.section-kicker .h2,
.section-kicker h2{
  margin:0 !important;
  max-width:850px !important;
  font-size:60px !important;
  line-height:.96 !important;
  letter-spacing:-.058em !important;
  font-weight:800 !important;
  color:var(--ws-ink) !important;
}
.section-kicker .section-intro{
  margin:0 !important;
  max-width:600px !important;
  color:#7f6164 !important;
  font-size:16px !important;
  line-height:1.75 !important;
  font-weight:500 !important;
}

/* Keep heading accents same weight, but allow logo-led teal only when intentionally marked. */
.section-kicker h2 em,
main h1 em,
main h2 em{
  font-weight:800 !important;
  font-style:normal !important;
}

/* ---------- Buttons: logo-led teal / navy system ---------- */
.btn{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:50px !important;
  padding:13px 20px !important;
  border:1px solid transparent !important;
  border-radius:14px !important;
  font-family:"Manrope",sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  line-height:1 !important;
  text-decoration:none !important;
  overflow:hidden !important;
  transition:transform .32s var(--ws-ease), box-shadow .32s var(--ws-ease), background .32s ease, border-color .32s ease, color .32s ease !important;
}
.btn::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.18) 48%,transparent 68%) !important;
  transform:translateX(-125%) !important;
  transition:transform .7s var(--ws-ease) !important;
  pointer-events:none !important;
}
.btn:hover::before{transform:translateX(125%) !important}
.btn:hover{transform:translateY(-2px) !important}

.btn-dark,
.wealsure-header .btn.btn-dark{
  color:#ffffff !important;
  background:linear-gradient(135deg,#b60a18 0%,#990713 100%) !important;
  border-color:#b60a18 !important;
  box-shadow:0 12px 28px rgba(182,10,24,.20) !important;
}
.btn-dark:hover,
.wealsure-header .btn.btn-dark:hover{
  background:linear-gradient(135deg,#c51120 0%,#8b0813 100%) !important;
  box-shadow:0 18px 36px rgba(182,10,24,.28) !important;
}
.btn-light{
  color:var(--ws-ink) !important;
  background:#ffffff !important;
  border-color:rgba(37,38,39,.14) !important;
  box-shadow:0 10px 24px rgba(37,38,39,.08) !important;
}
.btn-light:hover{border-color:rgba(182,10,24,.45)!important;box-shadow:0 16px 32px rgba(37,38,39,.12)!important}
.btn-outline{
  color:var(--ws-ink) !important;
  background:transparent !important;
  border-color:rgba(37,38,39,.20) !important;
}
.btn-outline:hover{
  color:#ffffff !important;
  background:var(--ws-navy) !important;
  border-color:var(--ws-navy) !important;
}
.btn-gold{
  color:#ffffff !important;
  background:linear-gradient(135deg,#b60a18 0%,#8b0813 100%) !important;
  border-color:#b60a18 !important;
  box-shadow:0 18px 34px rgba(182,10,24,.24) !important;
}
.btn-gold:hover{background:linear-gradient(135deg,#c41322 0%,#7a0711 100%) !important}

/* ---------- Header / logo alignment ---------- */
.wealsure-header .brand{
  font-family:"Manrope",sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
  font-size:24px !important;
}
.wealsure-header .brand small{
  color:var(--ws-accent) !important;
  font-weight:800 !important;
}
.wealsure-header .links>a,
.wealsure-header .drop-wrap>a{
  font-weight:650 !important;
  letter-spacing:-.01em !important;
  transition:color .22s ease,transform .22s ease !important;
}
.wealsure-header .links>a:hover,
.wealsure-header .drop-wrap>a:hover{
  color:var(--ws-accent-dark) !important;
}

/* ---------- Wealth planning cards: clean four-card editorial system ---------- */
.process-v18{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:4px !important;
}
.process-v18 article{
  position:relative !important;
  min-height:260px !important;
  padding:30px 28px 28px !important;
  border:1px solid rgba(37,38,39,.11) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fcfbfb 100%) !important;
  box-shadow:0 12px 32px rgba(37,38,39,.045) !important;
  overflow:hidden !important;
  transition:transform .45s var(--ws-ease),border-color .35s ease,box-shadow .45s var(--ws-ease) !important;
}
.process-v18 article::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:28px !important;
  right:28px !important;
  height:2px !important;
  background:linear-gradient(90deg,var(--ws-accent),rgba(182,10,24,0)) !important;
  transform:scaleX(.25) !important;
  transform-origin:left !important;
  transition:transform .55s var(--ws-ease) !important;
}
.process-v18 article:hover{
  transform:translateY(-7px) !important;
  border-color:rgba(182,10,24,.34) !important;
  box-shadow:0 24px 58px rgba(37,38,39,.12) !important;
}
.process-v18 article:hover::before{transform:scaleX(1)!important}
.process-v18 .num{
  display:block !important;
  margin-bottom:24px !important;
  color:var(--ws-accent-dark) !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.15em !important;
}
.process-v18 h3{
  margin:0 0 10px !important;
  color:var(--ws-ink) !important;
  font-size:26px !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:800 !important;
}
.process-v18 p{
  margin:0 !important;
  color:#84686a !important;
  font-size:15px !important;
  line-height:1.65 !important;
}

/* ---------- Image cards: refined premium treatment ---------- */
.solution-card,
.audience,
.insight,
.article{
  border:1px solid rgba(37,38,39,.11) !important;
  box-shadow:0 14px 38px rgba(37,38,39,.07) !important;
  transition:transform .48s var(--ws-ease),box-shadow .48s var(--ws-ease),border-color .35s ease !important;
}
.solution-card:hover,
.audience:hover,
.insight:hover,
.article:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(182,10,24,.32) !important;
  box-shadow:0 30px 72px rgba(37,38,39,.16) !important;
}
.solution-content h3,
.audience h3,
.insight h3,
.article h3{
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}

/* ---------- Who we serve: four-card, same rhythm, no oversized tile ---------- */
.audience-v18{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:390px !important;
  gap:16px !important;
}
.audience-v18 .audience{
  height:390px !important;
  min-height:390px !important;
  border-radius:22px !important;
}
.audience-v18 .audience::after{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  width:36px !important;
  height:1px !important;
  background:var(--ws-accent) !important;
  z-index:4 !important;
  opacity:.85 !important;
}

/* ---------- Insights: stronger editorial grid ---------- */
.insights-v18{
  display:grid !important;
  grid-template-columns:1.22fr 1fr 1fr !important;
  gap:16px !important;
}
.insight{
  min-height:420px !important;
  padding:28px !important;
  border-radius:22px !important;
}
.insight:first-child{min-height:456px !important}
.insight::after{
  content:"Read insight  →" !important;
  position:absolute !important;
  left:28px !important;
  bottom:24px !important;
  color:#ffffff !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  opacity:.9 !important;
  z-index:4 !important;
}
.insight > p{padding-bottom:28px !important}
.insight-media img,
.article-media img{
  transition:transform 1s var(--ws-ease),filter .7s ease !important;
}
.insight:hover .insight-media img,
.article:hover .article-media img{
  transform:scale(1.065) !important;
}

/* ---------- Portfolio health cards: less blocky, more art-directed ---------- */
.review-card{
  border-radius:22px !important;
}
.review-card .solution-content{
  padding:30px !important;
}
.review-card h3{
  font-size:28px !important;
  line-height:1.08 !important;
}
.review-card p{
  max-width:360px !important;
}

/* ---------- CTA: premium, compact, logo-led ---------- */
.cta-v18{
  margin:28px auto 0 !important;
  width:min(1240px,calc(100% - 48px)) !important;
  padding:74px 0 !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 82% 28%,rgba(182,10,24,.12),transparent 28%),
    linear-gradient(135deg,#272829 0%,#343637 100%) !important;
  box-shadow:0 32px 90px rgba(37,38,39,.16) !important;
  overflow:hidden !important;
}
.cta-v18::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,rgba(255,255,255,.03),transparent 30%,transparent 70%,rgba(182,10,24,.04)) !important;
  pointer-events:none !important;
}
.cta-v18 .inner{
  position:relative !important;
  z-index:2 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:48px !important;
  align-items:center !important;
}
.cta-v18 .eyebrow{
  color:#e0727b !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
}
.cta-v18 h2{
  max-width:900px !important;
  margin:12px 0 16px !important;
  color:#ffffff !important;
  font-size:60px !important;
  line-height:.98 !important;
  letter-spacing:-.058em !important;
  font-weight:800 !important;
}
.cta-v18 h2 em{color:#ffffff !important}
.cta-v18 .lead{
  max-width:720px !important;
  color:rgba(246,235,236,.76) !important;
  font-size:16px !important;
  line-height:1.7 !important;
}
.cta-v18 .disclaimer-v18{
  max-width:780px !important;
  margin-top:24px !important;
  color:rgba(232,214,216,.58) !important;
  font-size:12px !important;
  line-height:1.7 !important;
}
.cta-v18 .btn-gold{
  align-self:center !important;
  min-width:220px !important;
  min-height:54px !important;
}

/* ---------- Footer: clearer hierarchy / professional density ---------- */
footer{
  background:#212223 !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
footer .container{padding-top:72px !important;padding-bottom:28px !important}
.footgrid{
  display:grid !important;
  grid-template-columns:1.45fr repeat(4,1fr) !important;
  gap:34px !important;
  padding-bottom:48px !important;
}
.footbrand .brand{
  font-size:25px !important;
  font-weight:800 !important;
  letter-spacing:-.045em !important;
}
.footbrand .brand small{color:var(--ws-accent)!important}
.footbrand p{
  max-width:330px !important;
  color:rgba(243,230,231,.62) !important;
  font-size:14px !important;
  line-height:1.75 !important;
}
.footcol h4{
  margin:2px 0 14px !important;
  color:#ffffff !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
}
.footcol a,
footer a{
  color:rgba(241,226,227,.62) !important;
  transition:color .22s ease,transform .22s ease !important;
}
.footcol a:hover,
footer a:hover{
  color:#ffffff !important;
}
footer .footer-bottom,
footer .legal{
  border-top:1px solid rgba(255,255,255,.10) !important;
  padding-top:22px !important;
}
footer .legal-note{
  color:rgba(232,214,216,.46) !important;
}

/* ---------- Remove accidental oversized whitespace ---------- */
.audience-v18 + *{margin-top:0 !important}
.editorial > .container{min-height:0 !important}
main > section{min-height:0 !important}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .section-kicker{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .section-kicker .section-intro{max-width:760px !important}
  .process-v18{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .audience-v18{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:340px !important}
  .audience-v18 .audience{height:340px!important;min-height:340px!important}
  .insights-v18{grid-template-columns:1fr 1fr !important}
  .insight:first-child{grid-column:1/-1 !important}
  .cta-v18 .inner{grid-template-columns:1fr !important}
  .cta-v18 .btn-gold{justify-self:start !important}
  .footgrid{grid-template-columns:1.4fr repeat(2,1fr) !important}
}
@media (max-width:820px){
  main > section.editorial{padding-block:68px !important}
  .section-kicker .h2,
  .section-kicker h2,
  .cta-v18 h2{font-size:50px !important}
  .process-v18{grid-template-columns:1fr 1fr !important}
  .audience-v18{grid-template-columns:1fr 1fr !important}
  .insights-v18{grid-template-columns:1fr !important}
  .insight:first-child{grid-column:auto !important;min-height:390px !important}
  .cta-v18{
    width:calc(100% - 32px) !important;
    padding:60px 0 !important;
    border-radius:22px !important;
  }
  .footgrid{grid-template-columns:1fr 1fr !important}
}
@media (max-width:620px){
  main > section.editorial{padding-block:56px !important}
  .section-kicker{padding-bottom:22px !important;margin-bottom:28px !important}
  .section-kicker .h2,
  .section-kicker h2,
  .cta-v18 h2{font-size:42px !important}
  .process-v18{grid-template-columns:1fr !important}
  .process-v18 article{min-height:220px !important;padding:26px 24px !important}
  .audience-v18{grid-template-columns:1fr !important}
  .audience-v18 .audience{height:320px!important;min-height:320px!important}
  .cta-v18 .btn-gold{width:100% !important}
  .footgrid{grid-template-columns:1fr !important}
  footer .container{padding-top:54px !important}
}
