/* ОБЪЕКТ — подвал сайта (objft-*). Фон тот же, что у страницы: подвал отделяется линией, а не цветом.
   Компьютер: полоса обращения → 4 колонки (бренд · Услуги · Компания · Контакты) → нижняя строка.
   Планшет 768–1023: 2×2. Телефон: одна колонка, контакты сразу после бренда, «Услуги» и «Компания» — аккордеоны.
   main.css обнуляет рамки/отступы у всего внутри .page — поэтому селекторы из двух классов. */
.objft,
.objft *{box-sizing:border-box;}
.objft{
  --objft-w:calc(100% - 32px);
  position:relative;display:block;background:var(--objekt-color-bg);color:var(--objekt-color-cream);font-family:var(--objekt-font-body);
  font-variant-numeric:lining-nums; /* ровные цифры телефонов в антикве */
}
@media (min-width:390px){ .objft{--objft-w:calc(100% - 40px);} }
@media (min-width:600px){ .objft{--objft-w:calc(100% - 64px);} }
@media (min-width:1200px){ .objft{--objft-w:min(81.77083vw, 1600px);} }
.objft .objft-wrap{width:var(--objft-w);margin:0 auto;border-top:1px solid var(--objekt-color-line-strong);}
.objft a{color:inherit;text-decoration:none;}
.objft a:focus-visible,
.objft button:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:3px;}

/* ---------- полоса обращения ---------- */
.objft .objft-cta{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px, 3vw, 56px);padding:clamp(40px, 4vw, 72px) 0;border-bottom:1px solid var(--objekt-color-line);}
.objft .objft-cta__title{font-family:var(--objekt-font-heading);font-weight:500;font-size:clamp(26px, 2.2vw, 44px);line-height:1.1;letter-spacing:var(--objekt-tracking-heading);color:var(--objekt-color-cream);}
.objft .objft-cta__sub{margin:8px 0 0;font-size:clamp(15px, 1.05vw, 19px);line-height:1.5;color:rgba(245,242,237,0.7);}
.objft .objft-cta__actions{display:flex;align-items:stretch;gap:14px;flex-shrink:0;}
.objft .objft-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:64px;margin:0;padding:0 clamp(28px, 2.4vw, 44px);
  border:1px solid var(--objekt-color-accent);border-radius:0;background:var(--objekt-color-accent);color:var(--objekt-color-bg);
  font-family:inherit;font-size:var(--objekt-fs-button);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .2s ease, border-color .2s ease;
}
.objft .objft-cta__btn svg{width:22px;height:22px;transition:transform .2s ease;}
.objft .objft-cta__btn:hover{background:var(--objekt-color-accent-hover);border-color:var(--objekt-color-accent-hover);}
.objft .objft-cta__btn:hover svg{transform:translateX(3px);}
.objft .objft-cta__msgs{display:flex;gap:14px;}

/* кнопки Telegram / MAX (официальные знаки) */
.objft .objft-msg{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:0;padding:8px 16px;
  border:1px solid rgba(245,242,237,0.28);border-radius:0;background:transparent;color:var(--objekt-color-cream);
  font-family:inherit;font-size:15px;cursor:pointer;transition:border-color .2s ease, background-color .2s ease;
}
.objft .objft-msg:hover{border-color:var(--objekt-color-accent);background:rgba(169,150,125,0.06);color:var(--objekt-color-cream);}
.objft .objft-msg[aria-disabled="true"]{cursor:default;}
.objft .objft-msg__icon{display:block;flex-shrink:0;width:24px;height:24px;}
.objft .objft-msg__icon svg{display:block;width:100%;height:100%;}
.objft .objft-msg__icon--telegram circle{fill:#27A7E7;}
.objft .objft-msg__icon--telegram path{fill:#fff;}
.objft .objft-msg__icon--max path{fill:url(#objn-max-grad);}
@media (min-width:768px){
  .objft .objft-msg--cta{width:64px;min-height:64px;padding:0;}
  .objft .objft-msg--cta .objft-msg__icon{width:28px;height:28px;}
  .objft .objft-msg--cta > span:not(.objft-msg__icon){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
}

/* ---------- основная часть ---------- */
.objft .objft-main{
  display:grid;grid-template-columns:minmax(0, 1fr);grid-template-areas:"brand" "contacts" "services" "company";
  padding:clamp(40px, 5vw, 96px) 0 clamp(32px, 4vw, 80px);row-gap:36px;
}
.objft .objft-brand{grid-area:brand;}
.objft .objft-links--services{grid-area:services;}
.objft .objft-links--company{grid-area:company;}
.objft .objft-contacts{grid-area:contacts;font-style:normal;}
.objft .objft-logo{display:inline-block;color:var(--objekt-color-cream);}
.objft .objft-logo .objn-logo__text{display:inline-block;font-family:var(--objekt-font-heading);font-size:clamp(34px, 2.8vw, 56px);font-weight:400;line-height:1;letter-spacing:.3em;margin-right:-.3em;white-space:nowrap;}
.objft .objft-logo .objn-logo__img{display:block;width:auto;height:clamp(34px, 2.4vw, 48px);max-width:none;}
.objft .objft-logo .objn-logo__img--brand{height:clamp(52px, 4vw, 66px);max-width:100%;}
.objft .objft-tag{display:flex;flex-direction:column;gap:6px;margin:clamp(18px, 1.6vw, 26px) 0 0;font-size:11.5px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,237,0.55);}
.objft .objft-about{max-width:30em;margin:clamp(20px, 1.8vw, 30px) 0 0;font-size:clamp(15px, 1vw, 17px);line-height:1.6;color:rgba(245,242,237,0.7);}
.objft .objft-channels{display:flex;flex-wrap:wrap;gap:14px;margin:clamp(22px, 2vw, 32px) 0 0;padding:0;list-style:none;}
.objft .objft-channels li{margin:0;padding:0;}
.objft .objft-ch{
  display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0;padding:0;
  border:1px solid rgba(169,150,125,0.75);border-radius:50%;background:transparent;color:var(--objekt-color-cream);cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.objft .objft-ch svg{display:block;width:24px;height:24px;}
.objft .objft-ch:hover{background:var(--objekt-color-accent);border-color:var(--objekt-color-accent);color:var(--objekt-color-bg);}
.objft .objft-ch[aria-disabled="true"]{cursor:default;}
.objft .objft-note{margin:14px 0 0;font-size:13px;line-height:1.4;color:rgba(245,242,237,0.55);}
.objft .objft-meta{max-width:32em;margin:8px 0 0;font-size:11px;line-height:1.45;color:rgba(245,242,237,0.45);}

/* заголовки колонок (на телефоне у «Услуг» и «Компании» это кнопки аккордеона) */
.objft .objft-h{margin:0 0 18px;font-size:12px;line-height:1.3;letter-spacing:.24em;text-transform:uppercase;color:var(--objekt-color-accent);}
.objft .objft-acc{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:0;border:none;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;}
.objft .objft-acc__plus{display:none;width:22px;height:22px;color:var(--objekt-color-accent);}
.objft .objft-acc__plus svg{display:block;width:100%;height:100%;}
.objft .objft-plus__v{transition:transform .25s ease, opacity .25s ease;transform-origin:center;}
.objft .objft-acc__body{display:grid;grid-template-rows:1fr;}
.objft .objft-acc__inner{min-height:0;overflow:hidden;}
.objft .objft-list{margin:0;padding:0;list-style:none;}
.objft .objft-list li{margin:0;padding:0;}
.objft .objft-list a{display:inline-flex;align-items:center;gap:10px;padding:7px 0;font-size:16px;line-height:1.4;color:rgba(245,242,237,0.8);transition:color .2s ease, transform .2s ease;}
.objft .objft-list a:hover{color:var(--objekt-color-cream);transform:translateX(3px);}
.objft .objft-list .objft-list__price{margin-top:6px;color:var(--objekt-color-accent);}
.objft .objft-list .objft-list__price:hover{color:var(--objekt-color-accent-hover);}
.objft .objft-list__price svg{width:18px;height:18px;}

/* контакты */
.objft .objft-phone{display:flex;flex-direction:column;gap:3px;margin:0 0 14px;}
.objft .objft-phone__label{font-size:13px;line-height:1.3;color:rgba(245,242,237,0.55);}
.objft .objft-phone__num{font-family:var(--objekt-font-heading);font-size:clamp(20px, 1.4vw, 26px);line-height:1.2;color:var(--objekt-color-cream);white-space:nowrap;transition:color .2s ease;}
.objft .objft-phone__num:hover{color:var(--objekt-color-accent);}
.objft .objft-mail{display:inline-block;margin:2px 0 12px;font-size:16px;color:var(--objekt-color-cream);transition:color .2s ease;}
.objft .objft-mail:hover{color:var(--objekt-color-accent);}
.objft .objft-addr{margin:0 0 10px;font-size:15px;line-height:1.55;color:rgba(245,242,237,0.8);}
.objft .objft-route{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding-bottom:1px;border-bottom:1px solid rgba(169,150,125,0.55);color:var(--objekt-color-accent);transition:color .2s ease, border-color .2s ease;}
.objft .objft-route svg{width:14px;height:14px;}
.objft .objft-route:hover{color:var(--objekt-color-accent-hover);border-color:var(--objekt-color-accent-hover);}
.objft .objft-hours{margin:0;font-size:15px;line-height:1.5;color:rgba(245,242,237,0.7);}
.objft .objft-msgs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;margin-top:18px;max-width:380px;}

/* ---------- нижняя строка ---------- */
.objft .objft-bottom{
  display:grid;grid-template-columns:minmax(0, 1fr) auto;grid-template-areas:"legal up" "docs up";align-items:center;gap:10px 20px;
  padding:22px 0 calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--objekt-color-line);font-size:13px;line-height:1.5;color:rgba(245,242,237,0.5);
}
.objft .objft-legal{grid-area:legal;display:flex;flex-wrap:wrap;gap:4px 0;margin:0;}
.objft .objft-legal span + span::before{content:"·";margin:0 10px;}
.objft .objft-docs{grid-area:docs;display:flex;flex-direction:column;gap:6px;margin:0;}
.objft .objft-docs a{align-self:flex-start;border-bottom:1px solid rgba(245,242,237,0.2);color:rgba(245,242,237,0.5);transition:color .2s ease, border-color .2s ease;}
.objft .objft-docs a:hover{color:var(--objekt-color-cream);border-color:rgba(245,242,237,0.5);}
.objft .objft-up{
  grid-area:up;align-self:start;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;
  border:1px solid rgba(169,150,125,0.7);border-radius:50%;background:transparent;color:var(--objekt-color-cream);cursor:pointer;transition:background-color .2s ease, color .2s ease;
}
.objft .objft-up svg{width:20px;height:20px;}
.objft .objft-up:hover{background:var(--objekt-color-accent);color:var(--objekt-color-bg);}

/* ---------- телефон (<768) ---------- */
@media (max-width:767px){
  .objft .objft-cta{flex-direction:column;align-items:stretch;}
  .objft .objft-cta__actions{flex-direction:column;}
  .objft .objft-cta__btn{width:100%;min-height:58px;}
  .objft .objft-cta__msgs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;}
  .objft .objft-msg{min-height:52px;}
  .objft.has-cta .objft-contacts .objft-msgs{display:none;}
  .objft .objft-msgs{max-width:none;}
  .objft .objft-main{row-gap:32px;}
  .objft .objft-ch{width:56px;height:56px;}
  /* аккордеоны */
  .objft .objft-links{border-top:1px solid var(--objekt-color-line);border-bottom:1px solid var(--objekt-color-line);}
  .objft .objft-links--company{margin-top:-32px;border-top:none;} /* «Услуги» и «Компания» — вплотную, одна общая линия */
  .objft .objft-links .objft-h{margin:0;font-family:var(--objekt-font-heading);font-size:21px;letter-spacing:normal;text-transform:none;color:var(--objekt-color-cream);}
  .objft .objft-acc{min-height:58px;padding:8px 0;}
  .objft .objft-acc__plus{display:block;}
  .objft .objft-acc[aria-expanded="true"] .objft-plus__v{transform:scaleY(0);opacity:0;}
  .objft .objft-acc__body{grid-template-rows:0fr;transition:grid-template-rows .25s ease;}
  .objft .objft-links.is-open .objft-acc__body{grid-template-rows:1fr;}
  .objft .objft-list{padding:0 0 10px;}
  .objft .objft-list a{min-height:44px;padding:6px 0;}
  /* нижняя строка — столбиком, «Наверх» справа от копирайта */
  .objft .objft-legal{flex-direction:column;}
  .objft .objft-legal span + span::before{content:none;}
}

/* ---------- планшет (768–1023): 2×2, без аккордеонов ---------- */
@media (min-width:768px){
  .objft .objft-main{grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-areas:"brand contacts" "services company";gap:48px clamp(32px, 4vw, 80px);}
  .objft .objft-acc{cursor:default;pointer-events:none;}
  .objft .objft-bottom{grid-template-columns:auto minmax(0, 1fr) auto;grid-template-areas:"legal docs up";}
  .objft .objft-docs{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:6px 28px;}
}

/* ---------- компьютер (≥1024): 4 колонки ---------- */
@media (min-width:1024px){
  .objft .objft-main{grid-template-columns:1.6fr .9fr .9fr 1.2fr;grid-template-areas:"brand services company contacts";column-gap:clamp(32px, 4vw, 80px);padding:clamp(56px, 5vw, 96px) 0;}
  .objft .objft-cta__text{min-width:0;}
}

/* ---------- появление: колонки по очереди, один раз ---------- */
.objft.is-js .objft-col{opacity:0;transform:translateY(12px);transition:opacity .6s ease, transform .6s ease;transition-delay:calc(var(--i) * 80ms);}
.objft.is-js.is-in .objft-col{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .objft.is-js .objft-col{opacity:1;transform:none;transition:none;}
  .objft .objft-acc__body{transition:none !important;}
}
@media (min-width:1280px){
  .objft .objft-tag span{white-space:nowrap;} /* подпись под логотипом — в одну строку, как на референсе */
}
@media (max-width:767px){
  .objft .objft-main{padding-bottom:0;}
  .objft .objft-bottom{border-top:none;padding-top:26px;} /* линия под «Компанией» уже есть */
}
