/* Prestige V38 — final colour contrast and text visibility authority layer */
:root{
  --v38-ink:#071426;
  --v38-text:#24364d;
  --v38-muted:#52657d;
  --v38-white:#ffffff;
  --v38-soft:#f5f8fc;
  --v38-border:#d8e2ee;
  --v38-blue:#0b55d9;
  --v38-blue-dark:#073da2;
  --v38-cyan:#0b7185;
  --v38-gold-dark:#754400;
}

/* Light surfaces: never allow pale or transparent text to disappear. */
body{color:var(--v38-text)!important}
main, .section, .card, .form-box, .form-wrap, .course-body, .service-pro-card,
.mode-card, .process-step, .review-card, .blog-card, .project-card,
.px-dashboard, .px-metric, .px-track-item, .px-step{
  color:var(--v38-text);
}
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) h1,
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) h2,
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) h3,
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) h4,
.card h1,.card h2,.card h3,.card h4,.form-box h1,.form-box h2,.form-box h3,
.course-body h1,.course-body h2,.course-body h3,.service-pro-card h3,
.px-dashboard h1,.px-dashboard h2,.px-dashboard h3{
  color:var(--v38-ink)!important;
}
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) p,
.section:not(.feature-band):not(.stats):not(.brand-block):not(.corporate-box) li,
.card p,.card li,.course-body p,.course-body li,.service-pro-card p,
.form-box p,.px-dashboard p,.px-dashboard span,.px-dashboard small{
  color:var(--v38-muted)!important;
}

/* Dark and image-backed surfaces: force consistently legible foregrounds. */
.prestige-hero-shell,.px-hero,.hero-slide,.hero-card,.px-page-banner,
.feature-band,.brand-block,.stats,.corporate-box,.footer,
[class*="dark-section"],[class*="dark-card"]{
  color:var(--v38-white)!important;
}
.prestige-hero-shell h1,.prestige-hero-shell h2,.prestige-hero-shell h3,.prestige-hero-shell h4,
.px-hero h1,.px-hero h2,.px-hero h3,.px-hero h4,
.hero-slide h1,.hero-slide h2,.hero-slide h3,.hero-card h1,.hero-card h2,.hero-card h3,
.px-page-banner h1,.px-page-banner h2,.px-page-banner h3,
.feature-band h1,.feature-band h2,.feature-band h3,.feature-band h4,
.brand-block h1,.brand-block h2,.brand-block h3,.stats h1,.stats h2,.stats h3,
.corporate-box h1,.corporate-box h2,.corporate-box h3,.footer h1,.footer h2,.footer h3,.footer h4{
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.prestige-hero-shell p,.prestige-hero-shell li,.prestige-hero-shell span,
.px-hero p,.px-hero li,.hero-slide p,.hero-slide li,.hero-card p,.hero-card li,
.px-page-banner p,.px-page-banner li,.feature-band p,.feature-band li,
.brand-block p,.brand-block li,.stats p,.stats span,.corporate-box p,.corporate-box li,
.footer p,.footer li,.footer address,.footer small{
  color:#e7eef9!important;
  opacity:1!important;
}
.footer a{color:#dbe9fb!important}
.footer a:hover,.footer a:focus-visible{color:#fff!important}

/* Hero overlay must preserve contrast regardless of source image brightness. */
.hero-slide::after,.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,10,25,.93) 0%,rgba(3,17,42,.78) 48%,rgba(3,17,42,.38) 100%);
  z-index:0;
}
.hero-slide>* ,.hero>*{position:relative;z-index:1}

/* Gradient text fallback: readable even where background-clip fails. */
.px-gradient-text{
  color:#fff!important;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.2));
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .px-gradient-text{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important}
}

/* Buttons and CTA states — explicit foreground/background pairs. */
.btn-primary,.nav-cta,.whatsapp-dock .wa,.whatsapp-bar,.enroll{
  color:#fff!important;
  text-shadow:none!important;
}
.btn-primary:hover,.btn-primary:focus-visible,.nav-cta:hover,.nav-cta:focus-visible{color:#fff!important}
.btn-light{background:#fff!important;color:var(--v38-ink)!important}
.btn-light:hover,.btn-light:focus-visible{color:#04152c!important;background:#f1f6ff!important}
.btn-outline{background:#fff!important;color:var(--v38-blue-dark)!important;border-color:#8caee9!important}
.btn-outline:hover,.btn-outline:focus-visible{background:#eaf2ff!important;color:#052d7c!important}
.feature-band .btn-outline,.brand-block .btn-outline,.corporate-box .btn-outline,.stats .btn-outline,
.px-hero .btn-outline,.hero-slide .btn-outline,.px-page-banner .btn-outline{
  background:rgba(255,255,255,.96)!important;
  color:#08275b!important;
  border-color:#fff!important;
}

/* Labels, badges, tags and prices. */
.tag,.badge{color:#733200!important;background:#fff4df!important;border-color:#e2ae58!important}
.price,.new{color:#073da2!important}
.old{color:#66758a!important}
.stars{color:#9a5a00!important}
.feature-band .tag,.brand-block .tag,.corporate-box .tag,.px-hero .tag,.px-page-banner .tag{
  color:#08275b!important;background:#dff8ff!important;border-color:#83ddec!important;
}

/* Forms and placeholders. */
label{color:var(--v38-ink)!important;font-weight:750}
input,select,textarea{
  color:#10233b!important;
  background:#fff!important;
  border-color:#aebdd0!important;
  opacity:1!important;
}
input::placeholder,textarea::placeholder{color:#64758a!important;opacity:1!important}
select option{color:#10233b;background:#fff}
input:disabled,select:disabled,textarea:disabled{color:#43546b!important;background:#e9eef5!important;opacity:1!important}

/* Navigation and dropdowns. */
.header,.prestige-pro-header{color:var(--v38-ink)}
.menu>a,.nav-dropbtn{color:#12253d!important}
.menu>a:hover,.menu>a:focus-visible,.nav-dropbtn:hover,.nav-dropbtn:focus-visible{color:#073da2!important}
.nav-dropdown-menu a{color:#18304c!important;background:#fff!important}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{color:#052d7c!important;background:#eaf2ff!important}
.topbar,.topbar a{color:#fff!important}

/* Icon-only blocks and circular controls. */
.icon,.service-pro-icon,.course-img i,.review-avatar,.grad-photo,.px-track-item i,
.p2-backtop,.mobile-close{color:#fff!important}
.icon i,.service-pro-icon i{color:#fff!important}

/* Avoid low-opacity text introduced by animation or disabled visual states. */
main p,main li,main span,main small,main a{opacity:1}
[aria-disabled="true"],button:disabled{opacity:.72!important}

/* Visible selection and keyboard focus on every surface. */
::selection{background:#113e91;color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #f0b429!important;
  outline-offset:3px!important;
}

/* High contrast / forced colors compatibility. */
@media (forced-colors:active){
  .px-gradient-text{-webkit-text-fill-color:CanvasText!important;color:CanvasText!important}
  .hero-slide::after,.hero::after{display:none}
}
