/* =========================================================
   v11 · Accessibility pass before launch (2026-10-14, WCAG 2.2 AA via axe; Samu approved A-C).
   Looks the same: only hit areas, a few text shades and focus rings change.
   ========================================================= */
/* 2.5.8 target size: carousel dots are 24px targets; the visible dot stays 8px (transparent border, clipped background) */
.sw-dots, section.st9 .st9-dots, .tr-dots { gap: 0 !important; }
.sw-dots button, section.st9 .st9-dots button, .tr-dots button {
  box-sizing: content-box !important; border: 8px solid transparent !important; background-clip: padding-box !important;
}
.sw-dots button::after, .tr-dots button::after { content: none !important; }
/* 1.4.3 contrast */
.pc-card.is-lit { --mut: #14103a; }               /* was #2a2350 on signal violet: 4.41 -> 5.0 */
.ta-b b { color: #55555a; }                         /* was --muted on soft violet: 4.31 */
/* 2.1.1 keyboard: scrollable rows can take focus */
.iqc-row:focus-visible, .st9-list:focus-visible { outline: 2px solid var(--signal); outline-offset: 4px; border-radius: 12px; }
/* 2.2.2 pause for the phone inquiry row (js/v8.js), quiet like the cube's */
.sw-dots .iqc-pause { display: flex; gap: 3px; align-items: center; justify-content: center; width: 24px; height: 24px; margin-left: 6px; padding: 0; border: 0 !important; background: none !important; cursor: pointer; opacity: .55; }
.sw-dots .iqc-pause i { width: 3px; height: 10px; border-radius: 2px; background: #fff; }
.sw-dots .iqc-pause[aria-pressed="true"] i:first-child { width: 0; height: 0; border-radius: 0; background: none; border-style: solid; border-width: 5px 0 5px 9px; border-color: transparent transparent transparent #fff; }
.sw-dots .iqc-pause[aria-pressed="true"] i:last-child { display: none; }
/* legal links in the footer bottom row, and the privacy line under the teardown form */
.ft10-legal { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.ft10-legal a { color: inherit; text-decoration: none; }
.ft10-legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.form-privacy { margin-top: -4px; font-size: 13px; color: var(--muted); }
.form-privacy a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
/* 1.4.3 contrast in scroll reveals: the start shade already passes (big headings 3:1, body text 4.5:1);
   the fade from grey to ink stays, just shorter */
:root { --wipe-from: #8a8a87; }
.bg-black, .dz, .tp { --wipe-from: #5f5f63; }
[data-ink] { color: color-mix(in srgb, var(--ink) calc(var(--w, 1) * 100%), #6b6b68); }
