/* ============ RESET & BASE ============ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #1a2540;
  line-height: 1.6;
  background: #fff;
  font-size: 16px;
}
img{max-width:100%;height:auto;display:block}
a{color:#2f4f7f;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

/* ============ SECTIONS ============ */
.section{padding:70px 0}
.section-gray{background:#f6f8fc}
.section-title{font-size:32px;text-align:center;color:#1a2540;margin-bottom:8px;font-weight:700;letter-spacing:-0.5px}
.section-sub{text-align:center;color:#6b7a96;font-size:16px;margin-bottom:40px;max-width:640px;margin-left:auto;margin-right:auto}

/* ============ HERO ============ */
.hero{
  background: linear-gradient(135deg, #0f1c3d 0%, #1e3a6f 60%, #2f4f7f 100%);
  color: #fff;
  padding: 80px 0 90px;
  position: relative;
  overflow: hidden;
}
.hero::before{
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(86,185,73,0.15), transparent 50%);
  pointer-events: none;
}
.hero-grid{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 50px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(86,185,73,0.15);
  border: 1px solid rgba(86,185,73,0.35);
  color: #7dcc70;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 20px;
}
.badge-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7dcc70;
  box-shadow: 0 0 8px rgba(125,204,112,0.8);
  animation: pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.hero h1{
  font-size: 52px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 18px;
  letter-spacing: -1.5px;
}
.hero .accent{color:#7dcc70}
.hero-sub{
  font-size: 18px;
  color: rgba(255,255,255,0.82);
  margin-bottom: 26px;
  max-width: 580px;
}
.hero-features{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}
.chip{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.92);
  padding: 5px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 500;
}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-img{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  overflow: hidden;
}
.hero-img img{
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
  max-width: 100%;
  max-height: 320px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* ============ BUTTONS ============ */
.btn{
  display: inline-block;
  padding: 13px 26px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 15px;
  transition: transform 0.15s, box-shadow 0.15s;
  border: 2px solid transparent;
  cursor: pointer;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{
  background: #56b949;
  color: #fff;
  box-shadow: 0 4px 16px rgba(86,185,73,0.3);
}
.btn-primary:hover{
  background: #47a43b;
  box-shadow: 0 6px 20px rgba(86,185,73,0.4);
  color: #fff;
}
.btn-outline{
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.35);
}
.btn-outline:hover{
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.55);
  color: #fff;
}
.btn-ghost{
  background: transparent;
  color: #2f4f7f;
  border: 2px solid #2f4f7f;
}
.btn-ghost:hover{
  background: #2f4f7f;
  color: #fff;
}
.btn-large{padding:16px 36px;font-size:17px}

/* ============ TWO COL (проблема/решение) ============ */
.two-col{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.col-card{
  padding: 32px 30px;
  border-radius: 12px;
  position: relative;
}
.col-card h3{
  font-size: 22px;
  margin-bottom: 12px;
  font-weight: 700;
}
.col-card p{
  margin-bottom: 18px;
  font-size: 15px;
}
.col-card ul{list-style:none;padding:0}
.col-card ul li{
  padding: 8px 0 8px 28px;
  position: relative;
  font-size: 14px;
}
.col-card-muted{
  background: #fff;
  border: 1px solid #e2e7f0;
  color: #6b7a96;
}
.col-card-muted h3{color:#6b7a96}
.list-muted li::before{
  content: '—';
  position: absolute;
  left: 4px;
  color: #b8c2d4;
  font-weight: bold;
}
.col-card-primary{
  background: linear-gradient(135deg, #2f4f7f, #4a6fa5);
  color: #fff;
  box-shadow: 0 10px 30px rgba(47,79,127,0.25);
}
.col-card-primary h3{color:#fff}
.list-primary li{color:rgba(255,255,255,0.92)}
.list-primary li::before{
  content: '✓';
  position: absolute;
  left: 4px;
  color: #7dcc70;
  font-weight: bold;
}

/* ============ FEATURES GRID ============ */
.features-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.feat{
  padding: 28px 26px;
  background: #fff;
  border: 1px solid #e2e7f0;
  border-radius: 12px;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.feat:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(30,58,111,0.08);
  border-color: #c8d3e5;
}
.feat-icon{
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.feat-icon svg{width:24px;height:24px}
.feat-icon-blue{background:rgba(47,79,127,0.1);color:#2f4f7f}
.feat-icon-green{background:rgba(86,185,73,0.1);color:#56b949}
.feat-icon-purple{background:rgba(108,92,231,0.1);color:#6c5ce7}
.feat-icon-orange{background:rgba(230,126,34,0.1);color:#e67e22}
.feat-icon-teal{background:rgba(26,188,156,0.1);color:#1abc9c}
.feat-icon-pink{background:rgba(232,67,147,0.1);color:#e84393}
.feat h4{font-size:17px;margin-bottom:8px;font-weight:700;color:#1a2540}
.feat p{font-size:14px;color:#6b7a96;line-height:1.55}

/* ============ COMPARE TABLE ============ */
.compare{
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e7f0;
  box-shadow: 0 4px 20px rgba(30,58,111,0.06);
}
.compare-table{
  width: 100%;
  border-collapse: collapse;
}
.compare-table th,
.compare-table td{
  padding: 14px 20px;
  text-align: left;
  border-bottom: 1px solid #eef1f7;
  font-size: 14px;
}
.compare-table thead th{
  background: #f6f8fc;
  font-weight: 700;
  color: #1a2540;
  font-size: 15px;
}
.compare-table .small{
  display: block;
  font-size: 12px;
  color: #8895ab;
  font-weight: 500;
  margin-top: 2px;
}
.compare-table th.col-wb{color:#6b7a96}
.compare-table th.col-lt{color:#2f4f7f}
.compare-table td.center{text-align:center}
.compare-table td.yes{color:#56b949;font-weight:700}
.compare-table td.wb{color:#8895ab;font-size:12px}
.compare-table tbody tr:hover{background:#fafbfd}
.compare-table .row-price td{
  background: #f6f8fc;
  font-size: 16px;
  padding: 18px 20px;
}
.compare-table .lt-price{color:#56b949;font-weight:700;font-size:18px}
.compare-note{
  text-align: center;
  margin-top: 22px;
  font-size: 15px;
  color: #2f4f7f;
  font-weight: 500;
}

/* ============ SCENARIOS ============ */
.scenarios{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.scenario{
  background: #fff;
  border: 1px solid #e2e7f0;
  border-radius: 12px;
  padding: 28px 26px 24px;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
}
.scenario:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(30,58,111,0.08);
}
.scenario-num{
  font-size: 36px;
  font-weight: 800;
  color: rgba(47,79,127,0.12);
  letter-spacing: -1px;
  line-height: 1;
  margin-bottom: 10px;
}
.scenario h4{
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #1a2540;
}
.scenario p{
  font-size: 14px;
  color: #6b7a96;
  margin-bottom: 16px;
  line-height: 1.55;
}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{
  background: rgba(47,79,127,0.08);
  color: #4a6fa5;
  padding: 3px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
}

/* ============ HARDWARE GRID ============ */
.hw-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.hw-card{
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e7f0;
  transition: transform 0.2s, box-shadow 0.2s;
}
.hw-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(30,58,111,0.1);
}
.hw-card img{
  width: 100%;
  height: 200px;
  object-fit: contain;
  background: #f6f8fc;
  padding: 16px;
}
.hw-body{padding:18px 22px 22px}
.hw-body h5{font-size:16px;font-weight:700;margin-bottom:6px;color:#1a2540}
.hw-body p{font-size:13px;color:#6b7a96;line-height:1.5}

/* ============ SPECS ============ */
.specs-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.spec-group{
  background: #fff;
  border: 1px solid #e2e7f0;
  border-radius: 10px;
  padding: 22px 24px;
}
.spec-group h5{
  font-size: 13px;
  font-weight: 700;
  color: #2f4f7f;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e2e7f0;
}
.spec-group dl{margin:0}
.spec-group dt{
  font-size: 12px;
  color: #8895ab;
  margin-top: 10px;
}
.spec-group dt:first-of-type{margin-top:0}
.spec-group dd{
  font-size: 14px;
  color: #1a2540;
  font-weight: 500;
  margin: 2px 0 0;
}

/* ============ CTA ============ */
.cta{
  background: linear-gradient(135deg, #0f1c3d 0%, #2f4f7f 100%);
  color: #fff;
  padding: 80px 0;
  text-align: center;
}
.cta h2{
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 14px;
  letter-spacing: -0.5px;
}
.cta > .container > p{
  font-size: 18px;
  color: rgba(255,255,255,0.82);
  margin-bottom: 32px;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.cta-buttons{
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.cta .btn-ghost{
  color: #fff;
  border-color: rgba(255,255,255,0.4);
}
.cta .btn-ghost:hover{
  background: #fff;
  color: #2f4f7f;
}
.cta-note{
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}

/* ============ FOOTER ============ */
.footer{
  background: #0f1c3d;
  color: rgba(255,255,255,0.7);
  padding: 30px 0;
  text-align: center;
  font-size: 14px;
}
.footer a{color:rgba(255,255,255,0.9)}
.footer-note{
  font-size: 12px;
  color: rgba(255,255,255,0.4);
  margin-top: 8px;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 960px){
  .hero h1{font-size:38px}
  .hero-sub{font-size:16px}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-img{order:-1;max-width:500px;margin:0 auto}
  .features-grid,
  .scenarios,
  .hw-grid,
  .specs-grid{grid-template-columns:repeat(2, 1fr)}
  .two-col{grid-template-columns:1fr}
  .section-title{font-size:26px}
  .section{padding:50px 0}
  .cta h2{font-size:28px}
}
@media (max-width: 600px){
  .hero{padding:50px 0 60px}
  .hero h1{font-size:30px}
  .features-grid,
  .scenarios,
  .hw-grid,
  .specs-grid{grid-template-columns:1fr}
  .compare-table th,
  .compare-table td{padding:10px 12px;font-size:13px}
  .btn{padding:11px 20px;font-size:14px}
  .btn-large{padding:14px 26px;font-size:15px}
}
