:root {
  --kaone-red: #b61616;
  --kaone-deep-red: #a51124;
  --kaone-sun: #f5cc45;
  --kaone-gold: #d49b00;
  --kaone-olive: #867d2c;
  --kaone-sage: #afad8d;
  --kaone-teal: #03989e;
  --kaone-clay: #ad795b;
  --kaone-caramel: #ae7f4d;
  --kaone-earth: #a5593c;
  --kaone-bark: #633019;
  --kaone-black: #000000;
  --kaone-type-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  --kaone-type-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --kaone-type-body-size: 1rem;
  --kaone-type-body-leading: 1.6;
  --kaone-type-heading-weight: 700;
  --kaone-type-heading-leading: 1.15;
  --kaone-type-heading-tracking: -0.035em;
  --kaone-type-display-size: clamp(2.8rem, 7vw, 6.5rem);
  --kaone-type-display-leading: 1;
  --kaone-type-display-tracking: -0.055em;
  --kaone-type-lede-size: clamp(1.05rem, 2vw, 1.3rem);
  --kaone-type-lede-leading: 1.65;
  --kaone-type-meta-size: 0.85rem;
  --kaone-type-label-size: 0.8rem;
  --kaone-type-label-tracking: 0.08em;
  --kaone-type-control-weight: 700;
  --kaone-type-emphasis-weight: 800;
  --kaone-type-amount-size: 1.05rem;
  --kaone-type-amount-large: clamp(2rem, 5vw, 4.5rem);
  --kaone-control-radius: 0.25rem;
  --kaone-control-pill-radius: 999px;
  --kaone-control-border-width: 1px;
  --kaone-control-border-style: solid;
  --kaone-control-field-border-width: 0 0 1px;
  --kaone-control-field-radius: 0;
  --kaone-control-field-bg: transparent;
  --kaone-control-focus-width: 3px;
  --kaone-control-focus-offset: 3px;
  --kaone-control-focus-opacity: 0.28;
  --kaone-control-disabled-opacity: 0.55;
  --kaone-control-busy-opacity: 0.65;
  --kaone-control-state-border-width: 0.25rem;
  --kaone-control-chip-padding: 0.625rem 0.875rem;
  --kaone-control-action-padding: 0.625rem 1rem;
  --kaone-control-target-size: 2.75rem;
  --kaone-control-logo-size: 3rem;
}

:root, [data-bs-theme=light] {
  color-scheme: light;
  --kaone-page: #ffffff;
  --kaone-color-page: var(--kaone-page);
  --kaone-surface: #ffffff;
  --kaone-color-surface: var(--kaone-surface);
  --kaone-surface-soft: #fbfaf7;
  --kaone-color-surface-soft: var(--kaone-surface-soft);
  --kaone-text: #000000;
  --kaone-color-text: var(--kaone-text);
  --kaone-text-muted: #675f56;
  --kaone-color-text-muted: var(--kaone-text-muted);
  --kaone-border: #ddd6c8;
  --kaone-color-border: var(--kaone-border);
  --kaone-control-border: #897f70;
  --kaone-color-control-border: var(--kaone-control-border);
  --kaone-action: #b61616;
  --kaone-color-action: var(--kaone-action);
  --kaone-action-hover: #a51124;
  --kaone-color-action-hover: var(--kaone-action-hover);
  --kaone-on-action: #ffffff;
  --kaone-color-on-action: var(--kaone-on-action);
  --kaone-on-action-hover: #ffffff;
  --kaone-color-on-action-hover: var(--kaone-on-action-hover);
  --kaone-accent: #d49b00;
  --kaone-color-accent: var(--kaone-accent);
  --kaone-on-accent: #000000;
  --kaone-color-on-accent: var(--kaone-on-accent);
  --kaone-highlight: #f5cc45;
  --kaone-color-highlight: var(--kaone-highlight);
  --kaone-on-highlight: #000000;
  --kaone-color-on-highlight: var(--kaone-on-highlight);
  --kaone-focus: #007a80;
  --kaone-color-focus: var(--kaone-focus);
  --kaone-error: #a51124;
  --kaone-color-error: var(--kaone-error);
  --kaone-on-error: #ffffff;
  --kaone-color-on-error: var(--kaone-on-error);
  --kaone-success: #2e653e;
  --kaone-color-success: var(--kaone-success);
  --kaone-on-success: #ffffff;
  --kaone-color-on-success: var(--kaone-on-success);
  --kaone-warning: #d49b00;
  --kaone-color-warning: var(--kaone-warning);
  --kaone-on-warning: #000000;
  --kaone-color-on-warning: var(--kaone-on-warning);
  --kaone-info: #03989e;
  --kaone-color-info: var(--kaone-info);
  --kaone-on-info: #000000;
  --kaone-color-on-info: var(--kaone-on-info);
  --kaone-earth: #a5593c;
  --kaone-color-earth: var(--kaone-earth);
  --kaone-on- earth: #ffffff;
  --kaone-color-on- earth: var(--kaone-on- earth);
  --kaone-selected: #111111;
  --kaone-color-selected: var(--kaone-selected);
  --kaone-on-selected: #ffffff;
  --kaone-color-on-selected: var(--kaone-on-selected);
  --kaone-link-secondary: #633019;
  --kaone-color-link-secondary: var(--kaone-link-secondary);
  --kaone-check-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3e%3c/svg%3e");
  --kaone-radio-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='rgb(255, 255, 255)'/%3e%3c/svg%3e");
  --kaone-mixed-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='rgb(255, 255, 255)' stroke-linecap='round' stroke-width='3' d='M4 8h8'/%3e%3c/svg%3e");
  --bs-body-font-family: var(--kaone-type-family);
  --bs-body-font-size: var(--kaone-type-body-size);
  --bs-body-line-height: var(--kaone-type-body-leading);
  --bs-body-color: var(--kaone-text);
  --bs-body-color-rgb: 0, 0, 0;
  --bs-body-bg: var(--kaone-page);
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: var(--kaone-text);
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: var(--kaone-text-muted);
  --bs-secondary-color-rgb: 103, 95, 86;
  --bs-tertiary-color: var(--kaone-text-muted);
  --bs-tertiary-color-rgb: 103, 95, 86;
  --bs-secondary-bg: var(--kaone-surface-soft);
  --bs-secondary-bg-rgb: 251, 250, 247;
  --bs-tertiary-bg: var(--kaone-surface);
  --bs-tertiary-bg-rgb: 255, 255, 255;
  --bs-border-color: var(--kaone-border);
  --bs-heading-color: var(--kaone-text);
  --bs-link-color: var(--kaone-link-secondary);
  --bs-link-color-rgb: 99, 48, 25;
  --bs-link-hover-color: var(--kaone-action-hover);
  --bs-link-hover-color-rgb: 165, 17, 36;
  --kaone-focus-rgb: 0, 122, 128;
  --bs-focus-ring-color: rgba(var(--kaone-focus-rgb), var(--kaone-control-focus-opacity));
  --bs-form-invalid-color: var(--kaone-error);
  --bs-form-invalid-border-color: var(--kaone-error);
  --bs-form-valid-color: var(--kaone-success);
  --bs-form-valid-border-color: var(--kaone-success);
  --bs-primary: var(--kaone-action);
  --bs-primary-rgb: 182, 22, 22;
  --bs-primary-text-emphasis: rgb(63.7, 7.7, 7.7);
  --bs-primary-bg-subtle: rgb(246.24, 227.04, 227.04);
  --bs-primary-border-subtle: rgb(225.8, 161.8, 161.8);
  --bs-danger: var(--kaone-error);
  --bs-danger-rgb: 165, 17, 36;
  --bs-danger-text-emphasis: rgb(57.75, 5.95, 12.6);
  --bs-danger-bg-subtle: rgb(244.2, 226.44, 228.72);
  --bs-danger-border-subtle: rgb(219, 159.8, 167.4);
  --bs-success: var(--kaone-success);
  --bs-success-rgb: 46, 101, 62;
  --bs-success-text-emphasis: rgb(16.1, 35.35, 21.7);
  --bs-success-bg-subtle: rgb(229.92, 236.52, 231.84);
  --bs-success-border-subtle: rgb(171.4, 193.4, 177.8);
  --bs-warning: var(--kaone-warning);
  --bs-warning-rgb: 212, 155, 0;
  --bs-warning-text-emphasis: rgb(74.2, 54.25, 0);
  --bs-warning-bg-subtle: rgb(249.84, 243, 224.4);
  --bs-warning-border-subtle: rgb(237.8, 215, 153);
  --bs-info: var(--kaone-info);
  --bs-info-rgb: 3, 152, 158;
  --bs-info-text-emphasis: rgb(1.05, 53.2, 55.3);
  --bs-info-bg-subtle: rgb(224.76, 242.64, 243.36);
  --bs-info-border-subtle: rgb(154.2, 213.8, 216.2);
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --kaone-page: #171411;
  --kaone-color-page: var(--kaone-page);
  --kaone-surface: #211d19;
  --kaone-color-surface: var(--kaone-surface);
  --kaone-surface-soft: #29231e;
  --kaone-color-surface-soft: var(--kaone-surface-soft);
  --kaone-text: #f4efe8;
  --kaone-color-text: var(--kaone-text);
  --kaone-text-muted: #c7bdb2;
  --kaone-color-text-muted: var(--kaone-text-muted);
  --kaone-border: #4b4239;
  --kaone-color-border: var(--kaone-border);
  --kaone-control-border: #a39687;
  --kaone-color-control-border: var(--kaone-control-border);
  --kaone-action: #ff7474;
  --kaone-color-action: var(--kaone-action);
  --kaone-action-hover: #ff9696;
  --kaone-color-action-hover: var(--kaone-action-hover);
  --kaone-on-action: #170d0d;
  --kaone-color-on-action: var(--kaone-on-action);
  --kaone-on-action-hover: #170d0d;
  --kaone-color-on-action-hover: var(--kaone-on-action-hover);
  --kaone-accent: #f5cc45;
  --kaone-color-accent: var(--kaone-accent);
  --kaone-on-accent: #171411;
  --kaone-color-on-accent: var(--kaone-on-accent);
  --kaone-highlight: #514214;
  --kaone-color-highlight: var(--kaone-highlight);
  --kaone-on-highlight: #fff0b3;
  --kaone-color-on-highlight: var(--kaone-on-highlight);
  --kaone-focus: #36c4c9;
  --kaone-color-focus: var(--kaone-focus);
  --kaone-error: #ff7474;
  --kaone-color-error: var(--kaone-error);
  --kaone-on-error: #170d0d;
  --kaone-color-on-error: var(--kaone-on-error);
  --kaone-success: #8fd5a0;
  --kaone-color-success: var(--kaone-success);
  --kaone-on-success: #142319;
  --kaone-color-on-success: var(--kaone-on-success);
  --kaone-warning: #f5cc45;
  --kaone-color-warning: var(--kaone-warning);
  --kaone-on-warning: #171411;
  --kaone-color-on-warning: var(--kaone-on-warning);
  --kaone-info: #36c4c9;
  --kaone-color-info: var(--kaone-info);
  --kaone-on-info: #102122;
  --kaone-color-on-info: var(--kaone-on-info);
  --kaone-earth: #dfa382;
  --kaone-color-earth: var(--kaone-earth);
  --kaone-on- earth: #21150e;
  --kaone-color-on- earth: var(--kaone-on- earth);
  --kaone-selected: #f4efe8;
  --kaone-color-selected: var(--kaone-selected);
  --kaone-on-selected: #171411;
  --kaone-color-on-selected: var(--kaone-on-selected);
  --kaone-link-secondary: #dfa382;
  --kaone-color-link-secondary: var(--kaone-link-secondary);
  --kaone-check-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgb(23, 13, 13)' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m4 8 3 3 5-6'/%3e%3c/svg%3e");
  --kaone-radio-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='rgb(23, 13, 13)'/%3e%3c/svg%3e");
  --kaone-mixed-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='rgb(23, 13, 13)' stroke-linecap='round' stroke-width='3' d='M4 8h8'/%3e%3c/svg%3e");
  --bs-body-font-family: var(--kaone-type-family);
  --bs-body-font-size: var(--kaone-type-body-size);
  --bs-body-line-height: var(--kaone-type-body-leading);
  --bs-body-color: var(--kaone-text);
  --bs-body-color-rgb: 244, 239, 232;
  --bs-body-bg: var(--kaone-page);
  --bs-body-bg-rgb: 23, 20, 17;
  --bs-emphasis-color: var(--kaone-text);
  --bs-emphasis-color-rgb: 244, 239, 232;
  --bs-secondary-color: var(--kaone-text-muted);
  --bs-secondary-color-rgb: 199, 189, 178;
  --bs-tertiary-color: var(--kaone-text-muted);
  --bs-tertiary-color-rgb: 199, 189, 178;
  --bs-secondary-bg: var(--kaone-surface-soft);
  --bs-secondary-bg-rgb: 41, 35, 30;
  --bs-tertiary-bg: var(--kaone-surface);
  --bs-tertiary-bg-rgb: 33, 29, 25;
  --bs-border-color: var(--kaone-border);
  --bs-heading-color: var(--kaone-text);
  --bs-link-color: var(--kaone-link-secondary);
  --bs-link-color-rgb: 223, 163, 130;
  --bs-link-hover-color: var(--kaone-action-hover);
  --bs-link-hover-color-rgb: 255, 150, 150;
  --kaone-focus-rgb: 54, 196, 201;
  --bs-focus-ring-color: rgba(var(--kaone-focus-rgb), var(--kaone-control-focus-opacity));
  --bs-form-invalid-color: var(--kaone-error);
  --bs-form-invalid-border-color: var(--kaone-error);
  --bs-form-valid-color: var(--kaone-success);
  --bs-form-valid-border-color: var(--kaone-success);
  --bs-primary: var(--kaone-action);
  --bs-primary-rgb: 255, 116, 116;
  --bs-primary-text-emphasis: rgb(247.85, 195.95, 191.4);
  --bs-primary-bg-subtle: rgb(59.64, 39.44, 35.92);
  --bs-primary-border-subtle: rgb(121.8, 63.8, 61.4);
  --bs-danger: var(--kaone-error);
  --bs-danger-rgb: 255, 116, 116;
  --bs-danger-text-emphasis: rgb(247.85, 195.95, 191.4);
  --bs-danger-bg-subtle: rgb(59.64, 39.44, 35.92);
  --bs-danger-border-subtle: rgb(121.8, 63.8, 61.4);
  --bs-success: var(--kaone-success);
  --bs-success-rgb: 143, 213, 160;
  --bs-success-text-emphasis: rgb(208.65, 229.9, 206.8);
  --bs-success-bg-subtle: rgb(46.2, 51.08, 41.2);
  --bs-success-border-subtle: rgb(77, 102.6, 79);
  --bs-warning: var(--kaone-warning);
  --bs-warning-rgb: 245, 204, 69;
  --bs-warning-text-emphasis: rgb(244.35, 226.75, 174.95);
  --bs-warning-bg-subtle: rgb(58.44, 50, 30.28);
  --bs-warning-border-subtle: rgb(117.8, 99, 42.6);
  --bs-info: var(--kaone-info);
  --bs-info-rgb: 54, 196, 201;
  --bs-info-text-emphasis: rgb(177.5, 223.95, 221.15);
  --bs-info-bg-subtle: rgb(35.52, 49.04, 46.12);
  --bs-info-border-subtle: rgb(41.4, 95.8, 95.4);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--kaone-type-heading-weight);
  line-height: var(--kaone-type-heading-leading);
  letter-spacing: var(--kaone-type-heading-tracking);
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

.display-title {
  font-size: var(--kaone-type-display-size);
  line-height: var(--kaone-type-display-leading);
  letter-spacing: var(--kaone-type-display-tracking);
}

.eyebrow, .filter-label, .surface-card__meta {
  color: var(--kaone-action);
  font-size: var(--kaone-type-label-size);
  font-weight: var(--kaone-type-emphasis-weight);
  letter-spacing: var(--kaone-type-label-tracking);
  text-transform: uppercase;
}

.lede {
  color: var(--kaone-text-muted);
  font-size: var(--kaone-type-lede-size);
  line-height: var(--kaone-type-lede-leading);
}

.meta, .muted, .form-text, .source-meta, .source-citation {
  color: var(--kaone-text-muted);
}

.meta, .source-meta {
  font-size: var(--kaone-type-meta-size);
}

.mono {
  font-family: var(--kaone-type-mono);
  overflow-wrap: anywhere;
}

.text-link, .action-link, .facet-clear {
  color: var(--kaone-link-secondary);
  font-weight: var(--kaone-type-control-weight);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.text-link:hover, .text-link:focus-visible, .text-link:active, .action-link:hover, .action-link:focus-visible, .action-link:active, .facet-clear:hover, .facet-clear:focus-visible, .facet-clear:active {
  color: var(--kaone-action-hover);
}

.action-link, .facet-clear {
  border: 0;
  padding: 0;
  background: transparent;
  font-family: inherit;
}

.btn {
  --bs-btn-font-weight: var(--kaone-type-control-weight);
  --bs-btn-border-radius: var(--kaone-control-pill-radius);
  --bs-btn-disabled-opacity: var(--kaone-control-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: var(--kaone-on-action);
  --bs-btn-bg: var(--kaone-action);
  --bs-btn-border-color: var(--kaone-action);
  --bs-btn-hover-color: var(--kaone-on-action-hover);
  --bs-btn-hover-bg: var(--kaone-action-hover);
  --bs-btn-hover-border-color: var(--kaone-action-hover);
  --bs-btn-active-color: var(--kaone-on-action-hover);
  --bs-btn-active-bg: var(--kaone-action-hover);
  --bs-btn-active-border-color: var(--kaone-action-hover);
  --bs-btn-disabled-color: var(--kaone-on-action);
  --bs-btn-disabled-bg: var(--kaone-action);
  --bs-btn-disabled-border-color: var(--kaone-action);
  --bs-btn-focus-shadow-rgb: var(--kaone-focus-rgb);
}

.btn-outline-secondary {
  --bs-btn-color: var(--kaone-text);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--kaone-control-border);
  --bs-btn-hover-color: var(--kaone-on-highlight);
  --bs-btn-hover-bg: var(--kaone-highlight);
  --bs-btn-hover-border-color: var(--kaone-control-border);
  --bs-btn-active-color: var(--kaone-on-selected);
  --bs-btn-active-bg: var(--kaone-selected);
  --bs-btn-active-border-color: var(--kaone-selected);
  --bs-btn-disabled-color: var(--kaone-text-muted);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--kaone-control-border);
  --bs-btn-focus-shadow-rgb: var(--kaone-focus-rgb);
}

.button-link, .button-secondary, .step-next, .browse-submit-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--kaone-control-target-size);
  padding: var(--kaone-control-action-padding);
  border: var(--kaone-control-border-width) solid var(--kaone-action);
  border-radius: var(--kaone-control-radius);
  color: var(--kaone-on-action);
  background: var(--kaone-action);
  font: inherit;
  font-weight: var(--kaone-type-control-weight);
  text-decoration: none;
}
.button-link:not(:disabled):not([aria-disabled=true]):hover, .button-secondary:not(:disabled):not([aria-disabled=true]):hover, .step-next:not(:disabled):not([aria-disabled=true]):hover, .browse-submit-fallback:not(:disabled):not([aria-disabled=true]):hover {
  color: var(--kaone-on-action-hover);
  border-color: var(--kaone-action-hover);
  background: var(--kaone-action-hover);
}
.button-link:disabled, .button-link[aria-disabled=true], .button-secondary:disabled, .button-secondary[aria-disabled=true], .step-next:disabled, .step-next[aria-disabled=true], .browse-submit-fallback:disabled, .browse-submit-fallback[aria-disabled=true] {
  opacity: var(--kaone-control-disabled-opacity);
  cursor: not-allowed;
}

.button-secondary {
  color: var(--kaone-text);
  border-color: var(--kaone-control-border);
  background: transparent;
}
.button-secondary:not(:disabled):not([aria-disabled=true]):hover {
  color: var(--kaone-on-highlight);
  border-color: var(--kaone-control-border);
  background: var(--kaone-highlight);
}

.button-link--pill {
  border-radius: var(--kaone-control-pill-radius);
}

.form-label, .field-label, legend {
  font-weight: var(--kaone-type-control-weight);
}

.form-control, .form-select {
  border-width: var(--kaone-control-field-border-width);
  border-style: var(--kaone-control-border-style);
  border-color: var(--kaone-control-border);
  border-radius: var(--kaone-control-field-radius);
  color: var(--kaone-text);
  background-color: var(--kaone-control-field-bg);
}
.form-control:focus, .form-select:focus {
  color: var(--kaone-text);
  border-color: var(--kaone-focus);
  background-color: var(--kaone-control-field-bg);
  box-shadow: none;
}
.form-control::placeholder, .form-select::placeholder {
  color: var(--kaone-text-muted);
  opacity: 1;
}
.form-control:disabled, .form-select:disabled {
  color: var(--kaone-text-muted);
  background-color: var(--kaone-surface-soft);
  opacity: var(--kaone-control-disabled-opacity);
}
.form-control[readonly], .form-select[readonly] {
  background-color: var(--kaone-surface-soft);
}

.form-check-input {
  border-color: var(--kaone-control-border);
}
.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate {
  border-color: var(--kaone-action);
  background-color: var(--kaone-action);
}
.form-check-input:focus {
  border-color: var(--kaone-focus);
  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

.invalid-feedback, .errorlist {
  color: var(--kaone-error);
  font-weight: var(--kaone-type-control-weight);
}

.form-control.is-invalid, .form-control[aria-invalid=true], .was-validated .form-control:invalid, .form-select.is-invalid, .form-select[aria-invalid=true], .was-validated .form-select:invalid, .form-check-input.is-invalid, .form-check-input[aria-invalid=true], .was-validated .form-check-input:invalid {
  border-color: var(--kaone-error);
}
.form-control.is-invalid:focus, .form-control[aria-invalid=true]:focus, .was-validated .form-control:invalid:focus, .form-select.is-invalid:focus, .form-select[aria-invalid=true]:focus, .was-validated .form-select:invalid:focus, .form-check-input.is-invalid:focus, .form-check-input[aria-invalid=true]:focus, .was-validated .form-check-input:invalid:focus {
  border-color: var(--kaone-error);
}
.form-control.is-valid:not([aria-invalid=true]):not(.is-invalid), .was-validated .form-control:valid:not([aria-invalid=true]):not(.is-invalid), .form-select.is-valid:not([aria-invalid=true]):not(.is-invalid), .was-validated .form-select:valid:not([aria-invalid=true]):not(.is-invalid), .form-check-input.is-valid:not([aria-invalid=true]):not(.is-invalid), .was-validated .form-check-input:valid:not([aria-invalid=true]):not(.is-invalid) {
  border-color: var(--kaone-success);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: var(--kaone-control-focus-width) solid var(--kaone-focus);
  outline-offset: var(--kaone-control-focus-offset);
}

.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible {
  outline: var(--kaone-control-focus-width) solid var(--kaone-focus);
  outline-offset: var(--kaone-control-focus-offset);
}

.form-check-input[type=checkbox]:checked {
  --bs-form-check-bg-image: var(--kaone-check-image);
}

.form-check-input[type=radio]:checked {
  --bs-form-check-bg-image: var(--kaone-radio-image);
}

.form-check-input[type=checkbox]:indeterminate {
  --bs-form-check-bg-image: var(--kaone-mixed-image);
}

.form-switch .form-check-input:checked {
  --bs-form-switch-bg: var(--kaone-radio-image);
}

.filter-chip, .category-chip, .adult-status-choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  min-block-size: var(--kaone-control-target-size);
  max-inline-size: 100%;
  padding: var(--kaone-control-chip-padding);
  border: var(--kaone-control-border-width) solid var(--kaone-border);
  border-radius: var(--kaone-control-pill-radius);
  color: var(--kaone-text);
  background: var(--kaone-surface);
  font: inherit;
  font-weight: var(--kaone-type-control-weight);
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.filter-chip > input, .category-chip > input, .adult-status-choice > input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.filter-chip:where(:not(:disabled):not([aria-disabled=true]):not(:has(input:disabled))):hover, .category-chip:where(:not(:disabled):not([aria-disabled=true]):not(:has(input:disabled))):hover, .adult-status-choice:where(:not(:disabled):not([aria-disabled=true]):not(:has(input:disabled))):hover {
  color: var(--kaone-on-highlight);
  background: var(--kaone-highlight);
}
.filter-chip:has(input:checked), .filter-chip:not(:has(input)).is-active, .filter-chip:not(:has(input)).category-chip--active, .filter-chip[aria-pressed=true], .category-chip:has(input:checked), .category-chip:not(:has(input)).is-active, .category-chip:not(:has(input)).category-chip--active, .category-chip[aria-pressed=true], .adult-status-choice:has(input:checked), .adult-status-choice:not(:has(input)).is-active, .adult-status-choice:not(:has(input)).category-chip--active, .adult-status-choice[aria-pressed=true] {
  color: var(--kaone-on-selected);
  border-color: var(--kaone-selected);
  background: var(--kaone-selected);
}
.filter-chip:has(input:checked):hover, .filter-chip:not(:has(input)).is-active:hover, .filter-chip:not(:has(input)).category-chip--active:hover, .filter-chip[aria-pressed=true]:hover, .category-chip:has(input:checked):hover, .category-chip:not(:has(input)).is-active:hover, .category-chip:not(:has(input)).category-chip--active:hover, .category-chip[aria-pressed=true]:hover, .adult-status-choice:has(input:checked):hover, .adult-status-choice:not(:has(input)).is-active:hover, .adult-status-choice:not(:has(input)).category-chip--active:hover, .adult-status-choice[aria-pressed=true]:hover {
  color: var(--kaone-on-selected);
  background: var(--kaone-selected);
}
.filter-chip:has(input:focus-visible), .category-chip:has(input:focus-visible), .adult-status-choice:has(input:focus-visible) {
  outline: var(--kaone-control-focus-width) solid var(--kaone-focus);
  outline-offset: var(--kaone-control-focus-offset);
}
.filter-chip:has(input[aria-invalid=true]), .filter-chip[aria-invalid=true], .category-chip:has(input[aria-invalid=true]), .category-chip[aria-invalid=true], .adult-status-choice:has(input[aria-invalid=true]), .adult-status-choice[aria-invalid=true] {
  border-color: var(--kaone-error);
}
.filter-chip:disabled, .filter-chip[aria-disabled=true], .filter-chip:has(input:disabled), .category-chip:disabled, .category-chip[aria-disabled=true], .category-chip:has(input:disabled), .adult-status-choice:disabled, .adult-status-choice[aria-disabled=true], .adult-status-choice:has(input:disabled) {
  opacity: var(--kaone-control-disabled-opacity);
  cursor: not-allowed;
}
.filter-chip small, .category-chip small, .adult-status-choice small {
  color: inherit;
  font-size: var(--kaone-type-meta-size);
}

.active-filters button {
  min-block-size: var(--kaone-control-target-size);
  padding: var(--kaone-control-chip-padding);
  border: var(--kaone-control-border-width) solid var(--kaone-border);
  border-radius: var(--kaone-control-pill-radius);
  color: var(--kaone-text);
  background: var(--kaone-surface-soft);
  font: inherit;
}
.active-filters button:not(:disabled):hover {
  color: var(--kaone-on-highlight);
  background: var(--kaone-highlight);
}
.active-filters button:disabled {
  opacity: var(--kaone-control-disabled-opacity);
}

.filter-count {
  color: var(--kaone-on-action);
  background: var(--kaone-action);
  border-radius: var(--kaone-control-pill-radius);
  font-variant-numeric: tabular-nums;
}

.notice, .readiness-panel, .resolution-card {
  --kaone-state-color: var(--kaone-info);
  border-inline-start: var(--kaone-control-state-border-width) solid var(--kaone-state-color);
  color: var(--kaone-text);
  background: var(--kaone-surface-soft);
}

.notice--error {
  --kaone-state-color: var(--kaone-error);
}

.notice--success {
  --kaone-state-color: var(--kaone-success);
}

.notice--warning {
  --kaone-state-color: var(--kaone-warning);
}

.notice--info {
  --kaone-state-color: var(--kaone-info);
}

.notice--accent {
  --kaone-state-color: var(--kaone-accent);
}

.readiness-panel--ready {
  --kaone-state-color: var(--kaone-success);
}

.readiness-panel--blocked, .resolution-card--boundary {
  --kaone-state-color: var(--kaone-earth);
}

.readiness-panel--invalid_input, .readiness-panel--form_invalid {
  --kaone-state-color: var(--kaone-error);
}

.resolution-card--correctable {
  --kaone-state-color: var(--kaone-warning);
}

.resolution-card--confirmation {
  --kaone-state-color: var(--kaone-info);
}

.status-pill {
  color: var(--kaone-text-muted);
  border: var(--kaone-control-border-width) solid var(--kaone-border);
  border-radius: var(--kaone-control-pill-radius);
  font-size: var(--kaone-type-meta-size);
  font-weight: var(--kaone-type-control-weight);
}

.status-pill--complete {
  color: var(--kaone-on-success);
  border-color: var(--kaone-success);
  background: var(--kaone-success);
}

.amount, .fee-amount__primary, .result-total, .subtotal-list dd {
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: var(--kaone-type-emphasis-weight);
}

.amount, .fee-amount__primary {
  font-size: var(--kaone-type-amount-size);
}

.amount--large, .result-total, .subtotal-list--large dd {
  font-size: var(--kaone-type-amount-large);
  line-height: 1.1;
  letter-spacing: var(--kaone-type-display-tracking);
}

.fee-amount__source {
  color: var(--kaone-text-muted);
  font-size: var(--kaone-type-meta-size);
}

.fee-amount--unresolved .fee-amount__primary, .fee-amount--confirmation_required .fee-amount__primary, .fee-amount--unavailable .fee-amount__primary {
  color: var(--kaone-text-muted);
}

.result-total--free {
  color: var(--kaone-success);
}

.fee-line {
  border-block-start: var(--kaone-control-border-width) solid var(--kaone-border);
}

.source-citation {
  overflow-wrap: anywhere;
}

[data-tariff-results][aria-busy=true] {
  opacity: var(--kaone-control-busy-opacity);
}

.editorial-media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
}

.site-header {
  --bs-navbar-color: var(--kaone-text);
  --bs-navbar-hover-color: var(--kaone-action-hover);
  --bs-navbar-active-color: var(--kaone-action);
  --bs-navbar-toggler-border-color: var(--kaone-control-border);
  border-block-end: var(--kaone-control-border-width) solid var(--kaone-border);
  background: var(--kaone-page);
}

.brand, .site-nav a {
  color: var(--kaone-text);
  text-decoration: none;
}

.brand:hover, .brand:focus-visible {
  color: var(--kaone-action-hover);
}

.brand__mark {
  block-size: var(--kaone-control-logo-size);
  inline-size: auto;
}

.brand__product-name, .site-nav a {
  font-weight: var(--kaone-type-emphasis-weight);
}

.site-nav a:hover, .site-nav a:focus-visible, .site-nav a:active {
  color: var(--kaone-action-hover);
}
.site-nav a[aria-current=page] {
  color: var(--kaone-action);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.site-footer {
  border-block-start: var(--kaone-control-border-width) solid var(--kaone-border);
  color: var(--kaone-text-muted);
}
.site-footer a {
  color: inherit;
  font-weight: var(--kaone-type-control-weight);
  text-underline-offset: 0.2em;
}
.site-footer a:hover, .site-footer a:focus-visible, .site-footer a:active {
  color: var(--kaone-action-hover);
}

.site-footer__icon-link {
  inline-size: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.site-footer__contact-icon {
  inline-size: 1rem;
  block-size: 1rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
