:root{
  --gray-900:#2b2b2b;
  --gray-700:#4d4d4d;
  --gray-500:#6b6b6b;
  --gray-200:#e6e6e6;
  --gray-100:#f4f4f4;
  --yellow:#f4b400;
  --yellow-dark:#d69c00;
  --white:#ffffff;
  --radius:10px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
body{
  font-family:'Montserrat',Arial,sans-serif;
  color:var(--gray-900);
  background:var(--white);
  line-height:1.5;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-weight:800;line-height:1.2;}
h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.75rem;}
h3{font-size:1.1rem;margin-bottom:.4rem;}
.container{width:94%;max-width:1400px;margin:0 auto;}
.section-lead{color:var(--gray-500);max-width:640px;margin-bottom:2rem;}

.btn{
  display:inline-block;
  padding:.9rem 1.8rem;
  border-radius:var(--radius);
  font-weight:700;
  border:none;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}
.btn-primary{background:var(--yellow);color:var(--gray-900);}
.btn-primary:hover{background:var(--yellow-dark);transform:translateY(-2px);}
.btn-primary:active{transform:scale(.97);transition-duration:.08s;}

/* header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--white);
  border-bottom:1px solid var(--gray-200);
}
.header-inner{
  display:flex;align-items:center;gap:2rem;
  padding:12px 20px;
}
.logo img{height:62px;width:auto;}
.nav{display:flex;gap:1.5rem;margin-left:auto;font-weight:600;}
.nav a:hover{color:var(--yellow-dark);}
.header-contacts{display:flex;align-items:center;gap:1rem;}
.phones{display:flex;flex-direction:column;gap:2px;}
.phone{font-weight:700;white-space:nowrap;font-size:.92rem;}
.messengers{display:flex;gap:.5rem;}
.msg-btn{
  font-size:.8rem;font-weight:700;
  padding:.4rem .7rem;border-radius:6px;
  background:var(--gray-100);
}
.msg-btn.wa:hover{background:#e6f7ea;color:#1e8e3e;}
.msg-btn.tg:hover{background:#e8f2fc;color:#0088cc;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:var(--gray-900);}

/* hero */
.hero{
  background:linear-gradient(135deg,var(--gray-900),var(--gray-700));
  color:var(--white);
  padding:clamp(3rem,7vw,6.5rem) 0;
}
.hero-inner{max-width:min(100%,1100px);}
.hero h1{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.25;letter-spacing:.2px;margin-bottom:1.1rem;}
.hero p{color:#d7d7d7;margin-bottom:2rem;font-size:1.05rem;}

/* catalog */
.catalog{padding:clamp(3rem,7vw,6.5rem) 0;}
.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.25rem;
}
.cat-card{
  border:1px solid var(--gray-200);
  border-radius:var(--radius);
  padding:1.5rem;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.cat-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:var(--yellow);}
.cat-icon{
  width:40px;height:40px;
  fill:var(--gray-900);
  background:var(--yellow);
  border-radius:8px;
  padding:8px;
  margin-bottom:1rem;
}
.cat-card p{color:var(--gray-500);font-size:.92rem;}

/* about */
.about{background:var(--gray-100);padding:clamp(2.5rem,6vw,5.5rem) 0;}
.about-inner{max-width:min(100%,820px);}
.about-text p{margin-bottom:1rem;color:var(--gray-700);}

/* advantages */
.advantages{padding:clamp(3rem,7vw,6.5rem) 0;}
.adv-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.adv-card{
  border-top:3px solid var(--yellow);
  padding-top:1rem;
}
.adv-card p{color:var(--gray-500);font-size:.92rem;}
.adv-priority{
  position:relative;
  border-top:3px solid var(--yellow);
  background:var(--white);
  box-shadow:0 10px 30px -12px rgba(43,43,43,.18);
  padding:1rem 1.25rem 1.25rem;
  border-radius:0 0 var(--radius) var(--radius);
}
.adv-priority::before{
  content:"Главное";
  display:inline-block;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--yellow-dark);
  background:#fff7e0;
  padding:.15rem .5rem;
  border-radius:20px;
  margin-bottom:.5rem;
}

@media (max-width:900px){
  .adv-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .adv-grid{grid-template-columns:1fr;}
}

/* order */
.order{background:var(--gray-900);color:var(--white);padding:clamp(3rem,7vw,6.5rem) 0;}
.order-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:start;
}
.order-text p{color:#cfcfcf;}
.order-form{display:flex;flex-direction:column;gap:1rem;}
.order-form input,.order-form textarea{
  padding:.85rem 1rem;
  border-radius:8px;
  border:1px solid #555;
  background:#3a3a3a;
  color:var(--white);
  font-family:inherit;
  font-size:.95rem;
}
.order-form input::placeholder,.order-form textarea::placeholder{color:#a0a0a0;}
.consent{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:#cfcfcf;}
.consent input{width:auto;margin-top:.2rem;}
.form-status{font-size:.9rem;color:var(--yellow);min-height:1.2em;}

/* footer */
.site-footer{background:#1f1f1f;color:#d7d7d7;padding:3rem 0 1rem;}
.footer-inner{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:2rem;
  padding-bottom:2rem;
}
.footer-logo{height:50px;margin-bottom:.85rem;}
.footer-col h4{color:var(--white);margin-bottom:.6rem;font-size:1rem;}
.footer-col p{margin-bottom:.5rem;font-size:.9rem;}
.footer-col a:hover{color:var(--yellow);}
.footer-bottom{
  border-top:1px solid #3a3a3a;
  padding-top:1rem;
  font-size:.8rem;
  color:#8a8a8a;
}

@media (max-width:900px){
  .order-inner{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .nav{
    position:absolute;top:100%;left:0;right:0;
    background:var(--white);
    flex-direction:column;
    padding:1rem 20px;
    display:none;
    border-bottom:1px solid var(--gray-200);
  }
  .nav.open{display:flex;}
  .header-contacts .messengers{display:none;}
  .burger{display:flex;}
  .header-inner{flex-wrap:wrap;}
}
