/* Prestige V42 — definitive contrast and hero rhythm */
:root{
  --v42-ink:#142238;
  --v42-muted:#53647b;
  --v42-heading:#061a36;
  --v42-white:#ffffff;
  --v42-light:#f6f9fd;
  --v42-link:#0b55d9;
}

/* Default text on light page surfaces */
body, main, .section, .content-section, .page-section{
  color:var(--v42-ink)!important;
}
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark),
.content-section:not(.dark-section),
.page-section:not(.dark-section){
  color:var(--v42-ink)!important;
}
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) h1,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) h2,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) h3,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) h4,
.head h1,.head h2,.head h3,.head h4{
  color:var(--v42-heading)!important;
}
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) p,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) li,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) small,
.section:not(.feature-band):not(.dark-section):not(.brand-block):not(.corporate-box):not(.bg-dark) label,
.head p{
  color:var(--v42-muted)!important;
}

/* Every light card/panel must use dark readable text */
.card,.course-card,.service-card,.blog-card,.project-card,.testimonial-card,.review-card,
.feature-card,.value-card,.step-card,.contact-card,.stat-card,.info-card,.form-card,.panel,
.content-box,.hero-card,.px-card,.px-service-card,.px-course-card,.price-card,.faq-item,
.accordion-item,.location-card,.graduate-card{
  color:var(--v42-ink)!important;
}
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,
.course-card h1,.course-card h2,.course-card h3,.course-card h4,
.service-card h1,.service-card h2,.service-card h3,.service-card h4,
.blog-card h1,.blog-card h2,.blog-card h3,.blog-card h4,
.project-card h1,.project-card h2,.project-card h3,.project-card h4,
.testimonial-card h1,.testimonial-card h2,.testimonial-card h3,.testimonial-card h4,
.review-card h1,.review-card h2,.review-card h3,.review-card h4,
.form-card h1,.form-card h2,.form-card h3,.form-card h4,
.panel h1,.panel h2,.panel h3,.panel h4,
.hero-card h1,.hero-card h2,.hero-card h3,.hero-card h4{
  color:var(--v42-heading)!important;
}
.card p,.card li,.card small,.card label,
.course-card p,.course-card li,.course-card small,
.service-card p,.service-card li,.service-card small,
.blog-card p,.blog-card li,.blog-card small,
.project-card p,.project-card li,.project-card small,
.testimonial-card p,.testimonial-card li,.testimonial-card small,
.review-card p,.review-card li,.review-card small,
.form-card p,.form-card li,.panel p,.panel li,.hero-card p,.hero-card li{
  color:var(--v42-muted)!important;
}
.card strong,.course-card strong,.service-card strong,.blog-card strong,.project-card strong,
.testimonial-card strong,.review-card strong,.form-card strong,.panel strong,.hero-card strong{
  color:var(--v42-heading)!important;
}
.card a:not(.btn),.course-card a:not(.btn),.service-card a:not(.btn),.blog-card a:not(.btn),
.project-card a:not(.btn),.panel a:not(.btn),.form-card a:not(.btn){color:var(--v42-link)!important}

/* Dark backgrounds always receive light foregrounds */
.hero-slide,.px-hero,.page-hero,.inner-hero,.feature-band,.dark-section,.brand-block,
.corporate-box,.bg-dark,.footer,[class*="dark-section"],[class*="dark-panel"]{
  color:var(--v42-white)!important;
}
.hero-slide h1,.hero-slide h2,.hero-slide h3,.hero-slide h4,.hero-slide p,.hero-slide li,.hero-slide small,
.px-hero h1,.px-hero h2,.px-hero h3,.px-hero h4,.px-hero p,.px-hero li,.px-hero small,
.page-hero h1,.page-hero h2,.page-hero h3,.page-hero h4,.page-hero p,.page-hero li,.page-hero small,
.inner-hero h1,.inner-hero h2,.inner-hero h3,.inner-hero h4,.inner-hero p,.inner-hero li,.inner-hero small,
.feature-band>div>h1,.feature-band>div>h2,.feature-band>div>h3,.feature-band>div>p,
.feature-band .head h1,.feature-band .head h2,.feature-band .head h3,.feature-band .head p,
.dark-section>div>h1,.dark-section>div>h2,.dark-section>div>h3,.dark-section>div>p,
.brand-block>div>h1,.brand-block>div>h2,.brand-block>div>h3,.brand-block>div>p,
.corporate-box h1,.corporate-box h2,.corporate-box h3,.corporate-box h4,.corporate-box p,.corporate-box li,
.footer h1,.footer h2,.footer h3,.footer h4,.footer p,.footer li,.footer small,.footer strong{
  color:var(--v42-white)!important;
}
.hero-slide a:not(.btn),.px-hero a:not(.btn),.page-hero a:not(.btn),.inner-hero a:not(.btn),
.dark-section a:not(.btn),.brand-block a:not(.btn),.corporate-box a:not(.btn),.footer a{
  color:#eaf2ff!important;
}

/* A light card nested in a dark section remains a light card */
.feature-band .card,.dark-section .card,.brand-block .card,.corporate-box .card,
.feature-band .panel,.dark-section .panel,.brand-block .panel,.corporate-box .panel{
  color:var(--v42-ink)!important;
}
.feature-band .card h1,.feature-band .card h2,.feature-band .card h3,.feature-band .card h4,
.dark-section .card h1,.dark-section .card h2,.dark-section .card h3,.dark-section .card h4,
.brand-block .card h1,.brand-block .card h2,.brand-block .card h3,.brand-block .card h4,
.corporate-box .card h1,.corporate-box .card h2,.corporate-box .card h3,.corporate-box .card h4{
  color:var(--v42-heading)!important;
}
.feature-band .card p,.feature-band .card li,.feature-band .card span,
.dark-section .card p,.dark-section .card li,.dark-section .card span,
.brand-block .card p,.brand-block .card li,.brand-block .card span,
.corporate-box .card p,.corporate-box .card li,.corporate-box .card span{
  color:var(--v42-muted)!important;
}

/* Explicit badges and buttons */
.badge,.tag:not(.hero-slide .tag):not(.px-hero .tag):not(.page-hero .tag){color:#173057!important}
.hero-slide .tag,.px-hero .tag,.page-hero .tag,.inner-hero .tag{color:#fff!important}
.btn-primary,.btn-primary *{color:#fff!important}
.btn-light,.btn-light *,.btn-outline,.btn-outline *{color:var(--v42-heading)!important}

/* Normal hero vertical rhythm — no oversized blank area */
.hero-slide,.page-hero,.inner-hero{
  min-height:0!important;
  padding-top:52px!important;
  padding-bottom:52px!important;
}
.hero-slide>.container,.page-hero>.container,.inner-hero>.container{
  padding-top:0!important;
  padding-bottom:0!important;
}
.hero-slide .hero-grid,.page-hero .hero-grid,.inner-hero .hero-grid{
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
}
.px-hero{min-height:0!important}
.px-hero-grid{padding-top:48px!important;padding-bottom:48px!important}

@media (min-width:768px) and (max-width:1100px){
  .hero-slide,.page-hero,.inner-hero{padding-top:44px!important;padding-bottom:44px!important}
  .px-hero-grid{padding-top:42px!important;padding-bottom:42px!important}
}
@media (max-width:767px){
  .hero-slide,.page-hero,.inner-hero{padding-top:34px!important;padding-bottom:34px!important}
  .px-hero-grid{padding-top:34px!important;padding-bottom:34px!important}
}
