/* Homepage refinements of the existing Bootstrap 3 / GS components.
   Loaded only by index.php; shared page layouts retain their current styles. */
.gs-home { color: var(--gshvac-primary); }
.gs-home .home-page .container, .gs-home #footer .container { max-width: min(1210px, 100%); }
.home-page { background: #fff; }
.home-page section[id], .home-page #consultation { scroll-margin-top: 90px; }
.home-page section > .container.gs-section { padding-top: 64px; padding-bottom: 64px; }
.home-page .section-title { margin-bottom: 30px; }
.home-page .section-title .title, .home-page h2.title { color: var(--gshvac-primary-dark); font-size: 30px; line-height: 1.25; }
.home-page .section-title .gs-section-lead { font-size: 16px; line-height: 1.55; margin: 10px auto 0; max-width: 800px; }
.home-page .section-title .gs-section-lead span { color: var(--gshvac-primary) !important; }
.home-page .gs-section-eyebrow { color: var(--gshvac-primary); font-size: 11px; letter-spacing: 1.4px; margin-bottom: 9px; }
.home-page .bg-silver-light { background: var(--gshvac-cream) !important; }
.home-page .btn-custom { border-radius: 5px; box-shadow: none; }
.gs-home a:focus-visible, .home-page button:focus-visible { outline: 3px solid var(--gshvac-primary); outline-offset: 4px; }

/* Substantial, compact split hero using the existing licensed HVAC photo. */
.home-page #home { background: var(--gshvac-ink) url('../images/resized/webp/hvac-hero-1920d.webp') center / cover !important; }
.home-page #home .text-header { background: linear-gradient(105deg, rgba(35,42,53,.94), rgba(35,42,53,.78) 53%, rgba(35,42,53,.52)) !important; }
.home-page .gs-hero-row { padding-top: 60px; padding-bottom: 60px; }
.home-page .gs-hero-row .h-responsive { font-size: 52px; line-height: 1.12; margin: 0 0 18px; letter-spacing: -.8px; }
.home-page .gs-hero-row .p-responsive { font-size: 22px; font-weight: 600; line-height: 1.4; color: #fff !important; margin-bottom: 24px; }
.home-page .gs-hero-eyebrow { color: var(--gshvac-accent) !important; font-size: 11px; letter-spacing: 1px; }
/* The "#1" claim sits between the brand name and the plain-English lead, so it
   reads as a positioning line rather than competing with the h1. */
.home-page .gs-hero-claim { color: var(--gshvac-accent); font-size: 17px; font-weight: 700; line-height: 1.35; margin: -8px 0 16px; }
.home-page .gs-hero-points { margin: 0 0 24px; }
.home-page .gs-hero-points li { font-size: 15px; line-height: 1.5; padding-bottom: 11px; text-shadow: none; }
/* Clutch award panel: markup and base rules shared with GenSales (gshvac.css). */
.home-page .gs-hero-awards { background: rgba(127,175,200,.12); border: 1px solid rgba(127,175,200,.15); border-radius: 6px; box-shadow: none; padding: 22px 18px 18px; margin-top: 30px; }
.home-page .gs-hero-awards-badges img { height: 96px; }
.home-page .gs-hero-form, .home-page .gs-form-card { border: 1px solid var(--gshvac-line); border-radius: 8px; background: #fff; padding: 28px; box-shadow: 0 3px 16px rgba(35,42,53,.08); }
.home-page .gs-hero-form-title { color: var(--gshvac-primary-dark); font-size: 26px; }
.home-page .gs-hero-form-lead, .home-page .gs-form-card > p { font-size: 14px; line-height: 1.5; margin-bottom: 22px; }
.home-page form .row { margin-left: -8px; margin-right: -8px; }
.home-page form [class*='col-'] { padding-left: 8px; padding-right: 8px; }
.home-page form .form-control { height: 44px; padding: 10px 12px; background: var(--gshvac-cream); border: 1px solid var(--gshvac-line); border-radius: 5px; color: var(--gshvac-primary-dark); box-shadow: none; font-size: 14px; }
.home-page form textarea.form-control { min-height: 44px; resize: vertical; }
.home-page form .form-control::placeholder { color: var(--gshvac-primary); opacity: 1; }
.home-page form .form-control:focus { border-color: var(--gshvac-primary); outline: 2px solid rgba(47,85,119,.2); outline-offset: 1px; background: #fff; }
.home-page form .btn { min-height: 48px; font-size: 15px; }
.home-page .gs-hero-form-note, .home-page .gs-contact-note { font-size: 11px; color: var(--gshvac-primary); text-align: center; margin: 14px 0 0; }
.home-page .gs-hero-form-note .fa { margin-right: 5px; }

/* Client video: poster behind a button until pressed; js/home.min.js swaps
   in the player. Same facade as the GS Roofing Leads homepage. */
.home-page .gs-client-video-row { display: flex; flex-wrap: wrap; align-items: center; }
.home-page .gs-video { margin: 0; }
.home-page .gs-video-trigger,
.home-page .gs-video-frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 7px; }
.home-page .gs-video-trigger { position: relative; padding: 0; overflow: hidden; background: var(--gshvac-ink); cursor: pointer; }
.home-page .gs-video-trigger img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.home-page .gs-video-trigger:hover img, .home-page .gs-video-trigger:focus img { transform: scale(1.03); }
.home-page .gs-video-play { position: absolute; left: 50%; top: 50%; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%; background: rgba(35,42,53,.82); color: #fff; font-size: 22px; line-height: 62px; text-align: center; transition: background-color .25s ease; }
.home-page .gs-video-play .fa { margin-left: 4px; }
.home-page .gs-video-trigger:hover .gs-video-play, .home-page .gs-video-trigger:focus .gs-video-play { background: var(--gshvac-primary); }
.home-page .gs-video-trigger:focus-visible { outline: 3px solid var(--gshvac-primary); outline-offset: 4px; }
.home-page #client-video .gs-section-eyebrow, .home-page #client-video .title { text-align: left; margin-left: 0; }
.home-page #client-video .title { margin-top: 0; }
.home-page .gs-video-quote { margin: 18px 0 0; padding: 0 0 0 20px; border-left: 3px solid var(--gshvac-accent); font-family: inherit; font-style: normal; font-size: 17px; line-height: 1.6; color: var(--gshvac-primary-dark); }
.home-page .gs-video-quote p { margin: 0 0 12px; font: inherit; color: inherit; }
.home-page .gs-video-quote footer { color: var(--gshvac-primary); font-size: 14px; font-weight: 700; }
.home-page .gs-video-quote footer:before { content: none; }
.home-page .gs-video-quote cite { font-style: normal; font-weight: 400; }

/* Client logos, as on the live site. Every source file is the same 125x100
   canvas, so one tile size keeps them at equal visual height. */
.home-page .gs-clients { background: var(--gshvac-cream); }
.home-page .gs-clients > .container { padding-top: 40px; padding-bottom: 44px; }
.home-page .gs-clients-title { margin: 0 0 24px; color: var(--gshvac-primary); font-family: inherit; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-align: center; text-transform: uppercase; }
.home-page .gs-client-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 0; padding: 0; list-style: none; }
.home-page .gs-client-logos li { display: flex; align-items: center; justify-content: center; flex: 0 0 calc((100% - 70px) / 6); height: 92px; padding: 6px 12px; border: 1px solid var(--gshvac-line); border-radius: 7px; background: var(--gshvac-white); }
.home-page .gs-client-logos img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

/* A single restrained card surface and spacing scale for all content grids. */
.home-page .gs-card, .home-page .gs-post-card, .home-page .gs-quote-card { border: 1px solid var(--gshvac-line); border-radius: 7px; box-shadow: 0 3px 12px rgba(47,85,119,.045); }
.home-page .gs-card { padding: 25px 23px; }
.home-page .gs-card:hover, .home-page .gs-card:hover .gs-card-icon { transform: none; }
.home-page .gs-card:hover { border-color: var(--gshvac-line); box-shadow: 0 3px 12px rgba(47,85,119,.045); }
.home-page .gs-card-icon { width: 52px; height: 52px; border-radius: 50%; background: var(--gshvac-stone); color: var(--gshvac-primary); font-size: 26px; }
.home-page .gs-card:hover .gs-card-icon { background: var(--gshvac-stone); }
.home-page .gs-card h3 { font-size: 18px; color: var(--gshvac-primary-dark); margin: 16px 0 10px; }
.home-page .gs-card p { color: var(--gshvac-primary); font-size: 15px; line-height: 1.55; margin-bottom: 0; }
.home-page #proof > .container { padding-top: 42px; padding-bottom: 42px; }
.home-page #proof .gs-stat-row { margin: 0; gap: 24px; }
.home-page #proof .gs-stat { flex: 1; width: auto; border: 1px solid var(--gshvac-line); border-radius: 7px; background: #fff; padding: 24px 16px; margin-bottom: 0 !important; box-shadow: 0 3px 12px rgba(47,85,119,.045); }
.home-page #proof .gs-stat-icon { margin-bottom: 12px; color: var(--gshvac-primary); }
.home-page #proof .gs-stat-value { font-size: 30px; color: var(--gshvac-primary-dark) !important; }
.home-page #proof .gs-stat p { max-width: none; }
/* How it works: timeline sized to match the GenSales homepage "How it works" (cards + track + detail panel).
   max-width keeps four cards at the ~190px width GenSales gets from six. */
.home-page #how-it-works { background: var(--gshvac-stone); }
.home-page .gs-proc { max-width: 780px; margin: 10px auto 32px; }
.home-page .gs-proc-cards { position: relative; display: flex; gap: 7px; }
.home-page .gs-proc-track { position: absolute; top: 166px; left: 12.5%; right: 12.5%; height: 7px; background: var(--gshvac-ink); z-index: 1; pointer-events: none; }
.home-page .gs-proc-card { position: relative; flex: 1 1 0; min-width: 0; height: 300px; padding: 0 12px 25px; border: 0; border-radius: 24px; background: var(--gshvac-cream); color: var(--gshvac-primary-dark); font-family: inherit; text-align: center; display: flex; flex-direction: column; align-items: center; transition: background-color .2s ease, color .2s ease; }
.home-page .gs-proc-card:hover { background: var(--gshvac-stone-dark); }
.home-page .gs-proc-card:focus { outline: 3px solid var(--gshvac-primary); outline-offset: 3px; }
.home-page .gs-proc-card.is-active { background: var(--gshvac-primary); color: #fff; }
.home-page .gs-proc-icon { margin-top: 42px; font-size: 64px; line-height: 88px; height: 88px; }
.home-page .gs-proc-dot { position: absolute; top: 158px; left: 50%; width: 24px; height: 24px; margin-left: -12px; border: 6px solid var(--gshvac-ink); border-radius: 50%; background: var(--gshvac-cream); z-index: 2; display: none; }
.home-page .gs-proc-card.is-active .gs-proc-dot { display: block; }
.home-page .gs-proc-title { margin-top: auto; font-size: 20px; font-weight: 600; line-height: 1.45; }
.home-page .gs-proc-num { display: inline-block; width: 26px; height: 26px; margin-right: 4px; border-radius: 50%; background: var(--gshvac-primary); color: #fff; font-size: 14px; font-weight: 500; line-height: 26px; text-align: center; vertical-align: middle; }
.home-page .gs-proc-card.is-active .gs-proc-num { background: #fff; color: var(--gshvac-primary); }
.home-page .gs-proc-text { display: none; }
.home-page .gs-proc-panel { display: grid; grid-template-columns: 105px 180px 1fr; align-items: center; gap: 30px; margin-top: 18px; padding: 32px 48px; border-radius: 24px; background: var(--gshvac-ink); color: #fff; min-height: 166px; }
.home-page .gs-proc-panel-icon { font-size: 64px; line-height: 1; text-align: center; color: #fff; }
.home-page .gs-proc-panel-title { margin: 0; color: #fff; font-size: 21px; font-weight: 600; line-height: 1.5; }
.home-page .gs-proc-panel-title .gs-proc-num { background: #fff; color: var(--gshvac-primary); }
.home-page .gs-proc-panel-text { margin: 0; color: #f1f1f1; font-size: 16px; line-height: 1.8; }

/* Equipment feature band; the image stays beside, rather than behind, copy. */
.home-page .home-calling-band { background: var(--gshvac-ink) !important; position: relative; overflow: hidden; }
.home-page .home-calling-band:before { background: transparent !important; }
.home-page .home-calling-band .container { position: relative; z-index: 1; padding-top: 48px !important; padding-bottom: 48px !important; }
.home-page .home-calling-band .banner-text { text-align: left; }
.home-page .home-calling-band .title { font-size: 32px; margin-top: 5px; }
.home-page .gs-section-eyebrow-dark { color: var(--gshvac-accent); }
.home-page .home-calling-band .gs-band-lead { font-size: 16px; }
.home-page .home-calling-band .gs-stat-row { margin-top: 28px !important; }
.home-page .home-calling-band .gs-stat { text-align: left; padding-top: 0; padding-bottom: 0; }
.home-page .home-calling-band .gs-stat-value .fa { font-size: 34px; color: var(--gshvac-primary); }
.home-page .home-calling-band .gs-stat p:not(.gs-stat-value) { margin: 8px 0 0; font-size: 14px; max-width: none; }
.home-page .gs-campaign-card .gs-card-icon { height: 42px; width: 42px; font-size: 23px; }
.home-page .gs-campaign-card .gs-industry-heading { white-space: normal; padding-bottom: 0; border: 0; font-size: 17px; }
.home-page .gs-campaign-list { list-style: none; margin: 0; padding: 0; }
.home-page .gs-campaign-list li { display: flex; gap: 8px; margin-top: 7px; font-size: 14px; line-height: 1.45; }
.home-page .gs-campaign-icon { color: var(--gshvac-primary); flex: 0 0 14px; }
.home-page .gs-success-row { display: flex; flex-wrap: wrap; align-items: center; }
.home-page .gs-success-subhead { color: var(--gshvac-primary-dark); font-size: 18px; font-weight: 700; margin: 0 0 16px; }
.home-page .gs-success-steps { list-style: none; counter-reset: gs-success; margin: 0; padding: 0; }
.home-page .gs-success-steps li { counter-increment: gs-success; position: relative; padding-left: 40px; margin-bottom: 14px; font-size: 15px; line-height: 1.5; color: var(--gshvac-primary); }
.home-page .gs-success-steps li:before { content: counter(gs-success); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--gshvac-primary); color: #fff; font-size: 13px; font-weight: 700; line-height: 26px; text-align: center; }
.home-page .gs-success-steps strong { display: block; color: var(--gshvac-primary-dark); }
/* Culture points: a full-width panel on the shared card surface, so the steps
   and boxes above can sit at a matched height. */
.home-page .gs-success-apart { display: block; height: auto; margin-top: 48px; padding: 30px 36px 14px; }
.home-page .gs-success-apart .gs-success-subhead { margin: 0 0 4px; }
.home-page .gs-success-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; list-style: none; margin: 0; padding: 0; }
.home-page .gs-success-points li { display: flex; gap: 14px; padding: 16px 0; border-top: 1px solid var(--gshvac-line); font-size: 15px; line-height: 1.5; color: var(--gshvac-primary); }
.home-page .gs-success-points li:nth-child(-n+2) { border-top: 0; }
/* An odd last point closes the grid at full width rather than leaving a hole. */
.home-page .gs-success-points li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.home-page .gs-success-points .fa { display: flex; align-items: center; justify-content: center; flex: 0 0 26px; height: 26px; border-radius: 50%; background: var(--gshvac-stone); color: var(--gshvac-primary); font-size: 12px; }
/* The live site's blue campaign boxes, kept blue but given a number, a real
   heading and a consistent list, in an even 2x2 grid. */
.home-page .gs-success-boxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.home-page .gs-success-box { background: var(--gshvac-primary); border-radius: 7px; padding: 24px 22px; color: #fff; }
.home-page .gs-success-box-title { color: #fff; font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 12px; }
.home-page .gs-success-box ul { list-style: none; margin: 0; padding: 0; }
.home-page .gs-success-box li { position: relative; padding-left: 18px; margin-top: 7px; font-size: 14px; line-height: 1.45; color: var(--gshvac-on-dark); }
.home-page .gs-success-box li:before { content: ''; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--gshvac-accent); }
/* Growth CTA band, ported from the GenSales homepage: left-aligned copy over
   the existing licensed equipment photo, under a left-to-right ink wash. */
.home-page .home-growth-band { background: var(--gshvac-ink) url('../images/resized/webp/hvac-equipment-1280d.webp') center 42% / cover no-repeat !important; }
.home-page .home-growth-band::before { background: linear-gradient(90deg, rgba(35,42,53,.97) 0%, rgba(35,42,53,.92) 50%, rgba(35,42,53,.74) 100%); }
.home-page .home-growth-band > .container { position: relative; z-index: 1; padding-top: 72px; padding-bottom: 72px; }
.home-page .gs-growth-content { max-width: 860px; }
.home-page .gs-growth-eyebrow { margin: 0 0 14px; color: var(--gshvac-accent-dk); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.home-page .home-growth-band h2 { margin: 0; color: #fff; font-family: inherit; font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.18; letter-spacing: -.8px; }
.home-page .home-growth-band h2 span { display: block; color: var(--gshvac-accent-dk); }
.home-page .gs-growth-description { max-width: 620px; margin: 18px 0 24px; color: var(--gshvac-on-dark); font-size: 18px; line-height: 1.55; }
.home-page .gs-growth-cta { display: inline-flex; align-items: center; gap: 16px; padding: 14px 26px; font-size: 16px; }
.home-page .gs-growth-benefits { display: flex; gap: 40px; margin: 36px 0 0; padding: 0; list-style: none; }
.home-page .gs-growth-benefits li { display: flex; align-items: center; gap: 14px; color: #fff; font-size: 13px; line-height: 1.5; }
.home-page .gs-growth-benefits .fa { flex: 0 0 auto; color: var(--gshvac-accent-dk); font-size: 28px; }
.home-page .gs-quote-card { padding: 25px; }
.home-page .gs-quote-stars { color: var(--gshvac-primary); font-size: 15px; letter-spacing: 2px; margin-bottom: 12px; }
.home-page .gs-quote-text { font-size: 15px; padding-left: 0; line-height: 1.55; }
.home-page .gs-quote-text:before { content: none; }
.home-page .gs-quote-by { border: 0; padding-top: 4px; margin-top: auto; }
.home-page .gs-quote-author { font-size: 13px; }
.home-page .gs-quote-company { font-size: 12px; }
.home-page #insights > .container { padding-top: 0; }
.home-page .gs-post-thumb { aspect-ratio: 16 / 8; }
.home-page .gs-post-body { padding: 18px 21px; }
.home-page .gs-post-title { font-size: 18px; line-height: 1.35; }
.home-page .gs-post-excerpt { font-size: 14px; line-height: 1.5; }
.home-page .gs-post-more { color: var(--gshvac-primary); }
.home-page #contact > .container { padding-top: 48px; padding-bottom: 48px; }
.home-page .gs-contact-row { display: flex; align-items: center; flex-wrap: wrap; margin-bottom: -30px; }
.home-page .gs-contact-card { padding: 0 28px 0 0; background: transparent; border: 0; box-shadow: none; }
.home-page .gs-contact-card .title { font-size: 30px; margin-top: 0; }
.home-page .gs-contact-points { margin: 26px 0 0; }
.home-page .gs-contact-points li { color: var(--gshvac-primary); font-size: 15px; }
.home-page .gs-form-card h3 { font-size: 22px; color: var(--gshvac-primary-dark); }
.gs-home #footer .footer-logo { width: 216px; height: auto; }
.gs-home #footer .footer-blurb, .gs-home #footer .footer-links, .gs-home #footer .footer-contact { font-size: 13px; }

@media (min-width: 1200px) { .gs-home .home-page .container, .gs-home #footer .container { width: 1210px; } }
@media (min-width: 992px) {
  .home-page .gs-hero-row > .header-big-text { width: 55%; padding-right: 48px; }
  .home-page .gs-hero-row > .col-md-6:last-child { width: 45%; }
  .home-page .home-calling-band:after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 37%; background: url('../images/resized/webp/hvac-equipment-1280d.webp') center / cover; opacity: .7; mask-image: linear-gradient(to right, transparent, #000); -webkit-mask-image: linear-gradient(to right, transparent, #000); }
  .home-page .home-calling-band .section-content { width: 78%; }
}
@media (max-width: 991px) {
  .home-page section > .container.gs-section { padding-top: 54px; padding-bottom: 54px; }
  .home-page .gs-hero-row { padding-top: 46px; padding-bottom: 46px; }
  .home-page .gs-hero-row .h-responsive { font-size: 44px; }
  .home-page .gs-hero-form { margin-top: 30px; }
  .home-page .gs-hero-awards { max-width: 570px; }
  .home-page .gs-client-video-row > [class*='col-'] { width: 100%; }
  .home-page .gs-client-video-row > .col-md-6:first-child { margin-bottom: 28px; }
  .home-page .gs-client-logos li { flex-basis: calc((100% - 42px) / 4); }
  .home-page .home-growth-band > .container { padding-top: 56px; padding-bottom: 56px; }
  .home-page .gs-growth-benefits { gap: 24px; }
  .home-page .gs-contact-row > div { width: 100%; }
  .home-page .gs-success-row > [class*='col-'] { width: 100%; }
  .home-page .gs-success-row > .col-md-5 { margin-bottom: 30px; }
  /* Below desktop the timeline becomes a plain list of step cards with their copy. */
  .home-page .gs-proc-cards { flex-wrap: wrap; }
  .home-page .gs-proc-card, .home-page .gs-proc-card.is-active { flex: 0 0 calc(50% - 3.5px); height: auto; padding: 24px 18px; background: var(--gshvac-cream); color: var(--gshvac-primary-dark); cursor: default; }
  .home-page .gs-proc-card.is-active .gs-proc-num { background: var(--gshvac-primary); color: #fff; }
  .home-page .gs-proc-icon { margin-top: 0; font-size: 44px; line-height: 52px; height: 52px; }
  .home-page .gs-proc-title { margin-top: 14px; font-size: 17px; }
  .home-page .gs-proc-text { display: block; margin-top: 8px; color: var(--gshvac-primary); font-size: 15px; line-height: 1.55; }
  .home-page .gs-proc-track, .home-page .gs-proc-card.is-active .gs-proc-dot, .home-page .gs-proc-panel { display: none; }
}
@media (max-width: 767px) {
  .gs-home .home-page .container, .gs-home #footer .container { width: 100%; padding-left: 22px; padding-right: 22px; }
  .home-page .gs-hero-row .h-responsive { font-size: 40px; }
  .home-page .gs-hero-row .p-responsive { font-size: 20px; }
  .home-page .section-title .title { font-size: 27px; }
  .home-page .gs-hero-form, .home-page .gs-form-card { padding: 23px 20px; }
  .home-page .gs-hero-awards-badges img { height: 80px; }
  .home-page .gs-client-logos { gap: 10px; }
  .home-page .gs-client-logos li { flex-basis: calc((100% - 20px) / 3); height: 76px; padding: 4px 8px; }
  .home-page .gs-video-quote { font-size: 16px; }
  .home-page #proof .gs-stat-row { gap: 10px; }
  .home-page #proof .gs-stat { flex: 0 0 100%; padding: 18px; }
  .home-page #proof .gs-stat-value { font-size: 28px; }
  .home-page #proof .gs-stat-icon { margin-bottom: 8px; }
  .home-page .home-calling-band .gs-stat { padding: 0 15px; }
  .home-page .home-calling-band .title { font-size: 28px; }
  .home-page .home-growth-band::before { background: rgba(35,42,53,.9); }
  .home-page .gs-growth-description { font-size: 16px; }
  .home-page .gs-growth-benefits { flex-direction: column; gap: 14px; }
  .home-page .gs-contact-card { padding-right: 0; }
  .home-page .gs-card-row > [class*='col-'] { width: 100%; }
  .home-page .gs-proc-card, .home-page .gs-proc-card.is-active { flex-basis: 100%; }
  .home-page .gs-success-boxes { grid-template-columns: minmax(0, 1fr); }
  .home-page .gs-success-apart { margin-top: 36px; padding: 24px 20px 8px; }
  .home-page .gs-success-points { grid-template-columns: minmax(0, 1fr); }
  .home-page .gs-success-points li:nth-child(2) { border-top: 1px solid var(--gshvac-line); }
}
@media (prefers-reduced-motion: reduce) {
  .home-page *, .home-page *:before, .home-page *:after { transition: none !important; animation: none !important; }
}

/* Suppress ornamental theme heading rules and preserve the reference alignment. */
.home-page .section-title .title:after { display: none; }
.home-page .section-title .title { padding-bottom: 0; }
.home-page .gs-campaign-card .gs-industry-heading { text-transform: none; letter-spacing: 0; }
.home-page .home-calling-band .gs-section-eyebrow, .home-page .home-calling-band .gs-band-lead,
.home-page .gs-contact-card .gs-section-eyebrow { text-align: left; margin-left: 0; }

@media (max-width: 480px) {
  /* Leave 300px for the existing fixed-width security widget at 375px. */
  .home-page .gs-hero-form, .home-page .gs-form-card { padding: 22px 14px; }
  .home-page .gs-hero-row .h-responsive, .home-page .gs-hero-row .p-responsive { min-height: 0; }
}
