/* Shared chrome: header, slide-in menu, footer, cookie bar.
   ---------------------------------------------------------------------------
   The live site builds all three from Tilda zero-blocks, which are laid out on
   a fixed pixel grid per breakpoint and — below 1200px — scaled uniformly by
   `viewport / grid`. Everything here is therefore written in *grid pixels*
   multiplied by `--u`:

     --u   the grid unit: 1px where the design is unscaled (>= 1200px, grid
           centred in the window) and `viewport / grid` where it is scaled.
     --ox  x-origin of the grid: `50% - grid/2` when centred, `0` when scaled.

   So `left: calc(var(--ox) + 90 * var(--u))` is "90 grid px from the grid's
   left edge" and reads the same at every breakpoint. --vw is set by main.js to
   the scrollbar-less viewport width (Tilda does the same); 100vw is the
   no-JS fallback.

   Grids / artboard heights, matching the live records exactly:
     header  1900 |1200 | 960 | 640 | 480 | 360      footer  1920 |1200 | 960 | 640 | 480 | 360
     height    92 |  80 |  80 |  90 |  70 |  66      height   601 | 530 | 796 |1022 |1636 |1572
   Only the >=1200 and 375 columns are pixel-verified; the rest follow the same
   formula the live site uses.                                                */

/* ===== header ============================================================ */
.hdr {
  --u: 1px;
  --ox: calc(50% - 950px);
  position: fixed;
  inset: 0 0 auto;
  z-index: 990;
  height: calc(92 * var(--u));
  overflow: hidden;                 /* live artboard clips off-grid elements */
}
.hdr > * { position: absolute; }

.hdr__bar {
  top: calc(10 * var(--u));
  left: calc(var(--ox) + 90 * var(--u));
  width: calc(1720 * var(--u));
  height: calc(72 * var(--u));
  background: #f8f8f8;
  border: 1px solid #e7e7e7;
  border-radius: 1000px;
}

.hdr__logo {
  top: calc(32 * var(--u));
  left: calc(var(--ox) + 126 * var(--u));
  width: calc(165 * var(--u));
  height: calc(28 * var(--u));
  background: url(/assets/img/tild3535-3838-4536-a134-646366636662/Vector.svg) center/cover no-repeat;
}

.hdr__nav {
  top: calc(26 * var(--u));
  left: calc(var(--ox) + 573 * var(--u));
  width: calc(705 * var(--u));
  height: calc(39 * var(--u));
  display: flex;
  align-items: flex-start;
  gap: 0 calc(16 * var(--u));
}
.hdr__link {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(8 * var(--u)) calc(16 * var(--u));
  border-radius: 999px;
  font-size: calc(18 * var(--u));
  line-height: 1.3;
  font-weight: 500;
  color: #1d1d1f;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease-in-out, color .2s ease-in-out;
}
.hdr__link:hover { background-color: #eee; }

.hdr__login {
  top: calc(22 * var(--u));
  left: calc(var(--ox) + 1669 * var(--u));
  width: calc(105 * var(--u));
  height: calc(42 * var(--u));
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c-accent);
  border-radius: 30px;
  font-size: calc(16 * var(--u));
  line-height: 1;
  font-weight: 600;
  color: #343434;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease-in-out, color .2s ease-in-out;
}
.hdr__login:hover { background-color: var(--c-accent); color: #f1f1f1; }

.hdr__burger {
  display: none;
  padding: 0;
  border: 0;
  background: url(/assets/img/tild3031-3963-4038-a536-303738313832/tabler_menu.svg) center/cover no-repeat;
}

@media (max-width: 1899px) {
  .hdr { --ox: calc(50% - 600px); height: calc(80 * var(--u)); }
  .hdr__bar   { left: calc(var(--ox) + 40 * var(--u)); width: calc(1120 * var(--u)); height: calc(62 * var(--u)); }
  .hdr__logo  { top: calc(30 * var(--u)); left: calc(var(--ox) + 64 * var(--u)); width: calc(120 * var(--u)); height: calc(20 * var(--u)); }
  .hdr__nav   { top: calc(21 * var(--u)); left: calc(var(--ox) + 291 * var(--u)); width: calc(618 * var(--u)); height: calc(37 * var(--u)); gap: 0 calc(8 * var(--u)); }
  .hdr__link  { font-size: calc(16 * var(--u)); }
  .hdr__login { top: calc(21 * var(--u)); left: calc(var(--ox) + 1041 * var(--u)); width: calc(95 * var(--u)); height: calc(38 * var(--u)); font-size: calc(12 * var(--u)); }
}
@media (max-width: 1199px) {
  .hdr { --u: calc(var(--vw, 100vw) / 960); --ox: 0px; }
  .hdr__bar    { left: calc(10 * var(--u)); width: calc(940 * var(--u)); }
  .hdr__logo   { left: calc(34 * var(--u)); }
  .hdr__nav    { display: none; }   /* pushed out of the artboard on live */
  .hdr__login  { left: calc(698 * var(--u)); }
  .hdr__burger { display: block; top: calc(26 * var(--u)); left: calc(878 * var(--u)); width: calc(49 * var(--u)); height: calc(29 * var(--u)); }
}
@media (max-width: 959px) {
  .hdr { --u: calc(var(--vw, 100vw) / 640); height: calc(90 * var(--u)); }
  .hdr__bar    { width: calc(620 * var(--u)); }
  .hdr__login  { top: calc(22 * var(--u)); left: calc(393 * var(--u)); height: calc(38 * var(--u)); }
  .hdr__burger { top: calc(29 * var(--u)); left: calc(573 * var(--u)); width: calc(32 * var(--u)); height: calc(24 * var(--u)); }
}
@media (max-width: 639px) {
  .hdr { --u: calc(var(--vw, 100vw) / 480); height: calc(70 * var(--u)); }
  .hdr__bar    { width: calc(460 * var(--u)); height: calc(54 * var(--u)); }
  .hdr__logo   { top: calc(28 * var(--u)); width: calc(111 * var(--u)); height: calc(18 * var(--u)); }
  .hdr__login  { display: none; }   /* pushed out of the artboard on live */
  .hdr__burger { top: calc(25 * var(--u)); left: calc(420 * var(--u)); }
}
@media (max-width: 479px) {
  .hdr { --u: calc(var(--vw, 100vw) / 360); height: calc(66 * var(--u)); }
  .hdr__bar    { left: calc(16 * var(--u)); width: calc(328 * var(--u)); height: calc(40 * var(--u)); }
  .hdr__logo   { top: calc(21 * var(--u)); left: calc(34 * var(--u)); width: calc(106 * var(--u)); height: calc(18 * var(--u)); }
  .hdr__burger { top: calc(18 * var(--u)); left: calc(294 * var(--u)); }
}

/* ===== slide-in menu (live t450) ========================================= */
.menu[hidden] { display: none; }
.menu__overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #434343;
  opacity: .7;
}
.menu__panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  width: 260px;
  max-width: 100%;
  padding: 42px 25px 25px;
  display: flex;
  flex-direction: column;
  background: #434343;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform .3s ease-in-out;
}
.menu--open .menu__panel { transform: none; }
.menu__close {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
}
.menu__close::before,
.menu__close::after {
  content: '';
  position: absolute;
  top: 19px;
  left: 8px;
  width: 24px;
  height: 2px;
  background: #f1f1f1;
}
.menu__close::before { transform: rotate(45deg); }
.menu__close::after { transform: rotate(-45deg); }
.menu__logo { display: block; margin-bottom: 25px; }
.menu__logo img { width: 120px; height: auto; }
.menu__nav { display: flex; flex-direction: column; gap: 15px; }
.menu__nav a {
  font-size: 24px;
  line-height: normal;
  font-weight: 500;
  color: #f1f1f1;
  text-decoration: none;
  transition: color .3s ease-in-out;
}
.menu__nav a:hover { color: var(--c-accent); }
.menu__nav a[aria-current] { color: var(--c-accent); font-weight: 600; }
.menu__foot { margin-top: auto; padding-top: 25px; }
.menu__contacts { font-size: 13px; line-height: 1.45; color: #fff; }
.menu__contacts a { text-decoration: none; }
.menu__contacts a[href^="mailto"] { color: #ededed; }
.menu__login {
  display: inline-flex;
  align-items: center;
  margin-top: 25px;
  padding: 14.2px 24px;
  border: 1px solid #fff;
  border-radius: 30px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: background-color .2s ease-in-out, color .2s ease-in-out;
}
.menu__login:hover { background: #fff; color: #434343; }
body.menu-open { overflow: hidden; }

/* ===== footer ============================================================ */
.ftr {
  --u: 1px;
  --ox: calc(50% - 960px);
  position: relative;
  height: calc(601 * var(--u));
  background: #fafafa;
  color: #1d1d1f;
}
.ftr__main,
.ftr__bottom { position: absolute; }

.ftr__main {
  top: calc(49 * var(--u));
  left: calc(var(--ox) + 100 * var(--u));
  width: calc(1720 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(30 * var(--u)) 0;
}
.ftr__top {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(30 * var(--u)) 0;
}
.ftr__cols {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 0 calc(192 * var(--u));
}
.ftr__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(12 * var(--u)) 0;
}
.ftr__col--about    { width: calc(300 * var(--u)); }
.ftr__col--contacts { width: calc(198 * var(--u)); }
.ftr__col--user     { width: calc(181 * var(--u)); }
.ftr__col--platform { width: calc(151 * var(--u)); }
.ftr__col--media    { width: calc(120 * var(--u)); }

.ftr__h {
  width: 100%;
  font-size: calc(18 * var(--u));
  line-height: calc(24 * var(--u));
  font-weight: 600;
  color: #343434;
}
.ftr__about-lead,
.ftr__about-addr { width: 100%; font-size: calc(16 * var(--u)); line-height: calc(21 * var(--u)); font-weight: 500; }
.ftr__about-lead { height: calc(72 * var(--u)); }   /* fixed box on live */
.ftr__about-line { width: 100%; font-size: calc(16 * var(--u)); line-height: calc(24 * var(--u)); font-weight: 500; }

.ftr__field {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(3 * var(--u)) 0;
}
.ftr__field--wide { width: calc(272 * var(--u)); }
.ftr__label,
.ftr__note  { width: 100%; font-size: calc(14 * var(--u)); font-weight: 500; color: #3d3c43; opacity: .8; }
.ftr__label { line-height: calc(18 * var(--u)); }
.ftr__note  { width: calc(229 * var(--u)); line-height: calc(17 * var(--u)); }
.ftr__value { width: 100%; font-size: calc(16 * var(--u)); line-height: calc(21 * var(--u)); font-weight: 500; opacity: .8; }

.ftr__row {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 calc(5 * var(--u));
  font-size: calc(16 * var(--u));
  line-height: calc(21 * var(--u));
  font-weight: 500;
  white-space: nowrap;
}
/* "open in new" glyph: hidden until the row is hovered, exactly like live */
/* Stays invisible in every state, and the reason is worth writing down because the DOM says
   the opposite. Live's `.tn-atom` equivalents compute `opacity: 1` — measured in a virgin
   session with the pointer never near the footer — but live's `open_in_new.svg` comes back
   **0 bytes** (`transferSize: 0, decodedBodySize: 0`), so nothing paints. Our copy of that
   SVG is a real 1824-byte file, so matching live's *opacity* renders an icon live never
   shows: measured, that made SE worse on all three pages I tried (partners .682 -> .693,
   about-us .392 -> .405, yourbusiness .400 -> .406) and the SE reference plainly has no icons.
   What was actually wrong was the hover reveal below it — we showed the icon on hover where
   live cannot show it at all — so that rule is gone and the at-rest 0 stays.
   (agent-1; closes agent-4's `.ftr__ext` census item.) */
.ftr__ext {
  flex: none;
  width: calc(17 * var(--u));
  height: calc(18 * var(--u));
  opacity: 0;
  background: url(/assets/img/tild6262-6263-4463-b532-616263363030/open_in_new.svg) center/cover no-repeat;
  transition: opacity .2s ease;
}

.ftr a { text-decoration: none; transition: color .25s ease; }
.ftr a:hover { color: var(--c-accent); }

.ftr__socials {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: calc(12 * var(--u));
}
.ftr__social {
  flex: none;
  width: calc(32 * var(--u));
  height: calc(32 * var(--u));
  border-radius: 50%;
  background-color: #818181;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: background-color .25s cubic-bezier(.22, 1, .36, 1);
}
.ftr__social:hover { background-color: var(--c-accent); }
.ftr__social--tg { background-image: url(/assets/img/tild6133-3166-4966-a661-626162623430/socials-5.svg); }
.ftr__social--vk { background-image: url(/assets/img/tild6661-6365-4738-b664-613439646432/socials-7.svg); }
.ftr__social--yt { background-image: url(/assets/img/tild6566-3366-4536-b937-643461636135/socials-8.svg); }
.ftr__social--vc { background-image: url(/assets/img/tild3132-3533-4134-b139-396363306137/Group_2738-2.png); }
.ftr__social--tc { background-image: url(/assets/img/tild3633-6261-4561-b438-653366323665/photo.png); }

.ftr__badges {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 calc(572 * var(--u));
}
.ftr__fasie {
  width: calc(335 * var(--u));
  display: flex;
  align-items: flex-start;
  gap: 0 calc(15 * var(--u));
}
.ftr__fasie-logo { flex: none; width: calc(106 * var(--u)); }
.ftr__fasie-note {
  flex: none;
  width: calc(214 * var(--u));
  font-size: calc(12 * var(--u));
  line-height: calc(15.6 * var(--u));
  font-weight: 500;
}
.ftr__licenses {
  width: calc(812 * var(--u));
  display: flex;
  align-items: center;
  gap: 0 calc(50 * var(--u));
}
.ftr__lic { flex: none; }
.ftr__lic--edu       { width: calc(338 * var(--u)); }
.ftr__lic--mincifry  { width: calc(210 * var(--u)); }
.ftr__lic--skolkovo  { width: calc(164 * var(--u)); }

.ftr__rule {
  width: 100%;
  height: calc(1 * var(--u));
  margin: 0;
  border: 0;
  background: #818181;
  opacity: .7;
}

.ftr__bottom {
  top: calc(483 * var(--u));
  left: calc(var(--ox) + 100 * var(--u));
  width: calc(1717 * var(--u));
  display: flex;
  align-items: flex-start;
  gap: 0 calc(169 * var(--u));
}
.ftr__legal {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 0 calc(31 * var(--u));
}
.ftr__legal-group {
  display: flex;
  align-items: center;
  gap: 0 calc(31 * var(--u));
}
.ftr__legal-group + .ftr__legal-group { gap: 0 calc(32 * var(--u)); }
.ftr__legal a {
  font-size: calc(12 * var(--u));
  line-height: calc(15.6 * var(--u));
  font-weight: 500;
  white-space: nowrap;
}
.ftr__meta {
  flex: none;
  width: calc(420 * var(--u));
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 calc(30 * var(--u));
}
.ftr__status,
.ftr__copy {
  flex: none;
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
  font-weight: 500;
  white-space: nowrap;
}
.ftr__status {
  position: relative;
  width: calc(134 * var(--u));
  height: calc(18 * var(--u));
  padding-left: calc(11 * var(--u));
}
.ftr__dot {
  position: absolute;
  top: calc(4 * var(--u));
  left: 0;
  width: calc(8 * var(--u));
  height: calc(8 * var(--u));
  border-radius: 50%;
  background: #09b622;
}
.ftr__totop {
  flex: none;
  display: flex;
  align-items: center;
  gap: calc(2 * var(--u));
  padding: 0;
  border: 0;
  background: none;
  font-size: calc(12 * var(--u));
  line-height: calc(15.6 * var(--u));
  font-weight: 500;
  color: #1d1d1f;
  white-space: nowrap;
  transition: color .3s ease;
}
.ftr__totop svg {
  flex: none;
  width: calc(20 * var(--u));
  height: calc(20 * var(--u));
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ftr__totop:hover { color: var(--c-accent); }

@media (max-width: 1919px) {
  .ftr { --ox: calc(50% - 600px); height: calc(530 * var(--u)); }
  .ftr__main { top: calc(50 * var(--u)); left: calc(var(--ox) + 40 * var(--u)); width: calc(1138 * var(--u)); }
  .ftr__cols { gap: 0 calc(41 * var(--u)); }
  .ftr__h { font-size: calc(16 * var(--u)); line-height: calc(21.28 * var(--u)); }
  .ftr__about-lead, .ftr__about-addr { font-size: calc(14 * var(--u)); line-height: calc(18.2 * var(--u)); }
  .ftr__about-lead { height: auto; }
  /* Live declares an integer 21px line-height inside a zoomed group, so its line
     box lands on the 1/64 grid *above* 21 x --u (21.8906 at 375); ours declares the
     scaled value directly and Chrome floors it to 21.875. One 1/64 per line, and it
     accumulates down the column — 3/64 by the badges, which is the shared footer band
     agent-5 traced (FINDING 11). Rounding up to the same grid reproduces live at every
     width, including 360 where the factor is 1 and the value is already exact. */
  .ftr__about-line { font-size: calc(14 * var(--u));
                     line-height: calc(21 * var(--u));                          /* fallback */
                     line-height: round(up, calc(21 * var(--u)), 0.015625px); }
  .ftr__value { font-size: calc(14 * var(--u)); line-height: calc(18.2 * var(--u)); }
  .ftr__label { line-height: calc(18.2 * var(--u)); }
  .ftr__note  { line-height: calc(16.8 * var(--u)); }
  .ftr__row   { font-size: calc(14 * var(--u)); line-height: calc(18.2 * var(--u)); }
  .ftr__badges { gap: 0 calc(95 * var(--u)); }
  .ftr__fasie-logo { width: calc(105 * var(--u)); }
  .ftr__fasie-note { width: calc(221 * var(--u)); }
  .ftr__licenses { width: calc(689 * var(--u)); gap: 0 calc(47 * var(--u)); }
  .ftr__lic--edu { width: calc(284 * var(--u)); }
  .ftr__lic--mincifry { width: calc(165 * var(--u)); }
  .ftr__lic--skolkovo { width: calc(141 * var(--u)); }
  .ftr__rule { width: calc(1113 * var(--u)); }
  .ftr__bottom { top: calc(442 * var(--u)); left: calc(var(--ox) + 40 * var(--u)); width: calc(1138 * var(--u)); }
  .ftr__legal { gap: 0 calc(71 * var(--u)); }
}
@media (max-width: 1199px) {
  .ftr { --u: calc(var(--vw, 100vw) / 960); --ox: 0px; height: calc(796 * var(--u)); }
  .ftr__main { left: calc(40 * var(--u)); width: calc(883 * var(--u)); gap: calc(20 * var(--u)) 0; }
  .ftr__top { gap: calc(50 * var(--u)) 0; }
  .ftr__cols { flex-wrap: wrap; gap: calc(50 * var(--u)) calc(110 * var(--u)); }
  .ftr__badges { flex-direction: column; align-items: flex-start; gap: calc(14 * var(--u)) 0; }
  .ftr__licenses { width: calc(883 * var(--u)); gap: 0 calc(133 * var(--u)); }
  .ftr__lic--edu { width: calc(270 * var(--u)); }
  .ftr__lic--mincifry { width: calc(172 * var(--u)); }
  .ftr__lic--skolkovo { width: calc(172 * var(--u)); }
  .ftr__fasie { width: calc(286 * var(--u)); }
  .ftr__fasie-logo { width: calc(105 * var(--u)); }
  .ftr__rule { width: calc(880 * var(--u)); }
  .ftr__bottom { top: calc(700 * var(--u)); left: calc(40 * var(--u)); width: calc(883 * var(--u)); }
}
@media (max-width: 959px) {
  .ftr { --u: calc(var(--vw, 100vw) / 640); height: calc(1022 * var(--u)); }
  .ftr__main { width: calc(560 * var(--u)); }
  .ftr__top { width: calc(600 * var(--u)); }
  .ftr__cols { gap: calc(50 * var(--u)) calc(50 * var(--u)); }
  .ftr__badges { width: calc(577 * var(--u)); gap: calc(20 * var(--u)) 0; }
  .ftr__licenses { width: calc(558 * var(--u)); gap: 0 calc(30 * var(--u)); }
  .ftr__lic--edu { width: calc(197 * var(--u)); }
  .ftr__lic--mincifry { width: calc(154 * var(--u)); }
  .ftr__lic--skolkovo { width: calc(148 * var(--u)); }
  .ftr__rule { width: calc(560 * var(--u)); }
  .ftr__bottom { width: calc(560 * var(--u)); }
}
@media (max-width: 639px) {
  .ftr { --u: calc(var(--vw, 100vw) / 480); height: calc(1636 * var(--u)); }
  .ftr__main { left: calc(11 * var(--u)); width: calc(400 * var(--u)); }
  .ftr__top { width: calc(425 * var(--u)); }
  .ftr__cols { width: calc(319 * var(--u)); flex-direction: column; flex-wrap: nowrap; gap: calc(25 * var(--u)) 0; }
  .ftr__licenses { flex-direction: column; align-items: flex-start; gap: calc(42 * var(--u)) 0; }
  .ftr__lic--edu { width: calc(246 * var(--u)); }
  .ftr__lic--mincifry { width: calc(177 * var(--u)); }
  .ftr__lic--skolkovo { width: calc(149 * var(--u)); }
  .ftr__fasie-logo { width: calc(99 * var(--u)); }
  .ftr__fasie-note { width: calc(244 * var(--u)); }
  .ftr__rule { width: calc(460 * var(--u)); }
  .ftr__bottom { top: calc(1449 * var(--u)); left: calc(11 * var(--u)); width: calc(367 * var(--u));
                 flex-direction: column; gap: calc(20 * var(--u)) 0; }
  .ftr__legal { flex-direction: column; align-items: flex-start; gap: calc(10 * var(--u)) 0; }
  .ftr__legal-group,
  .ftr__legal-group + .ftr__legal-group { flex-direction: column; align-items: flex-start; gap: calc(10 * var(--u)) 0; }
  .ftr__meta { width: calc(121 * var(--u)); height: calc(71 * var(--u)); flex-wrap: wrap;
               justify-content: flex-start; align-items: flex-start; gap: calc(10 * var(--u)) calc(31 * var(--u)); }
  .ftr__totop { font-size: calc(16 * var(--u)); line-height: calc(20.8 * var(--u)); }
}
@media (max-width: 479px) {
  .ftr { --u: calc(var(--vw, 100vw) / 360); height: calc(1572 * var(--u)); }
  .ftr__main { left: calc(10 * var(--u)); width: calc(335 * var(--u)); }
  .ftr__top { width: calc(335 * var(--u)); }
  .ftr__cols { width: calc(319 * var(--u)); }
  .ftr__col--user     { width: calc(139 * var(--u)); }
  .ftr__col--platform { width: calc(153 * var(--u)); align-items: flex-end; }
  .ftr__col--platform > * { width: calc(151 * var(--u)); }
  .ftr__col--media    { width: calc(209 * var(--u)); }
  .ftr__field--wide { width: calc(198 * var(--u)); }
  .ftr__note { width: calc(300 * var(--u)); }
  .ftr__socials { width: calc(207 * var(--u)); }
  .ftr__social { width: calc(43 * var(--u)); height: calc(43 * var(--u)); }
  .ftr__badges { width: calc(335 * var(--u)); flex-direction: column; align-items: flex-start; gap: calc(20 * var(--u)) 0; }
  .ftr__licenses { width: calc(315 * var(--u)); gap: calc(20 * var(--u)) 0; }
  .ftr__lic--edu { width: calc(308 * var(--u)); }
  .ftr__lic--mincifry { width: calc(211 * var(--u)); }
  .ftr__lic--skolkovo { width: calc(178 * var(--u)); }
  .ftr__fasie { width: calc(286 * var(--u)); }
  .ftr__fasie-logo { width: calc(95 * var(--u)); }
  .ftr__fasie-note { width: calc(216 * var(--u)); }
  .ftr__rule { width: calc(331 * var(--u)); height: calc(2 * var(--u)); }
  .ftr__bottom { top: calc(1330 * var(--u)); left: calc(10 * var(--u)); width: calc(292 * var(--u)); }
  .ftr__legal { width: calc(187 * var(--u)); }
  .ftr__legal-group { width: calc(187 * var(--u)); }
  .ftr__legal-group + .ftr__legal-group { width: calc(205 * var(--u)); }
  .ftr__meta { width: calc(125 * var(--u)); height: calc(70 * var(--u)); }
  .ftr__status { width: calc(123 * var(--u)); height: calc(17 * var(--u)); padding-left: calc(10 * var(--u));
                 font-size: calc(11 * var(--u)); line-height: calc(16.5 * var(--u)); }
  .ftr__dot { top: calc(5 * var(--u)); width: calc(5 * var(--u)); height: calc(5 * var(--u)); }
  .ftr__copy { font-size: calc(11 * var(--u)); line-height: calc(16.5 * var(--u)); }
}

/* ===== cookie bar (live t886) ============================================ */
.cookiebar {
  position: fixed;
  left: 0;
  bottom: 30px;
  z-index: 100001;
  width: 600px;
  max-width: 100%;
  /* On pages that auto-scale their standard blocks, live scales the consent bar
     too — it is one of those records there. --zoom-factor comes from
     f-autoscale.js and is absent on every other page. */
  zoom: var(--zoom-factor, 1);
}
.cookiebar[hidden] { display: none; }
.cookiebar__box {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px 25px;
  border-radius: 16px;
  background: var(--c-cookie);
  color: #ededed;
}
.cookiebar__text {
  flex: 1 1 auto;
  padding-right: 10px;      /* live keeps a 10px gutter before the button */
  font-size: 15px;
  line-height: 1.55;
  font-weight: 500;
}
.cookiebar__text a { color: #f1f1f1; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.cookiebar__ok {
  flex: none;
  padding: 4.2px 20px;
  border: 1px solid var(--c-accent);
  border-radius: 30px;
  background: none;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: #ededed;
  transition: background-color .2s ease-in-out;
}
.cookiebar__ok:hover { background-color: var(--c-accent); }
@media (max-width: 639px) {
  .cookiebar { bottom: 0; width: 100%; }
  .cookiebar__box { border-radius: 0; }
  .cookiebar__text { font-size: 12px; line-height: 1.45; }
}
