/* ==========================================================================
   BARRACUDA — зажимные системы. Дизайн-система прототипа.
   ========================================================================== */

@import url('/font/fonts-local.css');

:root {
  /* Цвета */
  --ink:        #0B0E11;   /* основной тёмный фон — цвет логотипа */
  --ink-2:      #12161A;
  --steel:      #1B2126;   /* тёмный стальной — карточки на тёмном */
  --steel-2:    #262E34;
  --line-dark:  #333D44;
  --aluminum:   #ECEDEE;   /* светлый фон — «шлифованный алюминий» */
  --aluminum-2: #DEE1E3;
  --white:      #FFFFFF;
  --cyan:       #00ECD1;   /* фирменный акцент бренда */
  --cyan-dim:   #00B8A5;
  --rust:       #00B8A5;
  --rust-dim:   #007F75;
  --text-onlight: #14191C;
  --text-onlight-mut: #4C565C;
  --text-ondark:  #E7EBEC;
  --text-ondark-mut: #9AA6AC;

  /* Типографика */
  --f-display: 'RoadRadio', 'Oswald', 'Arial Narrow', sans-serif;
  --f-body: 'Manrope', -apple-system, Segoe UI, sans-serif;
  --f-mono: 'JetBrains Mono', ui-monospace, monospace;

  --container: 1280px;
  --gap: clamp(20px, 4vw, 64px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--aluminum);
  color: var(--text-onlight);
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--f-display); font-weight: 600; letter-spacing: 0.01em; }
p { margin: 0; }
button { font-family: inherit; cursor: pointer; }

:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.eyebrow {
  font-family: var(--f-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: '';
  width: 22px;
  height: 2px;
  background: var(--cyan);
  display: inline-block;
}
.eyebrow.on-light { color: var(--cyan-dim); }
.eyebrow.on-dark { color: var(--cyan); }

.h-display {
  font-family: var(--f-display);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: 0.005em;
}
@font-face{font-family:'RoadRadio';src:url('/font/roadradio-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
.logo-word,.product-card__cat,.product-card__body h3{font-family:'RoadRadio',var(--f-display)}
.hero__flag{color:#ff8a52!important;border-color:#d65b2c!important}

/* ---------- Кнопки ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  font-family: var(--f-body);
  font-weight: 700;
  font-size: 15px;
  border: 2px solid transparent;
  border-radius: 2px;
  background: none;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--cyan); color: var(--ink); }
.btn-primary:hover { background: var(--white); }
.btn-outline { border-color: rgba(255,255,255,0.35); color: var(--white); }
.btn-outline:hover { border-color: var(--cyan); color: var(--cyan); }
.btn-outline.on-light { border-color: rgba(20,25,28,0.25); color: var(--text-onlight); }
.btn-outline.on-light:hover { border-color: var(--rust); color: var(--rust-dim); }
.btn-sm { padding: 10px 18px; font-size: 13px; }
.cart-link{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;color:#fff;text-decoration:none;white-space:nowrap;border:1px solid var(--line-dark)}.cart-link>svg{width:23px;height:23px}.cart-link b{position:absolute;right:-8px;top:-7px;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--rust);font-size:11px}.cart-link.cart-pulse{animation:cart-pulse .55s ease}.cart-row{display:grid;grid-template-columns:1fr 90px 90px;gap:15px;align-items:center;padding:16px;border-bottom:1px solid #d9dde0;background:#fff}.cart-row small{display:block;color:#777}.cart-row input{padding:8px;width:75px}.cart-row button{border:0;background:none;color:#c43b2b;cursor:pointer}.stock-line{margin:14px 0;color:var(--text-onlight-mut)}
.checkout-layout{max-width:1200px}.checkout-title{display:flex;align-items:center;gap:12px;margin:0 0 16px}.checkout-title span{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--cyan);font:700 12px var(--f-mono)}.checkout-title h2{font-size:26px}.cart-row label{display:block;font-size:11px;color:var(--text-onlight-mut)}.cart-row label span{display:block;margin-bottom:3px}.checkout-form{margin-top:38px;padding:28px;background:#fff;border:1px solid #d9dde0}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkout-fields label{font-size:13px;font-weight:700}.checkout-fields input,.checkout-fields textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cbd2d5;background:#fff;font:15px var(--f-body)}.checkout-fields input:focus,.checkout-fields textarea:focus{outline:none;border-color:var(--cyan-dim)}.checkout-full{grid-column:1/-1}.checkout-submit{min-width:230px;justify-content:center;margin-top:22px}.checkout-status{margin-top:15px;font-weight:700}.checkout-status.ok{color:#087a68}.checkout-status.err{color:#c43b2b}.checkout-empty{padding:28px;background:#fff}.checkout-form .hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}@media(max-width:700px){.checkout-fields{grid-template-columns:1fr}.checkout-full{grid-column:auto}.cart-row{grid-template-columns:1fr 80px}.cart-row>button{grid-column:1/-1;justify-self:start}.checkout-form{padding:20px}}
.checkout-form:has(.checkout-status.ok){display:block!important}.checkout-form:has(.checkout-status.ok) .checkout-fields,.checkout-form:has(.checkout-status.ok) .checkout-submit{display:none}.checkout-form:has(.checkout-status.ok) .checkout-status{padding:18px;background:#e5faf4;font-size:17px}

/* ---------- Jaw-bracket signature — уголки-«губки» тисков ---------- */
.jaw {
  position: relative;
}
.jaw::before, .jaw::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid transparent;
  transition: border-color 0.2s ease, transform 0.2s ease;
  pointer-events: none;
}
.jaw::before {
  top: -1px; left: -1px;
  border-right: none; border-bottom: none;
}
.jaw::after {
  bottom: -1px; right: -1px;
  border-left: none; border-top: none;
}
.jaw:hover::before, .jaw:focus-within::before,
.jaw:hover::after, .jaw:focus-within::after {
  border-color: var(--cyan);
}
.jaw:hover::before, .jaw:focus-within::before { transform: translate(-4px, -4px); }
.jaw:hover::after, .jaw:focus-within::after { transform: translate(4px, 4px); }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(11,14,17,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 24px;
}
.site-header .logo { display: flex; align-items: center; gap: 12px; }
.site-header .logo img { height: 30px; width: auto; }
.site-header .logo-word {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: 0.06em;
  color: var(--white);
  text-transform: uppercase;
}
.site-header .logo-word span { color: var(--cyan); }
.main-nav { display: flex; align-items:center; gap:clamp(14px,1.65vw,32px); min-width:0; }
.main-nav a {
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space:nowrap;
  transition: color 0.15s ease;
}
.main-nav a:hover, .main-nav a.active { color: var(--cyan); }
.header-actions { display: flex; align-items: center; gap:clamp(10px,1vw,20px); flex:none; }
.header-phone { color: var(--white); font-family: var(--f-mono); font-size: 14px; font-weight: 500; white-space:nowrap; }
.header-phone span { display: block; color: var(--text-ondark-mut); font-family: var(--f-body); font-size: 11px; }
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 38px; height: 38px;
  background: none; border: 1px solid rgba(255,255,255,0.3);
  border-radius: 2px;
  flex: none;
}
.nav-toggle span { display: block; width: 16px; height: 2px; background: var(--white); margin: 0 auto; transition: transform 0.2s ease, opacity 0.2s ease; }
body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-nav {
  display: none;
  flex-direction: column;
  padding: 8px 24px 24px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.mobile-nav a {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: var(--text-ondark);
  font-weight: 700;
  font-size: 15px;
}
.mobile-nav__phone { color: var(--cyan) !important; }
.mobile-nav .btn { margin-top: 18px; justify-content: center; }
body.nav-open .mobile-nav { display: flex; }

@media (max-width: 1450px) {
  .header-phone {display:none}
  .site-header__inner{gap:16px;padding-left:18px;padding-right:18px}
}
@media (max-width: 1120px) {
  .main-nav, .header-phone { display: none; }
  .nav-toggle { display: flex; }
}
@media (max-width: 560px) {
  .header-cta { display: none; }
  .logo-word { font-size: 16px; }
}
@media (min-width: 1121px) {
  .mobile-nav { display: none !important; }
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  background: var(--ink);
  color: var(--white);
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.hero__bg {
  position: absolute; inset: 0;
  background-image: linear-gradient(100deg, rgba(11,14,17,0.97) 20%, rgba(11,14,17,0.72) 55%, rgba(11,14,17,0.4) 100%), url('/img/brand/hero_cnc.webp');
  background-size: cover;
  background-position: center 30%;
}
.hero__inner {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 24px;
  max-width: var(--container);
  margin: 0 auto;
  width: 100%;
}
.hero__flag {
  display: inline-flex; align-items: center; gap: 8px;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  background: rgba(255,106,44,0.14);
  border: 1px solid rgba(255,106,44,0.5);
  color: #FFB088;
  font-family: var(--f-mono);
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.08em;
  padding: 6px 14px; border-radius: 2px; margin-bottom: 18px;
  text-transform: uppercase;
}
.hero h1 {
  font-size: clamp(28px, 3.6vw, 46px);
  max-width: 44ch;
  margin-bottom: 16px;
}
.hero h1 em { font-style: normal; color: var(--cyan); }
.hero__lead {
  font-size: clamp(15px, 1.4vw, 17px);
  color: var(--text-ondark-mut);
  max-width: 620px;
  margin-bottom: 22px;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }

.hero__stats {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,0.12);
  margin-top: 32px;
  margin-left: -24px;
  margin-right: -24px;
  width: calc(100% + 48px);
}
.hero__stat {
  padding: 14px 24px;
  border-right: 1px solid rgba(255,255,255,0.12);
}
.hero__stat:last-child { border-right: none; }
.hero__stat b {
  display: block;
  font-family: var(--f-display);
  font-size: clamp(22px, 2.4vw, 30px);
  color: var(--white);
  text-transform: uppercase;
}
.hero__stat span {
  font-size: 12.5px;
  color: var(--text-ondark-mut);
  line-height: 1.4;
}
@media (max-width: 800px) {
  .hero__stats { grid-template-columns: repeat(2, 1fr); }
  .hero__stat:nth-child(2) { border-right: none; }
}

/* ---------- Section shell ---------- */
.section { padding: 64px 0; }
.section--tight { padding: 44px 0; }
.section--dark { background: var(--ink); color: var(--text-ondark); }
.section--steel { background: var(--steel); color: var(--text-ondark); }
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{background:#fff;color:var(--text-onlight);text-decoration:none;box-shadow:0 5px 24px rgba(11,14,17,.1);overflow:hidden}.news-card>img{width:100%;height:230px;object-fit:cover}.news-card__body{padding:22px}.news-card time,.news-hero time{font:600 12px var(--f-mono);color:var(--rust-dim)}.news-card h2{font-size:23px;line-height:1.2;margin:9px 0 10px}.news-card p{color:var(--text-onlight-mut)}.news-card__body>span{display:block;margin-top:18px;color:var(--cyan-dim);font-weight:700}.news-hero{background:var(--ink);color:#fff;padding:54px 0}.news-hero h1{max-width:950px;font-size:clamp(32px,5vw,58px);margin-top:14px}.news-article{padding-top:48px;padding-bottom:70px;max-width:1000px}.news-article__image{width:100%;max-height:600px;object-fit:cover;margin-bottom:38px}.news-article__content{max-width:800px;font-size:18px;line-height:1.75}.news-article__content p{margin-bottom:1.2em}@media(max-width:850px){.news-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.news-grid{grid-template-columns:1fr}.news-card>img{height:210px}}
.news-list-title{font-size:clamp(32px,4vw,50px);margin-top:10px}.news-list-section{padding:34px 0 46px;background:var(--aluminum)}
.section--production{background:#dce5e7;color:var(--text-onlight)}.section--production .section-head h2,.section--production .process-step h4{color:var(--text-onlight)!important}.section--production .process-step p{color:var(--text-onlight-mut)}.section--production .process-step{border-color:var(--cyan-dim)}.home-products{background:#e8ecee}.home-news{padding:38px 0 32px;background:#fff}.home-news .section-head{margin-bottom:22px}.home-news .news-card>img{height:190px}.home-news .news-card__body{padding:16px 20px}.home-news .news-card h2{font-size:20px;margin:7px 0}.home-news .news-card p{font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-news .news-card__body>span{margin-top:10px;font-size:14px}.home-news .news-carousel__nav{margin-top:18px}.home-news .news-carousel__nav .btn{height:42px;margin-left:10px}
.home-news .news-grid{gap:14px}.home-news .news-card{display:grid;grid-template-columns:125px 1fr;min-height:138px}.home-news .news-card[hidden]{display:none}.home-news .news-card>img{height:100%;min-height:138px}.home-news .news-card__body{padding:12px 14px}.home-news .news-card h2{font-size:17px;line-height:1.16;margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-news .news-card p{font-size:12.5px;line-height:1.3;-webkit-line-clamp:2}.home-news .news-card__body>span{margin-top:6px;font-size:12px}.home-news .news-carousel__nav>button{display:block}.home-news .news-carousel__nav>[data-news-pages]{display:flex}
.news-grid--compact{gap:16px}.news-grid--compact .news-card{display:grid;grid-template-columns:135px 1fr;min-height:150px}.news-grid--compact .news-card[hidden]{display:none}.news-grid--compact .news-card>img{height:100%;min-height:150px}.news-grid--compact .news-card__body{padding:15px 16px}.news-grid--compact .news-card h2{font-size:18px;margin:6px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-grid--compact .news-card p{font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-grid--compact .news-card__body>span{margin-top:8px;font-size:13px}.news-carousel__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.news-carousel__nav>button{width:42px;height:42px;border:1px solid rgba(20,25,28,.2);background:#fff;font-size:20px}.news-carousel__nav>button:hover{background:var(--ink);color:var(--cyan)}.news-carousel__nav>div{display:flex;gap:8px}.news-carousel__nav>div button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#aeb5b9}.news-carousel__nav>div button.active{background:var(--rust);transform:scale(1.3)}
@media(max-width:1100px){.news-grid--compact .news-card{grid-template-columns:110px 1fr}.news-grid--compact .news-card p{display:none}}
@media(max-width:850px){.news-grid--compact{grid-template-columns:1fr 1fr}.news-grid--compact .news-card{grid-template-columns:1fr}.news-grid--compact .news-card>img{height:150px}}
@media(max-width:560px){.news-grid--compact{grid-template-columns:1fr}.news-grid--compact .news-card{grid-template-columns:115px 1fr}.news-grid--compact .news-card>img{height:100%}}
.news-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 0}.news-gallery img{width:100%;height:320px;object-fit:cover}.news-gallery img:nth-child(3){grid-column:1/-1}@media(max-width:600px){.news-gallery{grid-template-columns:1fr}.news-gallery img,.news-gallery img:nth-child(3){grid-column:auto;height:auto}}
.section-head { max-width: 720px; margin-bottom: 36px; }
.section-head h2 { font-size: clamp(26px, 3.6vw, 40px); margin-top: 14px; }
.section-head p { margin-top: 14px; color: var(--text-onlight-mut); font-size: 16px; }
.section--dark .section-head p, .section--steel .section-head p { color: var(--text-ondark-mut); }

/* diagonal bevel divider between sections */
.bevel-divider {
  height: 56px;
  background: var(--ink);
  clip-path: polygon(0 0, 100% 0, 100% 30%, 0 100%);
  margin-bottom: -1px;
}
.bevel-divider--to-alu { background: var(--aluminum); clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%); }

/* ---------- Trust badges row ---------- */
.trust-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
}
.trust-card {
  background: var(--ink-2);
  padding: 20px 22px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.trust-card svg { flex: none; width: 30px; height: 30px; color: var(--cyan); }
.trust-card h4 { color: var(--white); font-family: var(--f-body); font-weight: 800; font-size: 15px; text-transform: none; margin-bottom: 6px; }
.trust-card p { color: var(--text-ondark-mut); font-size: 13.5px; line-height: 1.5; }

/* ---------- About ---------- */
.about-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--gap);
  align-items: center;
}
.about-copy p { color: var(--text-onlight-mut); font-size: 16.5px; margin-bottom: 18px; }
.about-copy p:last-child { margin-bottom: 0; }
.about-media { position: relative; }
.about-media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.about-media .badge-reg {
  position: absolute; bottom: -26px; left: -26px;
  background: var(--ink); color: var(--white);
  padding: 20px 22px; max-width: 260px;
  border-left: 4px solid var(--rust);
}
.about-media .badge-reg strong { display: block; font-family: var(--f-display); font-size: 13px; letter-spacing: 0.08em; color: var(--rust); text-transform: uppercase; margin-bottom: 6px; }
.about-media .badge-reg span { font-size: 13.5px; color: var(--text-ondark-mut); line-height: 1.45; }
@media (max-width: 860px) {
  .about-grid { grid-template-columns: 1fr; }
  .about-media { order: -1; margin-bottom: 40px; }
  .about-media .badge-reg { position: static; margin-top: -4px; max-width: none; }
}

/* ---------- Advantages ---------- */
.adv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line-dark);
}
.adv-card {
  background: var(--steel);
  padding: 24px 24px;
}
.adv-card .adv-num { font-family: var(--f-mono); color: var(--cyan); font-size: 13px; margin-bottom: 12px; display: block; }
.adv-card h3 { font-size: 20px; color: var(--white); font-family: var(--f-body); font-weight: 800; text-transform: none; margin-bottom: 10px; }
.adv-card p { color: var(--text-ondark-mut); font-size: 14.5px; }
@media (max-width: 860px) { .adv-grid { grid-template-columns: 1fr; } }

/* ---------- Process strip ---------- */
.process-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}
.process-step { position: relative; padding-top: 22px; border-top: 2px solid var(--rust); }
.process-step b { font-family: var(--f-mono); font-size: 13px; color: var(--rust-dim); display: block; margin-bottom: 10px; }
.process-step h4 { font-size: 17px; margin-bottom: 8px; }
.process-step p { font-size: 14px; color: var(--text-onlight-mut); }
@media (max-width: 860px) { .process-strip { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Product grid ---------- */
.filter-bar {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 40px;
}
.filter-chip {
  padding: 9px 18px;
  border: 1px solid rgba(20,25,28,0.18);
  border-radius: 2px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-onlight-mut);
  transition: all 0.15s ease;
}
.filter-chip:hover { border-color: var(--rust); color: var(--rust-dim); }
.catalog-filters{display:grid;gap:22px;margin-bottom:34px}.catalog-filter-group>strong{display:block;margin-bottom:10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-onlight-mut)}.catalog-filter-group .filter-bar{margin-bottom:0}
.filter-chip.active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.catalog-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:34px;align-items:start}.catalog-results{min-width:0}.catalog-results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.smart-filter{position:sticky;top:110px;border:1px solid #cbd1d5;background:#fff}.smart-filter__title{padding:18px 20px;background:#17212a;color:#fff;font-weight:800;font-size:18px}.smart-filter details{border-bottom:1px solid #dce1e4}.smart-filter summary{position:relative;padding:17px 42px 17px 18px;cursor:pointer;font-weight:700;list-style:none}.smart-filter summary::-webkit-details-marker{display:none}.smart-filter summary:after{content:'+';position:absolute;right:18px;top:14px;font-size:22px;color:#607078}.smart-filter details[open] summary:after{content:'−'}.smart-filter__values{display:grid;gap:0;padding:0 12px 14px}.smart-filter__values a{display:flex;align-items:flex-start;gap:9px;padding:8px 6px;color:#35444c;font-size:14px}.smart-filter__values a span{flex:none;width:16px;height:16px;border:1px solid #99a6ad;margin-top:2px}.smart-filter__values a.active{color:#008f83;font-weight:700}.smart-filter__values a.active span{background:#00cbb8;border-color:#00a996;box-shadow:inset 0 0 0 3px #fff}.smart-filter__reset{display:block;margin:15px;color:#a33;text-decoration:underline}@media(max-width:1000px){.catalog-layout{grid-template-columns:1fr}.smart-filter{position:static}.catalog-results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.catalog-results .product-grid{grid-template-columns:1fr}}

.catalog-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:34px}.catalog-pagination a{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid #c6cdd1;background:#fff;color:var(--ink);font-weight:800;transition:.18s ease}.catalog-pagination a:hover{border-color:var(--accent);color:#008f83}.catalog-pagination a.active{border-color:var(--ink);background:var(--ink);color:#fff;pointer-events:none}.catalog-pagination__arrow{font-size:20px}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 28px;
}
.product-card {
  background: var(--white);
  border: 1px solid rgba(20,25,28,0.1);
  display: flex; flex-direction: column;
}
.product-card__img {
  aspect-ratio: 4/3;
  background: var(--aluminum-2);
  position: relative;
  overflow: hidden;
}
.product-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.product-card:hover .product-card__img img { transform: scale(1.05); }
.product-card__cat {
  position: absolute; top: 12px; left: 12px;
  z-index: 2; max-width: calc(100% - 88px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  background: var(--ink); color: var(--cyan);
  font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 5px 10px;
}
.product-card__cart{position:absolute;z-index:4;top:12px;right:12px;width:48px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);background:rgba(11,14,17,.92);color:var(--cyan);cursor:pointer;transition:.18s ease}.product-card__cart svg{display:block;width:23px;height:23px}.product-card__cart:hover,.product-card__cart.is-added{background:var(--cyan);border-color:var(--cyan);color:var(--ink);transform:translateY(-2px)}
.product-card__3d{position:absolute;z-index:3;right:12px;top:62px;display:flex;align-items:center;gap:5px;height:32px;padding:0 9px;background:rgba(11,14,17,.9);border:1px solid rgba(255,255,255,.28);color:var(--cyan);font:700 11px/1 var(--f-mono);letter-spacing:.04em}.product-card__3d svg{width:18px;height:18px}.product-card__3d b{font:inherit}
.cart-flyer{position:fixed;z-index:1000;pointer-events:none;object-fit:cover;border-radius:8px;box-shadow:0 10px 30px #0006;transition:left .72s cubic-bezier(.2,.75,.3,1),top .72s cubic-bezier(.2,.75,.3,1),width .72s,height .72s,opacity .72s,transform .72s}.cart-toast{position:fixed;z-index:1001;right:24px;top:84px;max-width:340px;padding:14px 18px;background:var(--ink);color:#fff;border-left:4px solid var(--cyan);box-shadow:0 12px 35px #0005;opacity:0;transform:translateY(-14px);pointer-events:none;transition:.25s ease}.cart-toast.show{opacity:1;transform:translateY(0)}.cart-toast b,.cart-toast span{display:block}.cart-toast span{margin-top:3px;color:var(--text-ondark-mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes cart-pulse{50%{transform:scale(1.16);color:var(--cyan)}}@media(max-width:600px){.cart-toast{left:15px;right:15px;top:72px}}
.product-card__body { padding: 20px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.product-card__body h3 { font-size: 18px; font-family: var(--f-body); font-weight: 800; text-transform: none; margin-bottom: 10px; }
.product-specs { display: flex; flex-direction: column; gap: 4px; margin-bottom: 18px; }
.product-specs div { display: grid; grid-template-columns: minmax(0,1fr) minmax(96px,1.15fr); align-items: start; column-gap: 14px; font-family: var(--f-mono); font-size: 12.5px; color: var(--text-onlight-mut); border-bottom: 1px dotted rgba(20,25,28,0.14); padding-bottom: 4px; }
.product-specs div span { min-width: 0; overflow-wrap: anywhere; }
.product-specs div b { min-width: 0; color: var(--text-onlight); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.product-card__more { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 13.5px; color: var(--ink); padding-top: 6px; }
.product-card__more svg { width: 16px; height: 16px; transition: transform 0.15s ease; }
.product-card:hover .product-card__more svg { transform: translateX(4px); }

/* ---------- Product detail ---------- */
.pd-model { background: var(--white); border: 1px solid rgba(20,25,28,.12); margin-bottom: 34px; overflow: hidden; }
.pd-model__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 20px 24px; border-bottom: 1px solid rgba(20,25,28,.1); }
.pd-model__head h2 { font-family: var(--f-display); text-transform: uppercase; font-size: clamp(22px,3vw,32px); margin-top: 4px; }
.pd-model__head > span { color: var(--text-onlight-mut); font-size: 13px; }
.pd-model model-viewer { display: block; width: 100%; height: min(68vh,650px); min-height: 420px; background: linear-gradient(145deg,#f8fafb,#e5eaed); --poster-color: transparent; }
.pd-model__loading { width: 100%; height: 100%; display: grid; place-items: center; color: var(--text-onlight-mut); font-family: var(--f-mono); }
.crumbs { font-size: 13px; color: var(--text-onlight-mut); margin-bottom: 18px; }
.crumbs a:hover { color: var(--rust-dim); }
.pd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-bottom: 52px; }
.pd-gallery-main { position: relative; aspect-ratio: 1/1; background: var(--white); border: 1px solid rgba(20,25,28,0.1); overflow: hidden; margin-bottom: 12px; }
.pd-gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.pd-gallery-main video{width:100%;height:100%;object-fit:contain;background:#090d10}.pd-gallery-main [hidden]{display:none!important}
.pd-gallery-3d{position:absolute;z-index:3;left:14px;bottom:14px;display:flex;align-items:center;gap:9px;padding:11px 14px;background:rgba(11,14,17,.9);color:var(--cyan);font-size:13px;font-weight:800;box-shadow:0 5px 18px #0004}.pd-gallery-3d svg{width:21px;height:21px}.pd-gallery-3d:hover{background:var(--cyan);color:var(--ink)}
.pd-gallery-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 2px;
  background: rgba(255,255,255,0.85); border: 1px solid rgba(20,25,28,0.15);
  color: var(--text-onlight); display: flex; align-items: center; justify-content: center;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.pd-gallery-arrow svg { width: 20px; height: 20px; }
.pd-gallery-arrow:hover { background: var(--ink); border-color: var(--ink); color: var(--cyan); }
.pd-gallery-arrow--prev { left: 12px; }
.pd-gallery-arrow--next { right: 12px; }
.pd-gallery-counter {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(11,14,17,0.75); color: #fff;
  font-family: var(--f-mono); font-size: 12px; padding: 5px 10px; border-radius: 2px;
}
.pd-gallery-thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.pd-gallery-thumb{position:relative;width:68px;height:68px;padding:0;border:1px solid rgba(20,25,28,.15);background:#fff;cursor:pointer;overflow:hidden;transition:border-color .15s ease}.pd-gallery-thumb img,.pd-gallery-thumb video{width:100%;height:100%;object-fit:cover}.pd-gallery-thumb:hover{border-color:rgba(20,25,28,.4)}.pd-gallery-thumb.active{border:2px solid var(--rust)}.pd-gallery-thumb--video{background:#090d10}.pd-gallery-thumb--video span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.72);color:var(--cyan);font-size:14px;padding-left:2px}
.pd-cat { font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.08em; color: var(--rust-dim); text-transform: uppercase; margin-bottom: 8px; display: block; }
.pd-title { font-size: clamp(24px, 2.8vw, 34px); margin-bottom: 12px; }
.pd-desc { color: var(--text-onlight-mut); font-size: 15.5px; margin-bottom: 20px; }
.pd-description-block{max-width:1050px;margin:0 0 56px}.pd-description-block .section-head{margin-bottom:20px}.pd-description-block .pd-desc{font-size:17px;line-height:1.75}.pd-spec-table{margin-top:22px}.pd-stock{padding:13px 16px;border:1px solid rgba(20,25,28,.14);background:#fff}.pd-stock b{margin-right:8px}
.pd-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 22px; }
.pd-download {
  display: flex; align-items: center; gap: 14px;
  border: 1px solid rgba(20,25,28,0.15);
  padding: 12px 18px; margin-bottom: 8px;
}
.pd-download svg { flex: none; width: 22px; height: 22px; color: var(--rust-dim); }
.pd-download div { flex: 1; }
.pd-download strong { display: block; font-size: 14px; }
.pd-download span { font-size: 12.5px; color: var(--text-onlight-mut); }
.pd-download.disabled { opacity: 0.5; }
.pd-download.disabled svg { color: var(--text-onlight-mut); }
.pd-model-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.model-download{position:relative;min-width:240px}.model-download summary{height:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 15px;background:var(--ink);color:#fff;font-weight:800;cursor:pointer;list-style:none}.model-download summary::-webkit-details-marker{display:none}.model-download[open] summary{background:var(--cyan);color:var(--ink)}.model-download>div{position:absolute;z-index:10;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid rgba(20,25,28,.15);box-shadow:0 10px 24px #0003}.model-download>div a{display:block;padding:11px 14px;border-bottom:1px solid #e4e7e8}.model-download>div a:last-child{border:0}.model-download>div a:hover{background:#eefafa}.model-download>div b,.model-download>div span{display:block}.model-download>div b{color:var(--rust-dim)}.model-download>div span{font-size:12px;color:var(--text-onlight-mut)}.pd-open-model{min-height:46px}
.model-page{padding:34px 0 52px;background:var(--aluminum);min-height:calc(100vh - 64px)}.model-page__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.model-page__head h1{font-size:clamp(28px,4vw,46px);margin:5px 0}.model-page__head p{color:var(--text-onlight-mut)}.model-page__viewer{background:#fff;border:1px solid rgba(20,25,28,.12);overflow:hidden}.model-page__viewer model-viewer{display:block;width:100%;height:calc(100vh - 290px);min-height:480px;background:linear-gradient(145deg,#f8fafb,#e5eaed);--poster-color:transparent}.model-page__downloads{display:flex;gap:12px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}@media(max-width:700px){.model-page__head{align-items:start;flex-direction:column}.model-page__viewer model-viewer{height:62vh;min-height:380px}.pd-gallery-3d{left:8px;bottom:8px;padding:9px 10px;font-size:12px}}

.spec-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.spec-table th { text-align: left; font-family: var(--f-display); text-transform: uppercase; font-size: 18px; padding-bottom: 10px; font-weight: 600; }
.spec-table td { padding: 9px 0; border-top: 1px solid rgba(20,25,28,0.12); font-size: 14px; }
.spec-table td:first-child { color: var(--text-onlight-mut); width: 55%; }
.spec-table td:last-child { font-family: var(--f-mono); font-weight: 600; text-align: right; }

@media (max-width: 860px) { .pd-grid { grid-template-columns: 1fr; } .pd-model__head { align-items: start; flex-direction: column; } .pd-model model-viewer { min-height: 340px; height: 52vh; } }

/* ---------- Contacts ---------- */
.contacts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.contacts-grid--3 { grid-template-columns: 1fr 1fr 1.2fr; align-items: start; }
.contact-card { border: 1px solid rgba(255,255,255,0.14); padding: 26px 26px; }
.contact-card .eyebrow { margin-bottom: 14px; }
.contact-card h3 { color: var(--white); font-family: var(--f-body); font-weight: 800; font-size: 20px; text-transform: none; margin-bottom: 14px; }
.contact-line { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,0.08); font-size: 14.5px; }
.contact-line:first-of-type { border-top: none; }
.contact-line span { color: var(--text-ondark-mut); flex: none; width: 88px; }
.contact-line a:hover, .contact-line strong { color: var(--white); }
.contact-line--stack { align-items: flex-start; }
.contact-line--stack span { width: 112px; }
.contact-line--stack strong { line-height: 1.35; }
.contact-details-link { display: inline-flex; margin-top: 18px; color: var(--cyan); font-weight: 700; }
@media (max-width: 860px) { .contacts-grid, .contacts-grid--3 { grid-template-columns: 1fr; } }

.nav-dropdown { position: relative; display: flex; align-items: center; height: 100%; }
.nav-dropdown__menu { position: absolute; z-index: 80; top: calc(100% + 20px); left: 50%; min-width: 230px; padding: 8px; background: #151a1e; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 14px 32px rgba(0,0,0,.32); opacity: 0; visibility: hidden; transform: translate(-50%,8px); transition: .18s ease; }
.nav-dropdown__menu a { display: block; padding: 10px 12px; white-space: nowrap; }
.nav-dropdown:hover .nav-dropdown__menu,.nav-dropdown:focus-within .nav-dropdown__menu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.nav-dropdown__menu--tree{min-width:290px;max-height:70vh;overflow:auto}.nav-dropdown__menu--tree ul{list-style:none;margin:0;padding:0}.nav-dropdown__menu--tree ul ul{margin-left:14px;padding-left:10px;border-left:1px solid #3b464d}.nav-dropdown__menu--tree li{margin:0}.nav-dropdown__menu--tree li a{white-space:normal}
.requisites-hero { background: var(--ink); color: #fff; padding: 80px 0 64px; }
.requisites-hero h1 { margin: 15px 0 14px; }
.requisites-hero p:last-child { max-width: 760px; color: var(--text-ondark-mut); }
.requisites-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 28px; align-items: start; }
.requisites-card { background: #fff; padding: clamp(24px,4vw,42px); box-shadow: 0 10px 35px rgba(20,28,34,.08); }
.requisites-card h2 { margin: 0 0 24px; }
.requisites-list { margin: 0; }
.requisites-list>div { display: grid; grid-template-columns: minmax(160px,35%) 1fr; gap: 20px; padding: 14px 0; border-top: 1px solid #e1e5e7; }
.requisites-list dt { color: #68767e; }
.requisites-list dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.requisites-list a { color: #008e82; }
.requisites-contact { margin-top: 28px; }
@media(max-width:780px){.requisites-layout{grid-template-columns:1fr}.requisites-list>div{grid-template-columns:1fr;gap:4px}.nav-dropdown{display:none}}
.projects-hero { background: var(--ink); color:#fff; padding:80px 0 64px; }
.projects-hero h1 { margin:15px 0 14px; }
.projects-hero p:last-child { color:var(--text-ondark-mut); }
.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.project-photo { display:block; background:#111; overflow:hidden; aspect-ratio:4/3; }
.project-photo[hidden] { display:none; }
.project-photo img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.project-photo:hover img { transform:scale(1.035); }
.home-projects { background:#dde4e7; }
.project-carousel__nav { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:24px; }
.project-carousel__nav>button { width:42px;height:42px;border:1px solid rgba(20,25,28,.2);background:#fff;font-size:20px;cursor:pointer; }
.project-carousel__nav>button:hover { background:var(--ink);color:var(--cyan); }
.project-carousel__nav>div { display:flex;gap:8px; }
.project-carousel__nav>div button { width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#aeb5b9;cursor:pointer; }
.project-carousel__nav>div button.active { background:var(--rust);transform:scale(1.3); }
.project-carousel__nav .btn { margin-left:10px; }
@media(max-width:760px){.projects-grid{grid-template-columns:1fr 1fr}.projects-grid--carousel{grid-template-columns:1fr}.project-carousel__nav{flex-wrap:wrap}.project-photo{aspect-ratio:4/3}}
@media(max-width:480px){.projects-grid{grid-template-columns:1fr}}
.project-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:40px;background:rgba(4,7,9,.9);opacity:0;visibility:hidden;transition:.2s ease}.project-lightbox.open{opacity:1;visibility:visible}.project-lightbox img{display:block;max-width:min(1400px,94vw);max-height:88vh;object-fit:contain;box-shadow:0 18px 60px #000}.project-lightbox button{position:absolute;top:20px;right:24px;width:48px;height:48px;border:1px solid #ffffff55;background:#101519;color:#fff;font-size:32px;line-height:1;cursor:pointer}.project-lightbox__caption{position:absolute;bottom:12px;color:#fff;font-weight:700}@media(max-width:600px){.project-lightbox{padding:18px}.project-lightbox button{top:10px;right:10px}}

/* ---------- Modal (всплывающая форма заявки) ---------- */
.modal { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; padding: 20px; }
.modal.open { display: flex; }
.modal__overlay { position: absolute; inset: 0; background: rgba(6,8,10,0.75); backdrop-filter: blur(3px); }
.modal__panel { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; }
body.modal-open { overflow: hidden; }
.modal__close {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  width: 34px; height: 34px; border-radius: 2px; line-height: 1;
  background: none; border: 1px solid rgba(255,255,255,0.25); color: #fff;
  font-size: 22px;
}
.modal__close:hover { border-color: var(--cyan); color: var(--cyan); }

.contact-card--cta { display: flex; flex-direction: column; }
.contact-card--cta h3 { margin-top: 14px; }
.contact-card--cta .lead-form__note { margin-bottom: 22px; }
.contact-card--cta button { margin-top: auto; }

/* ---------- Lead form ---------- */
.lead-form { position: relative; background: var(--steel); border: 1px solid rgba(255,255,255,0.14); padding: 26px 26px; }
.lead-form h3 { color: var(--white); font-family: var(--f-body); font-weight: 800; font-size: 20px; text-transform: none; margin: 12px 0 8px; }
.lead-form__note { color: var(--text-ondark-mut); font-size: 13.5px; margin-bottom: 16px; line-height: 1.5; }
.lead-form .hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lead-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead-form label { display: block; font-size: 12.5px; color: var(--text-ondark-mut); font-weight: 700; margin-bottom: 16px; }
.lead-form input, .lead-form textarea {
  display: block; width: 100%; margin-top: 7px;
  background: var(--ink-2); border: 1px solid var(--line-dark); color: var(--white);
  padding: 11px 12px; font-family: var(--f-body); font-size: 14.5px; border-radius: 2px;
}
.lead-form input:focus, .lead-form textarea:focus { border-color: var(--cyan); outline: none; }
.lead-form textarea { resize: vertical; }
.lead-form button[type="submit"] { width: 100%; justify-content: center; margin-top: 4px; }
.lead-form__status { min-height: 20px; font-size: 13.5px; margin-top: 12px; }
.lead-form__status.ok { color: var(--cyan); }
.lead-form__status.err { color: #FF8A6A; }
.form-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:12px!important;line-height:1.45;font-weight:400!important}.form-consent input{flex:0 0 auto;width:18px!important;height:18px!important;margin:1px 0 0!important;accent-color:var(--cyan)}.form-consent span{display:block}.form-consent a{color:var(--cyan);text-decoration:underline}.checkout-form .form-consent{color:var(--text-onlight-mut);margin-top:2px}.checkout-form .form-consent a{color:#007f75}
@media (max-width: 540px) { .lead-form__row { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink-2); color: var(--text-ondark-mut); padding: 40px 0 22px; font-size: 13.5px; }
.footer-top { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 32px; margin-bottom: 28px; }
.footer-nav { display: flex; gap: 40px; flex-wrap: wrap; }
.footer-nav h5 { color: var(--white); font-family: var(--f-body); font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 14px; }
.footer-nav ul li { margin-bottom: 9px; }
.footer-nav a:hover { color: var(--cyan); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 22px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }

/* ---------- Утилиты ---------- */
.site-search{position:relative;flex:none}.site-search__toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-dark);background:transparent;color:#fff}.site-search__toggle svg{width:19px}.site-search__box{display:none;position:absolute;right:0;top:-2px;width:min(470px,calc(100vw - 30px));z-index:210}.site-search.open .site-search__box{display:block}.site-search__box>input{width:100%;height:44px;border:1px solid var(--cyan);background:#fff;color:#111;padding:0 45px 0 16px;font:15px var(--f-body);outline:none}.site-search__close{position:absolute;right:5px;top:5px;width:34px;height:34px;border:0;background:none;font-size:25px}.site-search__results{position:absolute;top:48px;right:0;width:100%;max-height:430px;overflow:auto;background:#fff;color:#111;box-shadow:0 12px 30px #0005}.site-search__results a{display:block;padding:11px 14px;border-bottom:1px solid #e4e7e8}.site-search__results a:hover{background:#eefafa}.site-search__results small{display:block;color:var(--rust-dim);font:600 10px var(--f-mono);text-transform:uppercase}.site-search__results strong{display:block;font-size:14px;margin:2px 0}.site-search__results span{display:block;color:#687176;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-search__empty{padding:18px;color:#687176}@media(max-width:1100px){.site-search{display:none}}
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }
.skip-link {
  position: absolute; left: -9999px; top: 0; background: var(--cyan); color: var(--ink);
  padding: 10px 16px; z-index: 200; font-weight: 700;
}
.skip-link:focus { left: 12px; top: 12px; }
/* Unified public form validation */
.field-invalid{border-color:#d33!important;box-shadow:0 0 0 2px rgba(211,51,51,.12)!important}.form-field-error{display:block;margin-top:6px;color:#c92d2d;font-size:13px;font-weight:700;line-height:1.3}.lead-form .form-field-error{color:#ff8d82}.field-invalid:focus{outline-color:#d33}

/* ---------- Contacts page ---------- */
.contacts-page-hero{background:var(--ink);color:#fff;padding:80px 0 64px}.contacts-page-hero h1{margin:15px 0 14px}.contacts-page-hero p:last-child{max-width:760px;color:var(--text-ondark-mut)}
.contact-location{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(480px,1.28fr);background:#fff;margin-bottom:28px;box-shadow:0 10px 35px rgba(20,28,34,.08);scroll-margin-top:110px}.contact-location__details{padding:clamp(26px,4vw,48px)}.contact-location__details h2{margin:10px 0 18px}.contact-location__details .contact-line{border-color:#e2e6e8;font-size:15px}.contact-location__details .contact-line span{color:#68767e}.contact-location__details .contact-line a,.contact-location__details .contact-line strong{color:var(--ink)}.contact-location__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.contact-map{min-height:430px;background:#15191c}.contact-map iframe{display:block;width:100%;height:100%;min-height:430px;border:0}.contacts-page-note{margin-top:10px;color:#68767e}
@media(max-width:900px){.contact-location{grid-template-columns:1fr}.contact-map,.contact-map iframe{min-height:360px}}@media(max-width:520px){.contact-map,.contact-map iframe{min-height:300px}.contact-location__details{padding:24px 18px}.contact-location__links .btn{width:100%;justify-content:center}}
.catalog-category-nav,.home-category-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 30px}.catalog-category-nav a,.home-category-nav a{display:inline-flex;align-items:center;width:auto;min-height:38px;padding:8px 13px;background:#12171b;border:1px solid #12171b;color:#fff;font-size:13px;font-weight:700;line-height:1.25;transition:.15s}.catalog-category-nav a:hover,.catalog-category-nav a.active,.home-category-nav a:hover{background:#00b8a5;border-color:#00b8a5;color:#07100f;transform:translateY(-1px)}.catalog-category-nav a.is-child{margin-left:6px;border-color:#455159;font-size:12px}.home-category-nav a:has(+ a),.catalog-category-nav a:has(+ a){white-space:nowrap}@media(max-width:620px){.catalog-category-nav,.home-category-nav{gap:6px}.catalog-category-nav a,.home-category-nav a{padding:7px 10px;font-size:12px}}
