/* Страница «Грузчики». Собрано build.py, вручную не править. */
.gz-page {
--background: 0 0% 100%;
--foreground: 222.2 47.4% 11.2%;
--muted: 210 40% 96.1%;
--muted-foreground: 215.4 16.3% 46.9%;
--popover: 0 0% 100%;
--popover-foreground: 222.2 47.4% 11.2%;
--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--card: transparent;
--card-foreground: 222.2 47.4% 11.2%;
--primary: 222.2 47.4% 11.2%;
--primary-foreground: 210 40% 98%;
--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;
--accent: 210 40% 96.1%;
--accent-foreground: 222.2 47.4% 11.2%;
--destructive: 0 100% 50%;
--destructive-foreground: 210 40% 98%;
--ring: 215 20.2% 65.1%;
--radius: 0.5rem;
--radius-pill: 999px;
--radius-card: 32px;
--radius-panel: 35px;
--radius-photo: 39px;
--radius-review: 39px;
--radius-logo: 14px;
--radius-input: 52px;
--radius-button: 16px;
--radius-control: 10px;
--advantage-icon-size: 44px;
--review-width: 530px;
--review-height: 224px;
--review-padding: 23px;
--review-gap: 20px;
--review-title-size: 56px;
--review-title-leading: 67px;
--review-card-border: rgb(100 100 100 / 20%);
--brand-blue: #255aa4;
--hero-surface: #e9edf3;
--hero-ink: #333333;
--tag-size: 12px;
--input-border: rgb(37 90 164 / 23%);
--input-padding: 28px;
--section-space: 88px;
--section-title: 48px;
--section-leading: 1.15;
--panel-space: 32px;
--panel-background: #fff;
--panel-border: rgb(37 90 164 / 14%);
--dark-surface: #21334d;
--dark-muted: #d4dce8;
--subheading-size: 24px;
--section-text: 18px;
--section-copy-leading: 1.5;
--logo-height: 140px;
--logo-width: 270px;
--marquee-duration: 24s;
--step-card-height: 488px;
--step-art-space: 220px;
--step-art-overhang: 56px;
--step-number-size: 240px;
--step-number-opacity: 0.07;
--step-dark: #141a25;
--step-offset-low: 40px;
--step-offset-middle: 16px;
--step-offset-high: -24px;
--faq-width: 960px;
--faq-row: #556378;
--faq-open: #141a25;
--faq-accent: #4190ff;
--faq-radius: 10px;
--faq-open-radius: 16px;
--faq-gap: 22px;
--faq-type: 21px;
--faq-type-leading: 26px;
--faq-padding-left: 33px;
--faq-padding-right: 14px;
--faq-arrow-size: 40px;
--faq-arrow-background: linear-gradient(135deg, #f4f4f4, #bcbcbc);
--brand-blue-light: #4b76b4;
--brand-gradient: linear-gradient(to right, var(--brand-blue) 20%, var(--brand-blue-light) 52%, var(--brand-blue) 80%);
--layout-width: 1186px;
--layout-gutter: 46px;
--hero-gap: 46px;
--hero-padding: 60px;
--hero-title-size: 52px;
--hero-title-leading: 1.08;
--body-size: 20px;
--small-size: 14px;
--form-height: 56px;
--space-xs: 8px;
--space-sm: 12px;
--space-md: 16px;
--space-lg: 24px;
--space-xl: 32px;
--border-width: 1px;
--font-system: ui-sans-serif, system-ui, sans-serif;
--font-brand: "HelveticaNeueCyr", var(--font-system);
}
.gz-page, .gz-page *, .gz-page *::before, .gz-page *::after { box-sizing: border-box; }
.gz-page { display: block; padding-top: var(--site-header-height); background: var(--hero-surface); color: var(--hero-ink); font-family: var(--font-brand); font-size: 16px; font-weight: 300; line-height: normal; }
:where(.gz-page) button, :where(.gz-page) input { font: inherit; }
:where(.gz-page) button { cursor: pointer; }
:where(.gz-page) img { display: block; max-width: 100%; }
:where(.gz-page) a { color: inherit; }
.gz-hero { width: min(var(--layout-width), calc(100% - var(--layout-gutter) * 2)); margin: auto; padding-block: var(--hero-padding); display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: var(--hero-gap); }
.gz-hero-tags { display: flex; flex-wrap: nowrap; gap: var(--space-xs); margin-bottom: var(--space-lg); }
.gz-hero-tag { padding: var(--space-xs); border-radius: var(--radius-pill); background: hsl(var(--muted)); font-size: var(--tag-size); line-height: 1.3; font-weight: 400; white-space: nowrap; }
.gz-hero h1 { font-size: var(--hero-title-size); line-height: var(--hero-title-leading); font-weight: 500; letter-spacing: -0.035em; margin: 0; }
.gz-hero h1 .gz-hero-title-line { display: block; color: var(--hero-ink); white-space: nowrap; }
.gz-hero-title-line + .gz-hero-title-line { margin-top: var(--space-xs); }
.gz-hero h1 em { color: var(--brand-blue); font-style: normal; }
.gz-hero-points { padding-left: 0; display: grid; gap: var(--space-sm); list-style: none; font-size: var(--body-size); margin-block: var(--space-xl); color: var(--hero-ink); }
.gz-hero-points li { display: flex; align-items: center; gap: var(--space-sm); }
.gz-hero-points svg { width: var(--body-size); height: var(--body-size); flex-shrink: 0; }
.gz-hero-figure { margin: 0; align-self: stretch; min-width: 0; position: relative; overflow: hidden; border-radius: var(--radius-photo); }
.gz-hero-image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.gz-hero-form { border-top: var(--border-width) solid hsl(var(--border)); padding-top: var(--space-lg); }
.gz-form-heading { font-size: var(--body-size); line-height: 1.35; font-weight: 500; max-width: 440px; margin-bottom: var(--space-md); }
.gz-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); }
.gz-hero-form .gz-phone-input { width: 100%; border: var(--border-width) solid var(--input-border); border-radius: var(--radius-input); height: var(--form-height); padding-inline: var(--input-padding); font-family: inherit; font-size: 18px; background: var(--hero-surface); }
.gz-hero-form .gz-hero-submit { border: 0; height: var(--form-height); font-family: inherit; font-size: 20px; background: var(--brand-gradient); color: white; border-radius: var(--radius-button); }
.gz-hero-submit:hover { filter: brightness(1.06); }
.gz-hero-submit:focus-visible, .gz-phone-input:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 3px; }
.gz-form-status { font-size: var(--small-size); color: hsl(var(--muted-foreground)); margin-top: var(--space-sm); }

.gz-page-section { width: min(var(--layout-width), calc(100% - var(--layout-gutter) * 2)); margin-inline: auto; padding-block: var(--section-space); }
.gz-page-section h2, .gz-calculator-inner h2 { margin: 0 0 var(--space-xl); font-size: var(--section-title); line-height: var(--section-leading); font-weight: 500; letter-spacing: -0.035em; max-width: 900px; }
.gz-section-intro { font-size: var(--body-size); margin: calc(var(--space-md) * -1) 0 var(--space-xl); line-height: var(--section-copy-leading); }
.gz-brand-button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--form-height); padding: var(--space-sm) var(--space-lg); border: 0; border-radius: var(--radius-button); background: var(--brand-gradient); color: white; font-family: inherit; font-size: var(--body-size); font-weight: 500; line-height: 1.2; text-decoration: none; text-align: center; flex-shrink: 0; cursor: pointer; }
.gz-brand-button:hover { filter: brightness(1.06); }
.gz-brand-button:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 4px; }
.gz-price-heading-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); margin-bottom: var(--space-xl); }
.gz-page-section .gz-price-heading-row h2 { margin: 0; flex-shrink: 0; white-space: nowrap; }
.gz-price-badge { flex-shrink: 0; padding-inline: var(--space-md); background: var(--brand-blue); color: white; font-size: 20px; font-weight: 500; }
.gz-price-panel { border: var(--border-width) solid var(--panel-border); border-radius: var(--radius-panel); overflow: hidden; background: var(--panel-background); }
.gz-price-table { width: 100%; border-collapse: collapse; text-align: left; font-size: var(--body-size); }
.gz-price-table th, .gz-price-table td { padding: var(--space-lg) var(--panel-space); }
.gz-price-table thead { background: var(--brand-blue); color: white; }
.gz-price-table thead th { font-weight: 500; }
.gz-price-table tbody th, .gz-price-table tbody td { font-weight: 400; }
.gz-price-table tbody tr { border-bottom: var(--border-width) solid var(--panel-border); }
.gz-price-table td, .gz-price-table th:last-child { text-align: right; min-width: 180px; }
.gz-price-bottom { display: flex; align-items: center; gap: var(--hero-gap); padding: var(--panel-space); }
.gz-price-bottom p { margin: 0; font-size: var(--section-text); line-height: var(--section-copy-leading); }
.gz-calculator-section { background: var(--dark-surface) url("img/calculator-bg.jpg") center bottom / cover no-repeat; color: white; padding-block: var(--section-space); }
.gz-calculator-inner { width: min(var(--layout-width), calc(100% - var(--layout-gutter) * 2)); margin-inline: auto; }
.gz-calculator-form { margin: 0; }
.gz-calculator-inner h2 { max-width: 760px; }
.gz-calculator-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--hero-gap); }
.gz-calculator-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); }
.gz-field-group { display: grid; gap: var(--space-sm); }
.gz-field-group label, .gz-work-types legend { font-size: var(--body-size); line-height: 1.2; font-weight: 300; }
.gz-field-group input { height: var(--form-height); border-radius: var(--radius-input); border: 0; background: var(--hero-surface); color: var(--hero-ink); padding-inline: var(--space-lg); font-size: var(--section-text); }
.gz-calculator-numbers input:read-only { opacity: .65; cursor: not-allowed; }
.gz-outside-mkad { display: flex; align-items: center; gap: var(--space-sm); margin-top: var(--space-md); font-size: var(--section-text); cursor: pointer; }
.gz-outside-mkad input { width: 18px; height: 18px; accent-color: var(--brand-blue-light); }
.gz-work-types { margin-top: var(--space-xl); border: 0; padding: 0; min-width: 0; }
.gz-work-types > div { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md) var(--space-lg); margin-top: var(--space-lg); }
.gz-work-types label { display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--section-text); line-height: 1.35; cursor: pointer; }
.gz-work-types input { margin-top: 4px; accent-color: var(--brand-blue-light); width: 16px; height: 16px; flex-shrink: 0; }
.gz-calculator-phone { margin-top: var(--space-xl); }
.gz-address-field { position: relative; z-index: 3; }
.gz-address-suggestions { position: absolute; top: calc(100% + var(--space-xs)); left: 0; right: 0; z-index: 5; list-style: none; margin: 0; padding: var(--space-xs); background: white; color: var(--hero-ink); border-radius: var(--radius-control); box-shadow: 0 12px 30px rgb(10 24 43 / 24%); }
.gz-address-suggestions button { width: 100%; display: flex; align-items: flex-start; gap: var(--space-sm); border: 0; border-radius: var(--radius-control); background: transparent; color: inherit; padding: var(--space-sm) var(--space-md); font: inherit; line-height: 1.35; text-align: left; cursor: pointer; }
.gz-address-suggestions button:hover, .gz-address-suggestions button:focus-visible { background: var(--hero-surface); outline: none; }
.gz-address-suggestions svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--brand-blue); }
.gz-yandex-map-shell { position: relative; min-height: 230px; margin-top: var(--space-lg); overflow: hidden; background: rgb(255 255 255 / 8%); border: var(--border-width) solid rgb(255 255 255 / 18%); border-radius: var(--radius-panel); }
.gz-yandex-map { width: 100%; height: 230px; }
.gz-yandex-map-missing-key .gz-yandex-map, .gz-yandex-map-error .gz-yandex-map { display: none; }
.gz-map-message { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--space-sm); padding: var(--space-lg); color: var(--dark-muted); text-align: center; }
.gz-map-message > svg { width: 32px; height: 32px; }
.gz-map-message a { display: inline-flex; align-items: center; gap: var(--space-xs); color: white; text-underline-offset: 4px; }
.gz-map-message a svg { width: 16px; height: 16px; }
.gz-map-hint { position: absolute; left: var(--space-md); bottom: var(--space-md); z-index: 2; max-width: calc(100% - var(--space-xl)); margin: 0; padding: var(--space-xs) var(--space-md); border-radius: 999px; background: rgb(20 26 37 / 82%); color: white; font-size: 14px; line-height: 1.35; pointer-events: none; }
.gz-calculator-result { margin-top: var(--space-lg); border-top: var(--border-width) solid rgb(255 255 255 / 18%); padding-top: var(--space-lg); display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; font-size: var(--body-size); }
.gz-calculator-result strong { font-size: var(--section-title); font-weight: 500; }
.gz-calculator-result p { width: 100%; color: var(--dark-muted); margin: var(--space-xs) 0 0; font-size: var(--section-text); }
.gz-calculator-bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--hero-gap); margin-top: var(--space-xl); padding-top: var(--space-xl); border-top: var(--border-width) solid rgb(255 255 255 / 18%); }
.gz-calculator-bottom p { max-width: 700px; font-size: var(--section-text); line-height: var(--section-copy-leading); margin: 0; color: var(--dark-muted); }
.gz-calculator-form-status { width: 100%; margin: var(--space-md) 0 0; color: var(--dark-muted); font-size: var(--small-size); }
.gz-title-accent { color: var(--brand-blue); }
.gz-calculator-section .gz-title-accent, .gz-faq-section .gz-title-accent { color: var(--faq-accent); }
.gz-reviews-section { overflow: hidden; padding-block: var(--section-space); }
.gz-reviews-inner { width: var(--faq-width); margin-inline: auto; }
.gz-reviews-inner h2 { font-size: var(--review-title-size); line-height: var(--review-title-leading); font-weight: 500; letter-spacing: -3px; margin: 0 0 40px; }
.gz-reviews-stage { width: var(--review-width); height: calc(var(--review-height) + 10px); position: relative; margin-inline: auto; }
.gz-reviews-track { display: flex; gap: var(--review-gap); width: max-content; transform: translate3d(calc(var(--review-index) * (var(--review-width) + var(--review-gap)) * -1), 0, 0); }
.gz-reviews-animated { transition: transform 500ms ease; }
.gz-reviews-track:not(.gz-reviews-animated) .gz-review-slide { transition: none; }
.gz-review-slide { width: var(--review-width); height: var(--review-height); flex-shrink: 0; border-radius: var(--radius-review); border: 1px solid var(--review-card-border); padding: var(--review-padding); display: flex; align-items: center; position: relative; top: 10px; opacity: 0.5; background: transparent; transition: top 500ms, opacity 500ms, background-color 500ms; }
.gz-review-active { top: 0; opacity: 1; background: white; }
@media (prefers-reduced-motion: reduce) { .gz-reviews-animated, .gz-review-slide { transition: none; } }
.gz-review-slide h3 { font-size: 26px; font-weight: 500; margin: 0; }
.gz-review-position { font-size: 14px; line-height: 20px; color: rgb(50 50 50 / 40%); margin: 5px 0 0; }
.gz-review-text { font-size: 16px; line-height: 23px; color: #666; margin: 10px 0 0; }
.gz-review-controls { width: var(--review-width); margin: var(--space-lg) auto 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-inline: 80px; }
.gz-review-controls button { border: 0; background: transparent; display: grid; place-items: center; }
.gz-review-controls .gz-review-arrow { width: 44px; height: 44px; border-radius: var(--radius-control); padding: 10px 15px; }
.gz-review-controls .gz-review-arrow:last-child { justify-self: end; }
.gz-reviews-hand { object-fit: contain; }
.gz-review-controls .gz-review-pause { width: 35px; height: 35px; padding: 0; border-radius: 50%; }
.gz-review-controls .gz-review-pause[aria-pressed="true"] { opacity: 0.45; }
.gz-advantages-section { padding-top: var(--space-xl); }
.gz-advantages-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--hero-gap); }
.gz-advantages-photo { border-radius: var(--radius-photo); overflow: hidden; min-height: 520px; }
.gz-advantages-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 43% center; }
.gz-advantages-content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-xl); }
.gz-advantages-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); flex: 1; }
.gz-advantage-card { border-radius: var(--radius-card); padding: var(--space-lg); background: var(--panel-background); }
.gz-advantage-card svg { color: var(--brand-blue); width: var(--advantage-icon-size); height: var(--advantage-icon-size); margin-bottom: var(--space-md); }
.gz-advantage-card h3 { font-size: var(--subheading-size); font-weight: 500; line-height: 1.2; margin: 0 0 var(--space-sm); }
.gz-advantage-card p { margin: 0; font-size: var(--section-text); line-height: 1.4; }
.gz-clients-section { padding-top: var(--space-xl); }
.gz-logo-marquee { overflow: hidden; width: 100%; }
.gz-logo-track { display: flex; width: max-content; animation: logo-scroll var(--marquee-duration) linear infinite; }
.gz-logo-group { display: flex; gap: var(--space-lg); padding-right: var(--space-lg); }
.gz-client-logo { position: relative; width: var(--logo-width); height: var(--logo-height); padding: var(--space-lg); background: var(--panel-background); border-radius: var(--radius-logo); }
.gz-client-logo img { width: 100%; height: 100%; object-fit: contain; padding: var(--space-lg); }
.gz-logo-marquee:hover .gz-logo-track, .gz-logo-marquee:focus-within .gz-logo-track { animation-play-state: paused; }
@keyframes logo-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .gz-logo-track { animation: none; }
  .gz-logo-marquee { overflow-x: auto; scrollbar-width: thin; }
  .gz-logo-group[aria-hidden="true"] { display: none; }
  .gz-faq-section [data-slot="accordion-content"],
  .gz-faq-arrow svg { animation: none; transition: none; }
  html { scroll-behavior: auto; }
}
.gz-steps-section { padding-top: var(--space-xl); }
.gz-steps-list { list-style: none; margin: calc(var(--step-art-overhang) + var(--space-xl)) 0 calc(var(--step-offset-low) + var(--space-xl)); padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); }
.gz-step-card { position: relative; isolation: isolate; min-height: var(--step-card-height); padding: var(--step-art-space) var(--space-lg) var(--space-lg); border-radius: var(--radius-card); background: var(--panel-background); }
.gz-step-card:first-child { background: var(--step-dark); color: white; }
.gz-step-card:nth-child(2) { transform: translateY(var(--step-offset-low)); }
.gz-step-card:nth-child(3) { transform: translateY(var(--step-offset-middle)); background: linear-gradient(180deg, var(--dark-muted), var(--panel-background) 58%); }
.gz-step-card:nth-child(4) { transform: translateY(var(--step-offset-high)); background: linear-gradient(150deg, var(--brand-blue-light), var(--brand-blue)); color: white; }
.gz-step-number { position: absolute; right: var(--space-md); top: calc(var(--step-art-space) - var(--space-xl)); font-size: var(--step-number-size); line-height: 1; font-weight: 500; opacity: var(--step-number-opacity); color: currentColor; pointer-events: none; z-index: -1; }
.gz-step-object { position: absolute; top: calc(var(--step-art-overhang) * -1); left: 0; width: 100%; height: calc(var(--step-art-space) + var(--step-art-overhang)); object-fit: contain; }
.gz-step-copy { position: relative; }
.gz-steps-list h3 { margin: 0 0 var(--space-md); font-weight: 500; font-size: var(--subheading-size); line-height: 1.2; }
.gz-steps-list p { margin: 0; font-size: var(--section-text); line-height: var(--section-copy-leading); }
.gz-faq-section { background: var(--dark-surface) url("img/calculator-bg.jpg") center / cover no-repeat; color: white; padding-block: var(--section-space); }
.gz-faq-inner { width: var(--faq-width); margin-inline: auto; }
.gz-faq-inner h2 { font-size: var(--section-title); line-height: var(--section-leading); font-weight: 500; letter-spacing: -0.035em; margin: 0 0 var(--hero-gap); }
.gz-faq-inner h2 span { color: var(--faq-accent); }
.gz-faq-section [data-slot="accordion"] { display: grid; gap: var(--faq-gap); margin-bottom: var(--space-xl); }
.gz-faq-section [data-slot="accordion-item"] { border: none; border-radius: var(--faq-radius); background: var(--faq-row); transition: background-color 0.2s, border-radius 0.2s; }
.gz-faq-section [data-slot="accordion-item"]:has([aria-expanded="true"]) { background: var(--faq-open); border-radius: var(--faq-open-radius); }
.gz-faq-section [data-slot="accordion-trigger"] { width: 100%; display: flex; justify-content: space-between; font-family: inherit; font-size: var(--faq-type); line-height: var(--faq-type-leading); font-weight: 400; align-items: center; gap: var(--space-lg); padding: var(--space-sm) var(--faq-padding-right) var(--space-sm) var(--faq-padding-left); color: white; background: transparent; border: none; border-radius: inherit; text-decoration: none; min-height: 64px; text-align: left; }
.gz-faq-section [data-slot="accordion-trigger"] > span:first-child { flex: 1; }
.gz-faq-section [data-slot="accordion-trigger-icon"] { display: none; }
.gz-faq-arrow { width: var(--faq-arrow-size); height: var(--faq-arrow-size); flex: 0 0 var(--faq-arrow-size); display: grid; place-items: center; border-radius: var(--radius); background: var(--faq-arrow-background); color: var(--hero-ink); }
.gz-faq-arrow svg { width: var(--space-lg); height: var(--space-lg); transition: transform 0.2s; }
.gz-faq-section [aria-expanded="true"] .gz-faq-arrow svg { transform: rotate(180deg); }
.gz-faq-section [data-slot="accordion-content"] { font-family: inherit; font-size: var(--faq-type); line-height: 1.45; padding-inline: var(--faq-padding-left); color: white; }
.gz-faq-section [data-slot="accordion-content"][hidden] { display: none; }
.gz-faq-section [data-slot="accordion-content"] p { padding: var(--space-xs) 0 var(--space-lg); margin: 0; }

.gz-advantages-content > .gz-brand-button { width: 100%; }

@media (max-width: 1024px) {
  .gz-page {
    --layout-gutter: 32px;
    --hero-padding: 48px;
    --hero-gap: 32px;
    --section-space: 72px;
    --section-title: 42px;
  }
  .gz-hero { grid-template-columns: 1fr; }
  .gz-hero-figure { min-height: 520px; aspect-ratio: 16 / 9; }
  .gz-price-heading-row { flex-direction: column; align-items: flex-start; }
  .gz-page-section .gz-price-heading-row h2 { white-space: normal; }
  .gz-calculator-grid { grid-template-columns: 1fr; }
  .gz-advantages-layout { grid-template-columns: 1fr; }
  .gz-advantages-photo { min-height: 500px; }
  .gz-steps-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 88px; margin-bottom: 0; }
  .gz-step-card:nth-child(n) { transform: none; }
  .gz-faq-inner, .gz-reviews-inner { width: min(var(--faq-width), calc(100% - var(--layout-gutter) * 2)); }
}

@media (max-width: 767px) {
  .gz-page {
    --layout-gutter: 16px;
    --hero-padding: 32px;
    --hero-gap: 24px;
    --section-space: 56px;
    --section-title: 36px;
    --body-size: 18px;
    --section-text: 16px;
    --subheading-size: 22px;
    --panel-space: 20px;
    --review-width: calc(100vw - 32px);
    --review-height: 290px;
    --review-padding: 20px;
    --review-gap: 16px;
    --review-title-size: 36px;
    --review-title-leading: 1.1;
    --step-card-height: 420px;
    --step-art-space: 190px;
    --step-art-overhang: 44px;
    --step-number-size: 180px;
    --logo-width: 210px;
    --logo-height: 120px;
    --faq-type: 18px;
    --faq-type-leading: 1.25;
    --faq-padding-left: 18px;
    --faq-padding-right: 12px;
    --faq-arrow-size: 44px;
  }
  .gz-hero { padding-block: var(--hero-padding); }
  .gz-hero-tags { flex-wrap: wrap; }
  .gz-hero h1 { font-size: clamp(28px, 9.1vw, 38px); }
  .gz-hero h1 .gz-hero-title-line { white-space: nowrap; }
  .gz-hero-points { margin-block: var(--space-lg); }
  .gz-form-heading { margin-bottom: var(--space-sm); }
  .gz-form-fields { grid-template-columns: 1fr; }
  .gz-hero-form .gz-phone-input, .gz-hero-form .gz-hero-submit { width: 100%; }
  .gz-hero-figure { min-height: 0; aspect-ratio: 4 / 3; }
  .gz-hero-image { object-position: 50% 42%; }

  .gz-page-section h2, .gz-calculator-inner h2 { letter-spacing: -0.025em; }
  .gz-price-heading-row { gap: var(--space-md); }
  .gz-price-badge { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; line-height: 1.2; }
  .gz-price-table { table-layout: fixed; font-size: 16px; }
  .gz-price-table th, .gz-price-table td { padding: 14px 12px; overflow-wrap: anywhere; }
  .gz-price-table th:first-child { width: 64%; }
  .gz-price-table td, .gz-price-table th:last-child { min-width: 0; width: 36%; }
  .gz-price-bottom { flex-direction: column; align-items: stretch; gap: var(--space-lg); }
  .gz-price-bottom .gz-brand-button { width: 100%; }

  .gz-calculator-numbers { grid-template-columns: 1fr; gap: var(--space-md); }
  .gz-work-types > div { grid-template-columns: 1fr; gap: var(--space-sm); }
  .gz-work-types label { min-height: 44px; align-items: center; }
  .gz-work-types input { margin-top: 0; width: 20px; height: 20px; }
  .gz-yandex-map-shell, .gz-yandex-map { min-height: 200px; height: 200px; }
  .gz-calculator-result { gap: var(--space-xs); }
  .gz-calculator-result strong { font-size: 36px; }
  .gz-calculator-bottom { flex-direction: column; align-items: stretch; gap: var(--space-lg); }
  .gz-calculator-bottom .gz-brand-button { width: 100%; }

  .gz-reviews-inner { width: 100%; }
  .gz-reviews-inner h2 { padding-inline: var(--layout-gutter); margin-bottom: var(--space-xl); letter-spacing: -0.025em; }
  .gz-review-slide { align-items: flex-start; }
  .gz-review-slide h3 { font-size: 23px; }
  .gz-review-text { font-size: 16px; line-height: 1.45; }
  .gz-review-controls { width: var(--review-width); padding-inline: 40px; }
  .gz-review-controls .gz-review-arrow { min-width: 44px; min-height: 44px; }
  .gz-review-controls .gz-review-pause { width: 44px; height: 44px; }

  .gz-advantages-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .gz-advantages-grid { grid-template-columns: 1fr; }
  .gz-advantage-card { padding: var(--space-lg); }

  .gz-client-logo { flex-shrink: 0; }
  .gz-logo-group { gap: var(--space-md); padding-right: var(--space-md); }

  .gz-steps-list { grid-template-columns: 1fr; row-gap: 88px; margin-top: calc(var(--step-art-overhang) + var(--space-xl)); }
  .gz-step-card { padding: var(--step-art-space) var(--space-lg) var(--space-lg); }
  .gz-step-object { max-width: 420px; left: 50%; transform: translateX(-50%); }

  .gz-faq-inner { width: calc(100% - var(--layout-gutter) * 2); }
  .gz-faq-inner h2 { font-size: var(--section-title); margin-bottom: var(--space-xl); }
  .gz-faq-section [data-slot="accordion"] { gap: var(--space-md); }
  .gz-faq-section [data-slot="accordion-trigger"] { min-height: 68px; gap: var(--space-sm); }
  .gz-faq-section [data-slot="accordion-content"] { font-size: 17px; padding-inline: var(--faq-padding-left); }

}

@media (max-width: 390px) {
  .gz-page {
    --section-title: 34px;
    --review-height: 310px;
  }
  .gz-price-badge { font-size: 20px; }
  .gz-price-table { font-size: 15px; }
  .gz-price-table th, .gz-price-table td { padding-inline: 10px; }
  .gz-review-controls { padding-inline: 28px; }
}

@media (max-width: 340px) {
  .gz-hero-tag { font-size: 11px; }
  .gz-price-table { font-size: 14px; }
  .gz-price-table th, .gz-price-table td { padding-inline: 8px; }
}

/* Responsive additions leave the approved desktop (>=1100px) unchanged. */
@media (max-width: 1099px) {
  .gz-price-heading-row { flex-wrap: wrap; }
  .gz-page-section .gz-price-heading-row h2 { white-space: normal; flex-shrink: 1; }
  .gz-faq-inner, .gz-reviews-inner { width: min(var(--faq-width), calc(100% - var(--layout-gutter) * 2)); }
}

@media (max-width: 1024px) {
  .gz-page {
    --layout-gutter: 32px;
    --section-space: 72px;
    --hero-padding: 48px;
    --hero-gap: 32px;
    --section-title: 42px;
    --review-title-size: 42px;
    --review-title-leading: 1.15;
    --faq-width: 960px;
  }
  .gz-hero, .gz-calculator-grid, .gz-advantages-layout { grid-template-columns: minmax(0, 1fr); }
  .gz-hero > div, .gz-calculator-grid > div, .gz-advantages-content, .gz-field-group { min-width: 0; }
  .gz-hero-tags { flex-wrap: wrap; }
  .gz-hero-figure { width: 100%; max-width: 680px; justify-self: center; }
  .gz-hero-image { display: block; height: 100%; aspect-ratio: auto; object-fit: cover; }
  .gz-price-heading-row { align-items: flex-start; flex-direction: column; }
  .gz-price-badge { max-width: 100%; white-space: normal; }
  .gz-price-bottom, .gz-calculator-bottom { align-items: stretch; flex-direction: column; gap: var(--space-lg); }
  .gz-price-bottom .gz-brand-button, .gz-calculator-bottom .gz-brand-button { width: 100%; }
  .gz-calculator-result { gap: var(--space-sm); }
  .gz-calculator-result p, .gz-map-link span { overflow-wrap: anywhere; }
  .gz-work-types label { min-height: 44px; align-items: center; }
  .gz-work-types input { margin-top: 0; }
  .gz-field-group input:disabled { opacity: 0.65; cursor: not-allowed; }
  .gz-review-controls .gz-review-pause { width: 44px; height: 44px; }
  .gz-reviews-inner h2 { letter-spacing: -0.035em; }
  .gz-advantages-photo { min-height: 0; aspect-ratio: 4 / 3; }
  .gz-advantages-photo img { display: block; object-position: center; }
  .gz-advantages-grid { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gz-steps-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: calc(var(--step-art-overhang) + var(--space-xl)); }
  .gz-step-card:nth-child(n) { transform: none; }
  .gz-faq-section [data-slot="accordion-trigger"] > span:first-child { min-width: 0; }
}

@media (max-width: 767px) {
  .gz-page {
    --layout-gutter: 16px;
    --section-space: 56px;
    --hero-padding: 32px;
    --hero-gap: 28px;
    --hero-title-size: clamp(26px, 8.2vw, 48px);
    --section-title: clamp(34px, 6vw, 38px);
    --body-size: 18px;
    --section-text: 16px;
    --subheading-size: 24px;
    --panel-space: 16px;
    --review-width: calc(100vw - 2 * var(--layout-gutter));
    --review-height: 320px;
    --review-padding: 22px;
    --review-gap: 16px;
    --review-title-size: var(--section-title);
    --review-title-leading: 1.15;
    --logo-width: 190px;
    --logo-height: 112px;
    --step-card-height: 0px;
    --step-art-space: 210px;
    --step-art-overhang: 48px;
    --faq-type: 18px;
    --faq-type-leading: 25px;
    --faq-padding-left: 16px;
    --faq-padding-right: 12px;
    --faq-gap: 14px;
    --faq-arrow-size: 44px;
  }
  .gz-hero-tags { gap: var(--space-xs); }
  .gz-hero-tag { font-size: 12px; max-width: 100%; }
  .gz-hero-points { margin-block: var(--space-lg); }
  .gz-hero-points li { gap: var(--space-xs); }
  .gz-hero h1 { letter-spacing: -0.04em; }
  .gz-hero-title-line + .gz-hero-title-line { margin-top: 6px; }
  .gz-form-heading { max-width: none; margin-top: 0; }
  .gz-form-fields, .gz-calculator-numbers, .gz-work-types > div { grid-template-columns: minmax(0, 1fr); }
  .gz-hero-form .gz-phone-input, .gz-hero-form .gz-hero-submit { width: 100%; }
  .gz-hero-form .gz-hero-submit { font-size: 18px; }
  .gz-page-section h2, .gz-calculator-inner h2 { max-width: 100%; }
  .gz-price-heading-row { gap: var(--space-md); }
  .gz-price-badge { width: fit-content; font-size: 16px; line-height: 1.35; padding: var(--space-sm) var(--space-md); }
  .gz-price-table { table-layout: fixed; font-size: 16px; line-height: 1.4; }
  .gz-price-table th, .gz-price-table td { padding: var(--space-md) var(--space-sm); vertical-align: top; }
  .gz-price-table th:first-child { width: 65%; overflow-wrap: anywhere; }
  .gz-price-table td, .gz-price-table th:last-child { width: 35%; min-width: 0; white-space: normal; }
  .gz-price-bottom { padding: var(--space-lg) var(--space-md); }
  .gz-brand-button { max-width: 100%; white-space: normal; }
  .gz-calculator-numbers { gap: var(--space-lg); }
  .gz-work-types > div { gap: var(--space-xs); }
  .gz-work-types label { gap: var(--space-sm); }
  .gz-work-types span { min-width: 0; overflow-wrap: anywhere; }
  .gz-calculator-result strong { font-size: 36px; overflow-wrap: anywhere; }
  .gz-calculator-result p { line-height: 1.45; }
  .gz-reviews-inner { width: calc(100% - var(--layout-gutter) * 2); }
  .gz-reviews-inner h2 { margin-bottom: var(--space-lg); }
  .gz-review-slide h3 { font-size: 24px; line-height: 1.2; }
  .gz-review-text { line-height: 24px; }
  .gz-review-controls { padding-inline: var(--space-lg); }
  .gz-advantages-grid { grid-template-columns: minmax(0, 1fr); }
  .gz-advantages-content { gap: var(--space-lg); }
  .gz-advantage-card { padding: var(--space-lg); }
  .gz-advantages-photo { aspect-ratio: 4 / 3; }
  .gz-steps-list { grid-template-columns: minmax(0, 1fr); margin-bottom: 0; gap: calc(var(--step-art-overhang) + var(--space-xl)); }
  .gz-step-card { padding-bottom: var(--space-xl); }
  .gz-step-object { max-width: 340px; left: 50%; transform: translateX(-50%); }
  .gz-faq-inner { width: calc(100% - var(--layout-gutter) * 2); }
  .gz-faq-section [data-slot="accordion-trigger"] { gap: var(--space-sm); }
  .gz-faq-section [data-slot="accordion-content"] { overflow-wrap: anywhere; }
  .gz-faq-section [data-slot="accordion"] { margin-bottom: 0; }
}

@media (max-width: 390px) {
  .gz-page { --section-title: 34px; --review-padding: 20px; --review-height: 340px; }
  .gz-price-table { font-size: 15px; }
  .gz-price-table th, .gz-price-table td { padding-inline: 10px; }
}

/* Mobile refinement: match the original site's compact mobile scale. */
@media (max-width: 767px) {
  .gz-page {
    --mobile-heading-tracking: -0.03em;
    --layout-gutter: 24px;
    --section-space: 48px;
    --hero-padding: 24px;
    --hero-gap: 24px;
    --section-title: 30px;
    --section-leading: 1;
    --hero-title-size: clamp(24px, 8vw, 44px);
    --body-size: 16px;
    --form-height: 48px;
    --subheading-size: 22px;
    --review-title-size: var(--section-title);
    --review-height: 260px;
    --review-padding: 16px;
    --advantage-icon-size: 38px;
    --step-art-space: 190px;
    --step-art-overhang: 40px;
    --faq-type: 16px;
    --faq-type-leading: 22px;
  }
  .gz-hero { row-gap: var(--space-sm); }
  .gz-hero-copy { display: contents; }
  .gz-hero-tags { order: 0; display: grid; grid-template-columns: max-content max-content; gap: var(--space-xs); margin-bottom: var(--space-xs); }
  .gz-hero-tags .gz-hero-tag { padding: 6px var(--space-xs); font-size: 11px; }
  .gz-hero-tags .gz-hero-tag:nth-child(2) { grid-area: 2 / 1; }
  .gz-hero-tags .gz-hero-tag:nth-child(3) { grid-area: 1 / 2; }
  .gz-hero-tags .gz-hero-tag:nth-child(4) { grid-area: 2 / 2; }
  .gz-hero h1 { order: 1; font-size: var(--hero-title-size); }
  .gz-hero-points { order: 2; margin-block: var(--space-sm); }
  .gz-hero-figure { order: 3; margin-top: var(--space-xs); }
  .gz-hero-form { order: 4; margin-top: var(--space-sm); padding-top: var(--space-md); }
  .gz-form-heading-time { display: block; }
  .gz-hero-form .gz-phone-input, .gz-hero-form .gz-hero-submit { font-size: 16px; }
  .gz-price-badge { order: -1; font-size: 12px; font-weight: 400; line-height: 1.3; padding: var(--space-xs); }
  .gz-price-heading-row { gap: var(--space-md); }
  .gz-page-section h2, .gz-calculator-inner h2, .gz-faq-inner h2 { margin-bottom: var(--space-lg); }
  .gz-page-section .gz-price-heading-row h2 { margin: 0; }
  .gz-reviews-inner h2 { padding-inline: 0; line-height: 1; }
  .gz-review-slide h3 { font-size: 22px; }
  .gz-review-text { font-size: 15px; line-height: 22px; }
  .gz-advantages-content, .gz-advantages-grid { gap: var(--space-md); }
  #advantages-title { margin-bottom: var(--space-md); }
  .gz-advantage-card { padding: 22px; }
  .gz-advantage-card svg { margin-bottom: var(--space-sm); }
  .gz-steps-title-continuation { display: block; }
  .gz-steps-list { gap: calc(var(--step-art-overhang) + var(--space-xs)); margin-top: calc(var(--step-art-overhang) + var(--space-lg)); }
  .gz-steps-list h3 { margin-bottom: var(--space-sm); }
  .gz-step-card { padding-bottom: var(--space-lg); }
  .gz-faq-section [data-slot="accordion-content"] { font-size: 16px; }
  :where(.gz-page) h1, :where(.gz-page) h2, :where(.gz-page) h3 { letter-spacing: var(--mobile-heading-tracking); }
}

/* Дополнения для сайта nashilinii.ru */
.gz-page { --site-header-height: 100px; }
.gz-page #request, .gz-page #calculator, .gz-page #prices { scroll-margin-top: calc(var(--site-header-height) + var(--space-md)); }
.gz-consent { display: flex; align-items: flex-start; gap: var(--space-sm); margin-top: var(--space-md); font-size: var(--small-size); line-height: 1.4; cursor: pointer; }
.gz-consent input { width: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: var(--brand-blue-light); }
.gz-consent a { text-decoration: underline; text-underline-offset: 3px; }
.gz-calculator-form .gz-consent { color: var(--dark-muted); }
.gz-status-ok { color: #1c7c3c; font-weight: 400; }
.gz-status-error { color: #c62828; font-weight: 400; }
.gz-calculator-form .gz-status-ok { color: #8fe3a8; }
.gz-calculator-form .gz-status-error { color: #ffb0b0; }
.gz-page button[disabled] { opacity: .6; cursor: progress; }
/* мобильная шапка темы ниже десктопной */
@media (max-width: 959px) { .gz-page { --site-header-height: 56px; } }
/* на телефоне форма первого экрана идёт после фото: порядок задаём обёртке формы */
@media (max-width: 767px) { .gz-hero-copy > #request { order: 4; } }
/* на телефоне плашки услуг лежат поверх фото: внизу снимка, с одинаковыми отступами по бокам */
@media (max-width: 767px) {
  .gz-hero h1 { grid-column: 1; grid-row: 1; }
  .gz-hero-points { grid-column: 1; grid-row: 2; }
  .gz-hero-figure { grid-column: 1; grid-row: 3; margin-top: 0; }
  .gz-hero-copy > #request { grid-column: 1; grid-row: 4; }
  .gz-hero-tags { grid-column: 1; grid-row: 3; position: relative; z-index: 2; align-self: end; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0 10px 10px; pointer-events: none; }
  .gz-hero-tags .gz-hero-tag { display: flex; align-items: center; justify-content: center; text-align: center; white-space: normal; padding: 6px 4px; background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 2px 10px rgba(0, 0, 0, .14); }
}
/* слайдер отзывов на телефоне: плавающий виджет мессенджеров держит невидимую область 54x304px у правого края (z-index 9999)
   и перехватывает касания, поэтому стрелки и пауза идут тесной группой по центру: правая стрелка остаётся левее виджета
   (на экранах от 335px целиком, от 290px — по центру касания) */
@media (max-width: 767px) {
  .gz-review-controls { display: flex; justify-content: center; gap: 16px; padding-inline: 0; }
  .gz-review-controls .gz-review-arrow:last-child { justify-self: auto; }
}
/* совсем узкие экраны: по центру правая стрелка попадает под виджет, группа остаётся слева */
@media (max-width: 340px) { .gz-review-controls { justify-content: flex-start; padding-inline-start: 8px; } }
/* на телефоне скругления блоков 16px, плашек услуг на фото 8px */
@media (max-width: 767px) {
  .gz-hero-figure, .gz-price-panel, .gz-review-slide, .gz-advantages-photo, .gz-advantage-card, .gz-step-card { border-radius: 16px; }
  .gz-hero-tags .gz-hero-tag { border-radius: 8px; }
  /* кадр фото опущен, чтобы кепка не обрезалась сверху */
  .gz-page .gz-hero-image { object-position: 50% 15%; }
}
/* нижние блоки браузер не рисует, пока они далеко от экрана (карусель отзывов и калькулятор не трогаем: им нужны размеры сразу) */
.gz-advantages-section, .gz-clients-section, .gz-steps-section, .gz-faq-section { content-visibility: auto; contain-intrinsic-size: auto 700px; }
/* логотипы клиентов во всю плашку: убран двойной отступ (у плашки и у картинки) */
.gz-page .gz-client-logo { padding: 10px; }
.gz-page .gz-client-logo img { padding: 0; }
@media (max-width: 767px) { .gz-page .gz-client-logo { padding: 8px; } }
/* «Тип работы»: на телефоне вместо списка радиокнопок — белая плашка с выпадающим списком (строит gruzchiki.js) */
.gz-select { display: none; position: relative; margin-top: var(--space-lg); }
.gz-select-button { width: 100%; height: var(--form-height); display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding-inline: var(--space-lg); border: 0; border-radius: var(--radius-input); background: var(--hero-surface); color: var(--hero-ink); font: inherit; font-size: var(--section-text); text-align: left; cursor: pointer; }
.gz-select-button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gz-select-button::after { content: ""; flex-shrink: 0; width: 8px; height: 8px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.gz-select-button[aria-expanded="true"]::after { margin-top: 4px; transform: rotate(-135deg); }
.gz-select-button:focus-visible, .gz-select-list li:focus-visible { outline: 2px solid var(--brand-blue-light); outline-offset: 2px; }
.gz-select-list { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + var(--space-xs)); max-height: min(60vh, 420px); overflow-y: auto; margin: 0; padding: var(--space-xs); list-style: none; border-radius: 24px; background: #fff; color: var(--hero-ink); box-shadow: 0 12px 32px rgba(0, 0, 0, .28); }
.gz-select-list[hidden] { display: none; }
.gz-select-list li { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); min-height: 44px; padding: var(--space-xs) var(--space-md); border-radius: 18px; font-size: var(--section-text); line-height: 1.3; cursor: pointer; }
.gz-select-list li small { flex-shrink: 0; font-size: var(--small-size); opacity: .6; }
.gz-select-list li[aria-selected="true"] { background: var(--hero-surface); color: var(--brand-blue); font-weight: 500; }
@media (max-width: 767px) {
  .gz-work-types.gz-has-select > div { display: none; }
  .gz-work-types.gz-has-select .gz-select { display: block; }
}
