/* =====================================================================
   Современное оформление поверх его структуры: те же блоки на тех же местах,
   новое исполнение — шрифты, поверхности, кнопки, формы, подвал.
   ===================================================================== */
:root{
  --d-blue:#8B1022; --d-blue-2:#A8243A; --d-violet:#BA4240; --d-cyan:#E9D85A; --d-night:#1E0306; --d-night-2:#300E11;
  --d-ink:#2A0509; --d-text:#4B3335; --d-mute:#7E6769; --d-line:rgba(42,5,9,.08); --d-bg:#F7F2F2; --d-card:#FFFFFF; --d-stamp:#E9D85A;
  --d-r:24px; --d-r-sm:16px; --d-shadow:0 1px 2px rgba(42,5,9,.04),0 12px 32px -18px rgba(42,5,9,.22);
  --d-shadow-h:0 2px 4px rgba(42,5,9,.04),0 30px 60px -28px rgba(139,16,34,.35);
  --d-grad:linear-gradient(135deg,#8B1022 0%,#A8243A 100%);
  --d-font:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --d-head:"Geologica","Onest",system-ui,sans-serif;
}

/* ---------- основа ---------- */
body{font-family:var(--d-font)!important;color:var(--d-text)!important;
  background:radial-gradient(1100px 620px at 8% -8%,rgba(139,16,34,.07),transparent 62%),
             radial-gradient(900px 520px at 100% 6%,rgba(186,66,64,.07),transparent 60%),
             var(--d-bg)!important;background-attachment:fixed!important}
body *:not(svg):not(svg *):not(.mx-logo *){font-family:inherit}
p,li,td,th,label,input,textarea,select,button,a{font-family:var(--d-font)!important}
h1,h2,h3,h4,.banner__title,.section__title,.section__head h2,.form-banner__title,.panel__title,.fig-block__title,.figimage__title,.case__title,
.footer__title,.offer-popup__title,.first_screen_left_body p,.first_screen_right p:nth-child(2),.fig-number__numb,.intro__title,.page-title,.main__title,.entry-title{
  font-family:var(--d-head)!important;color:var(--d-ink);letter-spacing:-.025em}

/* ---------- шапка: стекло ---------- */
.page-header{background:rgba(255,255,255,.97)!important;
  box-shadow:0 1px 0 var(--d-line),0 10px 30px -22px rgba(42,5,9,.25)!important}
.page-header.mx-scrolled{background:#fff!important}
.page-header__divider{background:var(--d-line)!important}
.page-header__nav a{font-weight:500!important;color:var(--d-ink)!important}
#menu-service_top > li > a{padding:8px 10px!important;border-radius:999px;font-size:14px!important;letter-spacing:-.01em;white-space:nowrap;transition:background .3s,color .3s}
#menu-service_top{flex-wrap:nowrap!important}
#menu-service_top > li > a:hover{background:rgba(139,16,34,.07)}
#menu-service_top > li > a::after{display:none}
.page-header__phone{font-weight:600!important;color:var(--d-ink)!important;letter-spacing:.01em}
.page-header__search-field{border-radius:999px!important}
.sub-menu-wrap .sub-menu{background:#fff!important;padding:10px!important;border:1px solid var(--d-line)}
.sub-menu a{border-radius:10px;padding:10px 12px!important}
.sub-menu a:hover{background:rgba(139,16,34,.06)}

/* ---------- кнопки ---------- */
.button,a.button,input.wpcf7-submit,button.button,.header__button,.btn{background:var(--d-grad)!important;color:#fff!important;border:0!important;
  border-radius:14px!important;font-weight:600!important;letter-spacing:.005em;box-shadow:0 10px 24px -10px rgba(139,16,34,.65)!important}
.mx-btn-light,.banner__button_lt,a.button.banner__button_lt,.white_btn,.btn--ghost,.button_link{background:#fff!important;color:var(--d-blue)!important;
  box-shadow:inset 0 0 0 1.5px rgba(139,16,34,.35)!important}
.mx-btn-light:hover,.banner__button_lt:hover,.white_btn:hover,.btn--ghost:hover{background:var(--d-blue)!important;color:#fff!important;box-shadow:0 14px 30px -14px rgba(139,16,34,.7)!important}

/* ---------- хлебные крошки ---------- */
.breadcrumbs{font-size:13px!important;color:var(--d-mute)!important}
.breadcrumbs a{color:var(--d-mute)!important;text-decoration:none!important;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.breadcrumbs a:hover{color:var(--d-blue)!important;border-color:currentColor}
.breadcrumb_last{color:var(--d-ink)!important}

/* ---------- баннеры и первый экран ---------- */
.banner,.first_screen_left,.first_screen_right{border-radius:28px!important;overflow:hidden;
  box-shadow:0 1px 0 var(--d-line),0 40px 80px -50px rgba(42,5,9,.45)!important}
.banner:not(.banner_dark),.first_screen_left,.first_screen_right{background-color:#fff!important}
.first_screen_left{background-size:auto 100%!important;background-position:right bottom!important}
.banner__title{font-weight:700!important;font-size:clamp(30px,3.2vw,50px)!important;line-height:1.08!important;letter-spacing:-.03em!important}
.banner__img{object-fit:cover}
.banner_dark{position:relative;isolation:isolate}
.banner_dark::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(30,3,6,.88) 0%,rgba(30,3,6,.55) 45%,rgba(30,3,6,0) 75%)}
.banner_dark > *{position:relative;z-index:1}
.banner_dark .banner__img{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.banner_dark .banner__title,.banner_dark .breadcrumbs,.banner_dark .breadcrumbs a,.banner_dark .breadcrumb_last{color:#fff!important}
.first_screen_left_body p{font-weight:700!important;letter-spacing:-.03em!important;color:var(--d-ink)!important}
.first_screen_right{background-image:linear-gradient(160deg,#fff 0%,#F8EFEF 100%)!important}
.first_screen_right p:first-child{background:var(--d-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;font-weight:700!important}

/* ---------- заголовки секций ---------- */
.section__head h2,.section__title,.section h2{font-weight:700!important;font-size:clamp(28px,2.8vw,44px)!important;line-height:1.08!important;letter-spacing:-.03em!important;color:var(--d-ink)!important}
.mx-ready .section__head h2::after{width:56px;height:5px;border-radius:3px;background:var(--d-grad)}

/* ---------- карточки услуг ---------- */
.panel{background:var(--d-card)!important;border-radius:var(--d-r)!important;border:1px solid var(--d-line)!important;box-shadow:var(--d-shadow)!important;position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--d-grad);opacity:0;transition:opacity .45s;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.panel:hover{box-shadow:var(--d-shadow-h)!important;background:#fff!important}
.panel:hover::before{opacity:1}
.panel__title{font-weight:600!important;font-size:18px!important;line-height:1.3!important;color:var(--d-ink)!important}
.panel img,.panel svg{filter:drop-shadow(0 6px 10px rgba(139,16,34,.18))}

/* ---------- преимущества ---------- */
.fig-block img,.fig-block svg{width:72px!important;height:72px!important;padding:16px;border-radius:20px;box-sizing:border-box;
  background:linear-gradient(135deg,#F7EBEC,#F1DEDF);box-shadow:inset 0 0 0 1px rgba(139,16,34,.08)}
.fig-block__title{font-weight:600!important;font-size:22px!important;color:var(--d-ink)!important;margin-top:18px!important}
.fig-block__desc,.fig-block__desc p{color:var(--d-mute)!important;line-height:1.55!important}

/* ---------- шаги работы ---------- */
.figicon_step .icon{width:96px!important;height:96px!important;border-radius:50%!important;background:#fff!important;position:relative;
  box-shadow:0 0 0 8px rgba(139,16,34,.06),0 18px 40px -20px rgba(139,16,34,.6)!important;display:grid;place-items:center}
.figicon_step .icon img{width:46px!important;height:46px!important}
.figicon__label{color:var(--d-ink)!important;font-weight:500!important;line-height:1.4!important}
.section-work-steps .grid{counter-reset:step}
.section-work-steps .figicon_step{counter-increment:step;position:relative}
.section-work-steps .figicon_step .icon::after{content:counter(step,decimal-leading-zero);position:absolute;top:-6px;right:-6px;width:30px;height:30px;border-radius:50%;
  background:var(--d-grad);color:#fff;font:600 11px/30px var(--d-font);text-align:center;box-shadow:0 6px 14px -6px rgba(139,16,34,.8)}

/* ---------- формы заявки ---------- */
.form-banner{border-radius:28px!important;overflow:hidden;background-color:var(--d-night)!important;background-size:cover!important;background-position:center!important;
  box-shadow:0 40px 90px -50px rgba(30,3,6,.9)!important;position:relative;isolation:isolate}
.form-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(30,3,6,.92) 0%,rgba(30,3,6,.7) 50%,rgba(30,3,6,.25) 100%)}
.form-banner__title,.form-banner__desc,.form-banner__subtitle,.form-banner label,.form-banner .wpcf7-list-item-label,.form-banner p,.form-banner a:not(.button){color:#fff!important}
.form-banner__title{font-weight:700!important;letter-spacing:-.03em!important}
.form-banner__desc,.form-banner .wpcf7-list-item-label{color:rgba(232,234,245,.78)!important}
.form-banner input[type=text],.form-banner input[type=tel],.form-banner input[type=email],.form-banner textarea{background:rgba(255,255,255,.08)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;border-radius:14px!important}
.form-banner input::placeholder,.form-banner textarea::placeholder{color:rgba(232,234,245,.6)!important}
.form-banner a{color:#DAA0A4!important}
.wpcf7-form input[type=text],.wpcf7-form input[type=tel],.wpcf7-form input[type=email],.wpcf7-form textarea{border-radius:14px!important}
.wpcf7-form input[type=checkbox],input[type=checkbox],input[type=radio]{accent-color:var(--d-blue)}

/* ---------- цифры ---------- */
.fig-number__numb{background:var(--d-grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;font-weight:700!important;letter-spacing:-.04em!important}
.fig-number__desc{color:var(--d-mute)!important}

/* ---------- документы, аккредитация, «текстовые» секции ---------- */
.figimage,.panel_file,.figbox{background:#fff!important;border-radius:var(--d-r)!important;border:1px solid var(--d-line)!important;box-shadow:var(--d-shadow)!important}
.figimage__title{font-weight:600!important;color:var(--d-ink)!important}
.figimage__link{color:var(--d-blue)!important}
.section-text .content,.section-first-text .content{color:var(--d-text)}
.content h2,.content h3{font-weight:700!important;color:var(--d-ink)!important;letter-spacing:-.02em!important}
.content p,.content li{line-height:1.7!important}
.content a{color:var(--d-blue)!important;text-decoration-thickness:1px;text-underline-offset:3px}
.content ul li::marker,.content ol li::marker{color:var(--d-blue)}
.content blockquote{border-left:3px solid var(--d-blue)!important;background:#fff;border-radius:0 16px 16px 0;padding:18px 22px!important}

/* ---------- блог и новости ---------- */
.case__item{background:#fff!important;border-radius:var(--d-r)!important;border:1px solid var(--d-line)!important;box-shadow:var(--d-shadow)!important;overflow:hidden;
  transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s!important}
.case__item:hover{transform:translateY(-6px);box-shadow:var(--d-shadow-h)!important}
.case__item--img{border-radius:18px;overflow:hidden}
.case__item--img img{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.case__item:hover .case__item--img img{transform:scale(1.05)}
.case__title{font-weight:600!important;color:var(--d-ink)!important;line-height:1.3!important}
.case__item--date{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(139,16,34,.07);color:var(--d-blue)!important;font-size:12px!important;font-weight:600}
.case__item--desc{color:var(--d-mute)!important}
.case__item--img img[src*="rostovskij"],.case__item--img img[src*="xxl"],.case__item--img img[src*="/c1."],.case__item--img img[src*="/c2."],.case__item--img img[src*="/c3."],.case__item--img img[src*="/c4."]{filter:saturate(.85) contrast(1.05)}

/* ---------- клиенты, благодарности ---------- */
.section-clients img,.slider-clients img{filter:grayscale(1);opacity:.65;transition:filter .4s,opacity .4s}
.section-clients img:hover,.slider-clients img:hover{filter:none;opacity:1}
.slide-gratitude img{border-radius:12px;box-shadow:0 24px 50px -30px rgba(42,5,9,.5)}
.slick-dots li button{width:28px!important;height:6px!important;border-radius:3px!important;background:rgba(139,16,34,.18)!important;padding:0!important;font-size:0!important;transition:width .4s,background .3s}
.slick-dots li.slick-active button{width:44px!important;background:var(--d-blue)!important}
.slick-dots li button::before{display:none!important}

/* ---------- вопросы-ответы ---------- */
.tab{background:#fff!important;border-radius:var(--d-r-sm)!important;border:1px solid var(--d-line)!important;margin-bottom:12px!important;overflow:hidden;box-shadow:var(--d-shadow)}
.tab-label{font-weight:600!important;color:var(--d-ink)!important;padding:20px 24px!important}
.tab-content{color:var(--d-text)!important;line-height:1.65!important}

/* ---------- калькулятор ---------- */
.quize,.section-quize .container > div{border-radius:28px!important}
.quize__question{background:#fff;border-radius:var(--d-r)}
.radio label,.quize label{border-radius:14px!important}

/* ---------- плавающие кнопки и плашка cookie ---------- */
.widget{background:rgba(255,255,255,.9)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px!important;
  border:1px solid var(--d-line)!important;box-shadow:0 18px 40px -20px rgba(42,5,9,.35)!important}
.warning{background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px!important;
  border:1px solid var(--d-line)!important;box-shadow:0 30px 70px -30px rgba(42,5,9,.45)!important}

/* ---------- подвал: тёмный ---------- */
.footer{background:var(--d-night)!important;color:#C3C7E0!important;border-radius:32px 32px 0 0;margin-top:40px;position:relative;overflow:hidden;isolation:isolate}
.footer::before{content:"";position:absolute;width:700px;height:700px;right:-200px;top:-300px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(139,16,34,.35),transparent 65%)}
.footer *{color:inherit}
.footer a,.footer p,.footer span,.footer li,.footer div{color:#C3C7E0!important}
.footer a:hover{color:#fff!important}
.footer__title{color:#fff!important;font-weight:600!important;letter-spacing:.01em!important}
.footer__phone,.footer__phone a{color:#fff!important;font-family:var(--d-head)!important;font-weight:600!important}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08)!important}
.footer .mx-logo text:first-of-type{fill:#fff}
.footer .mx-logo text:last-of-type{fill:#CC878B}
.footer img:not([src*="/assets/"]){filter:brightness(0) invert(1);opacity:.85}
.mx-demo-note{color:rgba(195,199,224,.6)!important}

/* ---------- всплывающие окна ---------- */
.fancybox-skin{border-radius:28px!important;overflow:hidden;box-shadow:0 50px 120px -40px rgba(30,3,6,.7)!important}
.fancybox-overlay{background:rgba(30,3,6,.55)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.offer-popup__title{font-weight:700!important}

/* ---------- посадочные страницы ---------- */
.card{border-radius:var(--d-r)!important}
.intro__title,.page-title,.main__title{font-weight:700!important;letter-spacing:-.03em!important}

/* =====================================================================
   Баннеры: текст в своей половине, иллюстрация справа без шва
   ===================================================================== */
@media (min-width:981px){
  /* главная: левая карточка первого экрана */
  .first_screen_left{position:relative;isolation:isolate}
  .first_screen_left::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:linear-gradient(90deg,#fff 0%,#fff 30%,rgba(255,255,255,.88) 44%,rgba(255,255,255,0) 60%)}
  .first_screen_left > *{position:relative;z-index:1}
  .first_screen_left_body{max-width:52%!important}
  .first_screen_left_body p{font-size:clamp(28px,2.6vw,44px)!important;line-height:1.1!important}
  /* страницы услуг и разделов: текст слева, картинка справа */
  .banner:not(.banner_dark){position:relative;isolation:isolate}
  .banner:not(.banner_dark) .banner__inner{max-width:50%!important;position:relative;z-index:2}
  .banner:not(.banner_dark) .banner__img{object-fit:cover;object-position:right center;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
  /* статьи: заголовок на тёмной части */
  .banner_dark .banner__inner,.banner_dark .breadcrumbs{max-width:56%}
  /* посадочные */
  .intro__content,.intro__title{max-width:56%}
}
.banner__title{text-wrap:balance}

/* =====================================================================
   Подвал: поля, ровная сетка, выравнивание колонок
   ===================================================================== */
.footer{padding:clamp(48px,6vw,80px) 0 0!important;margin-top:clamp(48px,6vw,90px)!important}
.footer > .container{padding-left:clamp(20px,4vw,64px)!important;padding-right:clamp(20px,4vw,64px)!important;max-width:1360px}
.footer__body{display:grid!important;grid-template-columns:minmax(150px,1fr) minmax(260px,2.2fr) minmax(220px,1.6fr) minmax(170px,1fr)!important;
  column-gap:clamp(28px,4vw,64px)!important;row-gap:36px!important;padding-bottom:clamp(40px,5vw,64px)!important;align-items:start}
.footer__block{min-width:0}
.footer__title{display:block!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.12em!important;color:#fff!important;margin-bottom:18px!important}
.footer-menu{margin:0!important;padding:0!important;display:grid;gap:10px}
.footer-menu li{margin:0!important;line-height:1.35}
.footer-menu a{font-size:15px!important}
.footer__address{margin-top:31px!important;line-height:1.6!important}
.footer__contacts{margin-top:0!important;display:grid;gap:8px}
.footer .social a,.footer .socials a{filter:brightness(0) invert(1);opacity:.85;transition:opacity .3s}
.footer .social a:hover,.footer .socials a:hover{opacity:1}
.footer__bottom{padding:22px clamp(20px,4vw,40px)!important;border-radius:20px 20px 0 0!important;background:rgba(255,255,255,.04)!important;box-shadow:none!important;
  gap:16px 32px;flex-wrap:wrap;align-items:center}
@media (max-width:980px){.footer__body{grid-template-columns:1fr 1fr!important}.footer__address{margin-top:0!important}}
@media (max-width:560px){.footer__body{grid-template-columns:1fr!important}}

/* посадочные: первый экран на всю ширину, текст на затемнённой левой части */
.intro{position:relative;isolation:isolate}
.intro::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(30,3,6,.92) 0%,rgba(30,3,6,.75) 40%,rgba(30,3,6,0) 70%)}
.intro > *{position:relative;z-index:1}
.intro,.intro *{background-repeat:no-repeat!important}
.intro{background-size:cover!important;background-position:right center!important}
.intro .intro__title,.intro h1,.intro h2,.intro p,.intro li,.intro span:not(.button){color:#fff!important}
.bgbanner__img{display:none!important}
