/* ==========================================================================
   greggking.co.uk: visual refresh, v1 (1 October 2026)
   Source: Gregg's DESIGN.md (Apple-style reference). Visual layer only:
   no text, links or markup are changed. Everything is scoped to body.gkx,
   which the loader snippet adds, so disabling that snippet restores the
   previous look exactly.
   ========================================================================== */

body.gkx {
  --gkx-ink: #1d1d1f;
  --gkx-ink-2: #424245;
  --gkx-deep: #474747;
  --gkx-mid: #6e6e73;
  --gkx-hair: #d2d2d7;
  --gkx-canvas: #f5f5f7;
  --gkx-paper: #ffffff;
  --gkx-wash: #e8e8ed;
  --gkx-blue: #0071e3;
  --gkx-blue-hover: #0077ed;
  --gkx-link: #0066cc;
  --gkx-ember: #b64400;
  --gkx-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gkx-text: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gkx-radius: 28px;
  --gkx-pad: clamp(72px, 9vw, 120px);
  --gkx-card: var(--gkx-canvas);
  --gkx-photo-desk: url("/wp-content/uploads/2026/10/gregg-king-at-his-desk.jpg");
  --gkx-photo-working: url("/wp-content/uploads/2026/10/gregg-king-working.jpg");
  --gkx-photo-portrait: url("/wp-content/uploads/2026/10/gregg-king-portrait-768x962.jpg");
  --gkx-photo-square: url("/wp-content/uploads/2026/10/gregg-king-portrait-square-768x767.jpg");
  --gkx-photo-call: url("/wp-content/uploads/2026/10/gregg-king-video-call-300x300.jpg");
  background: #fff;
  color: var(--gkx-ink);
  font-family: var(--gkx-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.gkx ::selection { background: rgba(0, 113, 227, .18); }

/* --------------------------------------------------------------------------
   1. Tokens inside the existing component system
   -------------------------------------------------------------------------- */
body.gkx .gk-services {
  --ink: #1d1d1f;
  --ink-soft: #424245;
  --muted: #6e6e73;
  --line: #d2d2d7;
  --bg: #ffffff;
  --bg-alt: #f5f5f7;
  --card: #ffffff;
  --accent: #1d1d1f;
  --accent-soft: #424245;
  --accent-ink: #ffffff;
  --accent-bg: rgba(0, 0, 0, .05);
  --sans: var(--gkx-text);
  font-family: var(--gkx-text);
  font-size: 17px;
  line-height: 1.47;
  letter-spacing: -.016em;
  color: var(--gkx-ink);
  background: #fff;
}
body.gkx .gk-services .gk-section-alt { --muted: #6e6e73; }

/* Let the bands run edge to edge: the page builder boxes everything at
   1140px, so release the box around the component wrapper. .gk-wrap still
   holds the content to 1200px. */
body.gkx .e-con:has(> .e-con-inner > .elementor-widget > .gk-services),
body.gkx .e-con:has(> .elementor-widget > .gk-services) {
  --content-width: 100%;
  --padding-left: 0px;
  --padding-right: 0px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.gkx .e-con-inner:has(> .elementor-widget > .gk-services) {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
body.gkx .elementor-widget:has(> .gk-services) { width: 100%; margin: 0 !important; }
body.gkx .gk-services .gk-wrap { max-width: 1200px; padding: 0 40px; }
@media (max-width: 640px) { body.gkx .gk-services .gk-wrap { padding: 0 20px; } }

/* Rhythm: sections alternate white and #f5f5f7 by position, whatever
   their original class, so every page gets the same calm banding. */
body.gkx .gk-services > section,
body.gkx .gk-services > section.gk-section,
body.gkx .gk-services > section.gk-section.gk-section-dark,
body.gkx .gk-services > section.gk-split,
body.gkx .gk-services > section.gk-quote-section,
body.gkx .gk-services > section.gk-faqs-rich,
body.gkx .gk-services > section.gk-final {
  background: #fff;
  color: var(--gkx-ink);
  border: 0;
  --gkx-card: var(--gkx-canvas);
}
body.gkx .gk-services > section:nth-of-type(even),
body.gkx .gk-services > section.gk-section:nth-of-type(even),
body.gkx .gk-services > section.gk-section.gk-section-dark:nth-of-type(even),
body.gkx .gk-services > section.gk-split:nth-of-type(even),
body.gkx .gk-services > section.gk-quote-section:nth-of-type(even),
body.gkx .gk-services > section.gk-faqs-rich:nth-of-type(even),
body.gkx .gk-services > section.gk-final:nth-of-type(even) {
  background: var(--gkx-canvas);
  --gkx-card: #fff;
}
body.gkx .gk-services .gk-section,
body.gkx .gk-services .gk-faqs-rich,
body.gkx .gk-services .gk-quote-section,
body.gkx .gk-services .gk-final,
body.gkx .gk-services .gk-faqs { padding: var(--gkx-pad) 0; }

/* No glows, gradients or decorative orbs anywhere */
body.gkx .gk-services .gk-hero::before,
body.gkx .gk-services .gk-section.gk-section-dark::before,
body.gkx .gk-services .gk-section.gk-section-dark::after,
body.gkx .gk-services .gk-final::before,
body.gkx .gk-quote-section::before,
body.gkx .gk-services .gk-svc-feature::after,
body.gkx .gk-services .gk-pa-cta::after,
body.gkx .gk-services .gk-review-stat::after { display: none; }

/* --------------------------------------------------------------------------
   2. Typography
   -------------------------------------------------------------------------- */
body.gkx .gk-services h1,
body.gkx .gk-services h2,
body.gkx .gk-services h3,
body.gkx .gk-services h4,
body.gkx .gk-services .gk-final h2,
body.gkx .gk-split-text h2,
body.gkx .gk-faq-header h2,
body.gkx .gk-faqs h2 { font-family: var(--gkx-display); color: var(--gkx-ink); }

body.gkx .gk-services h1 {
  font-size: clamp(44px, 6.4vw, 80px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.015em;
  margin: 0 0 24px;
  max-width: 1080px;
}
body.gkx .gk-services .gk-section h2,
body.gkx .gk-services .gk-final h2,
body.gkx .gk-split-text h2,
body.gkx .gk-faq-header h2,
body.gkx .gk-faqs h2,
body.gkx .gk-services > section h2 {
  font-size: clamp(34px, 4.6vw, 56px);
  font-weight: 600;
  line-height: 1.07;
  letter-spacing: -.005em;
  margin: 0 0 20px;
  max-width: 920px;
}
body.gkx .gk-services h3 { font-weight: 600; letter-spacing: .004em; line-height: 1.2; }

/* Emphasis inside headlines: same family, same weight, quieter colour */
body.gkx .gk-services h1 em,
body.gkx .gk-services h2 em,
body.gkx .gk-services .gk-final h2 em,
body.gkx .gk-services .gk-section.gk-section-dark h2 em,
body.gkx .gk-split-text h2 em,
body.gkx .gk-faq-header h2 em,
body.gkx .gk-related-head h3 em,
body.gkx .gk-post-cta h2 em,
body.gkx .gk-quote-text em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
  color: var(--gkx-mid);
}

body.gkx .gk-services .gk-lede {
  font-size: clamp(19px, 1.6vw, 21px);
  line-height: 1.43;
  letter-spacing: .01em;
  color: var(--gkx-mid);
  max-width: 720px;
  margin: 0 0 36px;
}
body.gkx .gk-services .gk-section .gk-sub,
body.gkx .gk-services .gk-section.gk-section-dark .gk-sub,
body.gkx .gk-faq-header .gk-sub,
body.gkx .gk-faqs .gk-sub {
  font-size: 21px;
  line-height: 1.38;
  letter-spacing: .011em;
  color: var(--gkx-mid);
  max-width: 720px;
  margin: 0 0 56px;
}
body.gkx .gk-services .gk-section-head .gk-sub,
body.gkx .gk-faq-header .gk-sub { margin-bottom: 0; }
body.gkx .gk-services .gk-prose p { font-size: 19px; line-height: 1.53; letter-spacing: .005em; color: var(--gkx-ink); max-width: 720px; }

/* Eyebrows: plain, sentence case, no tracking */
body.gkx .gk-services .gk-eyebrow,
body.gkx .gk-services .gk-section.gk-section-dark .gk-eyebrow,
body.gkx .gk-services .gk-final .gk-eyebrow,
body.gkx .gk-split-text .gk-eyebrow,
body.gkx .gk-faq-header .gk-eyebrow,
body.gkx .gk-faqs .gk-eyebrow,
body.gkx .gk-related-head .gk-eyebrow,
body.gkx .gk-post-cta .gk-eyebrow {
  font-family: var(--gkx-text);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--gkx-mid);
  margin-bottom: 12px;
}

/* Inline links */
body.gkx .gk-services p a:not([class]),
body.gkx .gk-services li a:not([class]),
body.gkx .gk-services h3 a:not([class]) {
  color: var(--gkx-link);
  text-decoration: none;
  border: 0;
}
body.gkx .gk-services p a:not([class]):hover,
body.gkx .gk-services li a:not([class]):hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   3. Buttons and links
   -------------------------------------------------------------------------- */
body.gkx .gk-services .gk-btn,
body.gkx .gk-btn-primary-on-dark,
body.gkx .gk-btn-ghost-on-dark {
  font-family: var(--gkx-text);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.022em;
  line-height: 1.18;
  padding: 12px 23px;
  min-height: 44px;
  border-radius: 980px;
  box-shadow: none;
  transform: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.gkx .gk-services .gk-btn-primary,
body.gkx .gk-services .gk-btn-accent,
body.gkx .gk-services .gk-final .gk-btn-primary,
body.gkx .gk-btn-primary-on-dark {
  background: var(--gkx-blue);
  color: #fff;
  border: 1px solid var(--gkx-blue);
}
body.gkx .gk-services .gk-btn-primary:hover,
body.gkx .gk-services .gk-btn-accent:hover,
body.gkx .gk-services .gk-final .gk-btn-primary:hover,
body.gkx .gk-btn-primary-on-dark:hover {
  background: var(--gkx-blue-hover);
  border-color: var(--gkx-blue-hover);
  color: #fff;
  box-shadow: none;
  transform: none;
}
body.gkx .gk-services .gk-btn-ghost,
body.gkx .gk-services .gk-final .gk-btn-ghost,
body.gkx .gk-btn-ghost-on-dark {
  background: transparent;
  color: var(--gkx-ink);
  border: 1px solid var(--gkx-ink);
}
body.gkx .gk-services .gk-btn-ghost:hover,
body.gkx .gk-services .gk-final .gk-btn-ghost:hover,
body.gkx .gk-btn-ghost-on-dark:hover {
  background: var(--gkx-ink);
  color: #fff;
  border-color: var(--gkx-ink);
}
body.gkx .gk-services .gk-btn .gk-arrow { display: none; }
body.gkx .gk-services .gk-cta-row { gap: 14px; }

/* "See all" style links: blue text with an arrow, no underline rule */
body.gkx .gk-services .gk-section-link {
  font-size: 17px;
  font-weight: 400;
  color: var(--gkx-link);
  border-bottom: 0;
  padding-bottom: 0;
}
body.gkx .gk-services .gk-section-link:hover { color: var(--gkx-link); text-decoration: underline; }

/* Card-foot links ("Learn more", "Explore") */
body.gkx .gk-services .gk-svc-rich-link,
body.gkx .gk-services .gk-pa-link,
body.gkx .gk-services .gk-svc-tcard-link,
body.gkx .gk-services .gk-ai-arrow,
body.gkx .gk-services .gk-review-stat-link,
body.gkx .gk-services .gk-svc-feature .gk-svc-link {
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.016em;
  text-transform: none;
  color: var(--gkx-link);
}
body.gkx .gk-services .gk-svc-rich-link::after,
body.gkx .gk-services .gk-pa-link::after,
body.gkx .gk-services .gk-svc-tcard-link::after,
body.gkx .gk-services .gk-ai-arrow::after,
body.gkx .gk-services .gk-svc-feature .gk-svc-link::after,
body.gkx .gk-services .gk-pa-cta .gk-pa-link::after { content: "\203A"; color: var(--gkx-link); font-size: 1.15em; line-height: 1; }

/* --------------------------------------------------------------------------
   4. Cards: borderless, 28px corners, no shadow, colour does the work
   -------------------------------------------------------------------------- */
body.gkx .gk-services .gk-card,
body.gkx .gk-services .gk-model-card,
body.gkx .gk-services .gk-svc-rich,
body.gkx .gk-services .gk-svc-tcard,
body.gkx .gk-services .gk-pa-card,
body.gkx .gk-services .gk-pa-cta,
body.gkx .gk-services .gk-review-card,
body.gkx .gk-services .gk-review-stat,
body.gkx .gk-services .gk-fit-card,
body.gkx .gk-services .gk-fit-card-yes,
body.gkx .gk-services .gk-fit-card-no,
body.gkx .gk-services .gk-ai-card,
body.gkx .gk-services .gk-svc-feature,
body.gkx .gk-services .gk-callout,
body.gkx .gk-related-card,
body.gkx .gk-author-box {
  background: var(--gkx-card);
  color: var(--gkx-ink);
  border: 0;
  border-radius: var(--gkx-radius);
  box-shadow: none;
}
body.gkx .gk-services .gk-card,
body.gkx .gk-services .gk-model-card,
body.gkx .gk-services .gk-svc-rich,
body.gkx .gk-services .gk-svc-tcard,
body.gkx .gk-services .gk-pa-card,
body.gkx .gk-services .gk-review-card,
body.gkx .gk-services .gk-review-stat,
body.gkx .gk-services .gk-fit-card,
body.gkx .gk-services .gk-ai-card { padding: 36px; }
body.gkx .gk-services .gk-model-card::before,
body.gkx .gk-services .gk-card::before,
body.gkx .gk-services .gk-svc-rich::before,
body.gkx .gk-services .gk-svc-tcard::before,
body.gkx .gk-services .gk-pa-card::before { display: none; }

/* Linked cards grow very slightly on hover instead of lifting with a shadow */
body.gkx .gk-services a.gk-card,
body.gkx .gk-services a.gk-svc-rich,
body.gkx .gk-services a.gk-svc-tcard,
body.gkx .gk-services a.gk-pa-card,
body.gkx .gk-services a.gk-ai-card,
body.gkx .gk-services a.gk-review-stat,
body.gkx .gk-services a.gk-svc-feature,
body.gkx a.gk-related-card {
  transition: transform .45s cubic-bezier(.25, .1, .25, 1), background-color .3s ease;
}
body.gkx .gk-services a.gk-card:hover,
body.gkx .gk-services .gk-model-card:hover,
body.gkx .gk-services a.gk-svc-rich:hover,
body.gkx .gk-services a.gk-svc-tcard:hover,
body.gkx .gk-services a.gk-pa-card:hover,
body.gkx .gk-services a.gk-ai-card:hover,
body.gkx .gk-services a.gk-review-stat:hover,
body.gkx .gk-services .gk-review-card:hover,
body.gkx .gk-services a.gk-svc-feature:hover,
body.gkx a.gk-related-card:hover {
  transform: scale(1.012);
  box-shadow: none;
  border-color: transparent;
}
body.gkx .gk-services .gk-model-card:hover,
body.gkx .gk-services .gk-review-card:hover { transform: none; }

/* Card typography */
body.gkx .gk-services .gk-card h3,
body.gkx .gk-services .gk-model-card h3,
body.gkx .gk-services .gk-svc-rich h3,
body.gkx .gk-services .gk-svc-rich h4,
body.gkx .gk-services .gk-svc-tcard h4,
body.gkx .gk-services .gk-pa-card h3,
body.gkx .gk-services .gk-pa-card h4,
body.gkx .gk-services .gk-fit-card h3 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: .009em;
  line-height: 1.17;
  color: var(--gkx-ink);
}
body.gkx .gk-services .gk-card p,
body.gkx .gk-services .gk-model-card p,
body.gkx .gk-services .gk-svc-rich p,
body.gkx .gk-services .gk-svc-tcard p,
body.gkx .gk-services .gk-pa-card p {
  font-size: 17px;
  line-height: 1.47;
  color: var(--gkx-mid);
}
body.gkx .gk-services .gk-model-foot,
body.gkx .gk-services .gk-review-author,
body.gkx .gk-services .gk-svc-rich-bullets,
body.gkx .gk-services .gk-ai-card-foot,
body.gkx .gk-services .gk-ai-citation { border-top: 1px solid rgba(0, 0, 0, .08); }
body.gkx .gk-services .gk-model-foot { font-size: 15px; font-weight: 600; color: var(--gkx-ink); }

/* Tags become quiet badges */
body.gkx .gk-services .gk-card-num,
body.gkx .gk-services .gk-svc-rich-tag,
body.gkx .gk-services .gk-svc-feature-tag,
body.gkx .gk-services .gk-ai-tag,
body.gkx .gk-services .gk-pa-tag,
body.gkx .gk-services .gk-pa-cta .gk-pa-tag,
body.gkx .gk-services .gk-fit-tag,
body.gkx .gk-services .gk-fit-tag-yes,
body.gkx .gk-services .gk-fit-tag-no,
body.gkx .gk-faq-cat,
body.gkx .gk-related-tag {
  font-family: var(--gkx-text);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--gkx-ink-2);
  background: rgba(0, 0, 0, .05);
  border: 0;
  border-radius: 36px;
  padding: 5px 11px;
}

/* Icons: monochrome on a soft squircle */
body.gkx .gk-services .gk-model-icon,
body.gkx .gk-services .gk-svc-rich-icon,
body.gkx .gk-services .gk-pa-icon,
body.gkx .gk-services .gk-ai-icon,
body.gkx .gk-services .gk-callout-icon,
body.gkx .gk-author-icon {
  background: rgba(0, 0, 0, .05) !important;
  color: var(--gkx-ink) !important;
  border: 0 !important;
  border-radius: 14px;
}
body.gkx .gk-services .gk-model-icon [stroke]:not([stroke="none"]),
body.gkx .gk-services .gk-svc-rich-icon [stroke]:not([stroke="none"]),
body.gkx .gk-services .gk-pa-icon [stroke]:not([stroke="none"]),
body.gkx .gk-services .gk-ai-icon [stroke]:not([stroke="none"]),
body.gkx .gk-services .gk-callout-icon [stroke]:not([stroke="none"]) { stroke: currentColor; }
body.gkx .gk-services .gk-model-icon [fill]:not([fill="none"]),
body.gkx .gk-services .gk-svc-rich-icon [fill]:not([fill="none"]),
body.gkx .gk-services .gk-pa-icon [fill]:not([fill="none"]),
body.gkx .gk-services .gk-ai-icon [fill]:not([fill="none"]),
body.gkx .gk-services .gk-callout-icon [fill]:not([fill="none"]) { fill: currentColor; }

/* Ticks in lists: a simple ink check, no tinted circle */
body.gkx .gk-services .gk-svc-rich-bullets li::before,
body.gkx .gk-split-text .gk-bullets li::before { display: none; }
body.gkx .gk-services .gk-svc-rich-bullets li { font-size: 15px; color: var(--gkx-ink); }
body.gkx .gk-split-text .gk-bullets li { font-size: 17px; color: var(--gkx-ink); font-weight: 400; }
body.gkx .gk-services .gk-svc-rich-bullets li::after,
body.gkx .gk-split-text .gk-bullets li::after { border-color: var(--gkx-ink); }

/* --------------------------------------------------------------------------
   5. Header: slim, frosted, sticky
   -------------------------------------------------------------------------- */
body.gkx .elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  background: transparent;
}
/* The frosted glass sits on a pseudo-element. Putting backdrop-filter on the
   header itself would trap the full-screen mobile menu inside a 52px bar. */
body.gkx .elementor-location-header::before {
  content: "";
  display: block;
  clear: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  pointer-events: none;
}
body.admin-bar.gkx .elementor-location-header { top: 32px; }
body.gkx .elementor-location-header > .e-con,
body.gkx .elementor-location-header > .e-con > .e-con {
  --min-height: 52px !important;
  min-height: 52px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
/* Wordmark: "Gregg King" set in type replaces the GK monogram image.
   The image is removed from view and from the accessibility tree, so the
   link's accessible name becomes the wordmark text. */
body.gkx .elementor-location-header .elementor-widget-image {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}
body.gkx .elementor-location-header .elementor-widget-image img { display: none !important; }
body.gkx .elementor-location-header .elementor-widget-image a {
  display: inline-flex !important;
  align-items: center;
  height: 52px;
  text-decoration: none !important;
  color: var(--gkx-ink) !important;
}
body.gkx .elementor-location-header .elementor-widget-image a::before {
  content: "Gregg King";
  font-family: var(--gkx-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1;
  color: var(--gkx-ink);
  white-space: nowrap;
}
body.gkx .elementor-location-header .elementskit-navbar-nav > li > a {
  font-family: var(--gkx-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  color: rgba(0, 0, 0, .8) !important;
  line-height: 52px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.gkx .elementor-location-header .elementskit-navbar-nav > li > a:hover,
body.gkx .elementor-location-header .elementskit-navbar-nav > li.current-menu-item > a { color: var(--gkx-ink) !important; }
@media (min-width: 768px) {
  body.gkx .elementor-location-header .elementskit-submenu-indicator { display: none !important; }
  /* The menu plugin fixes its bar at 80px; Apple's is a slim 52px */
  body.gkx .elementor-location-header .elementskit-menu-container,
  body.gkx .elementor-location-header .elementskit-navbar-nav,
  body.gkx .elementor-location-header .elementskit-navbar-nav > li,
  body.gkx .elementor-location-header .elementskit-navbar-nav > li > a { height: 52px !important; }
  body.gkx .elementor-location-header .elementskit-navbar-nav > li > a { padding-left: 12px !important; padding-right: 12px !important; }
}
body.gkx .elementor-location-header .elementskit-dropdown {
  background: rgba(255, 255, 255, .96) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .18) !important;
  padding: 10px !important;
}
body.gkx .elementor-location-header .elementskit-dropdown li > a {
  font-family: var(--gkx-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--gkx-ink) !important;
  border-radius: 10px !important;
  padding: 9px 14px !important;
  background: transparent !important;
}
body.gkx .elementor-location-header .elementskit-dropdown li > a:hover { background: var(--gkx-canvas) !important; }
body.gkx .elementor-location-header .elementor-button {
  font-family: var(--gkx-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
  background: var(--gkx-blue) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 980px !important;
  padding: 9px 16px !important;
  box-shadow: none !important;
}
body.gkx .elementor-location-header .elementor-button:hover { background: var(--gkx-blue-hover) !important; }
body.gkx .elementor-location-header .elementskit-menu-hamburger { border: 0 !important; }
body.gkx .elementor-location-header .elementskit-menu-hamburger-icon { background-color: var(--gkx-ink) !important; }

/* --------------------------------------------------------------------------
   6. Homepage hero: headline first, then a large photograph of Gregg
   -------------------------------------------------------------------------- */
body.gkx .gk-services .gk-hero {
  background: #fff;
  border-bottom: 0;
  padding: clamp(56px, 7vw, 96px) 0 clamp(64px, 8vw, 104px);
}
body.gkx .gk-services .gk-avail {
  background: none;
  border: 0;
  padding: 0;
  gap: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--gkx-ember);
  margin-bottom: 10px;
}
body.gkx .gk-services .gk-avail .gk-pulse { display: none; }
body.gkx .gk-services .gk-hero .gk-eyebrow {
  display: block;
  margin: 0 0 14px;
  font-size: 19px;
  font-weight: 600;
  color: var(--gkx-ink);
}

body.gkx.home .gk-services .gk-hero-grid:has(> .gk-hero-visual) {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(48px, 6vw, 72px);
}
body.gkx.home .gk-services .gk-hero-visual {
  aspect-ratio: 2 / 1;
  max-height: none;
  width: 100%;
  border-radius: var(--gkx-radius);
  overflow: hidden;
  background: var(--gkx-canvas) var(--gkx-photo-desk) center 42% / cover no-repeat;
}
body.gkx.home .gk-services .gk-hero-visual > * { display: none !important; }
/* Other heroes keep their two-column layout, so the headline steps down */
body.gkx:not(.home) .gk-services h1 { font-size: clamp(40px, 4.8vw, 64px); line-height: 1.06; }
body.gkx .gk-services .gk-hero-grid { gap: clamp(40px, 5vw, 80px); grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
body.gkx .gk-about-photo-frame { max-width: none !important; }
@media (max-width: 980px) { body.gkx .gk-services .gk-hero-grid { grid-template-columns: minmax(0, 1fr); } }
body.gkx .gk-services .gk-hero-visual .gk-mockup { transform: none !important; }

/* Hero stats: big numbers, no rules */
body.gkx .gk-services .gk-trust-strip {
  border-top: 0;
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: 0;
  gap: 32px;
}
body.gkx .gk-services .gk-trust-num {
  font-family: var(--gkx-display);
  font-size: clamp(40px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1;
  color: var(--gkx-ink);
}
body.gkx .gk-services .gk-trust-num .gk-accent { color: inherit; font-weight: inherit; }
body.gkx .gk-services .gk-trust-label { font-size: 14px; line-height: 1.43; color: var(--gkx-mid); letter-spacing: -.01em; }
body.gkx .gk-services .gk-trust-label strong { font-size: 17px; font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-services .gk-hero .gk-reveal:has(> .gk-trust-strip) > .gk-trust-strip { border-left-color: rgba(0, 0, 0, .1); }
body.gkx .gk-services .gk-flisted-home,
body.gkx .gk-services .gk-flisted { font-size: 14px; color: var(--gkx-mid); }
body.gkx .gk-services .gk-flisted-home a,
body.gkx .gk-services .gk-flisted a { color: var(--gkx-link) !important; border: 0 !important; text-decoration: none; }
body.gkx .gk-services .gk-flisted-home a:hover,
body.gkx .gk-services .gk-flisted a:hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   7. Section-specific treatments
   -------------------------------------------------------------------------- */

/* "The model" numbers */
body.gkx .gk-services .gk-model-num {
  font-family: var(--gkx-display);
  font-style: normal;
  font-size: 40px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #86868b;
}

/* Audit split: a real photograph of the work instead of the mock dashboard */
body.gkx .gk-split { padding: var(--gkx-pad) 0; gap: 64px; }
body.gkx .gk-split-text .gk-bullets { margin: 24px 0 36px; }
body.gkx .gk-split-text h2 { font-size: clamp(32px, 3.6vw, 48px); }
body.gkx .gk-split-text p { font-size: 17px; line-height: 1.53; color: var(--gkx-mid); }
body.gkx.home .gk-split-visual {
  aspect-ratio: 4 / 3;
  border-radius: var(--gkx-radius);
  overflow: hidden;
  background: var(--gkx-canvas) var(--gkx-photo-working) 62% center / cover no-repeat;
  margin-right: 40px;
  padding: 0;
}
body.gkx.home .gk-split-visual > * { display: none !important; }
body.gkx .gk-services .gk-mockup,
body.gkx .gk-mockup {
  transform: none;
  box-shadow: none;
  border: 0;
  border-radius: var(--gkx-radius);
  background: #fff;
}
body.gkx .gk-services .gk-mockup:hover, body.gkx .gk-mockup:hover { transform: none; }
body.gkx .gk-mockup-bar { background: var(--gkx-canvas); border-bottom: 0; }
body.gkx .gk-mockup-body { background: #fff; }
body.gkx .gk-mockup-stat { background: var(--gkx-canvas); border: 0; border-radius: 14px; }

/* AI search cards (previously the dark band) */
body.gkx .gk-services .gk-section.gk-section-dark h2,
body.gkx .gk-services .gk-ai-card h3 { color: var(--gkx-ink); }
body.gkx .gk-services .gk-ai-card p,
body.gkx .gk-services .gk-ai-fact,
body.gkx .gk-services .gk-ai-citation-label { color: var(--gkx-mid); }
body.gkx .gk-services .gk-ai-fact strong,
body.gkx .gk-services .gk-ai-citation-label strong { color: var(--gkx-ink); }
body.gkx .gk-services .gk-ai-card:hover { background: var(--gkx-card); }
body.gkx .gk-services .gk-ai-citation-label { font-size: 12px; letter-spacing: -.01em; text-transform: none; }
body.gkx .gk-services .gk-ai-citation-bar { background: rgba(0, 0, 0, .08); }
body.gkx .gk-services .gk-ai-citation-fill { background: var(--gkx-ink); }
body.gkx .gk-services .gk-ai-card-foot { border-top-color: rgba(0, 0, 0, .08); }

/* Content written for the old dark bands carries inline white text and gold
   links. The bands are light now, so bring those inline colours into line.
   The one remaining dark card (.gk-pa-cta) is left alone. */
body.gkx .gk-services [style*="color:#fff"]:not(.gk-btn):not(.gk-pa-cta *),
body.gkx .gk-services [style*="color: #fff"]:not(.gk-btn):not(.gk-pa-cta *),
body.gkx .gk-services [style*="color:#ffffff"]:not(.gk-btn):not(.gk-pa-cta *),
body.gkx .gk-services [style*="color:white"]:not(.gk-btn):not(.gk-pa-cta *) { color: var(--gkx-ink) !important; }
body.gkx .gk-services [style*="color:rgba(255"]:not(.gk-btn):not(.gk-pa-cta *),
body.gkx .gk-services [style*="color: rgba(255"]:not(.gk-btn):not(.gk-pa-cta *) { color: var(--gkx-mid) !important; }
body.gkx .gk-services [style*="background:rgba(255,255,255"]:not(.gk-pa-cta *),
body.gkx .gk-services [style*="background: rgba(255,255,255"]:not(.gk-pa-cta *) {
  background: var(--gkx-card) !important;
  border-color: transparent !important;
}
body.gkx .gk-services a[style*="color"]:not(.gk-btn):not(.gk-pa-cta *) {
  color: var(--gkx-link) !important;
  border-bottom-color: transparent !important;
}
body.gkx .gk-services .gk-flisted[style] { color: var(--gkx-mid) !important; }
/* Gold hard-coded into arrows and small spans takes the colour of its link */
body.gkx [style*="color:#b8893a"]:not(a),
body.gkx [style*="color: #b8893a"]:not(a),
body.gkx [style*="color:#d4a956"]:not(a),
body.gkx [style*="color:#c9a24a"]:not(a),
body.gkx [style*="color:#8a6410"]:not(a),
body.gkx [style*="color:#d9ac5f"]:not(a) { color: inherit !important; }
body.gkx a[style*="color:#b8893a"],
body.gkx a[style*="color:#d4a956"],
body.gkx a[style*="color:#c9a24a"],
body.gkx a[style*="color:#8a6410"],
body.gkx a[style*="color:#d9ac5f"] { color: var(--gkx-link) !important; border-bottom-color: transparent !important; }
body.gkx .gk-related-link { color: var(--gkx-link); }
body.gkx [style*="rgba(201,162,74"],
body.gkx [style*="rgba(201, 162, 74"],
body.gkx [style*="rgba(184,137,58"],
body.gkx [style*="rgba(212,169,86"] { border-color: rgba(0, 0, 0, .14) !important; }
body.gkx .gk-post-cta [style*="color:#fff"],
body.gkx .gk-post-cta [style*="color: #fff"] { color: var(--gkx-ink) !important; }
body.gkx .gk-post-cta [style*="color:rgba(255"],
body.gkx .gk-post-cta [style*="color: rgba(255"] { color: var(--gkx-mid) !important; }
body.gkx .gk-post-cta a[style*="color"]:not([class*="gk-btn"]) { color: var(--gkx-link) !important; }

/* Practice areas: monochrome, no rainbow */
body.gkx .gk-services .gk-pa-card { --sector: #1d1d1f; --sector-bg: rgba(0, 0, 0, .05); }
body.gkx .gk-services .gk-pa-cta { background: var(--gkx-ink); color: #fff; }
body.gkx .gk-services .gk-pa-cta h3,
body.gkx .gk-services .gk-pa-cta h4 { color: #fff; }
body.gkx .gk-services .gk-pa-cta p { color: rgba(255, 255, 255, .72); }
body.gkx .gk-services .gk-pa-cta .gk-pa-tag { background: rgba(255, 255, 255, .14); color: #fff; }
body.gkx .gk-services .gk-pa-cta .gk-pa-icon { background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
body.gkx .gk-services .gk-pa-cta .gk-pa-link,
body.gkx .gk-services .gk-pa-cta .gk-pa-link::after { color: #2997ff; }

/* Reviews */
body.gkx .gk-services .gk-review-stars,
body.gkx .gk-services .gk-review-stat .gk-review-stars { color: var(--gkx-ink); font-size: 15px; letter-spacing: 3px; }
body.gkx .gk-services .gk-review-quote { font-size: 19px; font-weight: 400; line-height: 1.42; letter-spacing: .005em; }
body.gkx .gk-services .gk-review-author { color: var(--gkx-mid); }
body.gkx .gk-services .gk-review-stat-num { font-family: var(--gkx-display); font-weight: 600; color: var(--gkx-ink); letter-spacing: -.02em; }
body.gkx .gk-services .gk-review-stat-of { color: var(--gkx-mid); }
body.gkx .gk-services .gk-review-stat-label { color: var(--gkx-mid); }
body.gkx .gk-services .gk-review-stat-label strong { color: var(--gkx-ink); }

/* How I work list */
body.gkx .gk-services .gk-list li { border-bottom-color: rgba(0, 0, 0, .1); gap: 22px; }
body.gkx .gk-services .gk-list-num { width: 36px; height: 36px; background: var(--gkx-ink); font-weight: 600; font-size: 14px; }
body.gkx .gk-services .gk-list-body strong { font-size: 21px; font-weight: 600; letter-spacing: .01em; }
body.gkx .gk-services .gk-list-body span { font-size: 17px; line-height: 1.47; color: var(--gkx-mid); }
body.gkx .gk-services .gk-callout { padding: 32px 36px; font-size: 17px; line-height: 1.47; border-left: 0; max-width: 820px; }

/* Fit */
body.gkx .gk-services .gk-fit-card-yes,
body.gkx .gk-services .gk-fit-card-no { border-top: 0; }
body.gkx .gk-services .gk-fit-card li { border-top-color: rgba(0, 0, 0, .08); font-size: 17px; line-height: 1.47; }
body.gkx .gk-services .gk-fit-card-yes li::before { background: var(--gkx-ink); color: #fff; }
body.gkx .gk-services .gk-fit-card-no li::before { background: rgba(0, 0, 0, .08); color: var(--gkx-mid); }

/* About block (homepage) and About page hero portrait */
body.gkx .gk-about-photo {
  border-radius: var(--gkx-radius);
  background: var(--gkx-canvas) var(--gkx-photo-square) center 30% / cover no-repeat;
}
body.gkx .gk-about-photo::after { display: none; }
body.gkx .gk-about-photo img { opacity: 0; }
body.gkx .gk-hero .gk-about-photo {
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  max-width: none !important;
  background-image: var(--gkx-photo-portrait);
  background-position: center 40%;
}

/* About page, "How I got here": the prose sits beside a photo of the desk */
@media (min-width: 981px) {
  body.gkx.page-id-77 .gk-services > section:nth-of-type(4) > .gk-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
    column-gap: 72px;
    align-items: center;
  }
  body.gkx.page-id-77 .gk-services > section:nth-of-type(4) > .gk-wrap > * { grid-column: 1; }
  body.gkx.page-id-77 .gk-services > section:nth-of-type(4) > .gk-wrap::after {
    content: "";
    grid-column: 2;
    grid-row: 1 / span 3;
    aspect-ratio: 4 / 5;
    border-radius: var(--gkx-radius);
    background: var(--gkx-card) url("/wp-content/uploads/2026/10/gregg-king-desk-setup-1024x796.jpg") 70% center / cover no-repeat;
  }
}
body.gkx .gk-about-id-name { font-family: var(--gkx-display); font-size: 24px; font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-about-id-role { color: var(--gkx-ink-2); font-weight: 400; font-size: 17px; }
body.gkx .gk-about-id-loc { color: var(--gkx-mid); font-size: 14px; }
body.gkx .gk-about-stats { border-top-color: rgba(0, 0, 0, .1); }
body.gkx .gk-about-stats strong {
  font-family: var(--gkx-display);
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  color: var(--gkx-ink);
  letter-spacing: -.01em;
}
body.gkx .gk-about-stats span { font-size: 13px; line-height: 1.35; color: var(--gkx-mid); }
body.gkx .gk-about-rich .gk-about-stats strong { font-size: 24px; }
body.gkx .gk-about-pullquote {
  font-family: var(--gkx-display);
  font-style: normal;
  font-weight: 600;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: .004em;
  color: var(--gkx-ink);
  border-left: 0;
  padding-left: 0;
}
body.gkx .gk-about-rich-right p { font-size: 17px; line-height: 1.53; color: var(--gkx-mid); }
body.gkx .gk-services .gk-about-mark { background: var(--gkx-canvas); box-shadow: none; }

/* Quote band */
body.gkx .gk-quote-wrap { text-align: center; max-width: 1000px; }
body.gkx .gk-quote-mark {
  font-family: var(--gkx-display);
  font-size: 96px;
  line-height: .7;
  color: var(--gkx-hair);
  opacity: 1;
  margin-bottom: 8px;
}
body.gkx .gk-quote-text {
  font-family: var(--gkx-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.003em;
  color: var(--gkx-ink);
  margin: 0 auto 28px;
}
body.gkx .gk-quote-attr { justify-content: center; color: var(--gkx-mid); font-size: 17px; }
body.gkx .gk-quote-attr strong { color: var(--gkx-ink); font-size: 17px; }

/* FAQs */
body.gkx .gk-faqs-rich { border-top: 0; }
body.gkx .gk-faqs-rich .gk-wrap { max-width: 980px; }
body.gkx .gk-faq-list-rich { gap: 12px; }
body.gkx .gk-faq-card { background: var(--gkx-card); border: 0; border-radius: 20px; }
body.gkx .gk-faq-card:hover { box-shadow: none; border-color: transparent; }
body.gkx .gk-faq-card details[open] { background: transparent; }
body.gkx .gk-faq-card details summary { padding: 24px 28px; }
body.gkx .gk-faq-q-text { font-size: 19px; font-weight: 600; letter-spacing: .005em; color: var(--gkx-ink); }
body.gkx .gk-faq-card .gk-faq-a-rich { font-size: 17px; line-height: 1.47; color: var(--gkx-mid); padding: 0 28px 28px; }
body.gkx .gk-faq-toggle { background: rgba(0, 0, 0, .06); width: 32px; height: 32px; }
body.gkx .gk-faq-card details[open] .gk-faq-toggle { background: var(--gkx-ink); }
body.gkx .gk-faq-item { border-top-color: rgba(0, 0, 0, .1); }
body.gkx .gk-faq-item:last-child { border-bottom-color: rgba(0, 0, 0, .1); }
body.gkx .gk-faq-item summary,
body.gkx .gk-faq-q { font-family: var(--gkx-display); font-size: 21px; font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-faq-item summary:hover { color: var(--gkx-ink); }
body.gkx .gk-faq-a { font-size: 17px; line-height: 1.47; color: var(--gkx-mid); }

/* Closing call to action: centred, with Gregg's face above the headline */
body.gkx .gk-services .gk-final { text-align: center; }
body.gkx .gk-services .gk-final h2 { margin: 0 auto 20px; max-width: 860px; font-size: clamp(36px, 5vw, 64px); }
body.gkx .gk-services .gk-final p { color: var(--gkx-mid); font-size: 21px; line-height: 1.38; max-width: 640px; margin: 0 auto 36px; }
body.gkx .gk-services .gk-final .gk-btn-ghost { border-color: var(--gkx-ink); color: var(--gkx-ink); }
body.gkx .gk-services .gk-final-inner::before {
  content: "";
  display: block;
  width: 96px;
  height: 96px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: var(--gkx-canvas) var(--gkx-photo-call) center 35% / cover no-repeat;
}
body.gkx .gk-services .gk-final .gk-eyebrow { margin-bottom: 14px; }

/* Services feature band and platform tiles (service pages) */
body.gkx .gk-services .gk-svc-feature { padding: 48px; }
body.gkx .gk-services .gk-svc-feature h3 { color: var(--gkx-ink); font-weight: 600; letter-spacing: -.005em; }
body.gkx .gk-services .gk-svc-feature p { color: var(--gkx-mid); }
body.gkx .gk-services .gk-svc-feature .gk-svc-link { color: var(--gkx-link); }
body.gkx .gk-services .gk-svc-platform { background: rgba(0, 0, 0, .04); border: 0; border-radius: 18px; color: var(--gkx-mid); }
body.gkx .gk-services .gk-svc-platform strong { color: var(--gkx-ink); }

/* AI logo strip */
body.gkx .gk-ailogos { background: transparent; border: 0; }
body.gkx .gk-ailogos-eyebrow { font-size: 14px; letter-spacing: -.01em; text-transform: none; color: var(--gkx-mid); }
body.gkx .gk-ailogos-item svg { color: var(--gkx-ink); }
body.gkx .gk-ailogos-name { color: var(--gkx-ink-2); font-size: 14px; }

/* Testimonials band and Google reviews badge (added by snippets) */
body.gkx .gk-tstm { background: var(--gkx-canvas); border: 0; padding: var(--gkx-pad) 0; font-family: var(--gkx-text); }
body.gkx .gk-tstm .gk-in { max-width: 1200px; padding: 0 40px; }
body.gkx .gk-tstm-eyebrow { font-size: 17px; font-weight: 600; letter-spacing: -.01em; text-transform: none; color: var(--gkx-mid); }
body.gkx .gk-tstm-head {
  font-family: var(--gkx-display);
  font-weight: 600;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.003em;
  color: var(--gkx-ink);
}
body.gkx .gk-tstm-grid { gap: 20px; }
body.gkx .gk-tstm-card { background: #fff; border: 0; border-radius: var(--gkx-radius); padding: 36px; }
body.gkx .gk-tstm-mark { font-family: var(--gkx-display); color: var(--gkx-hair); opacity: 1; }
body.gkx .gk-tstm-quote { font-family: var(--gkx-text); font-style: normal; font-size: 19px; line-height: 1.42; color: var(--gkx-ink); }
body.gkx .gk-tstm-attr { border-top-color: rgba(0, 0, 0, .08); }
body.gkx .gk-tstm-role { color: var(--gkx-ink); font-size: 15px; }
body.gkx .gk-tstm-firm { color: var(--gkx-mid); font-size: 14px; }
body.gkx .gk-tstm-listed,
body.gkx .gk-tstm-listed a { color: var(--gkx-mid); }
body.gkx .gk-tstm-listed a { color: var(--gkx-link) !important; }
body.gkx .gk-revbadge-card { border: 0; background: var(--gkx-canvas); box-shadow: none; font-family: var(--gkx-text); }
body.gkx .gk-revbadge-card:hover { box-shadow: none; transform: none; background: var(--gkx-wash); }
body.gkx .gk-revbadge-stars { color: var(--gkx-ink); font-size: 15px; }
body.gkx .gk-revbadge-score { font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-revbadge-count { color: var(--gkx-ink-2); font-weight: 400; }
body.gkx .gk-revbadge-cta { color: var(--gkx-link); font-weight: 400; text-decoration: none; }
body.gkx .gk-services .gk-ai-icon { font-family: var(--gkx-display); }
body.gkx [style*="Fraunces"],
body.gkx [style*="Lora"] { font-family: var(--gkx-display) !important; font-style: normal !important; }
body.gkx .gk-mockup-stat-v .gk-up { color: #15803d; }
@media (max-width: 880px) { body.gkx .gk-tstm .gk-in { padding: 0 20px; } }

/* Scorecard and forms */
body.gkx .gk-sc-opt label { border-radius: 980px; border-color: var(--gkx-hair); color: var(--gkx-ink-2); }
body.gkx .gk-sc-opt input:checked + label { background: var(--gkx-ink); border-color: var(--gkx-ink); }
body.gkx .gk-sc-qt b { font-family: var(--gkx-display); color: var(--gkx-ink); }
body.gkx .gk-sc-prog i { background: var(--gkx-blue); }
body.gkx .gk-sc-ring { background: conic-gradient(var(--gkx-ink) calc(var(--p) * 1%), var(--gkx-wash) 0); }
body.gkx .gk-sc-ring i { font-family: var(--gkx-display); }
body.gkx .gk-sc-disc { border-left-color: var(--gkx-hair); }
body.gkx .gk-sc-input { border-radius: 12px; border-color: var(--gkx-hair); }
body.gkx .gk-sc-input:focus { border-color: var(--gkx-blue); box-shadow: 0 0 0 4px rgba(0, 113, 227, .15); }
body.gkx .gk-sc-fix a { color: var(--gkx-link); border-bottom: 0; }

/* --------------------------------------------------------------------------
   8. Blog posts
   -------------------------------------------------------------------------- */
body.gkx.single-post .elementor-widget-theme-post-content,
body.gkx .gk-post-body,
body.gkx.single-post .elementor-widget-theme-post-content p,
body.gkx .gk-post-body p,
body.gkx.single-post .elementor-widget-theme-post-content ul,
body.gkx.single-post .elementor-widget-theme-post-content ol,
body.gkx .gk-post-body ul,
body.gkx .gk-post-body ol {
  font-family: var(--gkx-text);
  font-size: 19px;
  line-height: 1.58;
  letter-spacing: .002em;
  color: var(--gkx-ink);
}
body.gkx.single-post .elementor-widget-theme-post-content h2,
body.gkx .gk-post-body h2 {
  font-family: var(--gkx-display);
  font-weight: 600;
  font-size: 32px;
  line-height: 1.13;
  letter-spacing: .004em;
  color: var(--gkx-ink);
  margin: 56px 0 16px;
}
body.gkx.single-post .elementor-widget-theme-post-content h3,
body.gkx .gk-post-body h3 {
  font-family: var(--gkx-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.17;
  color: var(--gkx-ink);
}
body.gkx.single-post .elementor-widget-theme-post-content a,
body.gkx .gk-post-body a { color: var(--gkx-link); text-decoration: none; }
body.gkx.single-post .elementor-widget-theme-post-content a:hover,
body.gkx .gk-post-body a:hover { color: var(--gkx-link); text-decoration: underline; }
body.gkx.single-post .elementor-widget-theme-post-content blockquote,
body.gkx .gk-post-body blockquote {
  font-family: var(--gkx-display);
  font-style: normal;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.25;
  border-left: 0;
  padding: 8px 0;
  color: var(--gkx-ink);
}
body.gkx .elementor-location-single .elementor-element-0ac32650,
body.gkx .elementor-location-single .elementor-element-f53b45f4 { background-color: var(--gkx-canvas) !important; }
body.gkx .elementor-location-single .elementor-element-f53b45f4 .gk-related-card,
body.gkx .elementor-location-single .elementor-element-f53b45f4 .gk-author-box { --gkx-card: #fff; }
body.gkx .elementor-location-single h1.elementor-heading-title {
  font-family: var(--gkx-display) !important;
  font-weight: 700 !important;
  font-size: clamp(36px, 4.6vw, 56px) !important;
  line-height: 1.07 !important;
  letter-spacing: -.01em !important;
  color: var(--gkx-ink) !important;
}
body.gkx .gk-post-meta span[style*="Fraunces"] { font-family: var(--gkx-text) !important; font-style: normal !important; color: var(--gkx-mid) !important; }
body.gkx .gk-post-eyebrow { font-family: var(--gkx-text); font-size: 14px; letter-spacing: -.01em; text-transform: none; color: var(--gkx-mid); }
body.gkx .gk-post-eyebrow a { color: var(--gkx-link); }
body.gkx .gk-post-meta { font-family: var(--gkx-text); color: var(--gkx-mid); }
body.gkx .gk-author-box { --gkx-card: var(--gkx-canvas); padding: 32px; }
body.gkx .gk-author-body,
body.gkx .gk-author-body p { font-family: var(--gkx-text); color: var(--gkx-mid); }
body.gkx .gk-author-body h3,
body.gkx .gk-related-head h3 { font-family: var(--gkx-display); font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-author-link,
body.gkx .gk-related-foot a { color: var(--gkx-link); }
body.gkx .gk-author-photo { border: 0; box-shadow: none; }
body.gkx .gk-related-card { --gkx-card: var(--gkx-canvas); padding: 24px; }
body.gkx .gk-related-card h4 { font-family: var(--gkx-display); font-weight: 600; font-size: 19px; color: var(--gkx-ink); }
body.gkx .gk-post-cta { background: var(--gkx-canvas); color: var(--gkx-ink); border-radius: var(--gkx-radius); }
body.gkx .gk-post-cta h2 { font-family: var(--gkx-display); font-weight: 600; color: var(--gkx-ink); }
body.gkx .gk-post-cta p { font-family: var(--gkx-text); color: var(--gkx-mid); }

/* --------------------------------------------------------------------------
   9. Footer: light, quiet, dense
   -------------------------------------------------------------------------- */
body.gkx .elementor-location-footer,
body.gkx .elementor-location-footer .e-con { background: var(--gkx-canvas) !important; }
body.gkx .gk-footer {
  background: var(--gkx-canvas);
  color: var(--gkx-mid);
  font-family: var(--gkx-text);
  font-size: 12px;
  line-height: 1.5;
}
body.gkx .gk-footer .gk-fwrap { padding: 44px 40px 0; }
body.gkx .gk-footer .gk-ftop { border-bottom: 1px solid var(--gkx-hair); padding-bottom: 32px; gap: 32px; }
body.gkx .gk-footer .gk-fbrand h3 { font-family: var(--gkx-display); color: var(--gkx-ink); font-size: 19px; font-weight: 600; }
body.gkx .gk-footer .gk-fbrand p { color: var(--gkx-mid); font-size: 14px; line-height: 1.43; }
body.gkx .gk-footer .gk-fcontact li { font-size: 12px; }
body.gkx .gk-footer .gk-fcontact a { color: var(--gkx-ink-2); }
body.gkx .gk-footer .gk-fcontact a:hover { color: var(--gkx-ink); text-decoration: underline; }
body.gkx .gk-footer .gk-fcontact .gk-flabel { color: var(--gkx-mid); font-size: 12px; }
body.gkx .gk-footer .gk-fcol h4 {
  font-family: var(--gkx-text);
  color: var(--gkx-ink);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -.01em;
  text-transform: none;
  margin-bottom: 12px;
}
body.gkx .gk-footer .gk-fcol li { margin-bottom: 8px; }
body.gkx .gk-footer .gk-fcol a { color: var(--gkx-ink-2); font-size: 12px; }
body.gkx .gk-footer .gk-fcol a:hover { color: var(--gkx-ink); text-decoration: underline; }
body.gkx .gk-footer .gk-flocs,
body.gkx .gk-footer .gk-flocs-mini { border-bottom: 1px solid var(--gkx-hair); color: var(--gkx-mid); font-size: 12px; }
body.gkx .gk-footer .gk-flocs strong { color: var(--gkx-ink); }
body.gkx .gk-footer .gk-flocs a { color: var(--gkx-ink-2); }
body.gkx .gk-footer .gk-flocs a:hover { color: var(--gkx-ink); }
body.gkx .gk-footer .gk-flocs a + a::before { color: var(--gkx-hair); }
body.gkx .gk-footer .gk-flocs-head .gk-flocs-title { color: var(--gkx-ink); font-size: 12px; font-weight: 600; letter-spacing: -.01em; text-transform: none; }
body.gkx .gk-footer .gk-flocs-head .gk-flocs-all { color: var(--gkx-link); font-size: 12px; }
body.gkx .gk-footer .gk-flocs-r-name {
  font-family: var(--gkx-text);
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -.01em;
  color: var(--gkx-ink);
}
body.gkx .gk-footer .gk-flocs-r-reg { color: var(--gkx-mid); font-size: 12px; letter-spacing: -.01em; text-transform: none; }
body.gkx .gk-footer .gk-flocs-regions a:hover .gk-flocs-r-name { color: var(--gkx-link); }
body.gkx .gk-footer .gk-flocs-regions a:hover .gk-flocs-r-reg { color: var(--gkx-mid); }
body.gkx .gk-footer .gk-fsocial a { background: var(--gkx-wash); border: 0; color: var(--gkx-ink); width: 36px; height: 36px; }
body.gkx .gk-footer .gk-fsocial a:hover { background: var(--gkx-ink); color: #fff; transform: none; }
body.gkx .gk-footer .gk-flegal,
body.gkx .gk-footer .gk-flegal a { color: var(--gkx-ink-2); font-size: 12px; }
body.gkx .gk-footer .gk-flegal a:hover { color: var(--gkx-ink); text-decoration: underline; }
body.gkx .gk-footer .gk-flegal .gk-sep { color: var(--gkx-hair); }
body.gkx .gk-footer .gk-fcopyright { color: var(--gkx-mid); font-size: 12px; border-top: 1px solid var(--gkx-hair); }
body.gkx .gk-totop {
  width: 44px;
  height: 44px;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .8);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(0, 0, 0, .08);
  color: var(--gkx-ink);
  box-shadow: none;
}
body.gkx .gk-totop:hover,
body.gkx .gk-totop:focus-visible { background: var(--gkx-ink); color: #fff; border-color: var(--gkx-ink); box-shadow: none; transform: none; }

/* Cookie banner: same pills and corners as the rest of the site.
   Accept and Deny keep equal size and weight. */
body.gkx .cmplz-cookiebanner {
  font-family: var(--gkx-text) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .94) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid rgba(0, 0, 0, .06) !important;
  box-shadow: 0 20px 48px -20px rgba(0, 0, 0, .22) !important;
}
body.gkx .cmplz-cookiebanner .cmplz-title { font-family: var(--gkx-display) !important; font-weight: 600 !important; color: var(--gkx-ink) !important; }
body.gkx .cmplz-cookiebanner .cmplz-message,
body.gkx .cmplz-cookiebanner .cmplz-message p { color: var(--gkx-mid) !important; font-size: 13px !important; line-height: 1.45 !important; }
body.gkx .cmplz-cookiebanner .cmplz-btn {
  font-family: var(--gkx-text) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  border-radius: 980px !important;
  min-height: 44px !important;
  box-shadow: none !important;
}
body.gkx .cmplz-cookiebanner .cmplz-btn.cmplz-accept,
body.gkx .cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background: var(--gkx-ink) !important;
  border: 1px solid var(--gkx-ink) !important;
  color: #fff !important;
}
body.gkx .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
body.gkx .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
  background: transparent !important;
  border: 1px solid var(--gkx-ink) !important;
  color: var(--gkx-ink) !important;
}
body.gkx .cmplz-cookiebanner .cmplz-links a,
body.gkx .cmplz-cookiebanner a.cmplz-link { color: var(--gkx-link) !important; }

/* --------------------------------------------------------------------------
   10. Small screens
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
  body.gkx .gk-split { gap: 40px; }
  body.gkx.home .gk-split-visual { margin: 0 20px; }
}
@media (max-width: 767px) {
  body.gkx { --gkx-pad: 64px; --gkx-radius: 22px; }
  body.gkx .elementor-location-header .elementor-widget-image a { height: 48px; }
  body.gkx .elementor-location-header .elementor-widget-image a::before { font-size: 19px; }
  body.gkx .elementor-location-header .elementor-button { font-size: 13px !important; padding: 8px 14px !important; }
  /* Phone header: logo left, button and menu right */
  body.gkx .elementor-location-header > .e-con > .e-con {
    justify-content: flex-start !important;
    gap: 14px !important;
    padding-left: 20px !important;
    padding-right: 16px !important;
  }
  body.gkx .elementor-location-header .elementor-widget-image { margin-right: auto !important; width: auto !important; }
  body.gkx .elementor-location-header .elementor-widget-button { order: 2; }
  body.gkx .elementor-location-header .elementor-widget-ekit-nav-menu { order: 3; }
  body.gkx .gk-services .gk-hero .gk-eyebrow { font-size: 17px; }
  body.gkx .gk-services .gk-lede { font-size: 17px; line-height: 1.47; }
  body.gkx .gk-totop { right: 14px; bottom: 16px; }
  /* Phone menu panel: large, calm type like Apple's mobile nav */
  body.gkx .elementor-location-header .elementskit-menu-container { background: #fff !important; padding-top: 12px !important; }
  body.gkx .elementor-location-header .elementskit-navbar-nav > li > a {
    font-family: var(--gkx-display) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: .004em !important;
    color: var(--gkx-ink) !important;
    padding: 11px 28px !important;
  }
  body.gkx .elementor-location-header .elementskit-submenu-indicator {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--gkx-canvas) !important;
    color: var(--gkx-ink) !important;
    opacity: 1;
    margin-left: auto;
  }
  body.gkx .elementor-location-header .elementskit-submenu-indicator::before {
    content: "\203A" !important;
    font-family: var(--gkx-text) !important;
    font-size: 22px;
    line-height: 1;
    display: block;
    transform: rotate(90deg);
  }
  body.gkx .elementor-location-header .elementskit-dropdown {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 8px 16px !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body.gkx .elementor-location-header .elementskit-dropdown li > a { font-size: 17px !important; color: var(--gkx-ink-2) !important; padding: 8px 12px !important; }
  body.gkx .elementor-location-header .elementskit-menu-close {
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--gkx-canvas) !important;
    color: var(--gkx-ink) !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    font-size: 14px !important;
  }
  body.gkx .elementor-location-header .elementskit-nav-identity-panel { border-bottom: 0 !important; }
  body.gkx .gk-services .gk-hero-visual {
    aspect-ratio: 4 / 3;
    background-image: url("/wp-content/uploads/2026/10/gregg-king-at-his-desk-1024x768.jpg");
    background-position: 72% center;
  }
  body.gkx .gk-services .gk-section .gk-sub,
  body.gkx .gk-faq-header .gk-sub,
  body.gkx .gk-services .gk-final p { font-size: 19px; margin-bottom: 40px; }
  body.gkx .gk-services .gk-card,
  body.gkx .gk-services .gk-model-card,
  body.gkx .gk-services .gk-svc-rich,
  body.gkx .gk-services .gk-svc-tcard,
  body.gkx .gk-services .gk-pa-card,
  body.gkx .gk-services .gk-review-card,
  body.gkx .gk-services .gk-review-stat,
  body.gkx .gk-services .gk-fit-card,
  body.gkx .gk-services .gk-ai-card,
  body.gkx .gk-services .gk-svc-feature { padding: 28px; }
  body.gkx .gk-services .gk-callout { padding: 24px; }
  body.gkx .gk-faq-card details summary { padding: 20px 22px; }
  body.gkx .gk-faq-card .gk-faq-a-rich { padding: 0 22px 22px; }
  body.gkx .gk-quote-mark { font-size: 72px; }
  body.gkx .gk-footer .gk-fwrap { padding: 36px 20px 0; }
}

@media (prefers-reduced-motion: reduce) {
  body.gkx .gk-services a.gk-card:hover,
  body.gkx .gk-services a.gk-svc-rich:hover,
  body.gkx .gk-services a.gk-svc-tcard:hover,
  body.gkx .gk-services a.gk-pa-card:hover,
  body.gkx .gk-services a.gk-ai-card:hover,
  body.gkx .gk-services a.gk-review-stat:hover,
  body.gkx a.gk-related-card:hover { transform: none; }
}
