:root{
  --red:#D72225;
  --red-dark:#b51a1a;
  --graphite:#232e41;
  --graphite-2:#2d3a50;
  --graphite-3:#3b485b;
  --ink:#151515;
  --text:#555;
  --muted:#8a8a8a;
  --line:#E5E5E5;
  --light:#F5F5F5;
  --white:#fff;
  --soft-blue:#EEF3F4;
  --soft-rose:#FFF7F7;
  --radius:18px;
  --shadow:0 16px 45px rgba(35,46,65,.10);
  --soft-shadow:0 8px 25px rgba(35,46,65,.07);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial, Helvetica, sans-serif;background:var(--light);color:var(--ink);line-height:1.35;font-size:16px}
a{text-decoration:none;color:inherit}
.container{width:1200px;max-width:calc(100% - 48px);margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border-radius:12px;font-weight:800;font-size:13px;text-transform:uppercase;border:1px solid transparent;letter-spacing:.02em;white-space:nowrap}
.btn-red{background:var(--red);color:white}
.btn-red:hover{background:var(--red-dark)}
.btn-light{background:#fff;border-color:#d7dbe0;color:var(--ink)}
.btn-dark{background:var(--graphite);color:#fff}
.section{padding:56px 0}
.section .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;}
.section .head p{margin-top:8px;}
.center{text-align:center;}
.owl-prev{left: -21px;}
.owl-next{right: -21px;}
.owl-prev,.owl-next{position:absolute;top:44%;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--soft-shadow);display:flex;align-items:center;justify-content:center;font-weight:900;color: var(--graphite); z-index: 2;}
.owl-prev span,.owl-next span{font-size: 18px;line-height: 18px;display: block;height: 20px;}
h1,h2,h3{font-family:Arial, Helvetica, sans-serif;color:var(--ink);font-weight:900;letter-spacing:-.03em}
h1{font-size:48px;line-height:1.05;text-transform:uppercase}
h2{font-size:36px;line-height:1.08}
h3{font-size:20px}
p{color:var(--text)}

/* header */
.header-wrap{padding:24px 0 0}
.header-wrap.fixed{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--graphite);padding:0;}
.header-wrap .header{background:#fff;border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:var(--shadow);}
.header-wrap.fixed .header{border-radius:unset;border: none;}
.header-wrap.fixed .header-top{display:none}

main{overflow:hidden;max-width:100%;}
main.fixed{padding-top:200px}

/* Верхняя часть шапки: сохраняем форму, выравниваем элементы по одной линии */
.header-top{display:grid;grid-template-columns:260px minmax(190px,1fr) 215px 360px;align-items:center;gap:18px;padding:20px 30px;}
.brand-block{min-width:0}
.logo{font-size:34px;font-weight:900;color:var(--red);line-height:.92;text-transform:uppercase}
.logo-sub{font-size:15px;font-weight:900;color:#7d7d7d;text-transform:uppercase}
.logo-age{font-size:11px;color:var(--red);font-weight:900;letter-spacing:.14em;margin-top:3px}

.header-contact{justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:56px;}
.tel{font-size:17px;font-weight:900;text-align:right;color:var(--ink);white-space:nowrap;line-height:1.1}
.socials{display:flex;justify-content:flex-end;gap:7px}
.social-link{width:26px;height:26px;border-radius:50%;display:block;overflow:hidden;box-shadow:0 4px 12px rgba(35,46,65,.10)}
.social-link img{width:100%;height:100%;display:block;object-fit:cover}

.header-address{ align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:18px;}
.time{font-size:12px;color:var(--ink);text-align:left;font-weight:900;margin-bottom:5px;white-space:nowrap}
.address-line{font-size:12px;color:var(--text);line-height:1.32;text-align:left}
.address-line span{color:var(--red);font-weight:900}

.callback{justify-self:end;min-width:154px;min-height:44px}

/* Нижнее меню — как в предыдущей версии, ровная тёмная плашка */
.nav-dark{background:var(--graphite);display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 32px;}
.nav-dark .btn{border-radius:10px;min-height:38px;padding:9px 16px;font-size:12px}

@media(max-width:1180px){
  .header-top{grid-template-columns:230px 185px 175px 1fr 150px;gap:14px;padding:18px 24px}
  .main-menu{gap:24px}
  .top-menu a{font-size:12px;padding:0 8px}
  .address-line{font-size:11px}
}
@media(max-width:980px){
	.header-top {grid-template-columns:1fr 1fr;gap:16px 22px;padding:18px 24px;}
	.top-menu{grid-column:2;grid-row:1;justify-self:end;}
	.header-contact{grid-column: 1; grid-row: 2; justify-self: start; align-items: flex-start;}
	.header-address{grid-column: 2; grid-row: 2; justify-self: end; border-left: 1px solid var(--line); border-top: 0; padding: 0 0 0 18px; max-width: 360px;}
	.callback{grid-column:2;grid-row:3;justify-self:end}
	.nav-dark{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 24px}
	.main-menu{flex-wrap:wrap;gap:18px 26px}
	.main-menu a{padding:0}
}
@media(max-width:640px){
	h1{font-size:32px;}
	h2{font-size:26px;}
	h3{font-size:18px}
  .header-top{grid-template-columns:1fr;gap:14px}
  .top-menu,.header-contact,.header-address,.callback{grid-column:auto;grid-row:auto;justify-self:start}
  .callback{width:100%}
  .top-menu{justify-self:start}
  .header-contact{align-items:flex-start}
  .tel{text-align:left}
  .header-address{grid-column:auto;grid-row:auto;border-left:none;padding:0;}
  .callback{justify-self:start;grid-column:auto;grid-row:auto}
}

/* clean final footer */
.pl-footer-final{
  margin-top:72px;
  background:#232e41;
  color:#fff;
  border-radius:34px 34px 0 0;
  overflow:hidden;
  box-shadow:0 -18px 48px rgba(35,46,65,.16);
}
.pl-footer-inner{
  padding:48px 0 30px;
}
.pl-footer-grid{
	display: grid;
    grid-template-columns: 1.05fr 1fr 1.05fr 1.05fr;
    gap: 0;
    align-items: stretch;
    background: #eef0f2;
    border: 1px solid #dbe1e6;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .13);
}
.pl-footer-card{
	background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #232e41;
    padding: 5px 20px;
	
}
.pl-footer-card:not(:last-child) {
    border-right: 1px solid #d6dde3;
}
.pl-footer-card ul {
	display: block;
}
.pl-footer-card ul li {
	display: block;
}
.pl-footer-brand{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
  padding:26px 24px;
}
.pl-footer-logo{
  color:#D72225;
  font-size:38px;
  line-height:.9;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.pl-footer-subtitle{
  margin-top:7px;
  color:#5f6976;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
}
.pl-footer-years{
  margin-top:8px;
  color:#D72225;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.pl-footer-brand-text{
  margin:24px 0 0;
  color:#56606d;
  font-size:14px;
  line-height:1.6;
}
.pl-footer-benefits{
  display:grid;
  gap:10px;
}
.pl-footer-benefits div{
  min-height:42px;
  display:flex;
  align-items:center;
  background:#f7f8f9;
  border:1px solid #dde2e8;
  border-radius:13px;
  padding:10px 13px;
  color:#232e41;
  font-size:14px;
  font-weight:800;
}
.pl-footer-links h3,
.pl-footer-contacts h3{
  margin:0 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid #dde2e8;
  color:#232e41;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
}
.pl-footer-links a{
  display:block;
  margin-bottom:11px;
  color:#303948;
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
  transition:.18s ease;
}
.pl-footer-links a:hover{
  color:#D72225;
}
.pl-footer-phone{
  display:block;
  margin-bottom:0px;
  color:#232e41;
  font-size:16px;
  line-height:1.15;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.compact-worktime, .compact-address {
	margin: 0;
    color: #56606d;
    font-size: 12px;
    line-height: 1.32;
}
.pl-footer-contact-row{
  margin-bottom:16px;
}
.pl-footer-contact-row span{
  display:block;
  margin-bottom:8px;
  color:#D72225;
  font-size:11px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pl-footer-contact-row p{
  margin:0;
  color:#56606d;
  font-size:14px;
  line-height:1.55;
}
.pl-footer-contact-row b{
  color:#232e41;
  font-weight:900;
}
.pl-footer-messengers{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:5px 0 0;
}
.pl-footer-messengers a{
  width:29px;
  height:29px;
  border-radius:50%;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(35,46,65,.10);
  overflow:hidden;
}
.pl-footer-messengers img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pl-footer-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  border-radius:13px;
  background:#D72225;
  color:#fff;
  font-weight:900;
  font-size:14px;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(215,34,37,.25);
}
.pl-footer-button:hover{
  color:#fff;
}
.pl-footer-bottom{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  width:100%;
}
.pl-footer-bottom p{
  flex:1 1 auto;
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:12px;
  line-height:1.45;
  text-align:left;
  max-width:none;
}
.pl-footer-seo{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  text-decoration:none;
  white-space:nowrap;
}
.pl-footer-seo span{
  color:rgba(255,255,255,.56);
  font-size:12px;
}
.pl-footer-seo img{
  height:36px;
  width:auto;
  display:block;
}
@media(max-width:1180px){
  .pl-footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .pl-footer-card:nth-child(even) {
	 border-right: none
  }
}
@media(max-width:820px){
  .pl-footer-grid{
    grid-template-columns:1fr;
  }
  .pl-footer-card{
	  border-right: none!important;
  }
  .pl-footer-bottom{
    display:block;
  }
  .pl-footer-bottom p{
    margin-bottom:14px;
  }
  .pl-footer-seo{
    justify-content:flex-start;
  }
}

/* compact footer version */
.pl-footer-final{
  margin-top:56px;
  border-radius:30px 30px 0 0;
}
.pl-footer-inner{
  padding:34px 0 22px;
}
.pl-footer-brand{
  padding:20px 20px;
  gap:14px;
}
.pl-footer-logo{
  font-size:34px;
}
.pl-footer-subtitle{
  margin-top:6px;
  font-size:14px;
}
.pl-footer-years{
  margin-top:7px;
  font-size:11px;
  letter-spacing:.11em;
}
.pl-footer-brand-text{
  margin-top:16px;
  font-size:13px;
  line-height:1.5;
}
.pl-footer-benefits{
  gap:7px;
}
.pl-footer-benefits div{
  min-height:34px;
  border-radius:11px;
  padding:8px 11px;
  font-size:13px;
}
.pl-footer-links h3,
.pl-footer-contacts h3{
  margin-bottom:12px;
  padding-bottom:10px;
  font-size:15px;
}
.pl-footer-links a{
  margin-bottom:7px;
  font-size:13px;
  line-height:1.28;
}
.pl-footer-phone{
  margin-bottom:13px;
  font-size:18px;
}
.pl-footer-contact-row{
  margin-bottom:12px;
}
.pl-footer-button{
  min-height:40px;
  border-radius:12px;
  font-size:13px;
}
.pl-footer-bottom{
  margin-top:20px;
  padding-top:14px;
  gap:24px;
}
.pl-footer-bottom p{
  font-size:11.5px;
  line-height:1.38;
}
.pl-footer-seo img{
  height:32px;
}
.pl-footer-seo span{
  font-size:11.5px;
}

.window-cookie {
	position: fixed;
	background: #fff;
	box-shadow: 0px -10px 5px 0px #f1f1f1;
	z-index: 100;
	bottom: 0;
	left: 0;
	right: 0;
}

.window-cookie p {
	display: block;
	padding: 0 20px;
	margin: 20px 0 10px;
}