.screen-reader-text,
.skip-link:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.skip-link:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100;
    background: white;
    color: #111;
    padding: 16px;
}
.access-panel {
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
    padding-block: 24px;
}
.access-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    align-items: center;
    font-size: 16px;
}
.access-controls label {
    display: flex;
    align-items: center;
    gap: 10px;
}
.access-controls select,
.access-controls button {
    background: var(--color-background);
    border: 1px solid var(--color-border);
    color: var(--color-text);
    border-radius: 8px;
    min-height: 44px;
    padding: 8px 14px;
}
.access-controls input {
    width: 20px;
    height: 20px;
}
html[data-text-size='large'] {
    --text-size: 24px;
}
html[data-text-size='extra'] {
    --text-size: 28px;
}
html[data-text-size='large'] .nav-list,
html[data-text-size='extra'] .nav-list {
    flex-wrap: wrap;
}
html[data-wide-spacing='true'] body {
    line-height: 1.95;
    letter-spacing: 0.04em;
}
html[data-wide-spacing='true'] h1,
html[data-wide-spacing='true'] h2,
html[data-wide-spacing='true'] h3 {
    line-height: 1.35;
    letter-spacing: 0.01em;
}
html[data-hide-images='true'] img {
    visibility: hidden;
}
html[data-hide-images='true'] .hero-image {
    display: none;
}
html[data-contrast='light'] {
    --color-text: #000;
    --color-muted: #000;
    --color-background: #fff;
    --color-surface: #fff;
    --color-border: #000;
    --color-primary: #000;
    --color-secondary: #000;
}
html[data-contrast='dark'],
html[data-contrast='yellow'] {
    --color-text: #fff;
    --color-muted: #fff;
    --color-background: #000;
    --color-surface: #000;
    --color-border: #fff;
    --color-primary: #fff;
    --color-secondary: #fff;
}
html[data-contrast='yellow'] {
    --color-text: #ffef00;
    --color-muted: #ffef00;
    --color-border: #ffef00;
    --color-primary: #ffef00;
    --color-secondary: #ffef00;
}
html[data-contrast]:not([data-contrast='normal'])
    :is(
        .hero,
        .quote-section,
        .quote-card,
        .feedback-card,
        .site-footer,
        .pill,
        .button,
        .icon-box,
        .hotline,
        .quote-badge,
        .count-pill,
        .vehicle-badge,
        .access-panel,
        .social-links a
    ) {
    background: var(--color-background);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    box-shadow: none;
}
html[data-contrast]:not([data-contrast='normal'])
    :is(
        .hero-note,
        .site-footer h2,
        .site-footer .brand-name,
        .hotline strong,
        .hotline > span,
        .quote-badge,
        .quality-dot,
        .count-pill,
        .eyebrow,
        .hero .pill
    ) {
    color: var(--color-text);
}
html[data-contrast]:not([data-contrast='normal']) .hero-image {
    opacity: 0.2;
}
html[data-contrast]:not([data-contrast='normal']) .hero::before {
    display: none;
}
html[data-contrast]:not([data-contrast='normal']) a {
    text-decoration: underline;
    text-underline-offset: 4px;
}
html[data-contrast]:not([data-contrast='normal']) :focus-visible {
    outline-color: var(--color-text);
}
