/* =========================================================
   NEWGOLD · О бренде — все стили заскоуплены под .ngb,
   чтобы не конфликтовать с глобальными стилями сайта (Bitrix/Bootstrap).
   ========================================================= */

/* ---- Шрифты (локальные, /xpage/fonts) ---- */
@font-face { font-family:'Cormorant Garamond'; src:url('/xpage/fonts/cormorant-garamond-v21-cyrillic_latin-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('/xpage/fonts/cormorant-garamond-v21-cyrillic_latin-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('/xpage/fonts/cormorant-garamond-v21-cyrillic_latin-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('/xpage/fonts/cormorant-garamond-v21-cyrillic_latin-500italic.woff2') format('woff2'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Cormorant Garamond'; src:url('/xpage/fonts/cormorant-garamond-v21-cyrillic_latin-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter Tight'; src:url('/xpage/fonts/inter-tight-v9-cyrillic_latin-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter Tight'; src:url('/xpage/fonts/inter-tight-v9-cyrillic_latin-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter Tight'; src:url('/xpage/fonts/inter-tight-v9-cyrillic_latin-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/xpage/fonts/jetbrains-mono-v24-cyrillic_latin-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/xpage/fonts/jetbrains-mono-v24-cyrillic_latin-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('/xpage/fonts/Montserrat-Light.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }

/* ---- Переменные + база (на .ngb, не на :root/body сайта) ---- */
.ngb {
  --bg-card:#fdfbf7; --bg-deep:#1a1613;
  --ink:#1a1613; --ink-2:#3a342e; --ink-3:#6b6259; --ink-4:#9a9187; --ink-5:#c7beb2;
  --rule:#e4ddd1; --rule-strong:#d6ccbd;
  --accent:oklch(0.58 0.11 25); --accent-2:oklch(0.52 0.12 25); --accent-tint:oklch(0.97 0.012 30);
  --gold:oklch(0.84 0.09 45); --gold-2:oklch(0.86 0.1 45);
  --serif:'Cormorant Garamond','Times New Roman',serif;
  --sans:'Inter Tight',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --r-md:10px; --t:0.24s cubic-bezier(.2,.7,.2,1);
  /* Акцентная полоска-разделитель: верх героя, карточек, CTA и счётчика. */
  --accent-line:linear-gradient(90deg, transparent, var(--accent), transparent);
  --shadow-card:0 18px 36px -28px rgba(60,40,18,0.30);
  /* Постоянная тень-подъём для крупных блоков и героя (не для мелких контролов). */
  --shadow-lift:0 22px 48px -18px rgba(60,40,18,0.40), 0 8px 18px -8px rgba(60,40,18,0.24);
  font-family:var(--sans); font-size:14px; line-height:1.55; color:var(--ink-2);
  background:transparent; -webkit-font-smoothing:antialiased;
}
.ngb, .ngb *, .ngb *::before, .ngb *::after { box-sizing:border-box; margin:0; padding:0; }
:where(.ngb) a { color:inherit; text-decoration:none; }
.ngb em { font-style:italic; }
.ngb img, .ngb svg { display:block; max-width:100%; }
:where(.ngb) button { cursor:pointer; font-family:inherit; color:inherit; background:none; border:none; }

.ngb-page { max-width:1040px; margin:0 auto; padding:28px 28px 8px; }

.ngb-ic {
  width:22px; height:22px; stroke:var(--ink); fill:none;
  stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;
}

/* prose */
.ngb-prose p { font-family:var(--serif); font-size:17.5px; color:var(--ink-2); line-height:1.62; }
.ngb-prose p strong { color:var(--ink); font-weight:600; }
.ngb-prose p + p { margin-top:14px; }
.ngb-prose a { color:var(--accent-2); border-bottom:1px solid var(--rule-strong); transition:border-color var(--t); }
.ngb-prose a:hover { border-color:var(--accent); }

/* section head */
.ngb-sh-num { display:flex; align-items:baseline; gap:18px; margin-bottom:22px; }
.ngb-sh-num .ngb-copy { display:flex; flex-direction:column; gap:6px; }
.ngb-sh-num .ngb-lbl {
  font-family:var(--mono); font-size:10px; letter-spacing:0.18em;
  color:var(--ink-4); text-transform:uppercase; display:flex; align-items:center; gap:10px;
}
.ngb-sh-num .ngb-lbl::before { content:''; width:18px; height:1px; background:var(--ink-5); }
.ngb-sh-num h2 {
  font-family:var(--serif); font-weight:500; font-size:clamp(26px,2.6vw,34px);
  line-height:1.05; letter-spacing:-0.012em; color:var(--ink);
}
.ngb-sh-num h2 em { font-style:italic; color:var(--accent-2); font-weight:400; }

/* award feature block */
.ngb-feature {
  display:grid; grid-template-columns:56px 1fr; gap:22px; align-items:flex-start;
  padding:24px 26px; background:var(--bg-card); border:1px solid var(--rule); border-radius:var(--r-md);
  box-shadow:var(--shadow-lift); position:relative; overflow:hidden;
}
.ngb-feature::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--accent-line);
}
.ngb-feature .ngb-ic-w {
  width:52px; height:52px; background:var(--accent-tint);
  border:1px solid var(--rule); border-radius:12px;
  display:flex; align-items:center; justify-content:center;
}
.ngb-feature .ngb-ic-w .ngb-ic { width:26px; height:26px; stroke:var(--accent-2); }
.ngb-feature h4 {
  font-family:var(--serif); font-weight:500; font-size:21px;
  color:var(--ink); letter-spacing:-0.01em; line-height:1.15; margin-bottom:6px;
}
.ngb-feature h4 em { font-style:italic; color:var(--accent-2); font-weight:400; }
.ngb-feature p { font-family:var(--serif); font-size:16px; color:var(--ink-2); line-height:1.5; }
.ngb-feature p strong { color:var(--ink); font-weight:600; }

/* live counter dark */
.ngb-live {
  display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center;
  background:var(--bg-deep); color:#fdfbf7; border-radius:var(--r-md); padding:28px 32px;
  position:relative; overflow:hidden; box-shadow:var(--shadow-lift);
}
.ngb-live::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--gold-2), transparent); z-index:1;
}
.ngb-live::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 45% 120% at 8% 0%, oklch(0.5 0.08 50 / 0.2), transparent 70%);
}
.ngb-live .ngb-num {
  font-family:var(--serif); font-weight:500; font-size:clamp(56px,7vw,88px);
  line-height:0.82; color:var(--gold); letter-spacing:-0.03em;
  position:relative; z-index:1; font-variant-numeric:tabular-nums;
}
.ngb-live .ngb-meta { position:relative; z-index:1; }
.ngb-live .ngb-unit {
  font-family:var(--mono); font-size:10px; letter-spacing:0.2em;
  color:var(--gold-2); text-transform:uppercase; margin-bottom:8px;
  display:flex; align-items:center; gap:10px;
}
.ngb-live .ngb-unit .ngb-blink { width:8px; height:8px; border-radius:50%; background:oklch(0.7 0.13 145); animation:ngb-blink 1.4s ease-in-out infinite; }
@keyframes ngb-blink { 0%,100% { opacity:1; } 50% { opacity:0.25; } }
.ngb-live .ngb-lbl { font-family:var(--serif); font-size:18px; color:rgba(255,255,255,0.82); line-height:1.4; }
.ngb-live .ngb-lbl strong { color:#fdfbf7; font-weight:600; }

/* CTA */
.ngb-cta-btn {
  display:inline-flex; align-items:center; gap:10px; padding:15px 28px;
  background:var(--ink); color:#fff; font-family:var(--mono); font-size:11px;
  letter-spacing:0.18em; text-transform:uppercase; border-radius:999px; transition:background var(--t);
}
.ngb-cta-btn:hover { background:var(--accent-2); }
.ngb-cta-strip {
  margin-top:44px; padding:28px 32px; background:var(--bg-card); border:1px solid var(--rule);
  border-radius:var(--r-md); display:grid; grid-template-columns:1fr auto;
  gap:24px; align-items:center; position:relative; overflow:hidden; box-shadow:var(--shadow-lift);
}
.ngb-cta-strip::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--accent-line);
}
.ngb-cta-strip .ngb-lead {
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(20px,2vw,24px); color:var(--ink); line-height:1.3;
  letter-spacing:-0.005em; text-wrap:balance;
}
.ngb-cta-strip .ngb-lead em { color:var(--accent-2); }
.ngb-cta-strip .ngb-meta {
  font-family:var(--mono); font-size:10px; letter-spacing:0.16em;
  color:var(--ink-4); text-transform:uppercase; margin-top:6px;
}
.ngb-footnote {
  font-family:var(--sans); font-size:12.5px; color:var(--ink-4);
  line-height:1.6; padding-top:18px; border-top:1px dashed var(--rule); margin-top:28px;
}

/* ---- HERO (dark) + body sections ---- */
.ngb-vc { background:transparent; }
.ngb-vc_hero {
  background:var(--bg-deep); color:#fdfbf7; padding:64px 48px 52px;
  position:relative; text-align:center;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-lift);
}
.ngb-vc_hero::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, transparent, var(--gold-2), transparent);
}
.ngb-vc_hero::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 70% at 50% 8%, oklch(0.5 0.08 50 / 0.22), transparent 70%);
}
.ngb-vc_hero_inner { position:relative; max-width:800px; margin:0 auto; }
.ngb-vc_brand { margin:0; font:inherit; }
.ngb-vc_wordmark {
  display:flex; align-items:center; justify-content:center; gap:0.18em;
  font-family:var(--serif); font-style:normal; font-weight:500;
  font-size:clamp(38px,4.6vw,60px); color:var(--gold-2);
  text-transform:uppercase; letter-spacing:-0.005em; line-height:1; margin-bottom:10px;
}
.ngb-vc_mono {
  height:0.86em; width:auto; flex-shrink:0; overflow:visible;
  fill:currentColor; color:var(--gold-2);
}
.ngb .ngb-vc_wordmark .ngb-vc_name {
  display:inline-block;
  font-family:'Montserrat',var(--sans) !important;
  font-weight:300 !important; letter-spacing:0.02em;
}
.ngb-vc_reg {
  font-size:0.28em; line-height:0;
  position:relative; top:-0.8em;
  margin-left:0.12em; color:var(--gold); font-weight:400;
}
.ngb-vc_kicker {
  display:block;
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:#fdfbf7; margin-bottom:22px;
}
.ngb-vc_tagline {
  font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.6vw,46px);
  line-height:1.1; letter-spacing:-0.015em; color:#fdfbf7; margin-bottom:18px;
}
.ngb-vc_tagline em { font-style:italic; color:var(--gold-2); font-weight:400; }
.ngb-vc_hero .ngb-sub {
  font-family:var(--serif); font-style:italic; font-size:clamp(18px,1.7vw,21px);
  color:rgba(255,255,255,0.72); line-height:1.45; max-width:640px; margin:0 auto 30px;
}
.ngb-vc_quick {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,0.16); padding-top:26px; margin-top:30px;
}
.ngb-vc_quick .ngb-cell { padding:0 18px; border-right:1px dashed rgba(255,255,255,0.14); }
.ngb-vc_quick .ngb-cell:last-child { border-right:none; }
.ngb-vc_quick .ngb-v {
  font-family:var(--serif); font-weight:500; font-size:clamp(28px,3vw,40px);
  line-height:1; color:var(--gold); letter-spacing:-0.02em;
}
.ngb-vc_quick .ngb-v-k { font-size:0.66em; letter-spacing:0; }
.ngb-vc_quick .ngb-l {
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.14em;
  color:rgba(255,255,255,0.55); text-transform:uppercase; margin-top:8px; line-height:1.5;
}
.ngb-vc_body { padding:48px 48px 8px; }
.ngb-vc_body_inner { max-width:980px; margin:0 auto; }
.ngb-vc_sec { padding-top:44px; margin-top:44px; border-top:1px solid var(--rule); }
.ngb-vc_sec:first-of-type { padding-top:0; margin-top:0; border-top:none; }

/* ---- CARD BLOCKS (Кто мы / Где / цитата) ---- */
.ngb-vd_blocks { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.ngb-vd_block {
  background:var(--bg-card); border:1px solid var(--rule); border-radius:var(--r-md);
  padding:28px 28px; display:flex; flex-direction:column; position:relative; overflow:hidden;
  box-shadow:var(--shadow-lift);
}
.ngb-vd_block::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--accent-line);
}
.ngb-vd_block .ngb-hd {
  display:flex; align-items:center; gap:14px; margin-bottom:16px;
  padding-bottom:14px; border-bottom:1px solid var(--rule);
}
.ngb-vd_block .ngb-ic-w {
  width:48px; height:48px; background:var(--accent-tint);
  border:1px solid var(--rule); border-radius:10px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ngb-vd_block .ngb-ic-w .ngb-ic { width:24px; height:24px; stroke:var(--accent-2); }
.ngb-vd_block .ngb-hd .ngb-lbl {
  font-family:var(--mono); font-size:10px; letter-spacing:0.18em;
  color:var(--ink-4); text-transform:uppercase;
}
.ngb-vd_block .ngb-hd h3 {
  font-family:var(--serif); font-weight:500; font-size:23px;
  color:var(--ink); letter-spacing:-0.01em; line-height:1.1;
}
.ngb-vd_block .ngb-hd h3 em { font-style:italic; color:var(--accent-2); font-weight:400; }
.ngb-vd_block p { font-family:var(--serif); font-size:16px; color:var(--ink-2); line-height:1.55; }
.ngb-vd_block p strong { color:var(--ink); font-weight:600; }
.ngb-vd_block p a { color:var(--accent-2); border-bottom:1px solid var(--rule-strong); }
.ngb-vd_block.ngb-span6 { grid-column:span 6; }
.ngb-vd_block.ngb-span4 { grid-column:span 4; }
.ngb-vd_block.ngb-span2 { grid-column:span 2; }
.ngb-vd_block.ngb-is-dark { background:var(--bg-deep); }
.ngb-vd_block.ngb-is-dark::before {
  background:linear-gradient(90deg, transparent, var(--gold-2), transparent);
}
.ngb-vd_block.ngb-is-dark::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 50% 120% at 88% 0%, oklch(0.5 0.08 50 / 0.18), transparent 70%);
}
.ngb-vd_block.ngb-is-dark .ngb-q {
  font-family:var(--serif); font-style:italic; font-weight:500;
  font-size:clamp(22px,2.2vw,30px); color:#fdfbf7; line-height:1.3;
  letter-spacing:-0.01em; position:relative; z-index:1; text-wrap:pretty;
}
.ngb-vd_block.ngb-is-dark .ngb-q::before {
  content:'"'; position:absolute; top:-34px; left:-6px; z-index:0;
  font-family:var(--serif); font-size:120px; line-height:1;
  color:oklch(0.86 0.1 45 / 0.18); pointer-events:none;
}
.ngb-vd_block.ngb-is-dark .ngb-q > * { position:relative; z-index:1; }
.ngb-vd_block.ngb-is-dark .ngb-q em { color:var(--gold-2); }
.ngb-vd_block.ngb-is-dark .ngb-by {
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.16em;
  color:rgba(255,255,255,0.5); text-transform:uppercase; margin-top:16px;
  position:relative; z-index:1; display:flex; align-items:center; gap:12px;
}
.ngb-vd_block.ngb-is-dark .ngb-by::before { content:''; width:28px; height:1px; background:var(--accent); }
.ngb-vd_block.ngb-is-dark .ngb-by strong { color:#fdfbf7; font-weight:500; }

/* ---- МЕДИА — видео завода (overlay caption) ---- */
.ngb-media-tag {
  position:absolute; z-index:3; font-family:var(--mono); font-size:9.5px;
  letter-spacing:0.14em; text-transform:uppercase; padding:6px 11px; border-radius:999px;
}
.ngb-media-tag.ngb-light { background:rgba(26,22,19,0.72); color:#fff; backdrop-filter:blur(4px); }
.ngb-media-tag.ngb-mtag-live { display:inline-flex; align-items:center; gap:7px; }
.ngb-media-tag.ngb-mtag-live .ngb-dot { width:6px; height:6px; border-radius:50%; background:oklch(0.72 0.16 25); animation:ngb-pulse 1.5s ease-in-out infinite; }
@keyframes ngb-pulse { 0%,100% { opacity:1; } 50% { opacity:0.3; } }

.ngb-play-btn {
  width:72px; height:72px; border-radius:50%;
  background:rgba(255,255,255,0.28); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,0.35);
  transition:transform var(--t), background var(--t);
}
.ngb-play-btn:hover { transform:scale(1.06); background:rgba(255,255,255,0.42); }
.ngb-play-btn::after {
  content:''; width:0; height:0; margin-left:4px;
  border-style:solid; border-width:12px 0 12px 20px;
  border-color:transparent transparent transparent var(--gold);
}

.ngb-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ngb-v2 .ngb-card {
  position:relative; border-radius:var(--r-md); overflow:hidden;
  aspect-ratio:3 / 4; border:1px solid var(--rule);
  box-shadow:var(--shadow-lift);
}
.ngb-v2 .ngb-frame { position:absolute; inset:0; }
.ngb-v2 .ngb-scrim {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to top, rgba(26,22,19,0.82) 0%, rgba(26,22,19,0.15) 45%, transparent 70%);
}
.ngb-v2 .ngb-media-tag { top:16px; left:16px; }
.ngb-v2 .ngb-center-play { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; }
.ngb-v2 .ngb-cap {
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:24px 26px; color:#fdfbf7; transition:opacity var(--t);
}
.ngb-v2 .ngb-scrim, .ngb-v2 .ngb-media-tag { transition:opacity var(--t); }
.ngb-v2 .ngb-card:not(.ngb-vid-card):hover .ngb-cap,
.ngb-v2 .ngb-card:not(.ngb-vid-card):hover .ngb-scrim,
.ngb-v2 .ngb-card:not(.ngb-vid-card):hover .ngb-media-tag { opacity:0; }
.ngb-vid-el { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:var(--bg-deep); z-index:1; display:block; }
.ngb-vid-card .ngb-center-play { cursor:pointer; }
.ngb-vid-card.ngb-playing .ngb-scrim,
.ngb-vid-card.ngb-playing .ngb-media-tag,
.ngb-vid-card.ngb-playing .ngb-center-play,
.ngb-vid-card.ngb-playing .ngb-cap { opacity:0; pointer-events:none; }
.ngb-v2 .ngb-cap .ngb-lbl {
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.18em;
  color:var(--gold); text-transform:uppercase; margin-bottom:8px;
}
.ngb-v2 .ngb-cap h3 {
  font-family:var(--serif); font-weight:500; font-size:28px;
  color:#fdfbf7; letter-spacing:-0.01em; line-height:1.05;
}
.ngb-v2 .ngb-cap h3 em { font-style:italic; color:var(--gold-2); font-weight:400; }
.ngb-v2 .ngb-cap p {
  font-family:var(--serif); font-style:italic; font-size:14.5px;
  color:rgba(255,255,255,0.72); line-height:1.4; margin-top:6px;
}

/* ---- СЛАЙДЕР «ФОТО ЗАВОДА» ---- */
.ngb-fab-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.ngb-fab-row > * { min-width:0; }
.ngb-fab-stage { position:relative; display:flex; justify-content:center; }
.ngb-fab {
  position:relative; width:100%; aspect-ratio:3 / 4;
  border-radius:var(--r-md); overflow:hidden; background:#000; cursor:zoom-in;
  box-shadow:var(--shadow-lift);
}
.ngb-fab-track { display:flex; height:100%; transition:transform 0.45s cubic-bezier(.2,.7,.2,1); }
.ngb-fab-slide { position:relative; min-width:100%; height:100%; }
.ngb-fab-slide img { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; display:block; background:var(--bg-deep); opacity:0; transition:opacity 0.5s ease; }
.ngb-fab-slide:not(.ngb-is-loading) img { opacity:1; }
.ngb-fab-shimmer {
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(100deg, #1a1613 0%, #1a1613 28%, #322619 46%, #463524 50%, #322619 54%, #1a1613 72%, #1a1613 100%);
  background-size:220% 100%; animation:ngb-fab-shim 1.5s linear infinite; transition:opacity 0.5s ease;
}
.ngb-fab-slide:not(.ngb-is-loading) .ngb-fab-shimmer { opacity:0; }
@keyframes ngb-fab-shim { 0% { background-position:130% 0; } 100% { background-position:-130% 0; } }
.ngb-fab-scrim {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to top, rgba(26,22,19,0.82) 0%, rgba(26,22,19,0.12) 42%, transparent 65%);
  transition:opacity var(--t);
}
.ngb-fab-badge {
  position:absolute; top:16px; left:16px; z-index:2;
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.14em;
  text-transform:uppercase; padding:6px 11px; border-radius:999px;
  background:rgba(26,22,19,0.72); color:#fff; backdrop-filter:blur(4px);
  font-variant-numeric:tabular-nums; transition:opacity var(--t);
}
.ngb-fab-cap { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 24px; color:#fdfbf7; pointer-events:none; transition:opacity var(--t); }
.ngb-fab-cap .ngb-lbl {
  font-family:var(--mono); font-size:9.5px; letter-spacing:0.18em;
  color:var(--gold); text-transform:uppercase; margin-bottom:8px;
}
.ngb-fab-cap h3 { font-family:var(--serif); font-weight:500; font-size:28px; color:#fdfbf7; letter-spacing:-0.01em; line-height:1.05; }
.ngb-fab-cap h3 em { font-style:italic; color:var(--gold-2); font-weight:400; }
.ngb-fab-cap p {
  font-family:var(--serif); font-style:italic; font-size:14.5px;
  color:rgba(255,255,255,0.72); line-height:1.4; margin-top:6px;
}
.ngb-fab-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.28); border:1px solid rgba(255,255,255,0.35);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:30px; line-height:0; color:#fff;
  padding-bottom:3px;
  opacity:0;
  transition:opacity var(--t), background var(--t);
}
.ngb-fab-arrow.ngb-prev { left:12px; }
.ngb-fab-arrow.ngb-next { right:12px; }
.ngb-fab:hover .ngb-fab-arrow { opacity:1; }
.ngb-fab-arrow:hover { background:rgba(255,255,255,0.42); }
@media (hover: none) { .ngb-fab-arrow { display:none; } }
.ngb-fab:not(.ngb-is-first) .ngb-fab-cap, .ngb-fab:not(.ngb-is-first) .ngb-fab-scrim { opacity:0; }
.ngb-fab-altcap {
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:48px 24px 18px;
  font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.4;
  color:var(--gold); text-shadow:0 1px 8px rgba(0,0,0,0.55);
  background:linear-gradient(to top, rgba(26,22,19,0.96) 0%, rgba(26,22,19,0.72) 40%, rgba(26,22,19,0.2) 75%, transparent 100%);
  opacity:0; pointer-events:none; transition:opacity var(--t);
}
.ngb-fab:not(.ngb-is-first) .ngb-fab-altcap { opacity:1; }

/* лайтбокс */
.ngb-fab-lb {
  position:fixed; inset:0; z-index:2147483647; display:none;
  align-items:center; justify-content:center;
  background:rgba(12,9,7,0.94); backdrop-filter:blur(6px); cursor:zoom-out;
}
.ngb-fab-lb.ngb-open { display:flex; }
.ngb-fab-lb-bg {
  position:absolute; inset:0; width:100%; height:100%;
  fill:var(--gold-2); opacity:0.08; pointer-events:none; z-index:0;
}
.ngb-fab-lb-stage { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:16px; width:100%; padding:0 14px; }
.ngb-fab-lb-center {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  width:min(calc(100vw - 160px), calc(78vh * 3 / 4));
}
.ngb-fab-lb-imgwrap { display:flex; align-items:center; justify-content:center; width:100%; cursor:default; }
.ngb-fab-lb img { width:100%; max-height:78vh; object-fit:contain; border-radius:8px; box-shadow:0 30px 60px -20px rgba(0,0,0,0.7); opacity:0; transition:opacity 0.4s ease; cursor:default; }
.ngb-fab-lb img.ngb-loaded { opacity:1; }
.ngb-fab-lb-shimmer { position:static; inset:auto; display:none; aspect-ratio:3 / 4; width:100%; border-radius:8px; }
.ngb-fab-lb.ngb-is-loading .ngb-fab-lb-shimmer { display:block; }
.ngb-fab-lb.ngb-is-loading .ngb-lb-img { display:none; }
.ngb-fab-lb-close, .ngb-fab-lb-arrow {
  position:absolute; border-radius:50%; color:#fff; line-height:0;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center; transition:background var(--t); cursor:pointer;
}
.ngb-fab-lb-close:hover, .ngb-fab-lb-arrow:hover { background:rgba(255,255,255,0.2); }
.ngb-fab-lb-close { top:20px; right:24px; width:44px; height:44px; font-size:26px; }
.ngb-fab-lb-arrow { position:static; transform:none; flex-shrink:0; width:52px; height:52px; font-family:var(--serif); font-size:34px; padding-bottom:4px; }
.ngb-fab-lb-counter {
  font-family:var(--mono); font-size:11px; letter-spacing:0.16em;
  color:rgba(255,255,255,0.75); text-transform:uppercase; font-variant-numeric:tabular-nums; cursor:default;
}
.ngb-fab-lb-cap {
  width:100%; text-align:center; font-family:var(--serif); font-style:italic;
  font-size:18px; line-height:1.4; color:var(--gold); cursor:default;
  min-height:2.8em; display:flex; align-items:center; justify-content:center;
}
@media (max-width: 560px) {
  .ngb-fab-lb-arrow { width:40px; height:40px; font-size:26px; }
  .ngb-fab-lb-stage { gap:8px; padding:0 8px; }
  .ngb-fab-lb-center { width:min(calc(100vw - 110px), calc(78vh * 3 / 4)); }
  .ngb-fab-lb-cap { font-size:16px; }
  .ngb-fab-row { grid-template-columns:1fr; gap:20px; }
  .ngb-fab-row > * { max-width:450px; margin-left:auto; margin-right:auto; width:100%; }
}
/* Телефоны (тач + узкий экран): стрелки прячем, листаем свайпом, фото на всю ширину.
   Планшеты (тач, ширина ≥600px) сюда не попадают — у них остаётся стандартный layout со стрелками. */
@media (hover: none) and (max-width: 599.98px) {
  .ngb-fab-lb-arrow { display:none; }
  .ngb-fab-lb-stage { gap:0; padding:0 12px; }
  .ngb-fab-lb-center { width:min(calc(100vw - 24px), calc(78vh * 3 / 4)); }
}

/* responsive */
@media (max-width: 880px) {
  .ngb-vd_blocks { grid-template-columns:1fr; }
  .ngb-vd_block.ngb-span6, .ngb-vd_block.ngb-span4, .ngb-vd_block.ngb-span2 { grid-column:span 1; }
  .ngb-vc_quick { grid-template-columns:1fr 1fr; gap:18px 0; }
  .ngb-vc_quick .ngb-cell:nth-child(2) { border-right:none; }
  .ngb-vc_hero, .ngb-vc_body { padding:28px 20px 40px; }
  .ngb-live { grid-template-columns:1fr; text-align:left; }
  .ngb-cta-strip { grid-template-columns:1fr; padding:24px 20px; }
  .ngb-cta-strip .ngb-cta-btn { justify-self:start; width:max-content; }
}
@media (max-width: 760px) {
  .ngb-pair { grid-template-columns:1fr; gap:16px; }
}
@media (max-width: 560px) {
  .ngb-page { padding:18px 0 10px; }
  .ngb-vc_hero { padding:28px 14px 36px; }
  .ngb-vc_body { padding:28px 0 10px; }
}
