.skip-link {position:absolute;left:-10000px;top:0;z-index:2000;background:white;color:#111;padding:12px;}
.skip-link:focus {left:12px;top:12px;}
.header button:focus-visible,.header a:focus-visible,.footer a:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
.header__desktop-item:focus-within .header__submenu {opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.redesign--modern .sources,.redesign--modern .sources__body,.redesign--modern .sources__list {min-width:0;max-width:100%;}
.redesign--modern .sources a {overflow-wrap:anywhere;}
.js-body-map-point:focus-visible,[role="button"].swiper-slide:focus-visible,.video-slider__preview-button:focus-visible {outline:2px solid #c34e70;outline-offset:2px;}
/* PWRU-534: live keeps the preview arrows overhanging by 20px on narrow screens
   too (main.css sets -20px); an earlier inside-placement rule broke parity. */
/* Live IQ pages do not break long source URLs: the «Источники» token overflows
   and Chromium expands the mobile layout viewport to it (390 → 502/627/655 CSS px).
   Forcing overflow-wrap:anywhere here shrinks that viewport back to 390 and
   re-lays out the whole mobile page (carousel → stack), so it is not applied. */
