/* r41: coherent customer-facing light/dark contrast and responsive design */
:root{color-scheme:light;--r41-ink:#15382f;--r41-muted:#3e5c51;--r41-paper:#fff;--r41-border:#c7d9d0}
html[data-theme="dark"]{color-scheme:dark}
/* Preserve dark-on-light contrast even inside dark parent sections */
html:not([data-theme="dark"]) :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field,.card,.r39-editorial-photo figcaption)[style*="background: white"],html:not([data-theme="dark"]) :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field){background:#fff!important;color:#15382f!important}
html:not([data-theme="dark"]) :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field) :is(h1,h2,h3,h4,p,span,strong,small,li,label,a){color:#15382f!important;opacity:1!important;text-shadow:none!important}
html:not([data-theme="dark"]) :is(.section-dark,.home-final,.footer-dark) :is(.topic-hub-card,.services-quick-card,.guide-item) :is(h1,h2,h3,h4,p,span,strong,small,li,label,a){color:#15382f!important}
/* Dark mode: all cards and their descendants share the same palette */
html[data-theme="dark"] :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field,.card,.services-capabilities){background:#19342e!important;border-color:#638478!important;color:#f5fcf8!important;--xp-forest-2:#91dfcf;--xp-mint-strong:#91dfcf;--accent:#91dfcf}
html[data-theme="dark"] :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field,.card,.services-capabilities) :is(h1,h2,h3,h4,p,span,strong,small,li,label,a){color:#f5fcf8!important;opacity:1!important;text-shadow:none!important}
html[data-theme="dark"] :is(.topic-hub-card,.services-quick-card,.guide-item,.search-field,.card) :is(.muted,.caption,small){color:#d2e6dc!important}
/* Dark sections always get an opaque backdrop, including in light theme */
.services-hero .services-capabilities{background:#123c32!important;border:1px solid #628e7c!important;border-radius:18px!important;box-shadow:none!important;backdrop-filter:none!important}
.services-hero .services-capabilities span{color:#fff!important;background:transparent!important;border-color:#658d80!important;text-shadow:none!important;opacity:1!important}
.services-hero .services-capabilities span::before{color:#c5f6e3!important;border-color:#8bd3b8!important}
html[data-theme="dark"] .services-hero .services-capabilities{background:#123c32!important}
html[data-theme="dark"] .services-hero .services-capabilities span{color:#fff!important;background:transparent!important}
/* Inputs and buttons retain visible text in either mode */
html:not([data-theme="dark"]) :is(input,select,textarea){background:#fff;color:#15382f;border-color:#6a8b7e}
html[data-theme="dark"] :is(input,select,textarea){background:#162e29;color:#f5fcf8;border-color:#88ad9e}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#c9e0d5;opacity:1}
html:not([data-theme="dark"]) .knowledge-guides .filter-button{background:#fff!important;color:#15382f!important;border-color:#678b7e!important}
html:not([data-theme="dark"]) .knowledge-guides .filter-button:is(.active,[aria-pressed="true"]){background:#165744!important;color:#fff!important}
html[data-theme="dark"] .knowledge-guides .filter-button{background:#19342e!important;color:#fff!important;border-color:#86ac9b!important}
html[data-theme="dark"] .knowledge-guides .filter-button:is(.active,[aria-pressed="true"]){background:#b3ead5!important;color:#10372c!important}
.knowledge-guides .filter-row{display:flex!important;flex-flow:row wrap!important;gap:10px!important}
.knowledge-guides .filter-button{flex:0 0 auto!important;min-width:max-content!important;min-height:44px!important;white-space:nowrap!important;word-break:normal!important}
@media(max-width:700px){.knowledge-guides .filter-row{flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important}.services-hero .services-capabilities{grid-template-columns:1fr!important}.services-hero .services-capabilities span{min-height:54px!important}}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #58cda5!important;outline-offset:3px!important}
