

/* Start:/local/templates/gs_services/assets/css/style.css?179154040038532*/
/* =========================================================

   GLOBAL SOUND — servicessite/3

   Dark theme · Montserrat · container 1320px

   ========================================================= */



/* ---------- Variables ---------- */

:root {

  --red: #E21B23;

  --red-hover: #c4161d;

  --red-soft: rgba(226, 27, 35, 0.45);

  --bg: #000000;

  --bg-2: #0A0A0A;

  --bg-3: #111111;

  --bg-card: #0D0D0D;

  --bg-equip: #1A1A1A;

  --bg-form: #0F0F0F;

  --bg-strip: #161616;

  --bg-light: #F2F2F2;

  --white: #FFFFFF;

  --text: #FFFFFF;

  --muted: #9A9A9A;

  --muted-2: #6A6A6A;

  --border: rgba(255, 255, 255, 0.18);

  --border-soft: rgba(255, 255, 255, 0.12);

  --container: 1320px;

  --header-h: 72px;

  --font: "Montserrat", system-ui, sans-serif;

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);

  --reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);

}



/* ---------- Reset & Base ---------- */

*,

*::before,

*::after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}



html {

  scroll-behavior: smooth;

  width: 100%;

  overflow-x: hidden;

}



body {

  font-family: var(--font);

  background: var(--bg);

  color: var(--text);

  line-height: 1.5;

  -webkit-font-smoothing: antialiased;

  overflow-x: hidden;

  width: 100%;

  max-width: 100vw;

  padding-top: var(--header-h);

}



img {

  max-width: 100%;

  display: block;

}



a {

  color: inherit;

  text-decoration: none;

}



ul,

ol {

  list-style: none;

}



button,

input,

select {

  font: inherit;

  color: inherit;

}



button {

  cursor: pointer;

  background: none;

  border: none;

}



.container {

  width: 100%;

  max-width: var(--container);

  margin: 0 auto;

  padding: 0 40px;

}



/* ---------- Keyframes ---------- */

@keyframes kenburns {

  from { transform: scale(1); }

  to   { transform: scale(1.08); }

}



@keyframes fadeSlideUp {

  from {

    opacity: 0;

    transform: translateY(24px);

  }

  to {

    opacity: 1;

    transform: none;

  }

}



@keyframes fadeIn {

  from { opacity: 0; }

  to   { opacity: 1; }

}



@keyframes chipPulse {

  0%, 100% { box-shadow: 0 0 0 0 rgba(226, 27, 35, 0.35); }

  50%      { box-shadow: 0 0 0 3px rgba(226, 27, 35, 0.12); }

}



/* ---------- Reveal on scroll ---------- */

.reveal {

  opacity: 0;

  transform: translateY(28px);

  transition: opacity 0.7s var(--reveal-ease), transform 0.7s var(--reveal-ease);

}



.reveal.is-visible {

  opacity: 1;

  transform: none;

}



/* ---------- Buttons ---------- */

.btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  height: 46px;

  padding: 0 24px;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  border-radius: 0;

  border: 1px solid transparent;

  transition:

    background 0.2s var(--ease),

    border-color 0.2s,

    color 0.2s,

    transform 0.2s var(--ease),

    filter 0.2s;

  white-space: nowrap;

}



.btn--red {

  background: var(--red);

  color: #fff;

  border-color: var(--red);

}



.btn--red:hover {

  background: var(--red-hover);

  border-color: var(--red-hover);

  transform: scale(1.02);

  filter: brightness(1.08);

}



.btn--ghost,

.btn--outline {

  background: transparent;

  color: #fff;

  border-color: rgba(255, 255, 255, 0.55);

}



.btn--ghost:hover {

  border-color: #fff;

  background: rgba(255, 255, 255, 0.06);

}



.btn--outline:hover {

  background: #fff;

  color: #000;

  border-color: #fff;

}



.btn--outline-red {

  background: transparent;

  color: var(--red);

  border-color: var(--red);

  height: 44px;

}



.btn--outline-red:hover {

  background: var(--red);

  color: #fff;

}



.btn--full {

  width: 100%;

  height: 52px;

}



.btn__plus {

  font-size: 15px;

  font-weight: 500;

  line-height: 1;

}



/* ---------- Shared typography ---------- */

.eyebrow {

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  margin-bottom: 16px;

}



.eyebrow--red { color: var(--red); }

.eyebrow--muted { color: var(--muted); }



.section-title {

  font-size: 22px;

  font-weight: 800;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  line-height: 1.25;

  margin-bottom: 32px;

}

.detail-block .detail-block-text{
    font-size: 13px;
    color: var(--svc-muted);
    line-height: 1.55;
    margin-bottom: 10px;
}
.detail-block .detail-block-text h3, .detail-block .detail-block-text p{
    margin-bottom: 10px;
}
.detail-block .detail-block-text ul{
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
}
.more {

  display: inline-block;

  margin-top: auto;

  padding-top: 16px;

  font-size: 11px;

  font-weight: 600;

  color: rgba(255, 255, 255, 0.75);

  letter-spacing: 0.02em;

  transition: color 0.2s;

}



.more:hover { color: #fff; }



.more--center {

  display: block;

  text-align: center;

  color: #fff;

  margin-top: 24px;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  font-size: 12px;

  font-weight: 700;

}



.link-all {

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.7);

  white-space: nowrap;

  flex-shrink: 0;

}



.link-all:hover { color: #fff; }



/* =========================================================

   HEADER — sticky + burger + mobile panel

   ========================================================= */

.header {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 200;

  background: #000;

  border-bottom: 1px solid var(--border-soft);

  overflow: visible;

}



.header__inner {

  display: flex;

  align-items: center;

  gap: 20px;

  min-height: var(--header-h);

  position: relative;

}



.logo {

  display: flex;

  align-items: center;

  gap: 7px;

  flex-shrink: 0;

  font-size: 15px;

  font-weight: 800;

  letter-spacing: 0.06em;

}



.logo__mark { display: flex; line-height: 0; }



.header__tagline {

  font-size: 9px;

  line-height: 1.35;

  color: rgba(255, 255, 255, 0.55);

  letter-spacing: 0.04em;

  text-transform: uppercase;

  padding-left: 18px;

  border-left: 1px solid var(--border-soft);

  flex-shrink: 0;

  max-width: 150px;

}



.nav--desktop {

  display: flex;

  gap: 26px;

  margin-left: auto;

  font-size: 13px;

  font-weight: 500;

}



.nav--desktop a {

  color: rgba(255, 255, 255, 0.88);

  transition: color 0.2s;

}



.nav--desktop a:hover { color: var(--red); }



.header__right {

  display: flex;

  align-items: center;

  gap: 18px;

  flex-shrink: 0;

}



.phone {

  font-size: 13px;

  font-weight: 600;

  white-space: nowrap;

}



.header .btn--ghost,

.header__cta {

  height: 38px;

  padding: 0 16px;

  font-size: 10px;

}



.burger {

  display: none;

  width: 40px;

  height: 40px;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  gap: 6px;

  flex-shrink: 0;

  z-index: 210;

}



.burger span {

  display: block;

  width: 22px;

  height: 2px;

  background: #fff;

  transition: transform 0.25s, opacity 0.25s;

}



.nav-mobile {

  display: none;

  flex-direction: column;

  position: absolute;

  top: 100%;

  left: 0;

  right: 0;

  background: #0a0a0a;

  border-top: 1px solid var(--border-soft);

  padding: 8px 0 20px;

}



.nav-mobile a {

  display: block;

  padding: 14px 24px;

  font-size: 15px;

  font-weight: 500;

  border-bottom: 1px solid var(--border-soft);

  color: #fff;

}



.nav-mobile__phone { font-weight: 700 !important; margin-top: 8px; }

.nav-mobile__cta {

  margin: 16px 24px 0;

  display: flex !important;

  justify-content: center;

  border: none !important;

}



.header.is-open .burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }

.header.is-open .burger span:nth-child(2) { opacity: 0; }

.header.is-open .burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.header.is-open .nav-mobile { display: flex; }

body.menu-open { overflow: hidden; }



/* =========================================================

   HERO

   ========================================================= */

.hero {

  position: relative;

  min-height: calc(100vh - var(--header-h));

  min-height: 640px;

  display: flex;

  flex-direction: column;

  justify-content: flex-end;

  overflow: hidden;

}



.hero__bg {

  position: absolute;

  inset: 0;

  background: url("/local/templates/gs_services/assets/css/../images/hero-stage.jpg") center 30% / cover no-repeat;

  animation: kenburns 20s ease-in-out infinite alternate;

  will-change: transform;

}



.hero__overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.45) 55%, rgba(0, 0, 0, 0.3) 100%),

    linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%);

}



.hero__content {

  position: relative;

  z-index: 2;

  padding: 72px 40px 40px;

  /*max-width: 720px;

  margin: 0;*/

}



/* Hero entrance — works with --anim modifier or on load */

.hero__content--anim > *,

.hero__content > * {

  opacity: 0;

  animation: fadeSlideUp 0.75s var(--reveal-ease) forwards;

}



.hero__content--anim > .eyebrow,

.hero__content > .eyebrow              { animation-delay: 0.1s; }



.hero__content--anim > .hero__title,

.hero__content > .hero__title         { animation-delay: 0.22s; }



.hero__content--anim > .hero__subtitle,

.hero__content > .hero__subtitle      { animation-delay: 0.34s; }



.hero__content--anim > .hero__text,

.hero__content > .hero__text           { animation-delay: 0.46s; }



.hero__content--anim > .hero__actions,

.hero__content > .hero__actions       { animation-delay: 0.58s; }



.hero__title {

  font-size: clamp(40px, 5vw, 60px);

  font-weight: 800;

  line-height: 1.02;

  letter-spacing: -0.01em;

  text-transform: uppercase;

  margin-bottom: 18px;

}



.hero__subtitle {

  font-size: 18px;

  font-weight: 500;

  margin-bottom: 14px;

}



.hero__text {

  font-size: 14px;

  color: rgba(255, 255, 255, 0.78);

  max-width: 500px;

  margin-bottom: 28px;

  line-height: 1.6;

}



.hero__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 12px;

  margin-bottom: 48px;

}



.hero__bar {

  position: relative;

  z-index: 2;

  border-top: 1px solid rgba(255, 255, 255, 0.14);

  background: rgba(0, 0, 0, 0.4);

}



.hero__bar-inner {

  display: grid;

  grid-template-columns: 1.4fr repeat(5, 1fr);

  align-items: center;

  min-height: 84px;

  gap: 8px;

}


.hero__bar-inner--anim .hero-stat .hero-stat-link{
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero__bar-inner--anim .hero-stat .hero-stat-link:hover{
  color: var(--red);
}
.hero__bar-inner--anim .hero-stat,

.hero__bar-inner > .hero-stat {

  opacity: 0;

  animation: fadeIn 0.6s var(--reveal-ease) forwards;

}



.hero__bar-inner--anim .hero-stat:nth-child(1),

.hero__bar-inner > .hero-stat:nth-child(1) { animation-delay: 0.65s; }



.hero__bar-inner--anim .hero-stat:nth-child(2),

.hero__bar-inner > .hero-stat:nth-child(2) { animation-delay: 0.75s; }



.hero__bar-inner--anim .hero-stat:nth-child(3),

.hero__bar-inner > .hero-stat:nth-child(3) { animation-delay: 0.85s; }



.hero__bar-inner--anim .hero-stat:nth-child(4),

.hero__bar-inner > .hero-stat:nth-child(4) { animation-delay: 0.95s; }



.hero__bar-inner--anim .hero-stat:nth-child(5),

.hero__bar-inner > .hero-stat:nth-child(5) { animation-delay: 1.05s; }



.hero__bar-inner--anim .hero-stat:nth-child(6),

.hero__bar-inner > .hero-stat:nth-child(6) { animation-delay: 1.15s; }



.hero-stat {

  display: flex;

  align-items: center;

  gap: 10px;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.9);

}



.hero-stat--num { gap: 14px; }



.hero-stat--num strong {

  font-size: 28px;

  font-weight: 800;

  letter-spacing: 0;

  line-height: 1;

}



.hero-stat--num span {

  font-size: 11px;

  font-weight: 500;

  letter-spacing: 0.02em;

  text-transform: none;

  color: rgba(255, 255, 255, 0.55);

  line-height: 1.3;

}



/* Bare line SVG — no circular frame */

.hero-stat__icon {

  display: flex;

  align-items: center;

  justify-content: center;

  color: rgba(255, 255, 255, 0.9);

}



.hero-stat__icon svg {

  display: block;

}



/* =========================================================

   STEPS — light section

   ========================================================= */

.steps--light {

  background: var(--bg-light);

  color: #111;

  padding: 64px 0 52px;

}



.steps__head {

  display: grid;

  grid-template-columns: 1.15fr 1.35fr auto;

  gap: 40px;

  align-items: start;

  margin-bottom: 48px;

}



.steps__title {

  font-size: 24px;

  font-weight: 800;

  line-height: 1.22;

  text-transform: uppercase;

  letter-spacing: 0.01em;

}



.steps__text {

  font-size: 14px;

  color: #444;

  line-height: 1.65;

  max-width: 440px;

  padding-top: 2px;

}



.steps__track {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 2px;

}



.step {

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  min-width: 0;

  flex: 1;

}



.step__num {

  font-size: 11px;

  font-weight: 800;

  margin-bottom: 10px;

  letter-spacing: 0.04em;

}



/* White circle with thin gray border — keep */

.step__icon {

  display: flex;

  align-items: center;

  justify-content: center;

  color: #222;

  margin-bottom: 10px;

  width: auto;

  height: auto;

  background: none;

  border: none;

  border-radius: 0;

}



.step__label {

  font-size: 11px;

  font-weight: 600;

  color: #333;

  line-height: 1.3;

}



.step--accent .step__icon {

  color: var(--red);

}



.step--accent .step__label {

  color: var(--red);

  font-weight: 700;

}



.step__arrow {

  display: flex;

  align-items: center;

  padding-top: 42px;

  color: #B0B0B0;

  flex-shrink: 0;

}



/* =========================================================

   SERVICES — 6 columns, one row, vertical dividers

   ========================================================= */

.services {

  background: var(--bg);

  padding: 72px 0 48px;

}



.services .section-title {

  margin-bottom: 0;

  padding-bottom: 20px;

  border-bottom: 1px solid var(--border-soft);

}



.services__grid--6col {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 0;

  border-bottom: 1px solid var(--border-soft);

}



.service-card {

  padding: 28px 18px 24px;

  min-height: 380px;

  display: flex;

  flex-direction: column;

  border-right: 1px solid var(--border-soft);

  transition:

    background 0.25s var(--ease),

    border-color 0.25s var(--ease),

    transform 0.25s var(--ease);

}



.service-card:last-child { border-right: none; }



.service-card:hover {

  background: rgba(255, 255, 255, 0.02);

  border-color: rgba(255, 255, 255, 0.28);

  transform: translateY(-3px);

}



/* Bare SVG — no circular frame */

.service-card__icon {

  display: flex;

  color: #fff;

  margin-bottom: 20px;

  opacity: 0.95;

}



.service-card h3 {

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  margin-bottom: 16px;

  line-height: 1.35;

  min-height: 2.7em;

}



.service-card ul { flex: 1; }



.service-card li {

  font-size: 12px;

  color: rgba(255, 255, 255, 0.55);

  padding: 5px 0 5px 10px;

  position: relative;

  line-height: 1.35;
  list-style: none;

}



.service-card li::before {

  content: "";

  position: absolute;

  left: 0;

  top: 11px;

  width: 3px;

  height: 3px;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.35);

}



.service-card__formula {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 2px;

  flex: 1;

  font-size: 12px;

  color: rgba(255, 255, 255, 0.55);

}



.service-card__formula .plus {

  color: var(--red);

  font-weight: 700;

}



.service-card__note {

  font-size: 11px;

  color: rgba(255, 255, 255, 0.45);

  margin: 8px 0 0;

  line-height: 1.4;

}



/* =========================================================

   SOLUTIONS — 6 columns, flush borders, 3:4 aspect

   ========================================================= */

.solutions {

  background: var(--bg);

  padding: 48px 0 72px;

}



.solutions__grid--6col {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 0;

  border: 1px solid var(--border);

}



.solution-card {

  position: relative;

  aspect-ratio: 3 / 4;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  gap: 16px;

  overflow: hidden;

  border-right: 1px solid var(--border);

  transition: filter 0.35s var(--ease);

}



.solution-card:last-child { border-right: none; }



.solution-card:hover { filter: brightness(1.12); }



.solution-card::before {

  content: "";

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  transition: transform 0.5s var(--ease);

}



.solution-card:hover::before { transform: scale(1.05); }



.solution-card::after {

  content: "";

  position: absolute;

  inset: 0;

  background: rgba(0, 0, 0, 0.55);

}



.solution-card__icon,

.solution-card__title {

  position: relative;

  z-index: 1;

}



/* Bare SVG — no circular frame */

.solution-card__icon {

  display: flex;

  transition: transform 0.35s var(--ease);

}



.solution-card:hover .solution-card__icon {

  transform: translateY(-4px);

}



.solution-card__title {

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  text-align: center;

  line-height: 1.3;

  padding: 0 8px;

}



.solution-card--1::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/restoran.jpeg");

}



.solution-card--2::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/club.webp");

}



.solution-card--3::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/konc-zal.jpg");

}



.solution-card--4::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/konf-zal.jpeg");

}



.solution-card--5::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/sport.jpeg");

}



.solution-card--6::before {

  background-image:

    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.62)),

    url("/local/templates/gs_services/assets/images/teatr.jpg");

}



.solutions__more {

  display: flex;

  justify-content: center;

  margin-top: 32px;

}



.solutions__more .btn { min-width: 260px; }



/* =========================================================

   PROCESS + CALC FORM

   ========================================================= */

.process {

  background: var(--bg-2);

  padding: 64px 0 72px;

}



.process__row {

  display: grid;

  grid-template-columns: 0.85fr 2.15fr;

  gap: 40px;

  align-items: center;

  margin-bottom: 48px;

}



.process__title {

  font-size: 22px;

  font-weight: 800;

  line-height: 1.3;

  text-transform: uppercase;

  letter-spacing: 0.02em;

}



.process__track {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 4px;

  scrollbar-width: none;

}

.process__track::-webkit-scrollbar { display: none; }



.p-step {

  display: flex;

  flex-direction: column;

  align-items: center;

  text-align: center;

  gap: 10px;

  font-size: 11px;

  font-weight: 500;

  color: rgba(255, 255, 255, 0.7);

  line-height: 1.3;

  min-width: 0;

  flex: 1;

}



/* Bare SVG — no frame, border, or background */

.p-step__icon {

  display: flex;

  align-items: center;

  justify-content: center;

  color: rgba(255, 255, 255, 0.85);

  transition: transform 0.25s var(--ease), color 0.25s;

}



.p-step:hover .p-step__icon {

  transform: translateY(-3px);

  color: #fff;

}



.p-step--red {

  color: var(--red);

  font-weight: 800;

  text-transform: uppercase;

}



.p-step--red .p-step__icon {

  color: var(--red);

}



.p-step--red:hover .p-step__icon {

  color: var(--red);

}



.p-arrow {

  color: rgba(255, 255, 255, 0.3);

  padding-top: 12px;

  flex-shrink: 0;

  display: flex;

  align-items: flex-start;

}



.p-arrow--red { color: var(--red); }



/* ---------- Calc form (5 columns) ---------- */

.calc-form {

  background: var(--bg-form);

  border: 1px solid var(--border);

  padding: 36px 32px 32px;

}



.calc-form__title {

  font-size: 18px;

  font-weight: 800;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  margin-bottom: 28px;

  line-height: 1.3;

}



.calc-form__grid--5col {

  display: grid;

  grid-template-columns: 1.05fr 1.1fr 0.95fr 1.05fr 1.1fr;

  gap: 20px;

}

.calc-form__grid--5col .calc-form__col.object-block option{
    color: #000;
}

.calc-form__label {

  font-size: 10px;

  font-weight: 700;

  color: var(--muted);

  letter-spacing: 0.05em;

  text-transform: uppercase;

  margin-bottom: 12px;

}



.chips {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-bottom: 8px;

}



.chips--object .chip--wide {

  width: 100%;

}



.chips--stage {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 8px;

}



.chip {

  background: transparent;

  border: 1px solid rgba(255, 255, 255, 0.28);

  color: rgba(255, 255, 255, 0.85);

  font-size: 11px;

  font-weight: 600;

  padding: 9px 12px;

  border-radius: 0;

  transition: border-color 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;

}



.chip:hover { border-color: rgba(255, 255, 255, 0.6); }



.chip.is-active {

  background: rgba(226, 27, 35, 0.14);

  border-color: var(--red);

  color: #fff;

  animation: chipPulse 2.2s ease-in-out infinite;

}



.chip--wide { width: 100%; }



.field {

  width: 100%;

  background: transparent;

  border: 1px solid rgba(255, 255, 255, 0.28);

  color: #eee;

  font-size: 12px;

  padding: 11px 12px;

  border-radius: 0;

  margin-bottom: 8px;

  outline: none;

  transition: border-color 0.2s;

}



.field:focus { border-color: var(--red); }

.field::placeholder { color: rgba(255, 255, 255, 0.35); }



select.field {

  appearance: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239A9A9A' stroke-width='1.5'/%3E%3C/svg%3E");

  background-repeat: no-repeat;

  background-position: right 12px center;

  padding-right: 32px;

}



.calc-form__col--contacts .calc-form__submit {

  margin-top: 12px;

}



.calc-form__note {

  font-size: 10px;

  color: var(--muted);

  line-height: 1.45;

  margin-top: 8px;

}



/* =========================================================

   PROJECTS — landscape 4:3 flex cards

   ========================================================= */

.projects {

  background: var(--bg);

  padding: 72px 0 56px;

}



.projects__head {

  display: flex;

  justify-content: space-between;

  align-items: flex-end;

  gap: 24px;

  margin-bottom: 28px;

}



.projects__head .section-title {

  margin-bottom: 0;

  max-width: 720px;

}



.projects__slider {

  display: flex;

  align-items: center;

  gap: 10px;

  max-width: calc(var(--container) + 72px);

  margin: 0 auto;

  padding: 0 12px;

}



.projects__track--5col {

  display: flex;

  gap: 12px;

  flex: 1;

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  scrollbar-width: none;

}



.projects__track--5col::-webkit-scrollbar { display: none; }



.project-card {

  position: relative;

  flex: 0 0 calc((100% - 48px) / 5);

  aspect-ratio: 4 / 3;

  overflow: hidden;

  border: 1px solid var(--border);

  display: flex;

  align-items: flex-end;

  scroll-snap-align: start;

}



.project-card::before {

  content: "";

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  transition: transform 0.45s var(--ease);

}



.project-card:hover::before { transform: scale(1.06); }



.project-card::after {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.88));

}



.project-card__body {

  position: absolute;

  z-index: 1;

  padding: 14px 12px;

}



.project-card h3 {

  font-size: 11px;

  font-weight: 800;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  margin-bottom: 4px;

  line-height: 1.3;

}



.project-card p {

  font-size: 10px;

  color: rgba(255, 255, 255, 0.65);

  line-height: 1.3;

}

.project-card .project-card__img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.project-card:hover  .project-card__img{
    transform: scale(1.06);
    transition: transform 0.45s var(--ease);
}
.slider-btn {

  width: 36px;

  height: 36px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  flex-shrink: 0;

  opacity: 0.7;

  transition: opacity 0.2s;

  background: transparent;

  border: none;

}



.slider-btn:hover { opacity: 1; }



/* =========================================================

   CASE — text + equipment grid

   ========================================================= */

.case {

  background: #0D0D0D;

  padding: 64px 0 72px;

}



.case__inner {

  display: grid;

  grid-template-columns: 0.9fr 1.7fr;

  gap: 56px;

  align-items: start;

}



.case__title {

  font-size: 28px;

  font-weight: 800;

  text-transform: uppercase;

  margin-bottom: 32px;

  letter-spacing: 0.02em;

}



.case__block {

  margin-bottom: 28px;

}



.case__label {

  font-size: 10px;

  font-weight: 700;

  color: var(--muted);

  letter-spacing: 0.1em;

  text-transform: uppercase;

  margin-bottom: 6px;

}



.case__block p:last-child {

  font-size: 13px;

  color: rgba(255, 255, 255, 0.8);

  line-height: 1.55;

}



.case__equip-title {

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.85);

  margin-bottom: 20px;

}



.equip-grid {

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 14px;

}



.equip-card {

  background: #1A1A1A;

  border: 1px solid rgba(255, 255, 255, 0.06);

  padding: 0 0 16px;

  overflow: hidden;

  text-align: left;

  transition: border-color 0.25s var(--ease);

}



.equip-card:hover {

  border-color: var(--red-soft);

}



.equip-card__img {

  height: 110px;

  background: #ffffff;

  display: flex;

  align-items: center;

  justify-content: center;

}
.equip-card__img img{
    height: 100%;
    width: 100%;
    object-fit: contain;
}


.equip-card__meta {

  padding: 0 12px;

  margin-top: 12px;

}



.equip-card__meta strong {

  display: block;

  font-size: 11px;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  margin-bottom: 4px;

  line-height: 1.3;

}



.equip-card__meta small {

  display: block;

  font-size: 10px;

  color: var(--muted);

  line-height: 1.35;

}



/* =========================================================

   TRUST BAR

   ========================================================= */

.trust {

  background: #000;

  border-top: 1px solid var(--border-soft);

  border-bottom: 1px solid var(--border-soft);

  padding: 40px 0;

}



.trust__grid--5col {

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 24px;

  align-items: start;

}



.trust__item {

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 12px;

}



.trust__item--num {

  flex-direction: column;

  gap: 6px;

}



.trust__item--num strong {

  font-size: 36px;

  font-weight: 800;

  color: var(--red);

  line-height: 1;

}



.trust__item--num span,

.trust__label {

  font-size: 11px;

  font-weight: 700;

  line-height: 1.35;

  text-transform: uppercase;

  letter-spacing: 0.03em;

  color: rgba(255, 255, 255, 0.85);

}



/* Circle drawn inside SVG — no extra CSS frame */

.trust__icon {

  display: block;

  color: var(--red);

  transition: transform 0.25s var(--ease);

}



.trust__icon:hover {

  transform: scale(1.06);

}



.trust__icon svg {

  display: block;

}



/* =========================================================

   BRANDS

   ========================================================= */

.brands {

  background: var(--bg);

  padding: 64px 0 0;

}



.brands__head {

  display: flex;

  justify-content: space-between;

  align-items: flex-end;

  gap: 24px;

  margin-bottom: 24px;

}



.brands__head .section-title { margin-bottom: 0; }



.brands__subtitle {

  font-size: 12px;

  color: var(--muted);

  max-width: 280px;

  text-align: right;

}



.brands__strip {

  background: var(--bg-strip);

  padding: 28px 0;

  border-top: 1px solid var(--border-soft);

  border-bottom: 1px solid var(--border-soft);

}



.brands__row {

  display: flex;

  flex-wrap: wrap;

  gap: 16px 36px;

  align-items: center;

  justify-content: space-between;

}



.brands__row span {

  font-size: 13px;

  font-weight: 700;

  color: rgba(255, 255, 255, 0.4);

  letter-spacing: 0.04em;

  transition: color 0.2s;

}



.brands__row span:hover { color: rgba(255, 255, 255, 0.7); }



/* =========================================================

   FAQ

   ========================================================= */

.faq {

  background: var(--bg);

  padding: 64px 0 80px;

}



.faq__grid--2col {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 0 48px;

}



.faq-item {

  border-bottom: 1px solid var(--border-soft);

  padding: 18px 0;

}



.faq-item summary {

  list-style: none;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 16px;

  font-size: 14px;

  font-weight: 500;

  color: #fff;

  cursor: pointer;

}



.faq-item summary::-webkit-details-marker { display: none; }



.faq-item__icon {

  color: #fff;

  font-size: 20px;

  font-weight: 300;

  line-height: 1;

  flex-shrink: 0;

  transition: transform 0.25s var(--ease);

}



.faq-item[open] .faq-item__icon { transform: rotate(45deg); }



.faq-item p {

  font-size: 13px;

  color: var(--muted);

  margin-top: 12px;

  line-height: 1.6;

  max-width: 92%;

}



/* =========================================================

   FOOTER — 3 columns: text | button | contacts

   ========================================================= */

.footer {

  position: relative;

  overflow: hidden;

  padding: 80px 0 0;

}



.footer__bg {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0.72) 100%),

    url("/local/templates/gs_services/assets/css/../images/footer-theater.jpg") center / cover no-repeat;

}



.footer__cta {

  position: relative;

  z-index: 1;

  display: grid;

  grid-template-columns: 1.2fr auto 1fr;

  gap: 40px;

  align-items: center;

  padding-bottom: 72px;

}



.footer__left h2 {

  font-size: 26px;

  font-weight: 800;

  line-height: 1.25;

  text-transform: uppercase;

  margin-bottom: 14px;

  letter-spacing: 0.02em;

}



.footer__left p {

  font-size: 14px;

  color: rgba(255, 255, 255, 0.75);

  line-height: 1.5;

}



.footer__center {

  display: flex;

  justify-content: center;

}



.footer__right {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

  gap: 10px;

}



.footer__phone {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  font-size: 18px;

  font-weight: 700;

}



.footer__mail {

  font-size: 13px;

  color: rgba(255, 255, 255, 0.7);

  text-decoration: underline;

  text-underline-offset: 3px;

}



.footer__mail:hover { color: #fff; }



.footer__bottom {

  position: relative;

  z-index: 1;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  background: rgba(0, 0, 0, 0.45);

}



.footer__bottom-inner {

  display: flex;

  justify-content: space-between;

  align-items: center;

  min-height: 52px;

  font-size: 11px;

  color: var(--muted-2);

}



.footer__social {

  display: flex;

  gap: 16px;

}



.footer__social a {

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.06em;

  color: var(--muted);

}



.footer__social a:hover { color: #fff; }



/* =========================================================

   RESPONSIVE — 1200 / 980 / 720

   ========================================================= */

@media (max-width: 1200px) {

  .container { padding: 0 24px; }



  .services__grid--6col,

  .solutions__grid--6col {

    grid-template-columns: repeat(3, 1fr);

  }



  .service-card {

    border-right: 1px solid var(--border-soft);

    border-bottom: 1px solid var(--border-soft);

    min-height: 320px;

  }

  .service-card:nth-child(3n) { border-right: none; }



  .solution-card { border-bottom: 1px solid var(--border); }

  .solution-card:nth-child(3n) { border-right: none; }



  .calc-form__grid--5col { grid-template-columns: repeat(2, 1fr); }



  .project-card { flex: 0 0 calc((100% - 24px) / 3); max-width: calc((100% - 24px) / 3); }



  .equip-grid { grid-template-columns: repeat(3, 1fr); }



  .process__row { grid-template-columns: 1fr; gap: 24px; }



  .trust__grid--5col { grid-template-columns: repeat(3, 1fr); gap: 24px; }

}



@media (max-width: 980px) {

  .header__tagline { display: none; }

  .nav--desktop { display: none !important; }

  .header__cta { display: none; }

  .header__right .phone { display: none; }

  .burger { display: flex; margin-left: auto; }



  .steps__head { grid-template-columns: 1fr; gap: 16px; }



  .services__grid--6col,

  .solutions__grid--6col {

    grid-template-columns: repeat(2, 1fr);

  }

  .service-card:nth-child(3n) { border-right: 1px solid var(--border-soft); }

  .service-card:nth-child(2n) { border-right: none; }

  .solution-card:nth-child(3n) { border-right: 1px solid var(--border); }

  .solution-card:nth-child(2n) { border-right: none; }



  /* NO page horizontal scroll — wrap process/steps */

  .steps__track {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px 12px;

    overflow: visible;

  }

  .step__arrow { display: none; }

  .step { min-width: 0; width: auto; }



  .process__row { grid-template-columns: 1fr; gap: 24px; }

  .process__track {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px 10px;

    overflow: visible;

    flex-wrap: unset;

  }

  .p-arrow { display: none; }

  .p-step { flex: unset; min-width: 0; width: auto; }



  .case__inner { grid-template-columns: 1fr; gap: 32px; }

  .faq__grid--2col { grid-template-columns: 1fr; }



  .brands__head { flex-direction: column; align-items: flex-start; }

  .brands__subtitle { text-align: left; }



  .footer__cta { grid-template-columns: 1fr; gap: 24px; }

  .footer__right { align-items: flex-start; }

  .footer__center { justify-content: flex-start; }



  .hero__bar-inner {

    grid-template-columns: 1fr 1fr;

    gap: 16px;

    padding: 18px 0;

  }

  .hero-stat--num { grid-column: 1 / -1; }



  .projects__slider { padding: 0; max-width: 100%; }

  .projects__track--5col { width: 100%; max-width: 100%; }

  .project-card { flex: 0 0 78%; max-width: 78%; }

  .slider-btn { display: none; }



  .equip-grid { grid-template-columns: repeat(2, 1fr); }

}



@media (max-width: 720px) {

  :root { --header-h: 58px; }

  .container { padding: 0 16px; }



  .hero { min-height: auto; }

  .hero__content { padding: 36px 16px 24px; max-width: 100%; }

  .hero__title { font-size: 32px; }

  .hero__actions { flex-direction: column; align-items: stretch; }

  .hero__actions .btn { width: 100%; }

  .hero__bar{padding: 0 16px 24px;}

  .hero__bar-inner { grid-template-columns: 1fr 1fr; }

  .hero-stat { font-size: 10px; gap: 8px; }



  .steps__track {

    grid-template-columns: repeat(4, 1fr);

    gap: 22px 10px;

  }



  .process__track {

    grid-template-columns: repeat(2, 1fr);

    gap: 22px 10px;

  }



  .services__grid--6col,

  .solutions__grid--6col {

    grid-template-columns: 1fr;

  }



  .service-card,

  .solution-card {

    border-right: none !important;

    border-bottom: 1px solid var(--border-soft);

    min-height: 0;

  }
  .service-card .service-card__icon{
    justify-content: center;
  }
  .service-card h3{
    text-align: center;
  }
  a.more{
    text-align: center;
  }
  .solution-card { aspect-ratio: 16 / 10; }



  .calc-form { padding: 20px 14px; }

  .calc-form__grid--5col { grid-template-columns: 1fr; gap: 22px; }



  .equip-grid { grid-template-columns: 1fr 1fr; gap: 10px; }

  .trust__grid--5col { grid-template-columns: 1fr 1fr; gap: 20px; }

  .trust__item--num { grid-column: 1 / -1; }



  .section-title { font-size: 18px; margin-bottom: 22px; }

  .process__title,

  .footer__left h2 { font-size: 20px; }

  .case__title { font-size: 24px; }



  .project-card { flex: 0 0 86%; max-width: 86%; }



  .brands__row {

    justify-content: flex-start;

    gap: 14px 20px;

  }

}



@media (prefers-reduced-motion: reduce) {

  html { scroll-behavior: auto; }



  .hero__bg {

    animation: none;

    transform: none !important;

  }



  .hero__content--anim > *,

  .hero__content > *,

  .hero__bar-inner--anim .hero-stat,

  .hero__bar-inner > .hero-stat {

    animation: none;

    opacity: 1;

    transform: none;

  }



  .reveal {

    opacity: 1;

    transform: none;

    transition: none;

  }



  .btn--red:hover {

    transform: none;

    filter: none;

  }



  .chip.is-active {

    animation: none;

  }



  .service-card:hover {

    transform: none;

  }



  .solution-card:hover .solution-card__icon {

    transform: none;

  }



  .project-card:hover::before {

    transform: none;

  }



  .solution-card:hover::before {

    transform: none;

  }



  .p-step:hover .p-step__icon {

    transform: none;

  }



  .trust__icon:hover {

    transform: none;

  }



  *,

  *::before,

  *::after {

    animation-duration: 0.01ms !important;

    animation-iteration-count: 1 !important;

    transition-duration: 0.01ms !important;

  }

}


/* End */


/* Start:/local/templates/gs_services/assets/css/bitrix.css?1785405984717*/
/* Bitrix theme overrides — logo from production, path fixes */



.logo--footer img {
  height: 32px;
  max-width: 160px;
  filter: brightness(0) invert(1);
}

.gs-main {
  min-height: 50vh;
}

/* Form success / Bitrix form skin */
.gs-form .inputtext,
.gs-form input[type="text"],
.gs-form input[type="tel"],
.gs-form input[type="email"],
.gs-form textarea,
.gs-form select {
  width: 100%;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  padding: 12px 14px;
  font: inherit;
}

.gs-form textarea {
  min-height: 110px;
  resize: vertical;
}

.gs-form .btn,
.gs-form input[type="submit"] {
  cursor: pointer;
}

.gs-form .form-required {
  color: var(--red, #E21B23);
}

/* End */


/* Start:/local/templates/gs_services/assets/css/service.css?178643659116944*/
/* =========================================================
   Service pages — дополнения к style.css главной
   Контраст по макету: тёмный hero/проекты/CTA ↔ светлые контентные блоки
   ========================================================= */

.nav a.is-active,
.nav-mobile a.is-active {
  color: var(--red);
}

/* ---------- Shared light-section tokens ---------- */
.systems,
.av-block,
.design-incl,
.design-stages,
.works,
.team {
  --svc-ink: #111111;
  --svc-muted: #555555;
  --svc-muted-2: #777777;
  --svc-line: rgba(0, 0, 0, 0.1);
  --svc-icon-bg: #ffffff;
  color: var(--svc-ink);
}

.systems .section-title,
.av-block .section-title,
.design-incl .section-title,
.design-stages .section-title,
.works .section-title,
.team .section-title {
  color: var(--svc-ink);
  border-color: var(--svc-line);
}

/* ---------- Service hero ---------- */
.hero--service {
  min-height: 720px;
  justify-content: flex-end;
}

.hero--service .hero__bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Сильнее затемнение слева/снизу — читаемость H1 и CTA */
.hero--service .hero__overlay {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.55) 48%, rgba(0, 0, 0, 0.28) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.12) 40%, rgba(0, 0, 0, 0.9) 100%);
}

.hero--service .hero__content {
  /*max-width: 820px;*/
  padding: 56px 40px 36px;
}
.hero--service .hero__content h1.hero__title{
  max-width: 720px;
}
.hero--service .hero__title {
  font-size: clamp(30px, 3.8vw, 48px);
  margin-bottom: 16px;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.hero--service .hero__text {
  max-width: 560px;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}

.hero--service .hero__actions {
  margin-bottom: 36px;
  gap: 14px;
}

/* Этапы в hero — голые иконки */
.hero-flow {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  max-width: 740px;
}

.hero-flow__item {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.hero-flow__icon {
  display: flex;
  color: rgba(255, 255, 255, 0.95);
  filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.5));
}

.hero-flow__item span:last-child {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.82);
}

.hero-flow__arrow {
  display: flex;
  align-items: flex-start;
  padding-top: 10px;
  color: rgba(255, 255, 255, 0.35);
  flex-shrink: 0;
}

/* ---------- Stats bar ---------- */
.trust--service {
  padding: 0;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  background: #050505;
}

.trust--service .trust__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 0;
  align-items: center;
  min-height: 100px;
}

.trust--service .trust__item {
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 26px 24px;
  border-right: 1px solid var(--border-soft);
  min-height: 100px;
}

.trust--service .trust__item:last-child {
  border-right: none;
}

.trust--service .trust__item--num {
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.trust--service .trust__item--num strong {
  font-size: 34px;
  letter-spacing: -0.02em;
}

.trust--service .trust__item span:not(.trust__icon) {
  color: rgba(255, 255, 255, 0.88);
}

/* ---------- Системы (светлый блок) ---------- */
.systems {
  background: var(--bg-light);
  padding: 88px 0 72px;
}

.systems .section-title {
  margin-bottom: 40px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--svc-line);
}

.systems__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}

.system-item {
  padding: 12px 18px 8px;
  text-align: center;
  border-right: 1px solid var(--svc-line);
  transition: opacity 0.2s;
}

.system-item:last-child {
  border-right: none;
}

.system-item:hover {
  opacity: 0.88;
}

.system-item__icon {
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--svc-icon-bg);
  border: 1px solid var(--svc-line);
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
}

.system-item h3 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  margin-bottom: 8px;
  color: var(--svc-ink);
}

.system-item p {
  font-size: 12px;
  color: var(--svc-muted);
  line-height: 1.5;
  max-width: 168px;
  margin: 0 auto;
}

/* ---------- Оборудование (тёмный, как кейс на главной) ---------- */
.equip-section {
  background: #0a0a0a;
  padding: 80px 0 72px;
}

.equip-section .projects__head {
  margin-bottom: 28px;
}

.equip-section .equip-grid {
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}

.equip-section .equip-card__img {
  height: 138px;
  background: #ffffff;
  color: #333;
}

.equip-section .equip-card__img svg {
  stroke: #555;
}

.equip-section .equip-card {
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.equip-section .equip-card__meta strong {
  color: #fff;
}

.equip-section .equip-card__meta small {
  color: rgba(255, 255, 255, 0.55);
}

.equip-section__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.equip-section__more .link-all {
  color: rgba(255, 255, 255, 0.78);
}

.equip-section__more .link-all:hover {
  color: #fff;
}

/* Проекты на service — чуть больше воздуха */
.service-page .projects,
body:has(.hero--service) .projects {
  padding-top: 80px;
  padding-bottom: 72px;
}

/* ---------- Mid CTA ---------- */
.mid-cta {
  position: relative;
  overflow: hidden;
  padding: 88px 0;
}

.mid-cta__bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0.58) 55%, rgba(0, 0, 0, 0.75) 100%),
    var(--mid-cta-image) center / cover no-repeat;
}

.mid-cta .footer__cta {
  position: relative;
  z-index: 1;
  padding-bottom: 0;
}

.mid-cta .footer__cta h2 {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.4);
}

/* ---------- AV (светлый) ---------- */
.av-block {
  background: var(--bg-light);
  padding: 88px 0 72px;
}

.av-block .section-title {
  margin-bottom: 40px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--svc-line);
}

.av-formula {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 52px;
  padding: 8px 0 44px;
  border-bottom: 1px solid var(--svc-line);
}

.av-node {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
}

.av-node__icon {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--svc-icon-bg);
  border: 1px solid var(--svc-line);
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
}

.av-node__icon--red {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

.av-node span:last-child {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--svc-ink);
}

.av-op {
  color: var(--red);
  font-size: 26px;
  font-weight: 700;
  padding-top: 24px;
  flex-shrink: 0;
}

.av-split {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 40px;
  align-items: stretch;
}

.av-split__title {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 18px;
  color: var(--svc-ink);
}

.av-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.av-list li {
  position: relative;
  padding: 15px 0 15px 18px;
  font-size: 14px;
  color: var(--svc-muted);
  line-height: 1.55;
  border-bottom: 1px solid var(--svc-line);
}

.av-list li:last-child {
  border-bottom: none;
}

.av-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red);
}

.av-panel {
  min-height: 320px;
  border: 1px solid var(--svc-line);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.25)),
    url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=1200&q=80") center / cover no-repeat;
}

/* ---------- Design ---------- */
.design-incl {
  background: #ffffff;
  padding: 88px 0 48px;
}

.design-incl .section-title {
  margin-bottom: 32px;
}

.design-incl__layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 0;
  border: 1px solid var(--svc-line);
  overflow: hidden;
  min-height: 380px;
  background: #fff;
}

.design-incl__content {
  padding: 36px 32px;
  background: #fff;
}

.design-incl__content h3 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: var(--svc-ink);
}

.design-incl__content ul {
  margin-bottom: 28px;
}

.design-incl__content ul:last-child {
  margin-bottom: 0;
}

.design-incl__content li {
  position: relative;
  padding: 10px 0 10px 16px;
  font-size: 14px;
  color: var(--svc-muted);
  border-bottom: 1px solid var(--svc-line);
}

.design-incl__content li:last-child {
  border-bottom: none;
}

.design-incl__content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--red);
}

.design-incl__media {
  min-height: 100%;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.28)),
    url("https://images.unsplash.com/photo-1503387762-592deb58ef4e?w=1200&q=80") center / cover no-repeat;
}

.design-stages {
  background: var(--bg-light);
  padding: 64px 0 88px;
}

.design-stages .section-title {
  margin-bottom: 32px;
}

.design-stages__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  border-top: 1px solid var(--svc-line);
  border-bottom: 1px solid var(--svc-line);
  background: #fff;
}

.design-stage {
  padding: 32px 18px 28px;
  border-right: 1px solid var(--svc-line);
  min-height: 210px;
}

.design-stage:last-child {
  border-right: none;
}

.design-stage strong {
  display: block;
  font-size: 24px;
  font-weight: 800;
  color: var(--red);
  margin-bottom: 16px;
  letter-spacing: 0.04em;
}

.design-stage h3 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  margin-bottom: 10px;
  color: var(--svc-ink);
}

.design-stage p {
  font-size: 12px;
  color: var(--svc-muted);
  line-height: 1.55;
}

/* ---------- Монтаж ---------- */
.works {
  background: var(--bg-light);
  padding: 88px 0 48px;
}

.works .section-title {
  margin-bottom: 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--svc-line);
}

.works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--svc-line);
  background: #fff;
}

.work-item {
  padding: 32px 26px;
  border-right: 1px solid var(--svc-line);
  border-bottom: 1px solid var(--svc-line);
  min-height: 210px;
}

.work-item:nth-child(3n) {
  border-right: none;
}

.work-item:nth-child(n + 4) {
  border-bottom: none;
}

.work-item__icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--bg-light);
  border: 1px solid var(--svc-line);
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.work-item h3 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  margin-bottom: 10px;
  color: var(--svc-ink);
}

.work-item p {
  font-size: 13px;
  color: var(--svc-muted);
  line-height: 1.55;
}

.team {
  background: #ffffff;
  padding: 40px 0 88px;
}

.team__inner {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 0;
  align-items: stretch;
  border: 1px solid var(--svc-line);
  overflow: hidden;
  background: #fff;
}

.team__photo {
  min-height: 380px;
  order: 2;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.2)),
    url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?w=1400&q=80") center / cover no-repeat;
}

.team__text {
  order: 1;
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

.team__text h2 {
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
  line-height: 1.25;
  color: var(--svc-ink);
}

.team__text p {
  font-size: 14px;
  color: var(--svc-muted);
  line-height: 1.65;
  margin-bottom: 12px;
}

.team__facts {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 20px;
}

.team__facts span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--svc-ink);
  padding: 12px 0 12px 16px;
  position: relative;
  border-bottom: 1px solid var(--svc-line);
}

.team__facts span:last-child {
  border-bottom: none;
}

.team__facts span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red);
}

/* FAQ на service — чуть больше воздуха */
body:has(.hero--service) .faq {
  padding-top: 80px;
  padding-bottom: 72px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
  .systems__grid,
  .equip-section .equip-grid,
  .design-stages__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .system-item {
    border-bottom: 1px solid var(--svc-line);
    padding-bottom: 28px;
    margin-bottom: 8px;
  }

  .design-stage {
    border-bottom: 1px solid var(--svc-line);
  }

  .system-item:nth-child(3n),
  .design-stage:nth-child(3n) {
    border-right: none;
  }
}

@media (max-width: 980px) {
  .hero--service {
    min-height: auto;
  }

  .hero--service .hero__content {
    padding: 44px 24px 32px;
  }

  .hero-flow {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px 12px;
    max-width: 100%;
  }

  .hero-flow__arrow {
    display: none;
  }

  .trust--service .trust__grid {
    grid-template-columns: 1fr;
  }

  .trust--service .trust__item {
    border-right: none;
    border-bottom: 1px solid var(--border-soft);
    min-height: 0;
  }

  .trust--service .trust__item:last-child {
    border-bottom: none;
  }

  .systems,
  .av-block,
  .design-incl,
  .works {
    padding: 64px 0 48px;
  }

  .systems__grid,
  .equip-section .equip-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .system-item:nth-child(3n) {
    border-right: 1px solid var(--svc-line);
  }

  .system-item:nth-child(2n) {
    border-right: none;
  }

  .av-formula {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 10px;
  }

  .av-op {
    display: none;
  }

  .av-split,
  .design-incl__layout,
  .team__inner {
    grid-template-columns: 1fr;
  }

  .team__photo {
    order: 0;
    min-height: 260px;
  }

  .team__text {
    order: 0;
  }

  .design-incl__media,
  .av-panel {
    min-height: 240px;
  }

  .design-stages__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .design-stage:nth-child(3n) {
    border-right: 1px solid var(--svc-line);
  }

  .design-stage:nth-child(2n) {
    border-right: none;
  }

  .works__grid {
    grid-template-columns: 1fr 1fr;
  }

  .work-item:nth-child(3n) {
    border-right: 1px solid var(--svc-line);
  }

  .work-item:nth-child(2n) {
    border-right: none;
  }

  .work-item:nth-child(n + 4) {
    border-bottom: 1px solid var(--svc-line);
  }

  .work-item:nth-child(n + 5) {
    border-bottom: none;
  }
}

@media (max-width: 720px) {
  .hero--service .hero__content {
    padding: 36px 16px 28px;
  }

  .hero--service .hero__actions {
    flex-direction: column;
  }

  .hero--service .hero__actions .btn {
    width: 100%;
  }

  .hero-flow {
    grid-template-columns: repeat(2, 1fr);
  }

  .systems,
  .av-block,
  .design-incl,
  .equip-section,
  .mid-cta {
    padding-left: 0;
    padding-right: 0;
  }

  .systems__grid,
  .equip-section .equip-grid,
  .design-stages__grid,
  .works__grid {
    grid-template-columns: 1fr;
  }

  .system-item,
  .design-stage,
  .work-item {
    border-right: none !important;
    border-bottom: 1px solid var(--svc-line);
    min-height: 0;
    margin-bottom: 0;
    padding-bottom: 24px;
  }

  .team__photo {
    min-height: 220px;
  }

  .team__text {
    padding: 28px 20px;
  }

  .equip-section__more {
    justify-content: flex-start;
  }

  .mid-cta {
    padding: 64px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero--service .hero__bg {
    animation: none;
  }
}

/* End */
/* /local/templates/gs_services/assets/css/style.css?179154040038532 */
/* /local/templates/gs_services/assets/css/bitrix.css?1785405984717 */
/* /local/templates/gs_services/assets/css/service.css?178643659116944 */
