/* футер заходит под скруглённый низ листа на величину радиуса — в углах тёмный фон, а не «ушки» цвета страницы */
.ft{--r:clamp(28px,4vw,48px);position:sticky;bottom:0;z-index:0;margin-top:calc(-1 * var(--r));background:var(--ink);color:rgba(255,255,255,.62);
    padding:calc(clamp(36px,4vw,56px) + var(--r)) 0 0;font-size:14.5px;overflow:hidden}
.ft.is-far{visibility:hidden}
@media(max-height:600px),(max-width:800px){
  /* см. 14-footer.js */
  .ft{position:static}
}
/* футер (~540px) выше экрана — липкость отключаем, иначе верх не увидеть */
/* компактнее: CTA и колонки в один ряд, разделы — в две колонки, мессенджеры в строку, отступы меньше */
.ft__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:clamp(24px,4vw,64px);align-items:start}
.ft__cta{margin:0 0 20px;font-family:var(--font-head);font-weight:800;text-transform:uppercase;color:#f3f1ec;font-size:clamp(28px,2.6vw,40px);line-height:.95}
.ft__cta span{color:var(--y)}
.ft__cols{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:32px}
.ft__cols a{white-space:nowrap}
.ft__cols a[href*="yandex"]{white-space:normal}
.ft__cols .nb{white-space:nowrap}
.ft__msg{display:flex;gap:14px;margin-top:6px}
.ft b{display:block;margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.ft__cols a{display:block;width:fit-content;padding:3px 0;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s}
.ft__cols>div:first-child{columns:2;column-gap:16px}
.ft__cols>div:first-child b{column-span:all}
.ft__cols a:hover{color:#fff}
.ft__cols a.ft__tel{font-weight:700;color:#fff;font-size:16px}
.ft__cols .ft__up{align-self:start;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;
    box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18);color:#fff;transition:background .2s,color .2s}
.ft__cols .ft__up:hover{background:var(--y);color:var(--ink);box-shadow:none}
.ft__up .arr{width:18px;height:18px}
.ft__legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(24px,3vw,40px);padding:16px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:rgba(255,255,255,.4)}
.ft__legal p{margin:0;max-width:56ch;line-height:1.5}
.ft__legal p:first-child{max-width:none}
.ft__cols .ext{width:11px;height:11px;margin-left:4px;vertical-align:1px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.6}
.ft__legal a{color:rgba(255,255,255,.55);text-decoration:none}
.ft__legal a:hover{color:#fff;text-decoration:underline}
.ft__note{display:block;padding:3px 0;color:rgba(255,255,255,.45)}
.ft__big{font-family:var(--font-head);font-weight:800;text-transform:uppercase;white-space:nowrap;text-align:center;line-height:.78;
    font-size:21.5vw;letter-spacing:-.01em;margin:0 0 -.12em;user-select:none;
    background:linear-gradient(180deg,#f3f1ec 0%,#9a9894 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:1000px){
  .ft__top{grid-template-columns:1fr}
}
@media(max-width:800px){
  .ft__cols{grid-template-columns:1fr 1fr}
  .ft__cols .ft__up{position:absolute;right:0;top:0}
}
@media(max-width:560px){
  .ft__cols{grid-template-columns:1fr;gap:24px}
}
