/* <span style="color:#16A34A;">Weal</span><span style="color:#DC2626;">Sure</span> V36 — final contrast + spacing correction
   Fixes light cards inheriting white text from dark parent sections
   and removes excessive top/bottom whitespace from hero areas. */

/* ---------- WHITE CARD CONTRAST ---------- */
/* Feature cards are intentionally white even though their parent is dark.
   Never inherit the parent's white typography into these surfaces. */
.feature-band .feature-list article{
  color:#252627 !important;
  background:#ffffff !important;
  border-color:rgba(37,38,39,.10) !important;
}
.feature-band .feature-list article h3,
.feature-band .feature-list article h3 *,
.feature-band .feature-list article strong,
.feature-band .feature-list article b{
  color:#252627 !important;
  -webkit-text-fill-color:#252627 !important;
}
.feature-band .feature-list article p{
  color:#8d7072 !important;
  -webkit-text-fill-color:#8d7072 !important;
}
.feature-band .feature-list article > span{
  color:#a40714 !important;
  -webkit-text-fill-color:#a40714 !important;
}
/* Prevent generic dark-section rules from repainting white card descendants. */
.feature-band .feature-list article :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.display,.title,strong,b,em){
  color:#252627 !important;
  -webkit-text-fill-color:#252627 !important;
}
.feature-band .feature-list article :is(p,small,.description,.meta){
  color:#8d7072 !important;
  -webkit-text-fill-color:#8d7072 !important;
}
.feature-band .feature-list article > span{
  color:#a40714 !important;
  -webkit-text-fill-color:#a40714 !important;
}

/* Other intentionally white utility cards inside dark layouts. */
:is(.section-dark,.feature-band,.cta-v18,.portfolio-shell,.dark,.dark-section)
  :is(.trust-item,.metric,.process-v18 article):not(:has(.review-card-image)){
  color:#252627 !important;
}
:is(.section-dark,.feature-band,.cta-v18,.portfolio-shell,.dark,.dark-section)
  :is(.trust-item,.metric,.process-v18 article):not(:has(.review-card-image))
  :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.display,.title,strong,b){
  color:#252627 !important;
  -webkit-text-fill-color:#252627 !important;
}
:is(.section-dark,.feature-band,.cta-v18,.portfolio-shell,.dark,.dark-section)
  :is(.trust-item,.metric,.process-v18 article):not(:has(.review-card-image))
  :is(p,small,.description,.meta){
  color:#8d7072 !important;
  -webkit-text-fill-color:#8d7072 !important;
}

/* ---------- HERO SPACING ---------- */
/* Tighten all hero variants without changing their core layout. */
.hero-v18{
  min-height:0 !important;
  padding:36px 0 40px !important;
}
.hero-v18 .hero-grid{
  min-height:0 !important;
  padding-top:24px !important;
  padding-bottom:24px !important;
}
.service-hero{
  min-height:0 !important;
  padding:38px 0 40px !important;
}
.service-hero .hero-grid{
  min-height:0 !important;
  padding-top:20px !important;
  padding-bottom:20px !important;
}
/* Older/base hero variant had a fixed 620px grid which created unnecessary air. */
.hero-grid{
  min-height:540px;
  padding-top:28px;
  padding-bottom:30px;
}
.hero-art{
  min-height:460px;
}
.hero-photo{
  top:4px;
  height:400px;
}
.portfolio-panel{
  bottom:0;
}
.float-card{
  bottom:10px;
}
/* Do not let the hero-card create an oversized lower gap. */
.hero-card{
  bottom:18px !important;
  padding:18px 21px !important;
}

/* ---------- SECTION RHYTHM ---------- */
main > section.editorial:first-of-type{
  padding-top:60px !important;
}
main > section.editorial:last-of-type{
  padding-bottom:60px !important;
}
.feature-band,
.portfolio-v18{
  padding-top:60px !important;
  padding-bottom:60px !important;
}

@media (max-width:820px){
  .hero-v18{padding:30px 0 34px !important}
  .hero-v18 .hero-grid{
    padding-top:12px !important;
    padding-bottom:12px !important;
    gap:28px !important;
  }
  .service-hero{padding:32px 0 34px !important}
  .service-hero .hero-grid{
    padding-top:10px !important;
    padding-bottom:10px !important;
    gap:28px !important;
  }
  .hero-grid{
    min-height:0 !important;
    padding-top:22px !important;
    padding-bottom:24px !important;
  }
  .hero-art{min-height:410px}
  .hero-photo{height:360px}
  main > section.editorial:first-of-type{padding-top:48px !important}
  main > section.editorial:last-of-type{padding-bottom:48px !important}
  .feature-band,.portfolio-v18{
    padding-top:50px !important;
    padding-bottom:50px !important;
  }
}

@media (max-width:620px){
  .hero-v18{padding:24px 0 28px !important}
  .hero-v18 .hero-grid{padding:4px 0 !important;gap:24px !important}
  .service-hero{padding:26px 0 28px !important}
  .service-hero .hero-grid{padding:4px 0 !important;gap:24px !important}
  .hero-grid{padding:12px 0 16px !important}
  .hero-art{min-height:350px}
  .hero-photo{height:300px}
  .hero-card{bottom:10px !important;padding:15px 17px !important;min-width:0 !important}
  main > section.editorial:first-of-type{padding-top:40px !important}
  main > section.editorial:last-of-type{padding-bottom:40px !important}
  .feature-band,.portfolio-v18{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}
