:root {
  --gzm-font: "Golos Text Variable", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gzm-ink: #172a3b;
  --gzm-muted: #4d6072;
  --gzm-blue: #075ba5;
  --gzm-blue-deep: #064982;
  --gzm-canvas: #f4f6f8;
  --gzm-paper: #fff;
  --gzm-line: #dce4eb;
  --gzm-field-line: #aabaca;
  --gzm-tint: #edf4fa;
  --gzm-panel: 24px;
  --gzm-field: 12px;
  --gzm-shadow: 0 1px 2px #172a3b06, 0 12px 30px #172a3b0a;
}

/* Typography and interaction */
html body, body.propan-page, body.auto-page {
  background-color: var(--gzm-canvas);
  color: var(--gzm-ink);
  font-family: var(--gzm-font);
  -webkit-font-smoothing: antialiased;
}

main :is(h1, h2, h3) { text-wrap: balance; }
main h1 { letter-spacing: -.045em; line-height: 1.08; }
main h2 { letter-spacing: -.032em; line-height: 1.16; }
main h3 { letter-spacing: -.018em; line-height: 1.25; }
main :is(p, li) { overflow-wrap: break-word; }

body :is(.site-header, main, .site-footer, .gzm-privacy-banner, .gzm-privacy-dialog)
  :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid #1172c4;
  outline-offset: 3px;
}

body :is(main, .site-header) :is(.button, .header-cabinet, .gzm-price-station-link) {
  border-radius: var(--gzm-field);
  font-weight: 600;
}

main .button { min-height: 44px; }
main .button--primary { background: var(--gzm-blue); border-color: var(--gzm-blue); color: #fff; }
main .button--primary:hover { background: var(--gzm-blue-deep); border-color: var(--gzm-blue-deep); }
main .button--secondary { background: var(--gzm-paper); color: var(--gzm-blue-deep); border-color: var(--gzm-field-line); }
main .button--secondary:hover { background: var(--gzm-tint); border-color: var(--gzm-blue); }

/* The shared header */
html body .site-header { padding-block: 12px 10px; }
html body .site-header .header-inner {
  min-height: 0;
  grid-template-rows: minmax(46px, auto) minmax(40px, auto);
  gap: 8px 24px;
  padding: 12px 24px 8px;
  border-color: var(--gzm-line);
  border-radius: 22px;
  box-shadow: var(--gzm-shadow);
}

.site-header .wordmark { letter-spacing: -.045em; }
.site-header .wordmark-copy small { margin-top: 4px; color: var(--gzm-muted); }
.gzm-header-office { gap: 5px; }
.gzm-header-office a:last-child { color: var(--gzm-muted); }
.site-header .header-phone { font-weight: 650; letter-spacing: -.02em; }
.site-header .header-cabinet { background: var(--gzm-tint); border-color: var(--gzm-line); }
html body .site-header .desktop-navigation { padding-top: 4px; border-color: var(--gzm-line); }
.site-header .desktop-navigation a { min-height: 40px; font-weight: 550; border-radius: 11px; }
.site-header .desktop-navigation a[aria-current] { background: var(--gzm-tint); color: var(--gzm-blue-deep); }
.site-header .menu-button { min-height: 44px; border-radius: var(--gzm-field); }
.site-header .mobile-menu nav a { border-radius: 10px; }

@media (max-width: 1199px) {
  html body .site-header .header-inner { grid-template-rows: minmax(42px, auto) auto; gap: 9px 18px; padding: 11px 18px; }
}

@media (max-width: 620px) {
  html body .site-header { padding-block: 8px; }
  html body .site-header .header-phone {
    display: inline-flex;
    grid-area: phone;
    justify-self: start;
    margin: 0;
  }
  .site-header .header-phone .gzm-nav-icon { width: 16px; height: 16px; }
  html body .site-header .header-inner {
    grid-template-rows: minmax(42px, auto) auto auto;
    gap: 8px 12px;
    padding: 10px 13px;
    border-radius: 16px;
  }
}

/* Home hero and the station price sign */
body:has(.premium-hero_hero__vluGh) .site-header { margin-bottom: 0; }
.premium-hero_hero__vluGh { background: var(--gzm-canvas); }
.premium-hero_scene__X8xSR {
  max-width: 1600px;
  margin-inline: auto;
  border-radius: 27px;
  overflow: hidden;
  background-color: #133958;
}

.premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 h1 {
  font-size: clamp(2.2rem, 4.7vw, 4.65rem);
  font-weight: 640;
  letter-spacing: -.045em;
  line-height: 1.06;
}

.premium-hero_copy__w6Zp8 h1 span,
.premium-hero_copy__w6Zp8 .premium-hero_description__6iHKc,
.premium-hero_copy__w6Zp8 .premium-hero_actions__ccNhZ {
  animation: none;
  opacity: 1;
  transform: none;
}

.premium-hero_scene__X8xSR .premium-hero_description__6iHKc {
  max-width: 34rem;
  font-size: clamp(1rem, 1.55vw, 1.31rem);
  line-height: 1.5;
  margin-top: 20px;
}

.premium-hero_scene__X8xSR .premium-hero_actions__ccNhZ { gap: 11px; margin-top: 23px; }
.premium-hero_scene__X8xSR .premium-hero_action__cw2v4 {
  min-height: 50px;
  padding: 9px 13px;
  gap: 9px;
  border-radius: var(--gzm-field);
  font-size: 15px;
  font-weight: 600;
}

.premium-hero_action__cw2v4 > svg { width: 21px; height: 21px; }
.premium-hero_arrow__fcW9X { width: 30px; height: 30px; margin-left: 3px; }
.premium-hero_arrow__fcW9X svg { width: 17px; height: 17px; }
.premium-hero_actions__ccNhZ a:focus-visible { outline-color: #fff; }

@media (min-width: 901px) {
  .premium-hero_scene__X8xSR {
    width: calc(100% - clamp(32px, 5vw, 100px));
    min-height: clamp(510px, 39vw, 660px);
  }
  .premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 {
    padding-block: clamp(62px, 5.5vw, 96px) 100px;
  }
  .premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 h1 { max-width: 68%; }
}

@media (max-width: 900px) {
  .premium-hero_scene__X8xSR { width: calc(100% - 24px); border-radius: 19px; }
  .premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 {
    padding-top: 34px;
    padding-bottom: 25px;
  }
  .premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 h1 { font-size: clamp(2rem, 7.8vw, 3.5rem); }
}

@media (max-width: 767px) {
  .premium-hero_scene__X8xSR:has(img[src*="/media/seasonal/"]) .premium-hero_copy__w6Zp8 {
    padding-block: 30px 24px;
  }
  .premium-hero_scene__X8xSR:has(img[src*="/media/seasonal/"]) .premium-hero_copy__w6Zp8 h1 {
    font-size: clamp(2rem, 8.3vw, 3.5rem);
  }
}

@media (max-width: 440px) {
  .premium-hero_scene__X8xSR .premium-hero_copy__w6Zp8 { padding-inline: 16px; }
  .premium-hero_scene__X8xSR .premium-hero_actions__ccNhZ { display: grid; grid-template-columns: minmax(0, 1fr); }
  .premium-hero_actions__ccNhZ .gzm-price-jump { min-height: 36px; }
  .premium-hero_action__cw2v4 .premium-hero_arrow__fcW9X { margin-left: auto; }
}

#gas-prices.gzm-price-section {
  background: var(--gzm-paper);
  border: 1px solid var(--gzm-line);
  border-radius: var(--gzm-panel);
  padding: clamp(18px, 3vw, 36px);
  box-shadow: var(--gzm-shadow);
}

.gzm-price-intro h2 { letter-spacing: -.045em; }
@media (min-width: 768px) {
  .gzm-price-section .gzm-stele-shell { align-self: start; margin-top: clamp(25px, 5vw, 74px); }
}
.gzm-price-section :is(.gzm-price-kicker, .gzm-price-note) { color: var(--gzm-muted); }
.gzm-price-section .gzm-stele { border-radius: 17px; box-shadow: 0 10px 24px #172a3b14; }
.gzm-stele-amount, .auto-landed-total strong, .gzm-product-purchase strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}

/* Cards use one surface while retaining the existing layouts. */
main :is(
  .home_serviceCard__Udd4m, .home_featuredService__xxcch, .gzm-directory-card,
  .gzm-live-station-panel, .gzm-audience-card, .gzm-gasholder-cost,
  .gzm-cylinder-marketing, .gzm-product-purchase, .gzm-product-content,
  .cyl-product-grid > article, .gzm-cylinder-benefits > *,
  .auto-import-compact, .auto-calculator-inputs, .auto-economy-result,
  [data-gasholder-form], .gzm-wholesale-form, .auto-lead-form
) {
  border-radius: var(--gzm-panel);
  border-color: var(--gzm-line);
}

main :is(
  .home_serviceCard__Udd4m, .gzm-directory-card, .gzm-live-station-panel, .gzm-audience-card,
  .gzm-product-purchase, .cyl-product-grid > article, .auto-import-compact,
  [data-gasholder-form], .gzm-wholesale-form, .auto-lead-form
) {
  background-color: var(--gzm-paper);
  box-shadow: var(--gzm-shadow);
}

main :is(.gzm-gf-contact, .gzm-wholesale-contact, .auto-age-card, .auto-economy-result) {
  background: var(--gzm-tint);
  border-color: var(--gzm-line);
  border-radius: 18px;
}

main .auto-age-card { background: var(--gzm-canvas); }
main .auto-age-recommended { background: var(--gzm-tint); border-color: #8db5d7; }
main :is(.gzm-cylinder-market-photos, .gzm-product-figure, .auto-hero-photo) img { border-radius: 18px; }
main :is(.gzm-directory-summary-title, .gzm-product-detail-link) { font-weight: 600; }

/* Forms, filters and calculators. Provider map controls are outside these selectors. */
main :is(.gzm-gf-field, .auto-field) > label,
main :is(.gzm-gf-client-type, .gzm-gf-company) > legend {
  color: var(--gzm-ink);
  font-size: .875rem;
  font-weight: 570;
  line-height: 1.45;
}

main :is(
  .gzm-gf-field input, .gzm-gf-field textarea, .gzm-gf-field select,
  .auto-field input:not([type=range]):not([type=checkbox]):not([type=radio]), .auto-field select, .auto-field textarea,
  #gas-prices select, .gzm-area-picker select, .gzm-stock-picker select,
  .gzm-directory-card select, .cyl-product-grid select
) {
  min-height: 48px;
  background-color: #fbfcfd;
  color: var(--gzm-ink);
  border-color: var(--gzm-field-line);
  border-radius: var(--gzm-field);
  font-family: var(--gzm-font);
  font-size: 16px;
}

main :is(.gzm-gf-field, .auto-field) :is(input, textarea)::placeholder {
  color: #586b7d;
  font-size: .875rem;
}

main :is(.gzm-gf-field, .auto-field) [aria-invalid="true"] { border-color: #a82d39; }
main :is(.gzm-gf-field, .auto-field) small,
main :is(.gzm-gf-fields-note, .gzm-gf-lead, .gzm-gf-consent, .gzm-gf-submit p) { color: var(--gzm-muted); }
main .gzm-gf-client-options label { border-radius: var(--gzm-field); }
main .gzm-gf-client-options label:has(input:checked) { background: var(--gzm-tint); color: var(--gzm-blue-deep); }
main .gzm-gf-status { border-radius: var(--gzm-field); }
main .gzm-gf-status[data-state="unavailable"] .gzm-captcha-notice {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
}
main .gzm-gf-status[data-state="unavailable"] a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-inline: 12px;
  border: 1px solid var(--gzm-field-line);
  border-radius: 9px;
  background: var(--gzm-paper);
  color: var(--gzm-blue-deep);
  font-weight: 570;
  text-decoration: none;
}
main .gzm-gf-status[data-state="unavailable"] a:hover { border-color: var(--gzm-blue); }
main :is(.gzm-gf-submit, .auto-lead-form) button:disabled {
  background: #dce5ed;
  color: #344e64;
  border-color: transparent;
  opacity: 1;
  cursor: not-allowed;
  white-space: normal;
}

main :is(.gzm-gf-submit, .auto-lead-form) button[aria-busy="true"] { cursor: progress; }
main .auto-input-unit { color: var(--gzm-muted); }
main .auto-field input[type=range] { accent-color: var(--gzm-blue); }

.gzm-privacy-banner, .gzm-privacy-dialog {
  border-radius: 18px;
  border-color: var(--gzm-line);
  color: var(--gzm-ink);
  font-family: var(--gzm-font);
}

.gzm-privacy-button { border-radius: 10px; min-height: 44px; }
.gzm-privacy-primary { background-color: var(--gzm-blue); }
.site-footer .footer-grid { line-height: 1.65; }

@media (max-width: 600px) {
  #gas-prices.gzm-price-section,
  main :is(.gzm-live-station-panel, .gzm-product-purchase, .auto-import-compact, [data-gasholder-form], .gzm-wholesale-form, .auto-lead-form) {
    border-radius: 17px;
  }
}

@media (max-width: 440px) {
  .auto-import-four-fields > .auto-field:nth-child(-n+2) { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.site-header, main) :is(a, button, input, select, textarea) { transition: none; }
  .premium-hero_media__J41XD { animation: none; }
}
