/* Each product owns its accent; neutral copy remains readable on light/dark surfaces. */
html body[data-ops-brand]:not(#brand-override) :is(.op-btn--primary,.op-subnav__cta,.op-live-card__button,.ops-monitor__controls a){background:var(--ops-white-accent,var(--ops-header-color))!important;border-color:var(--ops-white-accent,var(--ops-header-color))!important;color:#fff!important;box-shadow:none!important}
html body[data-ops-brand]:not(#brand-override) #roles :is(.op-roletab__ico){background:var(--ops-white-accent)!important}
html body[data-ops-brand]:not(#brand-override) #roles .op-roletab[aria-selected=true]{border-color:var(--ops-white-accent)!important;box-shadow:0 0 0 2px var(--ops-white-accent)!important}
html body[data-ops-brand]:not(#brand-override) #roles .op-head h2{color:var(--ops-white-accent)!important}
html body[data-ops-brand]:not(#brand-override) .op-btn--secondary{border-color:var(--ops-white-accent,var(--ops-header-color))!important}
html body[data-ops-brand]:not(#brand-override) .op-btn--text{color:var(--acc)!important}
html body[data-ops-brand]:not(#brand-override) section:has(> :is(.op-starsbg,.op-featbg)) :is(.op-quote,.op-offer article,.op-tile) :is(h3,h4,blockquote){color:var(--ops-white-accent)!important}
html body[data-app-brand]:not(#brand-override){--product-strong:color-mix(in srgb,var(--app-header-color),#000 32%);--product-light:color-mix(in srgb,var(--app-header-color),#fff 40%)}
html body[data-app-brand]:not(#brand-override) :is(.xp-button,.xr-live,.xp-subnav a:last-child){background:var(--product-strong)!important;border-color:var(--product-strong)!important;color:#fff!important;box-shadow:none!important}
html body[data-app-brand]:not(#brand-override) :is(.xp-white,.xp-hero) :is(h1,h2,h3) span{color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp-space :is(h1,h2,h3) span{color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xp-space .xp-inside-card h3{color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xr-filters button[aria-pressed=true]{background:var(--product-strong)!important;color:#fff!important;border-color:var(--product-strong)!important}
html body.mf--brand:not(#brand-override) :is(.mf-btn--primary,.mf-live--btn){background:var(--btn-b)!important;color:#fff!important;border-color:var(--btn-b)!important;box-shadow:none!important}
html body.mf--brand:not(#brand-override) :is(.mf-btn--secondary,.mf-btn--glass){border-color:var(--purple)!important}
html body.mf--brand:not(#brand-override) .mf-hero .mf-btn--text{color:var(--acc)!important}
html body.mf--brand:not(#brand-override) .mf-problems__n{background:var(--purple)!important;color:#fff!important;border-color:var(--purple)!important}

/* Decorative quotation marks use the same product accent as their headings. */
html body[data-ops-brand]:not(#brand-override) .op-quote blockquote::before{color:var(--ops-white-accent,var(--ops-header-color))!important}

/* Complete app accents, including icon tiles, selected screens and interaction states.
   Strong tones clear white surfaces; light tones clear the cosmic sections. */
html body[data-app-brand]:not(#brand-override) .xp{
 --xp-purple:var(--product-strong);--xp-lilac:var(--product-light);
 --product-tint:color-mix(in srgb,var(--app-header-color),#fff 93%);
 --product-line:color-mix(in srgb,var(--app-header-color),#fff 65%);
 --product-night:color-mix(in srgb,var(--app-header-color),#080b10 88%);
 --xr-violet:var(--product-strong);--xr-focus:var(--product-light);
}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-value-icon,.xp-step){background:var(--product-strong)!important;border-color:var(--product-strong)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-value-icon :is(svg,i,span){color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-value-icon svg{stroke:currentColor}
html body[data-app-brand]:not(#brand-override) .xp .xp-value-icon img{filter:brightness(0) invert(1)}
html body[data-app-brand]:not(#brand-override) .xp .xp-white :is(.xp-offer-grid strong,.xp-calc-result output,.xp-card-action){color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-enlarge,.xp-inspect,.xp-calc-result){background:var(--product-tint)!important;color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-close,.xr-video-toggle,.xr-book-fallback a){background:var(--product-strong)!important;color:#fff!important;border-color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-subnav{background:var(--product-night)!important;border-color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-subnav a,.xr-filters button){background:var(--product-night)!important;border-color:var(--product-light)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-subnav a:hover,.xp-subnav a[aria-current=location],.xr-filters button[aria-pressed=true]){background:var(--product-strong)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-screen-choice:hover,.xp-screen-choice[aria-pressed=true],.xp-details details[open]){background:var(--product-tint)!important;border-color:var(--product-strong)!important;box-shadow:none!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-connection li,.xp-offer-grid article,.xp-roles li){background:var(--product-tint)!important;border-color:var(--product-line)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-problems article,.xp-value-grid article,.xp-factual-note,.xp-inside-card,.xp-screen-figure,.xp-details details,.xp-calculator,.xp-related a){border-color:var(--product-line)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-pilot li::before{color:var(--product-light)!important;border-color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(.xp-details summary::after,.xp-flow li::after){color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-space .xp-inside-card :is(h3,a:not(.xr-live)){color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp :is(a,button,input,summary):focus-visible{outline-color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-white :is(a,button,input,summary):focus-visible{outline-color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-calc-result :is(span,p,small){color:#26302a!important;text-shadow:none!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-calc-result output{color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xp .xp-pilot li::before{background:var(--product-strong)!important;color:#fff!important;border-color:var(--product-strong)!important}
/* The three newer app layouts share the same complete brand treatment. */
html body[data-app-brand]:not(#brand-override) .xn :is(.xn-button.xn-primary,.xn-filters button[aria-pressed=true]){background:var(--product-strong)!important;border-color:var(--product-strong)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-white :is(h1,h2,h3) span{color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-cosmic :is(h1,h2,h3) span{color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-step-number{background:var(--product-strong)!important;border-color:var(--product-strong)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-outline{border-color:var(--product-strong)!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-cosmic .xn-outline{border-color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xn-subnav a{background:var(--product-strong)!important;border-color:var(--product-strong)!important;color:#fff!important}
html body[data-app-brand]:not(#brand-override) .xn :is(a,button,summary):focus-visible{outline-color:var(--product-light)!important}
html body[data-app-brand]:not(#brand-override) .xn .xn-white :is(a,button,summary):focus-visible{outline-color:var(--product-strong)!important}

/* One approved energy composition, recolored behind each Ops hero and header. */
html body[data-ops-brand]:not(#brand-override) .op-main .op-hero{background:#030908!important;position:relative;isolation:isolate}
html body[data-ops-brand]:not(#brand-override) .op-main .op-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:url('/img/ops/fundingops/hero-energy.20261004.webp') center/cover no-repeat!important;filter:hue-rotate(var(--ops-energy-hue,0deg));opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important;pointer-events:none}
html body[data-ops-brand]:not(#brand-override) .op-main .op-hero::after{content:'';position:absolute;inset:0;height:auto!important;z-index:-1;background:linear-gradient(90deg,rgba(2,6,9,.65),rgba(2,6,9,.12) 65%,rgba(2,6,9,.1))!important;pointer-events:none}
html body[data-ops-brand]:not(#brand-override)>header#lhd{background:transparent!important}
html body[data-ops-brand="insuranceops"]{--ops-energy-hue:-104.5deg}
html body[data-ops-brand="dealerops"]{--ops-energy-hue:76.6deg}
html body[data-ops-brand="fundingops"]{--ops-energy-hue:0deg}
html body[data-ops-brand="agencyops"]{--ops-energy-hue:-125.4deg}
html body[data-ops-brand="taxops"]{--ops-energy-hue:22.5deg}
html body[data-ops-brand="serviceops"]{--ops-energy-hue:-150.0deg}
html body[data-ops-brand="legalops"]{--ops-energy-hue:-109.6deg}
html body[data-ops-brand="creditops"]{--ops-energy-hue:105.1deg}
html body[data-ops-brand="buildops"]{--ops-energy-hue:-127.5deg}
html body[data-ops-brand="dentalops"]{--ops-energy-hue:24.7deg}
html body[data-ops-brand="estateops"]{--ops-energy-hue:71.2deg}
html body[data-ops-brand="fitnessops"]{--ops-energy-hue:-65.2deg}
html body[data-ops-brand="healthops"]{--ops-energy-hue:41.6deg}
html body[data-ops-brand="hospitalityops"]{--ops-energy-hue:200.1deg}
html body[data-ops-brand="mortgageops"]{--ops-energy-hue:11.4deg}
html body[data-ops-brand="propertyops"]{--ops-energy-hue:93.4deg}
html body[data-ops-brand="retailops"]{--ops-energy-hue:183.3deg}
html body[data-ops-brand="wealthops"]{--ops-energy-hue:-111.1deg}
/* Headline accents follow the owning product; light sections use the darker tone. */
html body[data-ops-brand]:not(#brand-override) .op-main :is(h1,h2,h3) .op-accent{color:var(--niche,var(--brand-text,var(--ops-header-color)))!important}
html body[data-ops-brand]:not(#brand-override) .op-main :is(#how-it-works,#roles,#tools,#your-build,.op-tools-white,.op-offer-white,.atlas-sales--wealth-white) :is(h1,h2,h3) :is(.op-accent,span){color:var(--ops-white-accent,var(--ops-header-color))!important}
html body[data-ops-brand]:not(#brand-override) .op-main #roles .op-head h2{color:#191b23!important}
html body.mf--brand:not(#brand-override) .mf-main .mf-accent{color:var(--purple)!important}
html body.mf--brand:not(#brand-override) .mf-main :is(.mf-hero,.mf-sec--cosmic,.mf-sec--dark) .mf-accent{color:var(--acc)!important}

/* Offer cards have white surfaces, so display headings use the product's dark accent. */
html body[data-ops-brand]:not(#brand-override) .op-main .op-offer article>strong{color:var(--ops-white-accent,var(--ops-header-color))!important}
/* VisitWell's selected screenshots and role list sit on pale cards in white sections. */
html body[data-app-brand="visitwell"]:not(#brand-override) .xp .xp-white :is(.xp-roles li,.xp-screen-choice[aria-pressed=true]){background:var(--visitwell-surface)!important;color:var(--visitwell-ink)!important}
html body[data-app-brand="visitwell"]:not(#brand-override) .xp .xp-white .xp-screen-choice[aria-pressed=true] strong{color:inherit!important}
