{"id":2636,"date":"2026-06-30T14:18:11","date_gmt":"2026-06-30T12:18:11","guid":{"rendered":"https:\/\/gekkophotonics.com\/roadshow-southeast\/"},"modified":"2026-07-08T12:42:26","modified_gmt":"2026-07-08T10:42:26","slug":"southeast","status":"publish","type":"page","link":"https:\/\/gekkophotonics.com\/en\/usa-workshops\/southeast\/","title":{"rendered":"Spectrally Roadshow \u00b7 Southeast \u00b7 Gekko Photonics"},"content":{"rendered":"<style>.elementor-2636 .elementor-element.elementor-element-bde96d0{padding:0px 0px 0px 0px;}.elementor-2636 .elementor-element.elementor-element-80eb104 > .elementor-element-populated{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}<\/style>\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2636\" class=\"elementor elementor-2636 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bde96d0 gk-rs-host elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bde96d0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-80eb104 gk-rs-col\" data-id=\"80eb104\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a002e33 elementor-widget elementor-widget-html\" data-id=\"a002e33\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* ============================================================\n   Gekko Photonics \u2014 Homepage 2026\n   Tokens from Gekko Design System  |  Layout 2026 modern\n   ============================================================ *\/\n\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');\n\n:root {\n  \/* Brand colours *\/\n  --gk-blue:        #019FE2;\n  --gk-blue-600:    #0088C2;\n  --gk-blue-400:    #3DB6E8;\n  --gk-blue-100:    #D6EFFA;\n  --gk-blue-50:     #EDF8FD;\n  --gk-navy-deep:   #2B2E83;\n  --gk-navy-dark:   #192A3D;\n  --gk-navy-800:    #1F2A4A;\n  --gk-slate:       #3A4F66;\n  --gk-gold:        #F3C969;\n\n  --gk-white:       #FFFFFF;\n  --gk-off-white:   #FAFBFC;\n  --gk-gray-50:     #F5F6F8;\n  --gk-gray-100:    #E8EBEF;\n  --gk-gray-200:    #D3D8DF;\n  --gk-gray-300:    #B5BCC5;\n  --gk-gray-400:    #8A93A0;\n  --gk-gray-500:    #5E6676;\n  --gk-gray-600:    #3F485A;\n  --gk-gray-700:    #2A3342;\n  --gk-black:       #0D0D0D;\n\n  --fg-1:  var(--gk-navy-deep);\n  --fg-2:  var(--gk-slate);\n  --fg-3:  var(--gk-gray-500);\n  --fg-on-dark:    var(--gk-white);\n  --fg-on-dark-2:  #C8D0DC;\n\n  \/* Surfaces *\/\n  --bg-0:  #FFFFFF;\n  --bg-1:  #FAFBFC;\n  --bg-2:  #F5F6F8;\n  --bg-navy:      var(--gk-navy-dark);\n  --bg-navy-deep: var(--gk-navy-deep);\n  --bg-black:     #0B0F18;\n\n  --hero-mesh:\n    radial-gradient(60rem 40rem at 80% -10%, rgba(1,159,226,0.55), transparent 60%),\n    radial-gradient(40rem 30rem at 0% 90%, rgba(43,46,131,0.65), transparent 60%),\n    radial-gradient(50rem 30rem at 110% 110%, rgba(1,159,226,0.30), transparent 65%),\n    linear-gradient(180deg, #0E1626 0%, #131C32 50%, #1B2548 100%);\n\n  --cta-mesh:\n    radial-gradient(40rem 20rem at 20% 0%, rgba(255,255,255,0.18), transparent 60%),\n    radial-gradient(40rem 20rem at 80% 100%, rgba(243,201,105,0.18), transparent 60%),\n    linear-gradient(135deg, #019FE2 0%, #2B2E83 100%);\n\n  --border-subtle: #ECEFF3;\n  --border-default: #DDE2E8;\n  --border-on-dark: rgba(255,255,255,0.10);\n\n  \/* Radii *\/\n  --r-sm: 10px;\n  --r-md: 14px;\n  --r-lg: 20px;\n  --r-xl: 28px;\n  --r-2xl: 36px;\n  --r-pill: 999px;\n\n  \/* Shadows *\/\n  --shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.03);\n  --shadow-md: 0 10px 24px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04);\n  --shadow-lg: 0 24px 60px rgba(15,23,42,.14), 0 6px 14px rgba(15,23,42,.06);\n  --shadow-xl: 0 40px 80px rgba(15,23,42,.18), 0 10px 22px rgba(15,23,42,.08);\n  --glow-blue: 0 0 0 6px rgba(1,159,226,.18);\n\n  \/* Type *\/\n  --font-body: \"Manrope\", system-ui, -apple-system, \"Segoe UI\", sans-serif;\n\n  --fs-display:    clamp(36px, 4.4vw, 64px);\n  --fs-display-2:  clamp(32px, 3.6vw, 56px);\n  --fs-h1:         clamp(30px, 3.2vw, 48px);\n  --fs-h2:         clamp(28px, 2.8vw, 44px);\n  --fs-h3:         clamp(20px, 1.6vw, 24px);\n  --fs-body:       16px;\n  --fs-lead:       19px;\n  --fs-sm:         14px;\n  --fs-eyebrow:    12px;\n  --fs-metric:     clamp(48px, 6vw, 88px);\n\n  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);\n  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);\n  --dur-fast: 150ms;\n  --dur-base: 240ms;\n  --dur-slow: 480ms;\n\n  --container: 1240px;\n}\n\n* { box-sizing: border-box; }\nhtml { scroll-behavior: smooth; }\nhtml, body {\n  margin: 0; padding: 0;\n  font-family: var(--font-body);\n  font-size: var(--fs-body);\n  line-height: 1.55;\n  color: var(--fg-2);\n  background: var(--bg-0);\n  -webkit-font-smoothing: antialiased;\n  text-rendering: optimizeLegibility;\n}\nimg, svg { max-width: 100%; height: auto; display: block; }\na { color: var(--gk-blue); text-decoration: none; transition: color var(--dur-fast) var(--ease-out); }\na:hover { color: var(--gk-blue-600); }\nbutton { font-family: inherit; cursor: pointer; }\n\nh1,h2,h3,h4 { color: var(--fg-1); margin: 0; font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }\nh2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }\nh3 { font-size: var(--fs-h3); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; }\nh4 { font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; }\np  { margin: 0; }\n\n.eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  font-size: var(--fs-eyebrow);\n  font-weight: 700;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: var(--gk-blue);\n}\n.eyebrow::before {\n  content: \"\";\n  display: inline-block;\n  width: 24px; height: 1px;\n  background: currentColor;\n  opacity: 0.7;\n}\n.on-dark .eyebrow { color: var(--gk-blue-400); }\n\n.container {\n  width: 100%;\n  max-width: var(--container);\n  margin: 0 auto;\n  padding: 0 28px;\n}\n\n\/* ===== BUTTONS ===== *\/\n.btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  padding: 15px 28px;\n  border-radius: var(--r-pill);\n  font-weight: 600;\n  font-size: 15px;\n  letter-spacing: -0.005em;\n  border: 1.5px solid transparent;\n  transition: all var(--dur-base) var(--ease-out);\n  white-space: nowrap;\n}\n.btn-primary {\n  background: var(--gk-blue);\n  color: #fff;\n  box-shadow: 0 4px 18px rgba(1,159,226,0.35);\n}\n.btn-primary:hover {\n  background: var(--gk-blue-600);\n  color: #fff; text-decoration: none;\n  transform: translateY(-1px);\n  box-shadow: 0 8px 26px rgba(1,159,226,0.45);\n}\n.btn-ghost {\n  background: transparent;\n  color: var(--fg-1);\n  border-color: var(--gk-gray-200);\n}\n.btn-ghost:hover { border-color: var(--gk-blue); color: var(--gk-blue); text-decoration: none; }\n.on-dark .btn-ghost { color: #fff; border-color: rgba(255,255,255,0.22); background: rgba(255,255,255,0.04); backdrop-filter: blur(10px); }\n.on-dark .btn-ghost:hover { border-color: var(--gk-blue-400); color: var(--gk-blue-400); background: rgba(255,255,255,0.06); }\n.btn .arrow { transition: transform var(--dur-base) var(--ease-out); }\n.btn:hover .arrow { transform: translateX(3px); }\n\n\/* ===== HEADER ===== *\/\n.site-header {\n  position: sticky; top: 0; z-index: 100;\n  background: rgba(255,255,255,0.78);\n  backdrop-filter: blur(18px) saturate(140%);\n  -webkit-backdrop-filter: blur(18px) saturate(140%);\n  border-bottom: 1px solid rgba(15,23,42,0.06);\n}\n.site-header .nav {\n  display: flex; align-items: center; justify-content: space-between;\n  height: 80px;\n}\n.site-header .logo img { height: 36px; width: auto; }\n.site-nav {\n  display: flex; gap: 32px;\n  list-style: none; margin: 0; padding: 0;\n}\n.site-nav a {\n  color: var(--fg-1);\n  font-weight: 600;\n  font-size: 14.5px;\n  position: relative;\n  letter-spacing: -0.005em;\n}\n.site-nav a:hover { color: var(--gk-blue); text-decoration: none; }\n.lang-switch {\n  display: flex; gap: 6px; font-size: 12px; font-weight: 700;\n  color: var(--fg-3);\n  padding: 6px 12px; border-radius: var(--r-pill);\n  border: 1px solid var(--border-subtle);\n  letter-spacing: 0.06em;\n}\n.lang-switch a { color: var(--fg-3); padding: 0 4px; }\n.lang-switch a.active { color: var(--gk-blue); }\n.header-actions { display: flex; align-items: center; gap: 18px; }\n\n\/* ===== HERO \u2014 bento ===== *\/\n.hero {\n  position: relative;\n  background: var(--hero-mesh);\n  color: #fff;\n  overflow: hidden;\n  padding: 88px 0 96px;\n}\n.hero::after {\n  content: \"\";\n  position: absolute; left: 0; right: 0; bottom: 0;\n  height: 200px;\n  background: linear-gradient(180deg, transparent, var(--bg-0));\n  pointer-events: none;\n  opacity: 0;\n}\n.hero-spectrum {\n  position: absolute; inset: 0;\n  width: 100%; height: 100%;\n  opacity: 0.20;\n  pointer-events: none;\n  z-index: 0;\n}\n.hero .container { position: relative; z-index: 1; }\n\n.hero-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 56px;\n  align-items: center;\n}\n.hero-eyebrow {\n  display: inline-flex; align-items: center; gap: 12px;\n  margin-bottom: 28px;\n  padding: 8px 16px 8px 8px;\n  background: rgba(255,255,255,0.06);\n  border: 1px solid rgba(255,255,255,0.12);\n  border-radius: var(--r-pill);\n  backdrop-filter: blur(14px);\n}\n.hero-eyebrow .pulse {\n  width: 8px; height: 8px; border-radius: 50%;\n  background: #2BB673;\n  box-shadow: 0 0 0 0 rgba(43,182,115,0.6);\n  animation: pulse 2.2s var(--ease-in-out) infinite;\n}\n@keyframes pulse {\n  0% { box-shadow: 0 0 0 0 rgba(43,182,115,0.55); }\n  70% { box-shadow: 0 0 0 12px rgba(43,182,115,0); }\n  100% { box-shadow: 0 0 0 0 rgba(43,182,115,0); }\n}\n.hero-eyebrow .eyebrow { color: var(--gk-blue-400); margin: 0; }\n.hero-eyebrow .eyebrow::before { display: none; }\n\n.hero h1 {\n  color: #fff;\n  font-size: var(--fs-display);\n  font-weight: 800;\n  line-height: 1.05;\n  letter-spacing: -0.025em;\n  margin: 0 0 24px;\n  max-width: 580px;\n}\n.hero h1 .accent {\n  background: linear-gradient(105deg, #3DB6E8 0%, #019FE2 50%, #FFF 100%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n}\n.hero p.lead {\n  color: var(--fg-on-dark-2);\n  font-size: 19px;\n  line-height: 1.55;\n  max-width: 540px;\n  margin-bottom: 40px;\n}\n.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }\n.hero-trust {\n  margin-top: 36px;\n  display: flex; align-items: center; gap: 14px;\n  font-size: 13px;\n  color: var(--fg-on-dark-2);\n}\n.hero-trust .dots {\n  display: flex;\n}\n.hero-trust .dots span {\n  width: 28px; height: 28px;\n  border-radius: 50%;\n  border: 2px solid var(--bg-navy-deep);\n  background: linear-gradient(135deg, var(--gk-blue), var(--gk-navy-deep));\n  margin-left: -8px;\n}\n.hero-trust .dots span:first-child { margin-left: 0; }\n\n\/* Hero bento right *\/\n.hero-bento {\n  position: relative;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-template-rows: auto auto;\n  gap: 14px;\n}\n.hero-bento .b-main {\n  grid-column: span 2;\n  position: relative;\n  border-radius: var(--r-xl);\n  overflow: hidden;\n  background:\n    radial-gradient(60% 60% at 50% 40%, rgba(1,159,226,0.18), transparent 70%),\n    linear-gradient(180deg, #0F1A2E 0%, #18233F 100%);\n  border: 1px solid rgba(255,255,255,0.10);\n  box-shadow: var(--shadow-xl);\n  aspect-ratio: 4\/3;\n  max-height: 380px;\n}\n.hero-bento .b-main img {\n  width: 100%; height: 100%;\n  object-fit: contain;\n  padding: 24px;\n}\n.hero-bento .b-main::after {\n  content: \"\";\n  position: absolute; inset: 0;\n  background: linear-gradient(180deg, transparent 50%, rgba(13,15,30,0.45));\n}\n.b-tile {\n  background: rgba(255,255,255,0.045);\n  border: 1px solid rgba(255,255,255,0.10);\n  backdrop-filter: blur(14px);\n  border-radius: var(--r-lg);\n  padding: 18px 20px;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  position: relative;\n  overflow: hidden;\n}\n.b-tile::before {\n  content: \"\"; position: absolute; inset: 0;\n  background: linear-gradient(135deg, rgba(1,159,226,0.10), transparent 60%);\n  pointer-events: none;\n}\n.b-tile .label {\n  font-size: 11px; font-weight: 700;\n  letter-spacing: 0.16em; text-transform: uppercase;\n  color: var(--gk-blue-400);\n  position: relative; z-index: 1;\n}\n.b-tile .value {\n  color: #fff;\n  font-size: 30px; font-weight: 800;\n  line-height: 1;\n  letter-spacing: -0.02em;\n  position: relative; z-index: 1;\n  display: inline-flex; align-items: baseline; gap: 4px;\n}\n.b-tile .value .u {\n  font-size: 13px;\n  color: var(--gk-blue-400);\n  font-weight: 700;\n  letter-spacing: 0.02em;\n  text-transform: uppercase;\n}\n.b-tile .sub {\n  color: var(--fg-on-dark-2);\n  font-size: 13px;\n  position: relative; z-index: 1;\n}\n\n.hero-livecard {\n  position: absolute;\n  bottom: 14px; left: 14px;\n  background: rgba(13,15,30,0.55);\n  backdrop-filter: blur(18px);\n  border: 1px solid rgba(255,255,255,0.14);\n  border-radius: var(--r-md);\n  padding: 12px 16px;\n  display: flex; align-items: center; gap: 12px;\n  z-index: 2;\n}\n.hero-livecard .dot {\n  width: 8px; height: 8px; border-radius: 50%;\n  background: #2BB673;\n  box-shadow: 0 0 0 4px rgba(43,182,115,0.18);\n  animation: pulse 2.2s var(--ease-in-out) infinite;\n}\n.hero-livecard .l { font-size: 10px; color: var(--gk-blue-400); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }\n.hero-livecard .v { color: #fff; font-weight: 700; font-size: 14px; line-height: 1.2; }\n\n\/* ===== METRIC BAND (dark) ===== *\/\n.metrics {\n  background: var(--bg-navy);\n  color: var(--fg-on-dark);\n  padding: 80px 0;\n  position: relative;\n  overflow: hidden;\n}\n.metrics::before {\n  content: \"\"; position: absolute; inset: 0;\n  background:\n    radial-gradient(50rem 25rem at 100% 50%, rgba(1,159,226,0.10), transparent 60%);\n}\n.metrics .container { position: relative; z-index: 1; }\n.metrics-grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 28px;\n}\n.metric-item {\n  border-left: 1px solid rgba(255,255,255,0.10);\n  padding-left: 24px;\n}\n.metric-item .eyebrow { margin-bottom: 14px; color: var(--gk-blue-400); }\n.metric-item .eyebrow::before { display: none; }\n.metric-value {\n  font-size: var(--fs-metric);\n  font-weight: 800;\n  color: #fff;\n  line-height: 0.92;\n  font-variant-numeric: tabular-nums;\n  letter-spacing: -0.035em;\n}\n.metric-value .unit {\n  font-size: 0.4em;\n  color: var(--gk-blue-400);\n  margin-left: 4px;\n  font-weight: 700;\n  letter-spacing: -0.01em;\n}\n.metric-label {\n  margin-top: 14px;\n  color: var(--fg-on-dark-2);\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.45;\n  max-width: 220px;\n}\n\n\/* ===== MARQUEE ===== *\/\n.marquee {\n  background: var(--bg-0);\n  border-bottom: 1px solid var(--border-subtle);\n  padding: 22px 0;\n  overflow: hidden;\n}\n.marquee-track {\n  display: flex;\n  gap: 64px;\n  animation: marq 40s linear infinite;\n  white-space: nowrap;\n  width: max-content;\n}\n.marquee-track > span {\n  display: inline-flex; align-items: center; gap: 14px;\n  color: var(--fg-3);\n  font-size: 14px;\n  font-weight: 600;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n}\n.marquee-track > span::after {\n  content: \"\";\n  width: 6px; height: 6px;\n  border-radius: 50%;\n  background: var(--gk-blue);\n  margin-left: 64px;\n  flex-shrink: 0;\n}\n.marquee-track > span:last-child::after { display: none; }\n@keyframes marq {\n  from { transform: translateX(0); }\n  to   { transform: translateX(-50%); }\n}\n\n\/* ===== SECTION BASE ===== *\/\n.section { padding: 120px 0; }\n.section-light { background: var(--bg-1); }\n.section-gray  { background: var(--bg-2); }\n.section-dark  { background: var(--bg-navy); color: #fff; }\n.section-black { background: var(--bg-black); color: #fff; }\n.section-dark h2, .section-dark h3 { color: #fff; }\n.section-black h2, .section-black h3 { color: #fff; }\n\n.section-head {\n  max-width: 820px;\n  margin: 0 auto 72px;\n  text-align: center;\n}\n.section-head .eyebrow { margin-bottom: 22px; }\n.section-head h2 { margin-bottom: 22px; font-size: clamp(34px, 4vw, 56px); }\n.section-head p {\n  color: var(--fg-2);\n  font-size: 18px;\n  line-height: 1.55;\n}\n.section-dark .section-head p,\n.section-black .section-head p { color: var(--fg-on-dark-2); }\n\n.split-head {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 60px;\n  align-items: end;\n  margin-bottom: 72px;\n}\n.split-head .lead { color: var(--fg-2); font-size: 18px; line-height: 1.55; max-width: 460px; }\n.section-dark .split-head .lead,\n.section-black .split-head .lead { color: var(--fg-on-dark-2); }\n.split-head h2 { font-size: clamp(34px, 4vw, 56px); }\n\n\/* ===== WHY GEKKO ===== *\/\n.why-grid {\n  display: grid;\n  grid-template-columns: 1.1fr 1fr;\n  gap: 72px;\n  align-items: start;\n}\n.why-text p { font-size: 17px; line-height: 1.7; color: var(--fg-2); margin-bottom: 22px; max-width: 560px; }\n.why-text p strong { color: var(--fg-1); font-weight: 700; }\n.why-text .quote-mark {\n  font-size: 100px;\n  line-height: 0.6;\n  color: var(--gk-blue);\n  display: block;\n  margin-bottom: -24px;\n  font-weight: 800;\n}\n\n.benefits-stack {\n  display: grid;\n  gap: 14px;\n}\n.benefit {\n  background: #fff;\n  border: 1px solid var(--border-subtle);\n  border-radius: var(--r-lg);\n  padding: 24px 28px;\n  display: grid;\n  grid-template-columns: auto 1fr auto;\n  gap: 22px;\n  align-items: center;\n  transition: all var(--dur-base) var(--ease-out);\n}\n.benefit:hover {\n  border-color: var(--gk-blue);\n  box-shadow: var(--shadow-md);\n  transform: translateX(4px);\n}\n.benefit .num {\n  width: 44px; height: 44px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--gk-blue) 0%, var(--gk-navy-deep) 100%);\n  color: #fff;\n  display: flex; align-items: center; justify-content: center;\n  font-weight: 800;\n  font-size: 14px;\n  flex-shrink: 0;\n}\n.benefit h3 { font-size: 17px; margin-bottom: 4px; color: var(--fg-1); }\n.benefit p { color: var(--fg-3); font-size: 14.5px; }\n.benefit .arrow-i {\n  width: 36px; height: 36px;\n  border-radius: 50%;\n  border: 1px solid var(--border-subtle);\n  display: flex; align-items: center; justify-content: center;\n  color: var(--gk-blue);\n  flex-shrink: 0;\n  transition: all var(--dur-base) var(--ease-out);\n}\n.benefit:hover .arrow-i { background: var(--gk-blue); color: #fff; border-color: var(--gk-blue); }\n\n\/* ===== PRODUCTS \u2014 bento ===== *\/\n.products-bento {\n  display: grid;\n  grid-template-columns: 1.4fr 1fr;\n  grid-template-rows: auto auto;\n  gap: 20px;\n}\n.p-card {\n  position: relative;\n  border-radius: var(--r-xl);\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  isolation: isolate;\n  transition: transform var(--dur-base) var(--ease-out),\n              box-shadow var(--dur-base) var(--ease-out);\n}\n.p-card:hover {\n  transform: translateY(-4px);\n  box-shadow: var(--shadow-xl);\n}\n.p-card .img {\n  position: relative;\n  overflow: hidden;\n  flex: 1;\n}\n.p-card .img img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform var(--dur-slow) var(--ease-out);\n}\n.p-card:hover .img img { transform: scale(1.04); }\n.p-card .body {\n  position: relative;\n  padding: 32px;\n}\n.p-card .tag {\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: var(--gk-blue-400);\n  margin-bottom: 14px;\n  display: inline-flex; align-items: center; gap: 8px;\n}\n.p-card .tag::before {\n  content: \"\"; width: 22px; height: 1px;\n  background: currentColor;\n}\n.p-card h3 {\n  font-size: 26px;\n  font-weight: 800;\n  line-height: 1.15;\n  letter-spacing: -0.02em;\n  color: #fff;\n  margin-bottom: 22px;\n}\n.p-card ul {\n  list-style: none;\n  padding: 0; margin: 0 0 26px;\n}\n.p-card li {\n  position: relative;\n  padding-left: 22px;\n  font-size: 14.5px;\n  color: rgba(255,255,255,0.86);\n  margin-bottom: 8px;\n  line-height: 1.5;\n}\n.p-card li::before {\n  content: \"\";\n  position: absolute;\n  left: 0; top: 9px;\n  width: 8px; height: 1px;\n  background: var(--gk-blue-400);\n}\n.p-card .more {\n  display: inline-flex; align-items: center; gap: 8px;\n  color: var(--gk-blue-400);\n  font-weight: 700;\n  font-size: 14px;\n}\n.p-card .more:hover { gap: 12px; color: #fff; text-decoration: none; }\n\n\/* Big card (Inline) *\/\n.p-card.big {\n  grid-row: span 2;\n  background: var(--bg-navy);\n  min-height: 720px;\n}\n.p-card.big .img {\n  position: absolute; inset: 0; z-index: -1;\n}\n.p-card.big .img::after {\n  content: \"\"; position: absolute; inset: 0;\n  background: linear-gradient(180deg, rgba(13,15,30,0.10) 0%, rgba(13,15,30,0.45) 50%, rgba(13,15,30,0.95) 100%);\n}\n.p-card.big .body {\n  margin-top: auto;\n  padding: 44px 44px 44px;\n}\n.p-card.big h3 {\n  font-size: clamp(28px, 2.6vw, 38px);\n  max-width: 90%;\n}\n\n\/* Small cards *\/\n.p-card.small {\n  background: var(--bg-navy);\n  min-height: 350px;\n}\n.p-card.small .img {\n  position: absolute; inset: 0; z-index: -1;\n}\n.p-card.small .img::after {\n  content: \"\"; position: absolute; inset: 0;\n  background: linear-gradient(180deg, rgba(13,15,30,0.10) 0%, rgba(13,15,30,0.55) 55%, rgba(13,15,30,0.94) 100%);\n}\n.p-card.small .body {\n  margin-top: auto;\n  padding: 28px;\n}\n.p-card.small h3 { font-size: 22px; margin-bottom: 16px; }\n.p-card.small ul { display: none; }\n\n.product-arrow-row {\n  margin-top: 32px;\n  display: flex; justify-content: flex-end; gap: 12px;\n}\n\n\/* ===== INDUSTRIES ===== *\/\n.industries-grid {\n  display: grid;\n  grid-template-columns: repeat(6, 1fr);\n  gap: 14px;\n}\n.industry-item {\n  background: #fff;\n  border: 1px solid var(--border-subtle);\n  border-radius: var(--r-lg);\n  padding: 32px 18px 26px;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 16px;\n  transition: all var(--dur-base) var(--ease-out);\n  position: relative;\n  overflow: hidden;\n}\n.industry-item::before {\n  content: \"\"; position: absolute; inset: 0;\n  background: linear-gradient(180deg, var(--gk-blue-50), transparent);\n  opacity: 0;\n  transition: opacity var(--dur-base) var(--ease-out);\n}\n.industry-item:hover {\n  border-color: var(--gk-blue);\n  transform: translateY(-3px);\n  box-shadow: var(--shadow-md);\n}\n.industry-item:hover::before { opacity: 1; }\n.industry-item > * { position: relative; }\n.industry-item .icon {\n  width: 64px; height: 64px;\n  display: flex; align-items: center; justify-content: center;\n}\n.industry-item span {\n  font-size: 13.5px;\n  font-weight: 700;\n  color: var(--fg-1);\n  line-height: 1.3;\n  letter-spacing: -0.005em;\n}\n\n\/* ===== TESTIMONIALS \u2014 marquee ===== *\/\n.testi-section {\n  background: var(--bg-1);\n  padding: 120px 0;\n  overflow: hidden;\n}\n.testi-marquee {\n  margin-top: 48px;\n  display: flex;\n  gap: 24px;\n  animation: marq 70s linear infinite;\n  width: max-content;\n  padding: 12px 0;\n}\n.testi-marquee:hover { animation-play-state: paused; }\n.testi-card {\n  flex-shrink: 0;\n  width: 460px;\n  background: #fff;\n  border: 1px solid var(--border-subtle);\n  border-radius: var(--r-xl);\n  padding: 32px 32px 30px;\n  display: flex;\n  flex-direction: column;\n  box-shadow: var(--shadow-sm);\n}\n.testi-card .quote-mark {\n  color: var(--gk-blue);\n  font-size: 48px;\n  line-height: 0.6;\n  font-weight: 800;\n  margin-bottom: 18px;\n}\n.testi-card p {\n  color: var(--fg-1);\n  font-size: 16px;\n  line-height: 1.6;\n  margin-bottom: 26px;\n  font-weight: 500;\n  flex: 1;\n}\n.testi-meta {\n  display: flex; align-items: center; gap: 14px;\n  padding-top: 22px;\n  border-top: 1px solid var(--border-subtle);\n}\n.testi-avatar {\n  width: 44px; height: 44px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, var(--gk-blue), var(--gk-navy-deep));\n  color: #fff;\n  display: flex; align-items: center; justify-content: center;\n  font-weight: 800;\n  font-size: 15px;\n  letter-spacing: -0.01em;\n  flex-shrink: 0;\n}\n.testi-meta .name { color: var(--fg-1); font-weight: 700; font-size: 14.5px; line-height: 1.2; }\n.testi-meta .role { color: var(--fg-3); font-size: 13px; margin-top: 2px; }\n\n\/* ===== CASE STUDIES \u2014 magazine ===== *\/\n.cases-grid {\n  display: grid;\n  grid-template-columns: 1.4fr 1fr;\n  grid-template-rows: 1fr 1fr;\n  gap: 24px;\n}\n.case-card {\n  position: relative;\n  border-radius: var(--r-xl);\n  overflow: hidden;\n  background: var(--bg-navy);\n  display: flex;\n  flex-direction: column;\n  transition: transform var(--dur-base) var(--ease-out),\n              box-shadow var(--dur-base) var(--ease-out);\n  isolation: isolate;\n  text-decoration: none;\n  min-height: 280px;\n}\n.case-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-xl); text-decoration: none; }\n.case-card .img {\n  position: absolute; inset: 0; z-index: -1;\n}\n.case-card .img img {\n  width: 100%; height: 100%;\n  object-fit: cover;\n  transition: transform var(--dur-slow) var(--ease-out);\n}\n.case-card:hover .img img { transform: scale(1.05); }\n.case-card .img::after {\n  content: \"\"; position: absolute; inset: 0;\n  background: linear-gradient(180deg, rgba(13,15,30,0.05) 0%, rgba(13,15,30,0.55) 55%, rgba(13,15,30,0.95) 100%);\n}\n.case-card .body {\n  margin-top: auto;\n  padding: 32px;\n  position: relative;\n}\n.case-card .tag {\n  display: inline-flex; align-items: center;\n  font-size: 10.5px; font-weight: 800; letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: var(--gk-blue-400);\n  background: rgba(1,159,226,0.12);\n  border: 1px solid rgba(1,159,226,0.32);\n  padding: 6px 12px;\n  border-radius: var(--r-pill);\n  margin-bottom: 18px;\n}\n.case-card h3 {\n  font-size: 22px;\n  font-weight: 800;\n  line-height: 1.25;\n  color: #fff;\n  letter-spacing: -0.015em;\n  margin: 0;\n}\n.case-card.big {\n  grid-row: span 2;\n  min-height: 600px;\n}\n.case-card.big h3 { font-size: clamp(24px, 2vw, 30px); }\n\n\/* ===== CTA STRIP ===== *\/\n.cta-wrap { padding: 120px 0; }\n.cta-strip {\n  position: relative;\n  background: var(--cta-mesh);\n  color: #fff;\n  padding: 96px 48px;\n  border-radius: var(--r-2xl);\n  text-align: center;\n  overflow: hidden;\n}\n.cta-strip::before {\n  content: \"\"; position: absolute; inset: 0;\n  background:\n    radial-gradient(40rem 16rem at 0% 0%, rgba(255,255,255,0.18), transparent 60%),\n    radial-gradient(30rem 18rem at 100% 100%, rgba(243,201,105,0.18), transparent 60%);\n  pointer-events: none;\n}\n.cta-strip > * { position: relative; }\n.cta-strip .eyebrow { color: rgba(255,255,255,0.85); margin-bottom: 18px; }\n.cta-strip .eyebrow::before { background: rgba(255,255,255,0.85); }\n.cta-strip h2 {\n  color: #fff;\n  font-size: clamp(32px, 4vw, 56px);\n  max-width: 820px;\n  margin: 0 auto 18px;\n  letter-spacing: -0.025em;\n}\n.cta-strip p {\n  color: rgba(255,255,255,0.86);\n  font-size: 18px;\n  max-width: 600px;\n  margin: 0 auto 36px;\n  line-height: 1.55;\n}\n.cta-strip .btn-primary {\n  background: #fff;\n  color: var(--gk-navy-deep);\n  box-shadow: 0 8px 26px rgba(0,0,0,0.22);\n}\n.cta-strip .btn-primary:hover {\n  background: #FAFBFC;\n  color: var(--gk-navy-deep);\n}\n\n\/* ===== EXPERTS ===== *\/\n.experts-grid {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 24px;\n}\n.expert-card {\n  background: #fff;\n  border-radius: var(--r-xl);\n  border: 1px solid var(--border-subtle);\n  padding: 36px;\n  display: flex;\n  gap: 28px;\n  align-items: center;\n  box-shadow: var(--shadow-sm);\n  transition: all var(--dur-base) var(--ease-out);\n}\n.expert-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }\n.expert-card .photo {\n  flex-shrink: 0;\n  width: 124px; height: 124px;\n  border-radius: 50%;\n  overflow: hidden;\n  background: var(--gk-gray-100);\n  position: relative;\n}\n.expert-card .photo::after {\n  content: \"\"; position: absolute; inset: -3px;\n  border-radius: 50%;\n  border: 2px solid var(--gk-blue);\n  opacity: 0.25;\n  pointer-events: none;\n}\n.expert-card .photo img { width: 100%; height: 100%; object-fit: cover; }\n.expert-card .role {\n  font-size: 11px; font-weight: 800;\n  color: var(--gk-blue);\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  margin-bottom: 10px;\n}\n.expert-card .name {\n  font-size: 22px;\n  font-weight: 800;\n  color: var(--fg-1);\n  letter-spacing: -0.015em;\n  margin-bottom: 4px;\n}\n.expert-card .title {\n  font-size: 14px;\n  color: var(--fg-3);\n  margin-bottom: 18px;\n}\n.expert-card .contact {\n  display: flex; flex-direction: column; gap: 6px;\n  font-size: 14.5px;\n}\n.expert-card .contact a { font-weight: 600; display: inline-flex; gap: 8px; align-items: center; }\n.expert-card .contact a:hover { color: var(--gk-blue-600); }\n\n\/* ===== FOOTER ===== *\/\n.site-footer {\n  background: var(--bg-black);\n  color: var(--fg-on-dark-2);\n  padding: 96px 0 32px;\n  position: relative;\n  overflow: hidden;\n}\n.site-footer::before {\n  content: \"\"; position: absolute; inset: 0;\n  background:\n    radial-gradient(40rem 20rem at 100% 0%, rgba(1,159,226,0.10), transparent 60%);\n  pointer-events: none;\n}\n.site-footer .container { position: relative; }\n.footer-grid {\n  display: grid;\n  grid-template-columns: 1.6fr 1fr 1fr 1fr;\n  gap: 56px;\n  margin-bottom: 72px;\n}\n.footer-brand img { height: 44px; margin-bottom: 24px; }\n.footer-brand p { font-size: 14.5px; line-height: 1.65; color: var(--fg-on-dark-2); max-width: 360px; }\n.footer-col h4 {\n  color: #fff;\n  font-size: 12px;\n  font-weight: 700;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  margin-bottom: 22px;\n}\n.footer-col ul { list-style: none; padding: 0; margin: 0; }\n.footer-col li { margin-bottom: 11px; font-size: 14.5px; }\n.footer-col a {\n  color: var(--fg-on-dark-2);\n  transition: color var(--dur-fast) var(--ease-out);\n}\n.footer-col a:hover { color: var(--gk-blue-400); text-decoration: none; }\n.footer-bottom {\n  padding-top: 32px;\n  border-top: 1px solid rgba(255,255,255,0.08);\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 16px;\n  font-size: 13px;\n  color: var(--fg-on-dark-2);\n}\n.footer-bottom a { color: var(--fg-on-dark-2); }\n.footer-bottom a:hover { color: var(--gk-blue-400); text-decoration: none; }\n\n\/* ===== RESPONSIVE ===== *\/\n@media (max-width: 1100px) {\n  .site-nav { display: none; }\n}\n@media (max-width: 980px) {\n  .hero { padding: 88px 0 80px; }\n  .hero-grid { grid-template-columns: 1fr; gap: 48px; }\n  .metrics-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }\n  .why-grid { grid-template-columns: 1fr; gap: 48px; }\n  .products-bento { grid-template-columns: 1fr; }\n  .p-card.big { grid-row: auto; min-height: 480px; }\n  .industries-grid { grid-template-columns: repeat(3, 1fr); }\n  .cases-grid { grid-template-columns: 1fr; grid-template-rows: auto; }\n  .case-card.big { grid-row: auto; min-height: 360px; }\n  .experts-grid { grid-template-columns: 1fr; }\n  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }\n  .split-head { grid-template-columns: 1fr; gap: 24px; }\n  .testi-card { width: 360px; }\n}\n@media (max-width: 640px) {\n  .section { padding: 80px 0; }\n  .industries-grid { grid-template-columns: repeat(2, 1fr); }\n  .footer-grid { grid-template-columns: 1fr; }\n  .hero-livecard { left: 12px; bottom: 12px; }\n  .expert-card { flex-direction: column; text-align: center; }\n  .cta-strip { padding: 64px 28px; border-radius: var(--r-xl); }\n  .cta-wrap { padding: 64px 0; }\n  .testi-card { width: 320px; padding: 24px; }\n  .p-card .body, .p-card.big .body { padding: 24px; }\n}\n\n\/* ===== Roadshow Gulf Coast \u2014 page components + anti-AI discipline (Gekko tokens) ===== *\/\n\n\/* ---- DISCIPLINE: one gradient (hero only), no glassmorphism, no glow ---- *\/\n.site-header{ background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }\n.btn-primary{ box-shadow:none; }\n.btn-primary:hover{ box-shadow:none; transform:none; background:var(--gk-blue-600); }\n.hero .btn-ghost{ backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(255,255,255,0.06); }\n\/* make the hero spectroscopy chart actually visible (base gekko.css sets 0.20) *\/\n\/* Jeg Elementor Kit ships a broad `... svg { width:\u2026 }` rule that beats\n   .hero-spectrum{width:100%} on specificity and collapses the SVG to ~16px at\n   the left edge \u2014 force full-bleed positioning with !important. *\/\n.hero .hero-spectrum{\n  position:absolute !important;\n  inset:0 !important;\n  width:100% !important;\n  height:100% !important;\n  max-width:none !important;\n  opacity:0.5;\n}\n\/* tighten the measure -> compare (battlecard) transition *\/\n#measure{ padding-bottom:36px; }\n#compare{ padding-top:44px; }\n\n\/* ---- HERO: copy left, moderate framed analyzer photo right ---- *\/\n.hero{ padding:84px 0 88px; }\n.hero-grid{ grid-template-columns: 1.05fr .95fr; gap:64px; }\n.hero-copy .eyebrow{ margin-bottom:22px; }\n.hero h1{ max-width:14ch; }\n.hero-meta-line{ margin-top:30px; display:flex; align-items:center; gap:14px; color:var(--fg-on-dark-2); font-size:14px; }\n.hero-meta-line b{ color:#fff; font-weight:700; }\n.hero-meta-line .sep{ width:5px; height:5px; border-radius:50%; background:var(--gk-blue-400); }\n.hero-figure{ margin:0; }\n.hero-figure img{\n  width:100%; aspect-ratio:4\/3; max-height:460px; object-fit:cover; object-position:center 42%; display:block;\n  border-radius:var(--r-lg); border:1px solid rgba(255,255,255,0.12);\n}\n.hero-figure figcaption{ margin-top:12px; font-size:12.5px; color:var(--fg-on-dark-2); letter-spacing:.01em; }\n\/* hub: product packshot floats on the hero gradient \u2014 no frame, show it whole *\/\n.hero-figure img[src*=\"packshot\"]{ border:0; object-fit:contain; max-height:420px; }\n\n\/* ---- FACTS STRIP (single restrained stat moment) ---- *\/\n.facts{ background:var(--bg-navy); color:#fff; border-top:1px solid rgba(255,255,255,0.08); }\n.facts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; }\n.fact{ padding:30px 36px; display:flex; flex-direction:column; gap:6px; border-left:1px solid rgba(255,255,255,0.12); }\n.fact:first-child{ border-left:0; padding-left:0; }\n.fact .n{ font-size:24px; font-weight:800; color:#fff; letter-spacing:-0.01em; }\n.fact .l{ font-size:13.5px; color:var(--fg-on-dark-2); }\n\n\/* ---- WHAT WE MEASURE: intro split + cards ---- *\/\n.sec-title{ font-size: clamp(28px, 3.2vw, 42px); margin-bottom: 40px; max-width: 24ch; }\n.measure-intro{ display:grid; grid-template-columns: 1.05fr .95fr; gap:56px; align-items:center; margin-bottom:56px; }\n.measure-copy h2{ font-size: clamp(28px,3.2vw,42px); margin-bottom:18px; max-width:16ch; }\n.measure-copy p{ font-size:18px; line-height:1.6; color:var(--fg-2); max-width:54ch; }\n.measure-copy p.muted{ font-size:15px; color:var(--fg-3); margin-top:16px; }\n.measure-shot{ margin:0; }\n.measure-shot img{ width:100%; height:100%; max-height:420px; object-fit:cover; border-radius:var(--r-lg); border:1px solid var(--border-subtle); display:block; }\n.measure-shot figcaption{ margin-top:12px; font-size:12.5px; color:var(--fg-3); }\n\n.measure-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:22px; }\n.m-card{ background:#fff; border:1px solid var(--border-default); border-radius:var(--r-lg); padding:32px; transition:border-color var(--dur-base) var(--ease-out); }\n.m-card:hover{ border-color:var(--gk-blue); }\n.m-icon{ width:46px; height:46px; border-radius:12px; background:var(--gk-blue-50); border:1px solid var(--gk-blue-100); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }\n.m-icon svg{ width:24px; height:24px; display:block; }\n.m-card .tag{ font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--gk-blue); margin-bottom:8px; }\n.m-card h3{ font-size:22px; color:var(--fg-1); margin-bottom:18px; }\n.m-card ul{ list-style:none; margin:0 0 16px; padding:0; display:grid; gap:11px; }\n.m-card li{ position:relative; padding-left:26px; font-size:15px; color:var(--fg-1); line-height:1.5; }\n.m-card li::before{ content:\"\"; position:absolute; left:0; top:3px; width:16px; height:16px; border-radius:4px; background:var(--gk-blue-50);\n  background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3L15 6' fill='none' stroke='%23019FE2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:center; }\n.m-card .m-vs{ padding-top:14px; border-top:1px solid var(--border-subtle); font-size:13.5px; color:var(--fg-3); }\n.m-card .reg-tag{ display:inline-block; margin-top:14px; font-size:11px; font-weight:700; color:var(--gk-slate); background:var(--bg-2); border:1px solid var(--border-subtle); padding:5px 11px; border-radius:var(--r-pill); }\n\n\/* ---- SPEAKERS: 4 across, photo-led ---- *\/\n.experts-3{ grid-template-columns: repeat(3, 1fr); gap:20px; }\n\/* temporarily hide the 4th speaker card (Aleksandra) \u2014 3 across *\/\n.experts-3 .expert-card:nth-child(4){ display:none !important; }\n.experts-3 .expert-card{ flex-direction:column; align-items:flex-start; text-align:left; gap:18px; box-shadow:none; padding:28px; }\n.experts-3 .expert-card .photo{ width:96px; height:96px; }\n.experts-3 .expert-card .photo::after{ display:none; }\n.experts-3 .role{ font-size:13px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--gk-blue); margin-bottom:8px; }\n.experts-3 .name{ font-size:20px; margin-bottom:8px; }\n.experts-3 .title{ font-size:14.5px; color:var(--fg-3); line-height:1.55; margin:0; }\n\/* Speaker photos are 3\/4-body portraits \u2014 bias the circular crop to the top so faces aren't cut *\/\n.expert-card .photo img{ object-position:center 25%; }\n\n\/* ---- EVENT DETAILS: venue card + photo + map + agenda ---- *\/\n.event-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:24px; align-items:stretch; margin-top:8px; }\n.v-card{ background:var(--bg-navy); color:#fff; border-radius:var(--r-lg); padding:38px; }\n.v-card h3{ color:#fff; font-size:21px; line-height:1.25; margin-bottom:14px; }\n.v-card .v-addr{ font-size:15px; color:#fff; font-weight:700; line-height:1.6; }\n.v-card .v-feat{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px; }\n.v-card .v-feat li{ position:relative; padding-left:22px; font-size:14.5px; color:var(--fg-on-dark-2); }\n.v-card .v-feat li::before{ content:\"\"; position:absolute; left:0; top:8px; width:8px; height:1px; background:var(--gk-blue-400); }\n.v-card .agenda{ margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,0.12); display:grid; gap:12px; }\n.v-card .ag-title{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--gk-blue-400); margin-bottom:4px; }\n.v-card .ag{ display:grid; grid-template-columns:78px 1fr; gap:14px; font-size:14.5px; color:#fff; line-height:1.4; }\n.v-card .ag .t{ color:var(--gk-gold); font-weight:700; font-variant-numeric:tabular-nums; }\n.event-visual{ display:flex; flex-direction:column; gap:24px; }\n.venue-photo{ margin:0; }\n.venue-photo img{ width:100%; height:260px; object-fit:cover; border-radius:var(--r-lg); border:1px solid var(--border-subtle); display:block; }\n.venue-photo figcaption{ margin-top:10px; font-size:12.5px; color:var(--fg-3); }\n.v-map{ flex:1; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border-subtle); min-height:240px; }\n.v-map iframe{ width:100%; height:100%; min-height:240px; border:0; display:block; }\n.event-note{ margin-top:26px; font-size:15px; color:var(--fg-3); }\n\n\/* ---- ROADSHOW SCHEDULE: clickable cross-links between stops ---- *\/\n.sched-list{ display:grid; gap:10px; }\n.sched-row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; padding:15px 20px; border:1px solid var(--border-default); border-radius:var(--r-md); background:#fff; text-decoration:none; transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }\na.sched-row:hover{ border-color:var(--gk-blue); box-shadow:var(--shadow-md); transform:translateY(-1px); text-decoration:none; }\n.sched-row.sched-here{ border:2px solid var(--gk-blue); background:var(--gk-blue-50); }\n.sched-row .s-region{ min-width:180px; font-weight:700; color:var(--gk-navy-deep); }\n.sched-row .s-city{ flex:1 1 220px; color:var(--gk-slate); }\n.sched-row .s-date{ font-variant-numeric:tabular-nums; font-weight:600; color:var(--gk-blue); }\n.sched-row.sched-here .s-date{ color:var(--gk-navy-deep); font-weight:700; }\n.sched-row .s-arrow{ color:var(--gk-blue); font-weight:700; opacity:0; transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }\na.sched-row:hover .s-arrow{ opacity:1; transform:translateX(2px); }\n.sched-badge{ display:inline-block; margin-left:8px; padding:2px 9px; border-radius:var(--r-pill); background:var(--gk-blue); color:#fff; font-size:11px; font-weight:700; vertical-align:middle; }\n\n\/* ---- HUB: vertical timeline of roadshow stops ---- *\/\n.tl-wrap{ position:relative; max-width:780px; margin:0 auto; padding-left:54px; }\n.tl-wrap::before{ content:\"\"; position:absolute; left:19px; top:10px; bottom:10px; width:2px; background:var(--gk-blue-100); }\n.tl-stop{ position:relative; display:grid; grid-template-columns:140px 1fr auto; gap:22px; align-items:center; background:#fff; border:1px solid var(--border-default); border-radius:var(--r-lg); padding:16px 20px; margin-bottom:18px; text-decoration:none; transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }\n.tl-stop:hover{ border-color:var(--gk-blue); box-shadow:var(--shadow-md); transform:translateX(3px); text-decoration:none; }\n.tl-stop::before{ content:\"\"; position:absolute; left:-43px; top:50%; transform:translateY(-50%); width:15px; height:15px; border-radius:50%; background:var(--gk-blue); border:3px solid #fff; box-shadow:0 0 0 2px var(--gk-blue-100); }\n.tl-stop.tl-last::before{ background:var(--gk-gold); }\n.tl-thumb{ width:140px; height:92px; border-radius:var(--r-md); overflow:hidden; background:var(--bg-2); }\n.tl-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }\n.tl-body .s-region{ font-size:19px; font-weight:800; color:var(--gk-navy-deep); letter-spacing:-0.01em; }\n.tl-body .s-city{ color:var(--gk-slate); font-size:14.5px; margin-top:2px; }\n.tl-body .s-date{ color:var(--gk-blue); font-weight:700; font-size:14px; font-variant-numeric:tabular-nums; margin-top:6px; }\n.tl-go{ color:var(--gk-blue); font-weight:700; font-size:22px; padding-right:4px; transition:transform var(--dur-base) var(--ease-out); }\n.tl-stop:hover .tl-go{ transform:translateX(3px); }\n@media (max-width:640px){\n  .tl-wrap{ padding-left:36px; }\n  .tl-wrap::before{ left:11px; }\n  .tl-stop{ grid-template-columns:1fr auto; gap:14px; }\n  .tl-thumb{ display:none; }\n  .tl-stop::before{ left:-29px; }\n}\n\n\/* ---- #compare battlecard: standard vs modern analyzers ---- *\/\n.compare-goal{ display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--gk-navy-dark); padding:7px 14px; border-radius:var(--r-pill); margin-bottom:18px; }\n.duel-table{ border:1px solid var(--border-default); border-radius:var(--r-lg); overflow:hidden; background:#fff; }\n.duel-head, .duel-row{ display:grid; grid-template-columns:150px 1fr 32px 1fr; align-items:stretch; }\n.duel-head{ padding:16px 20px 12px; }\n.duel-head span{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }\n.duel-head-old{ color:var(--fg-3); }\n.duel-head-new{ color:var(--gk-blue); }\n.duel-row{ border-top:1px solid var(--border-subtle); }\n.duel-dim{ display:flex; align-items:center; padding:22px 16px 22px 20px; font-size:14px; font-weight:700; color:var(--gk-navy-deep); }\n.duel-old, .duel-new{ display:flex; gap:12px; align-items:flex-start; padding:20px 20px 20px 0; }\n.duel-old p{ margin:0; font-size:14.5px; line-height:1.55; color:var(--fg-3); }\n.duel-new{ background:var(--gk-blue-50); border-radius:var(--r-md); margin:10px 14px 10px 0; padding:16px 18px; }\n.duel-new p{ margin:0; font-size:14.5px; line-height:1.55; color:var(--fg-1); font-weight:600; }\n.duel-mark{ flex:0 0 auto; width:16px; height:16px; border-radius:4px; margin-top:3px; }\n.duel-mark-old{ background:var(--gk-gray-100); border:1px solid var(--gk-gray-300); }\n.duel-mark-new{ background:var(--gk-blue-50); background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3L15 6' fill='none' stroke='%23019FE2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:center; }\n.duel-arrow{ display:flex; align-items:center; justify-content:center; color:var(--gk-gray-300); font-size:16px; }\n@media (max-width:760px){\n  .duel-head{ display:none; }\n  .duel-row{ grid-template-columns:1fr; }\n  .duel-dim{ padding:18px 20px 4px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--fg-3); }\n  .duel-old{ padding:6px 20px 8px; }\n  .duel-arrow{ display:none; }\n  .duel-new{ margin:6px 16px 18px; }\n}\n\n\/* ---- RSVP heading ---- *\/\n#event{ padding-bottom:72px; }\n.gk-rsvp{ text-align:center; padding-top:56px; padding-bottom:24px; }\n.gk-rsvp .eyebrow{ justify-content:center; margin-bottom:18px; }\n.gk-rsvp h2{ font-size:clamp(28px,3.2vw,42px); margin-bottom:16px; }\n.gk-rsvp .rsvp-lead{ max-width:62ch; margin:0 auto; font-size:17px; color:var(--fg-2); line-height:1.6; }\n\n\/* ---- Custom RSVP card (replaces Contact Form 7) \u2014 Google-Calendar-style Yes\/No\/Maybe + email ---- *\/\n.gk-rsvp{ padding-bottom:88px; }\n.rsvp-card{ max-width:520px; margin:30px auto 0; text-align:left; }\n.rsvp-stop-wrap{ margin-bottom:14px; }\n.rsvp-stop-label{ display:block; font-weight:600; font-size:14px; color:var(--fg-1); margin-bottom:7px; }\n\/* height:auto + line-height override: the Blocksy theme forces select\/input height:40px which,\n   with our 13px vertical padding, clips the text \u2014 let the control grow to fit. *\/\n.rsvp-stop{ width:100%; padding:13px 15px; height:auto !important; min-height:52px; line-height:1.4 !important; border:1.5px solid var(--border-default,#d6dbe3) !important; border-radius:12px !important; font:inherit; font-size:15px; color:var(--fg-1) !important; background:#fff !important; cursor:pointer; appearance:auto !important; -webkit-appearance:menulist !important; }\n.rsvp-stop:focus{ outline:none; border-color:var(--gk-blue) !important; box-shadow:0 0 0 3px rgba(1,159,226,.15); }\n.rsvp-choices{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }\n\/* !important throughout: Jeg Elementor Kit ships `.elementor-kit-6 button{background:\u2026navy\u2026}`\n   (specificity 0,1,1) which otherwise wins over these pills \u2014 same override pattern as .hero-spectrum. *\/\n.rsvp-opt{ display:flex; align-items:center; justify-content:center; gap:8px; padding:13px 10px; border:1.5px solid var(--border-default,#d6dbe3) !important; border-radius:12px !important; background:#fff !important; font:inherit; font-weight:600; font-size:15px; color:var(--fg-2) !important; cursor:pointer; box-shadow:none !important; transition:border-color .15s,background .15s,color .15s,box-shadow .15s; }\n.rsvp-opt:hover{ border-color:var(--gk-blue-400) !important; background:#fff !important; }\n.rsvp-opt:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(1,159,226,.18) !important; }\n.rsvp-opt svg{ width:18px; height:18px; flex:none; }\n.rsvp-opt.is-sel{ color:#fff !important; }\n.rsvp-opt[data-val=\"yes\"].is-sel{ background:#1a8a4e !important; border-color:#1a8a4e !important; }\n.rsvp-opt[data-val=\"no\"].is-sel{ background:#c0492f !important; border-color:#c0492f !important; }\n.rsvp-opt[data-val=\"maybe\"].is-sel{ background:#5b6472 !important; border-color:#5b6472 !important; }\n.rsvp-row{ display:flex; gap:10px; flex-wrap:wrap; }\n.rsvp-email{ flex:1 1 240px; min-width:0; padding:13px 15px; height:auto !important; min-height:52px; line-height:1.4 !important; border:1.5px solid var(--border-default,#d6dbe3) !important; border-radius:12px !important; font:inherit; font-size:15px; color:var(--fg-1) !important; background:#fff !important; }\n.rsvp-email::placeholder{ color:var(--fg-3); }\n.rsvp-email:focus{ outline:none; border-color:var(--gk-blue); box-shadow:0 0 0 3px rgba(1,159,226,.15); }\n.rsvp-submit{ flex:0 0 auto; }\n.rsvp-hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; opacity:0; }\n.rsvp-consent{ display:flex; align-items:flex-start; gap:10px; margin:16px 0 0; font-size:13px; color:var(--fg-2); line-height:1.5; cursor:pointer; }\n.rsvp-consent-cb{ flex:none; width:20px !important; height:20px !important; margin:1px 0 0 !important; appearance:auto !important; -webkit-appearance:checkbox !important; accent-color:var(--gk-blue) !important; cursor:pointer; }\n.rsvp-consent a{ color:var(--gk-blue); text-decoration:underline; }\n.rsvp-req{ color:#c0492f; font-weight:600; }\n.rsvp-msg{ margin:12px 0 0; font-size:14px; }\n.rsvp-msg.rsvp-err{ color:#c0492f; }\n.rsvp-thanks{ display:flex; align-items:center; gap:14px; padding:20px 22px; border:1.5px solid #bfe3cf; background:#f2fbf6; border-radius:14px; margin-top:6px; }\n.rsvp-thanks-ic{ flex:none; width:34px; height:34px; border-radius:50%; background:#1a8a4e; position:relative; }\n.rsvp-thanks-ic::after{ content:\"\"; position:absolute; left:12px; top:6px; width:8px; height:16px; border:solid #fff; border-width:0 3px 3px 0; transform:rotate(45deg); }\n.rsvp-thanks p{ margin:0; font-size:15px; color:#1f5136; font-weight:500; line-height:1.5; }\n@media(max-width:520px){ .rsvp-choices{ grid-template-columns:1fr; } }\n\n\/* ===== responsive ===== *\/\n@media (max-width: 980px){\n  .hero-grid{ grid-template-columns:1fr; gap:40px; }\n  .hero-figure img{ max-height:380px; }\n  .facts-grid{ grid-template-columns:1fr; }\n  .fact{ border-left:0; border-top:1px solid rgba(255,255,255,0.12); padding:22px 0; }\n  .fact:first-child{ border-top:0; padding-top:0; }\n  .measure-intro{ grid-template-columns:1fr; gap:32px; }\n  .measure-grid{ grid-template-columns:1fr; }\n  .experts-3{ grid-template-columns:repeat(2,1fr); }\n  .event-grid{ grid-template-columns:1fr; }\n}\n@media (max-width: 640px){\n  .experts-3{ grid-template-columns:1fr; }\n  .m-card{ padding:24px; }\n  .v-card{ padding:28px; }\n}\n\n\n.gk-rs-host, .gk-rs-host > .elementor-container{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;}\n.gk-rs-col, .gk-rs-col > .elementor-widget-wrap, .gk-rs-col > .elementor-element-populated{padding:0!important;margin:0!important;}\n.gk-rs-host .elementor-widget-html, .gk-rs-host .elementor-widget-html .elementor-widget-container{padding:0!important;margin:0!important;}\n.gk-rs-host .elementor-widget{ width:100%; }\n\n<\/style>\n<header class=\"site-header\">\n  <div class=\"container nav\">\n    <a class=\"logo\" href=\"#top\" aria-label=\"Gekko Photonics\">\n      <img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/02\/Gekko_logo.png\" alt=\"Gekko Photonics\">\n    <\/a>\n    <nav>\n      <ul class=\"site-nav\">\n        <li><a href=\"#measure\">What we measure<\/a><\/li><li><a href=\"#compare\">Why it's different<\/a><\/li>\n        <li><a href=\"#speakers\">Who you will meet<\/a><\/li>\n        <li><a href=\"#event\">Event details<\/a><\/li>\n        <li><a href=\"#schedule\">Roadshow dates<\/a><\/li>\n      <\/ul>\n    <\/nav>\n    <div class=\"header-actions\">\n      <a href=\"#contact\" class=\"btn btn-primary\" style=\"padding: 11px 22px; font-size: 14px;\">Reserve your seat<\/a>\n    <\/div>\n  <\/div>\n<\/header>\n\n<!-- ============== HERO ============== -->\n<section class=\"hero on-dark\" id=\"top\">\n  <svg class=\"hero-spectrum\" viewBox=\"0 0 1200 600\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><defs><linearGradient id=\"gkSpecFill\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#019FE2\" stop-opacity=\".30\"><\/stop><stop offset=\"1\" stop-color=\"#019FE2\" stop-opacity=\"0\"><\/stop><\/linearGradient><\/defs><path d=\"M0,440 L120,432 L200,400 L260,260 L320,420 L420,400 L500,250 L560,420 L640,360 L720,180 L800,390 L880,370 L960,300 L1040,400 L1120,380 L1200,360 L1200,600 L0,600 Z\" fill=\"url(#gkSpecFill)\"><\/path><path d=\"M0,440 L120,432 L200,400 L260,260 L320,420 L420,400 L500,250 L560,420 L640,360 L720,180 L800,390 L880,370 L960,300 L1040,400 L1120,380 L1200,360\" fill=\"none\" stroke=\"#019FE2\" stroke-width=\"2.5\" stroke-linejoin=\"round\"><\/path><path d=\"M0,460 L120,452 L200,440 L260,330 L320,450 L420,430 L500,310 L560,445 L640,400 L720,260 L800,420 L880,400 L960,340 L1040,430 L1120,410 L1200,390\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1\" stroke-dasharray=\"4 6\" stroke-opacity=\".7\"><\/path><\/svg>\n  <div class=\"container\">\n    <div class=\"hero-grid\">\n      <div class=\"hero-copy\">\n        <span class=\"eyebrow\">Spectrally Process Analytics Roadshow \u00b7 Southeast \u00b7 Fall 2026<\/span>\n        <h1>A one-day, on-site workshop on modern process analytics<\/h1>\n        <p class=\"lead\">A hands-on look at what modern process analyzers can measure directly in your line, how that reading holds up against a lab result, and where to put it so it actually changes a decision. We run it live on the Spectrally X1 INLINE.<\/p>\n        <div class=\"hero-cta\">\n          <a href=\"#contact\" class=\"btn btn-primary\">Reserve your seat <span class=\"arrow\">\u2192<\/span><\/a>\n          <a href=\"#measure\" class=\"btn btn-ghost\">See what we measure<\/a>\n        <\/div>\n        <div class=\"hero-meta-line\">\n          <span><b>Dallas, NC<\/b><\/span>\n          <span class=\"sep\"><\/span>\n          <span><b>Oct 15 or 16, 2026<\/b><\/span>\n          <span class=\"sep\"><\/span>\n          <span><b>9:00 AM \u2013 1:30 PM<\/b><\/span><span class=\"sep\"><\/span><span><b>Free<\/b><\/span>\n        <\/div>\n      <\/div>\n      <figure class=\"hero-figure\">\n        <img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/product-inline-environment-scaled.png\" alt=\"Spectrally X1 INLINE analyzer mounted in a process plant\">\n        <figcaption>Spectrally X1 INLINE, mounted in a process plant.<\/figcaption>\n      <\/figure>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== FACTS STRIP ============== -->\n<section class=\"facts\">\n  <div class=\"container facts-grid\">\n    <div class=\"fact\"><span class=\"n\">Automatic calibration<\/span><span class=\"l\">reference built into the probe, no manual recalibration<\/span><\/div>\n    <div class=\"fact\"><span class=\"n\">High-viscosity media<\/span><span class=\"l\">reads reliably where sediment or thick media coat other probes<\/span><\/div>\n    <div class=\"fact\"><span class=\"n\">Dedicated chemometric models<\/span><span class=\"l\">trained on your process, not a generic library<\/span><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== WHAT WE MEASURE ============== -->\n<section class=\"section\" id=\"measure\">\n  <div class=\"container\">\n    <div class=\"measure-intro\">\n      <div class=\"measure-copy\">\n        <h2>Inline measurement, built around your process<\/h2>\n        <p>The workshop focuses on inline composition measurement in the processes we know best. Find your chemistry below and see what we read directly in the line.<\/p>\n        <p class=\"muted\">Each measurement is validated and disturbances are compensated automatically, so an operator can act on the reading. Results are delivered to your DCS or PLC over OPC UA or Modbus TCP.<\/p>\n      <\/div>\n      <figure class=\"measure-shot\">\n        <img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/install-probe-mount-scaled.jpg\" alt=\"Spectrally optical probe installed on a reactor flange\">\n        <figcaption>A retractable tool for an optical probe in high-viscosity process media.<\/figcaption>\n      <\/figure>\n    <\/div>\n\n    <div class=\"measure-grid\">\n      <article class=\"m-card\">\n        <div class=\"m-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M12 3c3 4 5.5 6.8 5.5 9.5a5.5 5.5 0 0 1-11 0C6.5 9.8 9 7 12 3z\" stroke=\"#019FE2\" stroke-width=\"1.6\" stroke-linejoin=\"round\"><\/path><\/svg><\/div>\n        <div class=\"tag\">Nitrogen fertilizers &amp; DEF<\/div>\n        <h3>UAN \u00b7 Urea \u00b7 AdBlue \/ DEF<\/h3>\n        <ul>\n          <li>Urea and ammonium-nitrate concentration and ratio in UAN, with solution homogeneity.<\/li>\n          <li>DEF at 32.5% urea to ISO 22241, with biuret, read inline.<\/li>\n        <\/ul>\n        <span class=\"reg-tag\">ISO 22241 \u00b7 EU 2019\/1009<\/span>\n      <\/article>\n      <article class=\"m-card\">\n        <div class=\"m-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M9 3h6M10 3v6.2L5.6 16.8A2 2 0 0 0 7.3 20h9.4a2 2 0 0 0 1.7-3.2L14 9.2V3\" stroke=\"#019FE2\" stroke-width=\"1.6\" stroke-linejoin=\"round\"><\/path><path d=\"M8.5 14h7\" stroke=\"#019FE2\" stroke-width=\"1.6\"><\/path><\/svg><\/div>\n        <div class=\"tag\">Formaldehyde resins<\/div>\n        <h3>Formalin \u00b7 UFC \u00b7 PF \/ UF \/ MUF<\/h3>\n        <ul>\n          <li>HCHO, methanol and paraformaldehyde concentration in formalin and UFC.<\/li>\n          <li>F\/U ratio and free formaldehyde inline, without stopping the batch.<\/li>\n        <\/ul>\n        <span class=\"reg-tag\">CMR Cat. 1B \u00b7 TSCA Title VI<\/span>\n      <\/article>\n      <article class=\"m-card\">\n        <div class=\"m-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><circle cx=\"6\" cy=\"12\" r=\"2.3\" stroke=\"#019FE2\" stroke-width=\"1.6\"><\/circle><circle cx=\"18\" cy=\"6.5\" r=\"2.3\" stroke=\"#019FE2\" stroke-width=\"1.6\"><\/circle><circle cx=\"18\" cy=\"17.5\" r=\"2.3\" stroke=\"#019FE2\" stroke-width=\"1.6\"><\/circle><path d=\"M8.1 11l7.8-3.4M8.1 13l7.8 3.4\" stroke=\"#019FE2\" stroke-width=\"1.6\"><\/path><\/svg><\/div>\n        <div class=\"tag\">Thiosulfates \u00b7 ATS<\/div>\n        <h3>Ammonium thiosulfate &amp; blends<\/h3>\n        <ul>\n          <li>Thiosulfate concentration, N\/S ratio and homogeneity, inline.<\/li>\n          <li>Detects drift from variable refinery feedstock before product leaves spec.<\/li>\n        <\/ul>\n        <span class=\"reg-tag\">EU 2019\/1009<\/span>\n      <\/article>\n      <article class=\"m-card\">\n        <div class=\"m-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M12 3.5l8.5 4.7-8.5 4.7-8.5-4.7L12 3.5z\" stroke=\"#019FE2\" stroke-width=\"1.6\" stroke-linejoin=\"round\"><\/path><path d=\"M3.5 12.2L12 16.9l8.5-4.7\" stroke=\"#019FE2\" stroke-width=\"1.6\" stroke-linejoin=\"round\"><\/path><\/svg><\/div>\n        <div class=\"tag\">Coating resins<\/div>\n        <h3>Acrylic \/ VAE \u00b7 Epoxy \u00b7 Isocyanate<\/h3>\n        <ul>\n          <li>Monomer conversion and copolymer profile in acrylic and VAE emulsions.<\/li>\n          <li>NCO content on PU prepolymers, with no di-n-butylamine titration loop.<\/li>\n        <\/ul>\n        <span class=\"reg-tag\">VOC 2004\/42\/EC \u00b7 REACH 2020\/1149<\/span>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== SPEAKERS ============== -->\n<section class=\"section\" id=\"compare\">\n  <div class=\"container\">\n    <span class=\"compare-goal\">Goal of the workshop<\/span>\n    <h2 class=\"sec-title\" style=\"max-width:none;\">Standard process analyzers vs. modern ones<\/h2>\n    <p class=\"lead\" style=\"max-width:none;margin:0 0 40px;\">Most plants already have some kind of process analyzer running the line. Every row on the right is what we show you live, on the instrument.<\/p>\n    <div class=\"duel-table\">\n      <div class=\"duel-head\"><span><\/span><span class=\"duel-head-old\">Standard analyzers<\/span><span><\/span><span class=\"duel-head-new\">Modern analyzers<\/span><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Measurement<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>One parameter per probe, one calibration curve<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>Multi-component reading \u2014 catches deviations and contamination in the same pass<\/p><\/div><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Output<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>Raw signal or spectrum \u2014 someone still has to interpret it<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>Automatic interpretation \u2014 a validated number, ready to act on<\/p><\/div><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Field durability<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>Fouls or gets coated in viscous or sediment-heavy streams<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>Self-cleaning probe \u2014 keeps reading in the same media<\/p><\/div><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Environment<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>Needs a controlled cabinet to run in dusty or ATEX-rated areas<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>Rated to run directly in dust, humidity, vibration, ATEX zones<\/p><\/div><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Footprint<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>About the size of two old CRT televisions<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>About half a shoebox<\/p><\/div><\/div>\n      <div class=\"duel-row\"><div class=\"duel-dim\">Integration<\/div><div class=\"duel-old\"><span class=\"duel-mark duel-mark-old\"><\/span><p>Analog signal, custom wiring to reach the DCS<\/p><\/div><div class=\"duel-arrow\">\u2192<\/div><div class=\"duel-new\"><span class=\"duel-mark duel-mark-new\"><\/span><p>Native OPC UA \/ Modbus TCP straight into the DCS or PLC<\/p><\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n<section class=\"section section-gray\" id=\"speakers\">\n  <div class=\"container\">\n    <h2 class=\"sec-title\">Who you will meet<\/h2>\n    <div class=\"experts-grid experts-3\">\n      <div class=\"expert-card\">\n        <div class=\"photo\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/speaker-karolina-orlowska-ds-scaled.jpg\" alt=\"Dr. Karolina Or\u0142owska\"><\/div>\n        <div>\n          <div class=\"role\">Science and method<\/div>\n          <div class=\"name\">Dr. Karolina Or\u0142owska<\/div>\n          <div class=\"title\">Chief Scientific Officer. Leads the technical session and the measurement methodology behind each demonstration.<\/div>\n          <a class=\"li-link\" href=\"https:\/\/www.linkedin.com\/in\/karolina-or%C5%82owska-648153194\/?locale=en\" target=\"_blank\" rel=\"noopener\" aria-label=\"Dr. Karolina Or\u0142owska on LinkedIn\" style=\"display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#019FE2;text-decoration:none;\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.35V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45zM22.22 0H1.77C.8 0 0 .77 0 1.73v20.54C0 23.22.8 24 1.77 24h20.45c.98 0 1.78-.78 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"><\/path><\/svg><\/a>\n        <\/div>\n      <\/div>\n      <div class=\"expert-card\">\n        <div class=\"photo\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/speaker-bartosz-kawa-ds-scaled.jpg\" alt=\"Dr. Bartosz Kawa\"><\/div>\n        <div>\n          <div class=\"role\">Hardware and engineering<\/div>\n          <div class=\"name\">Dr. Bartosz Kawa<\/div>\n          <div class=\"title\">Chief Technology Officer. Responsible for the Spectrally analyzer platform and for inline deployment, from process specification to installed operation.<\/div>\n          <a class=\"li-link\" href=\"https:\/\/pl.linkedin.com\/in\/bartosz-kawa-phd-7a944392\" target=\"_blank\" rel=\"noopener\" aria-label=\"Dr. Bartosz Kawa on LinkedIn\" style=\"display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#019FE2;text-decoration:none;\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.35V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45zM22.22 0H1.77C.8 0 0 .77 0 1.73v20.54C0 23.22.8 24 1.77 24h20.45c.98 0 1.78-.78 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"><\/path><\/svg><\/a>\n        <\/div>\n      <\/div>\n      <div class=\"expert-card\">\n        <div class=\"photo\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/speaker-robert-stachurski-ds-scaled.jpg\" alt=\"Robert Stachurski\"><\/div>\n        <div>\n          <div class=\"role\">CEO and US host<\/div>\n          <div class=\"name\">Robert Stachurski<\/div>\n          <div class=\"title\">Chief Executive Officer of Gekko Photonics. He hosts the US roadshow in person.<\/div>\n          <a class=\"li-link\" href=\"https:\/\/www.linkedin.com\/in\/robertstachurski\/?locale=en\" target=\"_blank\" rel=\"noopener\" aria-label=\"Robert Stachurski on LinkedIn\" style=\"display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#019FE2;text-decoration:none;\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.35V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45zM22.22 0H1.77C.8 0 0 .77 0 1.73v20.54C0 23.22.8 24 1.77 24h20.45c.98 0 1.78-.78 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"><\/path><\/svg><\/a>\n        <\/div>\n      <\/div>\n      <div class=\"expert-card\">\n        <div class=\"photo\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/speaker-aleksandra-lukasiewicz.png\" alt=\"Aleksandra \u0141ukasiewicz\"><\/div>\n        <div>\n          <div class=\"role\">Sales and partnerships<\/div>\n          <div class=\"name\">Aleksandra \u0141ukasiewicz<\/div>\n          <div class=\"title\">Head of International Sales. On site for pilot scope, commercial terms, and next steps for your plant.<\/div>\n          <a class=\"li-link\" href=\"https:\/\/www.linkedin.com\/in\/aleksandra-%C5%82ukasiewicz-53528a4\/?locale=en\" target=\"_blank\" rel=\"noopener\" aria-label=\"Aleksandra \u0141ukasiewicz on LinkedIn\" style=\"display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#019FE2;text-decoration:none;\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.13 1.45-2.13 2.94v5.67H9.35V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.07 2.07 0 1 1 0-4.14 2.07 2.07 0 0 1 0 4.14zM7.12 20.45H3.55V9h3.57v11.45zM22.22 0H1.77C.8 0 0 .77 0 1.73v20.54C0 23.22.8 24 1.77 24h20.45c.98 0 1.78-.78 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"><\/path><\/svg><\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== EVENT DETAILS ============== -->\n<section class=\"section\" id=\"event\">\n  <div class=\"container\">\n    <div class=\"split-head\">\n      <div>\n        <h2 class=\"sec-title\" style=\"margin-bottom:0\">Event details<\/h2>\n      <\/div>\n      <p class=\"lead\">A half-day, on-site session at Gaston College \u2014 Myers Center.<\/p>\n    <\/div>\n    <div class=\"event-grid\">\n      <div class=\"v-card\">\n        <h3>Gaston College \u2014 Myers Center<\/h3>\n        <div class=\"v-addr\">201 Highway 321 S<br>Dallas, NC 28034<\/div>\n        <ul class=\"v-feat\">\n          <li>Free on-site parking<\/li>\n          <li>1:1 time with our engineers<\/li>\n          <li>Lunch provided<\/li>\n        <\/ul>\n        <div class=\"agenda\">\n          <div class=\"ag-title\">Sample workshop agenda<\/div>\n          <div class=\"ag\"><span class=\"t\">9:00 AM<\/span><span>Registration and coffee<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">9:30 AM<\/span><span>Modern process analytics: what you can measure directly in the line today, and how it is validated against the lab<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">10:15 AM<\/span><span>Identifying the right measurement points: mapping your process to find where a measurement changes a decision<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">11:00 AM<\/span><span>Coffee break<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">11:15 AM<\/span><span>Working demonstration: reading composition in the line with the Spectrally X1 INLINE on representative media (formalin, UAN, DEF, ATS)<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">12:00 PM<\/span><span>From lab method to a validated inline measurement: sampling, calibration, disturbance compensation, and integration to DCS \/ PLC<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">12:30 PM<\/span><span>Lunch and informal discussion<\/span><\/div>\n          <div class=\"ag\"><span class=\"t\">1:00 PM<\/span><span>1:1 technical discussion about your process and measurement points<\/span><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"event-visual\">\n        <figure class=\"venue-photo\"><img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/06\/venue-gaston-college.png\" alt=\"Gaston College, Dallas NC\"><figcaption>Gaston College, Dallas NC.<\/figcaption><\/figure>\n        <div class=\"v-map\"><iframe loading=\"lazy\" title=\"Gaston College, Dallas NC location map\" src=\"https:\/\/www.google.com\/maps?q=Gaston%20College%2C%20201%20Highway%20321%20S%2C%20Dallas%2C%20NC%2028034&z=14&output=embed\"><\/iframe><\/div>\n      <\/div>\n    <\/div>\n    <p class=\"event-note\">The program is identical on both dates, so pick October 15 or 16, whichever suits you. Seating is limited; we confirm your slot by email once you request it.<\/p>\n  <\/div>\n<\/section>\n\n<!-- ============== ROADSHOW SCHEDULE ============== -->\n<section class=\"section section-gray\" id=\"schedule\">\n  <div class=\"container\">\n    <h2 class=\"sec-title\">Spectrally Process Analytics Roadshow \u00b7 US \u00b7 Fall 2026<\/h2>\n    <p class=\"lead\" style=\"max-width:760px;margin:0 0 28px;\">We run the same one-day, on-site workshop across eight US locations. Each stop is offered on two dates, so you can attend the day that suits you. The program runs 9:00 AM to 1:30 PM. Find the location closest to your site.<\/p>\n    <div class=\"sched-list\">\n      <a class=\"sched-row\" href=\"\/usa-workshops\/northeast\/\"><span class=\"s-region\">Northeast<\/span><span class=\"s-city\">Langhorne, PA<\/span><span class=\"s-date\">Oct 5 or 6, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/ohio-valley\/\"><span class=\"s-region\">Ohio Valley<\/span><span class=\"s-city\">Columbus, OH<\/span><span class=\"s-date\">Oct 8 or 9, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/great-lakes\/\"><span class=\"s-region\">Great Lakes<\/span><span class=\"s-city\">Joliet, IL<\/span><span class=\"s-date\">Oct 12 or 13, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <div class=\"sched-row sched-here\"><span class=\"s-region\">Southeast<span class=\"sched-badge\">This stop<\/span><\/span><span class=\"s-city\">Dallas, NC<\/span><span class=\"s-date\">Oct 15 or 16, 2026<\/span><\/div>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/florida\/\"><span class=\"s-region\">Florida<\/span><span class=\"s-city\">Bartow, FL<\/span><span class=\"s-date\">Oct 19 or 20, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/gulf-coast-la\/\"><span class=\"s-region\">Gulf Coast \u00b7 Louisiana<\/span><span class=\"s-city\">Gonzales, LA<\/span><span class=\"s-date\">Oct 22 or 23, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/gulf-coast\/\"><span class=\"s-region\">Gulf Coast \u00b7 Texas<\/span><span class=\"s-city\">Pasadena, TX<\/span><span class=\"s-date\">Oct 26 or 27, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/california\/\"><span class=\"s-region\">California<\/span><span class=\"s-city\">Los Angeles, CA<\/span><span class=\"s-date\">Oct 29 or 30, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n      <a class=\"sched-row\" href=\"\/usa-workshops\/pacific-nw\/\"><span class=\"s-region\">Pacific Northwest<\/span><span class=\"s-city\">Scappoose, OR<\/span><span class=\"s-date\">Nov 2 or 3, 2026<\/span><span class=\"s-arrow\">\u2192<\/span><\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== RSVP heading (CF7 form mounts right after) ============== -->\n<section class=\"section gk-rsvp\" id=\"contact\">\n  <div class=\"container\">\n    <h2>Reserve your seat<\/h2>\n    <p class=\"rsvp-lead\">Leave your email and let us know if you can make it \u2014 we\u2019ll confirm your seat and send the venue details and agenda. If neither date works, choose No or Maybe and we\u2019ll be in touch, including about our 5-day analytical measurement efficiency audit.<\/p>\n    <form class=\"rsvp-card\" data-region=\"southeast\" data-region-label=\"Southeast\" novalidate>\n      <div class=\"rsvp-choices\" role=\"radiogroup\" aria-label=\"Attendance\">\n        <button type=\"button\" class=\"rsvp-opt is-sel\" data-val=\"yes\" role=\"radio\" aria-checked=\"true\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20 6L9 17l-5-5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><span>Yes<\/span><\/button>\n        <button type=\"button\" class=\"rsvp-opt\" data-val=\"no\" role=\"radio\" aria-checked=\"false\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><\/path><\/svg><span>No<\/span><\/button>\n        <button type=\"button\" class=\"rsvp-opt\" data-val=\"maybe\" role=\"radio\" aria-checked=\"false\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 9a3 3 0 1 1 4 2.83c-1 .4-1 1.17-1 2.17M12 17.5v.01\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg><span>Maybe<\/span><\/button>\n      <\/div>\n      <div class=\"rsvp-row\">\n        <input type=\"email\" class=\"rsvp-email\" name=\"email\" required placeholder=\"you@company.com\" autocomplete=\"email\" aria-label=\"Your email\">\n        <button type=\"submit\" class=\"btn btn-primary rsvp-submit\">Confirm<\/button>\n      <\/div>\n      <input type=\"text\" class=\"rsvp-hp\" name=\"company_hp\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\">\n      <label class=\"rsvp-consent\"><input type=\"checkbox\" class=\"rsvp-consent-cb\" name=\"consent\" required><span>By submitting this form, I confirm I have read and understood the <a href=\"https:\/\/gekkophotonics.com\/en\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a> <span class=\"rsvp-req\">*<\/span><\/span><\/label>\n      <p class=\"rsvp-msg\" aria-live=\"polite\"><\/p>\n    <\/form>\n  <\/div>\n  <script>\n  (function(){\n    var root=document.getElementById('contact'); if(!root) return;\n    var card=root.querySelector('.rsvp-card'); if(!card||card.dataset.init) return; card.dataset.init='1';\n    var opts=card.querySelectorAll('.rsvp-opt'), msg=card.querySelector('.rsvp-msg'), chosen='yes';\n    opts.forEach(function(b){ b.addEventListener('click', function(){ chosen=b.getAttribute('data-val');\n      opts.forEach(function(x){ var on=x===b; x.classList.toggle('is-sel',on); x.setAttribute('aria-checked',on?'true':'false'); });\n      if(msg){ msg.textContent=''; msg.className='rsvp-msg'; } }); });\n    card.addEventListener('submit', function(e){ e.preventDefault();\n      var region=card.getAttribute('data-region')||'', region_label=card.getAttribute('data-region-label')||'';\n      var stopSel=card.querySelector('.rsvp-stop');\n      if(stopSel){ if(!stopSel.value){ msg.className='rsvp-msg rsvp-err'; msg.textContent='Please choose a workshop stop.'; stopSel.focus(); return; } region=stopSel.value; region_label=stopSel.options[stopSel.selectedIndex].text; }\n      var email=(card.querySelector('.rsvp-email').value||'').trim();\n      if(!chosen){ msg.className='rsvp-msg rsvp-err'; msg.textContent='Please choose Yes, No or Maybe.'; return; }\n      if(!\/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(email)){ msg.className='rsvp-msg rsvp-err'; msg.textContent='Please enter a valid email address.'; return; }\n      var consentCb=card.querySelector('.rsvp-consent-cb');\n      if(consentCb && !consentCb.checked){ msg.className='rsvp-msg rsvp-err'; msg.textContent='Please confirm you have read the privacy policy.'; return; }\n      var btn=card.querySelector('.rsvp-submit'), old=btn.textContent; btn.disabled=true; btn.textContent='Sending\\u2026';\n      var payload={ email:email, response:chosen, region:region, region_label:region_label, consent:(consentCb&&consentCb.checked)?'yes':'', page_url:location.href, page_title:document.title, company_hp:(card.querySelector('.rsvp-hp').value||'') };\n      try{ var q=new URLSearchParams(location.search); ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'].forEach(function(k){ var v=q.get(k); if(v) payload[k]=v; }); }catch(_){}\n      fetch('\/wp-json\/gekko\/v1\/rsvp',{ method:'POST', headers:{'Content-Type':'application\/json'}, body:JSON.stringify(payload) })\n        .then(function(r){ return r.json().catch(function(){ return {ok:false}; }); })\n        .then(function(d){ if(d&&d.ok){ var t= chosen==='yes' ? 'You\\u2019re in. We\\u2019ll email your confirmation and the venue details shortly.' : (chosen==='no' ? 'Thanks for letting us know. We\\u2019ll keep you posted on future dates.' : 'Noted. We\\u2019ll send you the details so you can decide.');\n            card.className='rsvp-card rsvp-done'; card.innerHTML='<div class=\"rsvp-thanks\"><span class=\"rsvp-thanks-ic\" aria-hidden=\"true\"><\/span><p>'+t+'<\/p><\/div>';\n          } else { msg.className='rsvp-msg rsvp-err'; msg.textContent='Something went wrong. Please try again, or email marketing@gekkophotonics.com.'; btn.disabled=false; btn.textContent=old; } })\n        .catch(function(){ msg.className='rsvp-msg rsvp-err'; msg.textContent='Network error. Please try again.'; btn.disabled=false; btn.textContent=old; });\n    });\n  })();\n  <\/script>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe59d1b elementor-widget elementor-widget-html\" data-id=\"fe59d1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<footer class=\"site-footer\">\n  <div class=\"container\">\n    <div class=\"footer-grid\">\n      <div class=\"footer-brand\">\n        <img decoding=\"async\" src=\"https:\/\/gekkophotonics.com\/wp-content\/uploads\/2026\/02\/Gekko_logo.png\" alt=\"Gekko Photonics\" style=\"filter:brightness(0) invert(1);\">\n        <p class=\"tagline\">Engineering-driven analytics<\/p>\n        <p>Inline process composition, with no sampling.<\/p>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>Event<\/h4>\n        <ul>\n          <li><a href=\"#measure\">What we measure<\/a><\/li>\n          <li><a href=\"#speakers\">Who you will meet<\/a><\/li>\n          <li><a href=\"#event\">Event details<\/a><\/li>\n          <li><a href=\"#schedule\">Roadshow dates<\/a><\/li>\n          <li><a href=\"#contact\">Reserve your seat<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>Contact<\/h4>\n        <ul>\n          <li><a href=\"mailto:contact@gekkophotonics.com\">contact@gekkophotonics.com<\/a><\/li>\n          <li><a href=\"https:\/\/gekkophotonics.com\/\" target=\"_blank\" rel=\"noopener\">gekkophotonics.com<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>US office<\/h4>\n        <ul>\n          <li>NextCorps<\/li>\n          <li>260 E. Main St, Suite 6000<\/li>\n          <li>Rochester, NY 14604<\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"footer-bottom\">\n      <div>\u00a9 2026 Gekko Photonics. Spectrally is a device by Gekko Photonics.<\/div>\n      <div>Spectrally Roadshow \u00b7 Southeast \u00b7 Fall 2026<\/div>\n    <\/div>\n  <\/div>\n<\/footer>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":2656,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2636","page","type-page","status-publish","hentry"],"blocksy_meta":[],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/pages\/2636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/comments?post=2636"}],"version-history":[{"count":1,"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/pages\/2636\/revisions"}],"predecessor-version":[{"id":2645,"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/pages\/2636\/revisions\/2645"}],"up":[{"embeddable":true,"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/pages\/2656"}],"wp:attachment":[{"href":"https:\/\/gekkophotonics.com\/en\/wp-json\/wp\/v2\/media?parent=2636"}],"curies":[{"name":"entry","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}