
/* ============================================================
   CONTRAST SAFE V13
   Explicit separation of DARK and LIGHT UI surfaces.
   Loaded after reference-perfect-v11.css and V12 overrides.
   ============================================================ */
:root{
  --v13-ink:#08172f;
  --v13-ink-2:#132746;
  --v13-copy:#435976;
  --v13-copy-2:#566c88;
  --v13-muted:#627590;
  --v13-white:#ffffff;
  --v13-dark-copy:#dbe8f8;
  --v13-dark-muted:#b9cbe3;
  --v13-line:#dce7f6;
  --v13-blue:#1769ff;
}

/* LIGHT SURFACES: headings dark, copy deliberately darker than previous gray */
body,
.v11-value-strip,
.v11-services,
.v11-process,
.v11-why,
.v11-pricing,
.v11-blog-preview,
.section,
.section.alt,
.article,
.card,
.mini-link-card,
.topic-triad-card,
.v11-service-card,
.v11-process-grid article,
.v11-price-side,
.v11-price-factors div,
.pricing-info-card,
.pricing-note-card,
.blog-card,
.toc,
.keyword-main,
.keyword-sidebar,
.keyword-side-cta,
.keyword-final-cta,
.seo-intro-main,
.seo-intro-card,
.seo-side-links,
.seo-process-grid article,
.seo-feature-grid article,
.seo-cta-band,
.final-cta-card,
.contact-form-shell,
.contact-form-card,
.contact-aside-card,
.faq-wrap details,
.service-cards-extended .card,
.authority-infographic{
  color:var(--v13-ink)!important;
}

body h1,body h2,body h3,body h4,
.v11-value-strip h1,.v11-value-strip h2,.v11-value-strip h3,
.v11-services h1,.v11-services h2,.v11-services h3,
.v11-process h1,.v11-process h2,.v11-process h3,
.v11-why h1,.v11-why h2,.v11-why h3,
.v11-pricing h1,.v11-pricing h2,.v11-pricing h3,
.v11-blog-preview h1,.v11-blog-preview h2,.v11-blog-preview h3,
.section h1,.section h2,.section h3,.section h4,
.article h1,.article h2,.article h3,
.card h1,.card h2,.card h3,
.mini-link-card h1,.mini-link-card h2,.mini-link-card h3,
.topic-triad-card h1,.topic-triad-card h2,.topic-triad-card h3,
.v11-service-card h1,.v11-service-card h2,.v11-service-card h3,
.v11-process-grid h1,.v11-process-grid h2,.v11-process-grid h3,
.v11-price-side h1,.v11-price-side h2,.v11-price-side h3,
.pricing-info-card h1,.pricing-info-card h2,.pricing-info-card h3,
.pricing-note-card h1,.pricing-note-card h2,.pricing-note-card h3,
.blog-card h1,.blog-card h2,.blog-card h3,
.toc h1,.toc h2,.toc h3,
.keyword-main h1,.keyword-main h2,.keyword-main h3,
.keyword-sidebar h1,.keyword-sidebar h2,.keyword-sidebar h3,
.keyword-side-cta h1,.keyword-side-cta h2,.keyword-side-cta h3,
.keyword-final-cta h1,.keyword-final-cta h2,.keyword-final-cta h3,
.seo-intro-main h1,.seo-intro-main h2,.seo-intro-main h3,
.seo-intro-card h1,.seo-intro-card h2,.seo-intro-card h3,
.seo-side-links h1,.seo-side-links h2,.seo-side-links h3,
.seo-process-grid h1,.seo-process-grid h2,.seo-process-grid h3,
.seo-feature-grid h1,.seo-feature-grid h2,.seo-feature-grid h3,
.seo-cta-band h1,.seo-cta-band h2,.seo-cta-band h3,
.final-cta-card h1,.final-cta-card h2,.final-cta-card h3,
.contact-form-shell h1,.contact-form-shell h2,.contact-form-shell h3,
.contact-form-card h1,.contact-form-card h2,.contact-form-card h3,
.contact-aside-card h1,.contact-aside-card h2,.contact-aside-card h3,
.faq-wrap details h1,.faq-wrap details h2,.faq-wrap details h3,
.service-cards-extended .card h1,.service-cards-extended .card h2,.service-cards-extended .card h3{
  color:var(--v13-ink)!important;
  -webkit-text-fill-color:var(--v13-ink)!important;
}

.section p,.section li,
.article p,.article li,
.card p,.card li,
.mini-link-card p,.mini-link-card li,
.topic-triad-card p,.topic-triad-card li,
.v11-service-card p,.v11-service-card li,
.v11-process-grid p,.v11-process-grid li,
.v11-price-side p,.v11-price-side li,
.v11-price-factors span,.v11-price-factors p,
.pricing-info-card p,.pricing-info-card li,
.pricing-note-card p,.pricing-note-card li,
.blog-card p,.blog-card li,
.toc p,.toc li,.toc a,
.keyword-main p,.keyword-main li,
.keyword-sidebar p,.keyword-sidebar li,
.keyword-side-cta p,.keyword-side-cta li,
.keyword-final-cta p,.keyword-final-cta li,
.seo-intro-main p,.seo-intro-main li,
.seo-intro-card p,.seo-intro-card li,
.seo-side-links p,.seo-side-links li,
.seo-process-grid p,.seo-process-grid li,
.seo-feature-grid p,.seo-feature-grid li,
.seo-cta-band p,.seo-cta-band li,
.final-cta-card p,.final-cta-card li,
.contact-form-shell p,.contact-form-shell li,
.contact-form-card p,.contact-form-card li,
.contact-aside-card p,.contact-aside-card li,
.faq-wrap details p,.faq-wrap details li,
.service-cards-extended .card p,.service-cards-extended .card li{
  color:var(--v13-copy)!important;
  opacity:1!important;
}

/* Restore light CTA cards incorrectly affected by V12 */
.final-cta-card,
.keyword-final-cta,
.seo-cta-band{
  background:linear-gradient(135deg,#ffffff,#f7faff)!important;
  color:var(--v13-ink)!important;
}
.final-cta-card h2,.final-cta-card h3,.final-cta-card strong,
.keyword-final-cta h2,.keyword-final-cta h3,.keyword-final-cta strong,
.seo-cta-band h2,.seo-cta-band h3,.seo-cta-band strong{
  color:var(--v13-ink)!important;
  -webkit-text-fill-color:var(--v13-ink)!important;
}
.final-cta-card p,.final-cta-card span,.final-cta-card li,
.keyword-final-cta p,.keyword-final-cta span,.keyword-final-cta li,
.seo-cta-band p,.seo-cta-band span,.seo-cta-band li{
  color:var(--v13-copy)!important;
}
.final-cta-card .btn-secondary,.keyword-final-cta .btn-secondary,.seo-cta-band .btn-secondary{
  background:#fff!important;color:#15305d!important;border-color:#b9cbed!important;
}
.final-cta-card .btn-primary,.keyword-final-cta .btn-primary,.seo-cta-band .btn-primary{
  color:#fff!important;
}

/* DARK SURFACES: all core text becomes white/light */
.v11-hero,
.v11-platform-strip,
.service-hero-premium,
.service-hero-text-only,
.keyword-hero,
.seo-page-hero,
.contact-hero-premium,
.blog-hero-premium,
.blog-hero-premium-v2,
.process-cta-pro,
.v11-price-main,
.pricing-package-card.featured,
.footer,
.footer-cta-band{
  color:#fff!important;
}

.v11-hero h1,.v11-hero h2,.v11-hero h3,.v11-hero h4,.v11-hero strong,
.v11-platform-strip h1,.v11-platform-strip h2,.v11-platform-strip h3,.v11-platform-strip strong,
.service-hero-premium h1,.service-hero-premium h2,.service-hero-premium h3,.service-hero-premium h4,.service-hero-premium strong,
.service-hero-text-only h1,.service-hero-text-only h2,.service-hero-text-only h3,.service-hero-text-only h4,.service-hero-text-only strong,
.keyword-hero h1,.keyword-hero h2,.keyword-hero h3,.keyword-hero strong,
.seo-page-hero h1,.seo-page-hero h2,.seo-page-hero h3,.seo-page-hero strong,
.contact-hero-premium h1,.contact-hero-premium h2,.contact-hero-premium h3,.contact-hero-premium strong,
.blog-hero-premium h1,.blog-hero-premium h2,.blog-hero-premium h3,.blog-hero-premium strong,
.blog-hero-premium-v2 h1,.blog-hero-premium-v2 h2,.blog-hero-premium-v2 h3,.blog-hero-premium-v2 strong,
.process-cta-pro h1,.process-cta-pro h2,.process-cta-pro h3,.process-cta-pro strong,
.v11-price-main h1,.v11-price-main h2,.v11-price-main h3,.v11-price-main strong,
.pricing-package-card.featured h1,.pricing-package-card.featured h2,.pricing-package-card.featured h3,.pricing-package-card.featured strong,
.footer h1,.footer h2,.footer h3,.footer h4,.footer strong,
.footer-cta-band h1,.footer-cta-band h2,.footer-cta-band h3,.footer-cta-band strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.v11-hero p,.v11-hero li,.v11-hero small,
.v11-platform-strip p,.v11-platform-strip li,.v11-platform-strip span,.v11-platform-strip small,
.service-hero-premium p,.service-hero-premium li,.service-hero-premium small,
.service-hero-text-only p,.service-hero-text-only li,.service-hero-text-only small,
.keyword-hero p,.keyword-hero li,.keyword-hero small,
.seo-page-hero p,.seo-page-hero li,.seo-page-hero small,
.contact-hero-premium p,.contact-hero-premium li,.contact-hero-premium small,
.blog-hero-premium p,.blog-hero-premium li,.blog-hero-premium small,
.blog-hero-premium-v2 p,.blog-hero-premium-v2 li,.blog-hero-premium-v2 small,
.process-cta-pro p,.process-cta-pro li,.process-cta-pro span,.process-cta-pro small,
.v11-price-main p,.v11-price-main li,.v11-price-main span,.v11-price-main small,
.pricing-package-card.featured p,.pricing-package-card.featured li,.pricing-package-card.featured span,.pricing-package-card.featured small,
.footer p,.footer li,.footer span,.footer small,
.footer-cta-band p,.footer-cta-band li,.footer-cta-band span,.footer-cta-band small{
  color:var(--v13-dark-copy)!important;
  opacity:1!important;
}

/* Dark hero chips / metrics must stay light even though they are card-like */
.service-hero-premium .service-metric-card,
.service-hero-text-only .service-metric-card{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
.service-hero-premium .service-metric-card strong,
.service-hero-text-only .service-metric-card strong{
  color:#fff!important;
}
.service-hero-premium .service-metric-card span,
.service-hero-text-only .service-metric-card span,
.service-hero-premium .service-metric-card p,
.service-hero-text-only .service-metric-card p{
  color:#d4e3f7!important;
}
.service-hero-premium .service-hero-points span,
.service-hero-text-only .service-hero-points span,
.service-hero-premium .compare-badges span,
.service-hero-text-only .compare-badges span{
  color:#e6f0ff!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.service-hero-premium .eyebrow,
.service-hero-text-only .eyebrow,
.keyword-hero .eyebrow,
.seo-page-hero .eyebrow,
.contact-hero-premium .eyebrow{
  color:#82beff!important;
}

/* Blog dark translucent side card */
.blog-hero-premium .blog-hero-card.premium,
.blog-hero-premium-v2 .blog-hero-card.premium{
  color:#fff!important;
  background:rgba(255,255,255,.085)!important;
  border-color:rgba(255,255,255,.15)!important;
}
.blog-hero-premium .blog-hero-card.premium h3,
.blog-hero-premium-v2 .blog-hero-card.premium h3,
.blog-hero-premium .blog-hero-card.premium strong,
.blog-hero-premium-v2 .blog-hero-card.premium strong{
  color:#fff!important;
}
.blog-hero-premium .blog-hero-card.premium p,
.blog-hero-premium-v2 .blog-hero-card.premium p,
.blog-hero-premium .blog-hero-mini-cta p,
.blog-hero-premium-v2 .blog-hero-mini-cta p{
  color:#d6e4f7!important;
}
.blog-hero-premium .blog-hero-card-kicker,
.blog-hero-premium-v2 .blog-hero-card-kicker{
  color:#9ec9ff!important;
}

/* Dark section links/buttons */
.v11-hero a,.v11-platform-strip a,
.service-hero-premium a,.service-hero-text-only a,
.keyword-hero a,.seo-page-hero a,.contact-hero-premium a,
.blog-hero-premium a,.blog-hero-premium-v2 a,
.process-cta-pro a,.v11-price-main a,.pricing-package-card.featured a,
.footer a,.footer-cta-band a{color:#fff!important}

.v11-hero .btn-secondary,
.service-hero-premium .btn-secondary,.service-hero-text-only .btn-secondary,
.keyword-hero .btn-secondary,.seo-page-hero .btn-secondary,.contact-hero-premium .btn-secondary,
.blog-hero-premium .btn-secondary,.blog-hero-premium-v2 .btn-secondary,
.process-cta-pro .btn-secondary{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.48)!important;
  color:#fff!important;
}

/* Featured pricing white secondary button: dark label for maximum contrast */
.v11-price-main .v11-btn.light,
.v11-price-main .btn.light,
.pricing-package-card.featured .btn-secondary{
  background:#fff!important;
  border-color:#fff!important;
  color:#0b356f!important;
  -webkit-text-fill-color:#0b356f!important;
}

/* Header, nav and light form text */
.header,.mobile-menu-panel{color:var(--v13-ink)!important}
.header .nav a,.mobile-menu-nav a{color:#17274a!important}
.header .nav a:hover,.mobile-menu-nav a:hover{color:var(--v13-blue)!important}
.contact-form-shell label,.contact-form-card label{color:#1d3155!important}
.contact-form-shell input,.contact-form-shell textarea,.contact-form-shell select,
.contact-form-card input,.contact-form-card textarea,.contact-form-card select{
  color:#0f203e!important;background:#fff!important;
}
.contact-form-shell input::placeholder,.contact-form-shell textarea::placeholder,
.contact-form-card input::placeholder,.contact-form-card textarea::placeholder{
  color:#6d7f99!important;opacity:1!important;
}

/* Meta labels on white backgrounds: avoid washed-out gray */
.blog-card .meta,.article .meta,.topic-badge,.kicker,.section-head .kicker{
  opacity:1!important;
}
.blog-card .meta{color:#2459c7!important;background:#eef4ff!important}
.kicker,.section-head .kicker{color:#2459c7!important}

/* SVG/image containers: no blending into surrounding surface */
.v11-hero-art img,.v11-service-visual img,.authority-infographic img,.v11-diagram img{
  display:block!important;
  max-width:100%!important;
  height:auto!important;
}
.v11-service-visual img,.authority-infographic img{
  background:#f8fbff!important;
  border-radius:18px!important;
}

/* Accessibility focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid #66a3ff!important;
  outline-offset:3px!important;
}

@media(max-width:700px){
  body p,body li{font-size:16px}
  .v11-value-grid p,.v11-process-grid p,.blog-card p{color:#4c607e!important}
}
