/* =========================================================
   BRO — исправления v60
   Подключается ПОСЛЕДНИМ, после responsive.css.
   1. Закреплённая (fixed) шапка на всех страницах
   2. Бегущая строка акции закреплена снизу экрана
   3. Блок партнёров: авто-прокрутка логотипов
   4. Согласование нижних плавающих элементов
   ========================================================= */

:root{
  --bro-header-h:82px;   /* высота шапки на десктопе */
  --bro-ticker-h:38px;   /* высота бегущей строки */
  --bro-safe-b:env(safe-area-inset-bottom,0px);
}
@media (max-width:760px){
  :root{ --bro-header-h:68px; --bro-ticker-h:34px; }
}
@media (max-width:380px){
  :root{ --bro-ticker-h:32px; }
}

/* ---------------------------------------------------------
   1. ШАПКА — закреплена вверху на всех страницах
   position:fixed вместо sticky, потому что у body включён
   overflow-x:hidden, из-за которого sticky на мобильных
   переставал работать.
   --------------------------------------------------------- */
.site-header,
.site-header--home,
.inner-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:70!important;
}

/* на внутренних страницах контент уходил бы под шапку — компенсируем */
body{ padding-top:var(--bro-header-h); }
/* на главной шапка прозрачная и лежит поверх первого экрана */
body.home-page{ padding-top:0; }

/* корректный переход по якорям (#calculator и т.п.) */
html{ scroll-padding-top:calc(var(--bro-header-h) + 14px)!important; }

/* Главная: при прокрутке шапка получает фон, чтобы текст читался */
.site-header--home{
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.site-header--home.is-stuck{
  background:rgba(20,17,14,.95)!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 10px 34px rgba(0,0,0,.28);
}
.site-header--home.is-stuck .header-inner{
  border-bottom-color:rgba(215,176,106,.22)!important;
}
.site-header:not(.site-header--home).is-stuck{
  box-shadow:0 8px 26px rgba(0,0,0,.09);
}

/* липкие блоки внутри страниц не должны прятаться под шапкой */
.portfolio-filter{ top:var(--bro-header-h)!important; }
.full-calc-panel{ top:calc(var(--bro-header-h) + 22px)!important; }
.calc-result-sticky{ top:calc(var(--bro-header-h) + 18px)!important; }
.article-toc{ top:calc(var(--bro-header-h) + 26px)!important; }
@media (max-width:760px){
  .full-calc-panel,.calc-result-sticky,.article-toc{ position:static!important; }
}

/* мобильное меню открывается точно под шапкой */
@media (max-width:1100px){
  .mobile-nav{ top:calc(var(--bro-header-h) + 6px)!important; }
}

/* ---------------------------------------------------------
   2. БЕГУЩАЯ СТРОКА АКЦИИ — закреплена внизу экрана
   Видна всегда, на всех страницах, при любой прокрутке.
   --------------------------------------------------------- */
.bro-ticker{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:64;
  display:flex;
  align-items:stretch;
  height:calc(var(--bro-ticker-h) + var(--bro-safe-b));
  padding-bottom:var(--bro-safe-b);
  background:#17140f;
  border-top:1px solid rgba(215,176,106,.28);
  box-shadow:0 -8px 26px rgba(0,0,0,.26);
  text-decoration:none;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}
.bro-ticker__badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  background:linear-gradient(135deg,#dfbf8b,#c79a56);
  color:#17130e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
}
.bro-ticker__window{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.bro-ticker__track{
  display:flex;
  flex-wrap:nowrap;
  width:max-content;
  align-items:center;
  animation:bro-ticker-run 30s linear infinite;
  will-change:transform;
}
.bro-ticker__track > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 30px;
  color:#e6cd9e;
  font-size:11px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  line-height:1;
}
.bro-ticker__track b{ color:#ffe1ac; font-weight:800; }
@keyframes bro-ticker-run{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}
.bro-ticker:hover .bro-ticker__track{ animation-play-state:paused; }
/* плавное затухание у правого края */
.bro-ticker__window:after{
  content:'';
  position:absolute; top:0; right:0; bottom:0;
  width:42px;
  background:linear-gradient(90deg,rgba(23,20,15,0),#17140f);
  pointer-events:none;
}
@media (max-width:760px){
  .bro-ticker__badge{ padding:0 10px; font-size:9px; letter-spacing:.1em; }
  .bro-ticker__track{ animation-duration:22s; }
  .bro-ticker__track > span{ padding:0 20px; font-size:9.5px; letter-spacing:.08em; }
  .bro-ticker__window:after{ width:26px; }
}
@media (max-width:380px){
  .bro-ticker__badge{ padding:0 8px; font-size:8.5px; }
  .bro-ticker__track > span{ font-size:9px; padding:0 16px; }
}
@media (prefers-reduced-motion:reduce){
  .bro-ticker__track{ animation-duration:70s; }
}

/* старая строка в потоке страницы больше не используется */
.promo-marquee{ display:none!important; }

/* ---------------------------------------------------------
   3. Нижние плавающие элементы поднимаем над строкой акции
   --------------------------------------------------------- */
body{ padding-bottom:var(--bro-ticker-h); }

@media (max-width:760px){
  body.home-page,
  body:not(.home-page){
    padding-bottom:calc(82px + var(--bro-ticker-h))!important;
  }
  .mobile-panel{
    bottom:calc(var(--bro-ticker-h) + var(--bro-safe-b) + 10px)!important;
    z-index:62!important;
  }
}
.contact-nudge{ bottom:calc(var(--bro-ticker-h) + 20px)!important; }
@media (max-width:650px){
  .contact-nudge{ bottom:calc(var(--bro-ticker-h) + 88px)!important; }
}

/* модальные окна всегда выше строки акции */
.hero-video-modal{ z-index:300; }
.review-modal{ z-index:310; }
body.no-scroll .bro-ticker{ z-index:1; }

/* ---------------------------------------------------------
   4. ПАРТНЁРЫ — авто-прокрутка логотипов
   Логотипы кладутся в assets/img/partners/ (см. MEDIA-MAP.md).
   Если файла нет, вместо «битой» картинки показывается название.
   --------------------------------------------------------- */
.bro-partners{
  position:relative;
  margin-top:30px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.bro-partners__track{
  display:flex;
  flex-wrap:nowrap;
  width:max-content;
  gap:14px;
  align-items:stretch;
  animation:bro-partners-run 38s linear infinite;
  will-change:transform;
}
.bro-partners:hover .bro-partners__track,
.bro-partners.is-paused .bro-partners__track{ animation-play-state:paused; }
@keyframes bro-partners-run{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(var(--bro-partners-shift,-50%),0,0); }
}
.bro-partner{
  flex:0 0 auto;
  width:196px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px 16px;
  border:1px solid var(--color-line,#ded8cd);
  border-radius:18px;
  background:#fff;
  text-align:center;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
a.bro-partner:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,.1);
  border-color:rgba(191,150,92,.55);
}
.bro-partner img{
  display:block;
  width:156px;
  height:98px;
  object-fit:contain;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.07);
  background:#fff;
  opacity:.92;
  transition:opacity .25s ease,transform .25s ease;
}
.bro-partner:hover img{ opacity:1; transform:scale(1.03); }
.bro-partner span{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-text-soft,#7a736a);
}
/* запасной вид, если логотип ещё не загружен заказчиком */
.bro-partner.is-empty img{ display:none; }
.bro-partner.is-empty:before{
  content:attr(data-initials);
  display:grid;
  place-items:center;
  width:54px;height:54px;
  border-radius:14px;
  background:linear-gradient(135deg,#f1ece3,#e2d8c8);
  color:#8a6c42;
  font-size:17px;font-weight:800;letter-spacing:.04em;
}
@media (max-width:760px){
  .bro-partners{ margin-top:22px; }
  .bro-partners__track{ gap:10px; animation-duration:26s; }
  .bro-partner{ width:156px; min-height:126px; padding:12px 10px; border-radius:15px; }
  .bro-partner img{ width:126px; height:79px; border-radius:9px; }
  .bro-partner span{ font-size:9.5px; }
}
@media (prefers-reduced-motion:reduce){
  .bro-partners__track{ animation:none; }
  .bro-partners{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* ---------------------------------------------------------
   5. Мелкие правки вёрстки
   --------------------------------------------------------- */
/* кнопки без видимой реакции на нажатие на телефоне */
.btn:active,.mobile-panel a:active,.bro-ticker:active{ transform:scale(.985); }
/* одинаковая область нажатия у всех ссылок-кнопок (требование 44px) */
.mobile-panel a,.contacts-quick,.header-quick-messenger{ -webkit-tap-highlight-color:transparent; }
/* телефоны в шапке главной — оба номера в столбик, без переносов */
.site-header--home .header-contact{ display:flex; flex-direction:column; line-height:1.25; }
.site-header--home .header-contact .header-phone{ white-space:nowrap; }

/* оба номера в шапке внутренних страниц — компактным столбиком,
   иначе горизонтального места не хватает и меню уезжает на вторую строку */
.header-phones{
  display:flex;
  flex-direction:column;
  gap:1px;
  line-height:1.2;
  text-align:right;
}
.header-phones .header-phone{
  white-space:nowrap;
  font-size:13.5px;
  font-weight:700;
  padding:0;
}
.header-phones .header-phone--second{
  font-size:12.5px;
  font-weight:600;
  opacity:.72;
}
.header-phones .header-phone--second:hover{ opacity:1; }
@media (max-width:1150px){
  .header-phones{ display:none; }
}

/* кнопка выбора номера появляется уже тогда, когда прячется меню (<=1100px),
   а не только на узких телефонах — чтобы позвонить можно было с любого экрана */
@media (max-width:1100px){
  .header-actions{ position:relative; }
  .mobile-phone-toggle{
    display:grid!important; place-items:center;
    flex:0 0 40px; width:40px; height:40px; min-width:40px;
    border:1px solid rgba(222,187,130,.7); border-radius:50%;
    background:#dfbd82; color:#16120e; padding:0; cursor:pointer;
    box-shadow:0 5px 16px rgba(0,0,0,.16);
    position:relative; z-index:30; font-size:0; line-height:0; overflow:hidden;
  }
  .mobile-phone-toggle__icon{ display:block; width:20px; height:20px; pointer-events:none; }
  .mobile-phone-toggle[aria-expanded="true"]{ background:#171411; color:#dfbd82; border-color:#dfbd82; }
  .mobile-phone-menu:not([hidden]){
    display:grid!important; gap:8px;
    position:absolute; right:0; top:calc(100% + 10px);
    width:270px; max-width:calc(100vw - 24px); padding:10px;
    background:#171411; color:#fff;
    border:1px solid rgba(222,187,130,.26); border-radius:16px;
    box-shadow:0 20px 50px rgba(0,0,0,.36); z-index:9999;
  }
  .mobile-phone-menu__title{
    padding:4px 6px 7px; color:#d9b77f; font-size:11px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
  }
  .mobile-phone-menu a{
    display:flex; flex-direction:column; gap:3px; padding:12px 14px;
    border-radius:12px; background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.07); color:#fff;
    text-decoration:none; white-space:normal;
  }
  .mobile-phone-menu a span{ font-size:9px; text-transform:uppercase; letter-spacing:.09em; color:rgba(255,255,255,.5); }
  .mobile-phone-menu a strong{ font-size:16px; line-height:1.2; color:#fff; font-weight:700; }
}

/* =========================================================
   ГАЛЕРЕЯ ВЫПОЛНЕННЫХ РАБОТ (автолистание)
   ========================================================= */
.bro-gallery{ position:relative; margin-top:30px; }
.bro-gallery__window{ overflow:hidden; border-radius:20px; }
.bro-gallery__track{
  display:flex;
  gap:16px;
  will-change:transform;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.bro-gallery__slide{
  position:relative;
  flex:0 0 320px;
  width:320px;
  aspect-ratio:3/4;
  border-radius:18px;
  overflow:hidden;
  background:#e8e2d8;
  cursor:zoom-in;
  outline:none;
  transition:transform .3s ease,box-shadow .3s ease;
}
.bro-gallery__slide img{
  display:block; width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.bro-gallery__slide:hover img,
.bro-gallery__slide:focus-visible img{ transform:scale(1.05); }
.bro-gallery__slide:focus-visible{ box-shadow:0 0 0 3px #c79a56; }
.bro-gallery__slide figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:26px 14px 13px;
  background:linear-gradient(180deg,rgba(12,10,8,0),rgba(12,10,8,.82));
  color:#fff; font-size:12px; line-height:1.35;
  opacity:0; transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
}
.bro-gallery__slide:hover figcaption,
.bro-gallery__slide.is-current figcaption{ opacity:1; transform:translateY(0); }
.bro-gallery__zoom{
  position:absolute; top:11px; right:11px;
  width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(16,14,11,.5); color:#fff; font-size:15px;
  opacity:0; transition:opacity .25s ease;
}
.bro-gallery__slide:hover .bro-gallery__zoom{ opacity:1; }

.bro-gallery__bar{
  display:flex; align-items:center; gap:12px;
  margin-top:18px;
}
.bro-gallery__nav{
  width:46px; height:46px; flex:0 0 46px;
  border-radius:50%;
  border:1px solid var(--color-line,#ded8cd);
  background:#fff; color:#1a1713;
  font-size:17px; line-height:1; cursor:pointer;
  display:grid; place-items:center;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.bro-gallery__nav:hover{ background:#1a1713; color:#fff; transform:translateY(-2px); }
.bro-gallery__counter{
  font-size:12px; font-weight:700; letter-spacing:.08em;
  color:var(--color-text-soft,#7a736a);
}
.bro-gallery__hint{
  margin-left:auto; font-size:11px;
  color:var(--color-text-soft,#7a736a);
}
.bro-gallery.is-paused .bro-gallery__hint{ color:#b1874c; }

@media (max-width:760px){
  .bro-gallery{ margin-top:22px; }
  .bro-gallery__track{ gap:10px; }
  .bro-gallery__slide{ flex-basis:74vw; width:74vw; border-radius:14px; }
  .bro-gallery__slide figcaption{ font-size:11px; opacity:1; transform:none; padding:22px 12px 11px; }
  .bro-gallery__nav{ width:42px; height:42px; flex-basis:42px; }
  .bro-gallery__hint{ display:none; }
}

/* просмотр фото крупно */
.bro-lightbox[hidden]{ display:none; }
.bro-lightbox{
  position:fixed; inset:0; z-index:320;
  display:grid; place-items:center;
  padding:20px;
}
.bro-lightbox__backdrop{
  position:absolute; inset:0;
  background:rgba(10,9,8,.9);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.bro-lightbox__inner{
  position:relative; z-index:1;
  max-width:min(1100px,100%);
  display:grid; justify-items:center; gap:12px;
}
.bro-lightbox img{
  display:block;
  max-width:100%; max-height:78svh;
  border-radius:14px;
  background:#15120f;
}
.bro-lightbox__meta{
  display:flex; align-items:center; gap:14px;
  color:rgba(255,255,255,.78); font-size:12px; text-align:center;
}
.bro-lightbox__meta b{ color:#dfbf8b; font-weight:700; }
.bro-lightbox__close,
.bro-lightbox__arrow{
  position:absolute; z-index:2;
  width:48px; height:48px; border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(20,17,14,.72); color:#fff;
  font-size:22px; line-height:1; cursor:pointer;
  display:grid; place-items:center;
}
.bro-lightbox__close{ top:-8px; right:-8px; font-size:26px; }
.bro-lightbox__arrow--prev{ left:-64px; top:50%; margin-top:-24px; }
.bro-lightbox__arrow--next{ right:-64px; top:50%; margin-top:-24px; }
.bro-lightbox__close:hover,.bro-lightbox__arrow:hover{ background:#c79a56; color:#17130e; }
@media (max-width:900px){
  .bro-lightbox{ padding:12px; }
  .bro-lightbox__arrow--prev{ left:6px; }
  .bro-lightbox__arrow--next{ right:6px; }
  .bro-lightbox__close{ top:-6px; right:6px; }
  .bro-lightbox img{ max-height:70svh; }
}

/* пометка о характере изображений в портфолио */
.portfolio-disclaimer{
  margin-top:10px;
  font-size:12px!important;
  line-height:1.5;
  color:var(--color-text-soft,#7a736a);
  opacity:.85;
}

/* =========================================================
   МОБИЛЬНОЕ МЕНЮ — единое на всех страницах
   Сплошной фон, прокручиваемый список, кнопки закреплены снизу.
   ========================================================= */
.mobile-nav.is-open{
  display:flex!important;
  flex-direction:column;
  background:#16130f!important;      /* без прозрачности: под меню светлые страницы */
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border:1px solid rgba(223,191,139,.18);
  max-height:calc(100svh - var(--bro-header-h) - var(--bro-ticker-h) - 22px)!important;
  overflow:hidden!important;
  z-index:120!important;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.mobile-nav__links{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  display:grid;
  gap:0;
}
.mobile-nav .mobile-nav__links a{
  display:flex; align-items:center;
  min-height:44px;
  padding:0 8px;
  font-size:15px; font-weight:500;
  color:#fff; text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.mobile-nav .mobile-nav__links a:last-child{ border-bottom:0; }
.mobile-nav .mobile-nav__links a:active{ color:#dfbf8b; }
.mobile-nav .mobile-nav__links a.is-current{ color:#dfbf8b; font-weight:700; }

/* кнопки всегда на виду, даже когда список прокручивается */
.mobile-nav__foot{
  flex:0 0 auto;
  display:grid; gap:8px;
  margin-top:12px; padding-top:12px;
  border-top:1px solid rgba(223,191,139,.24);
  background:#16130f;
}
.mobile-nav .mobile-nav__cta{
  display:flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 14px;
  border-radius:999px; border:0;
  background:linear-gradient(135deg,#dfbf8b,#c79a56);
  color:#17130e!important;
  font-size:15px; font-weight:700; text-decoration:none;
}
.mobile-nav__phones{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
@media (max-width:360px){ .mobile-nav__phones{ grid-template-columns:1fr; } }
.mobile-nav .mobile-nav__phone{
  display:flex; align-items:center; justify-content:center;
  min-height:44px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:#fff!important;
  font-size:12.5px; font-weight:600; letter-spacing:-.01em;
  text-decoration:none; white-space:nowrap;
}
.mobile-nav .mobile-nav__phone:active{ border-color:#dfbf8b; color:#dfbf8b!important; }

/* на десктопе меню не нужно — работает обычная навигация */
@media (min-width:1101px){
  .mobile-nav,.mobile-nav.is-open{ display:none!important; }
}

/* =========================================================
   ШАПКА НА СРЕДНИХ ЭКРАНАХ (1100–1450px)
   Пунктам меню не хватало места и они переносились на две
   строки. Сжимаем второстепенное, меню держим в одну строку.
   ========================================================= */
.main-nav a{ white-space:nowrap; }
.main-nav ul{ flex-wrap:nowrap; }

@media (max-width:1450px){
  /* иконки мессенджеров есть в подвале и в мобильной панели */
  .site-header:not(.site-header--home) .header-quick-messengers{ display:none; }
}
@media (max-width:1350px){
  .site-header:not(.site-header--home) .main-nav ul{ gap:15px; }
  .site-header:not(.site-header--home) .main-nav a{ font-size:12.5px; }
  .site-header:not(.site-header--home) .header-phones .header-phone{ font-size:12.5px; }
  .site-header:not(.site-header--home) .header-phones .header-phone--second{ display:none; }
  .site-header:not(.site-header--home) .header-calc{ padding:0 16px; font-size:12.5px; }
}
@media (max-width:1220px){
  .site-header:not(.site-header--home) .main-nav ul{ gap:12px; }
  .site-header:not(.site-header--home) .main-nav a{ font-size:11.5px; }
  .site-header:not(.site-header--home) .header-phones{ display:none; }
}

/* =========================================================
   ЛОГОТИП
   Новый знак выше и уже прежнего, поэтому задаём высоту,
   а ширину считает браузер — пропорции не ломаются.
   Свечение: мягкий золотой ореол вокруг букв.
   ========================================================= */
.logo,
.header-brand .logo,
.footer-brand .logo{
  min-width:0!important;
  overflow:visible!important;
}
.site-header .logo img,
.site-header--home .logo img,
.inner-header .logo img,
.footer-brand .logo img,
.logo img{
  width:auto!important;
  height:58px!important;
  max-width:230px!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 0 7px rgba(223,191,139,.45))
         drop-shadow(0 0 20px rgba(199,154,86,.28))!important;
  transition:filter .35s ease, transform .35s ease;
}
.logo:hover img{
  filter:drop-shadow(0 0 10px rgba(240,214,160,.7))
         drop-shadow(0 0 30px rgba(199,154,86,.45))!important;
  transform:translateY(-1px);
}
.footer-brand .logo img{ height:66px!important; max-width:270px!important; }

@media (max-width:1100px){
  .site-header .logo img,.site-header--home .logo img,.inner-header .logo img,.logo img{ height:50px!important; width:auto!important; }
}
@media (max-width:760px){
  .site-header .logo img,.site-header--home .logo img,.inner-header .logo img,.logo img{ height:44px!important; width:auto!important; max-width:200px!important; }
  .footer-brand .logo img{ height:54px!important; }
}
@media (max-width:380px){
  .site-header .logo img,.site-header--home .logo img,.inner-header .logo img,.logo img{ height:40px!important; width:auto!important; }
}

/* очень медленное «дыхание» свечения — эффект подсветки */
@keyframes bro-logo-glow{
  0%,100%{ filter:drop-shadow(0 0 6px rgba(223,191,139,.34)) drop-shadow(0 0 16px rgba(199,154,86,.2)); }
  50%    { filter:drop-shadow(0 0 11px rgba(240,214,160,.6)) drop-shadow(0 0 28px rgba(199,154,86,.38)); }
}
.logo img{ animation:bro-logo-glow 5.5s ease-in-out infinite; }
.logo:hover img{ animation:none; }
@media (prefers-reduced-motion:reduce){
  .logo img{ animation:none; }
}

/* Перебиваем узкие правила ширины логотипа из responsive.css:
   они рассчитаны на прежний, более вытянутый знак и сплющивали новый. */
@media (max-width:1100px){
  .site-header--home .header-brand .logo img,
  .site-header:not(.site-header--home) .header-brand .logo img,
  .site-header--home .logo img,
  .site-header:not(.site-header--home) .logo img,
  .inner-header .logo img{
    width:auto!important; max-width:240px!important; height:48px!important;
  }
  .site-header--home .logo,
  .site-header:not(.site-header--home) .logo,
  .inner-header .logo{ width:auto!important; min-width:0!important; }
}
@media (max-width:760px){
  .site-header--home .header-brand .logo img,
  .site-header:not(.site-header--home) .header-brand .logo img,
  .site-header--home .logo img,
  .site-header:not(.site-header--home) .logo img,
  .inner-header .logo img{
    width:auto!important; max-width:200px!important; height:44px!important;
  }
}
@media (max-width:400px){
  .site-header--home .header-brand .logo img,
  .site-header:not(.site-header--home) .header-brand .logo img,
  .site-header--home .logo img,
  .site-header:not(.site-header--home) .logo img,
  .inner-header .logo img{
    width:auto!important; max-width:150px!important; height:40px!important;
  }
}

/* Главный экран с одной фотографией готового интерьера. */
.home-page .hero--single .hero-single-media{
  position:absolute!important;inset:0!important;height:100%!important;display:block!important;
}
.home-page .hero--single .hero-half{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;clip-path:none!important;
}
.home-page .hero--single .hero-half img{
  width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.9) brightness(.82)!important;
}
