/* Shared semantic palette. Light keeps the existing fallbacks in component styles. */
html[data-display-public="1"] { color-scheme: light; }
html[data-display-public="1"][data-display-theme="dark"] {
    color-scheme: dark;
    --display-paper: #1d1922;
    --display-soft: #302638;
    --display-text: #f5eff7;
    --display-muted: #cfc3d4;
    --display-accent: #dda6e7;
    --display-strong: #302039;
    --display-on-strong: #ffffff;
    --display-on-strong-muted: #eadbec;
    --display-border: #806b88;
    --display-input-border: #aa91b2;
    --display-strong-border: #9b80a5;
    --display-focus: #f0c3fa;
    --display-on-accent: #211527;
    --display-button-hover: #efc8f6;
    --display-invalid: #ffb5bf;
    --display-success-surface: #183626;
    --display-success-text: #a7edbf;
    --display-warning-surface: #3a2b16;
    --display-warning-text: #ffe0a1;
    --display-error-surface: #421e2a;
    --anthys-gradient: linear-gradient(120deg, #201822, #39243e);
}
html[data-display-public="1"][data-display-theme="light"][data-display-contrast="high"] {
    --display-paper: #ffffff;
    --display-soft: #f0eaf3;
    --display-text: #151019;
    --display-muted: #342d39;
    --display-accent: #5a2164;
    --display-strong: #29172f;
    --display-on-strong: #ffffff;
    --display-on-strong-muted: #ffffff;
    --display-border: #62516d;
    --display-input-border: #47334f;
    --display-strong-border: #e0cce8;
    --display-focus: #5a2164;
    --display-on-accent: #ffffff;
    --display-button-hover: #35113c;
    --display-invalid: #8b1028;
}
html[data-display-public="1"][data-display-theme="dark"][data-display-contrast="high"] {
    --display-paper: #100c14;
    --display-soft: #24182d;
    --display-text: #ffffff;
    --display-muted: #f5edf9;
    --display-accent: #edbaff;
    --display-strong: #211029;
    --display-on-strong-muted: #ffffff;
    --display-border: #cbb0d7;
    --display-input-border: #dfc4ec;
    --display-strong-border: #dfc4ec;
    --display-focus: #ffffff;
}
html[data-display-public="1"][data-display-text="large"] { font-size: 112.5%; }
html[data-display-public="1"][data-display-text="largest"] { font-size: 137.5%; }
html[data-display-public="1"], html[data-display-public="1"] body { overflow-x: visible; }
html[data-display-public="1"] body { overflow-wrap: break-word; }
html[data-display-public="1"] :is(a, p, li, dd, td, label) { overflow-wrap: anywhere; }
html[data-display-public="1"] .btn { white-space: normal; }
html[data-display-public="1"] :is(.form-control, .form-select, .form-check-input) { border-color: var(--display-input-border, #9b8c9f); }
html[data-display-public="1"] :is(.form-control, .form-select) { background-color: var(--display-paper, #fff); color: var(--display-text, #27232b); font-size: 1rem; }
html[data-display-public="1"] :is(.form-control::placeholder, .text-muted) { color: var(--display-muted, #605a63) !important; opacity: 1; }
html[data-display-public="1"] :is(.form-control, .form-select):focus { border-color: var(--display-focus, #7c3684); }
html[data-display-public="1"] :is(.form-control, .form-select, .form-check-input).is-invalid { border-color: var(--display-invalid, #a12330); }
html[data-display-public="1"] .invalid-feedback { color: var(--display-invalid, #a12330); }
html[data-display-public="1"] :is(.home-introduction, .offers-commissioning, .mp-common-ground, .mp-proof, .contact-address, .site-footer, .catalog-hero, .capture-gallery) { --display-local-focus: #fff; }
html[data-display-public="1"] :focus-visible { outline-color: var(--display-local-focus, var(--display-focus, #7c3684)); }
html[data-display-public="1"][data-display-contrast="high"] :focus-visible { outline: 3px solid var(--display-local-focus, var(--display-focus)) !important; outline-offset: 4px !important; box-shadow: none; }
html[data-display-public="1"] #main-content:focus { outline: none; }
html[data-display-public="1"] .skip-link { z-index: 2000; top: -200px; }
html[data-display-public="1"] .skip-link:focus { top: 8px; }
html[data-display-public="1"] .cookie-consent { max-height: calc(100dvh - 2rem); overflow-y: auto; }

/* Bootstrap controls and utilities consume the same palette as the editorial pages. */
html[data-display-public="1"][data-display-theme="dark"] {
    --bs-body-color: var(--display-text);
    --bs-body-bg: var(--display-paper);
    --bs-emphasis-color: var(--display-text);
    --bs-secondary-color: var(--display-muted);
    --bs-secondary-bg: var(--display-soft);
    --bs-tertiary-bg: var(--display-soft);
    --bs-heading-color: var(--display-text);
    --bs-border-color: var(--display-border);
    --bs-form-invalid-color: var(--display-invalid);
    --bs-form-invalid-border-color: var(--display-invalid);
}
html[data-display-public="1"]:is([data-display-theme="dark"], [data-display-contrast="high"]) .btn-primary {
    --bs-btn-color: var(--display-on-accent);
    --bs-btn-bg: var(--display-accent);
    --bs-btn-border-color: var(--display-accent);
    --bs-btn-hover-color: var(--display-on-accent);
    --bs-btn-hover-bg: var(--display-button-hover);
    --bs-btn-hover-border-color: var(--display-button-hover);
    --bs-btn-active-color: var(--display-on-accent);
    --bs-btn-active-bg: var(--display-button-hover);
    --bs-btn-active-border-color: var(--display-button-hover);
    color: var(--display-on-accent);
}
html[data-display-public="1"]:is([data-display-theme="dark"], [data-display-contrast="high"]) :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark) {
    --bs-btn-color: var(--display-outline, var(--display-accent));
    --bs-btn-border-color: var(--display-outline-border, var(--display-input-border));
    --bs-btn-hover-color: var(--display-on-accent);
    --bs-btn-hover-bg: var(--display-accent);
    --bs-btn-hover-border-color: var(--display-outline-border, var(--display-accent));
    --bs-btn-active-color: var(--display-on-accent);
    --bs-btn-active-bg: var(--display-accent);
    --bs-btn-active-border-color: var(--display-outline-border, var(--display-accent));
    color: var(--bs-btn-color);
}
html[data-display-public="1"]:is([data-display-theme="dark"], [data-display-contrast="high"]) :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-dark):is(:hover, :focus-visible, :active) { color: var(--bs-btn-hover-color); }
html[data-display-public="1"][data-display-theme="dark"] .bg-primary,
html[data-display-public="1"][data-display-theme="dark"] .bg-primary .text-white { color: var(--display-on-accent) !important; }
html[data-display-public="1"][data-display-theme="dark"] :is(.text-dark, .text-body) { color: var(--display-text) !important; }
html[data-display-public="1"][data-display-theme="dark"] :is(.bg-light, .bg-body-tertiary) { background-color: var(--display-soft) !important; }
html[data-display-public="1"][data-display-theme="dark"] :is(.table, .dropdown-menu, .modal-content) {
    --bs-table-bg: var(--display-paper);
    --bs-table-color: var(--display-text);
    --bs-table-striped-bg: var(--display-soft);
    --bs-table-striped-color: var(--display-text);
    --bs-table-hover-bg: var(--display-soft);
    --bs-table-hover-color: var(--display-text);
    --bs-dropdown-color: var(--display-text);
    --bs-dropdown-link-color: var(--display-text);
    --bs-dropdown-link-hover-color: var(--display-text);
    --bs-dropdown-link-hover-bg: var(--display-soft);
    --bs-modal-color: var(--display-text);
    --bs-modal-bg: var(--display-paper);
}
html[data-display-public="1"][data-display-theme="dark"] .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23eadbec' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
html[data-display-public="1"][data-display-theme="dark"] .form-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23eadbec' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); }
html[data-display-public="1"] [data-capture] { background: #fff; }

/* A header entry; no persistent floating widget. */
.display-open { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid var(--display-border, #c5b9ca); border-radius: 6px; background: transparent; color: var(--display-text, #39243e); min-height: 44px; min-width: 44px; padding: .4rem .75rem; font-family: inherit; font-weight: 600; font-size: .85rem; line-height: 1.4; cursor: pointer; }
.display-open[hidden] { display: none; }
.display-open svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.display-open:hover { background: var(--display-soft, #eee5ef); }
.site-navbar .display-open { order: 3; margin-left: 1rem; }
.site-navbar .navbar-toggler { order: 4; margin-left: .5rem; border-color: var(--display-border, #9b8c9f); }
.site-navbar .navbar-brand { order: 1; }
.site-navbar .navbar-collapse { order: 2; min-width: 0; }
@media (max-width: 991.98px) {
    .site-navbar .display-open { order: 2; margin-left: auto; }
    .site-navbar .navbar-toggler { order: 3; }
    .site-navbar .navbar-collapse { order: 4; }
    .display-open__label { display: none; }
}

.display-panel { width: min(32rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); box-sizing: border-box; overflow-y: auto; margin: auto; padding: 1.5rem; color: var(--display-text, #27232b); background: var(--display-paper, #fcfaf7); border: 1px solid var(--display-border, #9b8c9f); border-radius: 8px; box-shadow: 0 1rem 3rem rgba(0,0,0,.16); }
.display-panel::backdrop { background: rgba(23,17,28,.45); }
.display-panel:not([open]) { display: none; }
.display-panel__heading { display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.display-panel h2 { color: inherit; font-size: 1.4rem; line-height: 1.3; margin: .3rem 0 0; }
.display-panel__close { flex: 0 0 44px; width: 44px; height: 44px; background: transparent; color: inherit; border: 1px solid var(--display-border, #9b8c9f); border-radius: 6px; font: 1.8rem/1 system-ui,sans-serif; cursor: pointer; }
.display-panel p { font-size: .9rem; line-height: 1.6; }
.display-panel fieldset { border: 0; margin: 1.5rem 0; padding: 0; min-width: 0; }
.display-panel legend { font-size: 1rem; font-weight: 700; margin-bottom: .7rem; }
.display-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.display-choices label { display: flex; align-items: center; gap: .5rem; padding: .65rem; min-height: 44px; border: 1px solid var(--display-border, #9b8c9f); border-radius: 6px; cursor: pointer; font-size: .9rem; }
.display-choices label:has(:checked) { border-color: var(--display-accent, #7c3684); background: var(--display-soft, #eee5ef); }
.display-panel input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; accent-color: var(--display-accent, #7c3684); }
.display-panel .display-panel__hint { font-size: .8rem; color: var(--display-muted, #605a63); margin: .65rem 0 0; }
.display-switch { border-top: 1px solid var(--display-border, #c5b9ca); padding: .75rem 0; }
.display-switch label { display: flex; gap: .75rem; align-items: center; min-height: 44px; cursor: pointer; }
.display-panel__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin-top: 1.5rem; }
@media(max-width: 480px) { .display-panel { padding: 1rem; } .display-choices { grid-template-columns: 1fr; } .display-panel__actions .btn { flex: 1 1 auto; } }

/* System requests always remain effective; manual reduction may additionally enable them. */
html[data-display-public="1"][data-display-motion="reduce"] *,
html[data-display-public="1"][data-display-motion="reduce"] *::before,
html[data-display-public="1"][data-display-motion="reduce"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media(prefers-reduced-motion: reduce) {
    html[data-display-public="1"] *, html[data-display-public="1"] *::before, html[data-display-public="1"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media(forced-colors: active) { .display-panel, .display-open, .display-panel button, .display-choices label { border: 1px solid ButtonText; } :focus-visible { outline: 3px solid Highlight !important; } }

/* Solid underlays retain a readable fallback beneath gradients and photographs. */
html[data-display-public="1"] body { background-color: var(--display-paper, #f8f4ef); }
html[data-display-public="1"] :is(.site-footer, .legal-hero, .services-hero, .service-quote-hero, .catalog-hero, .peripheral-hero, .module-video__frame) { background-color: var(--display-strong, #39243e); --display-local-focus: #fff; }
html[data-display-public="1"] .skip-link { color: var(--display-on-accent, #fff); }
html[data-display-public="1"][data-display-theme="dark"] .module-video__play { color: var(--display-on-accent); }
html[data-display-public="1"][data-display-theme="dark"] .form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23211527' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3E%3C/svg%3E"); }
html[data-display-public="1"][data-display-motion="reduce"] :is(.services-page, .service-quote-page) { --hero-bg-y: 0px !important; --hero-panel-x: 0px !important; --hero-panel-y: 0px !important; --hero-card-x: 0px !important; --hero-card-y: 0px !important; }
html[data-display-public="1"] .btn-outline-dark:is(:hover, :focus-visible, :active) { color: var(--bs-btn-hover-color); }
html[data-display-public="1"][data-display-theme="dark"] .text-bg-light { background-color: var(--display-soft) !important; color: var(--display-text) !important; }
html[data-display-public="1"][data-display-theme="dark"] .text-bg-light.text-primary { color: var(--display-accent) !important; }
html[data-display-public="1"][data-display-motion="reduce"] [data-reveal] { opacity: 1 !important; transform: none !important; }
html[data-display-public="1"][data-display-motion="reduce"] :is(.service-card, .reason-card, .catalog-card, .hero-service-panel, .hero-trust-card, .scenario-card, .submit-btn, .case-panel, .module-video__play, .cta-panel .btn) { transform: none !important; }
@media(forced-colors: active) { html[data-display-public="1"][data-display-contrast] :focus-visible { outline: 3px solid Highlight !important; } }
/* The bundled Bootstrap palette has pale outline buttons and a bright success badge. */
html[data-display-public="1"] :where(.btn-outline-secondary) { --bs-btn-color: var(--display-accent, #7c3684); --bs-btn-border-color: var(--display-input-border, #9b8c9f); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #7c3684; --bs-btn-hover-border-color: #7c3684; color: var(--bs-btn-color); }
html[data-display-public="1"] :where(.btn-outline-dark) { --bs-btn-color: var(--display-text, #27232b); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #27232b; --bs-btn-hover-border-color: #27232b; color: var(--bs-btn-color); }
html[data-display-public="1"] .text-bg-success { background-color: var(--display-success-surface, #166534) !important; color: var(--display-success-text, #fff) !important; }
html[data-display-public="1"][data-display-theme="dark"] .alert-success { --bs-alert-bg: var(--display-success-surface); --bs-alert-color: var(--display-success-text); --bs-alert-border-color: var(--display-border); }
html[data-display-public="1"][data-display-theme="dark"] :is(.alert-info, .alert-primary) { --bs-alert-bg: var(--display-soft); --bs-alert-color: var(--display-text); --bs-alert-border-color: var(--display-border); }
html[data-display-public="1"][data-display-theme="dark"] .alert-danger { --bs-alert-bg: var(--display-error-surface); --bs-alert-color: var(--display-invalid); --bs-alert-border-color: var(--display-invalid); }
html[data-display-public="1"][data-display-theme="dark"] .alert-warning { --bs-alert-bg: var(--display-warning-surface); --bs-alert-color: var(--display-warning-text); --bs-alert-border-color: var(--display-border); }
/* Each strong or paper surface owns the foreground of its outline controls. */
html[data-display-public="1"] :is(.home-introduction, .offers-commissioning, .mp-common-ground, .contact-address, .site-footer, .catalog-hero, .services-hero, .service-quote-hero) { --display-outline: var(--display-on-strong, #fff); --display-outline-border: var(--display-on-strong-muted, #e9d8ec); }
html[data-display-public="1"] :is(.hero-service-panel, .hero-trust-card, .legal-card, .catalog-card, .display-panel, .cookie-consent__panel, .quote-form-card, .support-panel, .scenario-card) { --display-outline: var(--display-accent, #7c3684); --display-outline-border: var(--display-input-border, #9b8c9f); --display-local-focus: var(--display-focus, #7c3684); }
/* Explicit colors also cover the fixed-color alert rules in the bundled theme. */
html[data-display-public="1"] .alert-danger { color: var(--display-invalid, #8b1028); background-color: var(--display-error-surface, #fbe8ec); border-color: var(--display-invalid, #a12330); }
html[data-display-public="1"] .alert-success { color: var(--display-success-text, #166534); background-color: var(--display-success-surface, #e6f5ec); border-color: var(--display-border, #789a85); }
html[data-display-public="1"][data-display-theme="dark"] :is(.alert-info, .alert-primary) { color: var(--display-text); background-color: var(--display-soft); border-color: var(--display-border); }
html[data-display-public="1"][data-display-theme="dark"] .alert-warning { color: var(--display-warning-text); background-color: var(--display-warning-surface); border-color: var(--display-border); }
