
/* Палитра — та же, что на лендинге ЗОК: два сайта должны читаться как один бренд.
   Синий отвечает за информацию, зелёный — за действие. */
:root{
  --bg:#04182A; --bg2:#072238; --panel:#0A2C46; --panel2:#103654;
  --line:#24587A; --line2:#1A4467;
  --info:#3E97D1; --info-d:#0A67A3; --info-pale:#65A6D1; --info-dk:#03426A;
  --acc:#00B25C; --acc-lt:#36D88A; --acc-d:#00733C; --acc-ink:#032417;
  --txt:#9FBCD4; --txt2:#84A6C2; --white:#fff;
  --dark:#03121F; --dark2:#072238;
  --maxw:1180px;
  --f:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f);color:var(--txt);background:var(--bg);line-height:1.6;font-size:16px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    repeating-linear-gradient(45deg,rgba(62,151,209,.05) 0 1px,transparent 1px 22px),
    repeating-linear-gradient(-45deg,rgba(62,151,209,.05) 0 1px,transparent 1px 22px);}
img,svg{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.2;font-weight:700;color:var(--white)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--acc);color:var(--acc-ink);font-weight:700;font-size:15px;
  padding:15px 30px;border:none;border-radius:6px;cursor:pointer;
  transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-o{background:transparent;border:1px solid var(--line);color:var(--white)}

/* ── шапка ── */
.top{background:rgba(4,24,42,.94);border-bottom:1px solid var(--line2);
  position:sticky;top:0;z-index:50;backdrop-filter:blur(8px)}
.top .wrap{display:flex;align-items:center;gap:26px;min-height:56px;font-size:14px}
.top nav{display:flex;gap:22px;flex-wrap:wrap}
.top nav a{color:var(--txt2)}
.top nav a:hover,.top nav a.on{color:var(--white)}
.top .call{margin-left:auto;color:var(--white);font-weight:600}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:#fff;
  width:42px;height:36px;border-radius:6px;font-size:18px;cursor:pointer}
.mm{display:none;background:var(--panel);padding:8px 0}
.mm.open{display:block}
.mm a{display:block;padding:12px 20px;color:var(--white);border-bottom:1px solid var(--line2)}

/* ── герой ── */
.hero{position:relative;color:#fff;overflow:hidden;
  background:radial-gradient(1100px 520px at 78% 12%,rgba(10,103,163,.35),transparent 70%),
             linear-gradient(180deg,var(--bg2),var(--bg))}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.hero .wrap{position:relative;padding:34px 20px 56px}
.brandline{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:46px}
.brandline img{width:250px}
.brandline .slogan{font-size:14px;color:var(--txt2);max-width:240px;line-height:1.35}
.brandline .cont{margin-left:auto;font-size:14px;color:var(--txt2);text-align:right;line-height:1.7}
.brandline .cont b{display:block;font-size:20px;color:#fff}
.brandline .cont b a{color:#fff}
.brandline .cont b a:hover{color:var(--info-pale)}
.brandline .cont .mail{color:var(--info)}
.hero h1{font-size:clamp(28px,4.4vw,50px);text-transform:uppercase;margin-bottom:14px}
.hero .sub{font-size:17px;color:var(--txt);max-width:660px;margin-bottom:30px}
.pill3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2);
  border-radius:10px;overflow:hidden;background:rgba(10,44,70,.5);margin-bottom:30px}
.pill3 div{padding:20px 22px;border-right:1px solid var(--line2)}
.pill3 div:last-child{border-right:none}
.pill3 b{display:block;font-size:17px;color:#fff;margin-bottom:5px}
.pill3 span{font-size:14px;color:var(--txt2)}

/* ── сертификаты: лента с прокруткой, клик открывает крупно ── */
.certs{display:flex;gap:16px;overflow-x:auto;padding:4px 4px 16px;scroll-snap-type:x mandatory;
  scrollbar-color:var(--line) transparent}
.certs a{flex:0 0 200px;scroll-snap-align:start;background:#fff;border-radius:8px;overflow:hidden;
  border:1px solid var(--line2);transition:transform .2s,box-shadow .2s}
.certs a:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.4)}
.certs img{width:100%;aspect-ratio:210/297;object-fit:cover;object-position:top}
dialog.lb{border:none;background:transparent;padding:0;max-width:min(92vw,900px);max-height:92vh}
dialog.lb::backdrop{background:rgba(2,12,22,.88)}
dialog.lb img{max-height:88vh;width:auto;max-width:100%;border-radius:8px;background:#fff}
dialog.lb button{position:absolute;top:-6px;right:-6px;width:38px;height:38px;border-radius:50%;
  border:none;background:#fff;color:var(--bg);font-size:22px;cursor:pointer}

/* ── блок о заводе ── */
.about{position:relative;overflow:hidden}
.about .wm{position:absolute;right:-20px;top:-30px;font-size:clamp(120px,22vw,300px);font-weight:800;
  line-height:1;color:rgba(62,151,209,.06);pointer-events:none;user-select:none}
.about .eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--info);margin-bottom:12px}
.about h2{font-size:clamp(26px,3.4vw,40px);line-height:1.15;margin-bottom:16px}
.about h2 em{font-style:normal;color:var(--acc-lt)}
.about .lead{margin-bottom:26px}
.cycle{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0 0 28px;counter-reset:st;
  border:1px solid var(--line2);border-radius:12px;overflow:hidden;background:rgba(10,44,70,.5)}
.cycle div{position:relative;padding:18px 14px 16px;border-right:1px solid var(--line2)}
.cycle div:last-child{border-right:none}
.cycle div::before{counter-increment:st;content:"0" counter(st);display:block;font-size:12px;
  letter-spacing:.12em;color:var(--acc-lt);margin-bottom:8px}
.cycle b{display:block;font-size:15px;color:#fff;margin-bottom:4px}
.cycle span{font-size:12.5px;color:var(--txt2);line-height:1.4}
.cycle div::after{content:"›";position:absolute;right:-7px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;border-radius:50%;background:var(--bg2);border:1px solid var(--line2);
  color:var(--info);font-size:11px;line-height:12px;text-align:center;z-index:1}
.cycle div:last-child::after{display:none}
.about-pic{position:relative}
.about-pic img{border-radius:14px;border:1px solid var(--line2);width:100%}
.about-pic .cap{position:absolute;left:18px;top:18px;font-size:12px;color:#fff;
  background:rgba(4,24,42,.72);backdrop-filter:blur(4px);padding:7px 12px;border-radius:6px}
.stat-card{position:absolute;left:-28px;bottom:-28px;display:grid;grid-template-columns:repeat(3,auto);
  gap:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.45);overflow:hidden}
.stat-card div{padding:16px 22px;border-right:1px solid var(--line2)}
.stat-card div:last-child{border-right:none}
.stat-card b{display:block;font-size:26px;line-height:1.1;color:var(--acc-lt)}
.stat-card span{font-size:12px;color:var(--txt2)}
@media(max-width:980px){
  .cycle{grid-template-columns:repeat(2,1fr)}
  .cycle div{border-bottom:1px solid var(--line2)}
  .cycle div::after{display:none}
  .stat-card{position:static;margin-top:16px;grid-template-columns:repeat(3,1fr)}
  .about .wm{display:none}
}
@media(max-width:560px){.cycle{grid-template-columns:1fr}.stat-card{grid-template-columns:1fr}
  .stat-card div{border-right:none;border-bottom:1px solid var(--line2)}}

/* ── секции ── */
.sec{padding:60px 0}
.sec.gray{background:linear-gradient(180deg,var(--bg2),var(--panel));
  border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.sec h2{font-size:clamp(24px,3.2vw,34px);margin-bottom:8px}
.sec .lead{color:var(--txt2);font-size:16px;max-width:780px;margin-bottom:30px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}

.card{background:var(--panel);border:1px solid var(--line2);border-radius:12px;overflow:hidden;
  position:relative;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.card:hover{box-shadow:0 14px 34px rgba(0,0,0,.35);transform:translateY(-4px);border-color:var(--line)}
.card .ph{overflow:hidden;position:relative}
.card .ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(4,24,42,.75));opacity:0;transition:opacity .3s}
.card:hover .ph::after{opacity:1}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%;
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.card:hover img{transform:scale(1.07)}
.card .in{padding:16px 18px 20px}
.card h3{font-size:17px;margin-bottom:6px}
.card p{font-size:14px;color:var(--txt2)}
.card .more{display:inline-block;margin-top:12px;color:var(--acc-lt);font-weight:600;font-size:14px}
.card .more i{font-style:normal;display:inline-block;transition:transform .25s}
.card:hover .more i{transform:translateX(6px)}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acc);
  transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.card:hover::after{transform:scaleX(1)}

.js .reveal{opacity:0;transform:translateY(26px)}
.js .reveal.on{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal.on{opacity:1;transform:none;transition:none}
  .card img,.card:hover img{transition:none;transform:none}
}

.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.nums b{display:block;font-size:clamp(28px,3.6vw,42px);color:var(--acc-lt);line-height:1.1}
.nums span{font-size:14px;color:var(--txt2)}

.obj{border:1px solid var(--line2);background:var(--panel);border-radius:12px;overflow:hidden;
  transition:box-shadow .25s,transform .25s}
.obj:hover{box-shadow:0 12px 30px rgba(0,0,0,.35);transform:translateY(-3px)}
.obj .ph{overflow:hidden}
.obj img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.obj:hover img{transform:scale(1.06)}
.obj .in{padding:14px 16px 18px}
.obj .cust{font-size:13px;color:var(--info-pale);font-weight:600;margin-bottom:4px}
.obj p{font-size:14px;color:var(--txt2)}

.txt p{margin-bottom:14px;color:var(--txt)}
.txt h2{font-size:21px;margin:26px 0 10px}
.txt ul{margin:0 0 16px 20px}
.txt li{margin-bottom:8px;color:var(--txt)}

.cta{background:linear-gradient(90deg,rgba(0,178,92,.10),transparent),var(--panel);
  border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:46px 0}
.cta .in{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.cta h2{font-size:clamp(21px,2.6vw,28px);flex:1;min-width:280px}
.cta .ph{font-size:26px;font-weight:700;color:#fff}
.cta .ph span{display:block;font-size:14px;font-weight:400;color:var(--txt2)}

form.f{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}
form.f h3{font-size:20px;margin-bottom:16px}
form.f input,form.f textarea{width:100%;background:var(--bg2);border:1px solid var(--line2);
  padding:13px 14px;font-family:var(--f);font-size:15px;margin-bottom:12px;border-radius:8px;color:#fff}
form.f textarea{min-height:96px;resize:vertical}
form.f ::placeholder{color:#5F87A8}
form.f input:focus,form.f textarea:focus{outline:none;border-color:var(--info)}
.agree{display:flex;gap:9px;font-size:12.5px;color:var(--txt2);margin-bottom:14px}
.agree input{width:auto;margin:3px 0 0}
.agree a{color:var(--info)}

footer{background:var(--bg2);border-top:1px solid var(--line2);color:var(--txt2);
  padding:44px 0 26px;font-size:14px}
footer a{color:var(--txt)}
footer a:hover{color:var(--info)}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px;margin-bottom:26px}
footer h4{color:#fff;font-size:15px;margin-bottom:12px}
footer li{list-style:none;margin-bottom:7px}
footer .bot{border-top:1px solid var(--line2);padding-top:16px;display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:#6f8ca6}
.crumbs{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--txt2);padding:18px 20px 0}
.crumbs .home{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line);
  border-radius:6px;color:var(--white);font-weight:600;transition:background .15s,border-color .15s}
.crumbs .home:hover{background:var(--panel2);border-color:var(--info)}

@media(max-width:980px){
  .g4,.g3{grid-template-columns:repeat(2,1fr)}
  .g2{grid-template-columns:1fr}
  .nums{grid-template-columns:repeat(2,1fr)}
  .pill3{grid-template-columns:1fr}
  .pill3 div{border-right:none;border-bottom:1px solid var(--line2)}
  .top nav{display:none}
  .burger{display:block}
  footer .cols{grid-template-columns:1fr}
  .brandline .cont{margin-left:0;text-align:left;width:100%}
}
@media(max-width:560px){
  .g4,.g3{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr}
  .btn{width:100%}
}
