/**
 * GoK Marketing — minimal custom CSS
 * Only for behaviors Elementor cannot do natively:
 * sticky blur nav, pulse dot, bar grow, reveal, modal overlay, form fields, platform logo filter, reel aspect.
 */

body.gok-marketing-landing {
  font-family: "Montserrat", sans-serif;
  color: #14161d;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

body.gok-marketing-landing .site-header,
body.gok-marketing-landing .site-footer,
body.gok-marketing-landing .page-header {
  display: none !important;
}

/* Neutralize Elementor default widget gaps */
body.gok-marketing-landing .elementor-element {
  --widgets-spacing: 0px 0px !important;
}

/* Button line-height like HTML (normal) */
body.gok-marketing-landing .elementor-widget-button .elementor-button {
  font-family: "Montserrat", sans-serif;
  line-height: normal !important;
}

/*
 * Hello Elementor reset.css paints native buttons #cc3366 (#c36) on :hover/:focus
 * and links #336 — kill that purple and use brand red instead.
 */
body.gok-marketing-landing button:hover,
body.gok-marketing-landing button:focus,
body.gok-marketing-landing button:focus-visible,
body.gok-marketing-landing [type="button"]:hover,
body.gok-marketing-landing [type="button"]:focus,
body.gok-marketing-landing [type="button"]:focus-visible,
body.gok-marketing-landing [type="submit"]:hover,
body.gok-marketing-landing [type="submit"]:focus,
body.gok-marketing-landing [type="submit"]:focus-visible {
  background-color: #b8161f !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}
/* Primary Elementor CTAs */
body.gok-marketing-landing .elementor-button:hover,
body.gok-marketing-landing .elementor-button:focus,
body.gok-marketing-landing .elementor-button:focus-visible {
  outline: none !important;
}
body.gok-marketing-landing .gok-open-modal .elementor-button:hover,
body.gok-marketing-landing .gok-open-modal .elementor-button:focus,
body.gok-marketing-landing .gok-open-modal .elementor-button:focus-visible {
  background-color: #b8161f !important;
  color: #fff !important;
}
/* Hero / CTA white secondary button */
body.gok-marketing-landing .gok-hero-ctas .elementor-button[href="#services"]:hover,
body.gok-marketing-landing .gok-hero-ctas .elementor-button[href="#services"]:focus,
body.gok-marketing-landing .elementor-element-111dddb .elementor-button:hover,
body.gok-marketing-landing .elementor-element-111dddb .elementor-button:focus {
  background-color: #fff !important;
  color: #14161d !important;
  border-color: #14161d !important;
}
/* CTA card white button */
body.gok-marketing-landing .gok-cta-card .gok-open-modal .elementor-button:hover,
body.gok-marketing-landing .gok-cta-card .gok-open-modal .elementor-button:focus {
  background-color: #ffe4e6 !important;
  color: #a91520 !important;
}
/* Text / ghost buttons (nav, footer links, close) */
body.gok-marketing-landing .gok-nav-link .elementor-button:hover,
body.gok-marketing-landing .gok-nav-link .elementor-button:focus,
body.gok-marketing-landing .gok-footer-grid .elementor-button:hover,
body.gok-marketing-landing .gok-footer-grid .elementor-button:focus,
body.gok-marketing-landing .gok-close-modal .elementor-button:hover,
body.gok-marketing-landing .gok-close-modal .elementor-button:focus,
body.gok-marketing-landing .gok-pill .elementor-button:hover,
body.gok-marketing-landing .gok-pill .elementor-button:focus {
  background-color: transparent !important;
  background: transparent !important;
}
body.gok-marketing-landing .gok-nav-link .elementor-button:hover,
body.gok-marketing-landing .gok-nav-link .elementor-button:focus,
body.gok-marketing-landing .gok-footer-grid .elementor-button:hover,
body.gok-marketing-landing .gok-footer-grid .elementor-button:focus {
  color: #d81f2a !important;
}
body.gok-marketing-landing .gok-close-modal .elementor-button:hover,
body.gok-marketing-landing .gok-close-modal .elementor-button:focus {
  color: #14161d !important;
}
/* Method pills — keep designed states (don't inherit reset magenta) */
body.gok-marketing-landing .gok-method-pills button:hover,
body.gok-marketing-landing .gok-method-pills button:focus,
body.gok-marketing-landing .gok-method-pills button:focus-visible {
  background-color: #fdf1f2 !important;
  color: #a91520 !important;
  border-color: #d81f2a !important;
}
body.gok-marketing-landing .gok-method-pills button.is-active,
body.gok-marketing-landing .gok-method-pills button.is-active:hover,
body.gok-marketing-landing .gok-method-pills button.is-active:focus {
  background-color: #fdf1f2 !important;
  color: #a91520 !important;
  border-color: #d81f2a !important;
}
/* CF7 submit */
body.gok-marketing-landing .gok-form-submit:hover,
body.gok-marketing-landing .gok-form-submit:focus,
body.gok-marketing-landing .gok-form-submit:focus-visible,
body.gok-marketing-landing input.gok-form-submit:hover,
body.gok-marketing-landing input.gok-form-submit:focus,
body.gok-marketing-landing input.gok-form-submit:focus-visible {
  background-color: #b8161f !important;
  color: #fff !important;
}
/* Kill Hello reset purple link hover (#336) on the landing */
body.gok-marketing-landing a:hover,
body.gok-marketing-landing a:active,
body.gok-marketing-landing a:focus {
  color: #d81f2a;
}
body.gok-marketing-landing .gok-nav-link .elementor-button {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.gok-marketing-landing .gok-pill .elementor-button {
  cursor: default;
  pointer-events: none;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: normal !important;
  padding: 6px 12px !important;
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* Industry focus pills — HTML: 12px, no border, #fdf1f2 / #a91520 → 27px */
body.gok-marketing-landing #industries .gok-pill .elementor-button {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #a91520 !important;
  background: #fdf1f2 !important;
  border: none !important;
  border-width: 0 !important;
  box-shadow: none !important;
  padding: 6px 12px !important;
}

/* Service tags — HTML: 12px, border 1px #e6e8ec, bg #fafafb, color #454a57 */
body.gok-marketing-landing #services .gok-pill .elementor-button {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #454a57 !important;
  background: #fafafb !important;
  border: 1px solid #e6e8ec !important;
  box-shadow: none !important;
  padding: 6px 12px !important;
}

/* Heading / paragraph margins */
body.gok-marketing-landing .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important;
}
body.gok-marketing-landing .elementor-widget-text-editor > .elementor-widget-container,
body.gok-marketing-landing .elementor-widget-text-editor p {
  margin: 0 !important;
}

/* Icon list match HTML rows */
body.gok-marketing-landing .elementor-icon-list-items {
  margin: 0 !important;
  padding: 0 !important;
}
body.gok-marketing-landing .elementor-icon-list-item {
  margin: 0 !important;
}
body.gok-marketing-landing .elementor-icon-list-item .elementor-icon-list-text {
  font-family: Montserrat, sans-serif;
}

/* Progress bars: tighter vertical rhythm */
body.gok-marketing-landing .gok-progress {
  margin: 4px 0 !important;
}
body.gok-marketing-landing .gok-progress .elementor-title {
  font-family: Montserrat, sans-serif;
}

/* Social icons size ≈ 40px + 1px border = 42px outer (HTML content-box) */
body.gok-marketing-landing .elementor-social-icon {
  width: 40px !important;
  height: 40px !important;
  box-sizing: content-box !important;
  font-size: 15px !important;
  border: 1px solid #d9dbe0 !important;
  background: #fff !important;
  color: #33363f !important;
  border-radius: 50% !important;
  line-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Elementor defaults white glyph fills — force visible on white pills */
body.gok-marketing-landing .elementor-social-icon svg,
body.gok-marketing-landing .elementor-social-icon svg path {
  fill: currentColor !important;
  width: 15px !important;
  height: 15px !important;
}
body.gok-marketing-landing .elementor-social-icon:hover,
body.gok-marketing-landing .elementor-social-icon:focus {
  border-color: #d81f2a !important;
  color: #d81f2a !important;
}
body.gok-marketing-landing .gok-footer .elementor-widget-social-icons,
body.gok-marketing-landing .gok-footer .elementor-widget-social-icons .elementor-widget-container,
body.gok-marketing-landing .gok-footer .elementor-social-icons-wrapper {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}
body.gok-marketing-landing .gok-footer .elementor-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  height: 42px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.gok-marketing-landing .gok-footer .elementor-grid-item {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  width: auto !important;
}

/* Accordion spacing / borders */
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion {
  border: none !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-item + .elementor-accordion-item {
  margin-top: 12px;
}

/* Nav height lock */
body.gok-marketing-landing .gok-nav .e-con-inner {
  min-height: 72px;
}

/* —— Pixel layout locks (Elementor width:100% on full containers breaks %/flex) —— */

/* Hero: match HTML grid 1.05fr / 0.95fr */
body.gok-marketing-landing .gok-hero-grid > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 64px !important;
}
body.gok-marketing-landing .gok-hero-grid > .e-con-inner > .e-con:first-child {
  flex: 1.05 1 0% !important;
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
}
body.gok-marketing-landing .gok-hero-grid > .e-con-inner > .e-con:last-child {
  flex: 0.95 1 0% !important;
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Console metrics: 2×2 grid */
body.gok-marketing-landing .gok-metrics-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
body.gok-marketing-landing .gok-metrics-grid > .e-con {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}

/* Bars row height */
body.gok-marketing-landing .gok-bars {
  min-height: 84px !important;
  align-items: flex-end !important;
}
body.gok-marketing-landing .gok-bar {
  flex: 1 1 0 !important;
  --width: auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Industry + service two-column grids */
body.gok-marketing-landing .gok-two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
body.gok-marketing-landing .gok-two-col > .e-con {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Industry cards padding (HTML 36) — gap 20 */
body.gok-marketing-landing .gok-two-col > .gok-card {
  padding: 36px !important;
}
/* Service section cards use gap 16 — padding 34; class shared so detect via parent services */
body.gok-marketing-landing #services .gok-card {
  padding: 34px !important;
}
body.gok-marketing-landing #industries .gok-card {
  padding: 36px !important;
}

/* Process steps: 4 columns */
body.gok-marketing-landing .gok-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
body.gok-marketing-landing .gok-steps-grid > .e-con {
  --width: auto !important;
  width: auto !important;
}

/* Reels: 4 columns */
body.gok-marketing-landing .gok-reels-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}
body.gok-marketing-landing .gok-reels-grid > .e-con {
  --width: auto !important;
  width: auto !important;
}

/* Section eyebrows — HTML span 12px / normal ≈ 15px tall */
body.gok-marketing-landing .elementor-element-10d5790 .elementor-heading-title,
body.gok-marketing-landing .elementor-element-937160f .elementor-heading-title,
body.gok-marketing-landing .elementor-element-51c0299 .elementor-heading-title,
body.gok-marketing-landing .elementor-element-31f0e10 .elementor-heading-title,
body.gok-marketing-landing .elementor-element-68c5ef8 .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: normal !important;
  color: #d81f2a !important;
}
/* CTA eyebrow — same type, light pink on red card */
body.gok-marketing-landing .elementor-element-c19dcf3 .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: normal !important;
  color: #ffd2d5 !important;
}

/* Section H2 — HTML 36 / 1.15 = 41.4 */
body.gok-marketing-landing #industries h2.elementor-heading-title,
body.gok-marketing-landing #services h2.elementor-heading-title,
body.gok-marketing-landing #process h2.elementor-heading-title,
body.gok-marketing-landing #results h2.elementor-heading-title,
body.gok-marketing-landing #faq h2.elementor-heading-title {
  line-height: 1.15 !important;
  letter-spacing: -1px !important;
}

/* Footer: 1.5fr 0.75fr 0.65fr 0.65fr 1fr — stretch like HTML */
body.gok-marketing-landing .gok-footer-grid {
  display: grid !important;
  grid-template-columns: 1.5fr 0.75fr 0.65fr 0.65fr 1fr !important;
  gap: 40px !important;
  align-items: stretch !important;
}

body.gok-marketing-landing .gok-footer-grid > .e-con {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Results facts 2×2 */
body.gok-marketing-landing #results .gok-facts-grid,
body.gok-marketing-landing .gok-facts-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}
body.gok-marketing-landing .gok-facts-grid > .e-con {
  --width: auto !important;
  width: auto !important;
  padding: 18px !important;
  min-height: 86px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
}
body.gok-marketing-landing .gok-facts-grid .elementor-heading-title {
  line-height: 1.2 !important;
}

/* FAQ closed row ≈ 67px like HTML (incl. 1px borders) */
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-title {
  min-height: 65px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

/* Results section: equal 1fr 1fr columns like HTML */
body.gok-marketing-landing #results > .e-con-inner,
body.gok-marketing-landing #results .e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
}
body.gok-marketing-landing #results .e-con-inner > .e-con {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
}

/* Service tag row: HTML uses margin-top:auto (no extra when content-sized) */
body.gok-marketing-landing #services .gok-card > .e-con:last-child {
  margin-top: auto !important;
}

/* Icon list: HTML gap 10, no extra Elementor item padding */
body.gok-marketing-landing .elementor-icon-list-item {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.gok-marketing-landing #industries .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
body.gok-marketing-landing .elementor-icon-list-item:not(:last-child):after {
  display: none !important;
}

/* Footer contact rows: 40px icon tiles, gap 20 */
body.gok-marketing-landing .gok-footer .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}
body.gok-marketing-landing .gok-footer .elementor-icon-list-item {
  align-items: center !important;
  gap: 14px !important;
}
body.gok-marketing-landing .gok-footer .elementor-icon-list-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(216, 31, 42, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
body.gok-marketing-landing .gok-footer .elementor-icon-list-icon i,
body.gok-marketing-landing .gok-footer .elementor-icon-list-icon svg {
  font-size: 15px !important;
  width: 18px !important;
  height: 18px !important;
  fill: #d81f2a !important;
}
body.gok-marketing-landing .gok-footer .elementor-icon-list-text {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #14161d !important;
  white-space: pre-line !important;
  line-height: 1.35 !important;
}
/* Location subtitle — HTML 12.5px / #8a8f9b under “United States” */
body.gok-marketing-landing .gok-footer .elementor-icon-list-text .gok-footer-sub {
  display: block !important;
  margin-top: 2px !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #8a8f9b !important;
  line-height: 1.35 !important;
}

/* FAQ items match HTML accordion chrome */
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-item + .elementor-accordion-item {
  margin-top: 12px !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-title {
  padding: 20px 24px !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #14161d !important;
  font-family: Montserrat, sans-serif !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-content {
  padding: 0 24px 22px !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #4c515e !important;
}

/* Console metrics a bit taller to match HTML cells */
body.gok-marketing-landing .gok-metrics-grid > .e-con {
  padding: 14px 16px !important;
  min-height: 92px !important;
  box-sizing: border-box !important;
}
body.gok-marketing-landing .gok-bars {
  height: 84px !important;
  min-height: 84px !important;
  max-height: 84px !important;
}

/* Sticky nav glass */
.gok-nav {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 50;
}

/* Availability pulse */
.gok-pulse-dot {
  animation: gokPulseDot 2s ease infinite;
}
/* Lock pulse to 7×7 — Elementor flex can stretch --width on small viewports */
body.gok-marketing-landing .gok-pulse-dot {
  width: 7px !important;
  height: 7px !important;
  min-width: 7px !important;
  max-width: 7px !important;
  min-height: 7px !important;
  flex: 0 0 7px !important;
  --width: 7px !important;
  align-self: center !important;
}
@keyframes gokPulseDot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(216, 31, 42, 0.4); }
  50% { box-shadow: 0 0 0 6px rgba(216, 31, 42, 0); }
}

/* Hero chart bars */
.gok-bar {
  transform-origin: bottom;
  animation: gokGrowUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.gok-bars .e-con:nth-child(1) .gok-bar,
.gok-bars > .e-con:nth-child(1) { animation-delay: 0.30s; }
.gok-bars > .e-con:nth-child(2) { animation-delay: 0.35s; }
.gok-bars > .e-con:nth-child(3) { animation-delay: 0.40s; }
.gok-bars > .e-con:nth-child(4) { animation-delay: 0.45s; }
.gok-bars > .e-con:nth-child(5) { animation-delay: 0.50s; }
.gok-bars > .e-con:nth-child(6) { animation-delay: 0.55s; }
.gok-bars > .e-con:nth-child(7) { animation-delay: 0.60s; }
.gok-bars > .e-con:nth-child(8) { animation-delay: 0.65s; }
.gok-bars > .e-con:nth-child(9) { animation-delay: 0.70s; }
.gok-bars > .e-con:nth-child(10) { animation-delay: 0.75s; }
.gok-bars > .e-con:nth-child(11) { animation-delay: 0.80s; }
.gok-bars > .e-con:nth-child(12) { animation-delay: 0.85s; }
.gok-bars > .e-con:nth-child(13) { animation-delay: 0.90s; }
.gok-bars > .e-con:nth-child(14) { animation-delay: 0.95s; }
@keyframes gokGrowUp {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

/* Scroll reveal */
.gok-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.gok-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.gok-fade-up {
  animation: gokFadeUp 0.6s ease both;
}
.gok-fade-up--delay {
  animation-delay: 0.1s;
}
@keyframes gokFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Cards hover */
.gok-card:hover {
  border-color: #e3b9bc !important;
  box-shadow: 0 16px 40px rgba(20, 22, 29, 0.07);
}

/* Platform logos → black */
.gok-platform-logo img {
  filter: brightness(0);
  height: 32px !important;
  width: auto !important;
  max-width: 130px;
  object-fit: contain;
}

/* Progress bar value color */
.gok-progress .elementor-progress-percentage {
  color: #1a9e55 !important;
  font-weight: 700;
  font-family: Montserrat, sans-serif;
}
.gok-progress .elementor-progress-bar {
  background-image: linear-gradient(90deg, #d81f2a, #ff5a63) !important;
}

/* Results report rows: match HTML horizontal label | bar | value */
body.gok-marketing-landing .gok-progress.elementor-widget-progress {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 10px 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
body.gok-marketing-landing .gok-progress .elementor-title {
  flex: 0 0 150px !important;
  width: 150px !important;
  max-width: 150px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: #4c515e !important;
  line-height: 1.4 !important;
  display: block !important;
}
body.gok-marketing-landing .gok-progress .elementor-progress-wrapper {
  flex: 1 1 auto !important;
  height: 8px !important;
  min-height: 8px !important;
  border-radius: 999px !important;
  background-color: #f0f1f4 !important;
  overflow: visible !important;
  margin: 0 !important;
  position: relative !important;
}
body.gok-marketing-landing .gok-progress .elementor-progress-bar {
  height: 8px !important;
  border-radius: 999px !important;
  line-height: 8px !important;
  font-size: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  display: block !important;
}
/* Show signed delta (inner_text) on the right; hide raw % */
body.gok-marketing-landing .gok-progress .elementor-progress-percentage {
  display: none !important;
}
body.gok-marketing-landing .gok-progress .elementor-progress-text {
  position: absolute !important;
  left: calc(100% + 16px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 56px !important;
  text-align: right !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #1a9e55 !important;
  font-family: Montserrat, sans-serif !important;
  display: block !important;
  white-space: nowrap !important;
}
body.gok-marketing-landing .gok-progress.elementor-widget-progress {
  padding-right: 72px !important;
  box-sizing: border-box !important;
}

/* CTA card: exact HTML rhythm (gap 22, kids sum → 463) */
body.gok-marketing-landing .gok-cta-card {
  padding: 72px 48px !important;
  gap: 22px !important;
}
body.gok-marketing-landing .gok-cta-card > .elementor-widget-heading {
  line-height: 0 !important;
}
body.gok-marketing-landing .gok-cta-card > .elementor-widget-heading .elementor-heading-title:not(h2) {
  line-height: normal !important;
}
/* CTA note — HTML 13px / #ffd2d5 */
body.gok-marketing-landing .elementor-element-483b2c8 .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffd2d5 !important;
  line-height: normal !important;
}
body.gok-marketing-landing .gok-cta-card h2.elementor-heading-title {
  font-size: 38px !important;
  line-height: 1.15 !important;
  max-width: 18ch;
  margin-left: auto !important;
  margin-right: auto !important;
  letter-spacing: -1px !important;
  text-wrap: balance;
}
body.gok-marketing-landing .gok-cta-card .elementor-widget-text-editor p {
  max-width: 56ch;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.7 !important;
}

/* Hero primary CTA shadow (Elementor Free sometimes drops box_shadow in CSS) */
body.gok-marketing-landing .gok-hero-ctas .gok-open-modal .elementor-button {
  box-shadow: 0 8px 24px rgba(216, 31, 42, 0.3) !important;
}

/* Hero meta row: match HTML span line-height (normal ≈ 16px), not 19.5 */
body.gok-marketing-landing .elementor-element-5df6d1f .elementor-widget-text-editor p,
body.gok-marketing-landing .gok-hero-meta .elementor-widget-text-editor p {
  font-size: 13px !important;
  line-height: normal !important;
  color: #7b8090 !important;
}

/* Availability badge text line-height */
body.gok-marketing-landing .gok-avail-badge .elementor-heading-title {
  line-height: normal !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
}

/* Footer brand — tagline only (no logo), matches reference */
body.gok-marketing-landing .gok-footer-brand {
  align-items: flex-start !important;
  align-self: flex-start !important;
  flex-direction: column !important;
  gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
body.gok-marketing-landing .gok-footer-brand .elementor-widget-image {
  display: none !important;
}
body.gok-marketing-landing .gok-footer-brand .elementor-widget-text-editor {
  flex: 0 1 auto !important;
  align-self: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}
body.gok-marketing-landing .gok-footer-brand .elementor-widget-text-editor,
body.gok-marketing-landing .gok-footer-brand .elementor-widget-text-editor p {
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  color: #5b616e !important;
  margin: 0 !important;
}
body.gok-marketing-landing .gok-logo img,
body.gok-marketing-landing .gok-logo .elementor-widget-container {
  width: 180px !important;
  height: auto !important;
  max-width: 180px !important;
}
body.gok-marketing-landing .gok-logo img {
  height: 42px !important;
  object-fit: contain !important;
}

/* Hero console caption — HTML 12.5px / normal ≈ 15px */
body.gok-marketing-landing .elementor-element-7f92710 .elementor-heading-title {
  font-size: 12.5px !important;
  line-height: normal !important;
  color: #9a9fac !important;
}

/* Industry card titles / eyebrows — HTML uses line-height: normal */
body.gok-marketing-landing #industries .gok-card > .elementor-widget-heading .elementor-heading-title {
  line-height: normal !important;
}

/* Process step labels — HTML span ~17px tall at 13.5 / normal (not h2/h3) */
body.gok-marketing-landing #process .elementor-widget-heading .elementor-heading-title:not(h2):not(h3) {
  line-height: normal !important;
}
/* Process step titles — HTML 17.5 / 1.3 = 22.75 ≈ 23px */
body.gok-marketing-landing #process h3.elementor-heading-title {
  font-size: 17.5px !important;
  line-height: 1.3 !important;
}

/* Console Live badge — HTML 11.5px / pad 5 12 → ~22–24px tall
   Elementor sets --container-widget-width: calc((1-1)*100%) = 0 when width:auto,
   which crushes "Live" and makes the label spill out of the pill. */
body.gok-marketing-landing .elementor-element-a3940d2 {
  --container-widget-width: auto !important;
  --width: auto !important;
  width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 5px 12px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  align-items: center !important;
  gap: 6px !important;
}
body.gok-marketing-landing .elementor-element-a3940d2 > .e-con,
body.gok-marketing-landing .elementor-element-a3940d2 > .elementor-widget {
  --width: auto !important;
  --container-widget-width: auto !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}
/* Green status dot — exactly 6×6 */
body.gok-marketing-landing .elementor-element-ba67b1f {
  width: 6px !important;
  min-width: 6px !important;
  max-width: 6px !important;
  height: 6px !important;
  min-height: 6px !important;
  flex: 0 0 6px !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.gok-marketing-landing .elementor-element-a3940d2 .elementor-heading-title,
body.gok-marketing-landing .elementor-element-38c4cde .elementor-heading-title {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: normal !important;
  color: #1a9e55 !important;
  white-space: nowrap !important;
  width: auto !important;
  max-width: none !important;
}
body.gok-marketing-landing .elementor-element-38c4cde {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}
body.gok-marketing-landing .elementor-element-b685ff2 {
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 24px !important;
  max-height: none !important;
  overflow: visible !important;
  width: 100% !important;
}
/* Growth console title only — do NOT style Live badge via this row */
body.gok-marketing-landing .elementor-element-5cfa761 .elementor-heading-title {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
}

/* Console chart: exact 145px block (16+17+12+84+16) */
body.gok-marketing-landing .elementor-element-2dea231 {
  padding: 16px !important;
  gap: 12px !important;
}
body.gok-marketing-landing .elementor-element-2dea231 > .e-con:first-child {
  min-height: 0 !important;
  height: auto !important;
}
body.gok-marketing-landing .elementor-element-2dea231 > .e-con:first-child .elementor-heading-title {
  line-height: normal !important;
  font-size: 12px !important;
}
body.gok-marketing-landing .gok-bars {
  height: 84px !important;
  min-height: 84px !important;
  max-height: 84px !important;
}

/* Reviews: platform column vertical rhythm */
body.gok-marketing-landing .gok-reviews .e-con-inner {
  padding: 56px 32px !important;
  gap: 72px !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
body.gok-marketing-landing .gok-reviews .elementor-heading-title {
  line-height: normal !important;
}
body.gok-marketing-landing .gok-platform-logo img {
  height: 32px !important;
  width: auto !important;
  max-width: 130px !important;
}

/* Footer column titles — HTML 15.5 / normal ≈ 19px */
body.gok-marketing-landing .gok-footer-grid .elementor-heading-title {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  line-height: normal !important;
  color: #14161d !important;
}
/* Follow us — HTML 15px */
body.gok-marketing-landing .gok-footer .elementor-element-43892e4 .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: normal !important;
  color: #14161d !important;
}
body.gok-marketing-landing .gok-footer .elementor-element-400d72e .elementor-heading-title,
body.gok-marketing-landing .gok-footer .elementor-element-400d72e .elementor-widget-text-editor,
body.gok-marketing-landing .gok-footer .elementor-element-400d72e p {
  font-size: 12.5px !important;
  line-height: normal !important;
  color: #8a8f9b !important;
}

/* CTA card button shadow */
body.gok-marketing-landing .gok-cta-card .gok-open-modal .elementor-button {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

/* Industry checkmarks like HTML text ✓ (not oversized FA icons) */
body.gok-marketing-landing #industries .elementor-icon-list-icon {
  width: auto !important;
}
body.gok-marketing-landing #industries .elementor-icon-list-icon i {
  font-size: 0 !important;
}
body.gok-marketing-landing #industries .elementor-icon-list-icon i::before {
  content: "✓" !important;
  font-size: 14px !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: #d81f2a !important;
}
body.gok-marketing-landing #industries .elementor-icon-list-item {
  align-items: flex-start !important;
  gap: 10px !important;
}
body.gok-marketing-landing #industries .elementor-icon-list-text {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #33363f !important;
}

/* Console metric cell padding */
body.gok-marketing-landing .gok-metrics-grid > .e-con {
  padding: 14px 16px !important;
}

/* FAQ accordion match */
.gok-faq-accordion .elementor-accordion-item {
  background: #fff;
  border: 1px solid #ecedf0 !important;
  border-radius: 14px !important;
  margin-bottom: 0 !important;
  overflow: hidden;
}
.gok-faq-accordion .elementor-accordion-item + .elementor-accordion-item {
  margin-top: 12px !important;
}
.gok-faq-accordion .elementor-tab-title {
  padding: 20px 24px !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  font-family: Montserrat, sans-serif !important;
  color: #14161d !important;
}
.gok-faq-accordion .elementor-tab-content {
  padding: 0 24px 22px !important;
  border: none !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  color: #4c515e !important;
}

/* Reels — HTML: aspect-ratio 9/16, video absolute cover fill */
body.gok-marketing-landing .gok-reel {
  aspect-ratio: 9 / 16 !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #f0f1f4 !important;
}
body.gok-marketing-landing .gok-reel > .gok-reel-video,
body.gok-marketing-landing .gok-reel > .elementor-widget-video,
body.gok-marketing-landing .gok-reel .gok-reel-video .elementor-widget-container,
body.gok-marketing-landing .gok-reel .gok-reel-video .elementor-wrapper,
body.gok-marketing-landing .gok-reel .gok-reel-video .e-hosted-video,
body.gok-marketing-landing .gok-reel .elementor-widget-video .elementor-wrapper,
body.gok-marketing-landing .gok-reel .elementor-widget-video .e-hosted-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  /* Override Elementor’s default 16:9 so portrait reels aren’t letterboxed/zoomed */
  --video-aspect-ratio: 0.5625 !important;
  aspect-ratio: 9 / 16 !important;
}
body.gok-marketing-landing .gok-reel video,
body.gok-marketing-landing .gok-reel .elementor-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
/* Mute chip — HTML top-right control */
body.gok-marketing-landing .gok-reel::after {
  content: "🔇" !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 3 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(16, 17, 22, 0.65) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  pointer-events: none !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}
body.gok-marketing-landing .gok-reel-meta {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  padding: 0 18px 18px !important;
  background: linear-gradient(180deg, rgba(16, 17, 22, 0) 55%, rgba(16, 17, 22, 0.75) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 3px !important;
}
/* First meta line is REEL · 0N — lift to top badge like HTML */
body.gok-marketing-landing .gok-reel-meta > .elementor-element:first-child {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  background: rgba(16, 17, 22, 0.65) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}
body.gok-marketing-landing .gok-reel-meta > .elementor-element:first-child::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #ff4d57 !important;
  flex-shrink: 0 !important;
}
body.gok-marketing-landing .gok-reel-meta > .elementor-element:first-child .elementor-heading-title {
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  color: #fff !important;
  line-height: 1 !important;
}

/* FAQ icons — HTML: + / − text glyphs on the RIGHT (#d81f2a, 20px) */
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  text-align: left !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon {
  float: none !important;
  order: 2 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 20px !important;
  height: auto !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  color: #d81f2a !important;
  line-height: 1 !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-title,
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-title .elementor-accordion-title {
  order: 1 !important;
  flex: 1 1 auto !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon-closed,
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon-opened,
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon svg,
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon i {
  display: none !important;
}
/* Match HTML text glyphs exactly (not FA / thick SVG bars) */
body.gok-marketing-landing .gok-faq-accordion .elementor-accordion-icon::after {
  content: "+" !important;
  display: block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #d81f2a !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
}
body.gok-marketing-landing .gok-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon::after {
  content: "\2212" !important; /* − */
}


/* Modal — Elementor Free has no popup; position overlay via CSS */
.gok-modal {
  position: fixed !important;
  inset: 0;
  z-index: 10000;
  display: none !important;
  align-items: flex-start !important;
  justify-content: center !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 24px;
  /* Escape ancestors with overflow-x: clip that break position:fixed on mobile */
  transform: translateZ(0);
}
.gok-modal.is-open {
  display: flex !important;
}
.gok-modal-dialog {
  flex-direction: column !important;
  /* Elementor defaults flex-wrap:wrap — with max-height the tall form
     wraps into a 2nd column and gets clipped (empty white modal on mobile). */
  flex-wrap: nowrap !important;
  max-height: min(90vh, 720px);
  width: 100%;
  max-width: 640px;
  margin: auto 0;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  opacity: 1;
  /* Animation only while open — applying it while parent is display:none
     leaves fill-mode:both stuck at opacity:0 (common on mobile). */
}
.gok-modal-dialog > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  flex-shrink: 0;
}
.gok-modal.is-open .gok-modal-dialog {
  animation: gokPopIn 0.25s ease both;
}
@keyframes gokPopIn {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.gok-form-done { display: none !important; }
.gok-modal.is-done .gok-form-done { display: flex !important; }
.gok-modal.is-done .gok-form-pending { display: none !important; }
.gok-success-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #ecf8f1;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Audit form — Contact Form 7, pixel-matched to HTML reference */
.gok-cf7 .wpcf7-form,
.gok-audit-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-family: Montserrat, sans-serif;
  margin: 0;
}
.gok-cf7 .gok-cf7-response {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}
.gok-cf7 .wpcf7-spinner {
  position: absolute;
  right: 28px;
  bottom: 36px;
  margin: 0;
}
.gok-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.gok-audit-form > label,
.gok-audit-form .gok-form-grid > label,
.gok-audit-form .gok-form-grid label {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #7b8090 !important;
  margin: 0 !important;
  width: 100%;
}
/* Undo CF7 autop wrappers if any remain */
.gok-form-grid > p,
.gok-method-pills > p,
.gok-audit-form > p {
  display: contents;
  margin: 0 !important;
}
.gok-audit-form br {
  display: none !important;
}
.gok-audit-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin: 0;
}
.gok-audit-form input.wpcf7-form-control,
.gok-audit-form select.wpcf7-form-control,
.gok-audit-form textarea.wpcf7-form-control,
.gok-audit-form input[type="text"],
.gok-audit-form input[type="email"],
.gok-audit-form input[type="url"],
.gok-audit-form select,
.gok-audit-form textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9dbe0;
  border-radius: 10px;
  padding: 13px 14px;
  font-size: 14.5px;
  line-height: 1.4;
  color: #14161d;
  outline: none;
  background: #fff;
  font-family: Montserrat, sans-serif;
  margin: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
.gok-audit-form select.wpcf7-form-control,
.gok-audit-form select {
  padding: 13px 36px 13px 12px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237b8090' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}
.gok-audit-form textarea.wpcf7-form-control,
.gok-audit-form textarea {
  min-height: 112px; /* ~4 rows at 14.5 / 1.4 + padding */
  resize: vertical;
}
.gok-audit-form input:focus,
.gok-audit-form select:focus,
.gok-audit-form textarea:focus,
.gok-audit-form input.wpcf7-form-control:focus,
.gok-audit-form select.wpcf7-form-control:focus,
.gok-audit-form textarea.wpcf7-form-control:focus {
  border-color: #d81f2a;
}
.gok-audit-form .wpcf7-not-valid {
  border-color: #d81f2a !important;
}
.gok-audit-form .wpcf7-not-valid-tip {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: #d81f2a;
  margin-top: 6px;
}
.gok-form-methods {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.gok-form-methods > span {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #7b8090;
  margin-bottom: 10px;
}
.gok-method-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gok-method-pills button,
.gok-method-pills .gok-method-pill {
  border: 1px solid #d9dbe0;
  background: #fff;
  color: #454a57;
  font-weight: 600;
  font-size: 13.5px;
  padding: 10px 20px;
  border-radius: 10px;
  cursor: pointer;
  font-family: Montserrat, sans-serif;
  line-height: 1.2;
}
.gok-method-pills button.is-active,
.gok-method-pills .gok-method-pill.is-active {
  border-color: #d81f2a;
  background: #fdf1f2;
  color: #a91520;
}
.gok-audit-form input.gok-form-submit,
.gok-audit-form .gok-form-submit,
.gok-cf7 input[type="submit"].gok-form-submit {
  display: block;
  width: 100%;
  background: #d81f2a;
  color: #fff;
  font-weight: 700;
  font-size: 15.5px;
  padding: 16px;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  font-family: Montserrat, sans-serif;
  box-shadow: 0 8px 24px rgba(216, 31, 42, 0.3);
  line-height: 1.2;
  margin: 0;
  transition: background 0.15s ease;
}
.gok-audit-form input.gok-form-submit:hover,
.gok-audit-form .gok-form-submit:hover,
.gok-cf7 input[type="submit"].gok-form-submit:hover {
  background: #b8161f;
}
/* CF7 wraps submit in <p> — neutralize */
.gok-cf7 .wpcf7-form > p,
.gok-audit-form > p {
  margin: 0;
}
.gok-audit-form .gok-form-full {
  width: 100%;
}

/*
 * Responsive — match HTML breakpoints exactly (1020 / 860 / 640).
 * Desktop (≥1021) rules above must remain unchanged.
 */

/* —— Tablet / mid: ≤1020px —— HTML @media (max-width:1020px) —— */
@media (max-width: 1020px) {
  /* Hero: single column, gap 48, vertical pad 56 (Elementor tablet already sets 56 — don't double) */
  body.gok-marketing-landing .gok-hero-grid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.gok-marketing-landing .gok-hero-grid > .e-con-inner {
    flex-direction: column !important;
    gap: 48px !important;
    align-items: stretch !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  body.gok-marketing-landing .gok-hero-grid > .e-con-inner > .e-con {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
  }

  /* Results: stack, gap 44 — must override desktop display:grid 1fr 1fr */
  body.gok-marketing-landing #results > .e-con-inner,
  body.gok-marketing-landing #results .e-con-boxed > .e-con-inner,
  body.gok-marketing-landing #results.e-con > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 44px !important;
    align-items: stretch !important;
  }
  body.gok-marketing-landing #results > .e-con-inner > .e-con,
  body.gok-marketing-landing #results .e-con-boxed > .e-con-inner > .e-con,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner > .e-con,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    flex: none !important;
  }

  /* Steps + reels: 2 columns (NOT 1 — HTML keeps 2 until 640) */
  body.gok-marketing-landing .gok-steps-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.gok-marketing-landing .gok-reels-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.gok-marketing-landing .gok-steps-grid > .e-con,
  body.gok-marketing-landing .gok-reels-grid > .e-con {
    width: auto !important;
    max-width: none !important;
    --width: auto !important;
  }

  /* Industries/services two-col: stay 2 columns until 860 */
  body.gok-marketing-landing .gok-two-col {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Footer: 2 columns, gap 36 */
  body.gok-marketing-landing .gok-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
  body.gok-marketing-landing .gok-footer-grid > .e-con {
    width: auto !important;
    max-width: none !important;
    --width: auto !important;
    flex: none !important;
  }
}

/* —— Narrow tablet: ≤860px —— HTML @media (max-width:860px) —— */
@media (max-width: 860px) {
  body.gok-marketing-landing .gok-nav-links {
    display: none !important;
  }

  /* Nav: logo + CTA on one row (HTML keeps height 72, nowrap) */
  body.gok-marketing-landing .gok-nav > .e-con,
  body.gok-marketing-landing .gok-nav .e-con-boxed {
    min-height: 72px !important;
  }
  body.gok-marketing-landing .gok-nav .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px !important;
    height: 72px !important;
    gap: 12px !important;
  }
  body.gok-marketing-landing .gok-logo {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 180px !important;
  }
  body.gok-marketing-landing .gok-logo img {
    width: 180px !important;
    max-width: 100% !important;
    height: 42px !important;
  }
  body.gok-marketing-landing .gok-nav .gok-open-modal {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
  }
  body.gok-marketing-landing .gok-nav .gok-open-modal .elementor-button {
    padding: 11px 18px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* Industries + services stack to 1 column */
  body.gok-marketing-landing .gok-two-col {
    grid-template-columns: 1fr !important;
  }
  body.gok-marketing-landing .gok-two-col > .e-con,
  body.gok-marketing-landing .gok-two-col > .gok-card {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
  }
}
@media (min-width: 861px) {
  body.gok-marketing-landing .gok-nav-links {
    display: flex !important;
  }
}

/*
 * Elementor “mobile” kicks in at ≤767 while HTML mobile is ≤640.
 * Between 641–767 keep HTML mid-size padding / row CTAs / 2-col grids.
 */
@media (max-width: 767px) and (min-width: 641px) {
  /* Pad .e-con-inner only — padding on the container + inner doubles spacing */
  body.gok-marketing-landing .elementor-element-8e7787f,
  body.gok-marketing-landing .gok-hero-grid,
  body.gok-marketing-landing .elementor-element-e5795dc,
  body.gok-marketing-landing .elementor-element-97aeb26,
  body.gok-marketing-landing .elementor-element-d2097ad,
  body.gok-marketing-landing .elementor-element-8b8f549,
  body.gok-marketing-landing .elementor-element-3cef5bd,
  body.gok-marketing-landing .elementor-element-b8285e6,
  body.gok-marketing-landing .elementor-element-6780258,
  body.gok-marketing-landing .elementor-element-08a21d1,
  body.gok-marketing-landing .elementor-element-c9bca10 {
    padding: 0 !important;
  }
  body.gok-marketing-landing .elementor-element-8e7787f > .e-con-inner,
  body.gok-marketing-landing .gok-hero-grid > .e-con-inner,
  body.gok-marketing-landing .elementor-element-e5795dc > .e-con-inner,
  body.gok-marketing-landing .elementor-element-97aeb26 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-d2097ad > .e-con-inner,
  body.gok-marketing-landing .elementor-element-8b8f549 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner,
  body.gok-marketing-landing .elementor-element-b8285e6 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-6780258 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-08a21d1 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-c9bca10 > .e-con-inner {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  body.gok-marketing-landing .elementor-element-97aeb26 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-d2097ad > .e-con-inner,
  body.gok-marketing-landing .elementor-element-8b8f549 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner,
  body.gok-marketing-landing .elementor-element-b8285e6 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-6780258 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-08a21d1 > .e-con-inner {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
  body.gok-marketing-landing .gok-hero-ctas {
    flex-direction: row !important;
    align-items: center !important;
  }
  body.gok-marketing-landing .gok-hero-ctas .elementor-widget-button,
  body.gok-marketing-landing .gok-hero-ctas .elementor-button {
    width: auto !important;
  }
  body.gok-marketing-landing .gok-steps-grid,
  body.gok-marketing-landing .gok-reels-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.gok-marketing-landing .gok-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  body.gok-marketing-landing .gok-reviews .e-con-inner,
  body.gok-marketing-landing .elementor-element-e5795dc {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 72px !important;
  }
  body.gok-marketing-landing .gok-cta-card {
    padding: 72px 48px !important;
  }
}

/* —— Mobile: ≤640px —— HTML @media (max-width:640px) —— */
@media (max-width: 640px) {
  /* Horizontal pad 20; section vertical pad 64 — on .e-con-inner ONLY.
     Padding the Elementor container AND its inner doubled every section gap. */
  body.gok-marketing-landing .elementor-element-8e7787f,
  body.gok-marketing-landing .gok-hero-grid,
  body.gok-marketing-landing .elementor-element-e5795dc,
  body.gok-marketing-landing .elementor-element-97aeb26,
  body.gok-marketing-landing .elementor-element-d2097ad,
  body.gok-marketing-landing .elementor-element-8b8f549,
  body.gok-marketing-landing .elementor-element-3cef5bd,
  body.gok-marketing-landing .elementor-element-b8285e6,
  body.gok-marketing-landing .elementor-element-6780258,
  body.gok-marketing-landing .elementor-element-08a21d1,
  body.gok-marketing-landing .elementor-element-c9bca10 {
    padding: 0 !important;
  }
  body.gok-marketing-landing .elementor-element-8e7787f > .e-con-inner,
  body.gok-marketing-landing .gok-hero-grid > .e-con-inner,
  body.gok-marketing-landing .elementor-element-e5795dc > .e-con-inner,
  body.gok-marketing-landing .elementor-element-97aeb26 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-d2097ad > .e-con-inner,
  body.gok-marketing-landing .elementor-element-8b8f549 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner,
  body.gok-marketing-landing .elementor-element-b8285e6 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-6780258 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-08a21d1 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-c9bca10 > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  body.gok-marketing-landing .elementor-element-97aeb26 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-d2097ad > .e-con-inner,
  body.gok-marketing-landing .elementor-element-8b8f549 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-3cef5bd > .e-con-inner,
  body.gok-marketing-landing .elementor-element-b8285e6 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-6780258 > .e-con-inner,
  body.gok-marketing-landing .elementor-element-08a21d1 > .e-con-inner {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
  body.gok-marketing-landing .gok-hero-grid > .e-con-inner {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  /* Typography */
  body.gok-marketing-landing h1.elementor-heading-title,
  body.gok-marketing-landing .gok-hero h1 {
    font-size: 36px !important;
    letter-spacing: -1px !important;
  }
  body.gok-marketing-landing h2.elementor-heading-title {
    font-size: 28px !important;
    letter-spacing: -0.8px !important;
  }
  body.gok-marketing-landing .gok-cta-card h2.elementor-heading-title {
    font-size: 28px !important;
    letter-spacing: -0.8px !important;
  }

  /* Badge: hug content like HTML inline-flex */
  body.gok-marketing-landing .gok-avail-badge {
    width: auto !important;
    max-width: 100% !important;
    --width: auto !important;
    align-self: flex-start !important;
    flex: 0 0 auto !important;
  }

  /* Progress bars — fit full-width report card on mobile */
  body.gok-marketing-landing .gok-progress,
  body.gok-marketing-landing .gok-progress .elementor-widget-container {
    max-width: 100% !important;
  }
  body.gok-marketing-landing .elementor-element-85d17f4 {
    overflow: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    --width: 100% !important;
  }
  body.gok-marketing-landing .gok-progress.elementor-widget-progress {
    gap: 10px !important;
    padding-right: 52px !important;
    overflow: visible !important;
  }
  body.gok-marketing-landing .gok-progress .elementor-title {
    flex: 0 0 96px !important;
    width: 96px !important;
    max-width: 96px !important;
    font-size: 12.5px !important;
  }
  body.gok-marketing-landing .gok-progress .elementor-progress-wrapper {
    overflow: visible !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  body.gok-marketing-landing .gok-progress .elementor-progress-text {
    width: 48px !important;
    font-size: 13px !important;
    left: calc(100% + 10px) !important;
  }

  /* Facts grid stays 2×2 full width */
  body.gok-marketing-landing .gok-facts-grid {
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }

  /* Stack grids to 1 column */
  body.gok-marketing-landing .gok-steps-grid,
  body.gok-marketing-landing .gok-reels-grid,
  body.gok-marketing-landing .gok-footer-grid,
  body.gok-marketing-landing .gok-form-grid,
  .gok-form-grid,
  body.gok-marketing-landing .gok-audit-form .gok-form-grid {
    grid-template-columns: 1fr !important;
  }
  body.gok-marketing-landing .gok-steps-grid > .e-con,
  body.gok-marketing-landing .gok-reels-grid > .e-con,
  body.gok-marketing-landing .gok-footer-grid > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
  }

  /* Hero CTAs: full-width stack, centered */
  body.gok-marketing-landing .gok-hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
    width: 100% !important;
  }
  body.gok-marketing-landing .gok-hero-ctas .elementor-widget-button,
  body.gok-marketing-landing .gok-hero-ctas .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* CTA card padding */
  body.gok-marketing-landing .gok-cta-card {
    padding: 52px 24px !important;
  }

  /* Reviews stack */
  body.gok-marketing-landing .gok-reviews .e-con-inner,
  body.gok-marketing-landing .elementor-element-e5795dc {
    flex-direction: column !important;
    align-items: center !important;
    gap: 36px !important;
  }

  /* Console metrics stay 2×2 */
  body.gok-marketing-landing .gok-metrics-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Modal form usable full width — keep column+nowrap so form scrolls, not wraps off-screen */
  body.gok-marketing-landing .gok-modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(92vh, 100%) !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  body.gok-marketing-landing .gok-modal-dialog > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.gok-marketing-landing .gok-modal {
    padding: 16px !important;
    align-items: flex-start !important;
  }

  /* Kill horizontal scroll from wide children — but not while the audit
     modal is open (overflow-x:clip on .elementor breaks position:fixed). */
  body.gok-marketing-landing,
  body.gok-marketing-landing .elementor {
    overflow-x: clip;
  }
  body.gok-marketing-landing:has(#gok-audit-modal.is-open),
  body.gok-marketing-landing:has(#gok-audit-modal.is-open) .elementor {
    overflow-x: visible;
  }
  body.gok-marketing-landing .gok-pill .elementor-button {
    white-space: nowrap;
  }
}

/* —— Tiny phones: ≤360px —— keep nav single-row —— */
@media (max-width: 360px) {
  body.gok-marketing-landing .gok-logo img {
    width: min(180px, 46vw) !important;
  }
  body.gok-marketing-landing .gok-nav .gok-open-modal .elementor-button {
    padding: 10px 12px !important;
    font-size: 12.5px !important;
  }
  body.gok-marketing-landing .gok-nav .e-con-inner {
    gap: 8px !important;
  }
}
