/* ===== Global layout & type overrides ===== */
:root {
  --container: 1280px;
  --section-y: 88px;
  --ink: #151a24;
  --muted: #4a5361;
  --line: #d9dde4;
  --surface: #f5f6f8;
  --blue: #1d2088;
  --blue-deep: #111455;
  --red: #d71718;
}

.container {
  width: min(calc(100% - 48px), var(--container));
  margin-inline: auto
}

.font1-index .home-hero-content h1,
.font1-index .home-hero-content h2,
.hero-carousel .home-hero-content h1,
.hero-carousel .home-hero-content h2 {
  color: #fff;
}
.quote-layout aside h2{color: #FFF;}

.font2-index h3 { color: #FFF; font-size: 22px; }
.font2-index p { color: #ffffffb8; font-size: 16px; }

.detail-hero-content h1 { color: #FFF; }
.detail-hero-content p { color: #ddd; }
.detail-hero-content .eyebrow { color: var(--red); }

.footer-series {display: none;}

.application-row{ border-bottom: 1px solid #eee; padding-bottom: 56px;}

@media (max-width: 760px) {
.hero-path{display: none;}

}
.section {
  padding: var(--section-y) 0
}

.section-muted {
  background: var(--surface)
}

body {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.7
}

p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 16px
}

.large-copy {
  color: #2c3440;
  font-size: clamp(18px, 1.7vw, 24px);
  line-height: 1.65;
  margin-bottom: 20px
}

h1,
h2,
h3 {
  color: var(--ink);
  letter-spacing: -.02em
}

.dark-section h1,
.dark-section h2,
.dark-section h3,
.cta-band h2 {
  color: #fff
}

.dark-section p,
.cta-band p {
  color: #ffffffcc
}

.eyebrow {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em
}

.section-heading {
  margin-bottom: 40px;
  align-items: flex-end
}

.section-heading h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.2
}

.page-hero {
  padding: 84px 0 72px
}

.page-hero-compact {
  padding: 72px 0 56px
}

.page-hero h1 {
  margin-bottom: 18px;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.15
}

.hero-lead {
  margin: 0;
  max-width: 760px;
  font-size: 18px;
  line-height: 1.7;
  color: #ffffffd0
}

.nav-group .subnav {
  margin-top: 0;
  padding-top: 12px
}

.nav-group:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 12px
}

/* Product grid */
.product-strip-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.product-feature>div {
  padding: 28px
}

.product-feature h3 {
  font-size: 20px;
  line-height: 1.35;
  margin: 10px 0 12px;
  color: var(--ink)
}

.product-feature p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  flex: 1
}

.product-feature strong {
  margin-top: 16px;
  font-size: 13px
}

.product-feature  .index {display: none;}

/* Home apps: equal alternating rows */
.app-alt-list {
  display: grid;
  gap: 20px
}

.app-alt-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--line);
  min-height: 280px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.app-alt-row:nth-child(even) .app-alt-media {
  order: 2
}

.app-alt-media {
  background: #eef0f2;
  min-height: 280px;
  overflow: hidden
}

.app-alt-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s
}

.app-alt-row:hover .app-alt-media img {
  transform: scale(1.03)
}

.app-alt-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 40px
}

.app-alt-copy h3 {
  margin: 10px 0 14px;
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--ink)
}

.app-alt-copy p {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.7
}

.app-alt-copy strong {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800
}

/* Applications index: equal left/right */
.application-list {
  gap: 56px
}

.application-row,
.application-row:nth-child(2n) {
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}

.application-row img,
.application-row:nth-child(2n) img {
  aspect-ratio: 16/10;
  object-fit: cover;
  width: 100%;
  height: auto
}

.application-row h2 {
  font-size: clamp(26px, 3vw, 38px);
  margin: 8px 0 14px;
  color: var(--ink)
}

.application-row p {
  font-size: 16px
}

.application-row .prompt {
  margin: 8px 0 14px;
  color: var(--ink)
}

/* Product detail */
.product-summary h1 {
  font-size: clamp(30px, 3.4vw, 46px)
}

.product-summary-lead {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7
}

.product-summary-line {
  font-size: 14px
}

.product-summary-line span {
  color: var(--muted)
}

.product-summary-line strong {
  color: var(--ink)
}

.product-summary .eyebrow{display: none;}
.product-list .index{display: none;}
.product-list {max-width: 1280px; margin: auto;}

.spec-details>div {
  grid-template-columns: 220px 1fr;
  gap: 20px;
  padding: 18px 0;
  font-size: 15px
}

.spec-details dt {
  color: var(--muted)
}

.spec-details dd {
  color: var(--ink);
  margin: 0
}

.spec-highlights strong {
  font-size: clamp(22px, 2.4vw, 32px)
}

.three-column {
  gap: 28px
}

.three-column article h3 {
  font-size: 18px;
  margin: 0 0 10px;
  color: var(--ink)
}

.three-column article p {
  font-size: 16px;
  margin: 0
}

/* Company */
.about-video-section {
  padding-top: 56px
}

.about-video-head {
  margin-bottom: 28px;
  max-width: 760px
}

.about-video-head h2 {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px)
}

.video-frame {
  background: #0c0e29;
  aspect-ratio: 16/9;
  overflow: hidden
}

.video-frame-wide {
  width: 100%;
  max-width: 100%;
  box-shadow: 0 18px 48px rgba(16, 20, 50, .14)
}

.video-frame video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000
}

.about-intro {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(36px, 6vw, 80px);
  align-items: start
}

.about-intro-lead h2 {
  margin: 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.2
}

.about-intro-body p {
  font-size: 16px
}

.capacity-band {
  margin-bottom: 36px
}

.factory-gallery {
  margin-top: 8px
}

.about-quality {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(36px, 6vw, 80px);
  align-items: start
}

.about-quality h2 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 40px)
}

.about-quality-list p {
  border-bottom: 1px solid var(--line);
  margin: 0;
  padding: 18px 0 18px 28px;
  position: relative;
  color: var(--muted);
}

.about-quality-list p:before {
  content: "";
  position: absolute;
  left: 0;
  top: 26px;
  width: 10px;
  height: 10px;
  background: var(--red);
}

.cert-download-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.cert-group-title {
  margin: 8px 0 20px;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--ink);
}

.cert-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}

.cert-grid-ce {
  grid-template-columns: minmax(0, 560px);
  margin-bottom: 0;
}

.cert-card {
  margin: 0;
  background: #fff;
  border: 1px solid var(--line);
  padding: 12px;
  box-shadow: 0 8px 24px rgba(16, 20, 50, .06);
}

.cert-card img {
  width: 100%;
  height: auto;
  display: block;
}

.partners-frame {
  margin: 0;
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
}

.partners-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* Contact */
.contact-hero-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}

.contact-hero-bar h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
  max-width: 520px
}

.contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: flex-end
}

.contact-pill {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 200px;
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 14px 18px;
  color: inherit;
  text-decoration: none;
}

.contact-pill span {
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase
}

.contact-pill strong {
  font-size: 18px;
  color: var(--blue);
  font-weight: 800
}

.contact-lang {
  margin: 0 0 36px;
  font-size: 14px
}

.contact-address-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px
}

.contact-address {
  border-top: 3px solid var(--blue);
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  padding: 28px 24px;
  min-height: 220px;
}

.contact-address h3 {
  margin: 10px 0 14px;
  font-size: 20px;
  color: var(--ink)
}

.contact-address p {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.7
}

.contact-address p:last-child {
  margin-bottom: 0
}

/* FAQ / forms / misc */
.faq-list {
  max-width: 920px
}

.faq-item {
  border-bottom: 1px solid var(--line);
  padding: 4px 0
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.4;
}

.faq-item summary::-webkit-details-marker {
  display: none
}

.faq-item summary:after {
  content: "+";
  color: var(--red);
  font-weight: 400;
  flex: none
}

.faq-item[open] summary:after {
  content: "–"
}

.faq-item p {
  margin: 0 0 20px;
  max-width: 780px;
  font-size: 15px
}

.quote-layout {
  gap: clamp(32px, 5vw, 56px)
}

.quote-layout aside {
  padding: 28px
}

.inquiry-form label {
  font-size: 13px;
  color: #343945
}

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  font-size: 15px
}

.cta-band-inner {
  min-height: 200px;
  gap: 28px
}

.cta-band h2 {
  font-size: clamp(26px, 3vw, 40px)
}

.service-list article {
  padding: 32px 0
}

.service-list h2 {
  font-size: clamp(24px, 2.8vw, 36px);
  margin-bottom: 10px
}

.service-list p {
  max-width: 720px
}

.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden
}

.footer-entity p {
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.55
}

.footer-entity a {
  color: #eef0ff
}

@media (max-width:1020px) {
  .product-strip-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .nav-group:before {
    display: none
  }

  .app-alt-row,
  .app-alt-row:nth-child(even) {
    grid-template-columns: 1fr
  }

  .app-alt-row:nth-child(even) .app-alt-media {
    order: 0
  }

  .app-alt-media {
    min-height: 220px;
    aspect-ratio: 16/10
  }

  .about-intro,
  .about-quality {
    grid-template-columns: 1fr;
    gap: 28px
  }

  .cert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cert-grid-ce {
    grid-template-columns: 1fr;
  }

  .cert-download-row {
    width: 100%;
  }

  .contact-hero-bar {
    flex-direction: column;
    align-items: flex-start
  }

  .contact-hero-actions {
    justify-content: flex-start
  }

  .contact-address-list {
    grid-template-columns: 1fr
  }

  .application-row,
  .application-row:nth-child(2n) {
    grid-template-columns: 1fr
  }
}

@media (max-width:760px) {
  :root {
    --section-y: 64px
  }

  .container {
    width: min(calc(100% - 32px), var(--container))
  }

  .product-strip-6 {
    grid-template-columns: 1fr
  }

  .page-hero,
  .page-hero-compact {
    padding: 64px 0 48px
  }

  .app-alt-copy {
    padding: 28px 24px
  }

  .cert-grid {
    grid-template-columns: 1fr;
  }

  .contact-pill {
    min-width: 0;
    width: 100%
  }

  .spec-details>div {
    grid-template-columns: 1fr;
    gap: 6px
  }
}

/* Breadcrumb trail on light-background pages */
.breadcrumb-bar {
  padding-top: 30px
}

.breadcrumbs-page,
.breadcrumbs-page a,
.breadcrumbs-page span {
  color: #8a8f9c
}

.breadcrumbs-page {
  margin-bottom: 0
}

.breadcrumbs-page a:hover {
  color: var(--blue)
}

.breadcrumbs-page b {
  color: #1f2330
}

/* Indicative price note on product pages */
.price-note {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7079
}

/* Bilingual support line (Russian gloss under English headings) */
.ru-gloss {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  color: #5b6070
}

.dark-section .ru-gloss,
.cta-band .ru-gloss {
  color: #ffffffa8
}

.hero-lead.ru-gloss {
  max-width: 760px;
  font-size: 17px
}

.ru-inline {
  font-weight: 400;
  color: #5b6070
}

/* CTA block with secondary action */
.cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px
}

.cta-contact-line {
  margin: 14px 0 0;
  font-size: 15px
}

.cta-contact-line a,
.cta-band .cta-contact-line a {
  color: #fff;
  text-decoration: underline
}