/*
 * Radventurers v5.3.1 — Sitewide Readability & Contrast Contract
 * One explicit visual system for all public pages, H2 pages, managed content,
 * archive/single templates, forms, navigation and floating menus.
 *
 * RULES
 * 1) Light surface = dark text.
 * 2) Dark surface = light text.
 * 3) Green is an action/selection accent, not body-copy color.
 * 4) Native controls stay light even when the visitor's OS/browser prefers dark mode.
 * 5) High-contrast/forced-colors modes remain user-controlled.
 */

:root{
  --rml530-page:#f5f7f6;
  --rml530-light:#ffffff;
  --rml530-soft:#eef2f0;
  --rml530-dark:#0e1512;
  --rml530-dark-2:#17201c;
  --rml530-text:#111512;
  --rml530-muted:#46524c;
  --rml530-text-dark:#f7faf8;
  --rml530-muted-dark:#d1dad5;
  --rml530-line:#9ba8a1;
  --rml530-line-dark:#64736b;
  --rml530-accent:#a8f239;
  --rml530-danger:#9f1f18;
  --rml530-warning:#7b5600;
}

/* ---------- BROWSER / OS THEME NORMALIZATION ---------- */
html{color-scheme:only light!important}
body,.wp-site-blocks{background:var(--rml530-page)!important;color:var(--rml530-text)!important}
body{text-shadow:none!important}
body *{text-shadow:none}

/* Do not fight Windows High Contrast / forced-colors. */
@media (forced-colors:active){
  html{color-scheme:normal!important}
}

/* ---------- DEFAULT PAGE CONTENT ---------- */
html body .rml-content-shell,
html body .section:not(.dark),
html body .page-hero:not(.cyber):not(.hero-scenic),
html body .rml-seo-hub,
html body .rml-commerce-section,
html body .rml-commerce-hub-v480,
html body .rml-filtered-products-v480,
html body .rml-category-picker-v480,
html body .rml-commerce-confidence-v480,
html body .rml-research-library,
html body .rml-research-disclosure,
html body .rml-mobility-progression-plan,
html body .rml-nutrition-section,
html body .rml-membership{
  color:var(--rml530-text)!important;
}

html body .section:not(.dark) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em),
html body .rml-content-shell :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em),
html body .rml-seo-hub :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small),
html body .rml-commerce-section :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small),
html body .rml-commerce-hub-v480 :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small),
html body .rml-filtered-products-v480 :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small),
html body .rml-category-picker-v480 :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small),
html body .rml-commerce-confidence-v480 :is(h1,h2,h3,h4,h5,h6,p,li,strong,span,small){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ---------- ONE LIGHT CARD SYSTEM ---------- */
html body :is(
  .panel,.card:not(.dark-card),.rml-card,.rml-safety-strip,.rml-safety-card,.rml-safety-badge,
  .rml-price-card,.rml-mobility-hub,.rml-seo-copy,.rml-keyword-grid>div,.rml-gallery-item,
  .rml-gallery-teaser,.rml-teaser-card,.notice,.legal-warning,.rml-legal-notice,.product-tile,
  .legal-grid>a,.shop-card,.brand-strip a,.waiver-paper,.product-preview,.rental-table-wrap,
  .rml-research-card,.rml-evidence-caveat,.rml-measure-grid article,.rml-industry-grid article,
  .rml-body-results,.rml-body-product-card,.rml-wg-why-grid article,.rml-product-reference-visual,
  .rml-product-evidence-visual,.rml-guide-card,.rml-center-pricing-wrap,.rml-price-notes,
  .rml-center-evidence-grid article,.rml-family-jump,.rml-family-model,.rml-family-model-grid>section,
  .rml-carousel-copy,.rml-first-use,.rml-ebike-first-use,.rml-side-link-card,.rml-popout-card,
  .rml-stage-card,.rml-stage-gate,.rml-metric-grid article,.rml-membership-grid article,
  .rml-progression-boundaries,.rml-boundary-grid article,.rml-meal-track,.rml-meal-day,
  .rml-meal-stage-link,.rml-supplement-grid article,.rml-plan-course-source,.rml-plan-gates,
  .rml-plan-owner,.rml-plan-fukazawa,.rml-plan-fukazawa-points article,.rml-plan-steps article,
  .rml-plan-two article,.rml-home-clinical-feature,.rml-mobility-program-spotlight,
  .rml-commerce-product-card-v480,.rml-price-grid-v480>div,.rml-no-products-v480,
  .rml-store-card,.rml-product-window,.rml-product-window-stage,.rml-price-window-grid article,
  .rml-product-window-rail button,.rml-founder-photo-v412,.rml-founder-credibility-v412
){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
  text-shadow:none!important;
}
html body :is(
  .panel,.card:not(.dark-card),.rml-card,.rml-safety-card,.rml-safety-badge,.rml-price-card,
  .rml-seo-copy,.rml-keyword-grid>div,.rml-gallery-item,.rml-gallery-teaser,.rml-teaser-card,
  .notice,.legal-warning,.rml-legal-notice,.product-tile,.legal-grid>a,.shop-card,.brand-strip a,
  .waiver-paper,.product-preview,.rental-table-wrap,.rml-research-card,.rml-evidence-caveat,
  .rml-measure-grid article,.rml-industry-grid article,.rml-body-results,.rml-body-product-card,
  .rml-wg-why-grid article,.rml-guide-card,.rml-center-pricing-wrap,.rml-price-notes,
  .rml-center-evidence-grid article,.rml-family-jump,.rml-family-model,.rml-family-model-grid>section,
  .rml-carousel-copy,.rml-first-use,.rml-ebike-first-use,.rml-side-link-card,.rml-popout-card,
  .rml-stage-card,.rml-stage-gate,.rml-metric-grid article,.rml-membership-grid article,
  .rml-progression-boundaries,.rml-boundary-grid article,.rml-meal-track,.rml-meal-day,
  .rml-meal-stage-link,.rml-supplement-grid article,.rml-plan-course-source,.rml-plan-gates,
  .rml-plan-owner,.rml-plan-fukazawa,.rml-plan-fukazawa-points article,.rml-plan-steps article,
  .rml-plan-two article,.rml-commerce-product-card-v480,.rml-price-grid-v480>div,.rml-no-products-v480,
  .rml-store-card,.rml-product-window,.rml-price-window-grid article,.rml-product-window-rail button,
  .rml-founder-photo-v412,.rml-founder-credibility-v412
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em,a:not(.button):not(.h20-btn):not(.h20-v5-btn)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}

/* Collapse decorative pale/colored blocks into one neutral light surface. */
html body :is(
  .accent,.rml-wg-events,.rml-localized-status,.rml-language-note,.rml-progression-owner,
  .rml-course-db-stat,.rml-family-positive,.rml-stage-gate,.rml-meal-stage-link,
  .has-mobility-green-background-color,.has-cyber-blue-background-color,
  .has-signal-pink-background-color,.has-gold-background-color,.has-paper-background-color,
  .has-white-background-color
){
  background:var(--rml530-soft)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body :is(
  .accent,.rml-wg-events,.rml-localized-status,.rml-language-note,.rml-progression-owner,
  .rml-course-db-stat,.rml-family-positive,.rml-stage-gate,.rml-meal-stage-link,
  .has-mobility-green-background-color,.has-cyber-blue-background-color,
  .has-signal-pink-background-color,.has-gold-background-color,.has-paper-background-color,
  .has-white-background-color
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em,a:not(.button):not(.h20-btn):not(.h20-v5-btn)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ---------- ONE DARK SURFACE SYSTEM ---------- */
html body :is(
  .dark,.dark-inline,.rml-dark-card,.rml-post-library,.rml-footer,.site-footer,.rml-glass,
  .glass-panel,.hero-banner,.page-hero.cyber,.page-hero.hero-scenic,.rml-page-hero-v2,
  .rml-gallery-hero,.visual-card,.related-posts-section,.rml-events-preview,.rml-event-card,
  .rml-localized-nav,.rml-customer-story,.rml-video-wrap,.rml-wg-hero,.rml-wg-ecosystem,
  .rml-human-map,.rml-wg-video-section,.rml-home-video-frame,.rml-home-video-empty,
  .rml-branded-hero,.rml-hero-page-title,.rml-marketplace-hero-media,.rml-center-cta,
  .rml-page-explorer,.rml-family-pricing,.rml-family-price-grid>div,.rml-carousel-stage,
  .rml-carousel-media,.rml-human-map-3d,.rml-program-disclaimer,.rml-safety-grid article,
  .rml-stop-card,.rml-fukazawa-authority-points article,.rml-member-gate,.rml-member-status,
  .rml-plan-notice,.rml-logo-band,.rml-logo-wall a,.rml-commerce-hero-v480,
  .rml-official-resource-hub-v490,.rml-official-resource-grid-v490 a,.rml-logo-feature,
  .has-ink-background-color,.has-deep-background-color
){
  background-color:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
  text-shadow:none!important;
}
html body :is(
  .dark,.dark-inline,.rml-dark-card,.rml-post-library,.rml-footer,.site-footer,.rml-glass,
  .glass-panel,.hero-banner,.page-hero.cyber,.page-hero.hero-scenic,.rml-page-hero-v2,
  .rml-gallery-hero,.visual-card,.related-posts-section,.rml-events-preview,.rml-event-card,
  .rml-localized-nav,.rml-customer-story,.rml-video-wrap,.rml-wg-hero,.rml-wg-ecosystem,
  .rml-human-map,.rml-wg-video-section,.rml-home-video-frame,.rml-home-video-empty,
  .rml-branded-hero,.rml-hero-page-title,.rml-marketplace-hero-media,.rml-center-cta,
  .rml-page-explorer,.rml-family-pricing,.rml-family-price-grid>div,.rml-carousel-stage,
  .rml-carousel-media,.rml-human-map-3d,.rml-program-disclaimer,.rml-safety-grid article,
  .rml-stop-card,.rml-fukazawa-authority-points article,.rml-member-gate,.rml-member-status,
  .rml-plan-notice,.rml-logo-band,.rml-logo-wall a,.rml-commerce-hero-v480,
  .rml-official-resource-hub-v490,.rml-official-resource-grid-v490 a,.rml-logo-feature,
  .has-ink-background-color,.has-deep-background-color
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em,a:not(.button):not(.h20-btn):not(.h20-v5-btn)){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}

/* ---------- HEADER / PRIMARY NAV ---------- */
html body .rml-header,
html body .rml-header>.wp-block-group,
html body .rml-header .wp-block-navigation__responsive-container{
  background:rgba(255,255,255,.985)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body .rml-header :is(a,.wp-block-navigation-item__content,.wp-block-navigation-item__label){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body .rml-header .wp-block-navigation-item__content:hover,
html body .rml-header .wp-block-navigation-item__content:focus-visible{
  background:var(--rml530-soft)!important;
  color:var(--rml530-text)!important;
}
html body .rml-header .wp-block-navigation__responsive-container-open,
html body .rml-header .wp-block-navigation__responsive-container-close{
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-dark)!important;
}
html body .rml-language-switcher,
html body .rml-language-switcher select{
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  color-scheme:only light!important;
}

/* ---------- FOOTER / BLOG LIBRARY ---------- */
html body .rml-footer,
html body .rml-post-library{
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
}
html body .rml-footer *,
html body .rml-post-library *{
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:currentColor!important;
}
html body .rml-post-library details{
  background:var(--rml530-dark-2)!important;
  border-color:var(--rml530-line-dark)!important;
}

/* ---------- HOMEPAGE: LIGHT CONTENT, DARK INTERACTIVE STAGE ONLY ---------- */
html body .h20-home{
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
}
html body .h20-home :is(
  .h20-founder-preview-v412,.h20-newsletter-strip-v410,.h20-video-home,.h20-demo-schedule,
  .h20-home-photo-gallery,#newsletter,#video-library,#demo-schedule,#photo-gallery
){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
}
html body .h20-home :is(
  .h20-founder-preview-v412,.h20-newsletter-strip-v410,.h20-video-home,.h20-demo-schedule,
  .h20-home-photo-gallery,#newsletter,#video-library,#demo-schedule,#photo-gallery
) :is(h1,h2,h3,h4,h5,h6,p,li,figcaption,strong,b,span,small,em,a:not(.h20-btn):not(.button)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
html body .h20-home :is(.h20-section-intro,.micro,.fine-print){color:var(--rml530-muted)!important}
html body .h20-home :is(
  .h20-founder-photo-card-v412,.h20-founder-proof-v412,.h20-demo-grid article,
  .rml-gallery-teaser,.rml-carousel-copy,.rml-gallery-item,.rml-video-thumb
){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.09)!important;
}
html body .h20-home :is(
  .h20-founder-photo-card-v412,.h20-founder-proof-v412,.h20-demo-grid article,
  .rml-gallery-teaser,.rml-carousel-copy,.rml-gallery-item,.rml-video-thumb
) *{
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
html body .h20-home .h20-founder-proof-points-v412 b{
  background:var(--rml530-soft)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body .h20-home .rml-video-thumb img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background:var(--rml530-dark)!important;
}
html body .h20-home .rml-video-thumb-play{
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
}

/* The Human 2.0 interactive stage remains the intentional dark focal area. */
html body .h20-home :is(
  .h20-hero-banner-v47,.h20-integrated-stage-v47,.h20-neon-stage,.h20-neon-popout,
  .h20-hotspot-popover-v47,.h20-product-drawer,.h20-guide-speech-v412,
  .h20-guide-character-embedded-v4123
){
  background-color:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
}
html body .h20-home :is(
  .h20-hero-banner-v47,.h20-integrated-stage-v47,.h20-neon-stage,.h20-neon-popout,
  .h20-hotspot-popover-v47,.h20-product-drawer,.h20-guide-speech-v412,
  .h20-guide-character-embedded-v4123
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em,a:not(.h20-btn):not(.button)){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:currentColor!important;
}
html body .h20-home .h20-human-product{
  background:var(--rml530-dark-2)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
}
html body .h20-home .h20-human-product *{
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ---------- H2 PUBLIC ACCOUNT / LOGIN / JOIN ---------- */
html body .h20-app{
  background:var(--rml530-page)!important;
  color:var(--rml530-text)!important;
}
html body .h20-app :is(.h20-shell,.h20-app-card,.h20-account-summary>div,.h20-auth-footer,.h20-auth-links,.h20-choice,.h20-admin-preview,.h20-success,.h20-safety,.h20-alert){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body .h20-app :is(.h20-shell,.h20-app-card,.h20-account-summary>div,.h20-auth-footer,.h20-auth-links,.h20-choice,.h20-admin-preview,.h20-success,.h20-safety,.h20-alert) :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,strong,b,span,small,em,a:not(.h20-btn):not(.button)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
}
html body .h20-app :is(.h20-kicker,.micro,small){color:var(--rml530-muted)!important}
html body .h20-app .h20-success{border-left:5px solid #44761f!important}
html body .h20-app .h20-safety{border-left:5px solid var(--rml530-warning)!important}
html body .h20-app .h20-alert{border-left:5px solid var(--rml530-danger)!important}

/* ---------- H2 MEMBER PROGRAM / ASSESSMENT / LIBRARY ---------- */
html body .h20-v5-app,
html body .h20-v51-library{
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
}
html body .h20-v5-app :is(.h20-v5-main,.h20-v5-workspace,.h20-v5-frame),
html body .h20-v51-library :is(.h20-v51-shell,.h20-v51-stage,.h20-v51-copy,.h20-v51-sub){
  background:transparent!important;
  color:var(--rml530-text-dark)!important;
}
html body .h20-v5-app :is(
  .h20-v5-panel,.h20-v5-ack,.h20-v5-dashboard-hero,.h20-v5-program-hero,.h20-v5-profile-hero,
  .h20-v5-dashboard-grid>article,.h20-v5-price-grid article,.h20-v5-plan-grid article,
  .h20-v5-meal-grid article,.h20-v5-premium-lock,.h20-v5-ai-card,.h20-v5-upgrade,
  .h20-v5-session-focus,.h20-v5-level-guidance,.h20-v5-complete-card,.h20-v5-followup,
  .h20-v5-checkout-sheet,.h20-v5-device-visual,.h20-v5-security-note
),
html body .h20-v51-library :is(
  .h20-v51-overgrid article,.h20-v51-filegrid>div,.h20-v51-sessioncard,.h20-v51-logform,
  .h20-v51-coachgrid article,.h20-v51-coachstep,.h20-v51-readycallout,.h20-v51-sessiondetails,
  .h20-v51-matchchoice,.h20-v51-assessresult,.h20-v51-question,.h20-v51-blocked,.h20-v51-complete
){
  background:var(--rml530-dark-2)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
  box-shadow:none!important;
}
html body .h20-v5-app :is(
  .h20-v5-panel,.h20-v5-ack,.h20-v5-dashboard-hero,.h20-v5-program-hero,.h20-v5-profile-hero,
  .h20-v5-dashboard-grid>article,.h20-v5-price-grid article,.h20-v5-plan-grid article,
  .h20-v5-meal-grid article,.h20-v5-premium-lock,.h20-v5-ai-card,.h20-v5-upgrade,
  .h20-v5-session-focus,.h20-v5-level-guidance,.h20-v5-complete-card,.h20-v5-followup,
  .h20-v5-checkout-sheet,.h20-v5-device-visual,.h20-v5-security-note
) :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,strong,b,span,small,em,a:not(.h20-btn):not(.h20-v5-btn):not(.button)),
html body .h20-v51-library :is(
  .h20-v51-overgrid article,.h20-v51-filegrid>div,.h20-v51-sessioncard,.h20-v51-logform,
  .h20-v51-coachgrid article,.h20-v51-coachstep,.h20-v51-readycallout,.h20-v51-sessiondetails,
  .h20-v51-matchchoice,.h20-v51-assessresult,.h20-v51-question,.h20-v51-blocked,.h20-v51-complete
) :is(h1,h2,h3,h4,h5,h6,p,li,label,legend,strong,b,span,small,em,a:not(.h20-btn):not(.h20-v5-btn):not(.button)){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Generated progression prose cannot create its own light box/text mismatch. */
html body .h20-v51-library .h20-v51-stage :is(
  p,ul,ol,li,blockquote,pre,code,table,thead,tbody,tfoot,tr,td,th,
  .has-background,.has-white-background-color,.wp-block-group,.wp-block-column
){
  background-color:transparent!important;
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  box-shadow:none!important;
}
html body .h20-v51-library .h20-v51-stage :is(h1,h2,h3,h4,h5,h6){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}

/* H2 reference/program side menu: dark menu, white selected item with black text. */
html body .h20-v51-library .h20-v51-nav{
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
}
html body .h20-v51-library .h20-v51-nav button{
  background:transparent!important;
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  border:1px solid transparent!important;
}
html body .h20-v51-library .h20-v51-nav button:is(:hover,:focus-visible,.is-active){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}

/* H2 choice/level controls: dark by default, light when selected. */
html body .h20-v51-library :is(.h20-v51-bodygrid button,.h20-v51-bigchoices button,.h20-v51-levels button),
html body .h20-v5-app :is(.h20-agent-options button,.h20-scale button){
  background:var(--rml530-dark-2)!important;
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  border:1px solid var(--rml530-line-dark)!important;
}
html body .h20-v51-library :is(.h20-v51-bodygrid button,.h20-v51-bigchoices button,.h20-v51-levels button):is(:hover,:focus-visible,.is-selected,.is-current,.is-active),
html body .h20-v5-app :is(.h20-agent-options button,.h20-scale button):is(:hover,:focus-visible,.is-active){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border:2px solid var(--rml530-accent)!important;
}
html body .h20-v51-library :is(.h20-v51-bodygrid button,.h20-v51-bigchoices button,.h20-v51-levels button):is(:hover,:focus-visible,.is-selected,.is-current,.is-active) *{
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ---------- FORMS: ALWAYS LIGHT FIELD / DARK TEXT ---------- */
html body .wp-site-blocks :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){
  color-scheme:only light!important;
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border:2px solid var(--rml530-line)!important;
  caret-color:var(--rml530-text)!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
html body .wp-site-blocks :is(input,textarea)::placeholder{
  color:var(--rml530-muted)!important;
  -webkit-text-fill-color:var(--rml530-muted)!important;
  opacity:1!important;
}
html body .wp-site-blocks select option{
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
}
html body .wp-site-blocks :is(input[type="checkbox"],input[type="radio"],input[type="range"]){
  accent-color:var(--rml530-accent)!important;
}

/* ---------- TABLES ---------- */
html body .wp-site-blocks table:not(.h20-v51-stage table){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body .wp-site-blocks table:not(.h20-v51-stage table) :is(th,td){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}

/* ---------- BUTTONS: ONLY PRIMARY / SECONDARY ---------- */
html body :is(.button.primary,.h20-btn.primary,.h20-v5-btn.primary,.wp-block-button:not(.is-style-outline) .wp-block-button__link,.wp-element-button){
  background:var(--rml530-accent)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border-color:var(--rml530-text)!important;
  text-shadow:none!important;
  font-weight:900!important;
}
html body :is(.button.secondary,.h20-btn.secondary,.h20-btn.ghost,.h20-v5-btn.secondary,.h20-v5-btn.ghost,.wp-block-button.is-style-outline .wp-block-button__link){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border:2px solid var(--rml530-text)!important;
  text-shadow:none!important;
  font-weight:900!important;
}
html body :is(.nav-cta,.h20-guide-info-v412,.rml-page-explorer button:not(.is-active)){
  background:var(--rml530-dark)!important;
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-dark)!important;
}

/* ---------- MOVING / FLOATING SUBMENUS: ALWAYS WHITE + BLACK ---------- */
html body :is(.h20-home-floating-nav,.h20-member-nav,.h20-v5-dock-inner,.rml-section-links,.rml-center-tabs){
  background:rgba(255,255,255,.985)!important;
  color:var(--rml530-text)!important;
  border:1px solid var(--rml530-line)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.16)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body :is(.h20-home-floating-nav,.h20-member-nav,.h20-v5-dock-inner,.rml-section-links,.rml-center-tabs) :is(a,button,.rml-section-links-label){
  background:transparent!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  text-shadow:none!important;
}
html body :is(.h20-home-floating-nav,.h20-member-nav,.h20-v5-dock-inner,.rml-section-links,.rml-center-tabs) :is(a,button):is(:hover,:focus-visible){
  background:var(--rml530-soft)!important;
  color:var(--rml530-text)!important;
}
html body .h20-member-nav a[aria-current="page"],
html body .h20-member-nav a.is-active,
html body .h20-v5-dock a.is-active,
html body .h20-v5-dock a[aria-current="page"],
html body .rml-center-tabs button.is-active{
  background:var(--rml530-accent)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}

/* ---------- BADGES / TAGS ---------- */
html body :is(.h20-v5-access-pill,.h20-badge,.h20-clearance-badge,.h20-guide-answer-chip-v412,.h20-v51-chips span,.h20-v51-levels em,.rml-status-pill){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border:1px solid var(--rml530-line)!important;
}
html body :is(.h20-v5-access-pill.premium,.h20-v51-levels em){
  background:var(--rml530-accent)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border-color:var(--rml530-text)!important;
}

/* ---------- LINKS ---------- */
html body .wp-site-blocks a:not(.button):not(.h20-btn):not(.h20-v5-btn):not(.wp-block-button__link):not(.wp-block-navigation-item__content){
  text-decoration:underline;
  text-underline-offset:3px;
}
html body .rml-content-shell a:not(.button):not(.wp-block-button__link),
html body .section:not(.dark) a:not(.button):not(.h20-btn):not(.h20-v5-btn),
html body .h20-home :is(.h20-founder-preview-v412,.h20-newsletter-strip-v410,.h20-video-home,.h20-demo-schedule,.h20-home-photo-gallery) a:not(.button):not(.h20-btn){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body :is(.dark,.dark-inline,.rml-footer,.rml-post-library,.h20-v5-app,.h20-v51-library) a:not(.button):not(.h20-btn):not(.h20-v5-btn){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}

/* ---------- FOCUS / DISABLED ---------- */
html body .wp-site-blocks :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid var(--rml530-accent)!important;
  outline-offset:3px!important;
}
html body .wp-site-blocks :is(button,a,input,select,textarea):disabled,
html body .wp-site-blocks [aria-disabled="true"]{
  opacity:.62!important;
  cursor:not-allowed!important;
}

/* ---------- MOBILE ---------- */
@media(max-width:900px){
  html body .rml-header .wp-block-navigation__responsive-container.is-menu-open{
    background:var(--rml530-light)!important;
    color:var(--rml530-text)!important;
  }
  html body .rml-header .wp-block-navigation__responsive-container.is-menu-open *{
    color:var(--rml530-text)!important;
    -webkit-text-fill-color:currentColor!important;
  }
  html body .rml-header .wp-block-navigation__responsive-container-close{
    background:var(--rml530-dark)!important;
    color:var(--rml530-text-dark)!important;
    -webkit-text-fill-color:var(--rml530-text-dark)!important;
  }
}

/* ---------- FINAL SITEWIDE SAFETY NET ----------
 * This is intentionally last. Legacy page/plugin CSS contains historical !important
 * foreground declarations. These rules bind foreground color to the actual surface
 * instead of relying on inheritance, so a later browser/OS preference cannot create
 * white-on-white or dark-on-dark content.
 */

/* Public/light content is deliberately flattened to a small neutral palette. */
html body .h20-home > section:not(.h20-hero-banner-v47),
html body .section:not(.dark):not(.dark-inline),
html body .rml-content-shell,
html body .rml-research-library,
html body .rml-commerce-section,
html body .rml-commerce-hub-v480,
html body .rml-filtered-products-v480,
html body .rml-category-picker-v480,
html body .rml-commerce-confidence-v480,
html body .rml-mobility-progression-plan,
html body .rml-progression-program,
html body .rml-nutrition-section,
html body .rml-membership,
html body .rml-products-services-template{
  background-color:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
}

html body .h20-home > section:not(.h20-hero-banner-v47) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em),
html body .section:not(.dark):not(.dark-inline) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em),
html body .rml-content-shell :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em),
html body :is(.rml-research-library,.rml-commerce-section,.rml-commerce-hub-v480,.rml-filtered-products-v480,.rml-category-picker-v480,.rml-commerce-confidence-v480,.rml-mobility-progression-plan,.rml-progression-program,.rml-nutrition-section,.rml-membership,.rml-products-services-template) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  text-shadow:none!important;
}

/* Gutenberg's preset foreground classes are normalized on light surfaces. */
html body :is(.h20-home > section:not(.h20-hero-banner-v47),.section:not(.dark):not(.dark-inline),.rml-content-shell,.rml-products-services-template)
:is(.has-white-color,.has-contrast-color,.has-base-color,.has-light-color){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}

/* Branded/image heroes and deliberate dark areas always get light foregrounds. */
html body :is(
  .dark,.dark-inline,.dark-panel,.rml-dark-card,.rml-footer,.site-footer,.rml-post-library,
  .page-hero.cyber,.hero-banner,.rml-branded-hero,.rml-page-title-strip,.rml-education-cta,
  .rml-center-hero,.rml-progression-hero,.h20-hero-banner-v47,.h20-integrated-stage-v47,
  .h20-neon-stage,.h20-neon-popout,.h20-hotspot-popover-v47,.h20-product-drawer,
  .h20-guide-speech-v412,.h20-guide-character-embedded-v4123,.h20-v5-app,.h20-v51-library
){
  color:var(--rml530-text-dark)!important;
}
html body :is(
  .dark,.dark-inline,.dark-panel,.rml-dark-card,.rml-footer,.site-footer,.rml-post-library,
  .page-hero.cyber,.hero-banner,.rml-branded-hero,.rml-page-title-strip,.rml-education-cta,
  .rml-center-hero,.rml-progression-hero,.h20-hero-banner-v47,.h20-integrated-stage-v47,
  .h20-neon-stage,.h20-neon-popout,.h20-hotspot-popover-v47,.h20-product-drawer,
  .h20-guide-speech-v412,.h20-guide-character-embedded-v4123,.h20-v5-app,.h20-v51-library
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,td,th,strong,b,span,small,em){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  text-shadow:none!important;
}

/* Covers retain readable overlay text regardless of Gutenberg preset color classes. */
html body .wp-block-cover :is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em,a:not(.button):not(.wp-block-button__link)){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}

/* Reassert controls last: buttons/menus must not inherit surrounding text colors. */
html body :is(.button.primary,.h20-btn.primary,.h20-v5-btn.primary,.wp-element-button,.wp-block-button:not(.is-style-outline) .wp-block-button__link){
  background:var(--rml530-accent)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body :is(.button.secondary,.h20-btn.secondary,.h20-btn.ghost,.h20-v5-btn.secondary,.h20-v5-btn.ghost,.wp-block-button.is-style-outline .wp-block-button__link){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body :is(.h20-home-floating-nav,.h20-member-nav,.h20-v5-dock-inner,.rml-section-links,.rml-center-tabs){
  background:#fff!important;
  color:#111512!important;
}
html body :is(.h20-home-floating-nav,.h20-member-nav,.h20-v5-dock-inner,.rml-section-links,.rml-center-tabs) :is(a,button,.rml-section-links-label){
  color:#111512!important;
  -webkit-text-fill-color:#111512!important;
}
html body .h20-member-nav a[aria-current="page"],
html body .h20-member-nav a.is-active,
html body .h20-v5-dock a.is-active,
html body .h20-v5-dock a[aria-current="page"],
html body .rml-center-tabs button.is-active{
  background:var(--rml530-accent)!important;
  color:#111512!important;
  -webkit-text-fill-color:#111512!important;
}


/* ========================================================================
   v5.3.1 — SURFACE HIERARCHY REPAIR
   Screenshots from live pages exposed two cases the v5.3.0 classifier could
   not infer safely: custom dark sections without a `.dark` class, and light
   cards nested inside dark sections. These rules are intentionally LAST.
   ======================================================================== */

/* Custom dark page families: explicit surface ownership beats page defaults. */
html body :is(
  .rml-mission-hero-v412,
  .rml-credibility-logo-banner,
  .h20-founder-preview-v412,
  .rml-marketplace-hero,
  .rml-center-hero,
  .rml-progression-hero,
  .rml-plan-hero,
  .rml-member-gate,
  .h20-hero,
  .h20-hero-integrated,
  .h20-compact-stage,
  .h20-product-rotation-v410,
  .rml-official-resource-hub-v490
){
  color:var(--rml530-text-dark)!important;
}
html body :is(
  .rml-mission-hero-v412,
  .rml-credibility-logo-banner,
  .h20-founder-preview-v412,
  .rml-marketplace-hero,
  .rml-center-hero,
  .rml-progression-hero,
  .rml-plan-hero,
  .rml-member-gate,
  .h20-hero,
  .h20-hero-integrated,
  .h20-compact-stage,
  .h20-product-rotation-v410,
  .rml-official-resource-hub-v490
) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,strong,b,span,small,em){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
  text-shadow:none!important;
}
html body :is(.rml-mission-hero-v412,.rml-credibility-logo-banner,.h20-founder-preview-v412) .eyebrow{
  color:var(--rml530-accent)!important;
  -webkit-text-fill-color:var(--rml530-accent)!important;
}

/* Credibility banner keeps its deliberately dark internal logo bands. */
html body .rml-credibility-logo-banner :is(.rml-logo-band,.rml-logo-wall a){
  background:var(--rml530-dark-2)!important;
  color:var(--rml530-text-dark)!important;
  border-color:var(--rml530-line-dark)!important;
}
html body .rml-credibility-logo-banner :is(.rml-logo-band,.rml-logo-wall a) :is(strong,span,p,small){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}
html body .rml-credibility-logo-banner :is(.rml-credibility-logo-intro,.credibility-note){
  color:var(--rml530-muted-dark)!important;
  -webkit-text-fill-color:var(--rml530-muted-dark)!important;
}

/* A LIGHT CARD IS ALWAYS LIGHT, even when nested inside a dark section. */
html body :is(.dark,.dark-inline,.rml-mission-hero-v412,.rml-credibility-logo-banner,.h20-founder-preview-v412)
:is(.panel,.card:not(.dark-card),.rml-card,.notice,.rml-legal-notice,.rml-founder-photo-v412,.rml-founder-proof-v412){
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body :is(.dark,.dark-inline,.rml-mission-hero-v412,.rml-credibility-logo-banner,.h20-founder-preview-v412)
:is(.panel,.card:not(.dark-card),.rml-card,.notice,.rml-legal-notice,.rml-founder-photo-v412,.rml-founder-proof-v412)
:is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,strong,b,span,small,em,a:not(.button):not(.wp-block-button__link)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  text-shadow:none!important;
}

/* A DARK CARD IS ALWAYS DARK, even when nested inside a light page. */
html body :is(.rml-dark-card,.dark-card,.rml-logo-band,.rml-logo-wall a){
  color:var(--rml530-text-dark)!important;
}
html body :is(.rml-dark-card,.dark-card,.rml-logo-band,.rml-logo-wall a)
:is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}

/* H2 product/reference chips: explicit light pill + black label. */
html body .h20-v51-library .h20-v51-overgrid .h20-v51-chips span,
html body .h20-v51-library .h20-v51-chips span{
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
  border:1px solid var(--rml530-line)!important;
  text-shadow:none!important;
}

/* H2 reference metadata cards remain dark, but their pill children do not inherit white. */
html body .h20-v51-library .h20-v51-overgrid article{
  background:var(--rml530-dark-2)!important;
  color:var(--rml530-text-dark)!important;
}
html body .h20-v51-library .h20-v51-overgrid article>span,
html body .h20-v51-library .h20-v51-overgrid article>strong{
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}
html body .h20-v51-library .h20-v51-overgrid article .h20-v51-chips span{
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}

/* Story/mission page hardening using the slug class the theme already emits. */
html body.page-slug-our-mission .rml-mission-hero-v412,
html body.page-slug-our-mission .section.dark{
  color:var(--rml530-text-dark)!important;
}
html body.page-slug-our-mission :is(.rml-mission-hero-v412,.section.dark)
:is(h1,h2,h3,h4,h5,h6,p,li,blockquote,strong,b,span,small,em){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}
html body.page-slug-our-mission .section.dark .panel,
html body.page-slug-our-mission .section.dark .panel *{
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body.page-slug-our-mission .section.dark .panel{
  background:var(--rml530-light)!important;
  border-color:var(--rml530-line)!important;
}

/* Credibility page hardening. */
html body.page-slug-credibility .rml-credibility-logo-banner,
html body.page-slug-credibility .rml-credibility-logo-banner :is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em){
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}
html body.page-slug-credibility .rml-credibility-logo-banner :is(.rml-logo-band,.rml-logo-wall a),
html body.page-slug-credibility .rml-credibility-logo-banner :is(.rml-logo-band,.rml-logo-wall a) *{
  color:var(--rml530-text-dark)!important;
  -webkit-text-fill-color:var(--rml530-text-dark)!important;
}

/* Never let browser dark-mode auto-adjust controls or text colors. */
@media (prefers-color-scheme:dark){
  html:not([data-user-theme]){color-scheme:only light!important}
  html body{background:var(--rml530-page)!important;color:var(--rml530-text)!important}
}

/* Known light overlays nested in dark H2 stages remain light. */
html body .h20-hotspot-popover-v47,
html body .h20-compact-results,
html body .h20-founder-photo-card-v412{
  background:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  border-color:var(--rml530-line)!important;
}
html body :is(.h20-hotspot-popover-v47,.h20-compact-results,.h20-founder-photo-card-v412)
:is(h1,h2,h3,h4,h5,h6,p,li,strong,b,span,small,em,figcaption,a:not(.button):not(.h20-btn)){
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}
html body .h20-hotspot-popover-v47 .h20-human-product,
html body .h20-hotspot-popover-v47 .h20-human-product *{
  background-color:var(--rml530-light)!important;
  color:var(--rml530-text)!important;
  -webkit-text-fill-color:var(--rml530-text)!important;
}

/* =========================================================
   v5.3.2 — Homepage H2 humanoid popup card readability.
   The popup shell remains dark; nested product cards are explicit light
   surfaces and therefore always use black/dark copy.
   ========================================================= */
html body .h20-interactive-v471 .h20-hotspot-popover-v47 .h20-human-result-cards .h20-human-product{
  background:#ffffff!important;
  color:#101713!important;
  -webkit-text-fill-color:#101713!important;
  border-color:#d6dfda!important;
}
html body .h20-interactive-v471 .h20-hotspot-popover-v47 .h20-human-result-cards .h20-human-product :is(strong,span,p,small,b,em){
  color:#101713!important;
  -webkit-text-fill-color:#101713!important;
}
html body .h20-interactive-v471 .h20-hotspot-popover-v47 .h20-human-result-cards .h20-human-product:hover,
html body .h20-interactive-v471 .h20-hotspot-popover-v47 .h20-human-result-cards .h20-human-product:focus-visible{
  background:#ffffff!important;
  color:#101713!important;
  border-color:#75c83b!important;
}
