/* MCS PixelTech shared contrast repair. Applies across the complete light theme. */
body.theme-clean{--text:#211c2e;--muted:#5c5369;--pink:#b1287d;--clean-accent:linear-gradient(135deg,#7420c4,#b1287d)}
/* Legacy dark pricing panels now match the surrounding light theme. */
body.theme-clean .scope-band{background:linear-gradient(115deg,#fff4ec,#f6eafa);color:#211c2e;border-color:#cda9db;box-shadow:0 8px 28px #4322580a}
body.theme-clean .scope-band h2,body.theme-clean .scope-band h3{color:#211c2e;-webkit-text-fill-color:#211c2e}
body.theme-clean .scope-band p{color:#5c5369}
body.theme-clean .scope-band .eyebrow{color:#7420c4}
body.theme-clean .portfolio-intro h1{color:#211c2e}
body.theme-clean .portfolio-intro p{color:#5c5369}
body.theme-clean .browser-bar span,body.theme-clean .project-controls a{color:#5c5369}
body.theme-clean .project-controls a:hover{color:#7420c4}
/* Remove pale navigation colours inherited from the former dark theme. */
body.theme-clean .site-header nav>a:not(.button),body.theme-clean .nav-services summary,body.theme-clean .mega-links a{color:#5c5369}
body.theme-clean .site-header nav>a:not(.button):hover,body.theme-clean .site-header nav>a:not(.button):focus-visible,body.theme-clean .site-header nav>a[aria-current=page]:not(.button),body.theme-clean .nav-services summary:hover,body.theme-clean .nav-services summary:focus-visible,body.theme-clean .nav-services[open] summary,body.theme-clean .mega-links a:hover,body.theme-clean .mega-links a:focus-visible{color:#7420c4;background-color:#f4e9f9;text-shadow:none}
body.theme-clean .site-header nav>a.button,body.theme-clean .site-header nav>a.button:hover,body.theme-clean .site-header nav>a.button:focus-visible{color:#fff;-webkit-text-fill-color:#fff}
/* White button labels stay readable at every state of the darker gradient. */
body.theme-clean .button,body.theme-clean .home-copy .button{background:var(--clean-accent);color:#fff}
body.theme-clean .button:hover,body.theme-clean .home-copy .button:hover{background:linear-gradient(135deg,#6520ad,#a42371);color:#fff}
body.theme-clean .button>span,body.theme-clean .button strong{color:inherit}
body.theme-clean .capability-tabs button[aria-selected=true],body.theme-clean .capability-tabs button[aria-selected=true]:hover,body.theme-clean .portfolio-filter button[aria-pressed=true],body.theme-clean .portfolio-filter button[aria-pressed=true]:hover{background:var(--clean-accent);color:#fff}
/* Forms and estimator: explicit foreground/background pairs, including nested fields. */
body.theme-clean .estimate-clear-website,body.theme-clean .estimate-reset{color:#7420c4}
body.theme-clean .estimate-care,body.theme-clean .estimate-care span,body.theme-clean .estimate-ad-budget,body.theme-clean .estimate-ad-budget small{color:#5c5369}
body.theme-clean #estimate-enquiry label,body.theme-clean .estimate-refine-grid label{color:#211c2e}
body.theme-clean #estimate-enquiry input:not([type=hidden]):not(.enquiry-honey),body.theme-clean .estimate-refine-grid input,body.theme-clean .estimate-refine-grid select,body.theme-clean .estimate-ad-budget input,body.theme-clean #estimate-copy-fallback{background:#fff;color:#211c2e;border-color:#cdb8d8}
body.theme-clean #estimate-enquiry input::placeholder{color:#655d73;opacity:1}
body.theme-clean .email-window-heading>button{background:#fff;color:#7420c4;border-color:#cdb8d8}
body.theme-clean .estimate-free p,body.theme-clean .estimate-recurring span,body.theme-clean .estimate-recurring small,body.theme-clean .estimate-choice-scope,body.theme-clean .estimate-choice-price>span,body.theme-clean .estimate-group-note,body.theme-clean .estimate-exclusions,body.theme-clean .estimate-enquiry-note,body.theme-clean #estimate-mail-status,body.theme-clean #estimate-status{color:#5c5369}
body.theme-clean .package-close,body.theme-clean .dialog-close{color:#7420c4;background:#fff}
/* Smaller accent text needs darker tones than decorative card glows. */
body.theme-clean .expertise-blue{--expert-colour:#2864ba}
body.theme-clean .expertise-purple{--expert-colour:#7420c4}
body.theme-clean .expertise-teal{--expert-colour:#08796b}
body.theme-clean .expertise-pink{--expert-colour:#b1287d}
body.theme-clean .expertise-gold{--expert-colour:#8a5e08}
body.theme-clean .industry-buttons button>span:first-child,body.theme-clean .project-controls [data-project-count]{color:#5c5369}
body.theme-clean .journey-chrome,body.theme-clean .journey-site-header,body.theme-clean .journey-caption figcaption,body.theme-clean .website-growth-visual figcaption{color:#5c5369}
/* Keep actual dark image overlays readable without recolouring their photos. */
body.theme-clean .image-panel figcaption,body.theme-clean .image-panel figcaption strong,body.theme-clean .image-panel figcaption h2,body.theme-clean .image-panel figcaption h3,body.theme-clean .work-caption,body.theme-clean .work-caption h3,body.theme-clean .work-flag,body.theme-clean .work-open{color:#fff}
body.theme-clean .project-preview>span{background:#211c2ef2;color:#fff;border-color:#b98ad1}
body.theme-clean .tile-icon{background:var(--clean-accent);color:#fff}
body.theme-clean .photo-note{color:#5c5369}
/* Plain readable gradients for small section labels; hero animations stay separate. */
body.theme-clean .scope-band .gradient-text,body.theme-clean .dialog-copy .gradient-text{background:none;color:#7420c4;-webkit-text-fill-color:#7420c4}
