

/* Start:/local/templates/agrigaz/assets/css/style.css?178957553650587*/
/* =========================================================
   АГРИГАЗПОЛИМЕР — шаблон Bitrix (local/templates/agrigaz)
   Базовая вёрстка: template_html (редизайн v2)

   --- ТЕМА -------------------------------------------------
   Вся цветовая гамма собрана в блоке :root ниже.
   Чтобы перекрасить сайт целиком — достаточно поменять
   значения этих 12 переменных, остальной CSS их наследует.
   ---------------------------------------------------------- */

:root{
  /* акцент — кнопки, ссылки, активные состояния (оранжевый ferrumpipe) */
  --green:#ef6a33;
  --green-dark:#d2551f;
  --green-pale:#fdeee6;

  /* зелёная база — навигация, подвал, hero. Осветлённый ferrumpipe #204B45 */
  --navy:#2b6f63;
  --navy-soft:#348275;
  --navy-line:#47988a;

  /* текст и мята на зелёном фоне */
  --on-dark:#d6e9e4;
  --on-dark-soft:#aecfc7;
  --mint:#cdf2e3;

  /* rgb-тройка тёмного цвета для теней и оверлеев */
  --shadow-rgb:43,111,99;

  /* фоны и линии */
  --paper:#ffffff;
  --bg-alt:#f4faf8;
  --line:#e5f0ec;

  /* текст */
  --ink:#26504a;
  --ink-soft:#5f7f78;
  --ink-faint:#93aea8;

  --f-head:'Montserrat', 'Arial Narrow', Arial, sans-serif;
  --f-body:'Inter', 'Segoe UI', Arial, sans-serif;
  --f-mono:'JetBrains Mono', 'Courier New', monospace;

  --container:1280px;

  /* геометрия */
  --radius:10px;        /* карточки, блоки */
  --radius-sm:8px;      /* мелкие элементы, теги */
  --radius-btn:999px;   /* кнопки-пилюли, как на ferrumpipe */

  --nav-height:64px;

  --shadow-soft:0 2px 10px rgba(var(--shadow-rgb),.05);
  --shadow-card:0 14px 34px rgba(var(--shadow-rgb),.10);
  --shadow-lift:0 22px 48px rgba(var(--shadow-rgb),.16);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{
  font-family:var(--f-head);
  font-weight:800;
  line-height:1.15;
  margin:0;
  color:var(--navy);
}
p{margin:0;}
:focus-visible{outline:3px solid var(--green-dark); outline-offset:2px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

.container{max-width:var(--container); margin:0 auto; padding:0 32px;}

/* ---------- служебные ---------- */
.eyebrow{
  font-family:var(--f-mono);
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--green-dark);
  font-weight:600;
  margin-bottom:10px;
}
.section{padding:88px 0;}
.section--tight{padding:56px 0;}
.section--alt{background:var(--bg-alt);}
.section--navy{background:var(--navy); color:var(--on-dark);}
.section--navy h2,.section--navy h3{color:#fff;}
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:28px; margin-bottom:44px; flex-wrap:wrap;
}
.section-head h2{font-size:clamp(26px,3.2vw,36px); text-transform:uppercase;}
.section-head p{max-width:420px; color:var(--ink-soft); font-size:14.5px;}
.section--navy .section-head p{color:var(--on-dark-soft);}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px;
  font-family:var(--f-body); font-weight:700; font-size:13.5px;
  letter-spacing:.03em; text-transform:uppercase;
  border-radius:var(--radius);
  border:2px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--green); color:#fff;}
.btn-primary:hover{background:var(--green-dark);}
.btn-outline{border-color:var(--green); color:var(--green); background:transparent;}
.btn-outline:hover{background:var(--green); color:#fff;}
.btn-outline-light{border-color:rgba(255,255,255,.55); color:#fff;}
.btn-outline-light:hover{background:#fff; color:var(--navy); border-color:#fff;}
.btn-block{width:100%; justify-content:center;}
.btn-sm{padding:10px 18px; font-size:12px;}
.link-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:.03em;
  color:var(--green-dark);
}
.link-arrow .a{transition:transform .15s ease;}
.link-arrow:hover .a{transform:translateX(4px);}

/* ---------- шапка ---------- */
.topbar{background:var(--paper); border-bottom:1px solid var(--line);}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; gap:24px; flex-wrap:wrap;
}
.brand{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.brand-mark{flex-shrink:0;}
.brand-name{font-family:var(--f-head); font-size:22px; font-weight:800; letter-spacing:.02em; color:var(--navy); line-height:1;}
.brand-sub{font-size:11px; color:var(--ink-faint); letter-spacing:.04em; text-transform:uppercase; margin-top:4px;}

.topbar-info{display:flex; align-items:center; gap:32px; flex-wrap:wrap;}
.info-item{display:flex; align-items:center; gap:10px; font-size:13.5px;}
.info-item .ico{color:var(--green); flex-shrink:0;}
.info-item strong{display:block; font-size:14.5px; font-weight:700; color:var(--navy);}
.info-item span.sub{color:var(--ink-faint); font-size:12px;}

.topbar-actions{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.icon-btn{
  width:42px; height:42px; border:1px solid var(--line); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
}
.icon-btn:hover{border-color:var(--green); color:var(--green);}

/* ---------- нав ---------- */
.mainnav{background:var(--navy); position:sticky; top:0; z-index:60;}
.mainnav .container{display:flex; align-items:stretch;}
.nav-catalog-btn{
  background:var(--green);
  display:flex; align-items:center; gap:10px;
  padding:0 26px;
  font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:.03em;
  color:#fff; flex-shrink:0;
  position:relative;
}
.nav-catalog-btn:hover{background:var(--green-dark);}
.nav-menu{display:flex; align-items:stretch; flex:1; padding: 15px;}
.nav-menu a{
  display:flex; align-items:center;
  padding:0 16px;
  font-size:13.5px; font-weight:600; text-transform:uppercase; letter-spacing:.02em;
  color:var(--on-dark);
  border-bottom:3px solid transparent;
  white-space:nowrap;
  transition:color .15s ease, border-color .15s ease;
}
.nav-menu a:hover, .nav-menu a.is-active{color:#fff; border-color:var(--green);}

.burger{
  display:none; width:44px; margin-left:auto;
  border:none; background:transparent; position:relative;
}
.burger span, .burger span::before, .burger span::after{
  content:""; position:absolute; left:12px; right:12px; height:2px; background:#fff;
  transition:transform .2s ease, opacity .2s ease;
}
.burger span{top:22px;}
.burger span::before{top:-8px;}
.burger span::after{top:8px;}
.burger.is-open span{background:transparent;}
.burger.is-open span::before{transform:translateY(8px) rotate(45deg);}
.burger.is-open span::after{transform:translateY(-8px) rotate(-45deg);}

/* ---------- hero / слайдер ---------- */
.hero-slider{position:relative; background:var(--navy); overflow:hidden;}
.slide{
  display:none;
  min-height:560px;
  position:relative;
  align-items:center;
  background-image:url('/local/templates/agrigaz/assets/css/../img/pipes-banner.svg');
  background-size:cover; background-position:center;
}
.slide.is-active{display:flex;}
.slide::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(23,66,58,.94) 0%, rgba(23,66,58,.72) 42%, rgba(23,66,58,.35) 100%);
}
.slide-pattern{
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,.03) 0 2px, transparent 2px 42px);
}
.slide-content{position:relative; z-index:2; padding:70px 0 96px;}
.slide-content .eyebrow{color:var(--mint);}
.slide-content h1{
  color:#fff; font-size:clamp(32px,4.6vw,52px); text-transform:uppercase;
  max-width:640px; margin-bottom:20px;
}
.slide-content p{color:var(--on-dark); font-size:16px; max-width:480px; margin-bottom:32px;}
.slide-actions{display:flex; gap:16px; flex-wrap:wrap;}

.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.3);
  color:#fff; display:flex; align-items:center; justify-content:center;
  z-index:3; font-size:18px;
}
.slider-arrow:hover{background:var(--green); border-color:var(--green);}
.slider-arrow.prev{left:28px;}
.slider-arrow.next{right:28px;}

.slider-dots{
  position:absolute; bottom:24px; left:0; right:0;
  display:flex; justify-content:center; gap:10px; z-index:3;
}
.slider-dots button{
  width:9px; height:9px; border-radius:50%;
  background:rgba(255,255,255,.35); border:none; padding:0;
}
.slider-dots button.is-active{background:var(--green); width:26px; border-radius:5px;}

/* ---------- плашка преимуществ (внахлёст) ---------- */
.perks{
  position:relative; z-index:5;
  background:#fff;
  margin:-56px auto 0;
  max-width:calc(var(--container) - 64px);
  box-shadow:0 18px 48px rgba(23,66,58,.14);
  display:grid; grid-template-columns:repeat(5,1fr);
  border-radius:var(--radius);
}
.perk{
  display:flex; align-items:center; gap:14px;
  padding:26px 20px;
  border-right:1px solid var(--line);
}
.perk:last-child{border-right:none;}
.perk .ico{color:var(--green); flex-shrink:0;}
.perk strong{display:block; font-size:14.5px; font-weight:800; color:var(--navy);}
.perk span{font-size:12px; color:var(--ink-faint);}

/* ---------- каталог: карточки с фото ---------- */
.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.cat-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden;
  transition:box-shadow .18s ease, transform .18s ease;
}
.cat-card:hover{box-shadow:0 14px 34px rgba(23,66,58,.12); transform:translateY(-3px);}
.cat-card .cat-photo{position:relative; height:180px;}
.cat-badge{
  position:absolute; left:18px; bottom:-20px;
  width:52px; height:52px; border-radius:50%;
  background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center;
  border:4px solid #fff;
}
.cat-body{padding:34px 22px 22px;}
.cat-body h3{font-size:17px; text-transform:uppercase; margin-bottom:6px;}
.cat-body p{font-size:13.5px; color:var(--ink-soft); margin-bottom:16px;}

/* заглушка вместо фото */
.ph{
  width:100%; height:100%;
  background:repeating-linear-gradient(135deg, #e4edea, #e4edea 10px, #dce7e3 10px, #dce7e3 11px);
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:var(--ink-faint); font-family:var(--f-mono); font-size:11px;
  letter-spacing:.04em; text-transform:uppercase; padding:10px;
}
.ph--navy{
  background:repeating-linear-gradient(135deg, var(--navy-soft), var(--navy-soft) 10px, var(--navy-line) 10px, var(--navy-line) 11px);
  color:var(--on-dark-soft);
}

/* ---------- о компании ---------- */
.about-split{display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center;}
.about-media{position:relative; height:420px; border-radius:var(--radius); overflow:hidden;}
.about-media .badge-years{
  position:absolute; right:20px; bottom:20px;
  background:var(--green); color:#fff; border-radius:var(--radius);
  padding:18px 22px; text-align:center;
}
.badge-years .n{font-family:var(--f-head); font-size:34px; font-weight:800; line-height:1;}
.badge-years .t{font-size:10.5px; text-transform:uppercase; letter-spacing:.04em;}
.about-text p{color:var(--ink-soft); font-size:15px; margin-bottom:18px;}
.about-points{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:26px 0 30px;}
.about-point{display:flex; gap:12px; align-items:flex-start;}
.about-point .ico{color:var(--green); flex-shrink:0; margin-top:2px;}
.about-point strong{display:block; font-size:14px; margin-bottom:2px;}
.about-point span{font-size:12.5px; color:var(--ink-faint);}

/* ---------- цифры ---------- */
.stats-row{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--navy-line); margin-top:56px; padding-top:40px;
}
.stat{text-align:center; border-right:1px solid var(--navy-line);}
.stat:last-child{border-right:none;}
.stat .n{font-family:var(--f-head); font-size:40px; font-weight:800; color:#fff;}
.stat .n span{color:var(--green);}
.stat .t{font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--on-dark-soft); margin-top:6px;}

/* ---------- сертификаты ---------- */
.cert-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
.cert-card{
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff;
  transition:box-shadow .18s ease;
}
.cert-card:hover{box-shadow:0 10px 24px rgba(23,66,58,.1);}
.cert-card .ph{height:200px;}
.cert-card p{padding:14px 14px 18px; font-size:13px; font-weight:600; text-align:center;}

/* ---------- партнёры ---------- */
.partners-row{
  display:grid; grid-template-columns:repeat(6,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.partner-cell{
  background:#fff; height:96px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-head); font-weight:800; color:var(--ink-faint); font-size:15px;
  letter-spacing:.03em;
  filter:grayscale(1);
  transition:filter .15s ease, color .15s ease;
}
.partner-cell:hover{filter:none; color:var(--green-dark);}

/* ---------- обратная связь ---------- */
.contact-split{display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:var(--radius); overflow:hidden; box-shadow:0 18px 48px rgba(23,66,58,.1);}
.contact-form-wrap{background:#fff; padding:48px 44px;}
.contact-form-wrap h3{font-size:24px; text-transform:uppercase; margin-bottom:10px;}
.contact-form-wrap > p{color:var(--ink-soft); font-size:14px; margin-bottom:28px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block; font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:7px;}
.form-field input, .form-field textarea, .form-field select{
  width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:var(--f-body); font-size:14px; background:#fafcfb;
}
.form-field input:focus, .form-field textarea:focus{border-color:var(--green); background:#fff;}
.form-note{font-size:11.5px; color:var(--ink-faint); margin-top:14px;}

.contact-map{background:var(--navy); color:var(--on-dark); padding:48px 44px; position:relative;}
.contact-map h4{color:#fff; font-size:16px; text-transform:uppercase; margin-bottom:22px;}
.contact-detail{display:flex; gap:14px; margin-bottom:22px;}
.contact-detail .ico{color:var(--green); flex-shrink:0;}
.contact-detail strong{display:block; color:#fff; font-size:14.5px; margin-bottom:3px;}
.contact-detail span{font-size:13px; color:var(--on-dark-soft);}
.map-ph{
  margin-top:26px; height:180px; border-radius:var(--radius);
  background:repeating-linear-gradient(135deg, var(--navy-soft), var(--navy-soft) 10px, var(--navy-line) 10px, var(--navy-line) 11px);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-mono); font-size:11px; color:var(--on-dark-soft); text-transform:uppercase; text-align:center; padding:10px;
}

.form-success{display:none; text-align:center; padding:40px 0;}
.form-success.is-open{display:block;}
.form-success .ico{
  width:56px; height:56px; border-radius:50%; background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:26px;
}

/* ---------- подвал ---------- */
.site-footer{background:var(--navy); color:var(--on-dark-soft); padding-top:56px;}
.footer-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:32px;
  padding-bottom:40px; border-bottom:1px solid var(--navy-line);
}
.footer-grid h5{font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:#fff; margin-bottom:18px;}
.footer-grid ul li{margin-bottom:11px; font-size:14px;}
.footer-grid ul li a:hover{color:var(--green);}
.footer-about p{font-size:13.5px; max-width:300px; margin-bottom:18px;}
.footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.footer-brand .brand-name{color:#fff; font-size:19px;}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 0; font-size:12px; flex-wrap:wrap; gap:10px;
}
.footer-bottom a:hover{color:var(--green);}

/* ---------- модалка ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(23,66,58,.75);
  display:none; align-items:center; justify-content:center; z-index:100; padding:20px;
}
.modal-overlay.is-open{display:flex;}
.modal{background:#fff; width:100%; max-width:440px; padding:38px; border-radius:var(--radius); position:relative; border-top:4px solid var(--green);}
.modal-close{position:absolute; top:16px; right:16px; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; font-size:16px;}
.modal h3{font-size:21px; text-transform:uppercase; margin-bottom:8px;}
.modal p{font-size:13.5px; color:var(--ink-soft); margin-bottom:24px;}

/* ---------- внутренние страницы: шапка ---------- */
.page-head{
  background:var(--navy);
  color:var(--on-dark);
  padding:36px 0 46px;
  position:relative;
  overflow:hidden;
  background-image:url('/local/templates/agrigaz/assets/css/../img/pipes-banner.svg');
  background-size:cover; background-position:center;
}
.page-head::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(19,58,51,.93) 0%, rgba(19,58,51,.82) 55%, rgba(19,58,51,.62) 100%);
}
.page-head .container{position:relative; z-index:1;}
.breadcrumbs{font-size:13px; color:var(--on-dark-soft); margin-bottom:14px;}
.breadcrumbs a:hover{color:var(--green);}
.page-head h1{color:#fff; font-size:clamp(28px,4vw,42px); text-transform:uppercase; max-width:680px;}
.page-head .lead{color:var(--on-dark); max-width:600px; margin-top:14px; font-size:15px;}

/* ---------- миссия / ценности ---------- */
.values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.value-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px;}
.value-card .ico{
  width:52px; height:52px; border-radius:50%; background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.value-card h3{font-size:16px; text-transform:uppercase; margin-bottom:10px;}
.value-card p{font-size:13.5px; color:var(--ink-soft);}

/* ---------- история / таймлайн ---------- */
.timeline{position:relative; padding-left:32px; border-left:2px solid var(--line);}
.timeline-item{position:relative; padding-bottom:38px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
  content:""; position:absolute; left:-39px; top:2px;
  width:14px; height:14px; border-radius:50%;
  background:#fff; border:3px solid var(--green);
}
.timeline-item .t-year{
  font-family:var(--f-head); font-weight:800; font-size:20px; color:var(--green-dark); display:block; margin-bottom:6px;
}
.timeline-item h4{font-size:15.5px; text-transform:uppercase; margin-bottom:6px;}
.timeline-item p{font-size:13.5px; color:var(--ink-soft); max-width:520px;}

/* ---------- производственный процесс (шаги) ---------- */
.process-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--navy-line); border:1px solid var(--navy-line);}
.process-step{background:var(--navy-soft); padding:28px 22px;}
.process-step .p-num{font-family:var(--f-head); font-weight:800; font-size:26px; color:var(--green);}
.process-step h4{color:#fff; font-size:14.5px; text-transform:uppercase; margin:14px 0 8px;}
.process-step p{font-size:12.5px; color:var(--on-dark-soft);}

/* ---------- команда ---------- */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.team-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.team-card .ph{height:220px;}
.team-info{padding:18px 20px;}
.team-info h4{font-size:15px; text-transform:none; margin-bottom:4px;}
.team-info span{font-size:12.5px; color:var(--ink-faint);}

/* ---------- карта / география ---------- */
.geo-split{display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;}
.geo-list{background:var(--navy); color:var(--on-dark); padding:48px 44px;}
.geo-list h3{color:#fff; font-size:22px; text-transform:uppercase; margin-bottom:16px;}
.geo-list p{font-size:14px; color:var(--on-dark-soft); margin-bottom:26px; max-width:420px;}
.geo-tags{display:flex; flex-wrap:wrap; gap:10px;}
.geo-tags span{
  border:1px solid var(--navy-line); border-radius:20px; padding:8px 16px; font-size:13px; color:var(--on-dark);
}
.geo-media{position:relative;}
.geo-media .ph{height:100%; min-height:320px;}

/* ---------- каталог: layout с фильтрами ---------- */
.catalog-layout{display:grid; grid-template-columns:272px 1fr; gap:36px; align-items:start;}
.filters{border:1px solid var(--line); border-radius:var(--radius); padding:26px; position:sticky; top:20px; background:#fff;}
.filters-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;}
.filters-head h5{font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--navy);}
.filters-reset{font-size:12px; color:var(--green-dark); font-weight:600;}
.filter-group{padding:18px 0; border-top:1px solid var(--line);}
.filter-group:first-of-type{border-top:none; padding-top:0;}
.filter-group h6{font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); margin-bottom:12px;}
.filter-opt{display:flex; align-items:center; gap:10px; font-size:14px; padding:6px 0; cursor:pointer;}
.filter-opt input{accent-color:var(--green); width:16px; height:16px;}
.filter-opt .count{margin-left:auto; font-size:12px; color:var(--ink-faint);}
.range-row{display:flex; align-items:center; gap:10px;}
.range-row input{
  width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:var(--f-body); font-size:13px; background:#fafcfb;
}
.range-row span{color:var(--ink-faint); font-size:13px;}

/* ---------- вкладки категорий на каталоге ---------- */
.tabs{display:flex; gap:4px; margin-bottom:32px; flex-wrap:wrap; border-bottom:1px solid var(--line);}
.tab-btn{
  padding:13px 20px; font-size:13.5px; font-weight:600; text-transform:uppercase; letter-spacing:.02em;
  color:var(--ink-soft); border-bottom:3px solid transparent; margin-bottom:-1px;
}
.tab-btn.is-active{color:var(--green-dark); border-color:var(--green);}
.tab-btn:hover{color:var(--navy);}

.catalog-toolbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; flex-wrap:wrap; gap:14px;}
.catalog-toolbar .count-text{font-size:14px; color:var(--ink-soft);}
.catalog-toolbar select{
  font-family:var(--f-body); font-size:13.5px; padding:10px 14px; border:1px solid var(--line);
  border-radius:var(--radius); background:#fff;
}

/* ---------- карточки товаров в сетке каталога ---------- */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.product-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease;
}
.product-card:hover{box-shadow:0 14px 34px rgba(23,66,58,.12); transform:translateY(-3px);}
.product-card .card-photo{position:relative; height:190px;}
.product-card .p-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  background:var(--green); color:#fff; font-size:10.5px; font-weight:700; text-transform:uppercase;
  padding:5px 10px; border-radius:20px; letter-spacing:.03em;
}
.product-card .card-body{padding:20px; display:flex; flex-direction:column; flex-grow:1;}
.product-card h3{font-size:15.5px; text-transform:none; font-weight:700; margin-bottom:8px; line-height:1.3;}
.product-card .p-desc{font-size:13px; color:var(--ink-soft); margin-bottom:14px; flex-grow:1;}
.diam-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;}
.diam-tags span{font-family:var(--f-mono); font-size:11px; padding:4px 8px; background:var(--bg-alt); color:var(--ink-soft); border-radius:3px;}
.product-card .p-footer{
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--line); padding-top:14px; margin-top:auto;
}
.product-card .p-price{font-family:var(--f-head); font-size:16px; font-weight:800; color:var(--navy);}
.product-card .p-price small{display:block; font-weight:500; font-size:10.5px; color:var(--ink-faint); text-transform:uppercase; font-family:var(--f-body);}
.product-card .p-link{
  width:38px; height:38px; border-radius:50%; background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center; transition:background .15s ease, color .15s ease;
}
.product-card .p-link:hover{background:var(--green); color:#fff;}

.pagination{display:flex; justify-content:center; gap:6px; margin-top:44px;}
.pagination a{
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  font-size:13.5px; font-weight:600; border:1px solid var(--line); border-radius:var(--radius); color:var(--ink-soft);
}
.pagination a.is-active{background:var(--navy); color:#fff; border-color:var(--navy);}
.pagination a:hover:not(.is-active){border-color:var(--green); color:var(--green-dark);}

/* ---------- страница товара: галерея + инфо ---------- */
.product-top{display:grid; grid-template-columns:.95fr 1.05fr; gap:52px; align-items:flex-start;}

.gallery-main{
  position:relative; height:420px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);
}
.gallery-main .g-slide{
  position:absolute; inset:0; display:none; align-items:center; justify-content:center;
}
.gallery-main .g-slide.is-active{display:flex;}
.gallery-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%;
  background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; z-index:2;
  box-shadow:0 6px 16px rgba(23,66,58,.12);
}
.gallery-arrow:hover{background:var(--green); border-color:var(--green); color:#fff;}
.gallery-arrow.prev{left:14px;}
.gallery-arrow.next{right:14px;}
.gallery-count{
  position:absolute; right:14px; bottom:14px; z-index:2;
  background:rgba(23,66,58,.72); color:#fff; font-family:var(--f-mono); font-size:12px;
  padding:5px 11px; border-radius:20px;
}
.gallery-thumbs{display:flex; gap:10px; margin-top:14px;}
.gallery-thumbs .thumb{
  width:76px; height:76px; border-radius:var(--radius); border:2px solid var(--line); overflow:hidden; flex-shrink:0;
}
.gallery-thumbs .thumb.is-active{border-color:var(--green);}
.gallery-thumbs .thumb .ph{font-size:9px; padding:4px;}

.product-info .p-tag-inline{
  display:inline-block; background:var(--green-pale); color:var(--green-dark); font-size:11.5px; font-weight:700;
  text-transform:uppercase; padding:6px 12px; border-radius:20px; margin-bottom:16px; letter-spacing:.03em;
}
.product-info h1{font-size:clamp(24px,3vw,32px); text-transform:none; margin-bottom:12px;}
.product-info .p-sku{font-size:13px; color:var(--ink-faint); margin-bottom:20px;}
.product-info .p-sku b{color:var(--ink-soft); font-weight:600;}
.product-info > p.p-lead{font-size:15px; color:var(--ink-soft); margin-bottom:24px;}

.specs-mini{
  display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; padding:20px; background:var(--bg-alt);
  border-radius:var(--radius); margin-bottom:26px;
}
.specs-mini .item{display:flex; justify-content:space-between; font-size:13.5px; border-bottom:1px dashed var(--line); padding-bottom:8px;}
.specs-mini .item span{color:var(--ink-faint);}
.specs-mini .item b{color:var(--navy); font-weight:700;}

.price-row{display:flex; align-items:center; gap:20px; margin-bottom:22px; flex-wrap:wrap;}
.price-row .price{font-family:var(--f-head); font-size:32px; font-weight:800; color:var(--navy);}
.price-row .price small{display:block; font-family:var(--f-body); font-weight:500; font-size:11.5px; color:var(--ink-faint); text-transform:uppercase;}
.qty-stepper{display:flex; align-items:center; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.qty-stepper button{width:38px; height:42px; background:var(--bg-alt); font-size:16px; color:var(--ink-soft);}
.qty-stepper input{width:52px; height:42px; border:none; text-align:center; font-size:14px; font-weight:600; -moz-appearance:textfield;}
.qty-stepper input::-webkit-outer-spin-button, .qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

.product-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px;}
.p-meta-row{display:flex; gap:22px; flex-wrap:wrap;}
.p-meta{display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-soft);}
.p-meta .ico{color:var(--green);}

/* ---------- вкладки на странице товара ---------- */
.ptabs-nav{display:flex; gap:4px; border-bottom:1px solid var(--line); flex-wrap:wrap;}
.ptab-btn{
  padding:15px 22px; font-size:14px; font-weight:600; color:var(--ink-soft);
  border-bottom:3px solid transparent; margin-bottom:-1px;
}
.ptab-btn.is-active{color:var(--green-dark); border-color:var(--green);}
.ptab-panel{display:none; padding:32px 0;}
.ptab-panel.is-active{display:block;}
.ptab-panel p{font-size:14.5px; color:var(--ink-soft); margin-bottom:16px; max-width:760px;}
.ptab-panel ul{margin-top:8px;}
.ptab-panel ul li{
  position:relative; padding-left:22px; font-size:14.5px; color:var(--ink-soft); margin-bottom:10px; max-width:720px;
}
.ptab-panel ul li::before{
  content:""; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:50%; background:var(--green);
}

.spec-table{width:100%; border-collapse:collapse; max-width:760px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table td{padding:13px 4px; font-size:14px;}
.spec-table td:first-child{color:var(--ink-faint); width:45%;}
.spec-table td:last-child{color:var(--navy); font-weight:600;}

.doc-list{display:flex; flex-direction:column; gap:12px; max-width:520px;}
.doc-item{
  display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius);
}
.doc-item .ico{color:var(--green); flex-shrink:0;}
.doc-item strong{display:block; font-size:14px;}
.doc-item span{font-size:12px; color:var(--ink-faint);}
.doc-item a{margin-left:auto; font-size:12.5px; font-weight:700; color:var(--green-dark); text-transform:uppercase;}

/* ---------- вакансии: аккордеон ---------- */
.vac-intro-row{display:grid; grid-template-columns:2fr 1fr; gap:32px; margin-bottom:48px; align-items:center;}
.vac-perk{display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-top:1px solid var(--line);}
.vac-perk:first-child{border-top:none;}
.vac-perk .ico{color:var(--green); flex-shrink:0; margin-top:2px;}
.vac-perk strong{display:block; font-size:14.5px; margin-bottom:2px;}
.vac-perk span{font-size:13px; color:var(--ink-soft);}

.vac-list{display:flex; flex-direction:column; gap:14px;}
.vac-item{
  border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden;
  transition:border-color .15s ease;
}
.vac-item.is-open{border-color:var(--green);}
.vac-head{
  width:100%; display:flex; align-items:center; gap:20px; justify-content:space-between;
  padding:24px 26px; text-align:left;
}
.vac-head-main{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.vac-head h3{font-size:17px; text-transform:none; font-weight:700;}
.vac-tags{display:flex; gap:8px; flex-wrap:wrap;}
.vac-tags span{
  font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.03em;
  padding:5px 10px; border-radius:20px; background:var(--bg-alt); color:var(--ink-soft);
}
.vac-salary{font-family:var(--f-head); font-weight:800; font-size:17px; color:var(--green-dark); white-space:nowrap;}
.vac-toggle{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--line); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
  transition:transform .2s ease, background .15s ease, color .15s ease;
}
.vac-item.is-open .vac-toggle{transform:rotate(45deg); background:var(--green); border-color:var(--green); color:#fff;}

.vac-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.vac-body-inner{padding:0 26px 30px; border-top:1px solid var(--line); margin-top:2px; padding-top:24px;}
.vac-cols{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-bottom:22px;}
.vac-cols h5{font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); margin-bottom:12px;}
.vac-cols ul li{
  position:relative; padding-left:20px; font-size:14px; color:var(--ink-soft); margin-bottom:9px;
}
.vac-cols ul li::before{content:""; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:var(--green);}
.vac-meta-line{display:flex; gap:24px; flex-wrap:wrap; margin-bottom:22px; font-size:13.5px; color:var(--ink-soft);}
.vac-meta-line b{color:var(--navy);}

/* ---------- лицензии и сертификаты ---------- */
.doc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.doc-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease;
}
.doc-card:hover{box-shadow:0 14px 34px rgba(23,66,58,.12); transform:translateY(-3px);}
.doc-card .doc-thumb{position:relative; height:230px;}
.doc-card .doc-type{
  position:absolute; top:12px; left:12px; z-index:2;
  background:var(--navy); color:#fff; font-size:10.5px; font-weight:700; text-transform:uppercase;
  padding:5px 10px; border-radius:20px; letter-spacing:.03em;
}
.doc-card .doc-view{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(23,66,58,0); opacity:0; transition:opacity .15s ease, background .15s ease;
}
.doc-card:hover .doc-view{opacity:1; background:rgba(23,66,58,.35);}
.doc-view span{
  background:#fff; color:var(--navy); font-size:13px; font-weight:700; text-transform:uppercase;
  padding:10px 20px; border-radius:20px; letter-spacing:.03em;
}
.doc-card .doc-info{padding:20px; flex-grow:1; display:flex; flex-direction:column;}
.doc-card h3{font-size:15px; text-transform:none; font-weight:700; margin-bottom:8px; line-height:1.35;}
.doc-card .doc-meta{font-size:12.5px; color:var(--ink-faint); margin-bottom:16px;}
.doc-card .doc-meta b{color:var(--ink-soft); font-weight:600;}
.doc-card .doc-actions{display:flex; gap:10px; margin-top:auto;}
.doc-card .doc-actions .btn{flex:1; justify-content:center; padding:10px 12px; font-size:11.5px;}

.doc-filter{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px;}
.doc-filter button{
  padding:10px 20px; border:1px solid var(--line); border-radius:20px;
  font-size:13.5px; font-weight:600; color:var(--ink-soft); background:#fff;
}
.doc-filter button.is-active{background:var(--green); border-color:var(--green); color:#fff;}
.doc-filter button:hover:not(.is-active){border-color:var(--green); color:var(--green-dark);}

.trust-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.trust-cell{background:#fff; padding:30px 26px; display:flex; gap:16px; align-items:flex-start;}
.trust-cell .ico{color:var(--green); flex-shrink:0;}
.trust-cell strong{display:block; font-size:15px; margin-bottom:6px;}
.trust-cell p{font-size:13.5px; color:var(--ink-soft);}

/* ---------- лайтбокс просмотра документа ---------- */
.lightbox-overlay{
  position:fixed; inset:0; background:rgba(23,66,58,.86);
  display:none; align-items:center; justify-content:center; z-index:110; padding:24px;
}
.lightbox-overlay.is-open{display:flex;}
.lightbox{
  background:#fff; width:100%; max-width:820px; border-radius:var(--radius); overflow:hidden;
  display:grid; grid-template-columns:1.2fr 1fr; max-height:90vh;
}
.lightbox-media{background:var(--bg-alt); min-height:360px;}
.lightbox-media .ph{height:100%;}
.lightbox-info{padding:32px; overflow-y:auto;}
.lightbox-info .doc-type{position:static; display:inline-block; margin-bottom:16px;}
.lightbox-info h3{font-size:19px; text-transform:none; margin-bottom:14px;}
.lightbox-info .doc-meta-list{margin-bottom:24px;}
.lightbox-info .doc-meta-list .row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.lightbox-info .doc-meta-list .row span{color:var(--ink-faint);}
.lightbox-info .doc-meta-list .row b{color:var(--navy);}
.lightbox-close{
  position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--line); font-size:16px; z-index:2;
}

/* ---------- производство: оборудование ---------- */
.equip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.equip-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.equip-card .ph{height:190px;}
.equip-card .equip-body{padding:22px;}
.equip-card h3{font-size:16px; text-transform:none; margin-bottom:8px;}
.equip-card p{font-size:13.5px; color:var(--ink-soft); margin-bottom:14px;}
.equip-specs{display:flex; flex-wrap:wrap; gap:8px;}
.equip-specs span{font-family:var(--f-mono); font-size:11px; padding:4px 9px; background:var(--bg-alt); color:var(--ink-soft); border-radius:3px;}

.gallery-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.gallery-strip .ph{height:160px;}

/* ---------- документация: прайс-листы и инструкции ---------- */
.doc-section{margin-bottom:52px;}
.doc-section:last-child{margin-bottom:0;}
.doc-section-head{display:flex; align-items:center; gap:16px; margin-bottom:22px;}
.doc-section-head h3{font-size:19px; text-transform:none;}
.doc-section-head .count-pill{
  font-family:var(--f-mono); font-size:11.5px; color:var(--ink-faint); background:var(--bg-alt);
  padding:4px 10px; border-radius:20px;
}
.doc-list{display:flex; flex-direction:column; gap:12px;}
.doc-item{
  display:flex; align-items:center; gap:16px; padding:18px 20px;
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.doc-item:hover{border-color:var(--green); box-shadow:0 8px 20px rgba(23,66,58,.08);}
.doc-item .doc-ico{
  width:44px; height:44px; border-radius:var(--radius); background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.doc-item .doc-item-info{flex-grow:1; min-width:0;}
.doc-item strong{display:block; font-size:14.5px; margin-bottom:3px;}
.doc-item span{font-size:12px; color:var(--ink-faint);}
.doc-item .btn{flex-shrink:0;}

/* ---------- новости ---------- */
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.news-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .18s ease, transform .18s ease;}
.news-card:hover{box-shadow:0 14px 34px rgba(23,66,58,.12); transform:translateY(-3px);}
.news-card .ph{height:190px;}
.news-body{padding:22px; display:flex; flex-direction:column; flex-grow:1;}
.news-date{font-family:var(--f-mono); font-size:11.5px; color:var(--green-dark); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
.news-card h3{font-size:16px; text-transform:none; margin-bottom:10px; line-height:1.35;}
.news-card p{font-size:13.5px; color:var(--ink-soft); margin-bottom:16px; flex-grow:1;}

.news-featured{display:grid; grid-template-columns:1.1fr .9fr; gap:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:48px;}
.news-featured .ph{height:100%; min-height:320px;}
.news-featured-body{padding:40px; display:flex; flex-direction:column; justify-content:center;}
.news-featured-body .news-date{margin-bottom:14px;}
.news-featured-body h2{font-size:26px; text-transform:none; margin-bottom:14px;}
.news-featured-body p{font-size:14.5px; color:var(--ink-soft); margin-bottom:22px;}

/* ---------- страница статьи ---------- */
.article-wrap{max-width:760px; margin:0 auto;}
.article-hero{height:380px; border-radius:var(--radius); overflow:hidden; margin-bottom:32px;}
.article-hero .ph{height:100%;}
.article-meta-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:18px;}
.article-meta-row .news-date{margin-bottom:0;}
.article-body h2{font-size:22px; text-transform:none; margin:32px 0 14px;}
.article-body p{font-size:15.5px; line-height:1.75; color:var(--ink-soft); margin-bottom:18px;}
.article-body ul{margin:18px 0; padding-left:0;}
.article-body ul li{position:relative; padding-left:22px; font-size:15px; color:var(--ink-soft); margin-bottom:10px;}
.article-body ul li::before{content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--green);}
.article-body blockquote{
  border-left:3px solid var(--green); padding:4px 0 4px 22px; margin:26px 0;
  font-size:16.5px; font-style:normal; color:var(--navy); font-weight:600;
}
.share-row{display:flex; align-items:center; gap:14px; margin-top:36px; padding-top:26px; border-top:1px solid var(--line);}
.share-row span{font-size:13px; color:var(--ink-faint); font-weight:600;}
.share-row a{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
}
.share-row a:hover{border-color:var(--green); color:var(--green-dark);}

/* ---------- контакты ---------- */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:56px;}
.contact-info-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px;}
.contact-info-card .ico{
  width:48px; height:48px; border-radius:50%; background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.contact-info-card h3{font-size:15.5px; text-transform:uppercase; margin-bottom:10px;}
.contact-info-card p{font-size:14px; color:var(--ink-soft); margin-bottom:4px;}
.contact-info-card a:hover{color:var(--green-dark);}

.requisites-table{width:100%; border-collapse:collapse; max-width:640px;}
.requisites-table tr{border-bottom:1px solid var(--line);}
.requisites-table td{padding:13px 4px; font-size:14px;}
.requisites-table td:first-child{color:var(--ink-faint); width:45%;}
.requisites-table td:last-child{color:var(--navy); font-weight:600;}

.map-full{height:420px; border-radius:var(--radius); overflow:hidden;}
.map-full .ph{height:100%;}

/* ---------- каталог: карточки категорий с мини-списком товаров ---------- */
.cat-full-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.cat-card-full{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease;
}
.cat-card-full:hover{box-shadow:0 16px 38px rgba(23,66,58,.13); transform:translateY(-3px);}
.cat-card-full .cat-photo{position:relative; height:230px;}
.cat-card-full .cat-count{
  position:absolute; top:14px; right:14px; z-index:2;
  background:rgba(23,66,58,.75); color:#fff; font-size:11px; font-weight:600;
  padding:5px 10px; border-radius:20px; letter-spacing:.02em;
}
.cat-card-full .cat-badge{
  position:absolute; left:20px; bottom:-22px;
  width:56px; height:56px; border-radius:50%;
  background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center;
  border:4px solid #fff;
}
.cat-card-full .cat-body{padding:36px 24px 26px; display:flex; flex-direction:column; flex-grow:1;}
.cat-card-full h3{font-size:18px; text-transform:uppercase; margin-bottom:8px;}
.cat-card-full > .cat-body > p{font-size:13.5px; color:var(--ink-soft); margin-bottom:18px;}

.cat-mini-list{border-top:1px solid var(--line); padding-top:16px; margin-bottom:20px;}
.cat-mini-list li{
  display:flex; align-items:center; gap:10px;
  font-size:13.5px; color:var(--ink-soft); padding:7px 0;
}
.cat-mini-list li a{color:var(--ink-soft); transition:color .15s ease;}
.cat-mini-list li a:hover{color:var(--green-dark);}
.cat-mini-list li .dot{width:5px; height:5px; border-radius:50%; background:var(--green); flex-shrink:0;}
.cat-mini-list li.more{color:var(--ink-faint); font-size:12.5px; font-style:normal;}

.cat-card-full .cat-footer{
  margin-top:auto; display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--line); padding-top:16px;
}

/* ---------- страница категории каталога ---------- */
.cat-intro{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-bottom:52px;}
.cat-intro-media{height:340px; border-radius:var(--radius); overflow:hidden;}
.cat-intro-media .ph{height:100%;}
.cat-intro-text p{font-size:15px; color:var(--ink-soft); margin-bottom:16px;}
.cat-intro-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.cat-intro-tags span{
  font-family:var(--f-mono); font-size:12px; padding:7px 13px; background:var(--bg-alt);
  color:var(--ink-soft); border-radius:20px;
}

/* ---------- адаптив ---------- */
@media (max-width:1180px){
  .topbar-info{display:none;}
  .nav-menu{
    position:fixed; top:0; right:-100%; bottom:0; width:82%; max-width:340px;
    background:var(--navy); flex-direction:column; align-items:stretch;
    padding:90px 24px 24px; transition:right .25s ease; z-index:70; overflow-y:auto;
  }
  .nav-menu.is-open{right:0;}
  .nav-menu a{padding:16px 4px; border-bottom:1px solid var(--navy-line); border-left:3px solid transparent; white-space:normal;}
  .nav-menu a.is-active, .nav-menu a:hover{border-left-color:var(--green); border-bottom-color:var(--navy-line);}
  .burger{display:block;}
}
@media (max-width:1080px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .perks{grid-template-columns:repeat(3,1fr);}
  .perk:nth-child(3){border-right:none;}
  .cert-grid{grid-template-columns:repeat(3,1fr);}
  .partners-row{grid-template-columns:repeat(3,1fr);}
  .about-split{grid-template-columns:1fr;}
  .about-media{height:320px;}
  .stats-row{grid-template-columns:repeat(2,1fr); row-gap:24px;}
  .stat:nth-child(2){border-right:none;}
  .contact-split{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:repeat(3,1fr);}
  .team-grid{grid-template-columns:1fr 1fr;}
  .geo-split{grid-template-columns:1fr;}
  .catalog-layout{grid-template-columns:1fr;}
  .filters{position:static;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .product-top{grid-template-columns:1fr; gap:32px;}
  .gallery-main{height:360px;}
  .vac-intro-row{grid-template-columns:1fr;}
  .vac-cols{grid-template-columns:1fr;}
  .doc-grid{grid-template-columns:repeat(3,1fr);}
  .trust-strip{grid-template-columns:1fr;}
  .lightbox{grid-template-columns:1fr;}
  .lightbox-media{min-height:240px;}
  .equip-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-strip{grid-template-columns:repeat(2,1fr);}
  .news-grid{grid-template-columns:repeat(2,1fr);}
  .news-featured{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr 1fr;}
  .cat-full-grid{grid-template-columns:repeat(2,1fr);}
  .cat-intro{grid-template-columns:1fr; gap:28px;}
  .cat-intro-media{height:260px;}
}
@media (max-width:860px){
  .perks{grid-template-columns:repeat(2,1fr); margin-top:-40px;}
  .perk:nth-child(3){border-right:1px solid var(--line);}
  .perk:nth-child(2n){border-right:none;}
  .form-row{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .container{padding:0 20px;}
  .topbar .container{padding:14px 20px;}
  .section{padding:60px 0;}
  .cat-grid{grid-template-columns:1fr;}
  .perks{grid-template-columns:1fr; margin:-32px 20px 0;}
  .perk{border-right:none !important; border-bottom:1px solid var(--line);}
  .cert-grid{grid-template-columns:repeat(2,1fr);}
  .partners-row{grid-template-columns:repeat(2,1fr);}
  .stats-row{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr; gap:30px;}
  .slide-content{padding:52px 0 76px;}
  .slider-arrow{width:38px; height:38px;}
  .contact-form-wrap, .contact-map{padding:32px 24px;}
  .values-grid{grid-template-columns:1fr;}
  .process-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .geo-list, .geo-media .ph{padding:32px 24px;}
  .product-grid{grid-template-columns:1fr;}
  .specs-mini{grid-template-columns:1fr;}
  .gallery-main{height:280px;}
  .gallery-thumbs .thumb{width:60px; height:60px;}
  .ptabs-nav{overflow-x:auto; flex-wrap:nowrap;}
  .vac-head{flex-direction:column; align-items:flex-start; gap:14px;}
  .vac-toggle{position:absolute; top:22px; right:20px;}
  .vac-head{position:relative; padding-right:56px;}
  .doc-grid{grid-template-columns:repeat(2,1fr);}
  .lightbox-info{padding:24px;}
  .equip-grid{grid-template-columns:1fr;}
  .gallery-strip{grid-template-columns:1fr 1fr;}
  .news-grid{grid-template-columns:1fr;}
  .news-featured-body{padding:26px;}
  .contact-cards{grid-template-columns:1fr;}
  .article-hero{height:220px;}
  .doc-item{flex-wrap:wrap;}
  .cat-full-grid{grid-template-columns:1fr;}
}

/* End */


/* Start:/local/templates/agrigaz/template_styles.css?1789586580123720*/
/* =========================================================
   Агригазполимер — надстройки и доводка шаблона Bitrix
   Базовая вёрстка и палитра: assets/css/style.css
   Здесь: то, чего не было в статике (многоуровневое меню,
   компоненты) + визуальная доводка поверх исходного макета.
   ========================================================= */

/* ---------- служебное ---------- */
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---------- страница 404 ---------- */
.error-page{background:var(--bg-alt);}
.error-page__panel{
  display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1fr);
  align-items:center; gap:clamp(36px,7vw,96px);
  max-width:980px; margin:0 auto; padding:clamp(32px,5vw,64px);
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-card); overflow:hidden;
}
.error-page__code{
  font-family:var(--f-head); font-size:clamp(100px,16vw,190px); font-weight:800;
  line-height:.78; letter-spacing:-.08em; color:var(--green);
  text-align:center; text-shadow:10px 10px 0 var(--green-pale);
}
.error-page__content h2{
  margin-bottom:16px; font-size:clamp(26px,3.2vw,38px); text-transform:uppercase;
}
.error-page__content > p{max-width:530px; color:var(--ink-soft);}
.error-page__actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;}

@media (max-width:760px){
  .error-page__panel{grid-template-columns:1fr; gap:34px; text-align:center;}
  .error-page__code{font-size:clamp(92px,32vw,150px);}
  .error-page__content .eyebrow{justify-content:center;}
  .error-page__content > p{margin:0 auto;}
  .error-page__actions{justify-content:center;}
}

@media (max-width:480px){
  .error-page{padding-top:56px; padding-bottom:56px;}
  .error-page__panel{padding:34px 20px;}
  .error-page__actions{display:grid;}
  .error-page__actions .btn{width:100%; justify-content:center;}
}

/* якоря не должны уезжать под липкое меню */
[id]{scroll-margin-top:calc(var(--nav-height) + 20px);}

/* ---------- фирменные логотипы ---------- */
.brand-logo{display:block; width:auto; flex:0 0 auto; object-fit:contain;}
.brand-logo--header{height:58px;}
.brand-logo--footer{height:58px;}

/* ---------- верхняя контактная полоса ---------- */
/* На широком экране контакты, кнопка и поиск держатся на одной линии. */
.topbar .container{
  flex-wrap:nowrap;
  min-height:88px;
  gap:20px;
}
.brand{flex:0 0 auto;}
.topbar-info{
  flex:1 1 auto;
  justify-content:flex-end;
  gap:clamp(16px,2vw,30px);
  flex-wrap:nowrap;
  min-width:0;
}
.info-item{white-space:nowrap;}
.topbar-actions{flex:0 0 auto; gap:10px; white-space:nowrap;}
.topbar-actions .btn{padding-left:16px; padding-right:16px;}
.mobile-phone-call{display:none;}

@media (max-width:1180px){
  .topbar .container{min-height:auto;}
  .topbar-actions{margin-left:auto;}
}

@media (max-width:1080px){
  .cat-grid--home{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .topbar .container{gap:10px;}
  .brand{min-width:0; flex:1 1 auto; gap:9px;}
  .brand > span{min-width:0;}
  .brand-logo--header{height:44px;}
  .brand-name{font-size:19px;}
  .brand-sub{font-size:9.5px; letter-spacing:.02em; white-space:nowrap;}
  .topbar-actions{display:none;}
  .mobile-phone-call{
    display:flex; align-items:center; justify-content:center;
    flex:0 0 44px; width:44px; height:44px; margin-left:auto;
    border-radius:50%; background:var(--green); color:#fff;
    box-shadow:0 8px 20px rgba(var(--shadow-rgb),.2);
    transition:background .18s ease, transform .18s ease;
  }
  .mobile-phone-call:active{background:var(--green-dark); transform:scale(.96);}
  .cat-grid--home{grid-template-columns:1fr;}
}

@media (max-width:340px){
  .topbar .container{padding-left:14px; padding-right:14px;}
  .brand{min-width:0; gap:8px; flex-shrink:1;}
  .brand > span{min-width:0;}
  .brand-logo--header{height:40px;}
  .brand-name{font-size:18px; letter-spacing:0;}
  .brand-sub{font-size:9px; letter-spacing:.01em;}
}

/* =========================================================
   ТИПОГРАФИКА И ОБЩИЕ ЭЛЕМЕНТЫ
   ========================================================= */

/* кнопки-пилюли, как на референсе ferrumpipe */
.btn{
  border-radius:var(--radius-btn); padding:15px 30px;
  transition:background .18s ease, color .18s ease, border-color .18s ease,
             box-shadow .18s ease, transform .18s ease;
}
.btn-sm{padding:11px 20px;}
.btn-primary{box-shadow:0 8px 20px rgba(var(--shadow-rgb),.14);}
.btn-primary:hover{box-shadow:0 10px 26px rgba(var(--shadow-rgb),.22); transform:translateY(-1px);}
.btn-outline:hover, .btn-outline-light:hover{transform:translateY(-1px);}

/* акцентная черта под заголовком секции */
.section-head h2{position:relative; padding-bottom:14px;}
.section-head h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:52px; height:3px; border-radius:2px; background:var(--green);
}
.section--navy .section-head h2::after{background:var(--mint);}

.eyebrow{display:inline-flex; align-items:center; gap:8px;}
.eyebrow::before{
  content:""; width:18px; height:2px; border-radius:1px;
  background:var(--green); display:inline-block; flex-shrink:0;
}
.section--navy .eyebrow, .slide-content .eyebrow{color:var(--mint);}
.section--navy .eyebrow::before, .slide-content .eyebrow::before{background:var(--mint);}

/* =========================================================
   ШАПКА
   ========================================================= */

.topbar .container{padding-top:18px; padding-bottom:18px;}
.info-item .ico{
  width:38px; height:38px; border-radius:50%;
  background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.info-item strong a:hover{color:var(--green-dark);}
.icon-btn{transition:border-color .15s ease, color .15s ease, background .15s ease;}
.icon-btn:hover{background:var(--green-pale);}

/* ---------- верхнее меню: 2 уровня, высота --nav-height ---------- */
.mainnav{box-shadow:0 2px 14px rgba(var(--shadow-rgb),.16);}
.mainnav .container{position:relative; min-height:var(--nav-height);}

.nav-catalog{position:relative; display:flex; align-items:stretch; flex-shrink:0;}
.nav-catalog-btn{padding:0 30px; font-size:14px; transition:background .18s ease;}

.nav-menu{padding:0;}
.nav-menu > .nav-item{display:flex; align-items:stretch; position:relative;}
.nav-menu > .nav-item > a{
  display:flex; align-items:center; gap:7px;
  padding:0 18px;
  font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.02em;
  color:var(--on-dark);
  border-bottom:3px solid transparent;
  white-space:nowrap;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.nav-menu > .nav-item > a:hover,
.nav-menu > .nav-item > a.is-active,
.nav-menu > .nav-item.is-active > a{
  color:#fff; border-color:var(--green); background:rgba(255,255,255,.07);
}

.nav-caret{flex-shrink:0; opacity:.65; transition:transform .18s ease, opacity .18s ease;}
.nav-menu > .nav-item:hover > a .nav-caret{transform:rotate(180deg); opacity:1;}

.nav-item.is-denied span{
  display:flex; align-items:center; padding:0 18px;
  font-size:14px; text-transform:uppercase; color:var(--on-dark-soft); cursor:default;
}

/* выпадающий 2-й уровень — светлая карточка */
.nav-sub{
  position:absolute; top:100%; left:0;
  min-width:310px; max-width:430px;
  background:#fff;
  border-top:3px solid var(--green);
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow-lift);
  padding:10px 0;
  z-index:80;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.nav-menu > .nav-item:hover > .nav-sub,
.nav-menu > .nav-item:focus-within > .nav-sub{opacity:1; visibility:visible; transform:translateY(0);}

/* последние пункты открываем влево, чтобы не уезжали за экран */
.nav-menu > .nav-item:nth-last-child(-n+2) > .nav-sub{left:auto; right:0;}

.nav-sub .nav-item{display:block;}
.nav-sub a{
  display:block;
  padding:11px 24px;
  font-size:13.5px; font-weight:500; line-height:1.45;
  text-transform:none; letter-spacing:0;
  color:var(--ink); white-space:normal;
  border:none; border-left:3px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease, padding-left .15s ease;
}
.nav-sub a:hover, .nav-sub a.is-active{
  background:var(--green-pale); color:var(--green-dark);
  border-left-color:var(--green); padding-left:28px;
}

.nav-sub-toggle{display:none;}

/* ---------- выпадашка каталога ---------- */
.catalog-drop{
  position:absolute; top:100%; left:0;
  min-width:360px;
  background:#fff;
  border-top:3px solid var(--green);
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow-lift);
  padding:10px 0;
  z-index:81;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.nav-catalog:hover .catalog-drop,
.nav-catalog:focus-within .catalog-drop{opacity:1; visibility:visible; transform:translateY(0);}
.catalog-drop a{
  display:block; padding:11px 24px;
  font-size:13.5px; line-height:1.45; color:var(--ink);
  border-left:3px solid transparent;
  transition:background .15s ease, color .15s ease, border-color .15s ease, padding-left .15s ease;
}
.catalog-drop a:hover, .catalog-drop a.is-active{
  background:var(--green-pale); color:var(--green-dark);
  border-left-color:var(--green); padding-left:28px;
}

/* =========================================================
   HERO
   ========================================================= */

.hero-slider{min-height:600px;}
.slide{
  display:flex;
  position:absolute;
  inset:0;
  min-height:600px;
  width:100%;
  background-repeat:no-repeat;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.025);
  transition:
    opacity .9s ease,
    visibility .9s ease,
    transform 1.15s ease;
  will-change:opacity, transform;
}
.slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:scale(1);
  z-index:2;
}
.slide::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:180px;
  background:linear-gradient(to bottom, rgba(23,66,58,0), rgba(23,66,58,.55));
  pointer-events:none;
}
.slide-content{padding:80px 0 120px;}
.slide .slide-content{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease .18s, transform .65s ease .18s;
}
.slide.is-active .slide-content{
  opacity:1;
  transform:translateY(0);
}
.slide-content h1{letter-spacing:-.01em; text-shadow:0 2px 24px rgba(0,0,0,.28);}
.slide-content{max-width:860px;}
.slide-content h1{max-width:800px;}
.slide-content p{max-width:650px; font-size:17px; line-height:1.65;}
.slider-arrow{transition:background .18s ease, border-color .18s ease, transform .18s ease;}
.slider-arrow:hover{transform:translateY(-50%) scale(1.06);}
.slider-dots{bottom:34px;}
.slider-dots button{transition:width .2s ease, background .2s ease;}

/* =========================================================
   ПЛАШКА ПРЕИМУЩЕСТВ
   ========================================================= */

.perks{border-radius:var(--radius); box-shadow:var(--shadow-lift); overflow:hidden;}
.perk{padding:28px 22px; transition:background .18s ease;}
.perk:hover{background:var(--bg-alt);}
.perk-ico{
  width:52px; height:52px; border-radius:50%;
  background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.perk-ico .ico{color:inherit;}
.perk strong{font-size:15px; margin-bottom:2px;}
.perk span{font-size:12.5px; line-height:1.4;}

/* =========================================================
   КАРТОЧКИ
   ========================================================= */

.cat-card,
.cert-card,
.value-card,
.equip-card,
.news-card,
.service-card{
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.cat-card:hover,
.cert-card:hover,
.equip-card:hover,
.news-card:hover,
.service-card:hover{
  box-shadow:var(--shadow-card);
  transform:translateY(-4px);
}

.cat-photo{overflow:hidden;}
.cat-photo img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.cat-card:hover .cat-photo img{transform:scale(1.05);}
.cat-badge{box-shadow:0 6px 16px rgba(var(--shadow-rgb),.3);}

/* Главная: крупная трёхколоночная витрина направлений каталога. */
.cat-grid--home{grid-template-columns:repeat(6,minmax(0,1fr)); gap:28px;}
.cat-grid--home .cat-card{display:flex; flex-direction:column; grid-column:span 2; min-height:100%;}
/* Если в последнем ряду две карточки, аккуратно центрируем их. */
.cat-grid--home .cat-card:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2;}
.cat-grid--home .cat-photo{height:220px; background:var(--navy);}
.cat-grid--home .cat-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,57,50,0) 45%, rgba(18,57,50,.28));
  pointer-events:none;
}
.cat-grid--home .cat-body{display:flex; flex:1; flex-direction:column; padding:34px 26px 26px;}
.cat-grid--home .cat-body h3{font-size:18px; line-height:1.35; letter-spacing:.01em;}
.cat-grid--home .cat-body p{
  display:-webkit-box;
  overflow:hidden;
  min-height:58px;
  margin-bottom:12px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.cat-grid--home .link-arrow{margin-top:auto; padding-top:4px;}
.cat-grid--home .cat-badge{
  width:50px; height:50px; bottom:-21px; left:22px; border-width:3px;
  font-family:var(--f-mono); font-weight:700; font-size:11px; letter-spacing:.05em;
}
.cat-kicker{
  display:block; margin-bottom:8px; color:var(--green-dark);
  font-family:var(--f-mono); font-size:10px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
}

@media (max-width:1180px){
  .cat-grid--home{gap:22px;}
}

@media (max-width:820px){
  .cat-grid--home{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cat-grid--home .cat-card,
  .cat-grid--home .cat-card:nth-last-child(2):nth-child(3n+1){grid-column:auto;}
  .cat-grid--home .cat-photo{height:190px;}
}

@media (max-width:560px){
  .cat-grid--home{grid-template-columns:1fr;}
}

/* =========================================================
   УСЛУГИ (блок на главной)
   ========================================================= */

.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.service-card{
  display:block;
  background:#fff; border:1px solid var(--line);
  padding:34px 30px;
}
.service-card .ico{
  width:58px; height:58px; border-radius:16px;
  background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.service-card h3{font-size:18px; text-transform:none; margin-bottom:10px;}
.service-card p{font-size:14px; color:var(--ink-soft); margin-bottom:18px;}

/* =========================================================
   НОВОСТИ
   ========================================================= */

.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.news-card{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); overflow:hidden;
}
.news-card .news-photo{height:190px; overflow:hidden; background:var(--bg-alt);}
.news-card .news-photo img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.news-card:hover .news-photo img{transform:scale(1.05);}
.news-card .news-body{padding:24px 26px 26px; display:flex; flex-direction:column; flex:1;}
.news-date{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em;
  color:var(--green-dark); text-transform:uppercase; margin-bottom:10px;
}
.news-card h3{font-size:17px; text-transform:none; line-height:1.35; margin-bottom:10px;}
.news-card p{font-size:14px; color:var(--ink-soft); margin-bottom:18px;}
.news-card .link-arrow{margin-top:auto;}

/* =========================================================
   ЦИФРЫ
   ========================================================= */

.stat .n{font-size:clamp(34px,4vw,46px);}
.stat .t{color:var(--on-dark-soft);}

/* =========================================================
   ПОДВАЛ
   ========================================================= */

.site-footer{border-top:4px solid var(--green); padding-top:64px;}
.footer-col h5{font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:#fff; margin-bottom:18px;}
.footer-menu li{margin-bottom:11px; font-size:14px; line-height:1.45;}
.footer-menu a{transition:color .15s ease;}
.footer-menu a:hover, .footer-menu a.is-active{color:var(--green);}
.footer-col p{font-size:14px; margin-bottom:11px;}
.footer-col a:hover{color:var(--green);}
.footer-bottom a:hover{color:var(--green);}

/* =========================================================
   ВНУТРЕННИЕ СТРАНИЦЫ
   ========================================================= */

.page-head{padding:44px 0 56px;}
.breadcrumbs .bc-sep{margin:0 8px; opacity:.5;}
.breadcrumbs .bc-current{color:#fff;}
.breadcrumbs a{transition:color .15s ease;}

.page-privacy .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.94), rgba(20,65,57,.72) 56%, rgba(20,65,57,.48)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 45% / cover no-repeat;
}
.page-privacy .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.16), rgba(13,43,38,.58));
}
.page-privacy .page-head h1{max-width:900px;}

.content-narrow{max-width:820px;}
.content-narrow p{margin-bottom:16px;}
.content-narrow h2{font-size:24px; text-transform:uppercase; margin:32px 0 14px;}
.content-narrow h3{font-size:19px; margin:26px 0 12px;}
.content-narrow ul{margin:0 0 16px; padding-left:0;}
.content-narrow ul li{position:relative; padding-left:22px; margin-bottom:8px;}
.content-narrow ul li::before{
  content:""; position:absolute; left:0; top:10px;
  width:7px; height:7px; background:var(--green); border-radius:50%;
}

.privacy-intro{
  display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:50px; align-items:end;
  margin-bottom:48px; padding:38px 42px;
  border:1px solid var(--line); border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,var(--bg-alt) 100%); box-shadow:var(--shadow-soft);
}
.privacy-intro h2{max-width:760px; margin:10px 0 16px; font-size:clamp(28px,3.5vw,42px); line-height:1.12;}
.privacy-intro p{max-width:790px; color:var(--ink-soft); font-size:16px; line-height:1.7;}
.privacy-version{padding:22px; border-radius:var(--radius); background:var(--navy); color:#fff;}
.privacy-version span,.privacy-version small{display:block; color:var(--on-dark-soft); font-size:11px; line-height:1.45;}
.privacy-version span{text-transform:uppercase; letter-spacing:.08em;}
.privacy-version strong{display:block; margin:8px 0 6px; font-size:15px; line-height:1.4;}
.privacy-layout{display:grid; grid-template-columns:260px minmax(0,1fr); gap:46px; align-items:start;}
.privacy-nav{
  position:sticky; top:calc(var(--nav-height) + 24px); display:grid; gap:4px;
  padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-soft);
}
.privacy-nav strong{margin-bottom:10px; color:var(--ink); font-size:14px; text-transform:uppercase; letter-spacing:.04em;}
.privacy-nav a{padding:9px 11px; border-radius:9px; color:var(--ink-soft); font-size:12.5px; line-height:1.4;}
.privacy-nav a:hover{background:var(--green-pale); color:var(--green-dark);}
.privacy-content{min-width:0;}
.privacy-content > section{padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid var(--line);}
.privacy-content > section:last-child{margin-bottom:0; border-bottom:0;}
.privacy-content h2{margin-bottom:18px; font-size:24px; line-height:1.25;}
.privacy-content p{margin-bottom:14px; color:var(--ink-soft); line-height:1.78;}
.privacy-content ul{display:grid; gap:10px; margin:4px 0 18px; padding:0;}
.privacy-content li{position:relative; padding-left:24px; color:var(--ink-soft); line-height:1.65;}
.privacy-content li::before{content:""; position:absolute; left:2px; top:10px; width:8px; height:8px; border-radius:50%; background:var(--green);}
.privacy-note{margin:22px 0 0; padding:18px 20px; border-left:4px solid var(--green); border-radius:var(--radius-sm); background:var(--green-pale); color:var(--green-dark); line-height:1.6;}
.privacy-purpose-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0;}
.privacy-purpose-grid div{padding:20px; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff;}
.privacy-purpose-grid strong{display:block; margin-bottom:7px; color:var(--ink); font-size:14px;}
.privacy-purpose-grid span{display:block; color:var(--ink-soft); font-size:13px; line-height:1.55;}
.privacy-operator{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0;}
.privacy-operator div{padding:18px; border-radius:var(--radius-sm); background:var(--bg-alt);}
.privacy-operator span{display:block; margin-bottom:6px; color:var(--ink-faint); font-size:10px; text-transform:uppercase; letter-spacing:.06em;}
.privacy-operator strong{display:block; color:var(--ink); font-size:13.5px; line-height:1.5;}

/* =========================================================
   ПОИСК
   ========================================================= */

.page-search .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.94), rgba(20,65,57,.72) 56%, rgba(20,65,57,.48)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 45% / cover no-repeat;
}
.page-search .page-head::before{background:linear-gradient(180deg,rgba(13,43,38,.14),rgba(13,43,38,.6));}
.page-search .page-head h1{max-width:820px;}
.page-search .page-head .lead{max-width:760px; font-size:16px;}
.search-section{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.site-search{max-width:1100px; margin:0 auto;}
.search-panel{
  padding:30px;
  border:1px solid var(--line); border-radius:18px;
  background:#fff; box-shadow:var(--shadow-card);
}
.search-main-control{
  display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:14px; align-items:center;
  padding:8px 8px 8px 20px;
  border:2px solid var(--line); border-radius:var(--radius-btn); background:var(--bg-alt);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.search-main-control:focus-within{border-color:var(--green); background:#fff; box-shadow:0 0 0 4px var(--green-pale);}
.search-main-control > svg{color:var(--green-dark);}
.search-main-control input[type="search"]{
  min-width:0; width:100%; height:44px; padding:0;
  border:0; outline:0; background:transparent; color:var(--ink);
  font:600 16px/1.4 var(--f-body);
}
.search-main-control input[type="search"]::placeholder{color:var(--ink-faint); font-weight:400;}
.search-main-control input[type="search"]::-webkit-search-cancel-button{cursor:pointer;}
.search-main-control .btn{min-width:126px; padding:14px 26px;}
.search-popular{display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:18px; color:var(--ink-faint); font-size:12.5px;}
.search-popular > span{margin-right:3px; font-weight:600;}
.search-popular a{padding:7px 12px; border-radius:999px; background:var(--bg-alt); color:var(--ink-soft); transition:background .16s ease,color .16s ease;}
.search-popular a:hover{background:var(--green-pale); color:var(--green-dark);}
.search-correction{margin-top:18px; padding:15px 18px; border-radius:var(--radius-sm); background:var(--green-pale); color:var(--green-dark); font-size:14px;}
.search-correction a{font-weight:700; text-decoration:underline; text-underline-offset:3px;}
.search-state{
  display:grid; grid-template-columns:74px minmax(0,1fr); gap:24px; align-items:center;
  margin-top:32px; padding:40px;
  border:1px solid var(--line); border-radius:18px; background:#fff;
}
.search-state-icon{
  display:grid; place-items:center; width:74px; height:74px;
  border-radius:22px; background:var(--green-pale); color:var(--green-dark);
  font:800 30px/1 var(--f-head);
}
.search-state .eyebrow{margin-bottom:8px;}
.search-state h2{margin-bottom:10px; font-size:clamp(24px,3vw,34px); line-height:1.15; text-transform:uppercase;}
.search-state p{max-width:720px; color:var(--ink-soft); line-height:1.7;}
.search-state--error .search-state-icon{background:#fff0ed; color:#c84b34;}
.search-results-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:48px 0 24px;}
.search-results-head .eyebrow{margin-bottom:8px;}
.search-results-head h2{font-size:clamp(25px,3vw,36px); line-height:1.15; text-transform:uppercase;}
.search-results-count{flex:0 0 auto; padding:10px 16px; border-radius:999px; background:var(--green-pale); color:var(--green-dark); font-size:12px; font-weight:700;}
.search-results-list{display:grid; gap:14px;}
.search-result-card{
  position:relative; padding:26px 30px;
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  box-shadow:var(--shadow-soft);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.search-result-card:hover{transform:translateY(-2px); border-color:rgba(var(--shadow-rgb),.28); box-shadow:var(--shadow-card);}
.search-result-meta{display:flex; align-items:center; gap:12px; margin-bottom:11px;}
.search-result-type{padding:5px 10px; border-radius:999px; background:var(--green-pale); color:var(--green-dark); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;}
.search-result-meta time{color:var(--ink-faint); font-family:var(--f-mono); font-size:10px;}
.search-result-card h3{margin-bottom:10px; font-size:20px; line-height:1.32;}
.search-result-card h3 a{transition:color .16s ease;}
.search-result-card h3 a:hover{color:var(--green-dark);}
.search-result-card p{max-width:850px; margin-bottom:15px; color:var(--ink-soft); font-size:14px; line-height:1.68;}
.search-result-link{display:inline-flex; align-items:center; gap:8px; color:var(--green-dark); font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em;}
.search-result-link span{font-size:18px; transition:transform .16s ease;}
.search-result-link:hover span{transform:translateX(4px);}
.search-results-nav{margin-top:30px; overflow-x:auto;}
.search-shortcuts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:34px;}
.search-shortcuts a{
  display:flex; flex-direction:column; min-width:0; min-height:156px; padding:22px;
  border:1px solid var(--line); border-radius:var(--radius); background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.search-shortcuts a:hover{transform:translateY(-3px); border-color:var(--green); box-shadow:var(--shadow-card);}
.search-shortcuts span{margin-bottom:auto; color:var(--green-dark); font-family:var(--f-mono); font-size:11px; font-weight:700;}
.search-shortcuts strong{margin-top:20px; color:var(--ink); font-size:14px; line-height:1.35; text-transform:uppercase;}
.search-shortcuts small{display:block; margin-top:6px; color:var(--ink-faint); font-size:11px; line-height:1.45;}

@media (max-width:820px){
  .page-search .page-head{padding:48px 0 62px;}
  .search-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:560px){
  .search-panel{padding:18px; border-radius:16px;}
  .search-main-control{grid-template-columns:22px minmax(0,1fr); gap:10px; padding:10px 14px; border-radius:16px;}
  .search-main-control > svg{width:20px; height:20px;}
  .search-main-control input[type="search"]{height:42px; font-size:14px;}
  .search-main-control .btn{grid-column:1/-1; width:100%; min-width:0; margin-top:2px;}
  .search-popular{margin-top:14px;}
  .search-popular > span{width:100%;}
  .search-state{grid-template-columns:1fr; gap:18px; margin-top:24px; padding:28px 22px;}
  .search-state-icon{width:62px; height:62px; border-radius:18px;}
  .search-results-head{align-items:flex-start; flex-direction:column; gap:14px; margin-top:38px;}
  .search-result-card{padding:22px 20px;}
  .search-result-meta{align-items:flex-start; flex-direction:column; gap:7px;}
  .search-result-card h3{font-size:18px;}
  .search-shortcuts{grid-template-columns:1fr;}
  .search-shortcuts a{min-height:138px;}
}

.cta-band h2{text-transform:uppercase; font-size:clamp(22px,2.6vw,30px);}
.timeline-item .t-year{border-radius:var(--radius-btn);}

/* =========================================================
   ФОРМЫ КОМПОНЕНТОВ
   ========================================================= */

.form-error{
  background:#fdecec; border-left:3px solid #c8372d; color:#8f2a22;
  padding:12px 16px; font-size:13.5px; margin-bottom:18px; border-radius:var(--radius-sm);
}
.callback-form .form-success{display:none;}
.callback-form .form-success.is-open{display:block;}
.contact-form-wrap, .contact-map, .modal{border-radius:var(--radius);}
input, textarea, select{border-radius:var(--radius-sm) !important;}

/* =========================================================
   ФОТО ВМЕСТО ПЛЕЙСХОЛДЕРОВ
   ========================================================= */

.about-media{border-radius:var(--radius); box-shadow:var(--shadow-card);}
.about-media img{width:100%; height:100%; object-fit:cover;}
.equip-card .equip-photo{height:200px; overflow:hidden; background:var(--bg-alt);}
.equip-card .equip-photo img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.equip-card:hover .equip-photo img{transform:scale(1.04);}
.photo-wide{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card);}
.photo-wide img{width:100%; height:auto;}
.photo-caption{margin-top:12px; font-size:13px; color:var(--ink-faint); text-align:center;}

.section-cta{margin-top:36px; display:flex; justify-content:center;}
.cert-grid{gap:22px;}
.cert-card{display:flex; flex-direction:column; text-align:center; overflow:hidden; background:#fff;}
.cert-card img{display:block; width:100%; height:286px; object-fit:cover; object-position:top; background:var(--bg-alt);}
.cert-card p{display:flex; align-items:center; justify-content:center; flex:1; min-height:84px; line-height:1.45;}
.partners-row{gap:16px; border:0; background:transparent;}
.partner-cell{
  height:auto; min-height:150px; padding:18px 16px 16px;
  flex-direction:column; gap:13px;
  border:1px solid var(--line); border-radius:var(--radius-sm);
  filter:none; text-align:center;
  transition:border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.partner-logo{display:flex; align-items:center; justify-content:center; width:100%; height:70px; overflow:hidden; border-radius:12px; background:var(--bg-alt);}
.partner-cell img{display:block; width:100%; height:100%; max-height:none; margin:0 auto; object-fit:cover;}
.partner-logo--text{width:70px; border-radius:50%; background:var(--navy); color:#fff; font-size:20px;}
.partner-cell strong{display:block; color:var(--ink); font-family:var(--f-head); font-size:13px; letter-spacing:.04em; line-height:1.3;}
a.partner-cell:hover{border-color:var(--green); color:var(--green-dark); background:var(--green-pale);}
a.partner-cell:hover,.partner-cell:hover{transform:translateY(-3px); box-shadow:var(--shadow-soft);}

.route-map-card{margin-top:30px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14);}
.route-map-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px;}
.route-map-head span{display:block; margin-bottom:4px; color:var(--on-dark-soft); font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;}
.route-map-head strong{display:block; color:#fff; font-size:15px;}
.route-map-head a{color:#fff; font-size:12px; font-weight:700; white-space:nowrap;}
.route-map-head a:hover{color:var(--green);}
.route-map-visual{overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:16px; box-shadow:0 14px 34px rgba(0,0,0,.16);}
.route-map-visual iframe{display:block; width:100%; height:340px; border:0; background:#edf2ee;}
.route-map-footer{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:18px;}
.route-map-footer p{margin:0; line-height:1.5;}
.route-map-footer strong{display:block; color:#fff; font-size:16px;}
.route-map-footer p span{display:block; color:var(--on-dark-soft); font-size:12px;}
.route-map-footer .btn{padding:13px 18px; font-size:12px; white-space:normal;}
.route-map-card .route-map-note{margin:16px 0 0; color:var(--on-dark-soft); font-size:12px; line-height:1.65;}
.route-map-note a{color:#fff; white-space:nowrap; text-decoration:underline; text-underline-offset:3px;}
.route-map-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px;}
.route-map-steps span{display:flex; align-items:flex-start; gap:8px; color:var(--on-dark-soft); font-size:10.5px; line-height:1.45;}
.route-map-steps b{display:grid; flex:0 0 21px; place-items:center; width:21px; height:21px; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:10px;}

/* =========================================================
   КНОПКА «НАВЕРХ»
   ========================================================= */

.to-top{
  position:fixed; right:28px; bottom:28px; z-index:55;
  width:48px; height:48px; border-radius:50%;
  background:var(--green); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(var(--shadow-rgb),.3);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s, background .18s ease;
}
.to-top.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.to-top:hover{background:var(--green-dark);}

/* =========================================================
   АДАПТИВ
   ========================================================= */

@media (max-width:1180px){
  body.mobile-nav-open{overflow:hidden; overscroll-behavior:none;}

  .nav-menu{
    position:fixed; top:0; right:0; bottom:0; width:86%; max-width:360px;
    background:var(--navy); flex-direction:column; align-items:stretch;
    padding:84px 0 24px; transform:translateX(105%); visibility:hidden; pointer-events:none;
    transition:transform .25s ease,visibility .25s ease; z-index:70; overflow-y:auto;
    overscroll-behavior:contain;
    display:flex;
  }
  .nav-menu.is-open{transform:translateX(0); visibility:visible; pointer-events:auto;}

  .nav-menu > .nav-item{display:block; position:relative; border-bottom:1px solid var(--navy-line);}
  .nav-menu > .nav-item > a{
    padding:16px 52px 16px 24px;
    border-bottom:none; border-left:3px solid transparent;
    white-space:normal;
  }
  .nav-menu > .nav-item > a:hover,
  .nav-menu > .nav-item > a.is-active,
  .nav-menu > .nav-item.is-active > a{border-left-color:var(--green); border-bottom-color:transparent;}
  .nav-menu > .nav-item > a .nav-caret{display:none;}

  .nav-sub-toggle{
    display:flex; align-items:center; justify-content:center;
    position:absolute; top:0; right:0; width:52px; height:56px;
    background:transparent; border:none; color:var(--on-dark);
  }
  .nav-sub-toggle .nav-caret{transition:transform .2s ease;}
  .nav-item.is-expanded .nav-sub-toggle .nav-caret{transform:rotate(180deg);}

  .nav-sub{
    position:static; opacity:1; visibility:visible; transform:none;
    min-width:0; max-width:none;
    background:var(--navy-soft); border-top:none; box-shadow:none; border-radius:0;
    padding:0; display:none;
  }
  .nav-item.is-expanded > .nav-sub{display:block;}
  .nav-sub a{padding:12px 24px 12px 36px; font-size:13px; color:var(--on-dark);}
  .nav-sub a:hover, .nav-sub a.is-active{background:var(--navy); color:#fff; padding-left:36px;}

  .catalog-drop{display:none;}
  .burger{height:var(--nav-height); position:relative; z-index:75;}
  .burger span::before,
  .burger span::after{left:0; right:0;}
  .burger.is-open{
    position:fixed; top:18px; right:18px;
    width:48px; height:48px; margin:0;
    border:1px solid rgba(255,255,255,.2); border-radius:50%;
    background:rgba(5,35,49,.82); box-shadow:0 8px 24px rgba(0,0,0,.2);
    backdrop-filter:blur(6px);
  }
  .burger.is-open span{top:23px;}
}

@media (max-width:1180px){
  .hero-slider,
  .slide{min-height:520px;}
}

@media (max-width:1080px){
  .service-grid{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .news-card{min-width:0;}
}

@media (max-width:640px){
  .nav-catalog-btn{padding:0 16px; font-size:12px;}
  .nav-catalog-btn svg{display:none;}
  .hero-slider,
  .slide{min-height:600px;}
  .slide{align-items:flex-start;}
  .slide > .container{width:100%; min-width:0;}
  .slide-content{padding:56px 0 104px;}
  .slide-content h1{font-size:clamp(28px,8.4vw,34px); line-height:1.08;}
  .slide-content p{font-size:15px; line-height:1.6;}
  .news-grid{grid-template-columns:minmax(0,1fr); gap:20px;}
  .news-card .news-photo{height:200px;}
  .news-card .news-body{padding:22px 20px 24px;}
  .partners-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .partner-cell{min-width:0;}
  .to-top{right:16px; bottom:16px; width:42px; height:42px;}
  .site-footer{padding-top:48px;}
}

@media (max-width:420px){
  .hero-slider,
  .slide{min-height:650px;}
}

/* =========================================================
   ВАКАНСИИ
   ========================================================= */

.page-vacancies .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.92), rgba(20,65,57,.68) 54%, rgba(20,65,57,.46)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 45% / cover no-repeat;
}
.page-vacancies .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.18), rgba(13,43,38,.58));
}
.page-vacancies .page-head h1{max-width:760px;}
.page-vacancies .page-head .lead{max-width:720px; font-size:16px;}

.section-vacancies{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.vac-intro-copy h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,38px);
  line-height:1.12;
  text-transform:uppercase;
  max-width:860px;
}
.vac-intro-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:10px 26px;
  box-shadow:var(--shadow-card);
}
.vac-number{
  width:48px;
  height:48px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:var(--green-pale);
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
}
.vac-title-wrap{display:flex; flex-direction:column; gap:4px;}
.vac-kicker{
  color:var(--ink-faint);
  font-family:var(--f-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vac-item{
  border:none;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .2s ease, transform .2s ease;
}
.vac-item:hover{box-shadow:var(--shadow-card); transform:translateY(-2px);}
.vac-item.is-open{border-color:transparent; box-shadow:0 18px 44px rgba(var(--shadow-rgb),.13);}
.vac-head{background:#fff; cursor:pointer;}
.vac-side{display:flex; align-items:center; gap:18px; margin-left:auto;}
.vac-preview{
  margin-bottom:22px;
  padding:18px 20px;
  background:var(--green-pale);
  border-left:3px solid var(--green);
  border-radius:var(--radius-sm);
  color:var(--ink-soft);
  line-height:1.65;
}
.vac-conditions{
  margin-top:6px;
  padding:22px 24px;
  background:var(--bg-alt);
  border-radius:var(--radius);
}
.vac-conditions h5{
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ink-faint);
  margin-bottom:12px;
}
.vac-conditions ul li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  color:var(--ink-soft);
  margin-bottom:9px;
}
.vac-conditions ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.vac-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px;}
.vac-empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px;
  box-shadow:var(--shadow-soft);
}
.vac-empty h3{font-size:22px; margin-bottom:10px;}
.vac-empty p{max-width:680px; margin-bottom:20px; color:var(--ink-soft);}

.vac-career-band{padding-top:76px;}
.vac-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.vac-steps div{
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  background:rgba(255,255,255,.06);
}
.vac-steps span{
  display:block;
  margin-bottom:18px;
  color:var(--mint);
  font-family:var(--f-mono);
  font-weight:700;
}
.vac-steps strong{display:block; color:#fff; font-size:18px; margin-bottom:8px;}
.vac-steps p{color:var(--on-dark-soft); font-size:14px; line-height:1.6;}
.vac-bottom-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:38px;
  padding:30px 34px;
  border-radius:var(--radius);
  background:#fff;
}
.vac-bottom-cta h3{font-size:22px; margin-bottom:8px;}
.vac-bottom-cta p{max-width:760px; color:var(--ink-soft);}

@media (max-width:1080px){
  .vac-steps{grid-template-columns:1fr;}
  .vac-bottom-cta{align-items:flex-start; flex-direction:column;}
}

@media (max-width:640px){
  .page-vacancies .page-head{padding:48px 0 62px;}
  .vac-intro-card{padding:8px 20px;}
  .vac-number{width:42px; height:42px;}
  .vac-side{width:100%; justify-content:space-between; margin-left:0;}
  .vac-conditions{padding:18px;}
  .vac-actions .btn{width:100%; justify-content:center;}
  .vac-bottom-cta{padding:24px;}
}

/* =========================================================
   ПРАЙС-ЛИСТЫ
   ========================================================= */

.page-price .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.92), rgba(20,65,57,.70) 54%, rgba(20,65,57,.45)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 44% / cover no-repeat;
}
.page-price .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.12), rgba(13,43,38,.62));
}
.page-price .page-head h1{max-width:760px;}
.page-price .page-head .lead{max-width:720px; font-size:16px;}

.price-list-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.price-hero-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:34px;
  align-items:start;
  margin-bottom:42px;
}
.price-hero-row h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,38px);
  line-height:1.12;
  text-transform:uppercase;
}
.price-note{
  position:relative;
  overflow:hidden;
  padding:28px 30px;
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid var(--line);
}
.price-note::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--green);
}
.price-note strong{display:block; margin-bottom:8px; color:var(--navy); font-size:17px;}
.price-note span{display:block; color:var(--ink-soft); line-height:1.55;}

.price-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.price-card{
  min-width:0;
  min-height:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.price-card > div{
  height:100%;
  display:flex;
  flex-direction:column;
  padding:26px;
}
.price-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-card);
  border-color:rgba(239,106,51,.38);
}
.price-card--main{
  grid-column:span 2;
  background:linear-gradient(135deg, #fff 0%, var(--green-pale) 100%);
}
.price-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}
.price-doc-ico{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
}
.price-card--main .price-doc-ico{background:#fff;}
.price-card-num{
  color:var(--ink-faint);
  font-family:var(--f-mono);
  font-weight:700;
  font-size:12px;
  letter-spacing:.06em;
}
.price-label{
  display:block;
  margin-bottom:10px;
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.price-card h3{
  font-size:17px;
  line-height:1.35;
  text-transform:none;
  margin-bottom:12px;
}
.price-card p{
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.58;
}
.price-card-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:22px;
  color:var(--ink-faint);
  font-size:12.5px;
  border-top:1px solid var(--line);
}
.price-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.price-card-actions .btn{
  flex:1 1 auto;
  justify-content:center;
  padding:12px 14px;
  font-size:12px;
}
.price-empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px;
  box-shadow:var(--shadow-soft);
}
.price-empty h3{font-size:22px; margin-bottom:10px;}
.price-empty p{max-width:680px; margin-bottom:20px; color:var(--ink-soft);}

.price-order-band{padding-top:76px;}
.price-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}
.price-steps div{
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  background:rgba(255,255,255,.06);
}
.price-steps span{
  display:block;
  margin-bottom:18px;
  color:var(--mint);
  font-family:var(--f-mono);
  font-weight:700;
}
.price-steps strong{display:block; color:#fff; font-size:18px; margin-bottom:8px;}
.price-steps p{color:var(--on-dark-soft); font-size:14px; line-height:1.6;}
.price-contact-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:38px;
  padding:30px 34px;
  border-radius:var(--radius);
  background:#fff;
}
.price-contact-cta h3{font-size:22px; margin-bottom:8px;}
.price-contact-cta p{max-width:760px; color:var(--ink-soft);}

@media (max-width:1180px){
  .price-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .price-card--main{grid-column:span 3;}
}

@media (max-width:1080px){
  .price-hero-row{grid-template-columns:1fr;}
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .price-card--main{grid-column:span 2;}
  .price-steps{grid-template-columns:1fr;}
  .price-contact-cta{align-items:flex-start; flex-direction:column;}
}

@media (max-width:640px){
  .page-price .page-head{padding:48px 0 62px;}
  .price-grid{grid-template-columns:1fr;}
  .price-card--main{grid-column:auto;}
  .price-card > div{padding:22px;}
  .price-card-meta{flex-direction:column;}
  .price-card-actions{flex-direction:column;}
  .price-contact-cta{padding:24px;}
}

/* =========================================================
   КОНТАКТЫ
   ========================================================= */

.page-contacts .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.92), rgba(20,65,57,.70) 54%, rgba(20,65,57,.44)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 43% / cover no-repeat;
}
.page-contacts .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.14), rgba(13,43,38,.62));
}
.page-contacts .page-head h1{max-width:760px;}
.page-contacts .page-head .lead{max-width:720px; font-size:16px;}

.contacts-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.contacts-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.contacts-quick-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px 26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.contacts-quick-card:hover{
  transform:translateY(-4px);
  border-color:rgba(239,106,51,.38);
  box-shadow:var(--shadow-card);
}
.contacts-quick-card--primary{
  background:linear-gradient(135deg, var(--green-pale), #fff);
}
.contacts-card-num{
  margin-bottom:32px;
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.contacts-card-label{
  display:block;
  margin-bottom:10px;
  color:var(--ink-faint);
  font-family:var(--f-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contacts-quick-card strong{
  display:block;
  color:var(--navy);
  font-family:var(--f-head);
  font-size:20px;
  line-height:1.25;
}
.contacts-quick-card small{
  display:block;
  margin-top:auto;
  padding-top:18px;
  color:var(--ink-soft);
  font-size:13.5px;
  line-height:1.45;
}
.contacts-mail-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:26px;
  padding:28px 32px;
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  border:1px solid var(--line);
}
.contacts-mail-strip h3{font-size:22px; margin-top:8px;}
.contacts-mail-list{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.contacts-mail-list a{
  padding:11px 16px;
  border-radius:var(--radius-btn);
  background:var(--green-pale);
  color:var(--green-dark);
  font-weight:700;
  font-size:13px;
}
.contacts-mail-list a:hover{background:var(--green); color:#fff;}

.contacts-route-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
}
.contacts-address-panel,
.contacts-nav-card,
.contacts-ozon-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.contacts-address-panel{padding:42px;}
.contacts-address-panel h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,36px);
  line-height:1.14;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.contacts-address{
  margin:0 0 18px;
  padding:18px 20px;
  border-left:3px solid var(--green);
  border-radius:var(--radius-sm);
  background:var(--green-pale);
  color:var(--navy);
  font-family:var(--f-head);
  font-size:20px;
  font-weight:800;
  line-height:1.45;
}
.contacts-address-panel p:not(.contacts-address){
  color:var(--ink-soft);
  line-height:1.65;
}
.contacts-route-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px;}
.contacts-map-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:430px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  background:var(--navy);
}
.contacts-map-panel iframe{width:100%; flex:1; min-height:380px; border:0; display:block; background:#edf2ee;}
.contacts-map-caption{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:18px 22px; background:#fff;}
.contacts-map-caption strong{display:block; color:var(--navy); font-size:16px;}
.contacts-map-caption span{display:block; margin-top:4px; color:var(--ink-soft); font-size:12px;}
.contacts-map-caption a{color:var(--green-dark); font-size:12px; font-weight:800;}
.contacts-nav-card,
.contacts-ozon-card{
  display:flex;
  align-items:center;
  gap:22px;
  padding:28px;
}
.contacts-nav-card h3,
.contacts-ozon-card h3{font-size:20px; margin-bottom:8px;}
.contacts-nav-card p,
.contacts-ozon-card p{color:var(--ink-soft); font-size:14px; line-height:1.55;}
.contacts-nav-card a:not(.btn){display:inline-block; margin-top:10px; color:var(--green-dark); font-weight:800;}
.contacts-ozon-card{justify-content:space-between;}
.contacts-qr-mark{
  width:164px;
  height:164px;
  flex:0 0 164px;
  display:grid;
  place-items:center;
  padding:7px;
  border-radius:var(--radius);
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.contacts-qr-mark:hover{border-color:var(--green); transform:translateY(-2px); box-shadow:var(--shadow-card);}
.contacts-qr-mark canvas,
.contacts-qr-mark img,
.contacts-qr-mark svg,
.contacts-qr-mark table{display:block; width:148px !important; height:148px !important; margin:0 !important;}
.contacts-qr-loading{
  display:grid; place-items:center; width:148px; height:148px;
  background:var(--green-pale); color:var(--green-dark);
  font:800 24px/1 var(--f-head); letter-spacing:.08em;
}

.contacts-form-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:34px;
  align-items:start;
}
.contacts-form-copy h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,36px);
  line-height:1.14;
  text-transform:uppercase;
}
.contacts-form-copy p{color:var(--ink-soft); line-height:1.65; max-width:680px;}
.contacts-mini-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
.contacts-mini-list span{
  padding:10px 14px;
  border-radius:var(--radius-btn);
  background:var(--green-pale);
  color:var(--green-dark);
  font-size:13px;
  font-weight:700;
}
.contacts-form-card{box-shadow:var(--shadow-card);}
.contacts-docs{padding-top:76px;}
.contacts-docs-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.contacts-docs-grid h2{
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(25px,3vw,34px);
  text-transform:uppercase;
}
.contacts-docs-grid p{max-width:760px; color:var(--on-dark-soft);}
.contacts-docs-actions{display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0;}

@media (max-width:1180px){
  .contacts-quick-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:1080px){
  .contacts-mail-strip,
  .contacts-docs-grid{align-items:flex-start; flex-direction:column;}
  .contacts-mail-list{justify-content:flex-start;}
  .contacts-route-grid,
  .contacts-form-grid{grid-template-columns:minmax(0,1fr);}
  .contacts-route-grid > *,
  .contacts-form-grid > *{min-width:0;}
}

@media (max-width:640px){
  .route-map-visual iframe{height:320px;}
  .route-map-footer .btn{width:100%; justify-content:center;}
  .page-contacts .page-head{padding:48px 0 62px;}
  .contacts-quick-grid{grid-template-columns:1fr;}
  .contacts-quick-card{min-height:0;}
  .contacts-mail-strip,
  .contacts-address-panel,
  .contacts-nav-card,
  .contacts-ozon-card{padding:24px;}
  .contacts-address-panel h2{font-size:clamp(18px,5.3vw,20px); overflow-wrap:normal; word-break:normal;}
  .contacts-nav-card,
  .contacts-ozon-card{align-items:flex-start; flex-direction:column;}
  .contacts-qr-mark{align-self:center;}
  .contacts-map-panel,
  .contacts-map-panel iframe{min-height:320px;}
  .contacts-route-actions,
  .contacts-route-actions .btn{width:100%; justify-content:center; text-align:center; white-space:normal;}
  .contacts-form-grid{gap:24px;}
  .contacts-docs-actions .btn{width:100%; justify-content:center;}
}

@media (max-width:380px){
  .contacts-address-panel{padding:20px;}
}

/* =========================================================
   ДОКУМЕНТАЦИЯ
   ========================================================= */

.page-documents .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.92), rgba(20,65,57,.70) 54%, rgba(20,65,57,.44)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 42% / cover no-repeat;
}
.page-documents .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.14), rgba(13,43,38,.62));
}
.page-documents .page-head h1{max-width:760px;}
.page-documents .page-head .lead{max-width:720px; font-size:16px;}

.documents-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.documents-intro{max-width:880px; margin-bottom:34px;}
.documents-intro h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,38px);
  line-height:1.12;
  text-transform:uppercase;
}
.documents-anchor-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-bottom:42px;
}
.documents-anchor-card{
  min-height:178px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.documents-anchor-card:hover{
  transform:translateY(-4px);
  border-color:rgba(239,106,51,.38);
  box-shadow:var(--shadow-card);
}
.documents-anchor-card span{
  margin-bottom:auto;
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.documents-anchor-card strong{
  display:block;
  color:var(--navy);
  font-family:var(--f-head);
  font-size:22px;
  line-height:1.22;
  margin-top:28px;
}
.documents-anchor-card small{
  display:block;
  margin-top:8px;
  color:var(--ink-soft);
  font-size:13px;
}
.documents-groups{display:flex; flex-direction:column; gap:34px;}
.documents-group{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.documents-group::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--green);
}
.documents-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:36px 38px 28px 44px;
}
.documents-group-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:18px;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:700;
}
.documents-group-head h2{
  margin:8px 0 12px;
  font-size:clamp(23px,2.4vw,32px);
  text-transform:uppercase;
}
.documents-group-head p{
  max-width:760px;
  color:var(--ink-soft);
  line-height:1.6;
}
.docs-list{display:flex; flex-direction:column; gap:12px; padding:0 38px 38px 44px;}
.docs-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--bg-alt);
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.docs-item:hover{
  background:#fff;
  border-color:rgba(239,106,51,.38);
  transform:translateX(3px);
}
.docs-ico{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  color:var(--green-dark);
  box-shadow:var(--shadow-soft);
}
.docs-type{
  display:block;
  margin-bottom:7px;
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.docs-info h3{
  font-size:17px;
  line-height:1.35;
  text-transform:none;
  margin-bottom:7px;
}
.docs-info p{color:var(--ink-soft); font-size:14px; line-height:1.55;}
.docs-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.docs-meta span{
  padding:6px 10px;
  border-radius:var(--radius-btn);
  background:#fff;
  color:var(--ink-faint);
  font-size:12px;
}
.docs-actions{display:flex; justify-content:flex-end;}
.docs-empty{
  margin:0 38px 38px 44px;
  padding:28px;
  border-radius:var(--radius);
  background:var(--bg-alt);
  border:1px solid var(--line);
}
.docs-empty h3{font-size:20px; margin-bottom:10px;}
.docs-empty p{max-width:680px; margin-bottom:18px; color:var(--ink-soft);}
.documents-cta{padding-top:76px;}
.documents-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.documents-cta-inner h2{
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(25px,3vw,34px);
  text-transform:uppercase;
}
.documents-cta-inner p{max-width:760px; color:var(--on-dark-soft);}
.documents-cta-inner .btn{flex-shrink:0;}

@media (max-width:1080px){
  .documents-anchor-grid{grid-template-columns:1fr;}
  .documents-group-head,
  .documents-cta-inner{align-items:flex-start; flex-direction:column;}
  .docs-item{grid-template-columns:58px minmax(0,1fr);}
  .docs-actions{grid-column:2; justify-content:flex-start;}
}

@media (max-width:640px){
  .page-documents .page-head{padding:48px 0 62px;}
  .documents-anchor-card{min-height:150px;}
  .documents-group-head,
  .docs-list{padding-left:24px; padding-right:20px;}
  .docs-empty{margin-left:24px; margin-right:20px;}
  .docs-item{grid-template-columns:1fr;}
  .docs-actions{grid-column:auto;}
  .docs-actions .btn,
  .documents-cta-inner .btn{width:100%; justify-content:center;}
}

/* =========================================================
   УСЛУГИ
   ========================================================= */

.page-services .page-head{
  position:relative;
  padding:64px 0 78px;
  background:
    linear-gradient(90deg, rgba(20,65,57,.92), rgba(20,65,57,.68) 54%, rgba(20,65,57,.42)),
    url('/upload/agrigaz/zavod-aerial-wide.jpg') center 44% / cover no-repeat;
}
.page-services .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.14), rgba(13,43,38,.62));
}
.page-services .page-head h1{max-width:760px;}
.page-services .page-head .lead{max-width:720px; font-size:16px;}

.services-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.services-intro{max-width:920px; margin-bottom:38px;}
.services-intro h2{
  margin:10px 0 18px;
  font-size:clamp(25px,3vw,38px);
  line-height:1.12;
  text-transform:uppercase;
}
.services-list-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.services-list-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:30px 28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.services-list-card:hover{
  transform:translateY(-4px);
  border-color:rgba(239,106,51,.38);
  box-shadow:var(--shadow-card);
}
.services-card-num{
  align-self:flex-end;
  color:var(--ink-faint);
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.services-card-ico{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-6px 0 24px;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
}
.services-card-label{
  display:block;
  margin-bottom:10px;
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.services-list-card h3{
  font-size:21px;
  line-height:1.25;
  text-transform:none;
  margin-bottom:12px;
}
.services-list-card p{
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.6;
}
.services-list-card ul{
  width:100%;
  margin:22px 0 24px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.services-list-card li{
  position:relative;
  padding-left:19px;
  margin-bottom:8px;
  color:var(--ink-soft);
  font-size:13.5px;
}
.services-list-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.services-list-card .link-arrow{margin-top:auto;}
.services-empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px;
  box-shadow:var(--shadow-soft);
}
.services-empty h3{font-size:22px; margin-bottom:10px;}
.services-empty p{max-width:680px; color:var(--ink-soft);}
.services-cta{padding-top:76px;}
.services-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.services-cta-inner h2{
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(25px,3vw,34px);
  text-transform:uppercase;
}
.services-cta-inner p{max-width:760px; color:var(--on-dark-soft);}
.services-cta-inner .btn{flex-shrink:0;}

.service-detail-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.service-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:34px;
  align-items:start;
}
.service-detail-main h2{
  margin:10px 0 18px;
  font-size:clamp(28px,3.3vw,42px);
  line-height:1.1;
  text-transform:uppercase;
}
.service-detail-text{margin-top:28px;}
.service-detail-text p{color:var(--ink-soft); line-height:1.72;}
.service-detail-side{position:sticky; top:calc(var(--nav-height) + 28px);}
.service-side-card{
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.service-side-ico{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
}
.service-side-card h3{font-size:19px; margin-bottom:16px;}
.service-side-card ul{margin-bottom:24px;}
.service-side-card li{
  position:relative;
  padding-left:20px;
  margin-bottom:10px;
  color:var(--ink-soft);
  font-size:14px;
}
.service-side-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.service-side-card .btn{width:100%; justify-content:center;}
.service-detail-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:28px;
  margin-top:44px;
}
.service-detail-photo{
  min-height:310px;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--navy);
  box-shadow:var(--shadow-card);
}
.service-detail-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.service-params{
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.service-params h3{font-size:20px; margin-bottom:18px;}
.service-param-row{
  padding:13px 0;
  color:var(--ink-soft);
  border-bottom:1px dashed var(--line);
  font-size:14px;
  line-height:1.5;
}
.service-param-row:last-child{border-bottom:none;}
.service-detail-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:34px;
  padding:30px 34px;
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  border:1px solid var(--line);
}
.service-detail-cta h3{font-size:22px; margin-bottom:8px;}
.service-detail-cta p{max-width:760px; color:var(--ink-soft);}
.service-detail-actions{display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0;}

@media (max-width:1080px){
  .services-list-grid{grid-template-columns:1fr;}
  .services-cta-inner,
  .service-detail-cta{align-items:flex-start; flex-direction:column;}
  .service-detail-layout,
  .service-detail-bottom{grid-template-columns:1fr;}
  .service-detail-side{position:static;}
}

@media (max-width:640px){
  .page-services .page-head{padding:48px 0 62px;}
  .services-list-card{padding:26px 22px;}
  .services-cta-inner .btn,
  .service-detail-actions,
  .service-detail-actions .btn{width:100%; justify-content:center;}
  .service-detail-cta{padding:24px;}
  .service-detail-photo{min-height:240px;}
  .service-params{padding:24px;}
}

/* =========================================================
   О КОМПАНИИ
   ========================================================= */

.page-company .page-head{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(10,45,40,.9), rgba(10,45,40,.68)),
    url("/upload/agrigaz/zavod-aerial-wide.jpg") center/cover no-repeat;
}
.page-company .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.1), rgba(13,43,38,.58));
}
.page-company .page-head h1{max-width:760px;}
.page-company .page-head .lead{max-width:760px; font-size:16px;}

.company-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.company-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:46px;
  align-items:center;
}
.company-hero-text{
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:42px;
}
.company-hero-text h2{
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin-bottom:20px;
}
.company-lead{
  color:var(--ink);
  font-size:18px;
  line-height:1.65;
}
.company-hero-text p:not(.company-lead){
  color:var(--ink-soft);
  line-height:1.72;
}
.company-hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px;}
.company-hero-media{
  position:relative;
  min-height:520px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  isolation:isolate;
}
.company-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,45,40,0) 44%, rgba(10,45,40,.62));
  z-index:1;
}
.company-hero-media img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
.company-hero-badge{
  position:absolute;
  left:26px;
  right:26px;
  bottom:26px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 22px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
}
.company-hero-badge strong{
  color:var(--green);
  font-size:52px;
  line-height:1;
  letter-spacing:-.06em;
  font-family:Montserrat, Arial, sans-serif;
}
.company-hero-badge span{font-weight:700; color:var(--ink); line-height:1.3;}

.company-stats-band{position:relative; overflow:hidden;}
.company-stats-band::before{
  content:"";
  position:absolute;
  inset:auto -8% -55% auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(131,196,86,.12);
  pointer-events:none;
}

.company-advantages-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.company-adv-card{
  position:relative;
  min-height:270px;
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius);
  padding:30px 26px;
  box-shadow:0 16px 34px rgba(var(--shadow-rgb),.08);
  overflow:hidden;
}
.company-adv-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-42px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:var(--green-pale);
}
.company-card-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-weight:800;
  margin-bottom:28px;
}
.company-adv-card h3{font-size:20px; margin-bottom:12px;}
.company-adv-card p{position:relative; z-index:1; color:var(--ink-soft); line-height:1.62;}

.company-directions-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.company-direction-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:330px;
  padding:30px 26px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  color:#fff;
  background:var(--navy);
  box-shadow:var(--shadow-card);
  isolation:isolate;
  transition:transform .22s ease, box-shadow .22s ease;
}
.company-direction-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(10,45,40,.1), rgba(10,45,40,.86)),
    url("/upload/agrigaz/zavod-aerial.jpg") center/cover no-repeat;
  z-index:-2;
}
.company-direction-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(131,196,86,.28), rgba(5,33,46,.84));
  z-index:-1;
}
.company-direction-card--eco::before{background-image:linear-gradient(180deg, rgba(10,45,40,.08), rgba(10,45,40,.88)), url("/upload/agrigaz/zavod-aerial-wide.jpg");}
.company-direction-card--production::before{background-image:linear-gradient(180deg, rgba(10,45,40,.08), rgba(10,45,40,.88)), url("/upload/agrigaz/tpa-haitian-2.jpg");}
.company-direction-card--news::before{background-image:linear-gradient(180deg, rgba(10,45,40,.08), rgba(10,45,40,.88)), url("/upload/agrigaz/ekstruzionno-vyduvnaya.jpg");}
.company-direction-card--history::before{background-image:linear-gradient(180deg, rgba(10,45,40,.08), rgba(10,45,40,.88)), url("/upload/agrigaz/zavod-aerial.jpg");}
.company-direction-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 54px rgba(var(--shadow-rgb),.2);
}
.company-dir-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:rgba(255,255,255,.14);
  color:#fff;
  margin-bottom:auto;
  backdrop-filter:blur(8px);
}
.company-direction-card h3{font-size:23px; margin:32px 0 12px; color:#fff;}
.company-direction-card p{color:rgba(255,255,255,.82); line-height:1.58; margin-bottom:22px;}
.company-direction-card .link-arrow{color:#fff; margin-top:auto;}

.company-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.company-principle{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:34px 30px;
  border:1px solid rgba(var(--shadow-rgb),.08);
  box-shadow:0 16px 34px rgba(var(--shadow-rgb),.08);
}
.company-principle-icon{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
  font-weight:800;
  margin-bottom:26px;
}
.company-principle h3{font-size:22px; margin-bottom:12px;}
.company-principle p{color:var(--ink-soft); line-height:1.65;}

.home-principles{position:relative; overflow:hidden;}
.home-principles::before{
  content:""; position:absolute; width:480px; height:480px; right:-180px; top:-270px;
  border-radius:50%; background:radial-gradient(circle,rgba(var(--shadow-rgb),.12) 0%,rgba(var(--shadow-rgb),0) 68%);
  pointer-events:none;
}
.home-principles .container{position:relative; z-index:1;}
.home-principles .company-principle{
  position:relative; min-height:252px; padding:32px 30px; border-radius:18px;
  border-color:rgba(var(--shadow-rgb),.1); overflow:hidden;
}
.home-principles .company-principle::after{
  content:""; position:absolute; top:0; left:30px; right:30px; height:3px;
  border-radius:0 0 4px 4px; background:var(--green); opacity:0;
  transition:opacity .18s ease;
}
.home-principles .company-principle:hover::after{opacity:1;}
.home-principles .company-principle-icon{margin-bottom:22px;}

.company-production-card{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.company-production-photo{min-height:420px; overflow:hidden;}
.company-production-photo img{width:100%; height:100%; object-fit:cover; transition:transform .55s ease;}
.company-production-card:hover .company-production-photo img{transform:scale(1.035);}
.company-production-text{padding:48px; align-self:center;}
.company-production-text h2{font-size:clamp(28px,3vw,38px); margin-bottom:16px;}
.company-production-text p{color:var(--ink-soft); line-height:1.72; margin-bottom:28px;}

.company-news-section .news-grid{grid-template-columns:repeat(3,1fr);}
.company-cta-band{
  padding:48px 0;
  background:
    linear-gradient(90deg, rgba(10,45,40,.96), rgba(10,45,40,.82)),
    url("/upload/agrigaz/zavod-aerial-wide.jpg") center/cover no-repeat;
}
.company-cta-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  color:#fff;
}
.company-cta-content .eyebrow{color:var(--mint);}
.company-cta-content .eyebrow::before{background:var(--mint);}
.company-cta-content h2{color:#fff; max-width:780px; font-size:clamp(24px,3vw,34px); margin-bottom:10px;}
.company-cta-content p{max-width:760px; color:rgba(255,255,255,.78);}
.company-cta-actions{display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0;}

@media (max-width:1180px){
  .company-hero-grid,
  .company-production-card{grid-template-columns:minmax(0,1fr);}
  .company-hero-grid > *,
  .company-production-card > *{min-width:0;}
  .company-hero-media{min-height:420px;}
  .company-advantages-grid,
  .company-directions-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:820px){
  .page-company .page-head{padding:48px 0 62px;}
  .company-hero-text{padding:30px 24px;}
  .company-hero-media{min-height:340px;}
  .company-advantages-grid,
  .company-directions-grid,
  .company-principles,
  .company-news-section .news-grid{grid-template-columns:1fr;}
  .company-production-text{padding:32px 24px;}
  .company-production-text .btn{width:100%; justify-content:center; text-align:center; white-space:normal;}
  .company-production-photo{min-height:280px;}
  .company-cta-content{align-items:flex-start; flex-direction:column;}
  .company-cta-actions,
  .company-cta-actions .btn,
  .company-hero-actions,
  .company-hero-actions .btn{width:100%; justify-content:center;}
}

/* =========================================================
   ВНУТРЕННИЕ СТРАНИЦЫ КОМПАНИИ
   ========================================================= */

.company-inner-page{
  background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);
}
.company-inner-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
  gap:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(var(--shadow-rgb),.08);
}
.company-inner-hero__text{
  padding:48px;
  align-self:center;
}
.company-inner-hero__text h2{
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.1;
  letter-spacing:-.035em;
  margin-bottom:18px;
}
.company-inner-lead{
  font-size:18px;
  line-height:1.65;
  color:var(--ink);
}
.company-inner-hero__text p:not(.company-inner-lead){
  color:var(--ink-soft);
  line-height:1.72;
}
.company-inner-hero__media{
  min-height:430px;
  position:relative;
  overflow:hidden;
}
.company-inner-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,45,40,0), rgba(10,45,40,.36));
}
.company-inner-hero__media img{width:100%; height:100%; object-fit:cover;}

.company-info-grid{
  display:grid;
  gap:20px;
}
.company-info-grid--four{grid-template-columns:repeat(4,1fr);}
.company-info-grid--three{grid-template-columns:repeat(3,1fr);}
.company-info-card{
  position:relative;
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius);
  box-shadow:0 16px 34px rgba(var(--shadow-rgb),.08);
  padding:30px 26px;
  overflow:hidden;
}
.company-info-card::after{
  content:"";
  position:absolute;
  right:-50px;
  bottom:-50px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:var(--green-pale);
}
.company-info-card h3{position:relative; z-index:1; font-size:20px; margin:0 0 12px;}
.company-info-card p{position:relative; z-index:1; color:var(--ink-soft); line-height:1.62;}
.company-info-card--photo{padding:0;}
.company-info-card--photo::after{display:none;}
.company-info-card--photo img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.company-info-card--photo h3{padding:26px 26px 0;}
.company-info-card--photo p{padding:0 26px 28px;}

.company-process-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);
  gap:34px;
  align-items:center;
  padding:42px;
  border-radius:var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(10,45,40,.94), rgba(10,45,40,.78)),
    url("/upload/agrigaz/zavod-aerial-wide.jpg") center/cover no-repeat;
  color:#fff;
  box-shadow:var(--shadow-card);
}
.company-process-card .eyebrow{color:var(--mint);}
.company-process-card .eyebrow::before{background:var(--mint);}
.company-process-text h2{color:#fff; font-size:clamp(26px,3vw,38px); margin-bottom:16px;}
.company-process-text p{color:rgba(255,255,255,.8); line-height:1.72;}
.company-process-steps{display:grid; gap:14px;}
.company-process-steps div{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}
.company-process-steps strong{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
}
.company-process-steps span{color:rgba(255,255,255,.88); line-height:1.35;}

.company-inner-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:34px;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(var(--shadow-rgb),.08);
}
.company-inner-cta h2{font-size:clamp(24px,2.6vw,32px); margin-bottom:8px;}
.company-inner-cta p{color:var(--ink-soft); max-width:720px;}
.company-inner-cta__actions{display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0;}

.company-history-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.company-history-facts div{
  padding:8px 0;
  border-left:1px solid rgba(255,255,255,.16);
  padding-left:24px;
}
.company-history-facts strong{
  display:block;
  color:var(--mint);
  font-family:Montserrat, Arial, sans-serif;
  font-size:clamp(34px,4vw,48px);
  line-height:1;
  margin-bottom:10px;
}
.company-history-facts span{color:var(--on-dark-soft); line-height:1.45;}

.company-timeline{
  position:relative;
  max-width:980px;
  margin:0 auto;
}
.company-timeline::before{
  content:"";
  position:absolute;
  left:154px;
  top:10px;
  bottom:10px;
  width:2px;
  background:linear-gradient(180deg,var(--green),rgba(131,196,86,.18));
}
.company-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:48px;
  margin-bottom:22px;
}
.company-timeline-item:last-child{margin-bottom:0;}
.company-timeline-year{
  align-self:start;
  text-align:center;
  padding:14px 12px;
  border-radius:var(--radius-btn);
  background:var(--green);
  color:#fff;
  font-weight:800;
  box-shadow:0 10px 22px rgba(var(--shadow-rgb),.14);
}
.company-timeline-body{
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius);
  padding:26px 28px;
  box-shadow:0 14px 30px rgba(var(--shadow-rgb),.08);
}
.company-timeline-body h3{font-size:21px; margin-bottom:10px;}
.company-timeline-body p{color:var(--ink-soft); line-height:1.65;}

.company-news-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:26px;
  align-items:stretch;
  margin-bottom:34px;
}
.company-news-intro > div:first-child,
.company-news-note{
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  box-shadow:0 16px 34px rgba(var(--shadow-rgb),.08);
  padding:32px;
}
.company-news-intro h2{font-size:clamp(26px,3vw,38px); margin-bottom:12px;}
.company-news-intro p{color:var(--ink-soft); max-width:760px;}
.company-news-note{
  background:var(--green-pale);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.company-news-note strong{font-size:20px; color:var(--green-dark); margin-bottom:8px;}
.company-news-note span{color:var(--ink-soft); line-height:1.55;}

/* ---------- реквизиты компании ---------- */
.company-requisites-page{
  background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);
}
.company-requisites-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  margin-bottom:36px;
}
.company-requisites-intro > div:first-child{max-width:760px;}
.company-requisites-intro h2{
  font-size:clamp(28px,3.4vw,42px);
  letter-spacing:-.035em;
  margin-bottom:14px;
}
.company-requisites-intro p{color:var(--ink-soft); font-size:16px; line-height:1.7;}
.company-requisites-actions{display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0;}
.company-requisites-actions .btn{justify-content:center;}
.company-requisites-actions .btn.is-copied{background:var(--navy); color:#fff; border-color:var(--navy);}

.company-requisites-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.company-requisites-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.1);
  border-radius:var(--radius);
  box-shadow:0 16px 36px rgba(var(--shadow-rgb),.08);
}
.company-requisites-card--wide{grid-column:1 / -1;}
.company-requisites-card__head{
  display:flex;
  align-items:center;
  gap:16px;
  padding:26px 30px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fff,var(--bg-alt));
}
.company-requisites-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
}
.company-requisites-card__head span:not(.company-requisites-card__icon){
  display:block;
  margin-bottom:3px;
  color:var(--ink-faint);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.company-requisites-card__head h2{font-size:clamp(21px,2.4vw,28px);}
.company-requisites-table-wrap{overflow-x:auto;}
.company-requisites-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.company-requisites-table tr:not(:last-child){border-bottom:1px solid var(--line);}
.company-requisites-table th,
.company-requisites-table td{
  padding:18px 30px;
  vertical-align:top;
  text-align:left;
  font-size:14.5px;
  line-height:1.55;
}
.company-requisites-table th{
  width:34%;
  color:var(--ink-faint);
  font-weight:600;
}
.company-requisites-table td{color:var(--ink); font-weight:600; overflow-wrap:anywhere;}
.company-requisites-table td small{color:var(--ink-faint); font-weight:500;}
.company-requisites-code{
  font-family:var(--f-mono);
  font-size:14px !important;
  letter-spacing:.015em;
}
.company-requisites-list{margin:0; padding:4px 30px 14px;}
.company-requisites-list > div{padding:19px 0;}
.company-requisites-list > div:not(:last-child){border-bottom:1px solid var(--line);}
.company-requisites-list dt{
  margin-bottom:6px;
  color:var(--ink-faint);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.company-requisites-list dd{margin:0; color:var(--ink); font-weight:600; line-height:1.62;}
.company-requisites-list a{color:var(--navy);}
.company-requisites-list a:hover{color:var(--green-dark);}
.company-requisites-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:36px;
  padding:34px;
  border-radius:var(--radius);
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.1);
  box-shadow:var(--shadow-card);
}
.company-requisites-note > div{max-width:760px;}
.company-requisites-note h2{font-size:clamp(23px,2.7vw,31px); margin-bottom:9px;}
.company-requisites-note p{color:var(--ink-soft); line-height:1.65;}
.company-requisites-note .btn{flex-shrink:0; justify-content:center;}

@media (max-width:1180px){
  .company-inner-hero,
  .company-process-card{grid-template-columns:minmax(0,1fr);}
  .company-inner-hero > *,
  .company-process-card > *{min-width:0;}
  .company-info-grid--four,
  .company-info-grid--three{grid-template-columns:repeat(2,1fr);}
  .company-history-facts{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:820px){
  .company-inner-hero__text{padding:32px 24px;}
  .company-inner-hero__media{min-height:280px;}
  .company-info-grid--four,
  .company-info-grid--three,
  .company-history-facts,
  .company-news-intro{grid-template-columns:1fr;}
  .company-process-card{padding:28px 22px;}
  .company-inner-cta{align-items:flex-start; flex-direction:column; padding:28px 22px;}
  .company-inner-cta__actions,
  .company-inner-cta__actions .btn{width:100%; justify-content:center;}
  .company-timeline::before{left:17px;}
  .company-timeline-item{grid-template-columns:1fr; gap:12px; padding-left:42px;}
  .company-timeline-year{justify-self:start;}
  .company-requisites-intro,
  .company-requisites-note{align-items:flex-start; flex-direction:column;}
  .company-requisites-grid{grid-template-columns:1fr;}
  .company-requisites-actions,
  .company-requisites-actions .btn,
  .company-requisites-note .btn{width:100%;}
  .company-requisites-card--wide{grid-column:auto;}
  .company-requisites-card__head{padding:22px 20px;}
  .company-requisites-table,
  .company-requisites-table tbody,
  .company-requisites-table tr,
  .company-requisites-table th,
  .company-requisites-table td{display:block; width:100%;}
  .company-requisites-table tr{padding:15px 20px;}
  .company-requisites-table th,
  .company-requisites-table td{padding:0;}
  .company-requisites-table th{margin-bottom:5px; font-size:12px;}
  .company-requisites-list{padding-left:20px; padding-right:20px;}
  .company-requisites-note{padding:28px 22px;}
}

/* =========================================================
   КАТАЛОГ ПРОДУКЦИИ
   ========================================================= */

.page-catalog .page-head{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(10,45,40,.92), rgba(10,45,40,.68)),
    url("/upload/agrigaz/zavod-aerial-wide.jpg") center/cover no-repeat;
}
.page-catalog .page-head::before{
  background:linear-gradient(180deg, rgba(13,43,38,.12), rgba(13,43,38,.58));
}
.page-catalog .page-head h1{max-width:820px;}
.page-catalog .page-head .lead{max-width:780px; font-size:16px;}

.catalog-page,
.catalog-section-page,
.catalog-detail-page{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%);}
.catalog-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.35fr);
  gap:28px;
  align-items:stretch;
  margin-bottom:36px;
}
.catalog-intro > div:first-child,
.catalog-intro-card{
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  box-shadow:0 16px 34px rgba(var(--shadow-rgb),.08);
  padding:34px;
}
.catalog-intro h2{font-size:clamp(30px,3.5vw,44px); margin-bottom:14px;}
.catalog-intro p{color:var(--ink-soft); max-width:820px; line-height:1.7;}
.catalog-intro-card{
  background:var(--green-pale);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.catalog-intro-card strong{
  color:var(--green-dark);
  font-family:Montserrat, Arial, sans-serif;
  font-size:54px;
  line-height:1;
  letter-spacing:-.06em;
  margin-bottom:12px;
}
.catalog-intro-card span{color:var(--ink-soft); line-height:1.52;}

.catalog-section-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.catalog-section-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(var(--shadow-rgb),.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.catalog-section-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 54px rgba(var(--shadow-rgb),.16);
  border-color:rgba(131,196,86,.45);
}
.catalog-section-photo{
  position:relative;
  height:230px;
  overflow:hidden;
  background:var(--navy);
}
.catalog-section-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,45,40,0), rgba(10,45,40,.48));
}
.catalog-section-photo img{width:100%; height:100%; object-fit:cover; transition:transform .55s ease;}
.catalog-section-card:hover .catalog-section-photo img{transform:scale(1.055);}
.catalog-section-ph{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  text-align:center;
  color:#fff;
  background:linear-gradient(135deg,var(--navy),var(--green-dark));
}
.catalog-section-num{
  position:absolute;
  left:22px;
  bottom:20px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-weight:800;
  box-shadow:0 10px 24px rgba(var(--shadow-rgb),.2);
}
.catalog-section-body{padding:28px; display:flex; flex-direction:column; flex:1;}
.catalog-section-kicker,
.catalog-item-kicker{
  color:var(--green-dark);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
}
.catalog-section-body h3{font-size:22px; line-height:1.2; margin-bottom:12px;}
.catalog-section-body p{color:var(--ink-soft); line-height:1.62; margin-bottom:22px;}
.catalog-section-meta{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto;}
.catalog-section-meta > span:first-child{
  color:var(--ink-faint);
  font-size:13px;
  font-weight:700;
}
.catalog-empty{
  padding:34px;
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-card);
  color:var(--ink-soft);
}

.catalog-help-band{padding:0 0 72px; background:var(--bg-alt);}
.catalog-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:38px;
  border-radius:var(--radius-lg);
  color:#fff;
  background:
    linear-gradient(90deg, rgba(10,45,40,.96), rgba(10,45,40,.82)),
    url("/upload/agrigaz/zavod-aerial-wide.jpg") center/cover no-repeat;
  box-shadow:var(--shadow-card);
}
.catalog-help h2{color:#fff; font-size:clamp(24px,3vw,34px); margin-bottom:8px;}
.catalog-help p{max-width:760px; color:rgba(255,255,255,.78);}
.catalog-help-actions{display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0;}

.catalog-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:34px;
  padding:34px;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(var(--shadow-rgb),.08);
}
.catalog-section-head h2{font-size:clamp(28px,3.4vw,42px); margin-bottom:10px;}
.catalog-section-head p{color:var(--ink-soft); max-width:760px; line-height:1.65;}

.catalog-direction-hero{
  display:grid;
  grid-template-columns:minmax(380px,.88fr) minmax(0,1.12fr);
  align-items:start;
  overflow:visible;
  gap:24px;
  margin-bottom:54px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.catalog-direction-photo{
  position:relative;
  height:460px;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  background:var(--navy);
  box-shadow:var(--shadow-card);
}
.catalog-direction-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,35,31,.02) 38%,rgba(8,35,31,.8) 100%);
  pointer-events:none;
}
.catalog-direction-photo img{width:100%; height:100%; object-fit:cover; transition:transform .8s ease;}
.catalog-direction-hero:hover .catalog-direction-photo img{transform:scale(1.025);}
.catalog-direction-photo-label{
  position:absolute;
  z-index:2;
  left:34px;
  right:34px;
  bottom:30px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  color:#fff;
}
.catalog-direction-photo-label span{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.7);
}
.catalog-direction-photo-label strong{font-family:Montserrat,Arial,sans-serif; font-size:18px;}
.catalog-direction-content{
  padding:46px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.catalog-direction-content h2{font-size:clamp(32px,4vw,50px); line-height:1.08; margin-bottom:20px;}
.catalog-direction-copy{color:var(--ink-soft); font-size:16px; line-height:1.72;}
.catalog-direction-copy p + p{margin-top:14px;}
.catalog-direction-copy ul{display:grid; gap:8px; margin:18px 0 0; padding:0;}
.catalog-direction-copy li{position:relative; padding-left:23px;}
.catalog-direction-copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(131,196,86,.14);
}
.catalog-direction-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}
.catalog-direction-summary span{
  padding:14px 16px;
  border-radius:var(--radius-sm);
  background:var(--bg-alt);
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.35;
}
.catalog-direction-summary b{display:block; margin-bottom:3px; color:var(--green-dark); font-size:16px;}
.catalog-direction-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.catalog-direction-more{
  margin-top:34px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.catalog-direction-more summary{
  min-height:104px;
  padding:24px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  cursor:pointer;
  list-style:none;
}
.catalog-direction-more summary::-webkit-details-marker{display:none;}
.catalog-direction-more summary span{display:grid; gap:5px;}
.catalog-direction-more summary small{
  color:var(--orange);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.catalog-direction-more summary strong{
  color:var(--green-dark);
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(19px,2.2vw,26px);
  line-height:1.25;
}
.catalog-direction-more summary i{
  position:relative;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:50%;
  background:var(--bg-alt);
  transition:background .25s ease,transform .25s ease;
}
.catalog-direction-more summary i::before,
.catalog-direction-more summary i::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:2px;
  background:var(--green-dark);
  transform:translate(-50%,-50%);
}
.catalog-direction-more summary i::after{transform:translate(-50%,-50%) rotate(90deg); transition:transform .25s ease;}
.catalog-direction-more[open] summary i{background:var(--green); transform:rotate(180deg);}
.catalog-direction-more[open] summary i::before,
.catalog-direction-more[open] summary i::after{background:#fff;}
.catalog-direction-more[open] summary i::after{transform:translate(-50%,-50%) rotate(0);}
.catalog-direction-more-content{
  padding:30px;
  border-top:1px solid var(--line);
  color:var(--ink-soft);
  font-size:16px;
  line-height:1.75;
}
.catalog-direction-more-content p + p{margin-top:16px;}
.catalog-direction-more-content ul{display:grid; gap:9px; margin:18px 0 0; padding:0;}
.catalog-direction-more-content li{position:relative; padding-left:22px;}
.catalog-direction-more-content li::before{content:""; position:absolute; left:0; top:.7em; width:7px; height:7px; border-radius:50%; background:var(--orange);}
.consumer-subcategory-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.consumer-subcategory-card{
  min-width:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.consumer-subcategory-card:hover{transform:translateY(-5px); border-color:rgba(243,105,45,.35); box-shadow:0 22px 48px rgba(var(--shadow-rgb),.14);}
.consumer-subcategory-photo{min-height:310px; padding:24px; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#f8fbfa,#eef6f2); overflow:hidden;}
.consumer-subcategory-photo img{width:100%; height:100%; max-height:280px; object-fit:contain; transition:transform .5s ease;}
.consumer-subcategory-card:hover .consumer-subcategory-photo img{transform:scale(1.045);}
.consumer-subcategory-body{padding:32px 30px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;}
.consumer-subcategory-body > span{margin-bottom:12px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;}
.consumer-subcategory-body h3{margin-bottom:14px; color:var(--green-dark); font-size:clamp(25px,2.5vw,34px); line-height:1.15;}
.consumer-subcategory-body p{margin-bottom:24px; color:var(--ink-soft); line-height:1.6;}
.consumer-subcategory-body strong{margin-top:auto; color:var(--orange); font-size:13px; text-transform:uppercase; letter-spacing:.04em;}
.consumer-subcategory-body strong i{display:inline-block; margin-left:7px; font-style:normal; transition:transform .2s ease;}
.consumer-subcategory-card:hover .consumer-subcategory-body strong i{transform:translateX(4px);}
.consumer-catalog-tabs{margin-top:0;}
.consumer-catalog-tabs .catalog-tab-nav button{display:flex; align-items:center; gap:10px;}
.consumer-catalog-tabs .catalog-tab-nav small{min-width:26px; height:26px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center; border-radius:13px; background:rgba(40,119,102,.1); color:var(--green-dark); font-size:11px;}
.consumer-catalog-tabs .catalog-tab-nav button.is-active small{background:var(--orange); color:#fff;}
.consumer-tab-intro{margin:0 0 26px; color:var(--ink-soft); font-size:16px; line-height:1.65;}
.consumer-product-list .catalog-items-grid{grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch;}
.consumer-product-list .catalog-item-card{display:flex; min-width:0; flex-direction:column;}
.consumer-product-list .catalog-item-photo{height:260px; min-height:260px; padding:20px; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#fbfcfc,#f0f6f3);}
.consumer-product-list .catalog-item-photo img{object-fit:contain;}
.consumer-product-list .catalog-item-body{padding:24px; flex:1;}
.consumer-product-list .catalog-item-body h3{font-size:21px;}
.consumer-product-list .catalog-item-body p{font-size:14px;}
.consumer-product-list .catalog-item-meta{grid-template-columns:1fr; margin:18px 0 12px;}
.consumer-product-list .catalog-item-features{margin-top:8px;}
.consumer-product-list .catalog-item-actions{margin-top:auto; padding-top:20px;}
.consumer-product-list .catalog-item-actions .btn{padding-left:17px; padding-right:17px; font-size:11px;}
.catalog-products-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:30px;
  scroll-margin-top:130px;
}
.catalog-products-heading h2{font-size:clamp(30px,3.5vw,44px); margin-bottom:10px;}
.catalog-products-heading p{max-width:760px; color:var(--ink-soft); line-height:1.6;}
.catalog-products-count{
  display:grid;
  place-items:center;
  flex:0 0 68px;
  width:68px;
  height:68px;
  border-radius:50%;
  background:var(--green-pale);
  color:var(--green-dark);
  font-family:Montserrat,Arial,sans-serif;
  font-size:26px;
  font-weight:800;
}

.catalog-items-grid{display:grid; gap:24px;}
.catalog-item-card{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(var(--shadow-rgb),.08);
}
.catalog-item-photo{
  min-height:300px;
  background:var(--bg-alt);
  overflow:hidden;
}
.catalog-item-photo img{width:100%; height:100%; object-fit:cover; transition:transform .55s ease;}
.catalog-item-card:hover .catalog-item-photo img{transform:scale(1.04);}
.catalog-item-body{padding:32px; display:flex; flex-direction:column;}
.catalog-item-body h3{font-size:26px; line-height:1.2; margin-bottom:12px;}
.catalog-item-body h3 a:hover{color:var(--green-dark);}
.catalog-item-body p{color:var(--ink-soft); line-height:1.62;}
.catalog-item-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:24px 0 18px;
}
.catalog-item-meta span{
  padding:12px;
  border-radius:var(--radius-sm);
  background:var(--bg-alt);
  color:var(--ink);
  font-size:13px;
}
.catalog-item-meta b{display:block; color:var(--ink-faint); font-size:11px; text-transform:uppercase; margin-bottom:4px;}
.catalog-item-features{display:grid; gap:8px; margin:0 0 24px; padding:0;}
.catalog-item-features li{position:relative; padding-left:20px; color:var(--ink-soft);}
.catalog-item-features li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.catalog-item-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:auto;}

.catalog-detail-hero{
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:start;
}
.catalog-gallery,
.catalog-detail-summary,
.catalog-tabs{
  background:#fff;
  border:1px solid rgba(var(--shadow-rgb),.08);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.catalog-gallery{padding:18px;}
.catalog-gallery-main{
  position:relative;
  height:460px;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--bg-alt);
  cursor:zoom-in;
}
.catalog-gallery-main:focus-visible{outline:3px solid rgba(var(--shadow-rgb),.35); outline-offset:3px;}
.catalog-gallery-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
}
.catalog-gallery-slide.is-active{opacity:1; visibility:visible;}
.catalog-gallery-slide img{width:100%; height:100%; object-fit:cover;}
.catalog-gallery-zoom{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(7,31,27,.78);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1;
  backdrop-filter:blur(8px);
  transition:background .25s ease, transform .25s ease;
}
.catalog-gallery-main:hover .catalog-gallery-zoom{background:var(--green); transform:translateY(-2px);}
.catalog-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:12px;
}
.catalog-gallery-thumbs button{
  height:86px;
  border:2px solid transparent;
  border-radius:var(--radius-sm);
  overflow:hidden;
  padding:0;
  background:var(--bg-alt);
  cursor:pointer;
}
.catalog-gallery-thumbs button.is-active{border-color:var(--green);}
.catalog-gallery-thumbs img{width:100%; height:100%; object-fit:cover;}

body.catalog-lightbox-open{overflow:hidden;}
.catalog-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:32px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.catalog-lightbox.is-open{opacity:1; visibility:visible; pointer-events:auto;}
.catalog-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,18,15,.94);
  backdrop-filter:blur(8px);
}
.catalog-lightbox-dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  width:min(1120px,calc(100vw - 64px));
  height:min(800px,calc(100vh - 64px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:#071d19;
  box-shadow:0 30px 80px rgba(0,0,0,.42);
  transform:scale(.97);
  transition:transform .28s ease;
}
.catalog-lightbox.is-open .catalog-lightbox-dialog{transform:scale(1);}
.catalog-lightbox-stage{position:relative; min-height:0; overflow:hidden; touch-action:pan-y;}
.catalog-lightbox-slide{
  position:absolute;
  inset:0;
  box-sizing:border-box;
  opacity:0;
  visibility:hidden;
  transform:translateX(18px);
  transition:opacity .3s ease, visibility .3s ease, transform .3s ease;
}
.catalog-lightbox-slide.is-active{opacity:1; visibility:visible; transform:translateX(0);}
.catalog-lightbox-media{
  position:absolute;
  inset:38px 80px 24px;
}
.catalog-lightbox-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:10px;
  user-select:none;
  -webkit-user-drag:none;
}
.catalog-lightbox-close,
.catalog-lightbox-arrow{
  position:absolute;
  z-index:3;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(255,255,255,.11);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.catalog-lightbox-close:hover,
.catalog-lightbox-arrow:hover{background:var(--green); border-color:var(--green);}
.catalog-lightbox-close:focus-visible,
.catalog-lightbox-arrow:focus-visible{outline:3px solid rgba(255,255,255,.42); outline-offset:3px;}
.catalog-lightbox-close{top:18px; right:18px;}
.catalog-lightbox-close:hover{transform:rotate(5deg);}
.catalog-lightbox-arrow{top:calc(50% - 30px); transform:translateY(-50%);}
.catalog-lightbox-arrow:hover{transform:translateY(-50%) scale(1.06);}
.catalog-lightbox-prev{left:20px;}
.catalog-lightbox-next{right:20px;}
.catalog-lightbox-footer{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:68px;
  padding:16px 24px;
  border-top:1px solid rgba(255,255,255,.11);
  background:rgba(3,16,14,.82);
  color:#fff;
}
.catalog-lightbox-footer strong{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.catalog-lightbox-footer span{flex:0 0 auto; color:rgba(255,255,255,.72); font-size:14px;}
.catalog-lightbox-footer b{color:#fff; font-size:17px;}
.catalog-detail-summary{padding:38px;}
.catalog-detail-summary h2{font-size:clamp(30px,3.6vw,46px); line-height:1.08; margin-bottom:16px;}
.catalog-detail-lead{font-size:17px; line-height:1.68; color:var(--ink-soft);}
.catalog-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:28px 0;
}
.catalog-summary-grid div{
  padding:16px;
  border-radius:var(--radius-sm);
  background:var(--bg-alt);
}
.catalog-summary-grid span{display:block; color:var(--ink-faint); font-size:12px; text-transform:uppercase; margin-bottom:6px;}
.catalog-summary-grid strong{font-size:16px; color:var(--ink);}
.catalog-detail-notice{
  padding:16px 18px;
  border-left:4px solid var(--green);
  border-radius:var(--radius-sm);
  background:var(--green-pale);
  color:var(--green-dark);
  margin-bottom:24px;
}
.catalog-detail-actions{display:flex; gap:12px; flex-wrap:wrap;}

.catalog-tabs{margin-top:34px; overflow:hidden;}
.catalog-tab-nav{
  display:flex;
  gap:0;
  overflow-x:auto;
  border-bottom:1px solid var(--line);
  background:var(--bg-alt);
}
.catalog-tab-nav button{
  padding:20px 24px;
  border:none;
  background:transparent;
  color:var(--ink-soft);
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  border-bottom:3px solid transparent;
}
.catalog-tab-nav button.is-active{
  color:var(--green-dark);
  background:#fff;
  border-bottom-color:var(--green);
}
.catalog-tab-panel{display:none; padding:34px;}
.catalog-tab-panel.is-active{display:block;}
.catalog-rich-text{max-width:980px;}
.catalog-rich-text p{color:var(--ink-soft); line-height:1.72; margin-bottom:16px;}
.catalog-rich-text h3{font-size:23px; margin:28px 0 14px;}
.catalog-rich-text ul{display:grid; gap:10px; margin:0; padding:0;}
.catalog-rich-text li{position:relative; padding-left:22px; color:var(--ink-soft);}
.catalog-rich-text li::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}
.catalog-table-wrap{overflow-x:auto;}
.catalog-table-wrap table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:720px;
  font-size:14px;
}
.catalog-table-wrap th,
.catalog-table-wrap td{
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
.catalog-table-wrap th,
.catalog-table-wrap thead td{background:var(--green-pale); color:var(--green-dark); font-weight:800;}
.catalog-table-wrap h2{font-size:22px; margin:26px 0 14px;}
.catalog-table-wrap h2:first-child{margin-top:0;}
.catalog-table-wrap tbody tr td[colspan]{font-weight:800; color:var(--green-dark); background:rgba(131,196,86,.09);}
.catalog-table-wrap tr:hover td{background:var(--bg-alt);}
.catalog-fitting-grid,
.catalog-doc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.catalog-fitting-card,
.catalog-doc-card{
  padding:24px;
  border-radius:var(--radius);
  background:var(--bg-alt);
  border:1px solid rgba(var(--shadow-rgb),.08);
}
.catalog-fitting-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:var(--green-pale);
  color:var(--green-dark);
  margin-bottom:18px;
}
.catalog-fitting-card h3{font-size:19px; margin-bottom:8px;}
.catalog-fitting-card p{color:var(--ink-soft);}
.catalog-fitting-card--managed{padding:0; overflow:hidden; background:#fff;}
.catalog-fitting-media{
  display:grid;
  height:210px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.catalog-fitting-media.has-pair{grid-template-columns:repeat(2,minmax(0,1fr));}
.catalog-fitting-media a{display:block; min-width:0; overflow:hidden;}
.catalog-fitting-media a + a{border-left:1px solid var(--line);}
.catalog-fitting-media img{width:100%; height:100%; object-fit:contain; padding:12px; transition:transform .35s ease;}
.catalog-fitting-media a:hover img{transform:scale(1.045);}
.catalog-fitting-media--empty{place-items:center; color:var(--green-dark); background:var(--green-pale);}
.catalog-fitting-body{padding:21px 22px 23px;}
.catalog-fitting-body p{font-weight:700; color:var(--green-dark);}
.catalog-fitting-description{margin-top:10px; color:var(--ink-soft); font-size:14px; line-height:1.55;}
.catalog-doc-card{display:block; transition:transform .18s ease, border-color .18s ease;}
.catalog-doc-card:hover{transform:translateY(-3px); border-color:var(--green);}
.catalog-doc-card span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:12px;
  font-weight:800;
  margin-bottom:14px;
}
.catalog-doc-card strong{display:block; color:var(--ink); line-height:1.35;}

.catalog-model-shell{
  overflow:hidden;
  border:1px solid rgba(var(--shadow-rgb),.1);
  border-radius:var(--radius-lg);
  background:#fff;
  box-shadow:var(--shadow-card);
}
.catalog-model-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:32px 34px 28px;
}
.catalog-model-head h3{margin:10px 0 10px; font-size:clamp(24px,3vw,34px); line-height:1.14;}
.catalog-model-head p{max-width:760px; color:var(--ink-soft); line-height:1.65;}
.catalog-model-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  background:var(--green-pale);
  color:var(--green-dark);
  font-family:var(--f-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.catalog-model-stage{
  position:relative;
  min-height:540px;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 46%, rgba(131,196,86,.18), rgba(131,196,86,0) 34%),
    linear-gradient(145deg,#f8fbf9,#eaf2ed);
}
.catalog-model-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    linear-gradient(rgba(28,92,76,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(28,92,76,.06) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 28%,#000 100%);
}
.catalog-model-viewer{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:540px;
  background:transparent;
  --poster-color:transparent;
  --progress-bar-color:var(--green);
  --progress-bar-height:4px;
}
.catalog-model-viewer:focus-visible{outline:3px solid rgba(var(--shadow-rgb),.28); outline-offset:-3px;}
.catalog-model-controls{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  display:flex;
  gap:8px;
  pointer-events:none;
}
.catalog-model-controls span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:var(--green-dark);
  box-shadow:0 8px 24px rgba(var(--shadow-rgb),.12);
  backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:800;
}
.catalog-model-ar{
  position:absolute;
  right:18px;
  bottom:18px;
  min-height:42px;
  padding:10px 16px;
  border:0;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  box-shadow:0 10px 26px rgba(210,79,26,.24);
  font-weight:800;
  cursor:pointer;
}
.catalog-model-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:20px 34px;
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.55;
}
.catalog-model-note a{flex:0 0 auto; color:var(--green-dark); font-weight:800;}
.catalog-model-note a:hover{color:var(--orange);}

@media (max-width:1180px){
  .catalog-section-grid,
  .catalog-fitting-grid,
  .catalog-doc-grid{grid-template-columns:repeat(2,1fr);}
  .catalog-item-card,
  .catalog-detail-hero,
  .catalog-direction-hero{grid-template-columns:minmax(0,1fr);}
  .catalog-item-card > *,
  .catalog-detail-hero > *,
  .catalog-direction-hero > *{min-width:0;}
  .catalog-item-photo{min-height:260px;}
  .catalog-direction-photo{height:390px; min-height:0;}
  .consumer-subcategory-grid{grid-template-columns:1fr;}
  .consumer-product-list .catalog-items-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:820px){
  .privacy-intro{grid-template-columns:1fr; gap:24px; padding:30px;}
  .privacy-version{max-width:320px;}
  .privacy-layout{grid-template-columns:1fr; gap:30px;}
  .privacy-nav{position:static; display:flex; overflow-x:auto; gap:6px; padding:12px;}
  .privacy-nav strong{display:none;}
  .privacy-nav a{flex:0 0 auto; white-space:nowrap; background:var(--bg-alt);}
  .route-map-steps{grid-template-columns:1fr;}
  .page-catalog .page-head{padding:48px 0 62px;}
  .catalog-intro,
  .catalog-section-grid,
  .catalog-item-meta,
  .catalog-summary-grid,
  .catalog-fitting-grid,
  .catalog-doc-grid{grid-template-columns:1fr;}
  .catalog-intro > div:first-child,
  .catalog-intro-card,
  .catalog-section-head,
  .catalog-detail-summary,
  .catalog-direction-content{padding:26px 22px;}
  .catalog-direction-more summary,
  .catalog-direction-more-content{padding:22px;}
  .catalog-section-head,
  .catalog-help{align-items:flex-start; flex-direction:column;}
  .catalog-products-heading{align-items:flex-start;}
  .catalog-help-actions,
  .catalog-help-actions .btn,
  .catalog-item-actions,
  .catalog-item-actions .btn,
  .catalog-detail-actions,
  .catalog-detail-actions .btn{width:100%; justify-content:center;}
  .catalog-gallery-main{height:320px;}
  .catalog-gallery-thumbs{grid-template-columns:repeat(3,1fr);}
  .catalog-lightbox{padding:16px;}
  .catalog-lightbox-dialog{width:calc(100vw - 32px); height:calc(100vh - 32px);}
  .catalog-lightbox-media{inset:58px 62px 18px;}
  .catalog-lightbox-arrow{width:44px; height:44px;}
  .catalog-lightbox-prev{left:12px;}
  .catalog-lightbox-next{right:12px;}
  .catalog-tab-panel{padding:24px 18px;}
  .catalog-model-head{align-items:flex-start; flex-direction:column; padding:26px 22px 22px;}
  .catalog-model-stage,
  .catalog-model-viewer{height:440px; min-height:440px;}
  .catalog-model-note{align-items:flex-start; flex-direction:column; padding:18px 22px;}
  .catalog-direction-summary{grid-template-columns:1fr;}
  .catalog-direction-actions,
  .catalog-direction-actions .btn{width:100%; justify-content:center;}
  .catalog-direction-photo{height:300px; min-height:0;}
  .catalog-direction-photo-label{left:22px; right:22px; bottom:22px;}
  .consumer-subcategory-card{grid-template-columns:1fr;}
  .consumer-subcategory-photo{min-height:260px;}
  .consumer-catalog-tabs .catalog-tab-nav{overflow-x:auto; flex-wrap:nowrap;}
  .consumer-catalog-tabs .catalog-tab-nav button{flex:0 0 auto; white-space:nowrap;}
}

@media (max-width:560px){
  .privacy-intro{padding:24px 20px; margin-bottom:32px;}
  .privacy-intro h2{font-size:28px;}
  .privacy-purpose-grid,.privacy-operator{grid-template-columns:1fr;}
  .privacy-content h2{font-size:21px;}
  .route-map-head{align-items:flex-start; flex-direction:column;}
  .catalog-products-heading{display:block;}
  .catalog-products-count{width:54px; height:54px; margin-top:18px; font-size:22px;}
  .consumer-product-list .catalog-items-grid{grid-template-columns:1fr;}
  .consumer-subcategory-body{padding:26px 22px;}
  .consumer-product-list .catalog-item-photo{height:240px; min-height:240px;}
  .catalog-gallery-zoom{right:12px; bottom:12px; padding:9px 12px;}
  .catalog-model-head h3{font-size:23px;}
  .catalog-model-stage,
  .catalog-model-viewer{height:360px; min-height:360px;}
  .catalog-model-controls{left:10px; bottom:10px; gap:6px;}
  .catalog-model-controls span{min-height:34px; padding:7px 9px; font-size:11px;}
  .catalog-model-controls svg{width:15px; height:15px;}
  .catalog-model-ar{right:10px; bottom:56px; min-height:38px; padding:8px 12px; font-size:12px;}
  .catalog-lightbox{padding:0;}
  .catalog-lightbox-dialog{width:100%; height:100%; min-width:0; max-width:100%; border:0; border-radius:0;}
  .catalog-lightbox-stage,
  .catalog-lightbox-slide,
  .catalog-lightbox-footer{min-width:0;}
  .catalog-lightbox:not(.is-open) .catalog-lightbox-slide{visibility:hidden;}
  .catalog-lightbox-media{inset:60px 50px 14px;}
  .catalog-lightbox-close{top:12px; right:12px; width:44px; height:44px;}
  .catalog-lightbox-arrow{width:42px; height:42px;}
  .catalog-lightbox-prev{left:6px;}
  .catalog-lightbox-next{right:6px;}
  .catalog-lightbox-footer{min-height:62px; padding:13px 16px; gap:14px;}
  .catalog-lightbox-footer strong{font-size:14px;}
  .catalog-direction-photo-label{align-items:flex-start; flex-direction:column; gap:6px;}
}

@media (max-width:380px){
  .services-intro h2{font-size:21px;}
  .page-head h1{overflow-wrap:anywhere;}
  .catalog-direction-content h2,
  .catalog-detail-summary h2{font-size:23px; overflow-wrap:anywhere;}
  .catalog-item-card h3,
  .catalog-rich-text{overflow-wrap:anywhere;}
  .company-hero-text h2,
  .company-production-text h2,
  .company-process-text h2{font-size:21px; overflow-wrap:anywhere;}
  .company-hero-badge span{min-width:0;}
  .company-process-card .eyebrow{white-space:normal; flex-wrap:wrap;}
  .company-process-steps span{min-width:0; overflow-wrap:anywhere;}
}

@media (prefers-reduced-motion:reduce){
  .catalog-gallery-slide,
  .catalog-gallery-zoom,
  .catalog-lightbox,
  .catalog-lightbox-dialog,
  .catalog-lightbox-slide{transition:none;}
}

/* End */


/* Start:/local/templates/agrigaz/styles.css?1789575536942*/
/* =========================================================
   Стили для контента, редактируемого в визуальном редакторе
   (доступны менеджеру в выпадающем списке «Стиль»)
   ========================================================= */

.text-lead{font-size:17px; line-height:1.65; color:var(--ink-soft);}
.text-note{font-size:13.5px; color:var(--ink-faint);}
.text-accent{color:var(--green-dark); font-weight:600;}

.content-table{width:100%; border-collapse:collapse; font-size:14.5px; margin:24px 0;}
.content-table th,
.content-table td{border:1px solid var(--line); padding:10px 14px; text-align:left;}
.content-table th{background:var(--bg-alt); font-weight:700; color:var(--navy);}

.content-callout{
  background:var(--green-pale);
  border-left:3px solid var(--green);
  padding:18px 22px;
  border-radius:var(--radius);
  margin:24px 0;
}

/* End */
/* /local/templates/agrigaz/assets/css/style.css?178957553650587 */
/* /local/templates/agrigaz/template_styles.css?1789586580123720 */
/* /local/templates/agrigaz/styles.css?1789575536942 */
