.elementor-2767 .elementor-element.elementor-element-4c23406{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-b2cd478 *//* ============================================================
   GROWTH ENGINE PAGE STYLES FOR HOSTEDWEBS
   Paste this into:  Page Settings (gear icon) > Advanced > Custom CSS
   Or: Site Settings > Custom CSS (if you want it usable site wide)
   The whole file is scoped to .ge-wrap so it cannot leak.
   ============================================================ */

.ge-wrap {
  --ge-bg: #000000;
  --ge-bg-soft: #0a0a0a;
  --ge-bg-card: #111114;
  --ge-text: #ffffff;
  --ge-text-soft: rgba(255, 255, 255, 0.78);
  --ge-text-muted: rgba(255, 255, 255, 0.55);
  --ge-magenta: #d946ef;
  --ge-magenta-bright: #e879f9;
  --ge-magenta-deep: #a21caf;
  --ge-cyan: #22d3ee;
  --ge-line: rgba(255, 255, 255, 0.08);

  font-family: 'Sora', sans-serif;
  background: var(--ge-bg);
  color: var(--ge-text);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.ge-wrap *,
.ge-wrap *::before,
.ge-wrap *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.ge-wrap ::selection { background: var(--ge-magenta); color: #ffffff; }

/* ============ THEME OVERRIDE GUARDS ============
   These .elementor-2767 .elementor-element.elementor-element-b2cd478s stop the WordPress theme from injecting underlines
   or recoloring our links. !important is intentional here. */
.ge-wrap a,
.ge-wrap a:link,
.ge-wrap a:visited,
.ge-wrap a:hover,
.ge-wrap a:active,
.ge-wrap a:focus {
  text-decoration: none !important;
  background-image: none !important;
}

.ge-wrap button {
  font-family: inherit;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
}

.ge-mono {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
}

.ge-wrap .ge-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ============ HERO ============ */
.ge-wrap .ge-hero {
  padding: 120px 0 130px;
  position: relative;
  overflow: hidden;
  background: var(--ge-bg);
}
.ge-wrap .ge-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 800px 500px at 80% 20%, rgba(217, 70, 239, 0.18), transparent 60%),
    radial-gradient(ellipse 600px 700px at 5% 90%, rgba(34, 211, 238, 0.08), transparent 55%);
  pointer-events: none;
}
.ge-wrap .ge-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(217, 70, 239, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 70, 239, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at 50% 40%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 40%, black 30%, transparent 75%);
  pointer-events: none;
}
.ge-wrap .ge-hero .ge-container { position: relative; z-index: 2; }

.ge-wrap .ge-tag {
  color: var(--ge-magenta-bright);
  margin-bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.ge-wrap .ge-tag::before {
  content: '';
  width: 32px;
  height: 1px;
  background: var(--ge-magenta);
  box-shadow: 0 0 12px rgba(217, 70, 239, 0.7);
}

.ge-wrap .ge-h1 {
  font-size: clamp(2.6rem, 6.5vw, 5.4rem);
  font-weight: 700;
  margin-bottom: 32px;
  max-width: 18ch;
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--ge-text);
}
.ge-wrap .ge-h1 .ge-accent {
  color: var(--ge-magenta-bright);
  text-shadow:
    0 0 30px rgba(217, 70, 239, 0.6),
    0 0 60px rgba(217, 70, 239, 0.3);
}

.ge-wrap .ge-hero-sub {
  font-size: 1.18rem;
  max-width: 60ch;
  color: var(--ge-text-soft);
  margin-bottom: 48px;
  font-weight: 300;
}

.ge-wrap .ge-ctas { display: flex; gap: 16px; flex-wrap: wrap; }

/* ============ BUTTONS ============
   Heavy specificity + !important on color/decoration to defeat theme. */
.ge-wrap a.ge-btn-primary,
.ge-wrap a.ge-btn-ghost {
  padding: 17px 32px;
  border-radius: 100px;
  font-weight: 500;
  font-size: 0.96rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.25s ease;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: 'Sora', sans-serif;
  text-decoration: none !important;
  line-height: 1;
}
.ge-wrap a.ge-btn-primary,
.ge-wrap a.ge-btn-primary:link,
.ge-wrap a.ge-btn-primary:visited,
.ge-wrap a.ge-btn-primary:hover,
.ge-wrap a.ge-btn-primary:focus,
.ge-wrap a.ge-btn-primary:active {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--ge-magenta) 0%, var(--ge-magenta-deep) 100%);
  box-shadow:
    0 0 0 1px rgba(217, 70, 239, 0.5),
    0 8px 32px rgba(217, 70, 239, 0.35);
}
.ge-wrap a.ge-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px var(--ge-magenta-bright),
    0 12px 40px rgba(217, 70, 239, 0.55) !important;
}
.ge-wrap a.ge-btn-ghost,
.ge-wrap a.ge-btn-ghost:link,
.ge-wrap a.ge-btn-ghost:visited {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.02);
}
.ge-wrap a.ge-btn-ghost:hover,
.ge-wrap a.ge-btn-ghost:focus {
  color: var(--ge-magenta-bright) !important;
  border-color: var(--ge-magenta-bright);
  background: rgba(217, 70, 239, 0.08);
}
.ge-wrap a.ge-btn-primary svg,
.ge-wrap a.ge-btn-ghost svg { width: 16px; height: 16px; transition: transform 0.2s; }
.ge-wrap a.ge-btn-primary:hover svg,
.ge-wrap a.ge-btn-ghost:hover svg { transform: translateX(3px); }

.ge-wrap .ge-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 96px;
  padding-top: 48px;
  border-top: 1px solid var(--ge-line);
}
.ge-wrap .ge-stat-num {
  font-family: 'Sora', sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--ge-magenta-bright);
  margin-bottom: 8px;
  line-height: 1;
  letter-spacing: -0.02em;
  text-shadow: 0 0 24px rgba(217, 70, 239, 0.4);
}
.ge-wrap .ge-stat-label {
  font-size: 0.86rem;
  color: var(--ge-text-muted);
  line-height: 1.4;
  font-weight: 300;
}

/* ============ REALITY CHECK ============ */
.ge-wrap .ge-reality {
  padding: 130px 0;
  background: var(--ge-bg);
  position: relative;
  border-top: 1px solid var(--ge-line);
}
.ge-wrap .ge-reality .ge-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 100px;
  align-items: start;
}
.ge-wrap .ge-reality-tag { color: var(--ge-cyan); margin-bottom: 32px; }
.ge-wrap .ge-h2 {
  font-size: clamp(2.2rem, 4.8vw, 3.8rem);
  font-weight: 700;
  line-height: 1.06;
  margin-bottom: 24px;
  letter-spacing: -0.025em;
  color: var(--ge-text);
}
.ge-wrap .ge-h2 .ge-accent { color: var(--ge-magenta-bright); }
.ge-wrap .ge-h2 .ge-accent-cyan { color: var(--ge-cyan); }

.ge-wrap .ge-reality-body p {
  font-size: 1.1rem;
  color: var(--ge-text-soft);
  margin-bottom: 22px;
  max-width: 60ch;
  font-weight: 300;
}
.ge-wrap .ge-reality-body p strong {
  font-weight: 600;
  color: var(--ge-text);
}

.ge-wrap .ge-scoreboard {
  margin-top: 48px;
  border-top: 1px solid var(--ge-line);
  padding-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.ge-wrap .ge-scoreboard-item small {
  color: var(--ge-magenta-bright);
  margin-bottom: 10px;
  display: block;
}
.ge-wrap .ge-scoreboard-item.cool small { color: var(--ge-cyan); }
.ge-wrap .ge-scoreboard-item p {
  font-size: 0.98rem;
  line-height: 1.5;
  margin: 0;
  color: var(--ge-text-soft);
  font-weight: 300;
}

/* ============ INTRO ============ */
.ge-wrap .ge-intro {
  padding: 130px 0;
  position: relative;
  background: var(--ge-bg-soft);
  border-top: 1px solid var(--ge-line);
  border-bottom: 1px solid var(--ge-line);
  overflow: hidden;
}
.ge-wrap .ge-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 700px 400px at 95% 0%, rgba(217, 70, 239, 0.12), transparent 60%);
  pointer-events: none;
}
.ge-wrap .ge-intro .ge-container { position: relative; z-index: 2; }
.ge-wrap .ge-intro-tag { color: var(--ge-magenta-bright); margin-bottom: 28px; }
.ge-wrap .ge-intro .ge-h2 { max-width: 22ch; margin-bottom: 32px; }
.ge-wrap .ge-intro-lead {
  max-width: 62ch;
  color: var(--ge-text-soft);
  font-size: 1.1rem;
  font-weight: 300;
}

.ge-wrap .ge-intro-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  margin-top: 80px;
}
.ge-wrap .ge-intro-col {
  border-top: 1px solid var(--ge-line);
  padding-top: 28px;
  transition: border-color 0.3s;
}
.ge-wrap .ge-intro-col:hover { border-top-color: var(--ge-magenta-bright); }
.ge-wrap .ge-intro-col-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  color: var(--ge-magenta-bright);
  margin-bottom: 16px;
  letter-spacing: 0.1em;
}
.ge-wrap .ge-intro-col h3 {
  font-weight: 600;
  font-size: 1.45rem;
  margin-bottom: 16px;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ge-text);
}
.ge-wrap .ge-intro-col p {
  color: var(--ge-text-muted);
  font-size: 0.98rem;
  line-height: 1.6;
  font-weight: 300;
}

/* ============ PRICING ============ */
.ge-wrap .ge-pricing {
  background: var(--ge-bg);
  padding: 130px 0 140px;
  position: relative;
}
.ge-wrap .ge-pricing::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 900px 600px at 50% 0%, rgba(217, 70, 239, 0.08), transparent 60%);
  pointer-events: none;
}
.ge-wrap .ge-pricing .ge-container { position: relative; z-index: 2; }

.ge-wrap .ge-pricing-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 80px;
}
.ge-wrap .ge-pricing-tag { color: var(--ge-cyan); margin-bottom: 24px; }
.ge-wrap .ge-pricing-head p {
  font-size: 1.05rem;
  color: var(--ge-text-soft);
  max-width: 50ch;
  font-weight: 300;
}

.ge-wrap .ge-tier-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ge-wrap .ge-tier {
  background: var(--ge-bg-card);
  border: 1px solid var(--ge-line);
  border-radius: 16px;
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.ge-wrap .ge-tier:hover {
  transform: translateY(-6px);
  border-color: rgba(217, 70, 239, 0.3);
  box-shadow: 0 24px 60px rgba(217, 70, 239, 0.12);
}
.ge-wrap .ge-tier.ge-featured {
  background: linear-gradient(180deg, rgba(217, 70, 239, 0.12) 0%, var(--ge-bg-card) 60%);
  border-color: var(--ge-magenta);
  box-shadow:
    0 0 0 1px var(--ge-magenta),
    0 24px 60px rgba(217, 70, 239, 0.25);
}
.ge-wrap .ge-tier.ge-featured:hover {
  transform: translateY(-6px);
  box-shadow:
    0 0 0 1px var(--ge-magenta-bright),
    0 32px 80px rgba(217, 70, 239, 0.35);
}

.ge-wrap .ge-tier-badge {
  position: absolute;
  top: -12px;
  left: 28px;
  background: var(--ge-magenta);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 4px 16px rgba(217, 70, 239, 0.5);
}

.ge-wrap .ge-tier-name {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 8px;
  letter-spacing: -0.015em;
  color: var(--ge-text);
}
.ge-wrap .ge-tier-tag {
  font-size: 0.84rem;
  color: var(--ge-text-muted);
  margin-bottom: 32px;
  line-height: 1.45;
  min-height: 2.4em;
  font-weight: 300;
}

.ge-wrap .ge-tier-price {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--ge-text);
}
.ge-wrap .ge-tier.ge-featured .ge-tier-price { color: var(--ge-magenta-bright); }
.ge-wrap .ge-tier-price-range {
  font-size: 0.82rem;
  color: var(--ge-text-muted);
  margin-top: 8px;
  margin-bottom: 28px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
}

.ge-wrap .ge-tier hr {
  border: none;
  border-top: 1px solid var(--ge-line);
  margin-bottom: 24px;
}

.ge-wrap .ge-tier-includes {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--ge-magenta-bright);
  margin-bottom: 18px;
  font-weight: 600;
  font-family: 'JetBrains Mono', monospace;
}

.ge-wrap .ge-tier ul {
  list-style: none;
  flex: 1;
  margin-bottom: 28px;
}
.ge-wrap .ge-tier ul li {
  padding: 9px 0;
  font-size: 0.92rem;
  line-height: 1.45;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: var(--ge-text-soft);
  font-weight: 300;
}
.ge-wrap .ge-tier ul li::before {
  content: '';
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ge-magenta);
  margin-top: 8px;
  box-shadow: 0 0 8px rgba(217, 70, 239, 0.6);
}

/* TIER CTA: hardened for theme overrides */
.ge-wrap a.ge-tier-cta,
.ge-wrap a.ge-tier-cta:link,
.ge-wrap a.ge-tier-cta:visited {
  display: block;
  text-align: center;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 100px;
  font-weight: 500;
  font-size: 0.9rem;
  transition: all 0.25s;
  background: transparent;
  font-family: 'Sora', sans-serif;
  line-height: 1;
}
.ge-wrap a.ge-tier-cta:hover,
.ge-wrap a.ge-tier-cta:focus {
  background: var(--ge-magenta);
  border-color: var(--ge-magenta);
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(217, 70, 239, 0.4);
}
.ge-wrap .ge-tier.ge-featured a.ge-tier-cta,
.ge-wrap .ge-tier.ge-featured a.ge-tier-cta:link,
.ge-wrap .ge-tier.ge-featured a.ge-tier-cta:visited {
  background: linear-gradient(135deg, var(--ge-magenta) 0%, var(--ge-magenta-deep) 100%);
  border-color: var(--ge-magenta);
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(217, 70, 239, 0.4);
}
.ge-wrap .ge-tier.ge-featured a.ge-tier-cta:hover,
.ge-wrap .ge-tier.ge-featured a.ge-tier-cta:focus {
  box-shadow: 0 12px 32px rgba(217, 70, 239, 0.6);
  transform: translateY(-1px);
}

.ge-wrap .ge-pricing-foot {
  margin-top: 56px;
  text-align: center;
  color: var(--ge-text-muted);
  font-size: 0.95rem;
  font-weight: 300;
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
}
.ge-wrap .ge-pricing-foot strong {
  color: var(--ge-magenta-bright);
  font-weight: 500;
}

/* ============ AI POSITIONING ============ */
.ge-wrap .ge-ai {
  background: var(--ge-bg-soft);
  padding: 130px 0;
  border-top: 1px solid var(--ge-line);
  border-bottom: 1px solid var(--ge-line);
  position: relative;
  overflow: hidden;
}
.ge-wrap .ge-ai::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 600px 400px at 0% 50%, rgba(34, 211, 238, 0.06), transparent 60%),
    radial-gradient(ellipse 600px 400px at 100% 50%, rgba(217, 70, 239, 0.08), transparent 60%);
  pointer-events: none;
}
.ge-wrap .ge-ai .ge-container { position: relative; z-index: 2; }
.ge-wrap .ge-ai-tag { color: var(--ge-magenta-bright); margin-bottom: 28px; }
.ge-wrap .ge-ai .ge-h2 { max-width: 20ch; margin-bottom: 24px; }
.ge-wrap .ge-ai-lead {
  font-size: 1.12rem;
  color: var(--ge-text-soft);
  max-width: 62ch;
  margin-bottom: 80px;
  font-weight: 300;
}

.ge-wrap .ge-ai-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.ge-wrap .ge-ai-card {
  background: var(--ge-bg-card);
  border: 1px solid var(--ge-line);
  border-radius: 16px;
  padding: 40px 32px;
  transition: border-color 0.3s, transform 0.3s;
}
.ge-wrap .ge-ai-card:hover {
  border-color: rgba(217, 70, 239, 0.4);
  transform: translateY(-4px);
}
.ge-wrap .ge-ai-card-num {
  font-family: 'JetBrains Mono', monospace;
  color: var(--ge-magenta-bright);
  font-size: 0.85rem;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.ge-wrap .ge-ai-card h3 {
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 18px;
  letter-spacing: -0.015em;
  color: var(--ge-text);
}
.ge-wrap .ge-ai-card p {
  color: var(--ge-text-muted);
  font-size: 0.96rem;
  line-height: 1.6;
  font-weight: 300;
}

/* ============ ONBOARDING ============ */
.ge-wrap .ge-onboard {
  background: var(--ge-bg);
  padding: 130px 0;
  position: relative;
  overflow: hidden;
}
.ge-wrap .ge-onboard::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(217, 70, 239, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 70, 239, 0.04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at 50% 50%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 30%, transparent 75%);
  pointer-events: none;
}
.ge-wrap .ge-onboard .ge-container { position: relative; z-index: 2; }
.ge-wrap .ge-onboard-tag { color: var(--ge-cyan); margin-bottom: 28px; }
.ge-wrap .ge-onboard .ge-h2 { max-width: 20ch; margin-bottom: 80px; }

.ge-wrap .ge-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  position: relative;
}
.ge-wrap .ge-steps::before {
  content: '';
  position: absolute;
  top: 32px;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(217, 70, 239, 0.4), transparent);
}
.ge-wrap .ge-step {
  position: relative;
  background: var(--ge-bg);
  padding-right: 16px;
}
.ge-wrap .ge-step-num {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--ge-bg);
  border: 1px solid var(--ge-magenta);
  color: var(--ge-magenta-bright);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 28px;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 24px rgba(217, 70, 239, 0.25);
}
.ge-wrap .ge-step h4 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 14px;
  letter-spacing: -0.015em;
  color: var(--ge-text);
}
.ge-wrap .ge-step p {
  color: var(--ge-text-muted);
  font-size: 0.94rem;
  line-height: 1.55;
  font-weight: 300;
}

/* ============ FAQ ============ */
.ge-wrap .ge-faq {
  background: var(--ge-bg-soft);
  padding: 130px 0;
  border-top: 1px solid var(--ge-line);
}
.ge-wrap .ge-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 80px;
}
.ge-wrap .ge-faq-tag { color: var(--ge-magenta-bright); margin-bottom: 24px; }
.ge-wrap .ge-faq-head .ge-h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 28px; }
.ge-wrap .ge-faq-head p {
  color: var(--ge-text-soft);
  margin-bottom: 32px;
  font-weight: 300;
}
.ge-wrap .ge-faq-contact {
  font-size: 1rem;
  color: var(--ge-text-soft);
  font-weight: 300;
}
/* This is a real text link inside copy, so we DO want underline */
.ge-wrap .ge-faq-contact a,
.ge-wrap .ge-faq-contact a:link,
.ge-wrap .ge-faq-contact a:visited {
  color: var(--ge-magenta-bright) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
  text-decoration-color: rgba(217, 70, 239, 0.4) !important;
}
.ge-wrap .ge-faq-contact a:hover {
  text-decoration-color: var(--ge-magenta-bright) !important;
}

.ge-wrap .ge-faq-list {
  border-top: 1px solid var(--ge-line);
}
.ge-wrap .ge-faq-item {
  border-bottom: 1px solid var(--ge-line);
}
.ge-wrap .ge-faq-q {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 28px 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-weight: 500;
  font-size: 1.1rem;
  color: var(--ge-text);
  letter-spacing: -0.005em;
  transition: color 0.2s;
  font-family: 'Sora', sans-serif;
}
.ge-wrap .ge-faq-q:hover { color: var(--ge-magenta-bright); }
.ge-wrap .ge-faq-q-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  position: relative;
}
.ge-wrap .ge-faq-q-icon::before, .ge-wrap .ge-faq-q-icon::after {
  content: '';
  position: absolute;
  background: var(--ge-magenta-bright);
  transition: transform 0.3s;
  box-shadow: 0 0 8px rgba(217, 70, 239, 0.5);
}
.ge-wrap .ge-faq-q-icon::before {
  top: 10px; left: 0; width: 22px; height: 1.5px;
}
.ge-wrap .ge-faq-q-icon::after {
  top: 0; left: 10px; width: 1.5px; height: 22px;
}
.ge-wrap .ge-faq-item.ge-open .ge-faq-q-icon::after { transform: scaleY(0); }

.ge-wrap .ge-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.ge-wrap .ge-faq-a-inner {
  padding-bottom: 28px;
  color: var(--ge-text-muted);
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 60ch;
  font-weight: 300;
}
.ge-wrap .ge-faq-item.ge-open .ge-faq-a {
  max-height: 600px;
}

/* ============ FINAL CTA ============ */
.ge-wrap .ge-final {
  background: var(--ge-bg);
  padding: 140px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--ge-line);
}
.ge-wrap .ge-final::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 800px 500px at center, rgba(217, 70, 239, 0.18), transparent 60%),
    radial-gradient(ellipse 600px 400px at 80% 100%, rgba(34, 211, 238, 0.06), transparent 60%);
}
.ge-wrap .ge-final::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(217, 70, 239, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217, 70, 239, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at 50% 50%, black 20%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 20%, transparent 70%);
  pointer-events: none;
}
.ge-wrap .ge-final .ge-container { position: relative; z-index: 2; }
.ge-wrap .ge-final-tag {
  color: var(--ge-magenta-bright);
  margin-bottom: 32px;
  display: block;
}
.ge-wrap .ge-final h2 {
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  font-weight: 700;
  line-height: 1.06;
  max-width: 20ch;
  margin: 0 auto 28px;
  letter-spacing: -0.025em;
  color: var(--ge-text);
}
.ge-wrap .ge-final h2 .ge-accent {
  color: var(--ge-magenta-bright);
  text-shadow: 0 0 30px rgba(217, 70, 239, 0.6);
}
.ge-wrap .ge-final p {
  font-size: 1.12rem;
  color: var(--ge-text-soft);
  max-width: 52ch;
  margin: 0 auto 48px;
  font-weight: 300;
}
.ge-wrap .ge-final-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.ge-wrap .ge-phone {
  margin-top: 48px;
  color: var(--ge-text-muted);
  font-size: 0.95rem;
  font-weight: 300;
}
.ge-wrap .ge-phone a,
.ge-wrap .ge-phone a:link,
.ge-wrap .ge-phone a:visited {
  color: var(--ge-text) !important;
  text-decoration: none !important;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
  padding-bottom: 2px;
  margin-left: 6px;
}
.ge-wrap .ge-phone a:hover {
  color: var(--ge-magenta-bright) !important;
  border-bottom-color: var(--ge-magenta-bright);
}

/* ============ RESPONSIVE ============ */
@media (max-width: 980px) {
  .ge-wrap .ge-stats { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .ge-wrap .ge-reality .ge-grid-2 { grid-template-columns: 1fr; gap: 40px; }
  .ge-wrap .ge-intro-cols { grid-template-columns: 1fr; gap: 40px; }
  .ge-wrap .ge-pricing-head { grid-template-columns: 1fr; gap: 24px; }
  .ge-wrap .ge-tier-grid { grid-template-columns: repeat(2, 1fr); }
  .ge-wrap .ge-ai-grid { grid-template-columns: 1fr; }
  .ge-wrap .ge-steps { grid-template-columns: repeat(2, 1fr); gap: 40px; }
  .ge-wrap .ge-steps::before { display: none; }
  .ge-wrap .ge-faq-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 600px) {

  .ge-wrap .ge-container { 
    padding: 0 22px; 
  }

  /* SECTION SPACING */
  .ge-wrap .ge-hero { 
    padding: 70px 0 80px; 
  }

  .ge-wrap .ge-reality,
  .ge-wrap .ge-intro,
  .ge-wrap .ge-pricing,
  .ge-wrap .ge-ai,
  .ge-wrap .ge-onboard,
  .ge-wrap .ge-faq,
  .ge-wrap .ge-final { 
    padding-top: 80px;
    padding-bottom: 80px;
  }

  /* FAQ + ONBOARD SIDE PADDING */
  .ge-wrap .ge-faq,
  .ge-wrap .ge-onboard {
    padding-left: 12px;
    padding-right: 12px;
  }

  /* FINAL FAQ MOBILE OVERFLOW FIX */
  .ge-wrap .ge-faq,
  .ge-wrap .ge-faq .ge-container,
  .ge-wrap .ge-faq-grid {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .ge-wrap .ge-faq-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }

  .ge-wrap .ge-faq-head,
  .ge-wrap .ge-faq-list {
    width: 100%;
    min-width: 0;
  }

  .ge-wrap .ge-faq .ge-h2 {
    font-size: 2.3rem;
    line-height: 1.1;
    word-break: break-word;
  }

/* FIX FAQ QUESTION TEXT WRAPPING */
.ge-wrap .ge-faq-q {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  align-items: flex-start;
}

.ge-wrap .ge-faq-q span,
.ge-wrap .ge-faq-q-text {
  flex: 1;
  min-width: 0;
}

.ge-wrap .ge-faq-q {
  font-size: 1rem;
  line-height: 1.4;
  padding-right: 20px;
  gap: 16px;

  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  align-items: flex-start;
}

  /* MOBILE GRIDS */
  .ge-wrap .ge-stats { 
    grid-template-columns: 1fr 1fr; 
  }

  .ge-wrap .ge-tier-grid { 
    grid-template-columns: 1fr; 
  }

  .ge-wrap .ge-steps { 
    grid-template-columns: 1fr; 
  }

  .ge-wrap .ge-scoreboard { 
    grid-template-columns: 1fr; 
  }
}/* End custom CSS */
/* Start custom CSS */html, body {
  overflow-x: hidden;
}

.ge-wrap {
  overflow-x: hidden;
}/* End custom CSS */