/* Газ и разливные системы — page layer on top of Industry DS (industry.css).
 * DS overrides: Barlow has no Cyrillic → Sofia Sans Condensed / Sofia Sans (self-hosted, CSP font-src 'self'). */
@font-face { font-family: 'Sofia Sans Condensed'; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url('/demos/gas-systems/assets/fonts/sofia-sans-condensed-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Sofia Sans Condensed'; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url('/demos/gas-systems/assets/fonts/sofia-sans-condensed-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Sofia Sans'; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url('/demos/gas-systems/assets/fonts/sofia-sans-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Sofia Sans'; font-style: normal; font-weight: 400 600; font-display: swap;
  src: url('/demos/gas-systems/assets/fonts/sofia-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --font-heading: 'Sofia Sans Condensed', 'Barlow Condensed', system-ui, sans-serif;
  --font-body: 'Sofia Sans', 'Barlow', system-ui, sans-serif;

  /* breakpoint tokens, mobile first (HANDOFF §5) */
  --pad:16px; --header-h:56px; --hdr-gap:8px; --main-display:block; --fig-h:42svh; --fig-pad:8px 16px 12px;
  --text-pad-r:16px; --pin:static; --pin-h:auto; --pace:0; --hero-min:0px; --sec-pad:40px 0 32px; --flow-pad:48px; --order-pad:40px;
  --h1:clamp(36px,11vw,48px); --h2:clamp(30px,8.8vw,38px); --lead:16px; --body:15px; --num:48px;
  --cards-cols:1fr; --cards-max:520px; --counter-cols:1fr 1fr; --steps-cols:repeat(2,minmax(0,1fr)); --footer-cols:1fr;
  --seg-w:100%; --seg-pad:0 8px; --seg-flex:1 1 auto; --tb-fs:11px; --tb-pad:8px 10px;
  --d-nav:none; --d-phone:none; --d-hdr-cta:none; --d-phone-icon:inline-flex; --d-burger:inline-flex; --d-hint-hover:none; --d-hint-tap:inline;
}
@media (min-width:768px) { :root {
  --pad:32px; --header-h:64px; --hdr-gap:16px; --fig-h:46svh; --fig-pad:14px 32px 16px; --text-pad-r:32px;
  --sec-pad:56px 0 40px; --flow-pad:64px; --order-pad:56px; --h1:clamp(56px,7.8vw,72px); --h2:48px; --lead:17px; --body:16px; --num:56px;
  --cards-cols:repeat(3,minmax(0,1fr)); --cards-max:none; --counter-cols:repeat(4,minmax(0,1fr)); --steps-cols:repeat(4,minmax(0,1fr)); --footer-cols:1fr 1fr;
  --seg-w:fit-content; --seg-pad:0 16px; --seg-flex:0 0 auto; --tb-fs:12px; --tb-pad:10px 14px;
  --d-phone:inline-flex; --d-hdr-cta:inline-flex; --d-phone-icon:none;
} }
@media (min-width:1024px) { :root {
  --pad:40px; --hdr-gap:28px; --main-display:grid; --fig-h:calc(100svh - 64px); --fig-pad:20px 40px 24px 0; --text-pad-r:56px;
  --pin:sticky; --pin-h:calc(100svh - 64px); --pace:1; --hero-min:calc(100svh - 64px); --sec-pad:48px 0; --flow-pad:96px; --order-pad:64px;
  --h1:clamp(52px,5.2vw,84px); --h2:clamp(40px,3.8vw,58px); --lead:18px; --num:64px;
  --cards-cols:1fr; --cards-max:520px; --counter-cols:1fr 1fr; --footer-cols:2fr 1fr 1fr; --tb-pad:12px 16px;
  --d-nav:flex; --d-phone:none; --d-burger:none; --d-hint-hover:inline; --d-hint-tap:none;
} }
@media (min-width:1280px) { :root { --d-phone:inline-flex; } }

[hidden] { display: none !important; }
html { background: var(--color-bg); }
body { overflow-x: hidden; }
body.gs-menu-open { overflow: hidden; }
a { color: var(--color-accent-700); text-decoration: none; }
a:not(.btn):hover { color: var(--color-accent-800); }
.gs-foot-link:hover { color: var(--color-accent-300) !important; }

#ch-service article.card:hover { border-color: var(--color-accent-600); }

#gs-drawer { opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .24s cubic-bezier(.2,.8,.2,1), transform .24s cubic-bezier(.2,.8,.2,1), visibility .24s; }
#gs-drawer.is-open { opacity: 1; visibility: visible; transform: none; }

#gs-loader { display: block; }
#gs-loader > span { position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: var(--color-accent);
  animation: gs-load 1.1s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes gs-load { from { transform: translateX(-100%); } to { transform: translateX(250%); } }

/* photo placeholder until the client sends the real one (gets the DS duotone) */
.gs-photo-slot { position: absolute; inset: 0; display: grid; place-items: center; padding: 16px; text-align: center;
  background: repeating-linear-gradient(135deg, var(--color-surface) 0 10px, var(--color-neutral-200) 10px 11px);
  font-family: var(--font-heading); font-weight: 600; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--color-neutral-700); }

@media (prefers-reduced-motion: reduce) {
  #gs-drawer { transition: none; }
  #gs-loader > span { animation-duration: 2.4s; }
}
