/* Общая обвязка страниц QR-Знак: шапка (2 направления), футер, промо-полоска */
.sh-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid var(--line,#DDE0DB)}
.sh-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;flex-wrap:wrap}
.sh-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink,#16181D)}
.sh-mark{width:30px;height:30px;flex:none;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px}
.sh-mark span{background:var(--ink,#16181D);border-radius:1px}
.sh-mark span:nth-child(5){background:var(--cobalt,#2545D3)}
.sh-mark span:nth-child(9){background:transparent;border:2px solid var(--ink,#16181D)}
.sh-name{font-family:"Unbounded",sans-serif;font-weight:700;font-size:16px}
.sh-name em{font-style:normal;color:var(--cobalt,#2545D3)}
.sh-nav{display:flex;gap:26px;flex-wrap:wrap}
.sh-group b{display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute,#8A8F98);margin-bottom:3px}
.sh-group a{color:var(--mute,#8A8F98);text-decoration:none;font-size:13.5px;margin-right:12px}
.sh-group a:last-child{margin-right:0}
.sh-group a:hover{color:var(--ink,#16181D)}
.sh-group a.on{color:var(--cobalt,#2545D3);font-weight:600}
@media(max-width:760px){.sh-in{gap:12px}.sh-nav{gap:18px}}

.site-footer{border-top:1px solid var(--line,#DDE0DB);margin-top:30px}
.sf-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px;padding:28px 20px 30px}
@media(max-width:760px){.sf-grid{grid-template-columns:1fr;gap:20px}}
.sf-col b{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink,#16181D);margin-bottom:10px}
.sf-col a{display:block;color:var(--mute,#8A8F98);text-decoration:none;font-size:13.5px;padding:3px 0}
.sf-col a:hover{color:var(--ink,#16181D)}
.sf-about p{margin:10px 0 0;color:var(--mute,#8A8F98);font-size:13.5px;max-width:34ch;line-height:1.55}
.sf-copy{font-size:12.5px !important;margin-top:14px !important}

.znak-promo{display:flex;align-items:center;gap:13px;margin:26px auto 0;max-width:1100px;
  border:1px solid var(--line,#DDE0DB);border-radius:13px;padding:13px 16px;text-decoration:none;
  color:var(--ink,#16181D);background:var(--panel,#fff);font-size:14.5px;transition:border-color .15s}
.znak-promo:hover{border-color:var(--cobalt,#2545D3)}
.znak-promo b{font-weight:600}
.znak-promo .zp-note{color:var(--mute,#8A8F98)}
.znak-promo .zp-go{margin-left:auto;color:var(--cobalt,#2545D3);font-weight:600;flex:none}
.zp-ico{flex:none;color:var(--cobalt,#2545D3)}

/* Мобильное бургер-меню */
.sh-burger{display:none;appearance:none;background:none;border:1px solid var(--line,#DDE0DB);
  border-radius:9px;width:42px;height:38px;cursor:pointer;padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:4px}
.sh-burger span{display:block;width:17px;height:2px;border-radius:1px;background:var(--ink,#16181D);transition:transform .18s,opacity .18s}
.sh-burger:focus-visible{outline:2px solid var(--cobalt,#2545D3);outline-offset:2px}
.site-header.open .sh-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-header.open .sh-burger span:nth-child(2){opacity:0}
.site-header.open .sh-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:760px){
  .sh-burger{display:flex}
  .sh-nav{display:none;flex-basis:100%;flex-direction:column;gap:16px;padding:6px 0 12px}
  .site-header.open .sh-nav{display:flex}
  .sh-group a{display:inline-block;padding:4px 0;font-size:15px;margin-right:16px}
  .sh-group b{font-size:11px}
}

/* ==== Липкая шапка и адаптивность ==== */
.site-header{position:sticky;top:0;z-index:60;background:var(--paper,#F7F8F6)}
.sh-in{padding:10px 0}
.sh-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
@media(max-width:760px){.sh-tools{margin-left:auto}}
.sh-tool{appearance:none;background:none;border:1px solid var(--line,#DDE0DB);border-radius:9px;
  width:40px;height:38px;cursor:pointer;color:var(--ink,#16181D);
  display:inline-flex;align-items:center;justify-content:center;padding:0}
.sh-tool:hover{border-color:var(--cobalt,#2545D3);color:var(--cobalt,#2545D3);transform:translateY(-1px)}
.sh-tool:focus-visible{outline:2px solid var(--cobalt,#2545D3);outline-offset:2px}
.sh-tool svg{width:18px;height:18px}
.ic-sun{display:none}
:root[data-theme="dark"] .ic-sun{display:block}
:root[data-theme="dark"] .ic-moon{display:none}
.sh-tool[aria-pressed="true"]{background:var(--cobalt,#2545D3);border-color:var(--cobalt,#2545D3);color:#fff}
@media(min-width:761px) and (max-width:1080px){
  .sh-nav{gap:18px}
  .sh-group a{font-size:12.5px;margin-right:9px}
}
/* подчёркивание-слайд у ссылок навигации */
.sh-group a{position:relative;padding-bottom:3px}
.sh-group a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--cobalt,#2545D3);transition:right .18s ease}
.sh-group a:hover::after,.sh-group a.on::after{right:0}
.sh-group a svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px;opacity:.75}
/* мобильное меню: плавное раскрытие */
@media(max-width:760px){
  .sh-nav{display:flex;max-height:0;overflow:hidden;opacity:0;
    transition:max-height .28s ease,opacity .22s ease;padding:0}
  .site-header.open .sh-nav{max-height:420px;opacity:1;padding:6px 0 14px}
}

/* ==== Общие переходы и микроанимации ==== */
a,button,.btn,input,select{transition:color .15s,background-color .15s,border-color .15s,
  transform .12s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.panel{transition:border-color .2s}
.panel:hover{border-color:color-mix(in srgb, var(--line,#DDE0DB) 45%, var(--cobalt,#2545D3))}
.znak-promo .zp-go{transition:transform .18s}
.znak-promo:hover .zp-go{transform:translateX(4px)}
.sf-col a{transition:color .15s,padding-left .15s}
.sf-col a:hover{padding-left:4px}
/* появление при прокрутке (класс rv вешает chrome.js) */
.rv{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  *{transition:none !important;animation:none !important}
}

/* ==== Режим для слабовидящих ==== */
html.a11y{font-size:19px}
html.a11y body{font-size:18px !important;line-height:1.75 !important}
html.a11y{
  --paper:#FFFFFF; --ink:#000000; --mute:#2B2B2B; --line:#000000;
  --panel:#FFFFFF; --panel-2:#EFEFEF; --cobalt:#0000B8; --cobalt-deep:#000080;
  --shadow:none;
}
html.a11y[data-theme="dark"]{
  --paper:#000000; --ink:#FFFFFF; --mute:#E8E8E8; --line:#FFFFFF;
  --panel:#000000; --panel-2:#1A1A1A; --cobalt:#FFE100; --cobalt-deep:#FFF06B;
}
html.a11y a{text-decoration:underline !important;text-underline-offset:2px}
html.a11y .sh-group a::after{display:none}
html.a11y .btn,html.a11y .sh-tool{border-width:2px !important;border-style:solid;border-color:var(--ink) !important}
html.a11y .btn-main{background:var(--cobalt) !important;color:var(--paper) !important}
html.a11y[data-theme="dark"] .btn-main{color:#000 !important}
html.a11y *{transition:none !important;animation:none !important;box-shadow:none !important}
html.a11y .rv{opacity:1 !important;transform:none !important}
html.a11y .brand-mark span,html.a11y .sh-mark span{background:var(--ink)}
html.a11y img,html.a11y svg{filter:none}

/* Режим слабовидящих: гарантируем фон/текст на всех страницах, включая тёмный сканер */
html.a11y body{background:var(--paper) !important;color:var(--ink) !important}
html.a11y .top,html.a11y .stage{border-color:var(--ink) !important}
html.a11y .status,html.a11y .sub,html.a11y .foot{color:var(--mute) !important}
