/* РБУ Фабрики 1 Мая — стиль «Хаки и песок». Палитра задаётся только здесь. */
:root {
  --olive: #55642B;
  --olive-d: #414D1F;
  --olive-dd: #262D14;
  --sand: #F4EEE1;
  --sand-2: #E9E0CC;
  --sand-3: #E2D6B8;
  --ink: #23261B;
  --muted: #676A59;
  --line: #DCD3BE;
  --white: #FFFFFF;
  --r: 8px;
  --wrap: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; font: 400 16px/1.6 Commissioner, Arial, sans-serif; color: var(--ink); background: var(--sand); }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { margin: 0; line-height: 1.15; font-weight: 800; }
p { margin: 0 0 12px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + 48px); margin: 0 auto; padding: 0 24px; }
.ic { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.h2 { font-size: 40px; letter-spacing: -.02em; }
.lead { font-size: 18px; color: var(--muted); max-width: 640px; }
.kicker { font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sand-3); margin-bottom: 18px; }
.kicker--dark { color: var(--olive); }
.center { text-align: center; margin-top: 32px; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: var(--r); border: 0; font: 700 16px/1 Commissioner, Arial, sans-serif; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s; white-space: nowrap; }
.btn--o { background: var(--olive); color: var(--white); }
.btn--o:hover { background: var(--olive-d); }
.btn--sand { background: var(--sand); color: var(--olive-dd); }
.btn--sand:hover { background: var(--white); }
.btn--glass { background: rgba(255,255,255,.12); color: var(--white); border: 1.5px solid rgba(255,255,255,.45); }
.btn--glass:hover { border-color: var(--white); }
.btn--line { background: transparent; color: var(--olive-d); border: 1.5px solid var(--olive); }
.btn--line:hover { background: var(--olive); color: var(--white); }
.btn--block { width: 100%; }

/* Шапка */
.hdr { position: sticky; top: 0; z-index: 30; background: rgba(244,238,225,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(6px); }
.hdr__in { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--olive-dd); }
.logo__mark { width: 42px; height: 42px; flex: none; }
.logo__txt { display: flex; flex-direction: column; line-height: 1.15; }
.logo__txt b { font-size: 19px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.logo__txt small { font-size: 12px; color: var(--muted); white-space: nowrap; }
.logo--light { color: var(--white); }
.logo--light .logo__txt small { color: rgba(255,255,255,.65); }
.hdr__nav { display: flex; gap: 26px; margin-left: auto; }
.hdr__nav a { text-decoration: none; font-size: 15px; font-weight: 600; }
.hdr__nav a:hover { color: var(--olive); }
.hdr__contact { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.2; gap: 3px; }
.hdr__phone { font-size: 20px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.hdr__mail { font-size: 13px; font-weight: 600; color: var(--olive); text-decoration: none; white-space: nowrap; }
.hdr__mail:hover { text-decoration: underline; }
.hdr__cta { min-height: 46px; padding: 0 22px; }

/* Герой */
.hero { position: relative; color: var(--white); background: var(--olive-dd) var(--bg) center 40% / cover no-repeat; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(38,45,20,.94) 0%, rgba(38,45,20,.82) 45%, rgba(38,45,20,.25) 100%); }
.hero__in { position: relative; padding: 96px 24px 72px; }
.hero__title { font-size: 56px; letter-spacing: -.025em; max-width: 760px; }
.hero__lead { font-size: 19px; color: rgba(255,255,255,.82); max-width: 600px; margin: 20px 0 26px; }
.hero__price { display: inline-flex; align-items: baseline; gap: 10px; background: rgba(244,238,225,.12); border-left: 4px solid var(--sand-3); padding: 10px 18px; margin-bottom: 28px; }
.hero__price span { font-size: 16px; color: rgba(255,255,255,.8); }
.hero__price b { font-size: 34px; font-weight: 800; color: var(--sand); letter-spacing: -.02em; }
.hero__facts { list-style: none; margin: 40px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 15px; color: rgba(255,255,255,.85); }
.hero__facts li { display: flex; align-items: center; gap: 8px; }
.hero__facts .ic { color: var(--sand-3); }

/* Преимущества */
.bnf { background: var(--sand-2); border-bottom: 1px solid var(--line); }
.bnf__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.bnf__item { padding: 36px 32px 32px; border-left: 1px solid var(--line); }
.bnf__item:first-child { border-left: 0; padding-left: 0; }
.bnf__n { display: block; font-size: 44px; font-weight: 800; line-height: 1; color: var(--olive); margin-bottom: 14px; }
.bnf__item h3 { font-size: 20px; margin-bottom: 8px; }
.bnf__item p { color: var(--muted); margin: 0; }

/* Секции */
.sec { padding: 96px 0; }
.sec--white { background: var(--white); }
.sec--dark { background: var(--olive-dd); color: var(--white); }
.sec--dark .lead { color: rgba(255,255,255,.7); }
.sec__head { margin-bottom: 44px; }
.sec__head .lead { margin-top: 14px; }
.sec__head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }

/* Каталог */
.cat { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.cat__card { background: var(--white); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); }
.cat__card img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.cat__body { padding: 18px 18px 16px; display: flex; flex-direction: column; flex: 1; }
.cat__body h3 { font-size: 18px; margin-bottom: 8px; }
.cat__body p { font-size: 14px; line-height: 1.5; color: var(--muted); flex: 1; }
.cat__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line); padding-top: 12px; flex-wrap: wrap; }
.cat__foot b { font-size: 16px; color: var(--olive-d); white-space: nowrap; }
.cat__foot a { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 700; color: var(--olive); text-decoration: none; }
.cat__foot a .ic { width: 15px; height: 15px; }

/* Цены */
.prices { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
.prices__side .lead { margin: 16px 0; }
.note { font-size: 14px; color: var(--muted); margin-bottom: 26px; }
.ptable { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.ptable__row { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; padding: 15px 22px; border-top: 1px solid var(--line); align-items: center; font-size: 17px; }
.ptable__row:nth-child(odd):not(.ptable__row--head) { background: #FBF8F1; }
.ptable__row--head { border-top: 0; background: var(--olive); color: var(--white); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ptable__row b { font-size: 19px; }
.ptable__p { font-weight: 700; text-align: right; }
.ptable__row--head span:nth-child(n+3) { text-align: right; }

/* О заводе */
.about { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 64px; align-items: center; }
.about__txt .h2 { margin-bottom: 22px; }
.about__txt p { color: #45483A; }
.about__img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; border-radius: var(--r); }
.about__stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); margin-top: 12px; }
.about__stats div { padding: 24px 26px; border-left: 1px solid var(--line); }
.about__stats div:first-child { border-left: 0; }
.about__stats b { display: block; font-size: 28px; font-weight: 800; color: var(--olive-d); letter-spacing: -.02em; }
.about__stats span { font-size: 14px; color: var(--muted); }

/* Шаги */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: s; }
.steps li { border-top: 2px solid var(--sand-3); padding-top: 22px; }
.steps span { display: block; font-size: 52px; font-weight: 800; line-height: 1; color: var(--sand-3); margin-bottom: 16px; }
.steps h3 { font-size: 20px; margin-bottom: 6px; }
.steps p { color: rgba(255,255,255,.7); margin: 0; }

/* Отзывы */
.rating { display: flex; align-items: center; gap: 12px; text-decoration: none; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 12px 18px; }
.rating b { font-size: 30px; font-weight: 800; color: var(--olive-d); }
.rating__stars, .rev__stars { display: inline-flex; gap: 2px; color: #C99A2E; }
.rating__stars .ic, .rev__stars .ic { width: 16px; height: 16px; }
.rating small { font-size: 13px; color: var(--muted); max-width: 130px; line-height: 1.3; }
.rev { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.rev__card { margin: 0; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.rev__card blockquote { margin: 0; flex: 1; font-size: 15px; line-height: 1.6; }
.rev__card figcaption b { display: block; font-size: 15px; }
.rev__card figcaption small { color: var(--muted); font-size: 13px; }

/* Заявка */
.order { background: var(--olive); color: var(--white); padding: 88px 0; }
.order__in { display: grid; grid-template-columns: 1fr 440px; gap: 64px; align-items: center; }
.order .lead { color: rgba(255,255,255,.8); margin-top: 16px; }
.order__call { font-size: 17px; margin-top: 22px; color: rgba(255,255,255,.8); }
.order__call a { color: var(--white); font-weight: 800; font-size: 22px; text-decoration: none; display: inline-block; margin-left: 6px; }
.form { background: var(--sand); color: var(--ink); border-radius: var(--r); padding: 30px; display: grid; gap: 14px; }
.form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.form input[type=text], .form input[type=tel], .form select { height: 50px; border: 1.5px solid var(--line); border-radius: var(--r); padding: 0 14px; font: 500 16px Commissioner, Arial, sans-serif; color: var(--ink); background: var(--white); width: 100%; }
.form input:focus, .form select:focus { outline: none; border-color: var(--olive); }
.form__consent { display: flex !important; grid-template-columns: none; align-items: center; gap: 8px !important; font-weight: 500 !important; font-size: 12px !important; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* Контакты */
.cont { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: stretch; }
.cont__list { list-style: none; margin: 28px 0 30px; padding: 0; display: grid; gap: 20px; }
.cont__list li { display: flex; gap: 14px; align-items: flex-start; }
.cont__list .ic { width: 22px; height: 22px; color: var(--olive); margin-top: 3px; }
.cont__list small { display: block; font-size: 13px; color: var(--muted); }
.cont__list a, .cont__list span { font-size: 18px; font-weight: 700; text-decoration: none; }
.cont__list a[href^=mailto] { color: var(--olive-d); }
.cont__map { width: 100%; min-height: 440px; border: 0; border-radius: var(--r); background: var(--sand-2); }

/* Подвал */
.ftr { background: var(--olive-dd); color: rgba(255,255,255,.75); font-size: 14px; }
.ftr__in { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding: 56px 24px 36px; }
.ftr__in p { margin-top: 18px; }
.ftr__nav { display: grid; gap: 8px; align-content: start; }
.ftr__nav a, .ftr__contact a { text-decoration: none; }
.ftr__nav a:hover, .ftr__contact a:hover { color: var(--white); }
.ftr__contact { display: grid; gap: 8px; align-content: start; justify-items: end; }
.ftr__phone { font-size: 22px; font-weight: 800; color: var(--white); }
.ftr__bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); padding: 18px 24px 26px; font-size: 12px; color: rgba(255,255,255,.5); }

.page-msg { min-height: 50vh; }
.page-msg .lead { margin: 18px 0 28px; }

/* Адаптив */
@media (max-width: 1200px) {
  .hdr__nav { display: none; }
  .hdr__contact { margin-left: auto; }
  .cat { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .h2 { font-size: 32px; }
  .hero__title { font-size: 40px; }
  .hero__in { padding: 72px 24px 56px; }
  .bnf__grid { grid-template-columns: 1fr; }
  .bnf__item, .bnf__item:first-child { padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
  .bnf__item:first-child { border-top: 0; }
  .sec { padding: 68px 0; }
  .prices, .about, .order__in, .cont { grid-template-columns: 1fr; gap: 32px; }
  .about__stats { grid-template-columns: repeat(2, 1fr); }
  .about__stats div:nth-child(3) { border-left: 0; }
  .about__stats div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .steps { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
  .rev { grid-template-columns: 1fr 1fr; }
  .ftr__in { grid-template-columns: 1fr 1fr; }
  .ftr__contact { justify-items: start; }
}
@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
  .hdr__in { min-height: 62px; gap: 10px; }
  .hdr__cta, .logo__txt small { display: none; }
  .logo__mark { width: 36px; height: 36px; }
  .logo__txt b { font-size: 15px; white-space: normal; max-width: 110px; line-height: 1.1; }
  .hdr__phone { font-size: 15px; }
  .hdr__mail { font-size: 10.5px; }
  .h2 { font-size: 27px; }
  .lead { font-size: 16px; }
  .hero { background-position: 70% center; }
  .hero::before { background: linear-gradient(180deg, rgba(38,45,20,.88), rgba(38,45,20,.93)); }
  .hero__in { padding: 48px 16px 44px; }
  .hero__title { font-size: 31px; }
  .hero__lead { font-size: 16px; }
  .hero__price b { font-size: 26px; }
  .hero .btn { width: 100%; }
  .hero__facts { flex-direction: column; margin-top: 28px; }
  .cat { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cat__body { padding: 12px; }
  .cat__body h3 { font-size: 15px; }
  .cat__body p { font-size: 13px; }
  .cat__foot b { font-size: 14px; }
  .ptable__row { padding: 12px 12px; font-size: 15px; }
  .ptable__row--head { font-size: 11px; letter-spacing: .02em; }
  .ptable__row b { font-size: 16px; }
  .about__img { min-height: 240px; }
  .about__stats div { padding: 16px; }
  .about__stats b { font-size: 21px; }
  .steps { grid-template-columns: 1fr; }
  .rev { grid-template-columns: 1fr; }
  .order { padding: 60px 0; }
  .form { padding: 20px; }
  .cont__map { min-height: 340px; }
  .cont__list a, .cont__list span { font-size: 16px; overflow-wrap: anywhere; }
  .ftr__in { grid-template-columns: 1fr; padding: 40px 16px 28px; gap: 24px; }
  .ftr__bottom { flex-direction: column; padding: 16px; }
}

/* логотип «Вымпел» — локап в кривых */
.logo__svg{display:block;height:42px;width:auto}
@media (max-width:640px){.logo__svg{height:30px}}
@media (max-width:380px){.logo__svg{height:26px}}
