/* =========================================================================
   saf:core — каркас LEDGER для casinosafest.com (этап 05)
   Композиция — igamingbusiness.com, манера — plaid.com.
   Порядок секций тот же, что в разметке: core / hd / nav / main / band /
   card / rec / stats / btn / table / faq / toc / rail / fig / ft / mobile
   ========================================================================= */

/* ------------------------- saf:core ------------------------- */
:root{
  --saf-canvas:#edf0f4;
  --saf-paper:#ffffff;
  --saf-ink:#0c1116;
  --saf-mute:#5b6672;
  --saf-line:#d3dae2;
  --saf-red:#b01226;
  --saf-red-d:#8d0e1e;
  --saf-navy:#123a6b;
  --saf-navy-d:#0d2c52;
  --saf-sand:#f7f4ee;
  --saf-pad:32px;
  --saf-sheet:888px;
  --saf-read:760px;
  --saf-wide:1120px;
  --saf-gap:28px;
}
html{font-size:16px;-webkit-text-size-adjust:100%}
body.saf-body{
  margin:0;background:var(--saf-canvas);color:var(--saf-ink);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:1.0625rem;line-height:1.62;
}
.saf-body *,.saf-body *::before,.saf-body *::after{box-sizing:border-box}
.saf-body img{max-width:100%;height:auto}
.saf-body a{color:var(--saf-navy);text-decoration:underline;text-underline-offset:2px}
.saf-hd a,.saf-ft a,.saf-hd__logo{text-decoration:none}
.saf-ft a:hover{text-decoration:underline}
.saf-body a:hover{color:var(--saf-red)}
.saf-body h1,.saf-body h2,.saf-body h3,.saf-body h4{
  font-family:'Manrope',system-ui,Arial,sans-serif;font-weight:800;
  line-height:1.16;letter-spacing:-.012em;margin:28px 0 14px;color:var(--saf-ink);
}
.saf-body h1{font-size:clamp(1.85rem,1.2rem + 2.1vw,2.6rem);margin:0 0 .35em}
.saf-body h2{font-size:clamp(1.4rem,1.05rem + 1.1vw,1.85rem)}
.saf-body h3{font-size:1.18rem;font-weight:700}
.saf-body p{margin:0 0 14px}
.saf-body ul,.saf-body ol{margin:0 0 14px;padding-left:1.25em}
.saf-body li{margin:7px 0}
.saf-body hr{border:0;border-top:1px solid var(--saf-line);margin:28px 0}
.saf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* лист: холодно-серый холст + белый лист (двухтонка) */
.saf-shell{max-width:var(--saf-wide);margin:0 auto;padding:0}
.saf-sheet{background:var(--saf-paper);border-left:1px solid var(--saf-line);
  border-right:1px solid var(--saf-line);box-shadow:0 2px 22px rgba(12,17,22,.07)}
.saf-main{max-width:var(--saf-wide);margin:0 auto;padding:0}
.saf-main > *{padding-left:var(--saf-pad);padding-right:var(--saf-pad)}
.saf-main > *:has(> *:only-child){padding-left:0;padding-right:0}
.saf-main > * > *:only-child{padding-left:var(--saf-pad);padding-right:var(--saf-pad);width:100%}
.saf-prose{max-width:var(--saf-read);margin:0 auto}
.saf-cols .saf-prose{max-width:none;margin:0}
.saf-pg--wide .saf-prose{max-width:var(--saf-sheet)}

/* ------------------------- saf:hd ------------------------- */
.saf-hd{background:var(--saf-paper);border-bottom:3px solid var(--saf-ink);position:relative;z-index:30}
.saf-hd__util{background:var(--saf-ink);color:#e7ecf2;font-size:.78rem;letter-spacing:.04em}
.saf-hd__util .saf-hd__in{display:flex;align-items:center;gap:18px;min-height:29px}
.saf-hd__util a{color:#e7ecf2;text-decoration:none}
.saf-hd__util a:hover{color:#fff;text-decoration:underline}
.saf-hd__util .saf-hd__age{margin-left:auto;font-family:'Barlow Condensed',Arial,sans-serif;
  font-weight:600;font-size:.95rem;letter-spacing:.08em;color:#ffd7dc}
.saf-hd__in{max-width:var(--saf-wide);margin:0 auto;padding:0 var(--saf-pad)}
.saf-hd__bar{display:flex;align-items:center;gap:22px;min-height:58px}
.saf-hd__logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--saf-ink);
  font-weight:800;font-size:1.22rem;letter-spacing:-.02em;flex:0 0 auto}
.saf-hd__logo svg{width:28px;height:28px;flex:0 0 auto;color:var(--saf-red)}
.saf-hd__logo b{color:var(--saf-red)}
.saf-hd__cta{margin-left:auto;flex:0 0 auto}

/* ------------------------- saf:nav ------------------------- */
.saf-nav{flex:1 1 auto;min-width:0}
.saf-nav ul{list-style:none;margin:0;padding:0}
.saf-nav > ul{display:flex;gap:0;flex-wrap:nowrap}
.saf-nav > ul > li{position:relative}
.saf-nav > ul > li > a{display:flex;align-items:center;gap:6px;padding:12px 9px;white-space:nowrap;
  text-decoration:none;color:var(--saf-ink);font-weight:700;font-size:.95rem;border-radius:0}
.saf-nav > ul > li > a svg{width:16px;height:16px;color:var(--saf-mute)}
.saf-nav > ul > li:hover > a,.saf-nav > ul > li:focus-within > a{
  color:var(--saf-red);box-shadow:inset 0 -3px 0 var(--saf-red)}
.saf-nav .saf-sub{position:absolute;left:0;top:100%;min-width:248px;background:var(--saf-paper);
  border:1px solid var(--saf-line);border-top:3px solid var(--saf-red);
  box-shadow:0 14px 34px rgba(12,17,22,.14);padding:8px 0;
  opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .13s,transform .13s}
.saf-nav > ul > li:hover .saf-sub,.saf-nav > ul > li:focus-within .saf-sub{
  opacity:1;visibility:visible;transform:none}
/* у последних хабов выпадашка растёт влево — иначе на 1024 уезжает за правый край */
.saf-nav > ul > li:nth-last-child(-n+2) .saf-sub{left:auto;right:0}
.saf-nav__close{display:none}
.saf-nav .saf-sub a{display:block;padding:9px 16px;text-decoration:none;color:var(--saf-ink);
  font-size:.92rem;background:var(--saf-paper)}
.saf-nav .saf-sub a:hover{background:var(--saf-sand);color:var(--saf-red)}
.saf-burger,.saf-burger__box{display:none}

/* ------------------------- saf:band (отбивка секции) ------------------------- */
.saf-band{clear:both;margin:28px 0 14px;border-top:3px solid var(--saf-ink);padding-top:12px;
  display:flex;align-items:baseline;gap:16px}
.saf-band--sub{border-top-width:2px;border-top-color:var(--saf-red);margin-top:28px}
.saf-band h2,.saf-band h3{margin:0;font-size:clamp(1.3rem,1rem + 1vw,1.7rem);
  border-top:0;padding-top:0}
.saf-band__more{margin-left:auto;font-size:.88rem;font-weight:700;text-decoration:none;
  color:var(--saf-navy);white-space:nowrap}
.saf-band__more::after{content:" \2192"}
.saf-eyebrow{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;font-size:.86rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--saf-red);margin:0 0 .4em;display:block}
.saf-panel{background:var(--saf-sand);border-top:1px solid var(--saf-line);
  border-bottom:1px solid var(--saf-line);padding:26px var(--saf-pad);margin:28px 0 14px}

/* ------------------------- saf:card ------------------------- */
.saf-grid{display:grid;gap:var(--saf-gap);margin:28px 0 14px;grid-template-columns:repeat(3,minmax(0,1fr));
  clear:both;width:100%;margin:28px 0 14px}
.saf-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.saf-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.saf-card{display:flex;flex-direction:column;gap:8px;min-width:0;border:0;border-radius:0;
  background:transparent;box-shadow:none}
.saf-card__img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--saf-sand)}
.saf-kick{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;font-size:.92rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--saf-red);text-decoration:none}
.saf-card__t{margin:0;font-size:1.06rem;font-weight:800;line-height:1.28}
.saf-card__t a{color:var(--saf-ink);text-decoration:none}
.saf-card__t a:hover{color:var(--saf-red)}
.saf-card__d{margin:0;font-size:.93rem;color:var(--saf-mute)}
.saf-meta{margin-top:auto;font-family:'Barlow Condensed',Arial,sans-serif;font-size:.92rem;
  letter-spacing:.05em;color:var(--saf-mute);border-top:1px solid var(--saf-line);padding-top:7px}
.saf-meta b{color:var(--saf-ink);font-weight:600}
/* врезка одной ячейкой внутри ленты карточек */
.saf-card--note{background:var(--saf-ink);color:#fff;padding:22px 20px;justify-content:center;gap:14px}
.saf-card--note .saf-kick{color:#ff8e9c}
.saf-card--note p{margin:0;font-size:1.08rem;font-weight:700;line-height:1.3}

/* плитка логотипа оператора — ВСЕГДА светлая */
.saf-tile{display:flex;align-items:center;justify-content:center;background:#fff;
  border:1px solid var(--saf-line);width:76px;height:76px;flex:0 0 76px;padding:8px}
.saf-tile img{max-width:100%;max-height:100%;object-fit:contain}

/* ------------------------- saf:rec (запись безопасности) ------------------------- */
.saf-rec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--saf-line);border:1px solid var(--saf-line);margin:28px 0 14px;width:100%;clear:both}
.saf-rec > div{background:var(--saf-paper);padding:12px 16px;min-width:0}
.saf-rec dt{margin:0 0 4px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:.84rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--saf-mute);display:flex;align-items:center;gap:6px}
.saf-rec dt svg{width:15px;height:15px;color:var(--saf-red)}
.saf-rec dd{margin:0;font-weight:700;font-size:1.02rem;line-height:1.25}

/* ------------------------- saf:stats (табло цифр) ------------------------- */
.saf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--saf-gap);
  margin:28px 0 14px;width:100%;clear:both}
.saf-stats > div{min-width:0;border-top:2px solid var(--saf-red);padding-top:10px}
.saf-stats b{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;
  font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);line-height:1;letter-spacing:-.01em}
.saf-stats span{display:block;margin-top:6px;font-size:.88rem;color:var(--saf-mute)}

/* ------------------------- saf:btn ------------------------- */
/* ⚠ цвет кнопки писать ТОЛЬКО через `.saf-body a.saf-btn`: у общего правила ссылки
   `.saf-body a{color:navy}` вес (0,1,1) выше, чем у `.saf-btn` (0,1,0), и подпись
   кнопки красилась синим по красному — контраст 1.61, гейт R3 */
.saf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 22px;background:var(--saf-red);font-weight:800;
  font-size:1rem;text-decoration:none;border:2px solid var(--saf-red);border-radius:2px}
.saf-body a.saf-btn,.saf-btn{color:#fff}
.saf-body a.saf-btn:hover,.saf-btn:hover{background:var(--saf-red-d);border-color:var(--saf-red-d);color:#fff}
.saf-body a.saf-btn--2,.saf-btn--2{background:transparent;color:var(--saf-navy);border-color:var(--saf-navy)}
.saf-body a.saf-btn--2:hover,.saf-btn--2:hover{background:var(--saf-navy);color:#fff}
.saf-btn--sm{min-height:40px;padding:8px 16px;font-size:.92rem}

/* ------------------------- saf:table ------------------------- */
.saf-body table{border-collapse:collapse;width:100%;margin:28px 0 14px;font-size:.97rem;background:var(--saf-paper)}
.saf-body th,.saf-body td{border:1px solid var(--saf-line);padding:10px 12px;text-align:left;vertical-align:top}
.saf-body thead th{background:var(--saf-ink);color:#fff;font-family:'Barlow Condensed',Arial,sans-serif;
  font-weight:600;letter-spacing:.09em;text-transform:uppercase;font-size:.9rem;border-color:var(--saf-ink)}
.saf-body tbody tr:nth-child(even) td{background:var(--saf-sand)}

/* ------------------------- saf:faq ------------------------- */
.saf-faq{margin:28px 0 14px}
.saf-faq__q{margin:0;padding:14px 0 6px;border-top:1px solid var(--saf-line);
  font-size:1.08rem;font-weight:800}
.saf-faq__a{margin:0 0 14px}

/* ------------------------- saf:toc ------------------------- */
.saf-toc{border:1px solid var(--saf-line);border-left:3px solid var(--saf-red);
  background:var(--saf-sand);margin:28px 0 14px;padding:0}
.saf-toc > summary{cursor:pointer;list-style:none;padding:13px 16px;font-weight:800;
  display:flex;align-items:center;gap:9px;min-height:44px}
.saf-toc > summary::-webkit-details-marker{display:none}
.saf-toc > summary::after{content:"+";margin-left:auto;font-weight:600;color:var(--saf-red);font-size:1.3rem}
.saf-toc[open] > summary::after{content:"\2013"}
.saf-toc ol,.saf-toc ul{margin:0;padding:0 16px 14px 34px}
.saf-toc a{color:var(--saf-ink);text-decoration:none}
.saf-toc a:hover{color:var(--saf-red);text-decoration:underline}

.saf-toc > summary svg{width:18px;height:18px;flex:0 0 18px;color:var(--saf-red)}
.saf-toc__n{font-weight:600;color:var(--saf-mute);font-size:.86em}
.saf-toc ol{counter-reset:saftoc;list-style:none;padding-left:16px}
.saf-toc ol li{counter-increment:saftoc;padding:3px 0 3px 26px;position:relative;font-size:15px}
.saf-toc ol li::before{content:counter(saftoc,decimal-leading-zero);position:absolute;left:0;
  color:var(--saf-red);font-weight:700;font-size:.82em;letter-spacing:.04em}

/* ------------------------- saf:disc (своё раскрытие партнёрства) ------------------------- */
.saf-disc{position:relative;font-size:13.5px;line-height:1.55;
  color:var(--saf-mute);background:var(--saf-sand);border:1px solid var(--saf-line);
  border-left:3px solid var(--saf-navy);padding:11px 14px 11px 42px;margin:0 0 20px}
.saf-disc svg{width:17px;height:17px;color:var(--saf-navy);position:absolute;left:15px;top:13px}
.saf-disc b{color:var(--saf-ink);font-weight:700}
.saf-disc a{color:var(--saf-navy);text-underline-offset:2px}

/* ------------------------- saf:rail (липкий указатель) ------------------------- */
.saf-cols{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:36px;
  align-items:start;clear:both;width:100%}
.saf-rail{position:sticky;top:18px;font-size:.92rem;border-left:2px solid var(--saf-line);padding-left:16px}
.saf-rail__t{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--saf-mute);font-size:.84rem;margin:0 0 10px}
.saf-rail ul{list-style:none;margin:0;padding:0}
.saf-rail li{margin:0 0 9px}
.saf-rail a{display:flex;gap:8px;align-items:flex-start;color:var(--saf-ink);text-decoration:none;
  line-height:1.35;min-height:24px}
.saf-rail a svg{width:15px;height:15px;flex:0 0 15px;margin-top:3px;color:var(--saf-red)}
.saf-rail a:hover{color:var(--saf-red)}

/* ------------------------- saf:fig ------------------------- */
.saf-fig{margin:28px 0 14px}
.saf-fig img{display:block;width:100%}
.saf-fig figcaption{margin-top:8px;font-size:.87rem;color:var(--saf-mute);
  border-left:2px solid var(--saf-red);padding-left:10px}
.saf-fig--side{float:right;width:clamp(170px,32%,300px);margin:6px 0 16px 22px}

/* ------------------------- saf:ft ------------------------- */
.saf-ft{background:var(--saf-ink);color:#c9d3de;margin-top:48px;
  border-top:4px solid var(--saf-red);font-size:.94rem}
.saf-ft__in{max-width:var(--saf-wide);margin:0 auto;padding:34px var(--saf-pad) 22px}
.saf-ft a{color:#e7ecf2;text-decoration:none}
.saf-ft a:hover{color:#fff;text-decoration:underline}
.saf-ft__cols{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:30px}
.saf-ft__t{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#8ea0b3;font-size:.85rem;margin:0 0 12px}
.saf-ft ul{list-style:none;margin:0;padding:0}
.saf-ft li{margin:0 0 8px}
.saf-ft__badges{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.saf-ft__badge{display:flex;align-items:center;gap:7px;background:#fff;color:var(--saf-ink);
  padding:7px 11px;font-size:.84rem;font-weight:700}
.saf-ft__badge svg{width:17px;height:17px;color:var(--saf-red)}
.saf-ft__legal{border-top:1px solid #2a343f;margin-top:26px;padding-top:16px;
  color:#8ea0b3;font-size:.86rem;display:flex;flex-wrap:wrap;gap:8px 20px}

/* ------------------------- saf:mobile ------------------------- */
@media (max-width:1100px){
  .saf-cols{grid-template-columns:minmax(0,1fr)}
  .saf-rail{position:static;border-left:0;border-top:2px solid var(--saf-line);padding:14px 0 0}
  .saf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .saf-grid,.saf-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .saf-rec{grid-template-columns:repeat(2,minmax(0,1fr))}
  .saf-ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  :root{--saf-pad:16px;--saf-gap:20px}
  .saf-hd__bar{min-height:52px;gap:12px;flex-wrap:wrap}
  .saf-burger__box{display:block;position:absolute;opacity:0;pointer-events:none}
  .saf-burger{display:flex;align-items:center;justify-content:center;margin-left:auto;
    flex:0 0 44px;width:44px;height:44px;cursor:pointer;color:var(--saf-ink);border:1px solid var(--saf-line)}
  .saf-burger svg{width:24px;height:24px}
  .saf-hd__cta{display:none}
  .saf-nav{order:9;flex:0 0 100%;display:none;padding-bottom:10px}
  .saf-burger__box:checked ~ .saf-nav{display:block}
  .saf-nav > ul{flex-direction:column;gap:0}
  .saf-nav > ul > li{border-top:1px solid var(--saf-line)}
  .saf-nav > ul > li > a{min-height:48px;padding:12px 4px;font-size:1rem}
  .saf-nav > ul > li:hover > a{box-shadow:none}
  .saf-nav .saf-sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-left:2px solid var(--saf-red);padding:0 0 8px 12px;min-width:0}
  .saf-nav .saf-sub a{min-height:44px;display:flex;align-items:center;padding:8px 6px}
  .saf-nav__close{display:block}
  .saf-nav__close label{display:flex;align-items:center;min-height:48px;padding:12px 4px;
    cursor:pointer;font-weight:700;color:var(--saf-red);font-family:'Barlow Condensed',Arial,sans-serif;
    letter-spacing:.08em;text-transform:uppercase}
}
@media (max-width:640px){
  .saf-grid,.saf-grid--2,.saf-grid--4{grid-template-columns:minmax(0,1fr)}
  .saf-rec{grid-template-columns:minmax(0,1fr)}
  .saf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .saf-ft__cols{grid-template-columns:minmax(0,1fr)}
  .saf-fig--side{float:none;width:100%;margin:28px 0 14px}
  .saf-band{flex-wrap:wrap;gap:8px}
  .saf-band__more{margin-left:0}
  /* таблицы — карточками, без горизонтальной прокрутки */
  .saf-body table.saf-tbl,.saf-body table.saf-tbl thead,.saf-body table.saf-tbl tbody,
  .saf-body table.saf-tbl tr,.saf-body table.saf-tbl td,.saf-body table.saf-tbl th{display:block;width:100%;min-width:0}
  .saf-body table.saf-tbl thead{display:none}
  .saf-body table.saf-tbl tr{border:1px solid var(--saf-line);margin:0 0 12px;background:var(--saf-paper)}
  .saf-body table.saf-tbl td{border:0;border-bottom:1px solid var(--saf-line);
    display:flex;gap:12px;align-items:baseline}
  .saf-body table.saf-tbl td::before{content:attr(data-saf-l);flex:0 0 40%;
    font-family:'Barlow Condensed',Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;
    font-size:.84rem;color:var(--saf-mute)}
}
/* /saf:core */

/* ==== saf:hero — титульный блок страницы (05.0ш: не выше трети экрана) ==== */
.saf-hero{display:flex;gap:20px;align-items:flex-start;padding-top:20px;padding-bottom:8px;
  border-bottom:1px solid var(--saf-line);margin:0 0 11px}
.saf-hero__txt{flex:1 1 auto;min-width:0}
.saf-hero h1{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:600;
  font-size:clamp(23px,2.7vw,31px);line-height:1.03;letter-spacing:-.005em;margin:2px 0 6px}
.saf-hero__d{color:var(--saf-mute);font-size:14.5px;line-height:1.4;margin:0 0 7px;max-width:76ch;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.saf-hero__m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;
  color:var(--saf-mute);margin:0}
.saf-hero__m svg{width:15px;height:15px;flex:none}
.saf-hero__img{flex:0 0 clamp(146px,23%,206px)}
.saf-hero__img img{width:100%;height:auto;aspect-ratio:88/50;object-fit:cover;display:block;
  border:1px solid var(--saf-line);background:var(--saf-sand)}
.saf-hero--home h1{font-size:clamp(25px,3.1vw,34px)}
.saf-pg--wide .saf-hero{max-width:var(--saf-sheet)}

/* ==== saf:prose — текст страницы на нашей бумаге, без CSS донора ==== */
.saf-prose{font-size:17px;line-height:1.62;color:var(--saf-ink);overflow-wrap:anywhere}
.saf-prose > *:first-child{margin-top:0}
/* 05.17: ритм прозы — ровно два значения зазора: 14px внутри мысли, 28px между блоками */
.saf-prose h2{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:600;
  font-size:clamp(22px,3vw,30px);line-height:1.12;margin:28px 0 14px;padding-top:14px;
  border-top:2px solid var(--saf-ink)}
.saf-prose h3{font-size:20px;font-weight:700;margin:28px 0 14px;line-height:1.24}
/* 05.31: отбивку секции рисует .saf-band, заголовок внутри неё своей линии не даёт —
   иначе под полосой секции шла вторая, короткая, по ширине самого H2 */
.saf-prose .saf-band h2,.saf-prose .saf-band h3{border-top:0;padding-top:0;margin:0}
.saf-prose h4,.saf-prose h5{font-size:17px;font-weight:700;margin:28px 0 14px}
.saf-prose p{margin:0 0 14px}
.saf-prose a{color:var(--saf-navy);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px}
.saf-prose a:hover{color:var(--saf-red)}
.saf-prose ul,.saf-prose ol{margin:0 0 14px;padding-left:21px}
.saf-prose li{margin:0 0 7px}
.saf-prose ul li::marker{color:var(--saf-red)}
.saf-prose img{max-width:100%;height:auto}
.saf-prose figure{margin:28px 0;max-width:100%}
.saf-prose blockquote{margin:28px 0;padding:14px 16px;border-left:3px solid var(--saf-red);
  background:var(--saf-sand)}
.saf-prose hr{border:0;border-top:1px solid var(--saf-line);margin:28px 0}
.saf-tw{overflow-x:auto;margin:0 0 28px;-webkit-overflow-scrolling:touch}
.saf-prose table{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}
.saf-prose th,.saf-prose td{border:1px solid var(--saf-line);padding:9px 12px;text-align:left;
  vertical-align:top}
.saf-prose th{background:var(--saf-sand);font-weight:700}
.saf-prose tr:nth-child(even) td{background:#fbfcfd}

@media (max-width:860px){
  .saf-hero{gap:11px;padding-top:14px;padding-bottom:6px;margin-bottom:9px}
  .saf-hero__img{flex:0 0 84px}
  .saf-hero__img img{aspect-ratio:1/1}
  .saf-hero h1{font-size:clamp(18px,4.7vw,22px);margin:1px 0 4px}
  /* дек не прячем: display:none на тексте в 60+ знаков гейт R5 считает потерянным
     текстом. На телефоне ужимаем до двух строк мелким кеглем */
  .saf-hero__d{font-size:13px;-webkit-line-clamp:2;margin:0 0 6px}
  .saf-hero--home h1{font-size:clamp(21px,5.6vw,27px)}
  .saf-hd__util .saf-hd__in{min-height:22px;font-size:.7rem;gap:10px;
    white-space:nowrap;overflow:hidden}
  .saf-hd__util .saf-hd__in a + a{display:none}
  .saf-prose{font-size:16px}
}
.saf-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94em;
  background:var(--saf-sand);border:1px dashed var(--saf-line);padding:2px 9px;
  letter-spacing:.06em;white-space:nowrap}

/* saf:upd (видимая дата — её двигает общий dis/date_refresh.py по крону) */
.saf-upd{display:flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--saf-mute);margin:0 0 16px}
.saf-upd svg{width:15px;height:15px;flex:0 0 15px;color:var(--saf-red)}
.saf-upd time{color:var(--saf-ink);font-weight:600;letter-spacing:.02em}

/* ------------------------- saf:value ------------------------- */
/* слот под ценность сайта (09.25a-d) и служебная строка подвала (05.9e) */
.saf-value:empty,.saf-ft__value:empty{display:none}
.saf-value{margin:26px 0 0;padding:18px 20px;background:var(--saf-sand);
  border:1px solid var(--saf-line);border-left:3px solid var(--saf-red)}
.saf-ft__svc{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 0 0;
  border-top:1px solid rgba(255,255,255,.14);margin:18px 0 0}
.saf-ft__svc a{color:#c8d3e0;text-decoration:none;font-size:.88rem}
.saf-ft__svc a:hover{color:#fff;text-decoration:underline}
.saf-ft__value{margin:12px 0 0;color:#c8d3e0;font-size:.9rem;max-width:72ch}

/* ------------------------- saf:reset ------------------------- */
/* 05.12a: тема донора держит вид на ГОЛЫХ тегах. Сбрасываем явно — и свойства,
   и псевдоэлементы: footer::after{position:absolute;inset:0} донора кроет подвал
   сплошной заливкой при живом DOM и зелёных гейтах.
   ⚠ :not([class*="saf-"]) обязателен: `.saf-body section` весит (0,1,1) и без него
   сбивает фон и поля СВОИХ же блоков (.saf-panel, .saf-rail, .saf-hd). */
.saf-body nav:not([class*="saf-"]),.saf-body header:not([class*="saf-"]),.saf-body footer:not([class*="saf-"]),.saf-body main:not([class*="saf-"]),.saf-body section:not([class*="saf-"]),.saf-body aside:not([class*="saf-"]){
  position:static;float:none;background:none;border:0;margin:0;padding:0;
  width:auto;max-width:none;min-height:0;transform:none;box-shadow:none;z-index:auto}
.saf-body nav:not([class*="saf-"])::before,.saf-body nav:not([class*="saf-"])::after,.saf-body header:not([class*="saf-"])::before,.saf-body header:not([class*="saf-"])::after,.saf-body footer:not([class*="saf-"])::before,.saf-body footer:not([class*="saf-"])::after,.saf-body main:not([class*="saf-"])::before,.saf-body main:not([class*="saf-"])::after,.saf-body section:not([class*="saf-"])::before,.saf-body section:not([class*="saf-"])::after,.saf-body aside:not([class*="saf-"])::before,.saf-body aside:not([class*="saf-"])::after{content:none!important}
.saf-hd > *,.saf-ft > *{position:relative;z-index:3}

/* ------------------------- saf:donorgrid ------------------------- */
/* 05.12b: после снятия css донора без правил остались инлайновые ширины таблиц
   (582 на 143 стр.) и разметка каруселей (74). Задаём свои — иначе таблица
   тянется по атрибуту width, а карусель ложится колонкой в один пиксель. */
.saf-body table[width],.saf-body table[style*="width"]{width:100%!important;max-width:100%!important}
.saf-body td[width],.saf-body th[width],
.saf-body td[style*="width"],.saf-body th[style*="width"]{width:auto!important}
.saf-body [class*="owl-"],.saf-body [class*="swiper"],.saf-body [class*="slick"],
.saf-body [class*="carousel"]{display:block!important;width:auto!important;
  max-width:100%!important;transform:none!important;position:static!important;overflow:visible!important}

/* ------------------------- saf:tap ------------------------- */
/* 05.29в: цель нажатия на телефоне — 44 px. Ссылки-списки (подвал, рельс,
   служебная строка, шапка-утилита, плитки) по умолчанию равны высоте строки. */
@media (max-width:860px){
  .saf-ft a,.saf-ft__svc a,.saf-rail a,.saf-hd__util a,
  .saf-card .saf-kick,.saf-band__more,.saf-hd__logo,.saf-tbl td a{
    display:inline-flex;align-items:center;min-height:44px}
  .saf-ft__cols li,.saf-rail li{line-height:1.25}
}
