/* ============================================================
   GOK Pixel-Perfect Match — React LandingPage.tsx is source of truth
   Measured @ 1440px against localhost:8080
   ============================================================ */
:root {
  --gok-bg: #050505;
  --gok-surface: #0B0D0C;
  --gok-card: #101311;
  --gok-elevated: #151A17;
  --gok-fg: #F4F7F5;
  --gok-muted: #CACACA;
  --gok-accent: #D0353E;
  --gok-accent-deep: #C9242A;
  --gok-hairline: rgba(208, 53, 62, 0.15);
  --gok-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --gok-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

html, body {
  background: var(--gok-bg) !important;
  color: var(--gok-fg) !important;
  font-family: var(--gok-sans) !important;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

/* Kill Hello Elementor / WP chrome */
.site-header,
header#site-header,
.hello-elementor header.site-header,
.skip-link { /* keep skip but hide visually when not focused */ }
a.skip-link {
  position: absolute;
  left: -9999px;
}
a.skip-link:focus { left: 8px; top: 8px; z-index: 100000; }

::selection { background: var(--gok-accent); color: #fff; }

.gok-mono, .gok-mono * { font-family: var(--gok-mono) !important; }

/* ---------- Sticky header (React: fixed, h≈68, transparent → blur) ---------- */
.elementor-location-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 50 !important;
  width: 100%;
}
.gok-header {
  min-height: 68px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  transition: background 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}
/* Full-bleed header bar wrapper */
.elementor-location-header > .elementor-element.gok-header,
.elementor-26 .gok-header {
  max-width: 1280px;
}
.elementor-location-header {
  background: transparent;
}
.elementor-location-header.is-scrolled,
.gok-header.is-scrolled {
  background: rgba(5, 5, 5, 0.7) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom-color: var(--gok-hairline) !important;
}
/* When scrolled, paint full width bar */
.elementor-location-header:has(.gok-header.is-scrolled) {
  background: rgba(5, 5, 5, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--gok-hairline);
}

/* Nav links — React: font-mono text-[13px] text-muted gap-8 */
.gok-header nav.gok-mono,
.gok-header nav {
  display: flex !important;
  gap: 32px !important;
  align-items: center;
}
.gok-header nav a {
  font-family: var(--gok-mono) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--gok-muted) !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
  transition: color 0.2s ease;
}
.gok-header nav a:hover { color: var(--gok-accent) !important; }

/* Brand */
.gok-header a[href="#top"] {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--gok-fg) !important;
  line-height: 1.2 !important;
}

/* Header Book Audit — React: font-mono text-sm px-4 py-2 */
.gok-header .gok-btn-primary .elementor-button,
.elementor-location-header .gok-btn-primary .elementor-button {
  font-family: var(--gok-mono) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  min-height: 0 !important;
  line-height: 20px !important;
  background: var(--gok-accent) !important;
  border-radius: 6px !important;
  border: none !important;
  box-shadow: none !important;
}
.gok-header .gok-btn-primary .elementor-button:hover {
  background: var(--gok-accent-deep) !important;
}

/* ---------- Status / pulse ---------- */
.gok-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gok-accent);
  vertical-align: middle;
  flex-shrink: 0;
  animation: gok-pulse-ring 1.8s ease-out infinite;
}
@keyframes gok-pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(208,53,62,0.55); }
  70% { box-shadow: 0 0 0 8px rgba(208,53,62,0); }
  100% { box-shadow: 0 0 0 0 rgba(208,53,62,0); }
}
@keyframes gok-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
.gok-blink {
  display: inline-block;
  width: 8px; height: 12px;
  background: var(--gok-accent);
  margin-left: 4px;
  vertical-align: middle;
  animation: gok-blink 1.1s steps(1) infinite;
}

/* ---------- Grid + hero glow (React bg-grid + radial) ---------- */
.gok-grid { position: relative; overflow: hidden; }
.gok-grid::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(208,53,62,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(208,53,62,0.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: 0.6;
  mask-image: radial-gradient(ellipse at center, black 40%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 40%, transparent 75%);
  pointer-events: none; z-index: 0;
}
.gok-grid > * { position: relative; z-index: 1; }

.gok-hero-glow { position: relative; }
.gok-hero-glow::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 500px;
  background: radial-gradient(ellipse at top, rgba(208,53,62,0.10), transparent 60%);
  pointer-events: none; z-index: 0;
}

/* ---------- Hero two-column (React lg:grid 1.05fr 1fr gap-16 = 64px) ---------- */
.gok-hero-row,
.gok-hero-row.e-con,
.gok-hero-row > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 64px !important;
  max-width: 1280px !important;
  width: 100% !important;
  box-sizing: border-box;
}
.gok-hero-row > .e-con-inner {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
.gok-hero-left {
  flex: 1.05 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
.gok-growth-console,
.gok-scanline.gok-growth-console {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: 560px !important;
  min-width: 0 !important;
}

@media (max-width: 1024px) {
  .gok-hero-row,
  .gok-hero-row > .e-con-inner {
    flex-wrap: wrap !important;
    gap: 40px !important;
  }
  .gok-hero-left,
  .gok-growth-console {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* H1 — React lg:text-6xl = 3.75rem = 60px, leading-[1.05], tracking-tight */
.elementor-28 h1.elementor-heading-title,
.gok-hero-left h1,
.elementor-widget-heading h1.elementor-heading-title {
  font-family: var(--gok-sans) !important;
  font-size: 60px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -1.5px !important;
  color: var(--gok-fg) !important;
  margin: 24px 0 0 !important;
}
@media (max-width: 1024px) {
  .elementor-28 h1.elementor-heading-title { font-size: 48px !important; letter-spacing: -1px !important; }
}
@media (max-width: 640px) {
  .elementor-28 h1.elementor-heading-title { font-size: 36px !important; letter-spacing: -0.5px !important; }
}

/* Section H2 — React text-3xl md:text-5xl = 48px */
.elementor-28 h2.elementor-heading-title {
  font-family: var(--gok-sans) !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  color: var(--gok-fg) !important;
  margin-top: 12px !important;
}
@media (max-width: 767px) {
  .elementor-28 h2.elementor-heading-title { font-size: 30px !important; }
}

/* Body / muted paragraphs */
.elementor-28 .elementor-widget-text-editor p {
  color: var(--gok-muted);
}
.gok-hero-left .elementor-widget-text-editor p {
  font-size: 18px !important;
  line-height: 1.625 !important;
  color: var(--gok-muted) !important;
  max-width: 36rem;
}
.gok-hero-left .elementor-widget-text-editor p + p,
.gok-hero-left .elementor-widget-text-editor p:nth-of-type(2) {
  font-size: 16px !important;
  margin-top: 16px !important;
}

/* Buttons — hero primary/ghost */
.gok-btn-primary .elementor-button {
  background: var(--gok-accent) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: none !important;
  transition: background 0.2s ease !important;
}
.gok-btn-primary .elementor-button:hover {
  background: var(--gok-accent-deep) !important;
}
.gok-hero-left .gok-btn-primary .elementor-button {
  font-family: var(--gok-sans) !important;
  font-size: 16px !important;
  padding: 12px 20px !important;
  line-height: 24px !important;
}
.gok-btn-ghost .elementor-button {
  background: transparent !important;
  color: var(--gok-fg) !important;
  border: 1px solid var(--gok-hairline) !important;
  border-radius: 6px !important;
  font-family: var(--gok-mono) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  padding: 12px 20px !important;
  line-height: 20px !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, color 0.2s ease !important;
}
.gok-btn-ghost .elementor-button:hover {
  border-color: var(--gok-accent) !important;
  color: var(--gok-accent) !important;
  background: transparent !important;
}

/* ---------- Growth console ---------- */
.gok-scanline { position: relative; overflow: hidden; }
.gok-scanline::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent, rgba(208,53,62,0.06), transparent);
  animation: gok-scan 6s linear infinite;
  pointer-events: none; z-index: 2;
}
@keyframes gok-scan {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
.gok-card {
  background: var(--gok-card);
  border: 1px solid var(--gok-hairline);
  border-radius: 12px;
}
.gok-elevated {
  background: rgba(21, 26, 23, 0.6);
  border: 1px solid var(--gok-hairline);
  border-radius: 8px;
}
.gok-metric {
  background: rgba(21, 26, 23, 0.6);
  border: 1px solid var(--gok-hairline);
  border-radius: 8px;
  padding: 16px;
}
.gok-metric .label {
  font-family: var(--gok-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gok-muted);
}
.gok-metric .value {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 700;
  color: var(--gok-fg);
  font-variant-numeric: tabular-nums;
  font-family: var(--gok-sans);
}
.gok-metric .delta {
  margin-top: 4px;
  font-family: var(--gok-mono);
  font-size: 11px;
  color: var(--gok-accent);
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ---------- Section label ---------- */
.gok-section-label {
  /* React SectionLabel: font-mono text-xs tracking-widest text-accent uppercase — no status dot */
  font-family: var(--gok-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--gok-accent) !important;
  display: block !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}
.gok-section-label::before {
  content: none !important;
  display: none !important;
}

/* ---------- Trust strip ---------- */
.elementor-28 .elementor-element:has(+ *) {
  /* no-op placeholder for structure */
}

/* ---------- Industry tabs ---------- */
.gok-tabs {
  display: inline-flex;
  background: var(--gok-surface);
  border: 1px solid var(--gok-hairline);
  border-radius: 6px;
  padding: 4px;
  font-family: var(--gok-mono);
  font-size: 12px;
  margin-top: 32px;
}
/* Override theme button:hover purple (#cc3366) */
.gok-tabs button,
.gok-tabs button:hover,
.gok-tabs button:focus,
.gok-tabs button:focus-visible,
.gok-tabs button:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--gok-muted) !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  cursor: pointer;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.gok-tabs button:not(.is-active):hover,
.gok-tabs button:not(.is-active):focus {
  color: var(--gok-fg) !important;
  background: transparent !important;
  background-color: transparent !important;
}
.gok-tabs button.is-active,
.gok-tabs button.is-active:hover,
.gok-tabs button.is-active:focus,
.gok-tabs button.is-active:focus-visible,
.gok-tabs button.is-active:active {
  background: var(--gok-accent) !important;
  background-color: var(--gok-accent) !important;
  color: #fff !important;
}

.gok-industry-panel { transition: opacity 0.2s ease, border-color 0.2s ease; display: flex !important; }
/* React: both panels always visible; inactive is opacity-70 below lg, full on lg+ */
.gok-industry-panel { opacity: 0.7; }
.gok-industry-panel.is-active { opacity: 1; }
@media (min-width: 1024px) {
  .gok-industry-panel { opacity: 1; }
  .gok-industry-panel:not(.is-active) { opacity: 0.7; }
}
/* Mobile: still show both stacked like React (no hide) */
@media (max-width: 767px) {
  .gok-industry-panel { width: 100% !important; max-width: 100% !important; }
}

/* ---------- Services ---------- */
.gok-services-grid:hover .gok-svc-card { opacity: 0.5; transition: opacity 0.2s ease, border-color 0.2s ease; }
.gok-services-grid .gok-svc-card:hover {
  opacity: 1 !important;
  border-color: rgba(208,53,62,0.5) !important;
}
.gok-chip {
  font-family: var(--gok-mono);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid var(--gok-hairline);
  color: var(--gok-muted);
  display: inline-block;
}

/* ---------- Process ---------- */
.gok-process-wrap { position: relative !important; }
.gok-process-line {
  position: absolute; top: 24px; left: 0; right: 0; height: 1px;
  background: var(--gok-hairline); z-index: 0;
}
.gok-process-line-fill {
  position: absolute; top: 24px; left: 0; height: 1px;
  background: var(--gok-accent); width: 0; z-index: 1;
  transition: width 1.6s ease-in-out;
}
@media (max-width: 767px) {
  .gok-process-line, .gok-process-line-fill { display: none; }
}

/* ---------- Bars / funnel ---------- */
.gok-bar-track {
  position: relative; height: 8px;
  background: var(--gok-elevated); border-radius: 2px; overflow: hidden;
}
.gok-bar-prev {
  position: absolute; inset: 0 auto 0 0;
  background: rgba(202, 202, 202, 0.25); height: 100%;
}
.gok-bar-now {
  position: absolute; inset: 0 auto 0 0;
  background: var(--gok-accent); height: 100%; width: 0;
  transition: width 1s ease-out;
}
.gok-funnel-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gok-accent-deep), var(--gok-accent));
  width: 0; transition: width 0.6s ease-out;
}

/* ---------- FAQ accordion ---------- */
.elementor-accordion .elementor-accordion-item {
  background: transparent !important;
  border-color: var(--gok-hairline) !important;
}
.elementor-accordion .elementor-tab-title {
  background: transparent !important;
  color: var(--gok-fg) !important;
  font-family: var(--gok-sans) !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  padding: 20px 0 !important;
}
.elementor-accordion .elementor-tab-content {
  background: transparent !important;
  color: var(--gok-muted) !important;
  border-color: var(--gok-hairline) !important;
  padding: 0 0 20px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.elementor-accordion .elementor-accordion-icon,
.elementor-accordion .elementor-accordion-icon i {
  color: var(--gok-accent) !important;
}

/* ---------- Quote mark ---------- */
.gok-quote-mark {
  position: absolute; top: -24px; left: -8px;
  font-size: 140px; line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  color: rgba(208, 53, 62, 0.1);
  pointer-events: none; user-select: none;
}

/* ---------- Mobile drawer ---------- */
.gok-mobile-drawer {
  position: fixed; inset: 0; z-index: 9999; display: none;
}
.gok-mobile-drawer.is-open { display: block; }
.gok-mobile-drawer__backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,0.7);
}
.gok-mobile-drawer__panel {
  position: absolute; top: 0; right: 0;
  height: 100dvh; width: 82%; max-width: 24rem;
  background: var(--gok-surface);
  border-left: 1px solid var(--gok-hairline);
  padding: 24px;
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.25s ease;
}
.gok-mobile-drawer.is-open .gok-mobile-drawer__panel { transform: translateX(0); }
body.gok-drawer-open { overflow: hidden; }
@media (min-width: 768px) {
  .gok-burger { display: none !important; }
  .gok-mobile-drawer { display: none !important; }
}
@media (max-width: 767px) {
  .gok-burger { display: inline-flex !important; }
  .gok-header nav,
  .elementor-location-header .gok-btn-primary { display: none !important; }
  .gok-header { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ---------- Book Audit modal (React BookModal + CF7) ---------- */
body.gok-popup-open { overflow: hidden; }

#gok-fallback-popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
#gok-fallback-popup.is-open { display: flex; }
#gok-fallback-popup .gok-fb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(4px);
}
#gok-fallback-popup .gok-fb-panel {
  position: relative;
  width: 100%;
  max-width: 32rem; /* max-w-lg */
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #101311;
  border: 1px solid var(--gok-hairline);
  border-radius: 12px;
  padding: 0;
  color: var(--gok-fg);
  box-shadow: none;
}
.gok-audit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--gok-hairline);
  padding: 16px 20px;
  flex-shrink: 0;
}
.gok-audit-header .gok-mono {
  font-size: 12px;
  line-height: 16px;
  color: var(--gok-muted);
}
.gok-audit-close {
  appearance: none;
  background: none;
  border: 0;
  color: var(--gok-fg);
  padding: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  line-height: 0;
}
.gok-audit-close:hover,
.gok-audit-close:focus {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--gok-fg) !important;
  outline: none;
}
.gok-audit-body {
  overflow-y: auto;
  flex: 1 1 auto;
}

/* CF7 shell resets */
#gok-fallback-popup .wpcf7,
#gok-fallback-popup .wpcf7-form {
  margin: 0;
}
#gok-fallback-popup .wpcf7-form > p { margin: 0; }
#gok-fallback-popup .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
#gok-fallback-popup .wpcf7-response-output {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
#gok-fallback-popup .wpcf7-spinner { display: none !important; }

.gok-audit-form {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.gok-audit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.gok-field {
  display: block;
  margin: 0;
  min-width: 0;
}
.gok-field-full { width: 100%; }
.gok-field-label {
  display: block;
  font-family: var(--gok-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gok-muted);
  margin-bottom: 6px;
  line-height: 1.4;
}
.gok-field .wpcf7-form-control-wrap { display: block; }
#gok-fallback-popup .gok-input,
#gok-fallback-popup input.gok-input,
#gok-fallback-popup textarea.gok-input,
#gok-fallback-popup select.gok-input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  background: #151A17 !important;
  border: 1px solid var(--gok-hairline) !important;
  border-radius: 6px !important;
  padding: 0.55rem 0.7rem !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: var(--gok-fg) !important;
  font-family: var(--gok-sans) !important;
  box-shadow: none !important;
  outline: none !important;
  margin: 0 !important;
  appearance: none;
  -webkit-appearance: none;
}
#gok-fallback-popup textarea.gok-input {
  resize: none !important;
  min-height: 4.5rem;
}
#gok-fallback-popup select.gok-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23CACACA' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.7rem center !important;
  padding-right: 2rem !important;
}
#gok-fallback-popup .gok-input:focus,
#gok-fallback-popup input.gok-input:focus,
#gok-fallback-popup textarea.gok-input:focus,
#gok-fallback-popup select.gok-input:focus {
  border-color: var(--gok-accent) !important;
  outline: none !important;
  box-shadow: none !important;
}
#gok-fallback-popup .gok-input::placeholder { color: #6b7280; }

/* Contact chips — React segmented radios */
.gok-contact-chips .wpcf7-form-control-wrap,
.gok-contact-chips .wpcf7-radio {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
}
.gok-contact-chips .wpcf7-list-item {
  margin: 0 !important;
}
.gok-contact-chips .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid var(--gok-hairline);
  font-family: var(--gok-mono);
  font-size: 12px;
  line-height: 1;
  color: var(--gok-muted);
  cursor: pointer;
  background: transparent;
  user-select: none;
}
.gok-contact-chips .wpcf7-list-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
.gok-contact-chips .wpcf7-list-item label:has(input:checked),
.gok-contact-chips .wpcf7-list-item label.is-checked {
  border-color: var(--gok-accent);
  color: var(--gok-accent);
  background: rgba(208, 53, 62, 0.1);
}
.gok-contact-chips .wpcf7-list-item-label {
  font-size: inherit;
  color: inherit;
}

#gok-fallback-popup .gok-audit-submit,
#gok-fallback-popup input.wpcf7-submit.gok-audit-submit {
  width: 100% !important;
  appearance: none !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--gok-accent) !important;
  background-color: var(--gok-accent) !important;
  color: #fff !important;
  font-family: var(--gok-mono) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  cursor: pointer;
  margin: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#gok-fallback-popup .gok-audit-submit:hover,
#gok-fallback-popup .gok-audit-submit:focus {
  background: var(--gok-accent-deep, #B02A32) !important;
  background-color: var(--gok-accent-deep, #B02A32) !important;
  color: #fff !important;
}

/* Validation tips — React destructive inline */
#gok-fallback-popup .wpcf7-not-valid-tip {
  font-family: var(--gok-mono);
  font-size: 10px;
  color: #ef4444;
  margin-top: 4px;
  letter-spacing: 0;
  text-transform: none;
}
#gok-fallback-popup .wpcf7-not-valid {
  border-color: rgba(239, 68, 68, 0.5) !important;
}

/* Success state — React sent view */
.gok-audit-success {
  padding: 32px;
  text-align: center;
}
.gok-audit-success-icon {
  margin: 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(208, 53, 62, 0.15);
  border: 1px solid rgba(208, 53, 62, 0.4);
  display: grid;
  place-items: center;
  color: var(--gok-accent);
}
.gok-audit-success h3 {
  margin: 16px 0 0;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: var(--gok-fg);
  font-family: var(--gok-sans);
}
.gok-audit-success p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--gok-muted);
}
.gok-audit-status {
  margin-top: 16px;
  font-size: 11px;
  color: var(--gok-accent);
}
.gok-audit-success-close {
  margin-top: 24px;
  appearance: none;
  border: 0;
  border-radius: 4px;
  background: var(--gok-accent);
  color: #fff;
  font-family: var(--gok-mono);
  font-weight: 700;
  font-size: 14px;
  padding: 8px 16px;
  cursor: pointer;
}
.gok-audit-success-close:hover,
.gok-audit-success-close:focus {
  background: var(--gok-accent-deep, #B02A32) !important;
  background-color: var(--gok-accent-deep, #B02A32) !important;
  color: #fff !important;
}
.gok-audit-missing { color: var(--gok-muted); font-size: 14px; padding: 20px; }

@media (max-width: 520px) {
  .gok-audit-grid { grid-template-columns: 1fr; }
}

/* ---------- Elementor resets that fight the design ---------- */
.elementor-28 .elementor-widget-button .elementor-button {
  fill: currentColor;
}
.elementor-28 .elementor-heading-title {
  word-break: normal;
}
.elementor-location-footer {
  background: transparent;
}

/* Boxed content width consistency */
.elementor-28 .e-con-boxed {
  --width: 1280px;
}
.elementor-28 .e-con-boxed > .e-con-inner {
  max-width: 1280px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}


/* ===== Pass-2 pixel fixes ===== */

/* Center hero row like React max-w-7xl mx-auto */
.gok-hero-glow > .gok-hero-row,
.gok-hero-glow .gok-hero-row.e-con-boxed,
.elementor-28 .gok-hero-row {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
}
.elementor-28 .gok-hero-row.e-con-boxed > .e-con-inner {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 64px !important;
  box-sizing: border-box !important;
}

/* Header: lock to React 68px; drawer out of flow */
.elementor-location-header {
  min-height: 68px !important;
  height: auto !important;
}
.elementor-location-header .gok-header {
  min-height: 68px !important;
  height: 68px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.elementor-location-header .gok-mobile-drawer {
  position: fixed !important;
  /* already fixed; ensure it does not stretch header */
  height: 0 !important;
  width: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-location-header .gok-mobile-drawer.is-open {
  width: 100vw !important;
  height: 100dvh !important;
}
/* Header widgets that are only drawer markup should not take space */
.elementor-location-header .elementor-widget-text-editor:has(.gok-mobile-drawer) {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Header Book Audit exact React */
.elementor-location-header .gok-btn-primary .elementor-button,
.elementor-location-header .gok-btn-primary a.elementor-button {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  padding: 8px 16px !important;
  height: auto !important;
  min-height: 0 !important;
  letter-spacing: 0 !important;
}

/* Growth console: force 2x2 metric grid */
.gok-growth-console [style*="grid-template-columns"] {
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

/* Status badge pill — match React */
.gok-hero-left [style*="border-radius:999px"],
.gok-hero-left [style*="border-radius: 999px"] {
  border-radius: 9999px !important;
}

/* Section outer padding horizontal 0; inner handles px */
.elementor-28 .gok-hero-glow {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 160px !important;
  padding-bottom: 96px !important;
}

/* Mute Elementor default widget gaps that inflate rhythm */
.gok-hero-left.e-con,
.gok-hero-left > .e-con-inner {
  gap: 0 !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
}
.gok-hero-left .elementor-widget {
  margin: 0 !important;
}
.gok-hero-left .elementor-widget-heading {
  margin-top: 0 !important;
}
.gok-hero-left .elementor-element:has(h1) {
  margin-top: 0 !important;
}

/* Footer nav hover */
.elementor-location-footer a:hover { color: var(--gok-accent) !important; }

/* Ensure reporting third meta line shows on desktop */
@media (min-width: 640px) {
  .gok-hero-left .gok-mono span[style*="accent/40"] { display: inline !important; }
}

.elementor-location-header .gok-drawer-host,
.elementor-location-header .gok-drawer-host .elementor-widget-container {
  position: static !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  line-height: 0 !important;
}


/* ===== Pass-3: match React column math & button chrome ===== */
.elementor-location-header .elementor-button.elementor-button-link,
.elementor-location-header a.elementor-button,
.elementor-location-header .elementor-widget-button .elementor-button {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  padding: 8px 16px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  background-color: #D0353E !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Kill Elementor default vertical widget spacing in hero left */
.gok-hero-left .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}
.gok-hero-left .elementor-element {
  --widgets-spacing: 0px 0px !important;
}

/* Hero content inset: React = 80 + 32 = 112 */
.elementor-28 .gok-hero-glow > .e-con.gok-hero-row,
.elementor-28 .gok-hero-glow .gok-hero-row {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-28 .gok-hero-row > .e-con-inner {
  padding-left: 32px !important;
  padding-right: 32px !important;
  width: 100% !important;
  max-width: 1280px !important;
  box-sizing: border-box !important;
}

/* Flex split closer to 1.05fr / 1fr */
.gok-hero-left {
  flex: 1.05 1 0 !important;
  max-width: calc((100% - 64px) * 1.05 / 2.05) !important;
}
.gok-growth-console {
  flex: 1 1 0 !important;
  max-width: calc((100% - 64px) * 1 / 2.05) !important;
}

/* Compact growth console internal spacing */
.gok-growth-console .elementor-widget-container { padding: 0 !important; }
.gok-growth-console .gok-metric .value { font-size: 24px !important; }

/* Reduce overall Elementor section inflation */
.elementor-28 .e-con.e-parent {
  --padding-top: unset;
}
.elementor-28 .elementor-widget-text-editor .elementor-widget-container > div > p:first-child {
  margin-top: 0;
}

/* Trust strip icons row denser */
.elementor-28 section,
.elementor-28 .e-con[data-element_type="container"] {}

/* Mobile horizontal padding React px-5 = 20px */
@media (max-width: 767px) {
  .elementor-28 .gok-hero-row > .e-con-inner,
  .elementor-28 .e-con-boxed > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-28 h1.elementor-heading-title {
    font-size: 36px !important;
    letter-spacing: -0.5px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-28 h1.elementor-heading-title {
    font-size: 48px !important;
  }
}


/* Services engine connection lines — React SVG spokes, clipped to section */
#services,
#services.e-con,
.gok-services-grid.gok-engine-wrap,
.gok-engine-wrap {
  overflow: hidden !important;
}
@media (min-width: 1025px) {
  .gok-engine-wrap,
  .gok-services-grid.gok-engine-wrap {
    position: relative !important;
  }
  /* Match React: absolute inset-0 SVG, viewBox 800x600, 4 dashed spokes to CORE */
  .gok-services-grid.gok-engine-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    max-width: 100%;
    max-height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 600' preserveAspectRatio='none'%3E%3Cline x1='400' y1='300' x2='160' y2='130' stroke='%23D0353E' stroke-opacity='0.35' stroke-width='1'/%3E%3Cline x1='400' y1='300' x2='640' y2='130' stroke='%23D0353E' stroke-opacity='0.35' stroke-width='1'/%3E%3Cline x1='400' y1='300' x2='160' y2='470' stroke='%23D0353E' stroke-opacity='0.35' stroke-width='1'/%3E%3Cline x1='400' y1='300' x2='640' y2='470' stroke='%23D0353E' stroke-opacity='0.35' stroke-width='1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
  }
  .gok-services-grid.gok-engine-wrap > * { position: relative; z-index: 1; }
}
@media (max-width: 1024px) {
  .gok-services-grid.gok-engine-wrap::before { display: none !important; content: none !important; }
}

/* Compact growth console to React ~520px */
.gok-growth-console { max-height: none; }
.gok-growth-console .gok-metric { padding: 14px !important; }
.gok-growth-console .gok-metric .value { font-size: 22px !important; margin-top: 6px !important; }

/* CTA section match React max-w-4xl centered */
.elementor-28 h2.elementor-heading-title:has(+ *) {}


/* ===== Mobile parity with React (<768) ===== */
@media (max-width: 767px) {
  .elementor-location-header .gok-header,
  .gok-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    height: 68px !important;
    gap: 0 !important;
  }
  .gok-header > .e-con,
  .gok-header > .e-con-full {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
  /* brand left */
  .gok-header > .e-con:first-child {
    flex: 1 1 auto !important;
  }
  /* actions right */
  .gok-header > .e-con:last-child {
    margin-left: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
  }
  .gok-burger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-right: 0 !important;
  }

  /* Hero stack */
  .gok-hero-row > .e-con-inner,
  .gok-hero-row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: stretch !important;
  }
  .gok-hero-left,
  .gok-growth-console {
    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .elementor-28 .gok-hero-glow {
    padding-top: 128px !important;
    padding-bottom: 64px !important;
  }
  .elementor-28 h1.elementor-heading-title {
    font-size: 36px !important;
    letter-spacing: -0.5px !important;
    line-height: 1.05 !important;
  }

  /* CTA buttons stack like React flex-wrap */
  .gok-hero-left .e-con[class*="flex_direction"] ,
  .gok-hero-left .e-con.e-flex {
    flex-wrap: wrap !important;
  }
  .gok-hero-left .gok-btn-primary,
  .gok-hero-left .gok-btn-ghost {
    width: auto !important;
  }
  .gok-hero-left .gok-btn-primary .elementor-button,
  .gok-hero-left .gok-btn-ghost .elementor-button {
    width: auto !important;
  }

  /* Status pill keep horizontal */
  .gok-hero-left [style*="border-radius:999px"],
  .gok-hero-left [style*="9999px"] {
    display: inline-flex !important;
    max-width: 100%;
    white-space: normal;
  }

  /* Industries: one panel at a time */
  .gok-industry-panel { width: 100% !important; max-width: 100% !important; }

  /* Services cards full width */
  .gok-services-grid > .e-con,
  .gok-svc-card { width: 100% !important; max-width: 100% !important; }

  /* Process steps */
  .gok-process-wrap > .e-con { width: 100% !important; max-width: 100% !important; padding-left: 48px !important; }

  /* Stats 2-col */
  .gok-stats-grid { grid-template-columns: 1fr 1fr !important; }
}



/* ===== Deep audit pass — exact React computed values ===== */

/* Hero primary button — React: 16/700 Manrope, pad 12 20, h48 */
.gok-hero-left .gok-btn-primary .elementor-button,
.gok-hero-left .gok-btn-primary a.elementor-button {
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  padding: 12px 20px !important;
  min-height: 48px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #D0353E !important;
  color: #fff !important;
  border-radius: 6px !important;
  border: 0 !important;
  box-shadow: none !important;
}
.gok-hero-left .gok-btn-primary .elementor-button:hover {
  background: #C9242A !important;
}

/* Hero ghost — React: 14 JetBrains Mono, pad 12 20, h46 */
.gok-hero-left .gok-btn-ghost .elementor-button,
.gok-hero-left .gok-btn-ghost a.elementor-button {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  padding: 12px 20px !important;
  min-height: 46px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: transparent !important;
  color: #F4F7F5 !important;
  border: 1px solid rgba(208,53,62,0.15) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
.gok-hero-left .gok-btn-ghost .elementor-button:hover {
  border-color: #D0353E !important;
  color: #D0353E !important;
  background: transparent !important;
}

/* H2 exact React leading-none equivalent (lh = font-size) */
.elementor-28 h2.elementor-heading-title {
  font-size: 48px !important;
  font-weight: 800 !important;
  line-height: 48px !important;
  letter-spacing: -1.2px !important;
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}

/* CTA heading React text-4xl md:text-6xl = 60px */
.elementor-28 .elementor-widget-heading h2.elementor-heading-title[style],
.elementor-28 h2.elementor-heading-title {
  /* default above; override CTA via parent that is centered narrow */
}
.elementor-28 .e-con[style*="720"],
.elementor-28 .e-con.e-flex:has(h2) {
  /* fallback */
}
/* Target CTA desktop size — mobile uses 36px in media query below */
.elementor-28 .gok-grid:not(.gok-hero-glow):not(.gok-cta) h2.elementor-heading-title {
  /* section titles handled elsewhere */
}
@media (min-width: 768px) {
  .elementor-28 .gok-cta.gok-grid h2.elementor-heading-title,
  .elementor-28 .gok-grid.gok-cta h2.elementor-heading-title {
    font-size: 60px !important;
    line-height: 60px !important;
    letter-spacing: -1.5px !important;
    text-align: center !important;
  }
}

/* Trust strip — React section pad 0, inner py-8 (32) px-8 (32) */
.gok-trust,
.elementor-28 .gok-trust {
  padding: 0 !important;
}
.gok-trust > .e-con-inner,
.gok-trust .e-con-boxed > .e-con-inner,
.gok-trust > .e-con {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
.gok-trust .elementor-widget-text-editor p {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
  color: #CACACA !important;
  text-align: center !important;
}

/* Process — 4 equal columns, no vertical stack, match React */
@media (min-width: 768px) {
  .gok-process-wrap,
  .gok-process-wrap > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    position: relative !important;
  }
  .gok-process-wrap > .elementor-widget,
  .gok-process-wrap > .e-con > .elementor-widget {
    /* line widgets absolute */
  }
  .gok-process-step,
  .gok-process-wrap > .e-con.gok-process-step,
  .gok-process-wrap .gok-process-step {
    flex: 1 1 0 !important;
    width: 25% !important;
    max-width: 25% !important;
    min-width: 0 !important;
  }
  /* Hide the text-editor that only contains process lines from taking flex space wrongly */
  .gok-process-wrap > .elementor-widget-text-editor,
  .gok-process-wrap > .e-con-inner > .elementor-widget-text-editor {
    position: absolute !important;
    left: 0; right: 0; top: 0;
    width: 100% !important;
    height: 0 !important;
    overflow: visible !important;
    pointer-events: none;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Content inset: all boxed inners max 1280 with px-8 = 32 */
.elementor-28 .e-con-boxed > .e-con-inner {
  max-width: 1280px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Hero left content start at 112 like React */
.gok-hero-row > .e-con-inner {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
.gok-hero-left {
  flex: 1.05 1 0 !important;
  max-width: none !important;
}
.gok-growth-console {
  flex: 1 1 0 !important;
  max-width: 546px !important;
  width: 546px !important;
}

/* Kill Elementor default 20px gaps that inflate sections */
.elementor-28 .e-con.e-parent {
  --gap: 0px;
}
.elementor-28 .gok-hero-left.e-con,
.elementor-28 .gok-hero-left > .e-con-inner {
  --gap: 0px !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

/* FAQ max-w-4xl = 896 centered */
#faq.e-con > .e-con-inner,
#faq .e-con-boxed > .e-con-inner {
  max-width: 896px !important;
}

/* Results heading max-w-3xl */
/* Testimonials 3-col gap-5 = 20px */

/* Footer py-12 = 48px */
.elementor-location-footer .e-con.e-parent {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

@media (max-width: 767px) {
  .elementor-28 h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 30px !important;
  }
  .elementor-28 .gok-grid:not(.gok-hero-glow) h2.elementor-heading-title {
    font-size: 36px !important;
    line-height: 36px !important;
  }
  .gok-process-step {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    padding-left: 48px !important;
  }
  .gok-growth-console {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.gok-process-lines,
.elementor-widget.gok-process-lines {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 0;
}
.gok-process-wrap .gok-process-step { position: relative; z-index: 1; }

/* ===== Deep audit pass 2 — layout inflation killers ===== */

/* Center ALL boxed content wrappers under page sections */
.elementor-28 > .e-con.e-parent > .e-con-boxed,
.elementor-28 > .e-con.e-parent > .e-con.e-con-boxed {
  max-width: 1280px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}
.elementor-28 > .e-con.e-parent > .e-con-boxed > .e-con-inner {
  max-width: 1280px !important;
  width: 100% !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  row-gap: 0 !important;
  --gap: 0px !important;
}

/* Kill Elementor default 20px gaps on section shells */
.elementor-28 > .e-con.e-parent {
  gap: 0 !important;
  row-gap: 0 !important;
  --gap: 0px !important;
}

/* Kill default 10px padding on nested containers */
.elementor-28 .e-con.e-child {
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-28 .gok-hero-left,
.elementor-28 .gok-hero-left.e-con,
.elementor-28 .gok-growth-console {
  padding: 0 !important;
}

/* Hero shell: no extra gap between glow and row */
#top.e-con,
.elementor-28 #top {
  gap: 0 !important;
  row-gap: 0 !important;
}

/* Trust strip exact React height ~128 */
.gok-trust {
  gap: 0 !important;
  padding: 0 !important;
}
.gok-trust > .gok-trust-inner,
.gok-trust > .e-con-boxed.gok-trust-inner,
.gok-trust > .e-con-boxed {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 32px 32px !important;
  gap: 0 !important;
}
.gok-trust > .e-con-boxed > .e-con-inner,
.gok-trust-inner > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 0 !important;
  max-width: none !important;
}
/* Icon cells */
.gok-trust-inner > .e-con-inner > .e-con,
.gok-trust > .e-con-boxed > .e-con-inner > .e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
  gap: 0 !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
/* Caption full width below icons */
.gok-trust .elementor-widget-text-editor {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin-top: 8px !important;
}
.gok-trust .elementor-widget-text-editor p {
  margin: 24px 0 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #CACACA !important;
  text-align: center !important;
  max-width: 42rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Section label + heading rhythm: React mt-3 (12) after label, mt-4 (16) after h2 for body */
.elementor-28 .gok-section-label {
  margin: 0 !important;
}
.elementor-28 .elementor-widget-heading + .elementor-widget-text-editor,
.elementor-28 h2.elementor-heading-title {
  /* h2 already has mt 12 */
}

/* Industries / services content rhythm */
#industries > .e-con-boxed > .e-con-inner > .elementor-widget-heading,
#services > .e-con-boxed > .e-con-inner > .elementor-widget-heading,
#process > .e-con-boxed > .e-con-inner > .elementor-widget-heading {
  margin: 0 !important;
}

/* Results H2 max-w-3xl = 768 */
.gok-h2-max-3xl .elementor-heading-title,
h2.gok-h2-max-3xl,
.elementor-widget.gok-h2-max-3xl .elementor-heading-title {
  max-width: 768px !important;
}

/* CTA: max-w-4xl container (896), H2 wraps like React */
.gok-cta > .e-con-boxed,
.gok-cta > .e-con {
  max-width: 896px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.gok-cta > .e-con-boxed > .e-con-inner,
.gok-cta > .e-con > .e-con-inner {
  max-width: 896px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  text-align: center !important;
}
.gok-cta-h2 .elementor-heading-title,
.elementor-widget.gok-cta-h2 .elementor-heading-title {
  font-size: 60px !important;
  line-height: 60px !important;
  letter-spacing: -1.5px !important;
  margin-top: 24px !important;
  max-width: 832px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Override mistaken 60px on all gok-grid h2 — only CTA */
.elementor-28 .gok-grid:not(.gok-hero-glow):not(.gok-cta) h2.elementor-heading-title {
  font-size: 48px !important;
  line-height: 48px !important;
  letter-spacing: -1.2px !important;
  text-align: left !important;
}
.elementor-28 .gok-cta h2.elementor-heading-title,
.elementor-28 .gok-cta.gok-grid h2.elementor-heading-title {
  text-align: center !important;
  margin-top: 24px !important;
}
@media (min-width: 768px) {
  .elementor-28 .gok-cta h2.elementor-heading-title,
  .elementor-28 .gok-cta.gok-grid h2.elementor-heading-title {
    font-size: 60px !important;
    line-height: 60px !important;
    letter-spacing: -1.5px !important;
  }
}

/* Growth Console exact size */
.gok-growth-console {
  width: 546px !important;
  max-width: 546px !important;
  flex: 0 0 546px !important;
}
.gok-hero-row > .e-con-inner {
  align-items: center !important;
  gap: 64px !important;
}

/* Process steps: React gap-4 (16), no pad, h3 text-lg=18, mt-2 */
.gok-process-step {
  padding: 0 !important;
  gap: 0 !important;
}
.gok-process-step h3.elementor-heading-title {
  font-size: 18px !important;
  line-height: 22.5px !important;
  font-weight: 700 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}
.gok-process-step .elementor-widget-text-editor p {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #CACACA !important;
}
.gok-process-wrap {
  margin-top: 56px !important; /* mt-14 */
}

/* FAQ max-w-4xl */
#faq > .e-con-boxed,
#faq > .e-con-boxed > .e-con-inner {
  max-width: 896px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Testimonials: mt-12 before cards */
.elementor-28 .e-con:has(> .e-con-inner > .e-con:has(.elementor-element)) {
  /* noop fallback */
}

@media (max-width: 1024px) {
  .gok-growth-console {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
}

/* ===== Deep audit pass 3 — trust / GC / CTA / FAQ polish ===== */

/* Trust: restore py-8 px-8; icon row as 6 equal columns (not width 0) */
.elementor-28 > .e-con.gok-trust > .e-con-boxed.gok-trust-inner,
.elementor-28 > .e-con.gok-trust > .e-con-boxed {
  padding: 32px 0 !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px !important;
  row-gap: 0 !important;
  align-items: center !important;
  padding: 0 32px !important;
  max-width: 1280px !important;
}
.elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner > .e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
  padding: 0 !important;
}
.elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner > .elementor-widget-text-editor {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-top: 24px !important;
}
.elementor-28 > .e-con.gok-trust .elementor-widget-text-editor p {
  margin: 0 auto !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #CACACA !important;
  text-align: center !important;
  max-width: 42rem !important;
}
.elementor-28 > .e-con.gok-trust .gok-mono {
  font-size: 12px !important;
  color: #CACACA !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 1024px) {
  .elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Growth Console — beat Elementor flex-grow */
.elementor-28 .gok-hero-row > .e-con-inner > .gok-growth-console,
.elementor-28 .gok-growth-console.e-con {
  width: 546px !important;
  max-width: 546px !important;
  min-width: 546px !important;
  flex: 0 0 546px !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: 546px !important;
}

/* CTA H2 must wrap to 2 lines like React (measured h=120) */
.elementor-28 .gok-cta h2.elementor-heading-title,
.elementor-28 .elementor-widget.gok-cta-h2 .elementor-heading-title {
  max-width: 700px !important;
  width: 100% !important;
}

/* FAQ: match React open-item spacing */
#faq .elementor-accordion-item,
#faq .e-n-accordion-item {
  border-color: rgba(208,53,62,0.15) !important;
}
#faq .elementor-tab-title,
#faq .e-n-accordion-item-title {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 28px !important;
}
#faq .elementor-tab-content,
#faq .e-n-accordion-item-content {
  padding-bottom: 20px !important;
  padding-right: 32px !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
}

/* Hero: tighten leftover 25px — ensure no widget default margins inflate */
.gok-hero-left > .elementor-widget {
  margin: 0 !important;
}
.gok-hero-left .elementor-widget-heading {
  margin-bottom: 0 !important;
}
.gok-hero-left .elementor-widget-text-editor {
  margin: 0 !important;
}
.gok-hero-left .elementor-widget-text-editor p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* React: badge, then mt-6 h1, mt-6 p, mt-4 p, mt-8 ctas, mt-8 meta */
.gok-hero-left > .elementor-element:nth-child(1) { margin-bottom: 0 !important; }
.gok-hero-left > .elementor-element:nth-child(2) { margin-top: 24px !important; } /* h1 */
.gok-hero-left > .elementor-element:nth-child(3) { margin-top: 24px !important; } /* p1 */
.gok-hero-left > .elementor-element:nth-child(4) { margin-top: 16px !important; } /* p2 — wait CTAs are 4th */

/* ===== Deep audit pass 4 — section rhythm polish ===== */

/* Kill default <p> margins that inflate text widgets */
.elementor-28 .elementor-widget-text-editor p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Section intro body copy: React mt-4 after h2 */
.elementor-28 .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 16px !important;
}
.elementor-28 .elementor-widget-heading + .elementor-widget-text-editor p {
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
  max-width: 42rem !important;
}

/* Tabs widget: React mt-8, height ~42 */
.gok-tabs-widget,
.elementor-widget.gok-tabs-widget {
  margin-top: 32px !important;
  margin-bottom: 0 !important;
}
.gok-tabs {
  margin-top: 0 !important;
}

/* Industry panels grid: React mt-8 gap-6 */
#industries .gok-industry-panels,
.elementor-element-88a9d3c {
  margin-top: 32px !important;
  gap: 24px !important;
}
.gok-industry-panel {
  gap: 0 !important;
  padding: 32px !important;
}
.gok-industry-panel > .e-con-inner,
.gok-industry-panel .e-con-inner {
  gap: 0 !important;
  padding: 0 !important;
}
.gok-industry-panel .elementor-widget-text-editor p,
.gok-industry-panel p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #CACACA !important;
}
.gok-industry-panel h3.elementor-heading-title {
  font-size: 20px !important;
  line-height: 28px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

/* FAQ accordion: React mt-10 */
#faq .elementor-widget-accordion,
#faq .elementor-accordion {
  margin-top: 40px !important;
}

/* Services grid mt-10 / mt-12 */
#services .gok-services-grid,
.elementor-element:has(> .gok-svc-card),
#services .e-con-inner > .e-con:last-child {
  margin-top: 40px !important;
}

/* Process desc after h2 */
#process .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 16px !important;
}
#process .elementor-widget-heading + .elementor-widget-text-editor p {
  font-size: 16px !important;
  line-height: 24px !important;
}

/* Trust: shave ~8px — caption mt already 24, icons row tighter */
.elementor-28 > .e-con.gok-trust > .e-con-boxed {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}
.elementor-28 > .e-con.gok-trust > .e-con-boxed > .e-con-inner > .elementor-widget-text-editor {
  margin-top: 24px !important;
}

/* Testimonials cards mt-12 */
.elementor-element-c5a5e1c {
  margin-top: 48px !important;
}

/* ===== Deep audit pass 5 — restore hero/CTA; tighten FAQ ===== */

/* Undo broad heading+text margin inside hero & CTA */
.gok-hero-left .elementor-widget-heading + .elementor-widget-text-editor,
.gok-cta .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 0 !important;
}

/* Hero rhythm — match React exactly */
.gok-hero-left > .elementor-element:nth-child(1) { margin-top: 0 !important; margin-bottom: 0 !important; }
.gok-hero-left > .elementor-element:nth-child(2) { margin-top: 24px !important; } /* h1 mt-6 */
.gok-hero-left > .elementor-element:nth-child(3) { margin-top: 24px !important; } /* first body mt-6 */
.gok-hero-left > .elementor-element:nth-child(3) .elementor-widget-container > p:first-child {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 18px !important;
  line-height: 28px !important;
  color: #CACACA !important;
  max-width: 36rem !important;
}
.gok-hero-left > .elementor-element:nth-child(3) .elementor-widget-container > p:nth-child(2),
.gok-hero-left > .elementor-element:nth-child(3) .elementor-widget-container > p + p {
  margin-top: 16px !important; /* mt-4 between paras */
  margin-bottom: 0 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
  max-width: 36rem !important;
}
.gok-hero-left > .elementor-element:nth-child(4) { margin-top: 32px !important; } /* CTAs mt-8 */
.gok-hero-left > .elementor-element:nth-child(5) { margin-top: 32px !important; } /* meta mt-8 */

/* CTA rhythm — React: badge, mt-6 h2, mt-5 p, mt-8 btn, mt-5 note */
.gok-cta .e-con-inner > .elementor-element:nth-child(1) { margin-top: 0 !important; }
.gok-cta .e-con-inner > .elementor-element:nth-child(2) { margin-top: 24px !important; }
.gok-cta .e-con-inner > .elementor-element:nth-child(2) h2 {
  margin-top: 0 !important; /* margin on widget instead */
}
.gok-cta .e-con-inner > .elementor-element:nth-child(3) { margin-top: 20px !important; }
.gok-cta .e-con-inner > .elementor-element:nth-child(4) { margin-top: 32px !important; }
.gok-cta .e-con-inner > .elementor-element:nth-child(5) { margin-top: 20px !important; }

/* FAQ: avoid double-spacing — keep accordion mt-10 only */
#faq .elementor-widget-heading + .elementor-widget-text-editor { margin-top: 0 !important; }
#faq .gok-section-label { margin-bottom: 0 !important; }
#faq .elementor-widget-accordion { margin-top: 40px !important; }
#faq .elementor-accordion .elementor-tab-title {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
#faq .elementor-accordion .elementor-tab-content {
  padding-top: 0 !important;
  padding-bottom: 20px !important;
}
#faq .elementor-accordion .elementor-tab-content p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
}

/* Results: don't inflate intro */
.gok-results .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 0 !important;
}

/* ===== Deep audit pass 6 — FAQ double-mt + hero lg body ===== */

/* FAQ: margin only on widget, not nested accordion too */
#faq .elementor-widget-accordion {
  margin-top: 40px !important;
}
#faq .elementor-accordion {
  margin-top: 0 !important;
}

/* Hero body: React text-base md:text-lg then text-sm md:text-base */
.elementor-element-112c163 .elementor-widget-container > p:first-of-type,
.gok-hero-left .elementor-element-112c163 p:first-of-type {
  font-size: 18px !important;
  line-height: 28px !important;
  color: #CACACA !important;
  max-width: 36rem !important;
  margin: 0 !important;
}
.elementor-element-112c163 .elementor-widget-container > p:nth-of-type(2),
.gok-hero-left .elementor-element-112c163 p:nth-of-type(2) {
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
  max-width: 36rem !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

/* Services: shave grid if Elementor gap inflates 2-row stack */
#services .gok-services-grid,
#services .e-con-inner > .e-con.gok-services-grid {
  margin-top: 40px !important;
  gap: 16px !important; /* gap-4 */
}
.gok-svc-card {
  padding: 24px !important;
}

/* Trust caption: React mt-6 already; ensure total ~128 */
.elementor-28 > .e-con.gok-trust > .e-con-boxed {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

/* ===== Deep audit pass 7 — hero h1 double-spacing + footer ===== */
.gok-hero-left h1.elementor-heading-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Section h2: keep mt 12 on heading element OR widget — not both */
.elementor-28 .elementor-widget-heading h2.elementor-heading-title {
  margin-top: 12px !important;
}

/* Footer exact React: py-12 / px-8 / mt-10 / pt-6 ≈ 283px */
.elementor-location-footer > .e-con.e-parent {
  padding: 48px 0 !important;
  gap: 0 !important;
  min-height: 0 !important;
  background-color: rgba(11, 13, 12, 0.6) !important;
  border-top: 1px solid rgba(208, 53, 62, 0.15) !important;
}
.elementor-location-footer .e-con-boxed {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
.elementor-location-footer .e-con-boxed > .e-con-inner {
  max-width: 1280px !important;
  padding: 0 32px !important;
  gap: 32px !important;
}
/* Main brand + nav row — React grid 1.5fr 1fr gap-8 */
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 32px !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con {
  padding: 0 !important;
  gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child {
  flex: 1.5 1 0 !important;
  width: auto !important;
  max-width: none !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:last-child {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  flex-wrap: wrap !important;
  gap: 8px 24px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
/* Brand name row — React text-lg (18/28) + StatusDot */
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child .elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child span[style*="font-size:18px"] {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  color: #F4F7F5 !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child .gok-mono {
  margin-top: 4px !important;
  font-size: 11px !important;
  color: #CACACA !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child p {
  margin: 16px 0 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  color: #CACACA !important;
  max-width: 28rem !important;
}
/* Copyright row — React mt-10 (40) pt-6 (24) border-t */
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child {
  margin-top: 40px !important;
  border-top: 0 !important;
  height: auto !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child > .e-con-inner {
  margin-top: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 0 !important;
  border-top: 1px solid rgba(208, 53, 62, 0.15) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 0 !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-text-editor,
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-text-editor .gok-mono {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-text-editor,
.elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-text-editor p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 16px !important;
  color: #CACACA !important;
}

/* ===== Responsive: GC 546 only on desktop ===== */
@media (min-width: 1025px) {
  .elementor-28 .gok-hero-row > .e-con-inner > .gok-growth-console,
  .elementor-28 .gok-growth-console.e-con {
    width: 546px !important;
    max-width: 546px !important;
    min-width: 546px !important;
    flex: 0 0 546px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: 546px !important;
  }
}
@media (max-width: 1024px) {
  .elementor-28 .gok-hero-row > .e-con-inner > .gok-growth-console,
  .elementor-28 .gok-growth-console.e-con,
  .gok-growth-console {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-basis: auto !important;
  }
  .gok-hero-row > .e-con-inner {
    flex-direction: column !important;
    gap: 40px !important;
  }
  .gok-hero-left {
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
}

/* ===== Tablet/mobile layout stacks (React lg=1024, md=768) ===== */
@media (max-width: 1023px) {
  .elementor-28 .gok-hero-row.e-con,
  .elementor-28 .gok-hero-row > .e-con-inner,
  .gok-hero-row > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 40px !important;
  }
  .elementor-28 .gok-hero-left,
  .elementor-28 .gok-growth-console {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }
  /* Industry panels stack below lg */
  .elementor-element-88a9d3c,
  .elementor-element-88a9d3c > .e-con-inner,
  #industries .e-con-inner > .e-con:last-child,
  #industries .e-con-inner > .e-con:last-child > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  .gok-industry-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  /* Testimonials 1-col below md */
  .elementor-element-c5a5e1c,
  .elementor-element-c5a5e1c > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-c5a5e1c .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Process steps stack */
  .gok-process-wrap,
  .gok-process-wrap > .e-con-inner {
    flex-direction: column !important;
  }
  .gok-process-step {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* H1 mobile */
  .elementor-28 h1.elementor-heading-title {
    font-size: 36px !important;
    line-height: 37.8px !important;
    letter-spacing: -0.9px !important;
  }
  .elementor-28 > .e-con.e-parent > .e-con-boxed > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .gok-header {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* Testimonials stay 3-col at md; force equal flex */
  .elementor-element-c5a5e1c > .e-con-inner,
  .elementor-element-c5a5e1c {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .elementor-element-c5a5e1c .e-con.e-child {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* Elementor uses --flex-direction CSS variables — override those */
@media (max-width: 1023px) {
  .gok-hero-row,
  .gok-hero-row.e-con,
  .gok-hero-row > .e-con-inner {
    --flex-direction: column !important;
    flex-direction: column !important;
    -webkit-box-orient: vertical !important;
  }
  .elementor-element-88a9d3c,
  .elementor-element-88a9d3c > .e-con-inner {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-c5a5e1c,
  .elementor-element-c5a5e1c > .e-con-inner,
  .gok-process-wrap,
  .gok-process-wrap > .e-con-inner {
    --flex-direction: column !important;
    flex-direction: column !important;
  }
}
@media (min-width: 1025px) {
  .gok-hero-row > .e-con-inner {
    --flex-direction: row !important;
    flex-direction: row !important;
  }
}

/* Nuclear tablet hero stack — beat Elementor post CSS */
@media (max-width: 1023px) {
  .elementor-28 .gok-hero-row > .e-con-inner,
  .elementor-28 .elementor-element-5b4a38f > .e-con-inner,
  body .elementor-28 .gok-hero-row.e-con > .e-con-inner {
    --flex-direction: column !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }
  .elementor-28 .gok-hero-row > .e-con-inner > .gok-hero-left,
  .elementor-28 .gok-hero-row > .e-con-inner > .gok-growth-console,
  .elementor-28 .elementor-element-5b4a38f > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    --flex-grow: 1 !important;
    --flex-basis: auto !important;
  }
  /* Services: React lg:grid-cols-3 → 1 col below 1024 */
  .elementor-28 .gok-services-grid,
  .elementor-28 .gok-services-grid > .e-con-inner,
  #services .gok-services-grid {
    --flex-direction: column !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  #services .gok-svc-card,
  .gok-services-grid .gok-svc-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1023px) {
  #services .gok-services-grid .gok-svc-card,
  #services .gok-svc-card.e-con,
  .gok-services-grid > .e-con-inner > .e-con,
  .gok-services-grid .e-con.e-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
}

/* ===== FAQ match React exactly ===== */
#faq .gok-section-label {
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #D0353E !important;
  font-family: var(--gok-mono) !important;
  font-weight: 400 !important;
}

#faq .elementor-accordion {
  border: 0 !important;
  border-top: 1px solid rgba(208,53,62,0.15) !important;
  border-bottom: 1px solid rgba(208,53,62,0.15) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

#faq .elementor-accordion-item {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(208,53,62,0.15) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#faq .elementor-accordion-item:first-child {
  border-top: 0 !important;
}

/* Title row = React flex justify-between py-5 gap-4 */
#faq .elementor-tab-title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  padding: 20px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #F4F7F5 !important;
}

#faq .elementor-accordion-title,
#faq .elementor-tab-title .elementor-accordion-title {
  font-family: var(--gok-sans) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 28px !important;
  color: #F4F7F5 !important;
  text-decoration: none !important;
  flex: 1 1 auto !important;
  order: 1 !important;
}

/* Chevron on the RIGHT like React */
#faq .elementor-accordion-icon,
#faq .elementor-accordion-icon-left,
#faq .elementor-accordion-icon-right {
  order: 2 !important;
  float: none !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px !important;
  color: #D0353E !important;
}
#faq .elementor-accordion-icon svg,
#faq .elementor-accordion-icon i,
#faq .elementor-accordion-icon .e-font-icon-svg {
  width: 18px !important;
  height: 18px !important;
  fill: #D0353E !important;
  color: #D0353E !important;
  transition: transform 0.25s ease !important;
}
/* Rotate chevron when open (if same down icon used for both states) */
#faq .elementor-tab-title.elementor-active .elementor-accordion-icon-closed,
#faq .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
  transform: rotate(180deg);
}

/* Answer — React pb-5 pr-8 text-muted text-base */
#faq .elementor-tab-content {
  border: 0 !important;
  background: transparent !important;
  padding: 0 32px 20px 0 !important;
  margin: 0 !important;
  font-family: var(--gok-sans) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
  font-weight: 400 !important;
}
#faq .elementor-tab-content p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #CACACA !important;
}

/* Kill Elementor default left padding for icon-left layout */
#faq .elementor-tab-title.elementor-active,
#faq .elementor-tab-title {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===== Mobile exact parity pass (390px / <768) ===== */
@media (max-width: 767px) {
  /* Section H2 — React text-3xl = 30/36 */
  .elementor-28 h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 36px !important;
    letter-spacing: -0.025em !important;
  }

  /* Closing CTA H2 — React text-4xl = 36/40 (beat desktop .gok-cta.gok-grid 60px) */
  .elementor-28 .gok-cta h2.elementor-heading-title,
  .elementor-28 .gok-cta.gok-grid h2.elementor-heading-title,
  .elementor-28 .elementor-element-21270f4 h2.elementor-heading-title,
  .elementor-28 .elementor-element-ecc3b5b .elementor-heading-title,
  body .elementor-28 .gok-cta.gok-grid h2.elementor-heading-title {
    font-size: 36px !important;
    line-height: 40px !important;
    letter-spacing: -0.025em !important;
    max-width: none !important;
  }

  /* CTA section — React py-20 = 80 */
  .elementor-28 .gok-cta,
  .elementor-28 .elementor-element-21270f4 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  /* Process steps — React: pl-12 + absolute 32px badge at left-0 */
  .gok-process-step,
  .gok-process-wrap > .e-con.gok-process-step,
  .gok-process-wrap .gok-process-step,
  .gok-process-wrap > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    position: relative !important;
    padding-left: 48px !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
  }
  .gok-process-step .elementor-widget-text-editor,
  .gok-process-step .elementor-widget-container {
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Badge circle inside text-editor HTML */
  .gok-process-step [style*="border-radius:50%"],
  .gok-process-step [style*="border-radius: 50%"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
  }
  /* Vertical timeline line — React left-4 */
  .gok-process-wrap {
    position: relative !important;
  }
  .gok-process-wrap::before {
    content: "" !important;
    position: absolute !important;
    left: 15px !important; /* center of 32px badge */
    top: 8px !important;
    bottom: 8px !important;
    width: 1px !important;
    background: var(--gok-hairline) !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  .gok-process-line,
  .gok-process-line-fill,
  .gok-process-lines {
    display: none !important;
  }

  /* Footer stack — React grid → column; kill desktop flex-basis:0 collapse */
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 32px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con,
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:first-child,
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:last-child {
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner > .e-con:last-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child,
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:first-child > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .elementor-location-footer .e-con-boxed > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .elementor-location-footer > .e-con.e-parent > .e-con-boxed:last-child .elementor-widget-text-editor .gok-mono {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .elementor-location-footer > .e-con.e-parent {
    padding: 48px 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Section rhythm — React py-20 */
  .elementor-28 > .e-con.e-parent:not(.gok-hero-glow):not(.gok-cta) {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
}
