:root{
  --ink:#0f1b2d; --ink2:#42536b; --line:#dfe5ee; --bg:#fff; --soft:#f5f7fb;
  --acc:#0a7d5a; --acc2:#e8f5f0; --warn:#a8630b; --max:1120px; --r:12px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-text-size-adjust:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
a{color:var(--acc)}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99;border-radius:8px}

/* header */
.hd{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.hdin{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{font-weight:700;font-size:18px;color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0}
.mark{background:var(--acc);color:#fff;border-radius:8px;padding:3px 8px;font-size:14px;letter-spacing:.5px}
.nav{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap;min-width:0}
.nav a{color:var(--ink2);text-decoration:none;font-size:14px;padding:7px 10px;border-radius:8px;white-space:nowrap}
.nav a:hover{background:var(--soft);color:var(--ink)}
.nav a.on{background:var(--acc2);color:var(--acc);font-weight:600}
.burger{display:none;margin-left:auto;font-size:24px;line-height:1;background:none;
  border:1px solid var(--line);border-radius:8px;padding:4px 12px;cursor:pointer;color:var(--ink)}

/* hero */
.hero{background:linear-gradient(180deg,var(--soft),#fff);border-bottom:1px solid var(--line)}
.heroin{display:flex;gap:36px;align-items:center;padding:44px 20px}
.herotxt{flex:1 1 340px;min-width:0}
.heroimg{flex:0 1 420px;min-width:0}
.heroimg img{border-radius:var(--r);border:1px solid var(--line)}
.eyebrow{margin:0 0 10px;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--acc);font-weight:700}
h1{margin:0 0 14px;font-size:clamp(26px,4.4vw,40px);line-height:1.18;letter-spacing:-.02em}
.lede{margin:0;color:var(--ink2);font-size:17px;max-width:62ch}

/* article */
.cols{padding:38px 20px 10px}
.art{max-width:72ch;margin:0 auto}
.art h2{margin:34px 0 12px;font-size:clamp(20px,2.6vw,25px);line-height:1.25;letter-spacing:-.01em}
.art p{margin:0 0 15px}
.art ul{margin:0 0 16px;padding-left:20px}
.art li{margin:0 0 7px}
.art strong{color:var(--ink)}

/* table */
.tbl{margin:28px 0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.tbl table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}
.tbl th,.tbl td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{background:var(--soft);font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink2)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:#fafcff}
.tbl figcaption{padding:11px 13px;font-size:12.5px;color:var(--ink2);background:var(--soft);border-top:1px solid var(--line)}
.tier{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}
.t-top{background:var(--acc2);color:var(--acc)}
.t-mid{background:#fff4e2;color:var(--warn)}
.t-low{background:#fdecec;color:#b3352f}

/* related */
.rel{margin:36px 0 0;padding:20px;background:var(--soft);border-radius:var(--r);border:1px solid var(--line)}
.rel h2{margin:0 0 10px;font-size:16px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink2)}
.rel ul{margin:0;padding-left:18px}
.rel li{margin:0 0 6px}

/* footer */
.ft{margin-top:48px;border-top:1px solid var(--line);background:var(--soft);padding:26px 0 34px;
  font-size:14px;color:var(--ink2)}
.ft p{margin:0 0 9px;max-width:78ch}
.ft .small{font-size:13px;opacity:.85}

@media(max-width:820px){
  .burger{display:block}
  .nav{display:none;order:3;width:100%;flex-direction:column;gap:0;padding-bottom:10px}
  .nav.open{display:flex}
  .nav a{padding:10px 8px;border-bottom:1px solid var(--line)}
  .heroin{flex-direction:column;align-items:flex-start;gap:22px;padding:30px 20px}
  /* 🚨 flex-basis в column-режиме задаёт ВЫСОТУ — без сброса зияет пустота */
  .herotxt{flex:0 0 auto;width:100%}
  .heroimg{flex:0 0 auto;width:100%}
}
@media(max-width:560px){
  .tbl table{min-width:0}
  .tbl thead{position:absolute;left:-9999px}
  .tbl tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}
  .tbl tbody tr:last-child{border-bottom:0}
  .tbl td{display:flex;justify-content:space-between;gap:14px;border:0;padding:6px 13px}
  .tbl td:before{content:attr(data-l);color:var(--ink2);font-size:12.5px;
    text-transform:uppercase;letter-spacing:.4px;flex:0 0 auto}
}
