@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  --bg: #05070b;
  --panel: #0b0f17;
  --panel-light: #101722;
  --white: #f5f7fb;
  --muted: #98a3b4;
  --line: rgba(161, 188, 232, .15);
  --accent: #4285ff;
  --accent-soft: #99bbff;
  --container-max: 1200px;
  --page-pad: clamp(22px, 4.4vw, 76px);
  font-family: Manrope, Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--white); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; display: block; }
h1,h2,h3,p { margin-top: 0; }
a:focus-visible,button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.container { width: min(var(--container-max), calc(100% - var(--page-pad) - var(--page-pad))); margin-inline: auto; }
.accent { color: var(--accent); }

/* Общая шапка. Её содержимое выровнено по основной сетке сайта. */
.site-header { height: 76px; background: #050609; border-bottom: 0; z-index: 30; position: relative; }
.site-header__inner { height: 100%; display: flex; gap: 36px; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 11px; white-space: nowrap; font-size: 13px; letter-spacing: .055em; font-weight: 600; }
.brand img { width: 32px; height: 32px; filter: brightness(0) saturate(100%) invert(45%) sepia(96%) saturate(2435%) hue-rotate(203deg) brightness(101%); }
.brand strong { font-weight: 800; }
.nav { display: flex; align-items: center; gap: clamp(20px, 2.8vw, 46px); margin-inline: auto; }
.nav a { font-size: 15px; font-weight: 700; color: #c7cfda; transition: color .2s; }
.nav a:hover,.nav a.active { color: var(--accent-soft); }
.header-link { font-size: 13px; font-weight: 800; white-space: nowrap; }
.header-link span { color: var(--accent); margin-left: 8px; }
.nav-toggle { display: none; }

/* Главный экран: видео / обложка на всю ширину, текст внутри 1200px. */
.hero { position: relative; isolation: isolate; overflow: hidden; height: min(900px, calc(100svh - 76px)); min-height: 650px; display: flex; align-items: center; }
.hero__media,.hero__video,.hero__fallback,.hero__shade,.hero__grid { position: absolute; inset: 0; }
.hero__media { z-index: -3; background: #0b1520; }
.hero__video { z-index: 1; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s; }
.hero__video.is-ready { opacity: 1; }
.hero__fallback { z-index: 0; background: url('../images/forest-cover.jpg') center / cover no-repeat; filter: saturate(.74); }
.hero__shade { z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(2,4,8,.91),rgba(2,4,8,.72) 52%,rgba(2,4,8,.48)),linear-gradient(0deg,rgba(2,4,8,.88),transparent 31%,transparent 77%,rgba(2,4,8,.25)); }
.hero__grid { pointer-events: none; z-index: -2; opacity: 0; background-image: linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px); background-size: 110px 110px; mask-image: linear-gradient(90deg,transparent,#000 18%,#000 85%,transparent); }
.hero__content { padding: 30px 0 80px; }
.eyebrow { margin: 0 0 36px; display: flex; gap: 12px; align-items: center; color: #afc4e8; font-size: 10px; font-weight: 800; letter-spacing: .20em; }
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 16px var(--accent); }
.hero h1 { font-size: clamp(58px, 7vw, 112px); line-height: 1.06; letter-spacing: -.075em; font-weight: 800; margin: 0; }
.hero h1 span { color: #c2c8d1; }
.hero__lead { color: #c5ccda; line-height: 1.8; font-size: clamp(14px,1.3vw,17px); max-width: 520px; margin: 32px 0 34px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 33px; padding: 0 22px; min-height: 47px; font-size: 12px; font-weight: 800; transition: background .2s,border-color .2s,transform .2s; }
.button:hover { transform: translateY(-2px); }
.button--light { color: #080a10; background: #f5f7fb; border: 1px solid #f5f7fb; border-radius: 5px; }
.button--light:hover { background: #dce9ff; }
.button--line { border: 1px solid #788292; background: rgba(0,0,0,.13); border-radius: 5px; }
.button--line:hover { border-color: #fff; }
.hero__bottom { position: absolute; left: 50%; transform: translateX(-50%); bottom: 31px; display: flex; align-items: center; justify-content: flex-end; gap: 20px; color: #a6b2c6; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.hero__bottom-right { display: flex; align-items: center; gap: 32px; }
.hero__scroll { display:inline-flex;align-items:center;gap:12px;transition:color .2s; } .hero__scroll:hover { color:#fff; } .hero__scroll span { font-size: 18px; }
.video-control { border: 0; background: transparent; color: #abb6c8; cursor: pointer; font-size: 10px; letter-spacing: .15em; }
.video-control[hidden] { display: none; }

/* Единая сетка секций: одинаковый отступ, нумерация и тонкая линия. */
.section-shell { border-top: 0; }
.section-shell > .container { padding-block: clamp(72px, 7.3vw, 106px); }
.section-kicker { display: flex; align-items: center; gap: 22px; width: 100%; margin: 0 0 43px; white-space: nowrap; color: #91a1b8; font-size: 10px; font-weight: 800; letter-spacing: .21em; }
.section-kicker::after { display: none; }
.section-kicker__index { color: var(--accent-soft); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 37px; }
.section-heading h2,.intro h2,.contact-banner h2,.about-info h2 { font-size: clamp(37px, 4.65vw, 65px); line-height: 1.13; font-weight: 800; letter-spacing: -.065em; margin: 0; }
.intro h2 span,.contact-banner h2 span { color: #747e8e; }
.intro__body { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); align-items: end; gap: clamp(30px, 6vw, 90px); }
.intro__side { max-width: 400px; }
.intro__side p,.about-info__text,.contacts__text { color: #aeb9c8; font-size: 15px; line-height: 1.9; margin-bottom: 18px; }
.text-link { display: inline-flex; padding-bottom: 9px; border-bottom: 1px solid var(--accent); font-size: 12px; font-weight: 800; transition: color .2s; }
.text-link:hover { color: var(--accent-soft); }
.products { background: #06080d; }
.products .section-kicker { margin-bottom: 37px; }
.cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.product-card { background: var(--panel); padding: 17px; border: 1px solid var(--line); transition: border-color .22s,transform .22s,background .22s; min-width: 0; }
.product-card:hover { border-color: rgba(92,149,255,.70); background: var(--panel-light); transform: translateY(-4px); }
.product-card__number { display: block; font-size: 10px; letter-spacing: .14em; color: #90a7ca; font-weight: 700; }
.product-card__art { height: clamp(175px, 18vw, 226px); display: grid; place-items: center; background: radial-gradient(ellipse at 50% 55%,#1a293d,#080c13 69%); overflow: hidden; position: relative; margin: 15px 0 17px; }
.product-card__art::after { content: ''; position: absolute; width: 130px; height: 130px; border: 1px solid rgba(107,161,255,.2); transform: rotate(45deg); }
.product-card__art.has-image::after { display: none; }
.product-card__art img { width: 100%; height: 100%; object-fit: contain; position: relative; z-index: 1; }
.product-card__art span { font-size: 85px; letter-spacing: -.12em; font-weight: 800; color: rgba(175,202,255,.09); }
.product-card__text { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.product-card h3 { font-size: 18px; letter-spacing: -.025em; margin: 0 0 5px; }
.product-card__text p { margin: 0; color: #8792a5; font-size: 11px; }
.card-arrow { color: #b5c8e6; font-size: 18px; transition: transform .2s,color .2s; }
.product-card:hover .card-arrow { transform: translate(3px,-3px); color: var(--accent); }
.contact-banner { background: #0d121b; }
.contact-banner__body { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.contact-banner__body .button { flex-shrink: 0; }
.footer { border-top: 0; }
.footer__inner { min-height: 96px; padding-block: 25px; display: flex; justify-content: space-between; align-items: center; gap: 22px; font-size: 10px; letter-spacing: .12em; color: #8492a8; }
.footer nav { display: flex; gap: 26px; }
.footer a:hover { color: var(--white); }

/* Внутренние страницы: меньший заголовок и каталог сразу на первом экране. */
.interior { min-height: calc(100svh - 173px); }
.page-head .container { padding-top: 60px; padding-bottom: 20px; }
.page-head .section-kicker { margin-bottom: 24px; }
.page-head__body { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.page-head h1 { margin: 0; font-size: clamp(42px, 4.8vw, 66px); line-height: 1.1; letter-spacing: -.06em; }
.page-head__description { max-width: 450px; color: #a9b5c6; font-size: 14px; line-height: 1.75; margin: 0; }
.catalog-grid .container { padding-top: 24px; padding-bottom: 94px; }
.catalog-stats { margin: 0 0 18px; font-size: 10px; letter-spacing: .18em; font-weight: 800; color: #8d9ab1; }
.catalog-grid .cards { margin-top: 0; }
.catalog-note { color: #8593a9; font-size: 12px; line-height: 1.7; margin: 27px 0 0; }
.about-info__body { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; }
.about-info__text { margin: 0; }
.contacts__body h2 { margin: 0 0 24px; }
.muted-note { color: #8090a7; font-size: 12px; }

/* Будущая отдельная карточка изделия: единый адрес product.html?id=... */
.breadcrumb { margin: 0 0 24px; color: #96a7c4; font-size: 12px; }
.breadcrumb:hover { color: #fff; }
.detail-header .container { padding-top: 62px; padding-bottom: 45px; }
.detail-header .section-kicker { margin-bottom: 24px; }
.detail-header h1 { font-size: clamp(40px,5vw,66px); margin: 0 0 14px; line-height: 1.15; letter-spacing: -.06em; }
.detail-category { color: var(--accent-soft); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.detail-summary { margin: 23px 0 0; max-width: 620px; font-size: 16px; line-height: 1.8; color: #bdc8d7; }
.detail-main .container { padding-top: 42px; }
.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.95fr); gap: 55px; align-items: start; }
.detail-art { background: radial-gradient(ellipse,#1d2b41,#080b11 69%); min-height: 350px; display: grid; place-items: center; color: #2e405c; font-size: 150px; font-weight: 800; letter-spacing: -.08em; overflow: hidden; border: 1px solid var(--line); }
.detail-art img { width: 100%; height: 100%; max-height: 450px; object-fit: contain; }
.detail-content h2 { font-size: 28px; margin: 0 0 20px; }
.detail-content p { line-height: 1.85; color: #aeb9c8; font-size: 15px; }
.specs { margin-top: 35px; }
.spec-row { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); padding: 15px 0; font-size: 13px; }
.spec-row span { color: #94a1b4; }
.spec-row strong { font-weight: 700; text-align: right; }
.detail-links { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 25px; }

@media (max-width: 900px) {
  .header-link { display: none; }
  .nav { margin-right: 0; }
  .intro__body { grid-template-columns: 1fr; gap: 28px; }
  .intro__side { max-width: 620px; }
  .about-info__body { gap: 35px; }
  .detail-layout { gap: 28px; }
  .hero h1 { font-size: clamp(55px, 9vw, 92px); }
}
@media (max-width: 640px) {
  .site-header { height: 65px; }
  .site-header__inner { gap: 18px; }
  .brand { font-size: 12px; }
  .nav-toggle { width: 36px; height: 36px; margin-left: auto; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; border: 0; background: transparent; cursor: pointer; }
  .nav-toggle span { width: 23px; height: 2px; background: #fff; display: block; }
  .nav { display: none; position: absolute; top: 65px; left: 0; right: 0; padding: 25px var(--page-pad); background: #070c15; border-bottom: 0; flex-direction: column; align-items: stretch; gap: 25px; }
  .nav.is-open { display: flex; }
  .nav a { font-size: 15px; }
  .hero { height: calc(100svh - 65px); min-height: 600px; }
  .hero__content { padding-bottom: 40px; }
  .hero h1 { font-size: clamp(44px, 10.3vw, 68px); }
  .hero__lead { margin: 27px 0 28px; font-size: 14px; }
  .eyebrow { font-size: 8px; letter-spacing: .13em; margin-bottom: 33px; }
  .hero__bottom { bottom: 22px; }
  .hero__scroll { display: inline-flex; }
  .section-shell > .container { padding-top: 67px; padding-bottom: 67px; }
  .section-kicker { margin-bottom: 30px; font-size: 9px; gap: 12px; letter-spacing: .12em; }
  .intro h2,.section-heading h2,.contact-banner h2 { font-size: clamp(38px,8.9vw,55px); }
  .section-heading { align-items: start; flex-direction: column; margin-bottom: 25px; }
  .cards { grid-template-columns: 1fr; gap: 13px; }
  .product-card__art { height: 230px; }
  .contact-banner__body { align-items: start; flex-direction: column; }
  .footer__inner { flex-wrap: wrap; }
  .footer nav { order: 3; width: 100%; gap: 22px; }
  .page-head .container { padding-top: 38px; padding-bottom: 20px; }
  .page-head__body { display: block; }
  .page-head h1 { font-size: 44px; }
  .page-head__description { margin-top: 13px; font-size: 13px; }
  .catalog-grid .container { padding-top: 10px; padding-bottom: 70px; }
  .about-info__body,.detail-layout { grid-template-columns: 1fr; }
  .detail-header .container { padding-top: 36px; padding-bottom: 35px; }
  .detail-art { min-height: 265px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition-duration: .01ms!important; animation-duration: .01ms!important; }
}

/* v3: Чистая композиция без длинных линий и декоративной сетки. */
html {scroll-padding-top: 86px;}
.hero__bottom .video-control {opacity:.7;}
.intro,.products,.about-info,.contacts {background:var(--bg);}
.contact-banner {background:#0a0f18;}
.page-head .container {padding-top:clamp(54px,6vw,86px);padding-bottom:16px;}
.page-head h1 {font-size:clamp(38px,4.2vw,56px);}
.catalog-grid .container {padding-top:20px;}
.catalog-grid .cards {row-gap:21px;}
.product-card {border-color:rgba(165,188,232,.10);}
.product-card:hover {border-color:rgba(92,149,255,.5);}
@media(max-width:640px){.hero__bottom-right {gap:18px;} .hero__bottom {bottom:20px;} .catalog-grid .container {padding-top:20px;}}

/* Галерея товара */
.detail-media{min-width:0}
.detail-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px}
.detail-thumbnails button{background:#111926;border:1px solid rgba(161,188,232,.18);padding:3px;width:80px;height:65px;cursor:pointer;border-radius:4px}
.detail-thumbnails button.is-active,.detail-thumbnails button:hover{border-color:var(--accent)}
.detail-thumbnails img{height:100%;width:100%;object-fit:contain}

/* v4 — карточки берут обложку из админ-панели, галерея с одним фото. */
.product-card__art.has-image::after {display:none;}
.product-card__art.has-image img {width:100%;height:100%;object-fit:contain;}
.product-placeholder {display:block;font-size:85px;line-height:1;font-weight:800;letter-spacing:-.08em;color:rgba(175,202,255,.12);}
.detail-gallery {position:relative;isolation:isolate;min-width:0;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at center,#1d2b41,#080b11 72%);}
.detail-gallery:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
.detail-gallery .detail-art {aspect-ratio:4/3;min-height:0;width:100%;border:1px solid var(--line);background:transparent;position:relative;font-size:clamp(65px,11vw,140px);}
.detail-gallery .detail-art img {position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;padding:clamp(10px,2vw,24px);}
.gallery-arrow {position:absolute;top:50%;z-index:2;transform:translateY(-50%);height:44px;width:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(6,10,18,.75);color:var(--white);font:400 35px/1 Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s;backdrop-filter:blur(8px);}
.gallery-arrow:hover {background:rgba(31,65,119,.92);border-color:var(--accent);}
.gallery-arrow--prev {left:14px;}
.gallery-arrow--next {right:14px;}
.gallery-arrow span {position:relative;top:-2px;}
.gallery-arrow[hidden],.gallery-count[hidden] {display:none;}
.gallery-count {position:absolute;right:16px;top:16px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);background:rgba(6,10,18,.78);border-radius:6px;color:#e2ebf9;font-size:12px;font-weight:800;letter-spacing:.1em;}
.gallery-dots {display:flex;align-items:center;justify-content:center;gap:10px;min-height:30px;margin-top:13px;flex-wrap:wrap;}
.gallery-dots:empty {display:none;}
.gallery-dot {padding:0;width:8px;height:8px;border:0;border-radius:50%;background:#546175;cursor:pointer;transition:background .18s,transform .18s;}
.gallery-dot:hover,.gallery-dot.is-active {background:var(--accent-soft);transform:scale(1.35);}
.gallery-image-error {font:600 14px Manrope,Arial,sans-serif;letter-spacing:0;color:var(--muted);text-align:center;}
@media(max-width:640px) {
  .detail-gallery .detail-art {aspect-ratio:4/3;min-height:0;}
  .gallery-arrow {width:38px;height:38px;font-size:30px;}
  .gallery-arrow--prev {left:10px;}
  .gallery-arrow--next {right:10px;}
}

/* v4.2 — электронные устройства: чистая типографика, единый кадр 4:3. */
.hero h1 { font-size: clamp(48px, 6.4vw, 104px); line-height: 1.08; letter-spacing: -.067em; }
.hero-title__last { display: inline-block; font-size: .73em; color: var(--white) !important; letter-spacing: -.058em; }
.hero__lead { max-width: 650px; }
.intro__body { align-items: start; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.intro__side { max-width: 510px; }
.intro__side p { margin-bottom: 14px; }
.contact-banner__body { align-items: center; }
.contact-banner__body .button { min-height: 60px; padding-inline: 32px; font-size: 14px; }
/* Изделие выводится целиком и с одинаковым внутренним полем на всех карточках. */
.product-card__art { aspect-ratio: 4 / 3; height: auto; }
.product-card__art.has-image { background: #0e1520; }
.product-card__art.has-image img { width: 84%; height: 84%; object-fit: contain; object-position: center; }
.detail-gallery .detail-art img { padding: clamp(18px, 4vw, 42px); }
.about-info__text p { margin: 0 0 18px; }
.gallery-hint { text-align: center; font-size: 12px; color: var(--muted); margin: 7px 0 0; }
.gallery-hint[hidden] { display: none; }
.detail-art--zoomable { cursor: zoom-in; }
.detail-art--zoomable:focus-visible { outline: 2px solid var(--accent-soft); outline-offset: -3px; }

/* Раскрывающиеся вкладки без лишних разделителей по всей странице. */
.product-accordions { display: grid; gap: 10px; }
.product-accordion { background: #0c121c; border: 1px solid rgba(161,188,232,.14); border-radius: 6px; }
.product-accordion summary { padding: 18px 20px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; font-weight: 700; font-size: 15px; }
.product-accordion summary::-webkit-details-marker { display:none; }
.product-accordion summary:hover { color: #b9d4ff; }
.accordion-plus { flex: none; width: 18px; height: 18px; position: relative; }
.accordion-plus::before,.accordion-plus::after { content:''; position:absolute; background:var(--accent-soft); left:50%; top:50%; transform:translate(-50%,-50%); }
.accordion-plus::before { width:14px; height:2px; }
.accordion-plus::after { height:14px; width:2px; transition: opacity .17s; }
.product-accordion[open] .accordion-plus::after { opacity:0; }
.product-accordion__body { padding: 0 20px 19px; }
.product-accordion__body > p { margin: 0; white-space: pre-line; }
.product-accordion .specs { margin-top: 0; }
.product-accordion .spec-row { padding: 13px 0; }
.product-accordion .spec-row:last-child { border-bottom: 0; }
.product-accordion .detail-links { margin-top: 0; flex-direction: column; align-items: flex-start; gap: 16px; }
.detail-empty { color: var(--muted); font-size: 13px; line-height: 1.6; }

/* Полноэкранный предпросмотр, клавиатурные стрелки, Esc и затемнение. */
.photo-lightbox { box-sizing: border-box; width: min(96vw, 1450px); height: min(94dvh, 970px); max-width: none; max-height: none; padding: 18px; border: 1px solid rgba(180,203,238,.22); border-radius: 10px; background:#070b12; color: #fff; overflow: hidden; }
.photo-lightbox:not([open]) { display:none; }
.photo-lightbox::backdrop { background:rgba(0,0,0,.90); backdrop-filter: blur(8px); }
.photo-lightbox__inner { position: relative; height: 100%; display: grid; place-items: center; }
.photo-lightbox__inner img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.photo-lightbox__close,.photo-lightbox__arrow { position: absolute; z-index: 2; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.23); background: rgba(6,10,18,.85); color:#fff; cursor: pointer; }
.photo-lightbox__close { right: 0; top: 0; height: 42px; width: 42px; font-size: 29px; }
.photo-lightbox__arrow { top: 50%; transform: translateY(-50%); height: 48px; width: 48px; font-size: 39px; line-height: 1; }
.photo-lightbox__arrow--prev { left: 4px; }
.photo-lightbox__arrow--next { right: 4px; }
.photo-lightbox__arrow[hidden] { display:none; }
.photo-lightbox__arrow:hover,.photo-lightbox__close:hover { background:#264b81; }
.photo-lightbox__count { position:absolute; bottom:0; right:0; color:#b5c6df; font-size: 12px; letter-spacing:.1em; }
@media(max-width:900px) {
  .intro__body { grid-template-columns: 1fr; }
  .intro__side { max-width: 760px; }
}
@media(max-width:640px) {
  .hero h1 { font-size: clamp(42px,9.2vw,64px); }
  .hero-title__last { font-size: .70em; }
  .product-card__art { height:auto; aspect-ratio:4/3; }
  .contact-banner__body { align-items: flex-start; }
  .contact-banner__body .button { min-height: 54px; }
  .photo-lightbox { width: 99vw; height: 90dvh; padding: 12px; }
  .photo-lightbox__arrow { width:38px; height:38px; font-size: 32px; }
}


/* v4.3 — фирменный логотип вместо заголовка на главной */
.visually-hidden {
  position: absolute !important; width: 1px !important; height: 1px !important;
  overflow: hidden !important; clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.hero__identity {
  width: min(100%, 740px);
  min-height: clamp(160px, 21vw, 276px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.hero__company-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 285px;
  object-fit: contain;
  object-position: left center;
}
.hero__identity + .hero__lead { margin-top: 24px; max-width: 660px; }

/* Плавное однократное появление блоков только при наличии JS.
   Без JS и в режиме reduced motion весь текст остаётся видимым. */
@media (prefers-reduced-motion: no-preference) {
  .js-reveal-enabled [data-reveal] {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition: opacity 700ms cubic-bezier(.22,1,.36,1),
                transform 700ms cubic-bezier(.22,1,.36,1);
    transition-delay: var(--reveal-delay, 0ms);
  }
  .js-reveal-enabled [data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (max-width: 640px) {
  .hero__identity {
    width: min(100%, 420px);
    min-height: 140px;
  }
  .hero__company-logo { max-height: 205px; }
  .hero__identity + .hero__lead { margin-top: 15px; }
}

/* v4.4 — «О нас»: подробная информация справа, слоганы слева.
   Только локальные классы страницы, без влияния на каталог и главную. */
.about-v44 .about-v44__container { padding-top: 0; padding-bottom: 0; }
.about-v44 .about-v44__company { padding: clamp(65px, 6.2vw, 95px) 0 clamp(65px, 7vw, 102px); }
.about-v44 .about-v44__approach { padding: 20px 0 clamp(72px, 8vw, 112px); }
.about-v44 .about-v44__goal { padding: clamp(68px, 7.5vw, 105px) 0; background: #080c13; }
.about-v44 .about-v44__contacts { padding: clamp(65px, 7vw, 95px) 0; }
.about-v44 .about-v44__contacts > .container { padding-top: 0; padding-bottom: 0; }
.about-v44 .section-kicker { margin-bottom: 35px; }
.about-v44__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .91fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.about-v44__aside { min-width: 0; }
.about-v44__aside h1,.about-v44__aside h2 { font-size: clamp(40px, 4.5vw, 62px); line-height: 1.16; letter-spacing: -.065em; margin: 0; font-weight: 800; }
.about-v44__aside h2 > span:not(.accent),.about-v44__aside h3 > span { color: #768193; }
.about-v44__copy { color: #bdc8d8; font-size: 15px; line-height: 1.88; min-width: 0; }
.about-v44__copy p { margin: 0 0 20px; }
.about-v44__copy p:last-child,.about-v44__copy ul:last-child { margin-bottom: 0; }
.about-v44__copy strong { color: #eef3fc; font-weight: 750; }
.about-v44__approach-heading { margin-bottom: clamp(62px, 7vw, 108px); }
.about-v44__approach-heading .about-v44__copy { max-width: 530px; }
.about-v44__service { margin-top: 0; margin-bottom: clamp(65px, 8vw, 120px); }
.about-v44__service:last-child { margin-bottom: 0; }
.about-v44__service-index { display: block; font-size: 10px; font-weight: 800; letter-spacing: .18em; color: #8fb3eb; margin-bottom: 23px; }
.about-v44__service h3 { font-size: clamp(29px, 3vw, 43px); line-height: 1.23; letter-spacing: -.055em; font-weight: 800; margin: 0; }
.about-v44__copy h4 { font-size: clamp(19px, 1.8vw, 23px); line-height: 1.35; letter-spacing: -.025em; font-weight: 800; color: #f0f4fb; margin: 0 0 22px; }
.about-v44__copy ul { padding-left: 21px; margin: 0 0 23px; }
.about-v44__copy li { padding-left: 4px; margin-bottom: 8px; }
.about-v44__copy li::marker { color: #4285ff; }
.about-v44 .muted-note { color: #8896ad; }
@media (max-width: 900px) {
  .about-v44__row { gap: 32px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
  .about-v44__copy { font-size: 14px; }
}
@media (max-width: 700px) {
  .about-v44__row { grid-template-columns: 1fr; gap: 22px; }
  .about-v44 .section-kicker { margin-bottom: 26px; }
  .about-v44 .about-v44__company { padding: 53px 0 75px; }
  .about-v44 .about-v44__approach { padding: 0 0 73px; }
  .about-v44 .about-v44__goal { padding: 62px 0; }
  .about-v44 .about-v44__contacts { padding: 64px 0; }
  .about-v44__aside h1,.about-v44__aside h2 { font-size: clamp(36px, 8.5vw, 52px); }
  .about-v44__service h3 { font-size: clamp(29px, 7.5vw, 37px); }
  .about-v44__service-index { margin-bottom: 14px; }
  .about-v44__approach-heading { margin-bottom: 56px; }
  .about-v44__service { margin-bottom: 70px; }
}

/* v4.5 — CMS: ограниченная ширина блоков, без сквозных разделительных линий. */
.cms-align-left{margin-left:0;margin-right:auto}.cms-align-center{margin-left:auto;margin-right:auto}.cms-align-right{margin-left:auto;margin-right:0}
.section-shell>.container {padding-top:var(--cms-spacing,clamp(72px,7.3vw,106px));padding-bottom:var(--cms-spacing,clamp(72px,7.3vw,106px));}
.cms-section{padding:var(--cms-spacing,80px) 0;background:#05070b;min-width:0}
.cms-section:nth-child(even){background:#080c13}
.cms-section__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,6vw,85px);align-items:start}
.cms-section__headline{min-width:0}.cms-section__headline h2{font-size:clamp(36px,4.1vw,60px);letter-spacing:-.06em;line-height:1.18;margin:0;font-weight:800;white-space:pre-line;overflow-wrap:break-word}
.cms-section__copy{color:#b9c5d7;min-width:0;font-size:15px;line-height:1.84}.cms-section__copy .cms-rich p{margin:0 0 20px}.cms-section__copy .cms-rich strong{color:#f3f6fc}.cms-rich ul{padding-left:22px;margin:0 0 20px}.cms-rich li{margin-bottom:8px}.cms-rich li::marker{color:#4285ff}.cms-section__copy .text-link{margin-top:10px}
.cms-section .section-kicker{margin-bottom:36px}.cms-section--center .cms-section__row{display:block;text-align:center}.cms-section--right .cms-section__row{text-align:right}.cms-section--center .cms-section__copy,.cms-section--right .cms-section__copy{margin-top:23px}.cms-section--center .cms-section__copy{max-width:760px;margin-inline:auto}
.cms-contact-inline{margin-top:24px}.cms-contact-item{display:block;color:#a9c7ff;font-size:17px;font-weight:700;margin:0 0 12px}.cms-contact-empty{font-size:13px;color:#8b9bb2}
@media (prefers-reduced-motion:no-preference){.cms-section--pending{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.cms-section--pending.cms-section--visible{opacity:1;transform:none}}
/* Card details: visible panels on load, balanced media/text layout. */
.breadcrumb--button{display:inline-flex;align-items:center;min-height:43px;padding:0 17px;margin-bottom:30px;background:#111a29;border:1px solid #344661;color:#eaf2ff;border-radius:5px;font-size:14px;font-weight:750;letter-spacing:0;transition:background .2s,border-color .2s}
.breadcrumb--button:hover{background:#192840;border-color:#75a5f9;color:#fff}
.detail-main .container{padding-top:16px}
.detail-layout{align-items:start}.detail-media,.detail-content{min-width:0}.detail-content{padding-top:0}.detail-content h2{margin-top:0}
.product-accordion[open]>.product-accordion__body{animation:none}
.detail-document-link{font-size:14px;font-weight:650;max-width:100%;overflow-wrap:anywhere}
/* Dedicated contact page. */
.cms-contact-section{padding:var(--cms-spacing,80px) 0}.cms-contact-section:nth-child(even){background:#0a0f18}
.cms-contact-section .section-kicker{margin-bottom:32px}.cms-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,7vw,98px)}
.cms-contact-row h1,.cms-contact-row h2{font-size:clamp(38px,4.3vw,61px);line-height:1.17;letter-spacing:-.06em;font-weight:800;margin:0 0 25px;overflow-wrap:break-word}
.cms-contact-row>div{color:#b9c5d7;font-size:15px;line-height:1.9}.cms-contact-details{margin-top:27px}.cms-contact-details .cms-contact-item{font-size:21px}
.public-contact-form{background:#0c131d;border:1px solid #1d293b;border-radius:7px;padding:clamp(22px,3vw,38px)}
.public-contact-form label{display:block;font-size:13px;color:#aebdd2;font-weight:700;margin-bottom:19px}
.public-contact-form input:not([type=hidden]):not([type=checkbox]),.public-contact-form textarea{display:block;width:100%;margin-top:10px;border:1px solid #3a475f;background:#070c15;color:#f1f5fd;padding:13px 15px;font:inherit;font-size:14px;border-radius:4px;outline:none;min-width:0}
.public-contact-form input:focus,.public-contact-form textarea:focus{border-color:#4285ff}.public-contact-form textarea{resize:vertical;min-height:140px;line-height:1.7}
.public-contact-form .button{cursor:pointer;font-size:13px}.public-contact-form button:disabled{opacity:.5;cursor:wait}
.form-status{font-size:13px;line-height:1.6;color:#f2bd9c;margin:13px 0}.form-status--success{color:#87d9ae}.contact-privacy{font-size:11px;line-height:1.6;color:#8795aa;margin-bottom:0}.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;pointer-events:none}
@media(max-width:760px){.cms-section__row,.cms-contact-row{grid-template-columns:1fr;gap:26px}.cms-section__headline h2{font-size:clamp(35px,8vw,48px)}.cms-section,.cms-contact-section{padding:clamp(52px,8vw,85px) 0}.cms-section__copy{font-size:14px}.cms-contact-row h1,.cms-contact-row h2{font-size:clamp(37px,8vw,50px)}}
/* Alignment stays anchored to the same centered site grid, never the screen edge. */
.container.cms-align-left{margin-left:max(var(--page-pad),calc((100vw - var(--container-max))/2));margin-right:auto}
.container.cms-align-right{margin-right:max(var(--page-pad),calc((100vw - var(--container-max))/2));margin-left:auto}
.container.cms-align-center{margin-inline:auto}

.public-contact-form .contact-consent{display:flex;flex-direction:row;align-items:flex-start;gap:11px;line-height:1.55;font-size:12px;font-weight:500;color:#acbdd2}.public-contact-form .contact-consent input{margin:3px 0 0;flex:0 0 auto;accent-color:#4285ff}

/* v4.6: Hidden CMS sections must beat all component display rules. */
[hidden] {display:none!important;}

/* v4.6 — gallery and ordering: same grid, thumbnails like modern product cards. */
.detail-media {padding-top: 50px;}
.detail-layout {align-items:start;}
.gallery-thumbnails {display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:14px;min-height:10px;}
.gallery-thumbnail {width:80px;height:63px;padding:4px;display:grid;place-items:center;background:#111927;border:1px solid #293447;border-radius:4px;cursor:pointer;transition:border-color .2s;}
.gallery-thumbnail img {width:100%;height:100%;object-fit:contain;}
.gallery-thumbnail:hover,.gallery-thumbnail.is-active{border-color:#8aaff8;background:#1b283d;}
.photo-lightbox {padding:0;width:min(96vw,1500px);height:min(94dvh,980px);}
.photo-lightbox__inner {display:grid;grid-template-rows:65px minmax(0,1fr) 115px;padding:14px 20px;gap:8px;}
.photo-lightbox__title {align-self:center;font-size:clamp(15px,2vw,21px);font-weight:700;color:#e7edfb;padding-right:65px;}
.photo-lightbox__viewport {min-height:0;display:grid;place-items:center;overflow:hidden;}
.photo-lightbox__viewport img {max-width:100%;max-height:100%;object-fit:contain;}
.photo-lightbox__bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:0;}
.photo-lightbox__thumbnails{display:flex;max-width:100%;overflow-x:auto;justify-content:safe center;gap:9px;align-items:center;scrollbar-width:thin;padding:5px;}
.photo-lightbox__thumb{width:83px;height:62px;flex:0 0 auto;background:#152033;border:1px solid #293447;border-radius:3px;padding:3px;cursor:pointer;}
.photo-lightbox__thumb.is-active,.photo-lightbox__thumb:hover{border-color:#8ab1ff;}
.photo-lightbox__thumb img{width:100%;height:100%;object-fit:contain;}
.photo-lightbox__count{position:static;color:#9db2ce;}
.photo-lightbox__close{right:18px;top:18px;}
.photo-lightbox__arrow{top:50%;}
.product-purchase{margin-top:30px;border:1px solid #25314a;padding:22px;border-radius:6px;background:#0b121d;}
.product-purchase h2{margin:0 0 10px!important;font-size:21px!important;letter-spacing:-.04em;}
.purchase-note{font-size:13px;line-height:1.6;color:#93a3b9;}
.price-tier{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #263148;font-size:14px;}
.price-tier strong{color:#e7f0ff;white-space:nowrap;}
.product-order-button{margin-top:22px;width:100%;font-size:14px;}
@media(max-width:760px){.detail-media{padding-top:0}.photo-lightbox__inner{grid-template-rows:48px minmax(0,1fr) 100px;padding:10px}.photo-lightbox__thumb{width:68px;height:56px}.photo-lightbox__arrow{width:36px;height:36px}.gallery-thumbnail{width:68px;height:57px}}
/* v4.6 — order page */
.order-page>.container{padding-block:clamp(45px,6vw,90px) 100px;}
.order-page h1{font-size:clamp(35px,4vw,56px);letter-spacing:-.06em;margin-bottom:22px;}
.order-lead{max-width:750px;font-size:15px;color:#aabacf;line-height:1.9;margin-bottom:40px;}
.order-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(18px,4vw,65px);align-items:start;}
.panel-order{border:1px solid #283349;border-radius:6px;background:#0b121d;padding:24px;}
.panel-order h2{font-size:23px;letter-spacing:-.04em;margin-bottom:8px;}
.panel-order>p{color:#95a7c1;font-size:13px;}
.order-product-art{height:260px;margin:22px 0;background:#0f1825;display:grid;place-items:center;}
.order-product-art img{max-height:100%;width:100%;object-fit:contain;}
.order-tiers{display:flex;gap:8px;flex-wrap:wrap;}
.order-tier-btn{cursor:pointer;border:1px solid #334663;background:#121e2e;color:#e2edfb;border-radius:4px;font-size:12px;padding:10px;}
.order-tier-btn:hover{border-color:#85afff;}
.order-estimate{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #2a374f;margin-top:22px;padding-top:22px;color:#abbcd3;}
.order-estimate strong{font-size:21px;color:#fff;}
.order-footnote{margin-top:15px;line-height:1.7;}
.order-form>h2{font-size:26px;margin-bottom:28px;}
.form-file-hint{display:block;color:#9eafc5;font-size:12px;line-height:1.6;margin-top:8px;}
@media(max-width:800px){.order-layout{grid-template-columns:1fr}.order-product-art{height:210px}.order-page>.container{padding-bottom:75px}}

/* Avoid showing a CMS-disabled Contact block while its visibility is loading. */
body[data-cms-page="contacts"]:not(.cms-ready) .cms-contact-section {visibility:hidden;}

/* v4.7 inventory labels are intentionally shown without prices/quantities on catalog cards. */
.product-card__availability{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.01em}
.product-card__availability::before,.product-availability::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;vertical-align:middle;margin-right:4px}
.is-in-stock{color:#5cdda0!important}.is-out-of-stock{color:#fa8189!important}
.product-availability{font-size:14px;font-weight:750;margin:20px 0 12px}
.purchase-quantity{display:block;color:#9eafc9;font-size:13px;font-weight:650;margin:18px 0 12px}
.purchase-quantity input{display:block;margin-top:9px;width:100%;max-width:210px;padding:12px;background:#080d15;border:1px solid #34435d;color:#f7faff;border-radius:5px;font:inherit}
.product-lead-estimate,.order-delivery-notice{color:#abc4df;font-size:13px;line-height:1.65;min-height:24px}
.order-stock-status{margin-top:20px;font-size:14px;font-weight:750}
.order-delivery-notice{margin:9px 0 14px}
.order-product-art{height:auto;min-height:260px;aspect-ratio:4/3;overflow:hidden;margin-bottom:22px;position:relative}
.order-product-art img{display:block;width:100%;height:100%;max-height:400px;object-fit:contain;position:relative}
.order-tiers{position:static;display:flex;flex-wrap:wrap;clear:both;gap:9px;align-items:stretch;margin:18px 0 0;isolation:isolate}
.order-tier-btn{position:relative;flex:0 1 auto;max-width:100%;white-space:normal;text-align:left;line-height:1.4;z-index:auto}
@media(max-width:760px){.order-product-art{min-height:200px;aspect-ratio:4/3}}
