/* ==========================================================================
   GCC page (page id 562) – layout that follows the approved GCC design.
   Content stays in Elementor; this file only styles it.
   Remove the enqueue in functions.php (vs_enqueue_gcc) to go back.
   ========================================================================== */

html body .elementor-562 {
  --g-gap: var(--vs-section-gap, 72px);
  --g-head: var(--vs-head-gap, 28px);
  --g-ink: var(--vs-ink);
  --g-muted: var(--vs-muted);
  --g-border: var(--vs-border);
  --g-card: var(--vs-card);
  --g-soft: var(--vs-card-soft);
  --g-accent: var(--vs-accent);
  --g-radius: 12px;
  --i-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1'/%3E%3C/svg%3E");
  --i-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E");
}
/* page rhythm: hero -> sections -> CTA, all one gap */
html body .elementor-562 > .vs-gcc-hero { margin: 0 0 var(--g-gap) !important; }
html body .elementor-562 .v-box.vigour-master-container { gap: var(--g-gap) !important; padding: 0 !important; margin: 0 !important; }
html body .elementor-562 .v-box.vigour-master-container > .v-box { margin: 0 !important; max-width: none !important; }
html body .elementor-562 > .vs-cta-box { margin: var(--g-gap) 0 0 !important; }

/* ---------- HERO ---------- */
html body .elementor-562 .vs-gcc-hero {
  background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: 20px !important;
  box-shadow: 0 8px 28px rgba(16,18,23,.06) !important; padding: 40px 40px !important;
}
html body .elementor-562 .vs-gcc-hero::before { display: none !important; }
html body .elementor-562 .vs-gcc-hero > .elementor-container { align-items: center !important; gap: 48px; }
html body .elementor-562 .vs-gcc-hero .vs-eyebrow-pill p { background: var(--g-soft) !important; border: 0 !important; font-size: 11.5px !important; padding: 6px 14px !important; }
html body .elementor-562 .vs-gcc-hero .vs-hero-h1 { margin-bottom: 18px !important; }
html body .elementor-562 .vs-gcc-hero .vs-hero-h1 .elementor-heading-title { font-size: 40px !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: -0.8px; color: var(--g-ink) !important; }
html body .elementor-562 .vs-accent-text { color: var(--g-accent) !important; }
html body .elementor-562 .vs-gcc-hero .vs-lede, html body .elementor-562 .vs-gcc-hero .vs-lede p { font-size: 14px !important; line-height: 1.7 !important; color: var(--g-muted) !important; max-width: 560px; }
html body .elementor-562 .vs-gcc-hero .vs-btn-row { margin-top: 26px !important; }
html body .elementor-562 .vs-gcc-hero .vs-side-panel {
  background: var(--g-soft) !important; border: 1px solid var(--g-border) !important; border-radius: 16px !important; padding: 20px !important;
  box-shadow: 0 0 0 14px var(--g-card), 0 0 0 15px var(--g-border) !important; margin: 15px !important;
}
html body .elementor-562 .vs-gcc-hero .vs-panel-eyebrow p { font-size: 11px !important; letter-spacing: .6px; color: var(--g-muted) !important; margin: 0 !important; }
html body .elementor-562 .vs-gcc-hero .vs-panel-h4 .elementor-heading-title { font-size: 15px !important; font-weight: 600 !important; }
html body .elementor-562 .vs-gcc-hero .vs-side-panel .vs-row-mb { margin-bottom: 12px !important; }
html body .elementor-562 .vs-gcc-hero .vs-side-panel .vs-flex > .elementor-container { gap: 12px !important; }
html body .elementor-562 .vs-gcc-hero .vs-coverage-cell { background: var(--g-card) !important; padding: 14px !important; }
html body .elementor-562 .vs-cell-kicker, html body .elementor-562 .vs-cell-kicker p { font-size: 10px !important; color: var(--vs-muted-2) !important; margin: 0 0 2px !important; line-height: 1.4; }
html body .elementor-562 .vs-gcc-hero .vs-coverage-b .elementor-heading-title { font-size: 14px !important; font-weight: 600 !important; }

/* ---------- SECTION HEADERS (eyebrow + title left, intro right) ---------- */
html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header) {
  display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 56px; row-gap: 8px;
  grid-template-rows: auto 1fr; align-items: start; text-align: left !important; max-width: none !important; width: 100% !important; margin: 0 0 var(--g-head) !important; padding: 0 !important;
}
html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header) > * { grid-column: 1; margin: 0 !important; width: auto !important; max-width: none !important; }
html body .elementor-562 .v-eyebrow, html body .elementor-562 .v-eyebrow p,
html body .elementor-562 .vigour-master-container .vb-subtitle, html body .elementor-562 .vigour-master-container .vb-subtitle * {
  font-size: 11px !important; font-weight: 500 !important; letter-spacing: 1.6px !important; text-transform: uppercase !important; color: var(--g-muted) !important; margin: 0 !important; line-height: 1.4 !important;
}
html body .elementor-562 .vigour-master-container :is(.v-challenges-title, .v-solutions-heading, .v-gcc-heading, .vb-title, .v-scale-heading, .v-stats-heading, .v-choose-heading),
html body .elementor-562 .vigour-master-container :is(.v-challenges-title, .v-solutions-heading, .v-gcc-heading, .vb-title, .v-scale-heading, .v-stats-heading, .v-choose-heading) * {
  font-size: 24px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.3px; color: var(--g-ink) !important; text-align: left !important;
}
html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading) {
  grid-column: 2 !important; grid-row: 1 / span 2; align-self: start; padding-top: 2px !important;
}
html body .elementor-562 .vigour-master-container .vb-desc + .vb-desc { grid-row: 3 !important; margin-top: 4px !important; }
html body .elementor-562 .vigour-master-container .vb-intro-col .vb-desc:first-of-type { grid-row: 1 / span 2; }
html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading),
html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading) * {
  font-size: 13.5px !important; line-height: 1.65 !important; color: var(--g-muted) !important; text-align: left !important; margin: 0 !important;
}

/* ---------- 1. CHALLENGES ---------- */
html body .elementor-562 .v-challenges-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
html body .elementor-562 .v-challenge-card { padding: 20px 22px !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; background: var(--g-card) !important; display: flex !important; flex-direction: column !important; }
html body .elementor-562 .v-card-badge-row { display: flex !important; flex-direction: row-reverse !important; justify-content: flex-end !important; align-items: center; gap: 4px !important; margin: 0 0 6px !important; position: relative; width: 100% !important; }
html body .elementor-562 .v-card-badge-row::after {
  content: ""; position: absolute; right: 0; top: -2px; width: 22px; height: 22px; background: var(--g-accent);
  -webkit-mask: var(--i-chat) center / contain no-repeat; mask: var(--i-chat) center / contain no-repeat;
}
html body .elementor-562 .v-card-num, html body .elementor-562 .v-card-num * { width: auto !important; height: auto !important; background: none !important; border-radius: 0 !important; font-size: 12px !important; font-weight: 400 !important; color: var(--g-muted) !important; display: inline !important; }
html body .elementor-562 .v-card-num .elementor-heading-title::before { content: "#"; }
html body .elementor-562 .v-card-subtitle, html body .elementor-562 .v-card-subtitle * { font-size: 12px !important; font-weight: 400 !important; color: var(--g-muted) !important; }
html body .elementor-562 .v-card-title, html body .elementor-562 .v-card-title * { font-size: 15.5px !important; font-weight: 600 !important; color: var(--g-ink) !important; margin: 0 0 10px !important; line-height: 1.35 !important; }
html body .elementor-562 .v-card-text, html body .elementor-562 .v-card-text * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-muted) !important; margin: 0 !important; }
html body .elementor-562 .v-card-text { flex-grow: 1; margin-bottom: 16px !important; }
html body .elementor-562 .v-card-italic { border-top: 1px solid var(--g-border); padding-top: 14px !important; margin-top: auto !important; }
html body .elementor-562 .v-card-italic, html body .elementor-562 .v-card-italic * { font-style: normal !important; font-size: 12.5px !important; font-weight: 500 !important; color: var(--g-accent) !important; }
html body .elementor-562 .v-card-italic p { padding-left: 14px; position: relative; margin: 0 !important; }
html body .elementor-562 .v-card-italic p::before { content: "•"; position: absolute; left: 2px; top: 0; }
/* highlight -> white quote card with orange button */
html body .elementor-562 .v-highlight-card { background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: var(--g-radius) !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; padding: 20px 22px !important; display: flex !important; flex-direction: column !important; position: relative; }
html body .elementor-562 .v-highlight-card .v-quote-icon { color: var(--g-accent) !important; font-size: 24px !important; margin: 0 0 14px !important; justify-content: flex-start !important; width: auto !important; }
html body .elementor-562 .v-highlight-card .v-quote-icon .elementor-icon-wrapper { justify-content: flex-start !important; }
html body .elementor-562 .v-highlight-text { flex-grow: 1; margin: 0 0 16px !important; position: relative; padding-bottom: 34px; }
html body .elementor-562 .v-highlight-text, html body .elementor-562 .v-highlight-text * { font-size: 16px !important; line-height: 1.6 !important; font-weight: 600 !important; color: var(--g-ink) !important; }
html body .elementor-562 .v-highlight-text::after,
html body .elementor-562 .v-quote-card::after {
  content: ""; position: absolute; right: 0; bottom: 0; width: 22px; height: 22px; background: var(--g-accent);
  -webkit-mask: var(--i-quote) center / contain no-repeat; mask: var(--i-quote) center / contain no-repeat; transform: rotate(180deg);
}
html body .elementor-562 .v-highlight-btn { border-top: 1px solid var(--g-border); padding-top: 14px !important; margin: 0 !important; background: none !important; width: 100% !important; }
html body .elementor-562 .v-highlight-btn .elementor-heading-title { display: block; background: var(--g-accent) !important; color: #fff !important; border-radius: 8px; padding: 10px 16px; text-align: center; font-size: 13.5px !important; font-weight: 500 !important; }

/* ---------- 2. HOW WE HELP (solutions) ---------- */
html body .elementor-562 .v-solutions-grid {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important;
  background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: 18px !important; padding: 18px !important;
  box-shadow: 0 8px 28px rgba(16,18,23,.05) !important;
}
html body .elementor-562 .v-solution-card { padding: 18px 20px !important; box-shadow: none !important; }
html body .elementor-562 .v-solution-card .v-card-header { gap: 12px !important; margin: 0 0 10px !important; flex-direction: row !important; align-items: center !important; }
html body .elementor-562 .v-sol-icon { width: 32px !important; height: 32px !important; border-radius: 8px !important; background: var(--g-soft) !important; color: var(--g-accent) !important; font-size: 16px !important; }
html body .elementor-562 .v-sol-title, html body .elementor-562 .v-sol-title * { font-size: 15px !important; font-weight: 600 !important; color: var(--g-ink) !important; }
html body .elementor-562 .v-sol-desc { margin: 0 0 14px !important; }
html body .elementor-562 .v-sol-desc, html body .elementor-562 .v-sol-desc * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-muted) !important; }
html body .elementor-562 .v-check-list .elementor-icon-list-items { gap: 10px !important; }
html body .elementor-562 .v-check-list .elementor-icon-list-item { gap: 10px !important; align-items: center !important; }
html body .elementor-562 .v-check-list .elementor-icon-list-icon { display: inline-flex !important; flex: 0 0 18px !important; width: 18px !important; height: 18px !important; min-width: 18px; aspect-ratio: 1 / 1; padding: 0 !important; border-radius: 50%; background: rgba(218,99,64,.12); justify-content: center; align-items: center; margin: 0 !important; inset-block-start: 0 !important; line-height: 0 !important; }
html body .elementor-562 .v-check-list .elementor-icon-list-icon svg { display: block; width: 11px !important; height: 11px !important; margin: 0 !important; flex: 0 0 auto; }
html body .elementor-562 .v-check-list .elementor-icon-list-text { font-size: 13px !important; font-weight: 400 !important; color: var(--g-ink) !important; }
/* banners (shared look) */
html body .elementor-562 :is(.v-solution-banner, .v-gcc-banner, .vb-banner) {
  grid-column: 1 / -1 !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important;
  background: var(--g-soft) !important; border: 1px solid var(--g-border) !important; border-radius: 10px !important; padding: 12px 16px !important; box-shadow: none !important; margin: 0 !important;
}
html body .elementor-562 :is(.v-gcc-banner, .vb-banner) { background: var(--g-card) !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; }
html body .elementor-562 :is(.v-banner-icon, .v-gcc-banner-icon, .vb-banner-icon) { width: 20px !important; height: 20px !important; background: none !important; color: var(--g-accent) !important; font-size: 18px !important; flex: 0 0 20px !important; margin: 0 !important; }
html body .elementor-562 :is(.v-banner-text, .v-gcc-banner-text, .vb-banner-text), html body .elementor-562 :is(.v-banner-text, .v-gcc-banner-text, .vb-banner-text) * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-ink) !important; margin: 0 !important; }

/* ---------- 3. INDUSTRIES ---------- */
html body .elementor-562 .v-gcc-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; }
html body .elementor-562 .v-gcc-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; column-gap: 10px; row-gap: 8px; align-content: start; padding: 18px 20px !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; text-align: left !important; }
html body .elementor-562 .v-gcc-card .v-gcc-icon { grid-column: 2; grid-row: 1; width: 22px !important; height: 22px !important; background: none !important; color: var(--g-accent) !important; font-size: 20px !important; margin: 0 !important; }
html body .elementor-562 .v-gcc-card .v-gcc-title { grid-column: 1; grid-row: 1; align-self: center; margin: 0 !important; }
html body .elementor-562 .v-gcc-card .v-gcc-desc { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; }
html body .elementor-562 .v-gcc-title, html body .elementor-562 .v-gcc-title * { font-size: 15px !important; font-weight: 600 !important; color: var(--g-ink) !important; }
html body .elementor-562 .v-gcc-desc, html body .elementor-562 .v-gcc-desc * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-muted) !important; margin: 0 !important; }

/* ---------- 4. BOT MODEL ---------- */
html body .elementor-562 .vb-approach-layout { display: block !important; }
html body .elementor-562 .vb-content-col { display: flex !important; flex-direction: column !important; gap: 18px !important; width: 100% !important; }
html body .elementor-562 .vb-steps-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px !important; }
html body .elementor-562 .vb-step-wrapper { display: block !important; position: relative; }
html body .elementor-562 .vb-step-wrapper + .vb-step-wrapper::before {
  content: "→"; position: absolute; left: -31px; top: 50%; transform: translateY(-50%); color: var(--g-accent); font-size: 20px; line-height: 1;
}
html body .elementor-562 .vb-step-num { position: absolute !important; left: 20px; top: 20px; z-index: 2; width: 26px !important; height: 26px !important; border-radius: 50% !important; border: 1px solid var(--g-accent) !important; background: none !important; margin: 0 !important; }
html body .elementor-562 .vb-step-num, html body .elementor-562 .vb-step-num * { color: var(--g-accent) !important; font-size: 12px !important; font-weight: 500 !important; line-height: 24px !important; text-align: center; }
html body .elementor-562 .vb-step-card { height: 100%; padding: 20px 22px 20px 60px !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; text-align: left !important; background: var(--g-card) !important; }
html body .elementor-562 .vb-card-title, html body .elementor-562 .vb-card-title * { font-size: 14px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .4px; color: var(--g-ink) !important; margin: 3px 0 8px !important; text-align: left !important; }
html body .elementor-562 .vb-card-text, html body .elementor-562 .vb-card-text * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-muted) !important; margin: 0 !important; text-align: left !important; }

/* ---------- 5. GROWTH PATH ---------- */
html body .elementor-562 .v-scale-grid {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important;
  background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: 18px !important; padding: 16px !important; box-shadow: 0 8px 28px rgba(16,18,23,.05) !important;
}
html body .elementor-562 .v-scale-col { display: block !important; }
html body .elementor-562 .v-scale-num, html body .elementor-562 .v-scale-icon { display: none !important; }
html body .elementor-562 .v-scale-card { height: 100%; background: var(--g-soft) !important; padding: 16px 18px !important; box-shadow: none !important; text-align: left !important; align-items: flex-start !important; }
html body .elementor-562 .v-scale-title, html body .elementor-562 .v-scale-title * { font-size: 14px !important; font-weight: 600 !important; color: var(--g-ink) !important; margin: 0 0 8px !important; text-align: left !important; }
html body .elementor-562 .v-scale-desc, html body .elementor-562 .v-scale-desc * { font-size: 12.5px !important; line-height: 1.6 !important; color: var(--g-muted) !important; margin: 0 !important; text-align: left !important; }

/* ---------- 6. PROVEN TRACK RECORD ---------- */
html body .elementor-562 .v-stats-header { grid-template-columns: minmax(0, 1fr) !important; max-width: 640px !important; }
html body .elementor-562 .v-stats-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1.15fr) !important; gap: 18px !important; }
html body .elementor-562 .v-stat-card { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 10px; row-gap: 4px; align-content: center; padding: 20px 22px !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; text-align: left !important; }
html body .elementor-562 .v-stat-icon { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 26px !important; height: 26px !important; background: none !important; color: var(--g-accent) !important; font-size: 24px !important; margin: 0 !important; }
html body .elementor-562 .v-stat-number { grid-column: 1; grid-row: 1; margin: 0 !important; }
html body .elementor-562 .v-stat-label { grid-column: 1; grid-row: 2; margin: 0 !important; }
html body .elementor-562 .v-stat-number, html body .elementor-562 .v-stat-number * { font-size: 20px !important; font-weight: 600 !important; color: var(--g-ink) !important; text-align: left !important; line-height: 1.3 !important; }
html body .elementor-562 .v-stat-label, html body .elementor-562 .v-stat-label * { font-size: 12.5px !important; color: var(--g-muted) !important; text-align: left !important; margin: 0 !important; }
html body .elementor-562 .v-quote-card { grid-column: 3; grid-row: 1 / span 2; position: relative; padding: 24px 24px 50px !important; background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: var(--g-radius) !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; text-align: left !important; align-items: flex-start !important; justify-content: center !important; }
html body .elementor-562 .v-quote-card::after { right: 24px; bottom: 22px; }
html body .elementor-562 .v-quote-card .v-quote-icon { color: var(--g-accent) !important; font-size: 24px !important; margin: 0 0 14px !important; width: auto !important; }
html body .elementor-562 .v-quote-card .v-quote-icon .elementor-icon-wrapper { justify-content: flex-start !important; }
html body .elementor-562 .v-quote-text, html body .elementor-562 .v-quote-text * { font-size: 16px !important; line-height: 1.6 !important; font-weight: 600 !important; font-style: normal !important; color: var(--g-ink) !important; margin: 0 !important; text-align: left !important; }
html body .elementor-562 .v-quote-author { margin-top: 14px !important; }
html body .elementor-562 .v-quote-author, html body .elementor-562 .v-quote-author *, html body .elementor-562 .v-quote-company, html body .elementor-562 .v-quote-company * { font-size: 12.5px !important; color: var(--g-muted) !important; text-align: left !important; margin: 0 !important; }
html body .elementor-562 .v-quote-author, html body .elementor-562 .v-quote-author * { color: var(--g-ink) !important; font-weight: 600 !important; }

/* ---------- 7. BENEFITS ---------- */
html body .elementor-562 .v-choose-header { grid-template-columns: minmax(0, 1fr) !important; max-width: 640px !important; }
html body .elementor-562 .v-choose-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 18px !important; counter-reset: vsben; }
html body .elementor-562 .v-choose-card { counter-increment: vsben; display: block !important; position: relative; padding: 18px 22px 18px 58px !important; text-align: left !important; box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; }
html body .elementor-562 .v-choose-card::before {
  content: counter(vsben, decimal-leading-zero); position: absolute; left: 20px; top: 18px; width: 24px; height: 24px; border-radius: 50%;
  background: rgba(218,99,64,.10); color: var(--g-accent); font-size: 10.5px; font-weight: 500; line-height: 24px; text-align: center;
}
html body .elementor-562 .v-ch-icon { display: none !important; }
html body .elementor-562 .v-ch-title, html body .elementor-562 .v-ch-title * { font-size: 14.5px !important; font-weight: 600 !important; color: var(--g-ink) !important; margin: 0 0 6px !important; text-align: left !important; line-height: 1.4 !important; }
html body .elementor-562 .v-ch-subtext, html body .elementor-562 .v-ch-subtext * { font-size: 13px !important; line-height: 1.6 !important; color: var(--g-muted) !important; margin: 0 !important; text-align: left !important; font-weight: 400 !important; }

/* ---------- CTA ---------- */
html body .elementor-562 > .vs-cta-box { background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: 18px !important; box-shadow: 0 4px 16px rgba(16,18,23,.05) !important; padding: 26px 30px !important; }
html body .elementor-562 > .vs-cta-box::before, html body .elementor-562 > .vs-cta-box::after { display: none !important; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  html body .elementor-562 .vs-gcc-hero { padding: 30px !important; }
  html body .elementor-562 .vs-gcc-hero .vs-hero-h1 .elementor-heading-title { font-size: 32px !important; }
  html body .elementor-562 .v-gcc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .elementor-562 .v-scale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .elementor-562 .v-challenges-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .elementor-562 .v-highlight-card { grid-column: 1 / -1; }
  html body .elementor-562 .v-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .elementor-562 .v-quote-card { grid-column: 1 / -1 !important; grid-row: auto !important; }
}
@media (max-width: 767px) {
  html body .elementor-562 .vs-gcc-hero { padding: 22px !important; }
  html body .elementor-562 .vs-gcc-hero .vs-hero-h1 .elementor-heading-title { font-size: 28px !important; }
  html body .elementor-562 .vs-gcc-hero .vs-side-panel { margin: 20px 10px 10px !important; box-shadow: 0 0 0 10px var(--g-card), 0 0 0 11px var(--g-border) !important; padding: 14px !important; }
  html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header) { grid-template-columns: minmax(0, 1fr) !important; }
  html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading) { grid-column: 1 !important; grid-row: auto !important; margin-top: 4px !important; }
  html body .elementor-562 :is(.v-challenges-grid, .v-solutions-grid, .v-gcc-grid, .vb-steps-grid, .v-scale-grid, .v-choose-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  html body .elementor-562 .v-solutions-grid, html body .elementor-562 .v-scale-grid { padding: 12px !important; }
  html body .elementor-562 .vb-steps-grid { gap: 30px !important; }
  html body .elementor-562 .vb-step-wrapper + .vb-step-wrapper::before { content: "↓"; left: 50%; top: -25px; transform: translateX(-50%); }
  html body .elementor-562 .v-stats-grid { gap: 12px !important; }
  html body .elementor-562 .v-stat-card { padding: 16px !important; }
}
/* secondary buttons as soft grey pills, like the design */
html body .elementor-562 :is(.vs-gcc-hero, .vs-cta-box) .vs-btn-secondary .elementor-button { background: var(--g-soft) !important; border-color: transparent !important; color: var(--g-ink) !important; }
html body .elementor-562 .vs-gcc-hero .vs-lede { margin-bottom: 0 !important; }
html body .elementor-562 .vs-gcc-hero .vs-btn-row { margin-top: 24px !important; }
html body .elementor-562 .vs-gcc-hero > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-bottom: 0 !important; }
@media (max-width: 1024px) {
  html body .elementor-562 .vs-gcc-hero > .elementor-container { gap: 8px !important; }
  html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header) { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto !important; }
  html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading) { grid-column: 1 !important; grid-row: auto !important; margin-top: 6px !important; max-width: 720px; }
  html body .elementor-562 .vb-steps-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 30px !important; }
  html body .elementor-562 .vb-step-wrapper + .vb-step-wrapper::before { content: "↓"; left: 50%; top: -25px; transform: translateX(-50%); }
}

/* ==========================================================================
   v2 – tighter rhythm, cleaner alignment
   ========================================================================== */
html body .elementor-562 { --g-gap: 60px; --g-head: 24px; }
@media (max-width: 1024px) { html body .elementor-562 { --g-gap: 48px; --g-head: 20px; } }
@media (max-width: 767px)  { html body .elementor-562 { --g-gap: 40px; --g-head: 18px; } }

/* Section headers: two columns, the short intro sits on the title's baseline */
html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header) {
  grid-template-rows: auto auto !important; row-gap: 6px !important; align-items: end !important;
}
html body .elementor-562 .vigour-master-container :is(.v-gcc-subheading, .v-scale-subheading) {
  grid-row: 2 !important; align-self: end !important; justify-self: end; max-width: 440px; padding: 0 0 3px !important;
}
/* Long intros (Challenges, BOT) read better stacked under the title */
html body .elementor-562 .vigour-master-container :is(.v-challenges-header, .vb-intro-col) { grid-template-columns: minmax(0, 1fr) !important; }
html body .elementor-562 .vigour-master-container :is(.v-challenges-intro, .vb-desc) {
  grid-column: 1 !important; grid-row: auto !important; align-self: start !important; max-width: 860px; margin-top: 6px !important; padding: 0 !important;
}
html body .elementor-562 .vigour-master-container .vb-desc + .vb-desc { margin-top: 0 !important; }

/* Hero: less empty room */
html body .elementor-562 .vs-gcc-hero { padding: 32px 36px !important; }
html body .elementor-562 .vs-gcc-hero .vs-eyebrow-pill { margin-bottom: 16px !important; }
html body .elementor-562 .vs-gcc-hero .vs-hero-h1 { margin-bottom: 14px !important; }
html body .elementor-562 .vs-gcc-hero .vs-btn-row { margin-top: 20px !important; }

/* Challenges: quote card content centred, no dead gap */
html body .elementor-562 .v-highlight-card { justify-content: space-between !important; }
html body .elementor-562 .v-highlight-text { flex-grow: 1; display: flex !important; align-items: center; padding-bottom: 30px !important; margin-bottom: 14px !important; }
html body .elementor-562 .v-card-text { margin-bottom: 14px !important; }
html body .elementor-562 .v-card-italic { padding-top: 12px !important; }

/* Industries: title and icon on one line, text right under */
html body .elementor-562 .v-gcc-card { row-gap: 6px !important; align-items: center; }
html body .elementor-562 .v-gcc-card .v-gcc-desc { align-self: start; }

/* BOT steps: number aligned with the title, no empty tail */
html body .elementor-562 .vb-step-num { top: 18px !important; left: 20px !important; }
html body .elementor-562 .vb-step-card { padding: 18px 20px 18px 58px !important; }
html body .elementor-562 .vb-card-title, html body .elementor-562 .vb-card-title * { margin: 2px 0 6px !important; line-height: 22px !important; }
html body .elementor-562 .vb-content-col { gap: 14px !important; }

/* Growth path */
html body .elementor-562 .v-scale-card { padding: 16px !important; }
html body .elementor-562 .v-scale-title, html body .elementor-562 .v-scale-title * { margin-bottom: 6px !important; line-height: 1.4 !important; }

/* Stats + quote */
html body .elementor-562 .v-stats-grid { gap: 16px !important; }
html body .elementor-562 .v-stat-card { padding: 18px 20px !important; }
html body .elementor-562 .v-quote-card { padding: 22px 24px 22px !important; justify-content: center !important; }
html body .elementor-562 .v-quote-card::after { display: none !important; }
html body .elementor-562 .v-quote-card .v-quote-icon { margin-bottom: 10px !important; }
html body .elementor-562 .v-quote-author { margin-top: 12px !important; }
html body .elementor-562 .v-quote-company { margin-top: 2px !important; }

/* Benefits: number chip lines up with the title */
html body .elementor-562 .v-choose-grid { gap: 12px 16px !important; }
html body .elementor-562 .v-choose-card { padding: 16px 20px 16px 56px !important; }
html body .elementor-562 .v-choose-card::before { top: 14px !important; left: 20px !important; }
html body .elementor-562 .v-ch-title, html body .elementor-562 .v-ch-title * { line-height: 22px !important; margin-bottom: 4px !important; }

/* CTA */
html body .elementor-562 > .vs-cta-box { padding: 22px 28px !important; }

@media (max-width: 1024px) {
  html body .elementor-562 .vigour-master-container :is(.v-gcc-subheading, .v-scale-subheading) { grid-row: auto !important; justify-self: start; max-width: 720px; }
}
html body .elementor-562 .vigour-master-container .vb-intro-col .vb-desc,
html body .elementor-562 .vigour-master-container .vb-intro-col .vb-desc + .vb-desc { grid-row: auto !important; }
html body .elementor-562 .vigour-master-container .vb-intro-col .vb-desc + .vb-desc { margin-top: 2px !important; }
@media (min-width: 1025px) {
  html body .elementor-562 .vigour-master-container :is(.v-gcc-subheading, .v-scale-subheading) { grid-row: 1 / span 2 !important; max-width: 520px; }
}
@media (max-width: 767px) {
  /* hero panel: slimmer frame on phones */
  html body .elementor-562 .vs-gcc-hero .vs-side-panel { margin: 18px 6px 6px !important; box-shadow: 0 0 0 6px var(--g-card), 0 0 0 7px var(--g-border) !important; padding: 12px !important; }
  html body .elementor-562 .vs-gcc-hero .vs-coverage-cell { padding: 12px !important; }
  html body .elementor-562 .vs-gcc-hero .vs-side-panel .elementor-column { margin-bottom: 10px !important; }
}
@media (max-width: 767px) { html body .elementor-562 .vs-gcc-hero .vs-side-panel .elementor-section:last-child .elementor-column:last-child { margin-bottom: 0 !important; } }

/* ---------- 8. FAQ (content in Elementor: .v-faq-wrapper > .v-faq-header + .v-faq-grid > 2x accordion) ---------- */
html body .elementor-562 .vigour-master-container .v-faq-header { display: flex !important; flex-direction: column !important; gap: 8px !important; text-align: left !important; max-width: 640px !important; width: 100% !important; margin: 0 0 var(--g-head) !important; padding: 0 !important; }
html body .elementor-562 .vigour-master-container .v-faq-header > * { margin: 0 !important; width: auto !important; }
html body .elementor-562 .vigour-master-container .v-faq-heading,
html body .elementor-562 .vigour-master-container .v-faq-heading * { font-size: 24px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.3px; color: var(--g-ink) !important; text-align: left !important; margin: 0 !important; }
html body .elementor-562 .v-faq-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 18px !important; align-items: start !important; padding: 0 !important; }
html body .elementor-562 .v-faq-col { padding: 0 !important; margin: 0 !important; width: 100% !important; }
html body .elementor-562 .v-faq-accordion { width: 100% !important; margin: 0 !important; }
html body .elementor-562 .v-faq-accordion .elementor-accordion { display: flex; flex-direction: column; gap: 14px; }
html body .elementor-562 .v-faq-accordion .elementor-accordion-item {
  background: var(--g-card) !important; border: 1px solid var(--g-border) !important; border-radius: var(--g-radius) !important;
  box-shadow: 0 2px 10px rgba(16,18,23,.04) !important; overflow: hidden; transition: border-color .2s;
}
html body .elementor-562 .v-faq-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid var(--g-border) !important; }
html body .elementor-562 .v-faq-accordion .elementor-accordion-item:has(.elementor-active) { border-color: rgba(218,99,64,.45) !important; }
html body .elementor-562 .v-faq-accordion .elementor-tab-title {
  display: flex !important; align-items: center; gap: 14px; padding: 16px 20px !important; border: 0 !important; margin: 0 !important;
  font-family: 'Inter', sans-serif !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.45 !important; color: var(--g-ink) !important; cursor: pointer;
}
html body .elementor-562 .v-faq-accordion .elementor-tab-title a,
html body .elementor-562 .v-faq-accordion .elementor-tab-title .elementor-accordion-title { flex: 1 1 auto; order: 1; color: var(--g-ink) !important; font: inherit !important; text-decoration: none !important; }
html body .elementor-562 .v-faq-accordion .elementor-tab-title.elementor-active a { color: var(--g-accent) !important; }
html body .elementor-562 .v-faq-accordion .elementor-accordion-icon {
  order: 2; flex: 0 0 24px; width: 24px !important; height: 24px; border-radius: 50%; background: rgba(218,99,64,.10);
  display: inline-flex !important; align-items: center; justify-content: center; float: none !important; margin: 0 !important; text-align: center;
}
html body .elementor-562 .v-faq-accordion .elementor-accordion-icon i,
html body .elementor-562 .v-faq-accordion .elementor-accordion-icon svg { font-size: 10px !important; width: 10px !important; height: 10px !important; color: var(--g-accent) !important; fill: var(--g-accent) !important; }
html body .elementor-562 .v-faq-accordion .elementor-tab-content {
  padding: 0 20px 18px !important; border: 0 !important; background: transparent !important;
  font-family: 'Inter', sans-serif !important;
}
html body .elementor-562 .v-faq-accordion .elementor-tab-content,
html body .elementor-562 .v-faq-accordion .elementor-tab-content * { font-size: 13px !important; line-height: 1.65 !important; color: var(--g-muted) !important; margin: 0 !important; }
@media (max-width: 767px) {
  html body .elementor-562 .v-faq-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html body .elementor-562 .v-faq-accordion .elementor-tab-title { padding: 14px 16px !important; font-size: 14px !important; }
  html body .elementor-562 .v-faq-accordion .elementor-tab-content { padding: 0 16px 16px !important; }
}

/* ---------- Alignment & icon fixes (2026-09-28) ---------- */
/* BOT arrows: Elementor gives every container ::before a 100% height, so translateY(-50%) pushed the arrow to the top edge. Size it to the glyph so it sits in the vertical middle of the cards. */
html body .elementor-562 .vb-step-wrapper + .vb-step-wrapper::before { width: 20px !important; height: 20px !important; bottom: auto !important; right: auto !important; text-align: center; background: none !important; border: 0 !important; opacity: 1 !important; }
@media (max-width: 1024px) {
  html body .elementor-562 .vb-step-wrapper + .vb-step-wrapper::before { top: -30px !important; left: 50% !important; transform: translateX(-50%) !important; }
}
/* Challenges intro: keep the intended 860px line length (was stretched to full width by the header "> *" rule) */
html body .elementor-562 .vigour-master-container .v-challenges-header > .v-challenges-intro { max-width: 860px !important; }
/* Highlight card: one quote mark only (top-left, same as the testimonial card) */
html body .elementor-562 .v-highlight-text::after { display: none !important; }
html body .elementor-562 .v-highlight-text { padding-bottom: 0 !important; }

/* ---------- Section headers: heading left, sub-heading right (same pattern as Home) ---------- */
html body .elementor-562 .v-head-note, html body .elementor-562 .v-head-note * { font-size: 13.5px !important; line-height: 1.65 !important; color: var(--g-muted) !important; text-align: left !important; margin: 0 !important; }
@media (min-width: 1025px) {
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) {
    display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; grid-template-rows: auto auto !important;
    column-gap: 64px !important; row-gap: 8px !important; align-items: start !important; max-width: none !important; width: 100% !important; flex-direction: unset !important;
  }
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) > :is(.v-eyebrow, .vb-subtitle) { grid-column: 1 / -1 !important; grid-row: 1 !important; }
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) > :is(.v-challenges-title, .v-solutions-heading, .v-gcc-heading, .vb-title, .v-scale-heading, .v-stats-heading, .v-choose-heading, .v-faq-heading) { grid-column: 1 !important; grid-row: 2 !important; align-self: start !important; }
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) > :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading, .v-head-note) { grid-column: 2 !important; grid-row: 2 !important; align-self: start !important; justify-self: stretch !important; max-width: none !important; width: auto !important; margin: 0 !important; padding-top: 4px !important; }
  html body .elementor-562.elementor-562 .vigour-master-container .vb-intro-col > .vb-desc + .vb-desc { grid-row: 3 !important; padding-top: 0 !important; margin-top: 4px !important; }
}
@media (max-width: 1024px) {
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none !important; row-gap: 6px !important; max-width: none !important; }
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-header, .v-solutions-header, .v-gcc-header, .vb-intro-col, .v-scale-header, .v-stats-header, .v-choose-header, .v-faq-header) > * { grid-column: 1 !important; grid-row: auto !important; }
  html body .elementor-562.elementor-562 .vigour-master-container :is(.v-challenges-intro, .v-gcc-subheading, .vb-desc, .v-scale-subheading, .v-head-note) { max-width: 720px !important; margin-top: 4px !important; }
}
