/* Audience theme. Existing light styles remain the visual authority for personal. */
:root{color-scheme:light}
:root[data-theme="dark"]{
  color-scheme:dark;
  --canvas:#121417;
  --panel:#1e2228;
  --raised:#2a3038;
  --hover:#353e49;
  --input:#171b20;
  --ink:#f5f6f7;
  --muted:#c0c6cf;
  --line:#3c4652;
  --surface:#2a3038;
  --action:#ff8491;
  --selected:#f0f3f7;
  --on-selected:#171b21;
  --error:#ff9ba5;
  --error-surface:#392128;
  --success:#a5dfb8;
  --success-surface:#1d3428;
  --shadow:0 12px 32px #00000024;
  background:var(--canvas);
  color:var(--ink);
  scrollbar-color:#5d6877 var(--canvas);
}
html[data-theme="dark"] body{background:var(--canvas);color:var(--ink)}
html[data-theme="dark"] :is(.mechanisms,.finleo-benefit){background:var(--panel);color:var(--ink)}
html[data-theme="dark"] ::selection{background:#76333e;color:#fff}

/* Surfaces across the catalog, directions, comparison and both kinds of dialog. */
html[data-theme="dark"] :is(.header,.mobile-nav,.footer,.hero,.direction-card,.need,.service-item,.faq-item,.final-cta,.variant,.limits-section,.comparison td,.group-panel,.documents,.modal,.catalog-empty,.skip,.market-filters,.insurer-card,.market-compare-bar,.market-comparison,.market-empty,.market-related a,.market-filter-toggle,.estimate-notice,.estimate-form,.estimate-feature,.estimate-card,.estimate-table-scroll,.estimate-empty,.estimate-entry a,.journey-dialog,.journey-page,.journey-option){background:var(--panel);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] :is(.hero,.modal,.market-compare-bar,.cookie){box-shadow:var(--shadow)}
html[data-theme="dark"] :is(.direction-card:hover,.direction-card:focus-within){border-color:#8090a3;color:var(--ink);box-shadow:0 8px 22px #00000024}
html[data-theme="dark"] :is(.faq-item:last-child,.variant:target){border-color:var(--line)}
html[data-theme="dark"] .variant:target{border-color:var(--action)}
html[data-theme="dark"] :is(.card-tag,.form-status,.comparison th,.market-table-scroll th,.estimate thead,.journey-total){background:var(--raised);color:var(--ink)}
html[data-theme="dark"] .card-tag{color:var(--muted)}
html[data-theme="dark"] .modal-layer,html[data-theme="dark"] .journey-dialog::backdrop{background:#05070bcc}

/* Same FINLEO paths and red lion; the dark variant has a light wordmark, no backing. */
.brand .brand-logo--dark{display:none}
html[data-theme="dark"] .brand-logo--light{display:none}
html[data-theme="dark"] .brand-logo--dark{display:block}
html[data-theme="dark"] .brand-logo{background:transparent;border-radius:0;outline:0}
/* Third-party insurer assets remain unchanged on their existing backing. */
html[data-theme="dark"] :is(.insurer-brand img,.journey-product img){background:#fff;border-radius:4px;outline:4px solid #fff}

/* Neutral actions, selected controls and their hover/focus states. */
html[data-theme="dark"] :is(.button,.button.secondary,.card-action,.header-request,.menu-toggle,.variant button,.cookie button,.scenario-action){background:var(--raised);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .catalog-more .button{background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] :is(.button:hover,.card-action:hover,.header-request:hover,.menu-toggle:hover,.variant button:hover,.cookie button:hover,.need:hover,.journey-option:hover,.market-related a:hover,.market-filter-toggle:hover){background:var(--hover);color:var(--ink);border-color:#8090a3}
html[data-theme="dark"] :is(.button:active,.card-action:active){background:#414c5c;color:var(--ink)}
html[data-theme="dark"] :is(.audience-switch,.modal .audience-switch){background:var(--canvas);border-color:var(--line)}
html[data-theme="dark"] .audience-switch button{color:var(--muted)}
html[data-theme="dark"] .audience-switch button:hover{background:var(--hover);color:var(--ink)}
html[data-theme="dark"] .audience-switch button[aria-pressed="true"]{background:var(--raised);color:var(--ink);box-shadow:0 1px 3px #00000038}
html[data-theme="dark"] .catalog-head .audience-switch--prominent{background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] .catalog-head .audience-switch--prominent button{background:transparent;color:var(--muted)}
html[data-theme="dark"] .catalog-head .audience-switch--prominent button:hover{background:var(--hover);color:var(--ink)}
html[data-theme="dark"] .catalog-head .audience-switch--prominent button[aria-pressed="true"]{background:var(--selected);color:var(--on-selected);box-shadow:none}
html[data-theme="dark"] .catalog-head .audience-switch--prominent button[aria-pressed="true"]:hover{background:#fff;color:var(--on-selected)}
html[data-theme="dark"] .filter{background:transparent;color:var(--muted);border-color:var(--line)}
html[data-theme="dark"] .filter:hover{background:var(--hover);color:var(--ink);border-color:#8090a3}
html[data-theme="dark"] .filter[aria-pressed="true"],html[data-theme="dark"] .filter[aria-pressed="true"]:hover{background:var(--selected);border-color:var(--selected);color:var(--on-selected)}
html[data-theme="dark"] .filter-nav{color:var(--muted)}
html[data-theme="dark"] .filter-nav:hover{background:var(--hover);color:var(--ink)}
html[data-theme="dark"] .filter-nav:disabled{color:#707d8e;background:transparent}
html[data-theme="dark"] .insurer-card.is-selected{border-color:#a5b8d1;box-shadow:0 0 0 1px #a5b8d1}
html[data-theme="dark"] .estimate-feature:has(input:checked){background:var(--hover);border-color:#a5b8d1}

/* Readable copy: headings inherit --ink; secondary copy shares one contrast level. */
html[data-theme="dark"] :is(.direction-card p,.catalog-count,.catalog-empty p,.catalog-search>svg,.search-clear,.market-page-heading p,.market-page-audience,.market-page-heading .market-audience-context,.market-reset,.market-clear,.market-result-heading p,.insurer-brand p,.insurer-summary,.insurer-highlights li,.insurer-price,.insurer-price-request,.insurer-price-context,.insurer-details-body,.insurer-details-body dt,.market-compare-bar span,.market-table-scroll td,.market-table-scroll th button,.market-comparison-note,.market-purchase-note,.market-empty p,.market-budget>summary:after,.market-budget-hint,.market-budget-body>p,.market-tip p,.market-scroll-hint,.market-price-note,.price-table .price-coverage,.journey-close,.journey-host>p,.journey-page>p,.journey-label,.journey-product span,.journey-option>span,.journey-steps,.journey-total span,.market-budget-formula){color:var(--muted)}
html[data-theme="dark"] :is(.insurer-price strong,.insurer-price-request strong,.insurer-details-body dd,.insurer-details-body h4,.market-budget .market-budget-result,.price-table th,.price-table td strong,.journey-steps [aria-current]){color:var(--ink)}
html[data-theme="dark"] :is(.market-reset:hover,.market-clear:hover,.market-table-scroll th button:hover){color:var(--action)}
html[data-theme="dark"] :is(.market-table-scroll th,.market-table-scroll td,.price-table th,.price-table td,.price-table tbody tr,.estimate th,.estimate td){border-color:var(--line)}

/* Native controls, validation, notices and red confirmation action. */
html[data-theme="dark"] :is(.catalog-search input,.field input,.field select,.field textarea,.market-search,.market-sort select,.market-filters .field select,.market-budget input,.estimate .field input,.estimate .field select,.journey-form input){background:var(--input);color:var(--ink);border-color:#657285}
html[data-theme="dark"] .market-search input{background:transparent;color:var(--ink)}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#9da9ba;opacity:1}
html[data-theme="dark"] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--action)}
html[data-theme="dark"] :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--error)}
html[data-theme="dark"] :is(.field-error,.journey-error,.market-feedback){color:var(--error)}
html[data-theme="dark"] .form-status.error{background:var(--error-surface);color:var(--error)}
html[data-theme="dark"] .form-status.success{background:var(--success-surface);color:var(--success)}
html[data-theme="dark"] .modal .form-actions .button{background:#d92433;color:#fff}
html[data-theme="dark"] .modal .form-actions .button:hover{background:#bb1f2d;color:#fff}
html[data-theme="dark"] .estimate-eyebrow{color:var(--action)}
html[data-theme="dark"] .estimate-notice{border-left-color:var(--action)}
html[data-theme="dark"] :is(.legacy-note,.noscript){background:#352d20;color:#efd3a3}
html[data-theme="dark"] .cookie{background:var(--raised);color:var(--ink)}
html[data-theme="dark"] .cookie a{color:var(--ink)}
html[data-theme="dark"] .cookie button{background:var(--hover)}
