/* ═══════════════════════════════════════════════════════
   EG SOLUTIONS — MAIN STYLESHEET
   Brand: Dark Navy + Lime #C8FF00 + Blue #2563EB
   Fonts: Bebas Neue (display) + Outfit (body)
═══════════════════════════════════════════════════════ */

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --bg:        #080c14;
  --bg2:       #0d1220;
  --bg3:       #111827;
  --line:      rgba(255,255,255,0.07);
  --white:     #f0f4ff;
  --muted:     #6b7a99;
  --mid:       #a0aec0;
  --lime:      #c8ff00;
  --lime-dim:  rgba(200,255,0,0.10);
  --lime-glow: rgba(200,255,0,0.22);
  --blue:      #2563eb;
  --blue-glow: rgba(37,99,235,0.35);

  --font-display: 'Bebas Neue', sans-serif;
  --font-body:    'Outfit', sans-serif;

  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  20px;

  --section-pad: 7rem 4rem;
  --nav-height:  72px;
  --heading-h2-size: 4rem;
  --heading-h3-size: 3rem;
  --heading-h4-size: 2.2rem;
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bg);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  cursor: none;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
ul { list-style: none; }
button { font-family: var(--font-body); cursor: none; }
input, textarea, select { font-family: var(--font-body); }

/* ── GLOBAL TYPOGRAPHY ── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-headline,
.elementor-widget-heading .elementor-heading-title,
/* Elementor animated headline — target every text span inside */
.elementor-headline .elementor-headline-plain-text,
.elementor-headline .elementor-headline-dynamic-text,
.elementor-headline .elementor-headline-text-wrapper,
.elementor-headline .elementor-headline-dynamic-wrapper {
  font-family: var(--font-display) !important;
  line-height: 1;
  letter-spacing: .01em;
}

/* Global heading scale (h1 stays unchanged) */
h2,
.elementor-widget-heading h2.elementor-heading-title { font-size: var(--heading-h2-size) !important; }
h3,
.elementor-widget-heading h3.elementor-heading-title { font-size: var(--heading-h3-size) !important; }
h4,
.elementor-widget-heading h4.elementor-heading-title { font-size: var(--heading-h4-size) !important; }

p,
.elementor-widget-container p,
.elementor-widget-text-editor p,
.elementor-text-editor p,
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-text-editor .elementor-widget-container p,
.elementor-widget-text-editor .elementor-widget-container div {
  font-family: var(--font-body) !important;
  color: #a0aec0 !important;
  line-height: 1.8;
}

.elementor-widget-text-editor .elementor-widget-container strong,
.elementor-widget-text-editor .elementor-widget-container b {
  color: #f0f4ff !important;
  font-weight: 600;
}

/* Keep white on elements where it matters */
.eg-btn, .nav-cta, .footer-bottom p { color: inherit; }

/* ── NOISE TEXTURE ── */
body::after {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 1000; opacity: .6;
}

/* ── CUSTOM CURSOR ── */
.eg-cursor {
  width: 10px; height: 10px;
  background: var(--lime);
  border-radius: 50%;
  position: fixed; pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
}
.eg-cursor-ring {
  width: 36px; height: 36px;
  border: 1px solid rgba(200,255,0,.5);
  border-radius: 50%;
  position: fixed; pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  transition: all .1s ease;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--bg3); border-radius: 4px; }

/* ── REVEAL ANIMATIONS ── */
.eg-reveal {
  opacity: 1;
  transform: translateY(32px);
  transition: opacity .7s ease, transform .7s ease;
}
.eg-reveal.eg-visible { opacity: 1; transform: translateY(0); }
.eg-delay-1 { transition-delay: .1s; }
.eg-delay-2 { transition-delay: .2s; }
.eg-delay-3 { transition-delay: .3s; }
.eg-delay-4 { transition-delay: .4s; }

/* ════════════════════════════════
   LOGO SYSTEM
════════════════════════════════ */
.eg-logo {
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
  flex-shrink: 0;
}
.eg-logo .logo-eg {
  font-family: var(--font-display);
  font-size: 2rem;
  letter-spacing: -.01em;
  line-height: 1;
  color: var(--white);
  flex-shrink: 0;
}
.eg-logo .logo-bar {
  width: 2.5px; height: 1.55rem;
  background: var(--lime);
  border-radius: 2px;
  margin: 0 .6rem;
  flex-shrink: 0;
}
.eg-logo .logo-stack {
  display: flex; flex-direction: column;
  justify-content: center; gap: 1px;
}
.eg-logo .logo-solutions {
  font-family: var(--font-body);
  font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .22em;
  color: var(--lime); line-height: 1.1;
}
.eg-logo .logo-tagline {
  font-family: var(--font-body);
  font-size: .48rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: .15em;
  color: rgba(160,174,192,.5); line-height: 1.1;
}
.eg-logo.eg-logo--lg .logo-eg { font-size: 2.4rem; }
.eg-logo.eg-logo--lg .logo-bar { height: 1.85rem; width: 3px; margin: 0 .65rem; }
.eg-logo.eg-logo--lg .logo-solutions { font-size: .72rem; }
.eg-logo.eg-logo--lg .logo-tagline { font-size: .54rem; }
.eg-logo .eg-logo-image {
  display: block;
  height: auto;
  width: 100%;
  max-width: 240px;
}

/* ════════════════════════════════
   NAVIGATION
════════════════════════════════ */
.eg-nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 500;
  padding: 0 4rem;
  height: var(--nav-height);
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid transparent;
  transition: background .3s, border-color .3s, backdrop-filter .3s;
}
.eg-nav.scrolled {
  background: rgba(8,12,20,.93);
  border-color: var(--line);
  backdrop-filter: blur(16px);
}
.eg-nav__links {
  display: flex; align-items: center; gap: 2.5rem;
}
.eg-nav__links a {
  font-size: .85rem; font-weight: 500; color: var(--muted);
  transition: color .2s; position: relative;
}
.eg-nav__links a::after {
  content: ''; position: absolute;
  bottom: -4px; left: 0; right: 100%;
  height: 1px; background: var(--lime);
  transition: right .3s;
}
.eg-nav__links a:hover,
.eg-nav__links a.current-menu-item { color: var(--white); }
.eg-nav__links a:hover::after,
.eg-nav__links a.current-menu-item::after { right: 0; }

.eg-nav__cta {
  background: var(--lime) !important;
  color: #080c14 !important; font-weight: 700 !important;
  font-size: .8rem; padding: .6rem 1.4rem;
  border-radius: var(--radius-sm);
  transition: background .2s, box-shadow .2s, transform .2s;
}
.eg-nav__cta::after { display: none !important; }
.eg-nav__cta:hover {
  background: #d6ff1a !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 18px var(--lime-glow);
}

/* Mobile nav toggle */
.eg-nav__toggle {
  display: none;
  flex-direction: column; gap: 5px;
  background: none; border: none; cursor: none;
  padding: .5rem;
}
.eg-nav__toggle span {
  display: block; width: 24px; height: 1.5px;
  background: var(--white);
  transition: transform .3s, opacity .3s;
}

/* Mobile nav open */
.eg-nav.nav-open .eg-nav__links {
  display: flex; flex-direction: column; align-items: flex-start;
  position: fixed; top: var(--nav-height); left: 0; right: 0;
  background: rgba(8,12,20,.98);
  padding: 2rem 4rem 3rem;
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(20px);
  gap: 1.5rem;
}
.eg-nav.nav-open .eg-nav__toggle span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.eg-nav.nav-open .eg-nav__toggle span:nth-child(2) { opacity: 0; }
.eg-nav.nav-open .eg-nav__toggle span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ════════════════════════════════
   BUTTONS
════════════════════════════════ */
.eg-btn {
  display: inline-flex; align-items: center; gap: .6rem;
  font-family: var(--font-body);
  font-size: .9rem; font-weight: 700;
  padding: .9rem 2rem;
  border-radius: var(--radius-sm);
  border: none; cursor: none;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.eg-btn .eg-btn__arrow { transition: transform .2s; }
.eg-btn:hover .eg-btn__arrow { transform: translateX(4px); }

.eg-btn--primary {
  background: var(--lime);
  color: #080c14;
}
.eg-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--lime-glow);
}
.eg-btn--ghost {
  background: transparent;
  color: var(--mid);
  border: 1px solid var(--line);
}
.eg-btn--ghost:hover {
  border-color: rgba(255,255,255,.2);
  color: var(--white);
}
.eg-btn--sm { font-size: .8rem; padding: .65rem 1.4rem; }
.eg-btn--lg { font-size: 1rem; padding: 1rem 2.4rem; }

/* ════════════════════════════════
   TYPOGRAPHY UTILITIES
════════════════════════════════ */
.eg-eyebrow {
  display: flex; align-items: center; gap: .6rem;
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .2em;
  color: var(--lime); margin-bottom: 1.25rem;
}
.eg-eyebrow::before {
  content: ''; display: inline-block;
  width: 22px; height: 2px;
  background: var(--lime);
}
.eg-title {
  font-family: var(--font-display);
  line-height: 1; letter-spacing: .01em;
}
.eg-title--hero  { font-size: clamp(3.5rem, 8vw, 6rem); line-height: .95; }
.eg-title--xl    { font-size: clamp(3rem, 5vw, 5.5rem); }
.eg-title--lg    { font-size: clamp(2.5rem, 4vw, 4.5rem); }
.eg-title--md    { font-size: clamp(2rem, 3vw, 3.5rem); }
.eg-title--sm    { font-size: clamp(1.6rem, 2.5vw, 2.5rem); }

.eg-lead {
  font-size: 1.05rem; font-weight: 300;
  color: var(--mid); line-height: 1.8;
}
.eg-body {
  font-size: .92rem; color: var(--mid);
  line-height: 1.8; font-weight: 300;
}

.text-lime  { color: var(--lime); }
.text-white { color: var(--white); }
.text-muted { color: var(--muted); }
.text-outline {
  -webkit-text-stroke: 1.5px rgba(240,244,255,.3);
  color: transparent;
}

/* ════════════════════════════════
   SECTION WRAPPERS
════════════════════════════════ */
.eg-section {
  padding: var(--section-pad);
  position: relative;
}
.eg-section--alt { background: var(--bg2); }
.eg-section--bordered {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.eg-section--border-top    { border-top: 1px solid var(--line); }
.eg-section--border-bottom { border-bottom: 1px solid var(--line); }

.eg-container { max-width: 1280px; margin: 0 auto; }

/* ════════════════════════════════
   GRID UTILITIES
════════════════════════════════ */
.eg-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.eg-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.eg-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }

/* [eg_projects] shortcode wrapper */
.eg-projects-sc__header { margin-bottom: 3.5rem; }
.eg-projects-sc__header .eg-eyebrow { margin-bottom: .75rem; }
.eg-projects-sc__cta { display: flex; justify-content: center; margin-top: 3rem; }
.eg-grid-2-3 { display: grid; grid-template-columns: 2fr 3fr; gap: 4rem; align-items: center; }
.eg-grid-1-1 { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }

/* ════════════════════════════════
   CARDS
════════════════════════════════ */
.eg-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform .3s, border-color .35s, box-shadow .35s;
  cursor: none;
}
.eg-card:hover {
  transform: translateY(-5px);
  border-color: rgba(200,255,0,.2);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.eg-card--featured {
  border-color: rgba(200,255,0,.28);
  background: linear-gradient(160deg, rgba(200,255,0,.05) 0%, var(--bg) 60%);
  position: relative;
}
.eg-card--featured::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.eg-card__body { padding: 2.5rem; }
.eg-card__icon { font-size: 2rem; margin-bottom: 1.25rem; display: block; }
.eg-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem; letter-spacing: .03em;
  margin-bottom: .6rem; line-height: 1.1;
}
.eg-card__sub {
  font-size: .72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .15em;
  color: var(--lime); margin-bottom: 1rem;
}
.eg-card__text {
  font-size: .88rem; color: var(--muted);
  line-height: 1.75; margin-bottom: 1.5rem;
}
.eg-card__link {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--lime); transition: gap .2s;
}
.eg-card:hover .eg-card__link { gap: .7rem; }

/* Accent top bar on hover */
.eg-card--accent::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s;
}
.eg-card--accent:hover::after { transform: scaleX(1); }

/* ════════════════════════════════
   SERVICE CARDS (Archive)
════════════════════════════════ */
.service-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 2.5rem;
  position: relative; overflow: hidden;
  transition: transform .3s, border-color .35s;
  display: flex; flex-direction: column;
}
.service-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0); transform-origin: left; transition: transform .4s;
}
.service-card:hover { transform: translateY(-5px); border-color: rgba(200,255,0,.2); }
.service-card:hover::before { transform: scaleX(1); }
.service-card__icon { font-size: 2.2rem; margin-bottom: 1.5rem; }
.service-card__title {
  font-family: var(--font-display);
  font-size: 1.6rem !important; letter-spacing: .03em; margin-bottom: .5rem;
}
.service-card__tagline {
  font-size: .72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .15em;
  color: var(--lime); margin-bottom: 1rem;
}
.service-card__excerpt {
  font-size: .88rem; color: var(--muted);
  line-height: 1.75; margin-bottom: 1.5rem; flex: 1;
}
.service-card__features {
  margin-bottom: 2rem;
  display: flex; flex-direction: column; gap: .55rem;
}
.service-card__features li {
  display: flex; align-items: flex-start; gap: .6rem;
  font-size: .8rem; color: var(--mid); line-height: 1.5;
}
.service-card__features li::before {
  content: '→'; color: var(--lime); font-weight: 700;
  flex-shrink: 0; font-size: .75rem;
}

@media (max-width: 767px) {
  .service-steps-grid { grid-template-columns: 1fr !important; }
}


/* ════════════════════════════════
   PROJECT CARDS (Portfolio)
════════════════════════════════ */
.project-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); overflow: hidden;
  transition: transform .3s, border-color .35s;
  cursor: none;
}
.project-card:hover { transform: translateY(-5px); border-color: rgba(200,255,0,.22); }

.project-card__thumb {
  position: relative; overflow: hidden;
  background: var(--bg3);
  aspect-ratio: 16 / 10;
}
.project-card__thumb img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s ease;
}
.project-card:hover .project-card__thumb img { transform: scale(1.04); }

.project-card__thumb-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 3rem; color: rgba(255,255,255,.05);
  letter-spacing: .05em; text-align: center;
  padding: 1rem;
}
.project-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,12,20,.9), transparent);
  opacity: 0; transition: opacity .3s;
  display: flex; align-items: flex-end; padding: 1.5rem;
}
.project-card:hover .project-card__overlay { opacity: 1; }
.project-card__overlay-btn {
  font-size: .75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--lime);
}

.project-card__result {
  position: absolute; top: 1rem; right: 1rem;
  background: rgba(8,12,20,.85);
  border: 1px solid rgba(200,255,0,.3);
  border-radius: var(--radius-sm);
  padding: .5rem .85rem;
  backdrop-filter: blur(8px);
  text-align: center;
}
.project-card__result-num {
  font-family: var(--font-display);
  font-size: 1.4rem; color: var(--lime);
  line-height: 1; letter-spacing: .02em;
}
.project-card__result-label { font-size: .58rem; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }

.project-card__body { padding: 1.75rem; }
.project-card__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem; }
.project-card__tag {
  font-size: .62rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--muted); background: var(--bg3);
  padding: .2rem .6rem; border-radius: 4px;
  border: 1px solid var(--line);
}
.project-card__title {
  font-family: var(--font-display);
  font-size: 1.3rem !important; letter-spacing: .03em; margin-bottom: .3rem;
}
.project-card__client { font-size: .8rem; color: var(--muted); }

/* Featured project */
.project-card--featured { grid-column: span 2; }
.project-card--featured .project-card__thumb { aspect-ratio: 21 / 9; }

/* ════════════════════════════════
   INDUSTRY CARDS
════════════════════════════════ */
.industry-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-md); padding: 2rem;
  transition: border-color .3s, transform .3s;
  cursor: none;
}
.industry-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-3px); }
.industry-card__icon { font-size: 1.8rem; margin-bottom: 1rem; display: block; }
.industry-card__title {
  font-family: var(--font-display);
  font-size: 1.8rem !important; letter-spacing: .03em; margin-bottom: .4rem;
}
.industry-card__text { font-size: .82rem; color: var(--muted); line-height: 1.65; }

/* ════════════════════════════════
   LOCATION CARDS
════════════════════════════════ */
.location-card {
  background: var(--bg); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 2.5rem;
  position: relative; overflow: hidden;
  transition: border-color .3s, transform .3s;
}
.location-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-3px); }
.location-card--primary::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.location-card__flag { font-size: 2.2rem; margin-bottom: 1.5rem; display: block; }
.location-card__title {
  font-family: var(--font-display);
  font-size: 1.8rem !important; letter-spacing: .04em; margin-bottom: .5rem;
}
.location-card__tag {
  display: inline-block;
  background: var(--lime-dim); border: 1px solid rgba(200,255,0,.2);
  color: var(--lime); font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  padding: .22rem .65rem; border-radius: 4px; margin-bottom: 1.25rem;
}
.location-card__text { font-size: .88rem; color: var(--muted); line-height: 1.75; margin-bottom: 1.5rem; }
.location-card__details { display: flex; flex-direction: column; gap: .5rem; }
.location-card__detail {
  display: flex; align-items: center; gap: .6rem;
  font-size: .82rem; color: var(--mid);
}
.location-card__detail-icon { color: var(--lime); flex-shrink: 0; font-size: .85rem; }

/* ════════════════════════════════
   HERO SECTION
════════════════════════════════ */
.eg-hero {
  min-height: 70vh;
  display: flex; flex-direction: column;
  justify-content: flex-end;
  padding: 0 4rem 5rem;
  position: relative; overflow: hidden;
  padding-top: var(--nav-height);
}
.eg-hero__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 65px 65px;
  mask-image: radial-gradient(ellipse 90% 70% at 40% 60%, black 30%, transparent 100%);
}
.eg-hero__orb-1 {
  position: absolute; width: 750px; height: 750px; border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,.16) 0%, transparent 65%);
  top: -180px; right: -200px; pointer-events: none;
  animation: eg-float 9s ease-in-out infinite;
}
.eg-hero__orb-2 {
  position: absolute; width: 450px; height: 450px; border-radius: 50%;
  background: radial-gradient(circle, rgba(200,255,0,.06) 0%, transparent 70%);
  bottom: 80px; left: -80px; pointer-events: none;
  animation: eg-float 11s ease-in-out infinite reverse;
}
@keyframes eg-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-28px)} }

.eg-hero__bg-word {
  position: absolute; bottom: -2rem; left: 2rem;
  font-family: var(--font-display); font-size: 20vw; line-height: 1;
  color: rgba(255,255,255,.018); letter-spacing: -.02em;
  pointer-events: none; user-select: none;
}
.eg-hero__inner { position: relative; z-index: 2; max-width: 1100px; margin-top: 7rem; }

.eg-hero__breadcrumb {
  display: flex; align-items: center; gap: .5rem;
  font-size: .72rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 2rem;
}
.eg-hero__breadcrumb a { color: var(--muted); transition: color .2s; }
.eg-hero__breadcrumb a:hover { color: var(--lime); }
.eg-hero__breadcrumb .sep { opacity: .4; }

.eg-hero__title { margin-bottom: 1.5rem; }
.eg-hero__lead { max-width: 580px; margin-bottom: 2.5rem; }
.eg-hero__actions {
  display: flex; align-items: center; gap: 1.25rem;
  flex-wrap: wrap; margin-bottom: 4rem;
}

/* Hero stats bar */
.eg-hero__stats {
  display: flex; flex-wrap: wrap; gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 2.5rem;
}
.eg-hero__stat {
  padding: 0 2.5rem 0 0;
  margin-right: 2.5rem;
  border-right: 1px solid var(--line);
}
.eg-hero__stat:last-child { border-right: none; margin-right: 0; }
.eg-hero__stat-num {
  font-family: var(--font-display); font-size: 2rem;
  line-height: 1; color: var(--white); letter-spacing: .02em;
}
.eg-hero__stat-num .lm { color: var(--lime); font-size: 1.3rem; }
.eg-hero__stat-label {
  font-size: .7rem; text-transform: uppercase;
  letter-spacing: .1em; color: var(--muted); margin-top: .2rem;
}

/* Scroll indicator */
.eg-scroll-ind {
  position: absolute; right: 4rem; bottom: 5rem;
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  opacity: .35; z-index: 2;
}
.eg-scroll-ind span {
  font-size: .6rem; text-transform: uppercase;
  letter-spacing: .15em; writing-mode: vertical-rl;
  color: var(--muted);
}
.eg-scroll-line {
  width: 1px; height: 48px;
  background: var(--muted); overflow: hidden; position: relative;
}
.eg-scroll-line::after {
  content: ''; position: absolute;
  top: -100%; left: 0; right: 0; height: 100%;
  background: var(--lime);
  animation: eg-scroll-anim 1.8s ease-in-out infinite;
}
@keyframes eg-scroll-anim { 0%{top:-100%} 100%{top:100%} }

/* ════════════════════════════════
   PROCESS STEPS (BEM + web-design.php: .process / .process-steps / .proc-*)
════════════════════════════════ */
.elementor-element.e-con.process,
section.process {
  padding: 8rem 4rem;
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.process-header { margin-bottom: 5rem; }

.eg-process,
.process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  position: relative; gap: 2rem;
}

.eg-process::before,
.process-steps::before {
  content: ''; position: absolute;
  top: 28px; left: calc(10% + 24px); right: calc(10% + 24px);
  height: 1px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  z-index: 0;
}

.eg-step,
.proc-step {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
  position: relative; z-index: 1;
}

.eg-step__num,
.proc-num {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--bg); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 1.1rem; color: var(--lime);
  margin-bottom: 1.25rem;
  transition: background .3s, border-color .3s;
  flex-shrink: 0;
}

.eg-step:hover .eg-step__num,
.proc-step:hover .proc-num { background: var(--lime-dim); border-color: rgba(200,255,0,.3); }

.eg-step__title,
.proc-step h4 {
  font-family: var(--font-display); font-size: 1rem; letter-spacing: .05em; margin-bottom: .4rem;
  color: var(--white);
}

.eg-step__text,
.proc-step p { font-size: .78rem; color: var(--muted); line-height: 1.6; }

/* ════════════════════════════════
   CTA BAND (BEM + web-design.php: .cta-section / .cta-buttons / .cta-phone-row)
════════════════════════════════ */
.eg-cta,
.elementor-element.e-con.cta-section,
section.cta-section {
  padding: 7rem 4rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.eg-cta::before,
.cta-section::before {
  content: '';
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,255,0,.055) 0%, transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.eg-cta__title {
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
}

/* web-design.php CTA headline (plain h2, no eg-title utilities) */
.cta-section h2 {
  font-family: var(--font-display);
  font-size: clamp(3rem, 6vw, 6.5rem);
  line-height: .95;
  letter-spacing: .01em;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
  color: var(--white);
}

.eg-cta__lead,
.cta-section > p {
  font-size: 1.02rem;
  font-weight: 300;
  color: var(--mid);
  max-width: 500px;
  margin: 0 auto 2.5rem;
  line-height: 1.8;
  position: relative;
  z-index: 1;
}

.eg-cta__actions,
.cta-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.eg-cta__note,
.cta-phone-row {
  margin-top: 1.5rem;
  font-size: .82rem;
  color: var(--muted);
  position: relative;
  z-index: 1;
}

.eg-cta__note a,
.cta-phone-row a {
  color: var(--mid);
  transition: color .2s;
}

.eg-cta__note a:hover,
.cta-phone-row a:hover { color: var(--lime); }

/* web-design.php CTA — button size without inline styles */
.cta-section a.btn-primary,
.cta-section a.btn-ghost {
  font-size: .95rem;
  padding: 1rem 2.2rem;
}

/* ════════════════════════════════
   TESTIMONIAL
════════════════════════════════ */
.eg-testimonial-block {
  padding: 7rem 4rem; position: relative; overflow: hidden;
}
.eg-testimonial-block::before {
  content: '\201C'; position: absolute;
  top: -2rem; left: 2rem;
  font-family: var(--font-display);
  font-size: 22rem; line-height: 1;
  color: rgba(200,255,0,.025);
  pointer-events: none;
}
.eg-testimonial-block__inner {
  max-width: 820px; margin: 0 auto;
  text-align: center; position: relative; z-index: 1;
}
.eg-stars { display: flex; justify-content: center; gap: .3rem; margin-bottom: 2rem; }
.eg-star  { color: var(--lime); font-size: .9rem; }
.eg-quote {
  font-size: clamp(1.05rem, 2vw, 1.4rem);
  font-weight: 300; color: var(--mid);
  line-height: 1.7; font-style: italic;
  margin-bottom: 2.5rem;
}
.eg-quote strong { color: var(--white); font-weight: 600; font-style: normal; }
.eg-author-name { font-size: .9rem; font-weight: 700; color: var(--white); margin-bottom: .2rem; }
.eg-author-role { font-size: .75rem; color: var(--muted); }

/* ════════════════════════════════
   FAQ (BEM + web-design.php: .faq / .faq-grid / .faq-item / .faq-q / .faq-a)
════════════════════════════════ */
.eg-faq-grid,
.faq-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  width: 100%;
}

.eg-faq-item,
.faq-item {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 2rem;
  transition: border-color .3s;
}

.eg-faq-item:hover,
.faq-item:hover { border-color: rgba(200,255,0,.15); }

.eg-faq-item__q,
.faq-q {
  font-size: .97rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: .85rem;
  line-height: 1.4;
}

.eg-faq-item__a,
.faq-a { font-size: .85rem; color: var(--muted); line-height: 1.75; }

/* ════════════════════════════════
   BREADCRUMBS (Yoast compatible)
════════════════════════════════ */
.eg-breadcrumbs {
  display: flex; align-items: center; gap: .5rem;
  font-size: .72rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 2rem;
}
.eg-breadcrumbs a { color: var(--muted); transition: color .2s; }
.eg-breadcrumbs a:hover { color: var(--lime); }
.eg-breadcrumbs .breadcrumb_last { color: var(--mid); }
.eg-breadcrumbs > span > span > a::after,
.eg-breadcrumbs > span > span::after {
  content: '/'; margin: 0 .5rem; opacity: .4;
}

/* ════════════════════════════════
   SINGLE SERVICE PAGE
════════════════════════════════ */
.single-service__intro {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 6rem; align-items: center;
}
.single-service__card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-xl); padding: 3rem;
  position: relative; overflow: hidden;
}
.single-service__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.single-service__card-title {
  font-family: var(--font-display); font-size: 1.6rem; letter-spacing: .03em; margin-bottom: .5rem;
}
.single-service__card-sub {
  font-size: .78rem; color: var(--lime); font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em; margin-bottom: 1.5rem;
}
.single-service__pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.eg-pill {
  background: var(--bg3); border: 1px solid var(--line);
  border-radius: 6px; padding: .3rem .85rem;
  font-size: .7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--mid);
}

/* Sub-types grid */
.service-subtypes-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem;
}
.service-subtype {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 2.5rem;
  position: relative; overflow: hidden;
  transition: transform .3s, border-color .35s;
}
.service-subtype::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0); transform-origin: left; transition: transform .4s;
}
.service-subtype:hover { transform: translateY(-5px); border-color: rgba(200,255,0,.2); }
.service-subtype:hover::after { transform: scaleX(1); }
.service-subtype__icon { font-size: 2rem; margin-bottom: 1.25rem; display: block; }
.service-subtype__title {
  font-family: var(--font-display); font-size: 1.5rem; letter-spacing: .03em; margin-bottom: .6rem;
}
.service-subtype__text { font-size: .88rem; color: var(--muted); line-height: 1.75; margin-bottom: 1.5rem; }
.service-subtype__list { display: flex; flex-direction: column; gap: .55rem; }
.service-subtype__list li {
  display: flex; align-items: flex-start; gap: .6rem;
  font-size: .8rem; color: var(--mid); line-height: 1.5;
}
.service-subtype__list li::before { content: '→'; color: var(--lime); font-weight: 700; flex-shrink: 0; }

/* ════════════════════════════════
   SUBTYPES — Elementor (Icon Box + custom classes)
   Matches Resources/new-php/styles.css .subtypes / .subtype-card
════════════════════════════════ */

.elementor-element.e-con.subtypes {
  padding: 2rem 4rem !important;
  border-bottom: 1px solid var(--line);
}

.elementor-element.e-con.subtypes-header {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: end;
  margin-bottom: 5rem;
  width: 100% !important;
}

.elementor-element.e-con.subtypes-header-right .elementor-widget-text-editor .elementor-widget-container p,
.elementor-element.subtypes-header-right .elementor-widget-text-editor .elementor-widget-container p {
  font-size: .95rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.8;
}

/*
 * Card row layout (reference: .subtypes-grid in web-design.php):
 * — Add CSS class subtypes-grid on the Elementor container that wraps the icon boxes, or
 * — Use a .subtypes parent whose direct children are column containers, each with a .subtype-card widget.
 */
.elementor-element.e-con.subtypes-grid,
.elementor-element.e-con.subtypes.e-parent:has(> .e-con .subtype-card.elementor-widget-icon-box) {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  width: 100% !important;
}

/* Icon Box widget with Advanced → CSS Classes: subtype-card */
.elementor-widget-icon-box.subtype-card {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  transition: transform .3s, border-color .3s;
  height: 100%;
  cursor: none;
}

.elementor-widget-icon-box.subtype-card .elementor-widget-container {
  width: 100%;
  max-width: 100%;
}

.elementor-widget-icon-box.subtype-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}

.elementor-widget-icon-box.subtype-card:hover {
  transform: translateY(-5px);
  border-color: rgba(200, 255, 0, .2);
}

.elementor-widget-icon-box.subtype-card:hover::after {
  transform: scaleX(1);
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0;
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-icon {
  margin: 0 0 1.25rem;
  line-height: 1;
}

/*
 * Icon colour — Elementor outputs high-specificity rules on .elementor-element-XXXX
 * for .elementor-view-default/.framed (fill + color on .elementor-icon). Match with
 * .elementor-element + path fill so SVG icons (e.g. e-fab-wordpress-simple) use lime.
 */
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon {
  font-size: 2rem;
  line-height: 1;
  color: #c8ff00 !important;
  fill: #c8ff00 !important;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}

.elementor-element.elementor-widget-icon-box.subtype-card.elementor-view-default .elementor-icon,
.elementor-element.elementor-widget-icon-box.subtype-card.elementor-view-framed .elementor-icon {
  color: #c8ff00 !important;
  fill: #c8ff00 !important;
  border-color: #c8ff00 !important;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-icon svg,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon .e-font-icon-svg {
  width: 2rem;
  height: 2rem;
  display: block;
  flex-shrink: 0;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-icon svg,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-icon svg path,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon svg path {
  fill: #c8ff00 !important;
}

.elementor-element.elementor-widget-icon-box.subtype-card:hover .elementor-icon,
.elementor-element.elementor-widget-icon-box.subtype-card:focus-within .elementor-icon {
  color: #c8ff00 !important;
  fill: #c8ff00 !important;
}

.elementor-element.elementor-widget-icon-box.subtype-card:hover .elementor-icon svg path,
.elementor-element.elementor-widget-icon-box.subtype-card:focus-within .elementor-icon svg path {
  fill: #c8ff00 !important;
}

/* Subtype card title — Icon Box h3 (plain text, span, or linked) */
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title span,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title a {
  font-family: var(--font-display) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
  line-height: 1 !important;
  color: #fff !important;
  margin: 0 !important;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title a {
  text-decoration: none !important;
  display: inline;
  transition: color .2s, opacity .2s;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title a:hover,
.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title a:focus-visible {
  color: #fff !important;
  opacity: .92;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title {
  margin: 0 0 .6rem !important;
}

.elementor-element.elementor-widget-icon-box.subtype-card .elementor-icon-box-title span {
  display: inline;
}

/*
 * Emoji icons — match Resources/new-php/web-design.php .subtype-icon
 * Add one class next to subtype-card on each Icon Box (Advanced → CSS Classes), e.g. "subtype-card subtype-wp"
 */
.elementor-widget-icon-box.subtype-card.subtype-wp .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-box.subtype-card.subtype-custom .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-box.subtype-card.subtype-responsive .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-box.subtype-card.subtype-redesign .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-box.subtype-card.subtype-landing .elementor-icon-box-icon .elementor-icon,
.elementor-widget-icon-box.subtype-card.subtype-smallbiz .elementor-icon-box-icon .elementor-icon {
  display: none !important;
}

.elementor-widget-icon-box.subtype-card.subtype-wp .elementor-icon-box-icon::before,
.elementor-widget-icon-box.subtype-card.subtype-custom .elementor-icon-box-icon::before,
.elementor-widget-icon-box.subtype-card.subtype-responsive .elementor-icon-box-icon::before,
.elementor-widget-icon-box.subtype-card.subtype-redesign .elementor-icon-box-icon::before,
.elementor-widget-icon-box.subtype-card.subtype-landing .elementor-icon-box-icon::before,
.elementor-widget-icon-box.subtype-card.subtype-smallbiz .elementor-icon-box-icon::before {
  display: block;
  font-size: 2rem;
  line-height: 1;
}

.elementor-widget-icon-box.subtype-card.subtype-wp .elementor-icon-box-icon::before { content: '⚡'; }
.elementor-widget-icon-box.subtype-card.subtype-custom .elementor-icon-box-icon::before { content: '🎨'; }
.elementor-widget-icon-box.subtype-card.subtype-responsive .elementor-icon-box-icon::before { content: '📱'; }
.elementor-widget-icon-box.subtype-card.subtype-redesign .elementor-icon-box-icon::before { content: '🔄'; }
.elementor-widget-icon-box.subtype-card.subtype-landing .elementor-icon-box-icon::before { content: '🎯'; }
.elementor-widget-icon-box.subtype-card.subtype-smallbiz .elementor-icon-box-icon::before { content: '🏢'; }

.elementor-widget-icon-box.subtype-card .elementor-icon-box-content {
  width: 100%;
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-description {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-description > p:first-of-type {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 1.5rem;
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-description > p:empty {
  display: none;
  margin: 0;
}

.elementor-widget-icon-box.subtype-card .elementor-icon-box-description ul.subtype-list,
.elementor-widget-icon-box.subtype-card ul.subtype-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}

.elementor-widget-icon-box.subtype-card ul.subtype-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .8rem;
  color: var(--mid);
  line-height: 1.5;
}

.elementor-widget-icon-box.subtype-card ul.subtype-list li::before {
  content: '→';
  color: var(--lime);
  font-weight: 700;
  flex-shrink: 0;
  font-size: .75rem;
}

/* Highlight token — matches Resources/new-php */
.lime { color: var(--lime); }

/* Inclusions — BEM (.eg-*) + PHP aliases (.included*, .incl-*) for Elementor HTML widget or containers */
.elementor-element.e-con.included,
section.included {
  padding: 7rem 4rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
}

.included-header {
  max-width: 700px;
  margin-bottom: 4rem;
}

.included-header p {
  font-size: .97rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.8;
  margin-top: 1.25rem;
}

.included-header h2,
.included-header .sec-title {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: .01em;
  color: var(--white);
}

.eg-inclusions-grid,
.included-grid {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 1px; background: var(--line);
  border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
}

.eg-inclusion,
.incl-item {
  background: var(--bg2); padding: 2rem 1.75rem;
  transition: background .2s;
}

.eg-inclusion:hover,
.incl-item:hover { background: var(--bg3); }

.eg-inclusion__num,
.incl-num {
  font-family: var(--font-display); font-size: 2.5rem; line-height: 1;
  color: rgba(200,255,0,.15); margin-bottom: .75rem; letter-spacing: .02em;
}

.eg-inclusion__title,
.eg-inclusion h4,
.incl-item h4 {
  font-size: .9rem; font-weight: 700; color: var(--white); margin-bottom: .4rem;
}

.eg-inclusion__text,
.eg-inclusion p,
.incl-item p {
  font-size: .78rem; color: var(--muted); line-height: 1.65;
}

/* ════════════════════════════════
   SINGLE PROJECT PAGE
════════════════════════════════ */
.project-hero-thumb {
  width: 100%; border-radius: var(--radius-lg);
  overflow: hidden; margin-bottom: 3rem;
  border: 1px solid var(--line);
  aspect-ratio: 16/8;
  background: var(--bg2);
}
.project-hero-thumb img { width: 100%; height: 100%; object-fit: cover; }

.project-meta-bar {
  display: flex; flex-wrap: wrap; gap: 2rem;
  padding: 2rem; background: var(--bg2);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  margin-bottom: 3rem;
}
.project-meta-item__label {
  font-size: .62rem; text-transform: uppercase; letter-spacing: .15em;
  color: var(--muted); margin-bottom: .35rem;
}
.project-meta-item__value { font-size: .9rem; font-weight: 600; color: var(--white); }

.project-result-strip {
  background: linear-gradient(135deg, rgba(200,255,0,.06), rgba(37,99,235,.06));
  border: 1px solid rgba(200,255,0,.18);
  border-radius: var(--radius-lg); padding: 2.5rem;
  margin-bottom: 3rem; text-align: center;
}
.project-result-strip__num {
  font-family: var(--font-display); font-size: 5rem; line-height: 1;
  color: var(--lime); letter-spacing: .02em; margin-bottom: .5rem;
}
.project-result-strip__label { font-size: .88rem; color: var(--mid); }

.project-body-grid {
  display: grid; grid-template-columns: 2fr 1fr; gap: 4rem; align-items: start;
}
.project-body h2 {
  font-family: var(--font-display); font-size: 1.8rem; letter-spacing: .02em;
  margin-bottom: 1rem; margin-top: 2.5rem;
}
.project-body h2:first-child { margin-top: 0; }
.project-body p { font-size: .92rem; color: var(--mid); line-height: 1.8; margin-bottom: 1rem; }

/* Case body — Elementor project detail content area */
.case-body h2 {
  font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1; margin-bottom: 1.25rem; color: var(--white) !important;
}
.case-body p { font-size: .975rem; color: var(--mid); line-height: 1.85; margin-bottom: 1.25rem; }
.case-body h3 {
  font-size: 1.1rem; text-transform: uppercase; letter-spacing: .12em;
  color: var(--lime); margin: 2rem 0 .75rem;
}
.case-body ul { list-style: none; padding: 0; }
.case-body ul li {
  font-size: .95rem; color: var(--mid); line-height: 1.7;
  padding: .3rem 0 .3rem 1.25rem; position: relative;
}
.case-body ul li::before {
  content: '→'; position: absolute; left: 0;
  color: var(--lime); font-size: .75rem;
}
.case-body div.elementor-widget-text-editor {
  color: var(--mid) !important;
}

.project-sidebar-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 2rem;
  position: sticky; top: calc(var(--nav-height) + 2rem);
}
.project-sidebar-card h4 {
  font-family: var(--font-display); font-size: 1.2rem; letter-spacing: .03em;
  margin-bottom: 1.25rem;
}

/* Technologies list */
.eg-tech-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.eg-tech {
  background: var(--bg3); border: 1px solid var(--line);
  border-radius: 6px; padding: .3rem .8rem;
  font-size: .72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--mid);
}

/* ════════════════════════════════
   TRUST BAND
════════════════════════════════ */
.eg-trust-band {
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid; grid-template-columns: repeat(4,1fr);
}
.eg-trust-item {
  padding: 2rem 2.5rem;
  display: flex; align-items: center; gap: 1rem;
  border-right: 1px solid var(--line); transition: background .2s;
}
.eg-trust-item:last-child { border-right: none; }
.eg-trust-item:hover { background: var(--bg3); }
.eg-trust-item__icon { font-size: 1.4rem; flex-shrink: 0; }
.eg-trust-item__label { font-size: .82rem; font-weight: 600; color: var(--white); margin-bottom: .15rem; }
.eg-trust-item__sub { font-size: .7rem; color: var(--muted); }

/* ── Trust band — Elementor HTML widget aliases (reference class names) ── */
.trust-band { background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.trust_brand_main .trust-band,
.trust_brand_main { padding: 0 !important; }
.trust-item { padding:2rem 2.5rem; display:flex; align-items:center; gap:1rem; border-right:1px solid var(--line); transition:background .2s; }
.trust-item:last-child { border-right:none; }
.trust-item:hover { background:var(--bg3); }
.trust-icon { font-size:1.4rem; flex-shrink:0; }
.trust-label { font-size:.82rem; font-weight:600; color:var(--white); margin-bottom:.15rem; }
.trust-sub { font-size:.7rem; color:var(--muted); }

/* ════════════════════════════════
   INTRO SECTION — Elementor
   Matches reference web-design.php .intro layout
════════════════════════════════ */

/* Section padding & border — Elementor handles the 2-column flex layout */
.intro.e-con {
  padding: 7rem 4rem !important;
  gap: 6rem !important;
  align-items: flex-start !important;
  border-bottom: 1px solid var(--line);
}

/* Eyebrow — from reference web-design.php (.eyebrow on div or Elementor widget) */
.eyebrow,
.eyebrow .elementor-widget-container {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .2em;
  color: var(--lime);
  margin-bottom: 1.25rem;
}
.eyebrow::before,
.eyebrow .elementor-widget-container::before {
  content: ''; display: inline-block;
  width: 24px; height: 2px;
  background: var(--lime); flex-shrink: 0;
}
.eyebrow .elementor-widget-container p { margin: 0; }

/* H2 animated headline (.sec_title) — match reference h2.sec-title */
.sec_title .elementor-headline,
.sec_title .elementor-headline-plain-text,
.sec_title .elementor-headline-dynamic-wrapper,
.sec_title h2 {
  font-family: var(--font-display) !important;
  font-size: var(--heading-h2-size) !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  color: var(--white) !important;
  margin-bottom: 0 !important;
}
/* Highlighted word: lime (Hardest-Working) */
.sec_title .elementor-headline-dynamic-text { color: var(--lime) !important; }



.sec_title .elementor-headline,
.sec_title .elementor-headline-plain-text,
.sec_title .elementor-headline-dynamic-wrapper,
.sec_title h3 {
  font-family: var(--font-display) !important;
  font-size: var(--heading-h3-size) !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  color: var(--white) !important;
  margin-bottom: 0 !important;
}



/* Style the SVG double-underline strokes in lime */
.sec_title .elementor-headline-dynamic-wrapper svg path {
  stroke: var(--lime) !important;
  stroke-width: 3px;
}
/* Align all text parts to same line (fix "Employee" sitting lower) */
.sec_title .elementor-headline-plain-text,
.sec_title .elementor-headline-dynamic-wrapper,
.sec_title .elementor-headline-dynamic-text {
  vertical-align: top !important;
}
/* Put "Employee" on the next line (after highlighted text), like reference */
.sec_title .elementor-headline-dynamic-wrapper + .elementor-headline-plain-text {
  display: block !important;
}

/* Body paragraphs inside intro (text-editor widget that isn't the eyebrow) */
.intro .elementor-widget-text-editor:not(.eyebrow) .elementor-widget-container p {
  font-size: .97rem; font-weight: 300;
  color: var(--mid); line-height: 1.85;
  margin-bottom: 1.25rem;
}
.intro .elementor-widget-text-editor:not(.eyebrow) .elementor-widget-container strong {
  color: var(--white); font-weight: 600;
}

/* Primary CTA button (.call-btn class on the widget wrapper) */
.call-btn .elementor-button {
  display: inline-flex !important; align-items: center; gap: .6rem;
  background: var(--lime) !important;
  color: #080c14 !important;
  font-weight: 700 !important; font-size: .9rem !important;
  padding: .9rem 2rem !important; border-radius: 8px !important;
  border: none !important; cursor: pointer;
  transition: transform .2s, box-shadow .2s;
}
.call-btn .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--lime-glow);
  color: #080c14 !important;
}

/* Intro section: .call-btn + .btn-ghost on one line (match reference layout) */
.elementor-widget-wrap:has(.call-btn):has(.btn-ghost),
.elementor-column:has(.call-btn):has(.btn-ghost) .elementor-widget-wrap {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
  align-items: center;
}

/* HTML buttons (copied from reference: btn-primary, btn-ghost on <a>) */
a.btn-primary {
  display: inline-flex; align-items: center; gap: .6rem;
  background: var(--lime); color: #080c14;
  font-weight: 700; font-size: .9rem;
  padding: .9rem 2rem; border-radius: 8px;
  font-family: var(--font-body);
  transition: transform .2s, box-shadow .2s;
  border: none; text-decoration: none;
}
a.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px var(--lime-glow);
  color: #080c14;
}
a.btn-primary .arr,
a.btn-primary .arrow { display: inline-block; transition: transform .2s; }
a.btn-primary:hover .arr,
a.btn-primary:hover .arrow { transform: translateX(4px); }

a.btn-ghost {
  display: inline-flex; align-items: center; gap: .6rem;
  color: var(--mid); font-size: .9rem; font-weight: 500;
  border: 1px solid var(--line);
  padding: .9rem 2rem; border-radius: 8px;
  transition: border-color .2s, color .2s;
  text-decoration: none;
}
a.btn-ghost:hover { border-color: rgba(255,255,255,.2); color: var(--white); }

/* Buttons on same line — only target the button_row widget, not ancestor containers */
.button_row .elementor-widget-container > div,
.elementor-widget-container:has(.btn-primary):has(.btn-ghost) > div {
  /*display: flex !important; */
  flex-wrap: wrap; gap: 1rem; margin-top: 2rem;
}

/* Ghost button (.btn-ghost class on the widget wrapper) — Elementor */
.btn-ghost .elementor-button {
  display: inline-flex !important; align-items: center; gap: .6rem;
  background: transparent !important;
  color: var(--mid) !important;
  font-size: .9rem !important; font-weight: 500 !important;
  border: 1px solid var(--line) !important;
  padding: .9rem 2rem !important; border-radius: 8px !important;
  transition: border-color .2s, color .2s;
}
.btn-ghost .elementor-button:hover {
  border-color: rgba(255,255,255,.2) !important;
  color: var(--white) !important;
}

/* Intro right column — card & pills */
.intro-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: 20px; padding: 3rem;
  position: relative; overflow: hidden;
}
.intro-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.intro-card-title {
  font-family: var(--font-display); font-size: 1.6rem;
  letter-spacing: .03em; margin-bottom: .5rem;
}
.intro-card-sub {
  font-size: .78rem; color: var(--lime); font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em; margin-bottom: 1.5rem;
}
.intro-card p { font-size: .85rem; color: var(--muted); line-height: 1.75; margin-bottom: 2rem; }
.intro-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.pill {
  background: var(--bg3); border: 1px solid var(--line); border-radius: 6px;
  padding: .3rem .85rem; font-size: .7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--mid);
}

/* Float card (positioned absolute inside intro-visual) */
.intro-visual { position: relative; }
.float-card {
  background: var(--bg3); border: 1px solid var(--line);
  border-radius: 10px; padding: .8rem 1.1rem;
  display: flex; align-items: center; gap: .8rem;
}
.intro-visual .float-card {
  position: absolute; right: -30px; bottom: -25px;
  border-color: rgba(200,255,0,.2); border-radius: 12px;
  padding: 1rem 1.25rem; gap: .85rem;
}
.float-card-icon { font-size: 1.3rem; }
.float-card-label { font-size: .78rem; font-weight: 700; color: var(--white); margin-bottom: .1rem; }
.float-card-sub { font-size: .65rem; color: var(--muted); }

/* ════════════════════════════════
   WORDPRESS BLOCKS RESET
════════════════════════════════ */
.wp-block-paragraph { color: var(--mid); line-height: 1.8; }
.wp-block-heading { font-family: var(--font-display); letter-spacing: .02em; }
.wp-block-image img { border-radius: var(--radius-md); }

/* ════════════════════════════════
   PAGINATION
════════════════════════════════ */
.page-numbers {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: 0;
  margin: 0;
}

.page-numbers li {
  display: flex;
}

a.page-numbers,
span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 .85rem;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--bg2);
  font-family: var(--font-body);
  font-size: .88rem;
  font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}

a.page-numbers:hover {
  border-color: rgba(200,255,0,.3);
  color: var(--white);
  background: var(--bg3);
  transform: translateY(-1px);
}

span.page-numbers.current {
  background: var(--lime);
  border-color: var(--lime);
  color: #080c14;
}

a.next.page-numbers,
a.prev.page-numbers {
  gap: .35rem;
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mid);
  padding: 0 1.15rem;
}

a.next.page-numbers:hover,
a.prev.page-numbers:hover {
  color: var(--lime);
  border-color: rgba(200,255,0,.3);
  background: var(--lime-dim);
}

.dots.page-numbers {
  border: none;
  background: none;
  color: var(--muted);
  min-width: auto;
  padding: 0 .25rem;
  font-size: 1rem;
  letter-spacing: .15em;
}

@media (max-width: 700px) {
  a.page-numbers,
  span.page-numbers {
    min-width: 40px;
    height: 40px;
    font-size: .82rem;
    padding: 0 .65rem;
  }
  a.next.page-numbers,
  a.prev.page-numbers {
    padding: 0 .85rem;
    font-size: .75rem;
  }
}

/* ════════════════════════════════
   FOOTER
════════════════════════════════ */
.eg-footer {
  background: var(--bg); border-top: 1px solid var(--line);
  padding: 5rem 4rem 2rem;
}
.eg-footer__grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 4rem; margin-bottom: 4rem;
}
.eg-footer__brand p {
  font-size: .82rem; color: var(--white) !important; line-height: 1.7;
  max-width: 280px; margin-top: 1.25rem; margin-bottom: 1.5rem;
}
.eg-footer__brand .widget { margin: 0 0 1.25rem; }
.eg-footer__brand .widget:last-child { margin-bottom: 0; }
.eg-footer__brand .widget p {
  font-size: .82rem; color: var(--white) !important; line-height: 1.7;
  max-width: 280px; margin: 0 0 1rem;
}
.eg-footer__brand .widget p:last-child { margin-bottom: 0; }

.eg-footer__brand .footer-brand > a.eg-logo,
.eg-footer__brand .footer-brand > .eg-logo {
  margin-bottom: 1.25rem;
}
.eg-footer__brand .footer-logo-link {
  display: inline-block;
  margin-bottom: 1.25rem;
}
.eg-footer__brand .footer-logo-image {
  display: block;
  height: auto;
  max-height: 38px;
  width: 100%;
}
.eg-footer__contact-item {
  display: flex; align-items: flex-start; gap: .6rem;
  margin-bottom: .6rem; font-size: .8rem; color: var(--muted);
}
.eg-footer__contact-item .ico { color: var(--lime); flex-shrink: 0; }
.eg-footer__col h5 {
  font-weight: 700; text-transform: uppercase;
  letter-spacing: .15em; color: var(--muted); margin-bottom: 1.25rem;
}
.eg-footer__col ul { display: flex; flex-direction: column; gap: .55rem; }
.eg-footer__col ul li a { font-size: .82rem; color: var(--muted); transition: color .2s; }
.eg-footer__col ul li a:hover { color: var(--white); }
.eg-footer__bottom {
  border-top: 1px solid var(--line); padding-top: 2rem;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
}
.eg-footer__bottom p { font-size: .73rem; color: var(--muted); }
.eg-footer__bottom a { color: var(--muted); transition: color .2s; }
.eg-footer__bottom a:hover { color: var(--white); }
.eg-footer__socials { display: flex; gap: .75rem; }
.eg-soc {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; color: var(--muted);
  transition: all .2s; text-decoration: none;
}
.eg-soc:hover { border-color: rgba(200,255,0,.3); color: var(--lime); background: var(--lime-dim); }

/* ════════════════════════════════
   ADMIN BAR FIX
════════════════════════════════ */
.admin-bar .eg-nav { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .eg-nav { top: 46px; } }

/* ════════════════════════════════
   RESPONSIVE
════════════════════════════════ */
@media (max-width: 1200px) {
  .eg-inclusions-grid,
  .included-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 1024px) {
  :root { --section-pad: 5rem 2rem; }
  .eg-nav { padding: 0 2rem; }
  .eg-hero { padding: 0 2rem 4rem; }

  .eg-nav__links {
    display: none;
    gap: 1.5rem;
  }
  .eg-nav__toggle { display: flex; }

  .eg-grid-1-1,
  .single-service__intro { grid-template-columns: 1fr; gap: 3rem; }
  .eg-grid-2-3 { grid-template-columns: 1fr; gap: 3rem; }
  .eg-grid-3 { grid-template-columns: 1fr 1fr; }
  .service-subtypes-grid { grid-template-columns: 1fr 1fr; }
  .elementor-element.e-con.subtypes-grid,
  .elementor-element.e-con.subtypes.e-parent:has(> .e-con .subtype-card.elementor-widget-icon-box) {
    grid-template-columns: 1fr 1fr !important;
  }
  .elementor-element.e-con.subtypes-header {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }
  .eg-inclusions-grid,
  .included-grid { grid-template-columns: repeat(2,1fr); }
  .elementor-element.e-con.included,
  section.included { padding: 5rem 2rem; }
  .eg-trust-band,
  .trust-band { grid-template-columns: 1fr 1fr; }
  .intro.e-con { padding: 5rem 2rem !important; gap: 3rem !important; }
  .elementor-element.e-con.subtypes:not(.intro) { padding: 5rem 2rem !important; }
  .intro-visual .float-card { position: static; margin-top: 1.5rem; }
  .eg-process,
  .process-steps { grid-template-columns: repeat(2, 1fr) !important; }
  .eg-process::before,
  .process-steps::before { display: none; }
  .elementor-element.e-con.process,
  section.process { padding: 5rem 2rem; }
  .elementor-element.e-con.why,
  section.why,
  section.eg-why-section {
    grid-template-columns: 1fr 1fr !important;
    gap: 3.5rem !important;
    padding: 5rem 2rem;
    align-items: start !important;
  }
  .elementor-element.e-con.industries,
  section.industries { padding: 5rem 2rem; }
  /* Tablet: 2 columns (overrides desktop 4-up; Elementor parents can reset grid) */
  .ind-grid,
  .single-service .ind-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .elementor-element.e-con.locations,
  section.locations { padding: 5rem 2rem; }
  .loc-grid { grid-template-columns: 1fr 1fr; }
  .eg-footer__grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .project-body-grid { grid-template-columns: 1fr; }
  .project-sidebar-card { position: static; }
  .eg-faq-grid,
  .faq-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .elementor-element.e-con.faq,
  section.faq { padding: 5rem 2rem; }
  .eg-cta,
  .elementor-element.e-con.cta-section,
  section.cta-section { padding: 5rem 2rem; }
  .project-card--featured { grid-column: span 2; }
}

@media (max-width: 700px) {
  :root { --section-pad: 4rem 1.5rem; }
  .eg-hero { padding: 0 1.5rem 3rem; }
  .eg-title--hero { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .eg-grid-2, .eg-grid-3, .eg-grid-4 { grid-template-columns: 1fr; }
  .service-subtypes-grid { grid-template-columns: 1fr; }
  .elementor-element.e-con.subtypes-grid,
  .elementor-element.e-con.subtypes.e-parent:has(> .e-con .subtype-card.elementor-widget-icon-box) {
    grid-template-columns: 1fr !important;
  }
  .eg-inclusions-grid,
  .included-grid { grid-template-columns: 1fr; }
  .elementor-element.e-con.included,
  section.included { padding: 3rem 1.5rem; }
  .eg-trust-band,
  .trust-band { grid-template-columns: 1fr; }
  .trust-item,
  .eg-trust-item {
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  .trust-item:last-child,
  .eg-trust-item:last-child { border-bottom: none; }
  .eg-trust-item,
  .trust-item { padding: 1.25rem; flex-direction: column; text-align: center; }
  .intro.e-con { padding: 3rem 1.5rem !important; gap: 2rem !important; }
  .elementor-element.e-con.subtypes:not(.intro) { padding: 3rem 1.5rem !important; }
  .eg-footer__grid { grid-template-columns: 1fr; }
  .eg-hero__stats { gap: 1.5rem; }
  .eg-hero__stat { border-right: none; margin-right: 0; }
  .project-card--featured { grid-column: span 1; }
  .eg-process,
  .process-steps { grid-template-columns: 1fr !important; }
  .elementor-element.e-con.process,
  section.process { padding: 3rem 1.5rem; }
  .elementor-element.e-con.why,
  section.why,
  section.eg-why-section {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 3rem 1.25rem !important;
    align-items: stretch !important;
    overflow-x: hidden;
  }
  section.why > div,
  section.eg-why-section > div,
  .eg-why__col {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  section.why div[style*="grid-template-columns"],
  section.eg-why-section div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  .why .why-point {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 1.25rem 0;
  }
  .why .wp-num {
    width: auto;
    font-size: 1.65rem;
    margin-bottom: 0.1rem;
  }
  section.why .why-card,
  section.eg-why-section .why-card {
    padding: 1.5rem 1.15rem;
  }
  section.why .why-card-big,
  section.eg-why-section .why-card-big {
    font-size: clamp(1.85rem, 10vw, 2.75rem);
    margin-bottom: 1rem;
    overflow-wrap: anywhere;
  }
  section.why .why-card-stats,
  section.eg-why-section .why-card-stats {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
  }
  section.why .wc-stat .n,
  section.eg-why-section .wc-stat .n {
    font-size: 1.45rem;
  }
  section.why h2,
  section.eg-why-section h2 {
    margin-bottom: 1.5rem !important;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .elementor-element.e-con.why {
    padding: 3rem 1.25rem !important;
    align-items: stretch !important;
    overflow-x: hidden;
    gap: 2rem !important;
  }
  /* why-card stats: single column on phones even when card sits outside section.why */
  .why-card-stats {
    grid-template-columns: 1fr !important;
  }
  .elementor-element.e-con.why.e-parent {
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
  }
  .elementor-element.e-con.why.e-parent > .e-con,
  .elementor-element.e-con.why.e-parent > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
  .elementor-element.e-con.industries,
  section.industries { padding: 3rem 1.5rem; }
  /* One card per row on phones; tablet (≤1024px) stays 2 columns from rule above */
  .ind-grid,
  .single-service .ind-grid {
    grid-template-columns: 1fr !important;
  }
  /* Inline grid-template-columns: repeat(2,1fr) on wrappers around .service-card (e.g. Elementor HTML) */
  div:has(> .service-card) {
    grid-template-columns: 1fr !important;
  }
  /* Why-us block: inline 2-col grid (copy + stats) → stack on phones */
  .why_us {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  .why_us .project-result-strip > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  .elementor-element.e-con.locations,
  section.locations { padding: 3rem 1.5rem; }
  .loc-grid { grid-template-columns: 1fr; }
  .elementor-element.e-con.faq,
  section.faq { padding: 3rem 1.5rem; }
  .eg-faq-grid,
  .faq-grid { grid-template-columns: 1fr !important; }
  .eg-cta,
  .elementor-element.e-con.cta-section,
  section.cta-section { padding: 3rem 1.5rem; }
  body { cursor: auto; }
  .eg-cursor, .eg-cursor-ring { display: none; }
  .eg-logo .logo-eg { font-size: 1.5rem; }
  .eg-logo .logo-bar { height: 1.15rem; margin: 0 .45rem; }
  .eg-logo .logo-solutions { font-size: .52rem; }
  .eg-logo .logo-tagline { font-size: .4rem; }
}

/* Inline grid blocks (e.g. /packages/ HTML): tablet 2 columns, mobile 1 — overrides inline grid-template-columns */
@media (max-width: 1024px) {
  section[style*="grid-template-columns:1fr 1fr"],
  section[style*="grid-template-columns: 1fr 1fr"] {
    gap: 3rem !important;
  }
  div[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 700px) {
  section[style*="grid-template-columns:1fr 1fr"],
  section[style*="grid-template-columns: 1fr 1fr"],
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  div[style*="repeat(3,1fr)"],
  div[style*="repeat(3, 1fr)"],
  div[style*="repeat(4,1fr)"],
  div[style*="repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
  }
  /* Reference-style sections (packages, etc.) with inline 7rem/4rem padding */
  section[style*="padding:7rem 4rem"] {
    padding: 3rem 1.5rem !important;
  }
}

/* ════════════════════════════════
   NAV — HTML-MATCHING CLASSES
   (nav-links, nav-dropdown, etc.)
════════════════════════════════ */

/* Main nav list — matches HTML .nav-links */
.eg-nav .nav-links {
  list-style: none;
  display: flex; align-items: center; gap: 2.5rem;
}
.eg-nav .nav-links a {
  font-size: .85rem; font-weight: 500; color: var(--muted);
  position: relative; transition: color .2s; text-decoration: none;
}
.eg-nav .nav-links a::after {
  content: ''; position: absolute;
  bottom: -4px; left: 0; right: 100%;
  height: 1px; background: var(--lime);
  transition: right .3s;
}
.eg-nav .nav-links a:hover,
.eg-nav .nav-links a.active,
.eg-nav .nav-links a[aria-current="page"] { color: var(--white); }
.eg-nav .nav-links a:hover::after,
.eg-nav .nav-links a.active::after { right: 0; }

/* CTA button in nav */
.eg-nav .nav-cta,
.eg-nav .nav-links .nav-cta {
  background: var(--lime) !important;
  color: #080c14 !important; font-weight: 700 !important;
  font-size: .8rem !important;
  padding: .6rem 1.4rem; border-radius: 6px;
  transition: background .2s, box-shadow .2s, transform .2s !important;
}
.eg-nav .nav-cta::after { display: none !important; }
.eg-nav .nav-cta:hover {
  background: #d6ff1a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 18px var(--lime-glow) !important;
  color: #080c14 !important;
}

/* Hamburger toggle — .nav-toggle */
.nav-toggle {
  display: none;
  flex-direction: column; justify-content: center;
  gap: 6px; width: 44px; height: 44px;
  padding: 0; border: 1px solid var(--line);
  border-radius: 8px; background: rgba(8,12,20,.6);
  cursor: none; flex-shrink: 0; z-index: 502;
  transition: border-color .2s, background .2s;
}
.nav-toggle:hover { border-color: rgba(255,255,255,.15); background: var(--bg3); }
.nav-toggle-bar {
  display: block; width: 20px; height: 2px;
  margin: 0 auto; background: var(--white);
  border-radius: 1px;
  transition: transform .3s ease, opacity .2s;
  transform-origin: center;
}
.eg-nav.nav-open .nav-toggle-bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.eg-nav.nav-open .nav-toggle-bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.eg-nav.nav-open .nav-toggle-bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Mobile backdrop */
.nav-backdrop {
  display: none;
  position: fixed; inset: 0; top: var(--nav-height);
  background: rgba(0,0,0,.55); z-index: 498;
}

/* Dropdown — .nav-dropdown */
.nav-dropdown { position: relative; }
.nav-dropdown-details { display: block; }
.nav-dropdown-details summary { list-style: none; }
.nav-dropdown-details summary::-webkit-details-marker { display: none; }

.nav-linklike {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .85rem; font-weight: 500;
  color: var(--muted); position: relative;
  cursor: pointer; transition: color .2s;
  padding: 0;
}
.nav-linklike::before {
  content: '▾'; font-size: .62rem; color: var(--muted);
  transition: transform .2s ease, color .2s ease;
  transform: translateY(-1px);
}
.nav-dropdown-details[open] .nav-linklike::before { transform: translateY(-1px) rotate(180deg); }
.nav-linklike.active,
.nav-linklike:hover { color: var(--white); }
.nav-linklike.active::before,
.nav-linklike:hover::before { color: var(--white); }
.nav-linklike::after {
  content: ''; position: absolute;
  bottom: -4px; left: 0; right: 100%;
  height: 1px; background: var(--lime);
  transition: right .3s;
}
.nav-linklike:hover::after,
.nav-linklike.active::after { right: 0; }

.nav-submenu {
  display: none; position: absolute;
  top: calc(100% + 14px); left: 0; min-width: 360px;
  padding: .6rem; background: rgba(8,12,20,.98);
  border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 18px 60px rgba(0,0,0,.55); z-index: 650;
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown-details[open] .nav-submenu { display: block; }
.nav-submenu a {
  display: block; padding: .78rem .85rem;
  border-radius: 10px; color: var(--mid);
  font-size: .9rem; font-weight: 500;
  transition: background .2s, color .2s;
}
.nav-submenu a::after { display: none !important; }
.nav-submenu a:hover { background: rgba(200,255,0,.08); color: var(--white); }

/* Mobile nav open state */
@media (max-width: 1024px) {
  .nav-toggle { display: flex; }

  .eg-nav .nav-links {
    display: none;
    flex-direction: column; align-items: flex-start;
    position: fixed; top: var(--nav-height); left: 0; right: 0;
    background: rgba(8,12,20,.98); padding: 2rem 2rem 3rem;
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(20px); gap: 1.5rem; z-index: 500;
  }
  .eg-nav.nav-open .nav-links { display: flex; }
  .nav-backdrop { display: block; opacity: 0; transition: opacity .3s; pointer-events: none; }
  body.nav-menu-open .nav-backdrop { opacity: 1; pointer-events: auto; }

  .nav-submenu {
    position: static; background: transparent;
    border: none; box-shadow: none;
    padding: .5rem 0 0 1rem; min-width: auto;
    border-radius: 0;
  }
  .nav-dropdown:hover .nav-submenu { display: none; }
  .nav-dropdown-details[open] .nav-submenu { display: block; }
  .nav-submenu a { font-size: .82rem; padding: .5rem .6rem; }
}

/* ════════════════════════════════
   FOOTER — HTML-MATCHING CLASSES
════════════════════════════════ */
.eg-footer .footer-col h5,
.footer-col h5 {
  font-weight: 700;
  text-transform: uppercase; letter-spacing: .15em;
  color: var(--muted); margin-bottom: 1.25rem;
}
.eg-footer .footer-col ul,
.footer-col ul { display: flex; flex-direction: column; gap: .55rem; list-style: none; }
.eg-footer .footer-col ul li a,
.footer-col ul li a { font-size: .82rem; color: var(--white); transition: color .2s; text-decoration: none; }
.eg-footer .footer-col ul li a:hover,
.footer-col ul li a:hover { color: var(--muted); }

/* Widget output inside footer cols */
.footer-col .widget { margin: 0; }
.footer-col .widget ul { display: flex; flex-direction: column; gap: .55rem; list-style: none; padding: 0; margin: 0; }
.footer-col .widget ul li a { font-size: .82rem; color: var(--white) !important; transition: color .2s; text-decoration: none; }
.footer-col .widget ul li a:hover { color: var(--muted) !important; }
.footer-col .widget_nav_menu .menu { display: flex; flex-direction: column; gap: .55rem; list-style: none; padding: 0; margin: 0; }
.footer-col .widget_nav_menu .menu a { font-size: .82rem; color: var(--muted); transition: color .2s; text-decoration: none; }
.footer-col .widget_nav_menu .menu a:hover { color: var(--muted) !important; }
.footer-col .widget_text p { font-size: .82rem; color: var(--white); line-height: 1.7; }

/* Footer contact items */
.footer-contact-item,
.eg-footer__contact-item {
  display: flex; align-items: flex-start; gap: .6rem;
  margin-bottom: .6rem; font-size: .8rem; color: var(--white) !important;
}
.footer-contact-item .icon,
.footer-contact-item .ico,
.eg-footer__contact-item .ico { color: var(--lime); flex-shrink: 0; }
.footer-contact-item a,
.eg-footer__contact-item a { color: var(--white); transition: color .2s; text-decoration: none; }
.footer-contact-item a:hover,
.eg-footer__contact-item a:hover { color: var(--muted); }

/* Footer bottom bar */
.footer-bottom,
.eg-footer__bottom {
  border-top: 1px solid var(--line); padding-top: 2rem;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
}
.footer-bottom p,
.eg-footer__bottom p { font-size: .73rem; color: var(--muted); }
.footer-bottom a,
.eg-footer__bottom a { color: var(--muted); transition: color .2s; text-decoration: none; }
.footer-bottom a:hover,
.eg-footer__bottom a:hover { color: var(--white); }

.footer-bottom__col--main { flex: 1; min-width: min(100%, 240px); }
.footer-bottom__col--main .widget { margin: 0; }
.footer-bottom__col--main p { font-size: .73rem; color: var(--muted); margin: 0; }
/* Ensure a visible copyright marker even if widget text missed it */
.footer-bottom__col--main p::before {
  content: '© ';
  color: inherit;
}

.footer-bottom__col--socials {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}
.footer-bottom__col--socials .widget { margin: 0; }

/* Social links */
.footer-socials,
.eg-footer__socials { display: flex; gap: .75rem; }
.social-link,
.eg-soc {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-size: .72rem; color: var(--muted);
  transition: all .2s; text-decoration: none;
}
.social-link:hover,
.eg-soc:hover { border-color: rgba(200,255,0,.3); color: var(--lime); background: var(--lime-dim); }

/* WordPress Social Icons block inside Footer — Bottom Right */
.footer-bottom__col--socials .wp-block-social-links {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0;
}
.footer-bottom__col--socials .wp-social-link {
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.footer-bottom__col--socials .wp-social-link .wp-block-social-link-anchor {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  text-decoration: none;
}
.footer-bottom__col--socials .wp-social-link .wp-block-social-link-anchor svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.footer-bottom__col--socials .wp-social-link .wp-block-social-link-label {
  display: none;
}
.footer-bottom__col--socials .wp-social-link .wp-block-social-link-anchor:hover {
  border-color: rgba(200,255,0,.3);
  color: var(--lime);
  background: var(--lime-dim);
}

/* ════════════════════════════════
   HOMEPAGE HERO (front-page.php)
════════════════════════════════ */
.fp-hero {
  min-height: 100vh;
  display: grid; grid-template-rows: 1fr auto;
  padding: 0 4rem;
  position: relative; overflow: hidden;
}
.fp-hero__grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 40%, transparent 100%);
}
.fp-hero__particles {
  position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1;
}
.fp-hero__orb {
  position: absolute; width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(37,99,235,.18) 0%, transparent 70%);
  top: -100px; right: -150px; pointer-events: none;
  animation: fp-orb 8s ease-in-out infinite;
}
.fp-hero__orb2 {
  position: absolute; width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(200,255,0,.07) 0%, transparent 70%);
  bottom: 100px; left: -100px; pointer-events: none;
  animation: fp-orb 10s ease-in-out infinite reverse;
}
@keyframes fp-orb { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-30px) scale(1.05)} }

.fp-hero__content {
  display: flex; flex-direction: column; justify-content: center;
  padding-top: 140px; padding-bottom: 3rem;
  position: relative; z-index: 2; max-width: 900px;
}
.fp-hero__tag { margin-bottom: 2rem; }
.fp-tag {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--lime-dim);
  border: 1px solid rgba(200,255,0,.22);
  color: var(--lime);
  font-size: .7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em;
  padding: .3rem .85rem; border-radius: 100px;
}
.fp-tag::before { content: '●'; font-size: .5rem; animation: pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.3} }

.fp-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(4rem, 9vw, 9rem);
  line-height: .95; letter-spacing: .01em;
  margin-bottom: 2rem;
}
.fp-outline {
  -webkit-text-stroke: 1.5px rgba(240,244,255,.3);
  color: transparent;
}

/* Word cycler */
.fp-word-cycle { color: var(--lime); display: inline-block; }
.fp-word-cycle.wc-out { animation: wcOut .35s ease forwards; }
.fp-word-cycle.wc-in  { animation: wcIn  .5s ease forwards; }
@keyframes wcOut { 0%{opacity:1;transform:translateY(0)} 100%{opacity:0;transform:translateY(-20px)} }
@keyframes wcIn  { 0%{opacity:0;transform:translateY(20px)} 100%{opacity:1;transform:translateY(0)} }

.fp-hero__accent-line {
  width: 60px; height: 3px; margin-bottom: 2rem;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  border-radius: 2px;
}
.fp-hero__sub {
  font-size: 1.1rem; color: var(--mid); max-width: 520px;
  line-height: 1.75; margin-bottom: 3rem; font-weight: 300;
}
.fp-hero__actions { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.fp-btn-wrap { position: relative; display: inline-block; }
.fp-btn-wrap::after {
  content: ''; position: absolute;
  inset: -6px; border-radius: 14px;
  border: 1px solid rgba(200,255,0,.15);
  animation: ctaRing 2.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ctaRing { 0%,100%{opacity:.5;transform:scale(1)} 50%{opacity:1;transform:scale(1.04)} }

.fp-hero__trust {
  display: flex; align-items: center; gap: 1.25rem;
  flex-wrap: wrap; margin-top: 3rem;
  padding-top: 2rem; border-top: 1px solid var(--line);
}
.fp-trust-label { font-size: .75rem; color: var(--muted); font-weight: 500; }
.fp-trust-avatars { display: flex; gap: .4rem; }
.fp-trust-avatars span {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--bg3); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-size: .62rem; font-weight: 700; color: var(--lime);
}
.fp-trust-rating { font-size: .78rem; color: var(--lime); font-weight: 600; }

.fp-scroll-hint {
  position: absolute; right: 4rem; bottom: 3rem;
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  z-index: 2; opacity: .4;
}
.fp-scroll-hint span { font-size: .65rem; text-transform: uppercase; letter-spacing: .15em; writing-mode: vertical-rl; }
.fp-scroll-line {
  width: 1px; height: 48px;
  background: var(--muted); position: relative; overflow: hidden;
}
.fp-scroll-line::after {
  content: ''; position: absolute;
  top: -100%; left: 0; right: 0; bottom: 0;
  background: var(--lime);
  animation: fp-scroll 1.8s ease-in-out infinite;
}
@keyframes fp-scroll { 0%{top:-100%} 100%{top:100%} }

/* ── Hero floating badges ── */
.hero-badges {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
}
.hbadge {
  position: absolute;
  display: flex; align-items: center; gap: .85rem;
  background: rgba(13,18,32,.82);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: .9rem 1.2rem;
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 40px rgba(0,0,0,.55);
  min-width: 180px;
  animation: badgeFloat 4s ease-in-out infinite;
}
.hb1 { top: 22%; right: 6%;  animation-delay: 0s; }
.hb2 { top: 38%; right: 18%; animation-delay: .8s; }

/* Hero case-study carousel (replaces static “traffic growth” placeholder) */
.hb-case-carousel {
  flex-direction: column;
  align-items: stretch;
  gap: .5rem;
  pointer-events: auto;
  min-width: 200px;
}
.hb-case-carousel__track {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.25rem;
}
.hb-case-carousel__slide {
  display: none;
  align-items: center;
  gap: .85rem;
  width: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  outline: none;
  transition: opacity .35s ease;
}
.hb-case-carousel__slide.is-active {
  display: flex;
}
.hb-case-carousel__slide:focus-visible {
  box-shadow: 0 0 0 2px var(--lime);
}
.hb-case-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: -0.15rem;
}
.hb-case-carousel__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  transition: background .25s ease, transform .25s ease;
}
.hb-case-carousel__dot.is-active {
  background: var(--lime);
  transform: scale(1.15);
}
.hb3 { top: 55%; right: 8%;  animation-delay: 1.6s; }
.hb4 { bottom: 22%; right: 22%; animation-delay: .4s; }
.hb5 { bottom: 12%; right: 6%;  animation-delay: 1.2s; }
@keyframes badgeFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

.hb-icon {
  width: 36px; height: 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-weight: 800;
}
.hb-metric {
  font-family: var(--font-display);
  font-size: 1.6rem; color: var(--lime);
  line-height: 1; letter-spacing: .02em;
}
.hb-stars { color: #facc15; font-size: .75rem; letter-spacing: .1em; margin-bottom: .15rem; }
.hb-title { font-size: .78rem; font-weight: 700; color: var(--white); line-height: 1.2; }
.hb-sub   { font-size: .65rem; color: var(--muted); margin-top: .18rem; }
.hb-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #22c55e; flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(34,197,94,.25);
  animation: dotPulse 2s ease-in-out infinite;
}
@keyframes dotPulse { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.25)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,.1)} }

/* ════════════════════════════════
   TICKER BAND
════════════════════════════════ */
.ticker-wrap {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg2);
  overflow: hidden; padding: .9rem 0;
}
.ticker-track {
  display: flex; width: max-content;
  animation: ticker 25s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item {
  display: flex; align-items: center; gap: 1.5rem;
  padding: 0 3rem;
  font-size: .78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--muted); white-space: nowrap;
}
.ticker-item .dot { width: 5px; height: 5px; background: var(--lime); border-radius: 50%; flex-shrink: 0; }

/* ════════════════════════════════
   HOME EXPLORE
════════════════════════════════ */
.home-explore {
  padding: 6rem 4rem;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}
.home-explore-header { max-width: 640px; margin-bottom: 3rem; }
.home-explore-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem;
}
.home-explore-card {
  display: flex; flex-direction: column;
  padding: 2rem 1.75rem;
  border: 1px solid var(--line);
  border-radius: 14px; background: var(--bg);
  transition: border-color .25s, background .25s, transform .25s;
  cursor: none;
}
.home-explore-card:hover {
  border-color: rgba(200,255,0,.25);
  background: var(--bg2);
  transform: translateY(-3px);
}
.home-explore-icon { font-size: 1.5rem; margin-bottom: 1rem; opacity: .9; }
.home-explore-card h3 {
  font-family: var(--font-display);
  font-size: 1.65rem; letter-spacing: .04em;
  margin-bottom: .75rem; line-height: 1.1;
}
.home-explore-card p {
  font-size: .88rem; color: var(--muted);
  line-height: 1.65; flex: 1; margin-bottom: 1.25rem;
}
.home-explore-link { font-size: .82rem; font-weight: 600; color: var(--lime); letter-spacing: .04em; }
.home-explore-card:hover .home-explore-link { text-decoration: underline; text-underline-offset: 4px; }

/* ════════════════════════════════
   SERVICES HIGHLIGHTS (homepage)
════════════════════════════════ */
.services-highlights {
  padding: 8rem 4rem 6rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg2);
}
.services-highlights-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap; margin-bottom: 4rem;
}
.services-highlights-sub {
  color: var(--mid); font-size: 1rem; line-height: 1.8;
  font-weight: 300; max-width: 560px;
}
.services-highlight-subtitle { margin-bottom: 1.25rem; }
.services-highlight-block--grow { margin-top: 4.75rem; }
.services-grid { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.services-grid--build { grid-template-columns: repeat(2,1fr); }
.services-grid--grow  { grid-template-columns: repeat(3,1fr); }
/* Override card border/radius when inside homepage grid */
.services-grid .service-card { border-radius: 0; border: none; background: var(--bg); }
.service-icon { font-size: 1.8rem; margin-bottom: 1.5rem; display: block; }
.service-card h3 { font-family: var(--font-display); font-size: 1.5rem !important; letter-spacing: .03em; margin-bottom: .75rem; line-height: 1.1; }
.service-card p { font-size: .85rem; color: var(--muted); line-height: 1.7; margin-bottom: 1.5rem; }
.service-link {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--lime); transition: gap .2s;
}
.service-card:hover .service-link { gap: .7rem; }
.service-card.highlight { background: var(--lime-dim); border: 1px solid rgba(200,255,0,.18); }
.service-card.highlight::before { transform: scaleX(1); }
.service-new-badge {
  position: absolute; top: 1.5rem; right: 1.5rem;
  background: var(--lime); color: #080c14;
  font-size: .6rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  padding: .2rem .6rem; border-radius: 4px;
}

/* ════════════════════════════════
   CLIENTS GRID
════════════════════════════════ */
.clients { padding: 5rem 4rem; border-bottom: 1px solid var(--line); }
.clients-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 3rem; gap: 1rem; flex-wrap: wrap;
}
.clients-text { font-size: .8rem; color: var(--muted); max-width: 300px; line-height: 1.6; }
.clients-grid { display: flex; flex-wrap: wrap; gap: 0; }
.client-logo {
  flex: 1 1 calc(100% / 7); min-width: 120px;
  padding: 1.5rem 2rem;
  border: 1px solid var(--line); margin: -1px 0 0 -1px;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.client-logo:hover { background: rgba(255,255,255,.02); }
.client-logo img {
  max-height: 48px; max-width: 120px;
  width: auto; height: auto; object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .7; transition: opacity .2s;
}
.client-logo:hover img { opacity: 1; }

/* ════════════════════════════════
   STATS BAND
════════════════════════════════ */
.stats-band {
  padding: 6rem 4rem;
  background: var(--bg2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid; grid-template-columns: repeat(4,1fr);
}
.stat-block {
  padding: 2.5rem; background: var(--bg2);
  position: relative; text-align: center;
}
.stat-block + .stat-block::before {
  content: ''; position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 1px; background: var(--line);
}
.stat-block .big-num {
  font-family: var(--font-display);
  font-size: clamp(3.5rem,5vw,5.5rem);
  line-height: 1; letter-spacing: .02em;
  background: linear-gradient(135deg, var(--white) 30%, var(--lime));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; display: block; margin-bottom: .5rem;
}
.stat-block .stat-label { font-size: .8rem; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; }
.stat-block .stat-sub { font-size: .7rem; color: var(--muted); opacity: .5; margin-top: .25rem; }

/* ════════════════════════════════
   PORTFOLIO (homepage)
════════════════════════════════ */
.portfolio { padding: 8rem 4rem; }
.portfolio-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 4rem; gap: 2rem; flex-wrap: wrap;
}
.portfolio-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  grid-template-rows: auto auto; gap: 1.5rem;
}
.portfolio-item {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: 12px; overflow: hidden;
  cursor: none; position: relative;
  transition: transform .3s, border-color .3s;
  display: block; text-decoration: none; color: inherit;
}
.portfolio-item:hover { transform: translateY(-4px); border-color: rgba(200,255,0,.22); }
.portfolio-item.featured { grid-column: span 2; }
.portfolio-thumb {
  height: 220px; background: var(--bg3);
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.portfolio-item.featured .portfolio-thumb { height: 280px; }
.portfolio-thumb-label {
  font-family: var(--font-display); font-size: 3rem;
  color: rgba(255,255,255,.06); letter-spacing: .05em;
  z-index: 1; text-align: center; padding: 1rem;
}
.portfolio-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,12,20,.9), transparent);
  opacity: 0; transition: opacity .3s;
  display: flex; align-items: flex-end; padding: 1.5rem;
}
.portfolio-item:hover .portfolio-overlay { opacity: 1; }
.portfolio-overlay-btn {
  font-size: .75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--lime); display: flex; align-items: center; gap: .4rem;
}
.portfolio-info { padding: 1.5rem; }
.portfolio-tags { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.ptag {
  font-size: .65rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--muted); background: var(--bg3);
  padding: .2rem .6rem; border-radius: 4px;
  border: 1px solid var(--line);
}
.portfolio-info h4 { font-family: var(--font-display); font-size: 1.3rem; letter-spacing: .03em; margin-bottom: .3rem; }
.portfolio-info p { font-size: .8rem; color: var(--muted); }

/* Case sidebar cards — project detail */
.case-info-card {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); padding: 2rem; margin-bottom: 1.5rem;
}
.case-info-card h4 {
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--muted); margin-bottom: 1.25rem; padding-bottom: .75rem;
  border-bottom: 1px solid var(--line);
}
.case-info-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 1rem; padding: .6rem 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size: .85rem;
}
.case-info-row:last-child { border-bottom: none; }
.case-info-row .k { color: var(--muted); flex-shrink: 0; }
.case-info-row .v { color: var(--white); font-weight: 500; text-align: right; }
.case-info-row .v a { color: var(--lime); transition: opacity .2s; }
.case-info-row .v a:hover { opacity: .7; }
.case-services-list { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }

/* ════════════════════════════════
   TESTIMONIALS SLIDER
════════════════════════════════ */
.testimonials { padding: 8rem 4rem; overflow: hidden; }
.testimonials-header { margin-bottom: 4rem; }
.testimonials-track-wrap { overflow: hidden; }
.testimonials-track {
  display: flex; gap: 1.5rem;
  transition: transform .5s cubic-bezier(.25,.46,.45,.94);
}
.testimonial-card {
  flex: 0 0 calc(33.333% - 1rem);
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: 16px; padding: 2.5rem;
  position: relative; transition: border-color .3s;
}
.testimonial-card:hover { border-color: rgba(200,255,0,.15); }
.testimonial-card::before {
  content: '\201C'; position: absolute; top: 1.5rem; right: 2rem;
  font-family: var(--font-display); font-size: 5rem;
  color: rgba(200,255,0,.08); line-height: 1;
}
.stars { display: flex; gap: .2rem; margin-bottom: 1.25rem; }
.star  { color: var(--lime); font-size: .8rem; }
.testimonial-text {
  font-size: .92rem; color: var(--mid); line-height: 1.75;
  font-weight: 300; margin-bottom: 2rem; font-style: italic;
}
.testimonial-author { display: flex; align-items: center; gap: 1rem; }
.author-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--bg3); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 1rem; color: var(--lime);
  flex-shrink: 0;
}
.author-name { font-size: .85rem; font-weight: 600; color: var(--white); margin-bottom: .1rem; }
.author-role { font-size: .75rem; color: var(--muted); }
.testimonials-nav { display: flex; gap: .75rem; margin-top: 2.5rem; justify-content: flex-end; }
.t-nav-btn {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--bg2); border: 1px solid var(--line);
  color: var(--mid); font-size: 1rem; cursor: none;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, border-color .2s, color .2s;
}
.t-nav-btn:hover { background: var(--lime-dim); border-color: rgba(200,255,0,.3); color: var(--lime); }

/* ════════════════════════════════
   WHY EG
════════════════════════════════ */
.why-eg {
  padding: 8rem 4rem;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 6rem; align-items: center;
}
.why-main-box {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: 20px; padding: 3rem;
  position: relative; overflow: hidden;
}
.why-main-box::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.why-big-text {
  font-family: var(--font-display); font-size: 5rem;
  line-height: .9; letter-spacing: .02em; margin-bottom: 1.5rem;
  background: linear-gradient(135deg, var(--white) 40%, rgba(240,244,255,.2));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.why-floating-cards {
  position: absolute; right: -40px; bottom: -30px;
  display: flex; flex-direction: column; gap: .75rem;
}
.why-float-card {
  background: var(--bg3); border: 1px solid var(--line);
  border-radius: 10px; padding: .9rem 1.2rem;
  display: flex; align-items: center; gap: .75rem;
  white-space: nowrap; backdrop-filter: blur(10px);
  box-shadow: 0 8px 30px rgba(0,0,0,.4);
}
.why-float-icon { font-size: 1.2rem; }
.why-float-text { font-size: .75rem; font-weight: 600; }
.why-float-sub  { font-size: .65rem; color: var(--muted); }
.why-points { list-style: none; display: flex; flex-direction: column; gap: 1.5rem; }
.why-point {
  display: flex; gap: 1.25rem; align-items: flex-start;
  padding-bottom: 1.5rem; border-bottom: 1px solid var(--line);
}
.why-point:last-child { border-bottom: none; padding-bottom: 0; }
.why-point-num {
  font-family: var(--font-display); font-size: 2rem;
  color: rgba(200,255,0,.2); line-height: 1; flex-shrink: 0; width: 2rem;
}
.why-point h4 { font-size: .95rem; font-weight: 600; margin-bottom: .3rem; color: var(--white); }
.why-point p  { font-size: .82rem; color: var(--muted); line-height: 1.65; }

/* ════════════════════════════════
   WHY — service page (web-design.php), Elementor: CSS class "why" on parent container
   Optional: class "eg-why-section"; columns: "eg-why__copy" + "eg-why__aside"
   Left: eyebrow + headline + .why-points; right: .why-card (HTML widgets OK)
════════════════════════════════ */
.elementor-element.e-con.why,
section.why,
section.eg-why-section {
  padding: 7rem 4rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6rem !important;
  align-items: center;
  box-sizing: border-box;
}

.why .why-points {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}

.why .why-point {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--line);
}

.why .why-point:first-child { padding-top: 0; }
.why .why-point:last-child { border-bottom: none; padding-bottom: 0; }

.why .wp-num {
  font-family: var(--font-display);
  font-size: 2.2rem;
  line-height: 1;
  color: rgba(200,255,0,.18);
  flex-shrink: 0;
  width: 2.5rem;
}

.why .wp-content h4 {
  font-family: var(--font-body);
  font-size: .97rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: .4rem;
}

.why .wp-content p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.7;
}

/* Flex child must shrink so long copy wraps (avoids horizontal overflow on narrow screens) */
.why .wp-content {
  min-width: 0;
  flex: 1 1 auto;
}

/* Match source: space under H2 before the list */
.why .elementor-element.sec_title.elementor-widget-animated-headline {
  margin-bottom: 3rem !important;
}

.why-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 3rem;
  position: relative;
  overflow: hidden;
}

.why-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}

.why-card-big {
  font-family: var(--font-display);
  font-size: 4.5rem;
  line-height: .9;
  letter-spacing: .01em;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, var(--white) 40%, rgba(240,244,255,.2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.why-card p {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 1.75rem;
}

.why-card-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.wc-stat {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1rem;
}

.wc-stat .n {
  font-family: var(--font-display);
  font-size: 1.8rem;
  color: var(--lime);
  line-height: 1;
}

.wc-stat .l {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted);
  margin-top: .15rem;
}


@media (max-width: 700px) {
  .elementor-element.e-con.why, section.why, section.eg-why-section
  {
    padding: 3rem 1.25rem !important;
    grid-template-columns: 1fr  !important;
  }
}

/* ════════════════════════════════
   INDUSTRIES — web-design.php, Elementor: CSS class "industries" on section container
════════════════════════════════ */
.elementor-element.e-con.industries,
section.industries {
  padding: 7rem 4rem;
  border-bottom: 1px solid var(--line);
}

.industries-header { margin-bottom: 4rem; }

.ind-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  width: 100%;
}

.ind-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.75rem;
  transition: border-color .3s, transform .3s;
  cursor: none;
}

.ind-card:hover {
  border-color: rgba(200,255,0,.2);
  transform: translateY(-3px);
}

.ind-icon {
  font-size: 1.6rem;
  margin-bottom: .85rem;
  display: block;
  line-height: 1;
}

.ind-card h4 {
  font-family: var(--font-body);
  font-size: .88rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: .3rem;
}

.ind-card p {
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.6;
}

/* ════════════════════════════════
   LOCATIONS — web-design.php, Elementor: CSS class "locations" on section container
════════════════════════════════ */
.elementor-element.e-con.locations,
section.locations {
  padding: 7rem 4rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
}

.locations-header {
  max-width: 700px;
  margin-bottom: 4rem;
}

.locations-header p {
  font-size: .97rem;
  font-weight: 300;
  color: var(--mid);
  line-height: 1.8;
  margin-top: 1.25rem;
}

.loc-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  width: 100%;
}

.loc-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, transform .3s;
  cursor: none;
}

.loc-card:hover {
  border-color: rgba(200,255,0,.2);
  transform: translateY(-3px);
}

.loc-tag {
  display: inline-block;
  background: var(--lime-dim);
  border: 1px solid rgba(200,255,0,.2);
  color: var(--lime);
  font-size: .6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  padding: .2rem .65rem;
  border-radius: 4px;
  margin-bottom: .85rem;
}

.loc-card h3 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  letter-spacing: .04em;
  margin-bottom: .5rem;
  color: var(--white);
  line-height: 1.05;
}

.loc-card p {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

/* SEO suburb fine print (optional class instead of inline styles) */
.loc-seo-box {
  margin-top: 3rem;
  padding: 2rem;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.loc-seo-box p {
  font-size: .75rem;
  color: var(--muted);
  line-height: 1.8;
  text-align: center;
  margin: 0;
}

.loc-seo-box strong {
  color: var(--white);
  display: block;
  margin-bottom: .5rem;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}

/* ════════════════════════════════
   FAQ section shell — web-design.php, Elementor: CSS class "faq" on container
════════════════════════════════ */
.elementor-element.e-con.faq,
section.faq {
  padding: 7rem 4rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
}

.faq-header {
  max-width: 600px;
  margin-bottom: 4rem;
}

/* ════════════════════════════════
   SECTION LABEL (homepage reuse)
════════════════════════════════ */
.section-label {
  font-size: .68rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .2em;
  color: var(--muted);
  display: flex; align-items: center; gap: .75rem;
}
.section-label::after {
  content: ''; display: inline-block;
  width: 32px; height: 1px; background: var(--muted);
}
.section-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem,5vw,5.5rem);
  line-height: 1; letter-spacing: .01em;
}

/* ════════════════════════════════
   RESPONSIVE — HOMEPAGE ADDITIONS
════════════════════════════════ */
@media (max-width: 1024px) {
  .fp-hero { padding: 0 2rem; }
  .fp-hero__content { padding-top: 110px; }
  .hero-badges { display: none; }
  .why-eg { grid-template-columns: 1fr; gap: 3rem; }
  .why-floating-cards { display: none; }
  .stats-band { grid-template-columns: 1fr 1fr; }
  .home-explore-grid { grid-template-columns: 1fr; }
  .services-grid--build { grid-template-columns: 1fr; }
  .services-grid--grow  { grid-template-columns: 1fr 1fr; }
  .clients { padding: 4rem 2rem; }
  .testimonial-card { flex: 0 0 calc(50% - .75rem); }
  .portfolio-grid { grid-template-columns: 1fr 1fr; }
  .portfolio-item.featured { grid-column: span 2; }
}
@media (max-width: 700px) {
  .fp-hero { padding: 0 1.5rem; }
  .fp-hero h1 { font-size: clamp(3rem,12vw,5rem); }
  .stats-band { grid-template-columns: 1fr 1fr; padding: 3rem 1.5rem; }
  .testimonial-card { flex: 0 0 calc(100% - 0rem); }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-item.featured { grid-column: span 1; }
  .why-eg { padding: 5rem 1.5rem; }
  .services-grid--grow { grid-template-columns: 1fr; }
}

/* ════════════════════════════════
   SINGLE SERVICE — match Resources Old/new-php typography
   Bebas Neue (display) + Outfit (body), exact font sizes
════════════════════════════════ */
body.single-service {
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.6;
}

/* Hero (align with contact-hero from reference) */
.single-service .eg-hero__title,
.single-service .eg-title--hero {
  font-family: var(--font-display) !important;
  font-size: clamp(3.5rem, 8vw, 6rem) !important;
  line-height: .95 !important;
  letter-spacing: .01em !important;
}

.single-service .eg-hero__lead,
.single-service .eg-lead {
  font-family: var(--font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 300 !important;
  color: var(--mid) !important;
  line-height: 1.75 !important;
}

.single-service .eg-eyebrow {
  font-family: var(--font-body) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .2em !important;
  color: var(--lime) !important;
}

/* All headings in Elementor content */
.single-service .elementor-heading-title,
.single-service .elementor-widget-heading .elementor-heading-title,
.single-service h1, .single-service h2, .single-service h3, .single-service h4 {
  font-family: var(--font-display) !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
}

/* Section titles (h2) — sec-title scale */
.single-service .elementor-widget-heading h2.elementor-heading-title,
.single-service .elementor-widget-heading-title h2 {
  font-size: var(--heading-h2-size) !important;
}

/* All body text / paragraphs */
.single-service .elementor-widget-text-editor,
.single-service .elementor-widget-text-editor p,
.single-service .elementor-widget-text-editor .elementor-widget-container,
.single-service .elementor-widget-text-editor .elementor-widget-container p,
.single-service .elementor-widget-text-editor .elementor-widget-container div,
.single-service p {
  font-family: var(--font-body) !important;
  font-size: .97rem !important;
  font-weight: 300 !important;
  color: var(--mid) !important;
  line-height: 1.8 !important;
}

.single-service .elementor-widget-text-editor strong,
.single-service .elementor-widget-text-editor b {
  color: var(--white) !important;
  font-weight: 600 !important;
}

/* Inclusion grid cells — override .single-service p / heading globals */
.single-service .incl-item p,
.single-service .eg-inclusion p {
  font-size: .78rem !important;
  line-height: 1.65 !important;
  color: var(--muted) !important;
}

.single-service .incl-item h4,
.single-service .eg-inclusion h4 {
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
}

.single-service .included-header p {
  font-size: .97rem !important;
  line-height: 1.8 !important;
  color: var(--mid) !important;
}

.single-service .proc-step p,
.single-service .eg-step .eg-step__text {
  font-size: .78rem !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
}

.single-service .proc-step h4,
.single-service .eg-step .eg-step__title {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: .05em !important;
  color: var(--white) !important;
  line-height: 1.2 !important;
}

.single-service .why .wp-content p {
  font-size: .83rem !important;
  line-height: 1.7 !important;
  color: var(--muted) !important;
}

.single-service .why .wp-content h4 {
  font-family: var(--font-body) !important;
  font-size: .97rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
}

.single-service .why-card p {
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
}

.single-service .ind-card h4 {
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
}

.single-service .ind-card p {
  font-size: .75rem !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
}

.single-service .locations-header p {
  font-size: .97rem !important;
  line-height: 1.8 !important;
  font-weight: 300 !important;
  color: var(--mid) !important;
}

.single-service .loc-card h3 {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  letter-spacing: .04em !important;
  color: var(--white) !important;
  line-height: 1.05 !important;
}

.single-service .loc-card p {
  font-size: .88rem !important;
  line-height: 1.7 !important;
  color: var(--muted) !important;
}

.single-service .loc-seo-box p {
  font-size: .75rem !important;
  line-height: 1.8 !important;
  color: var(--muted) !important;
}

.single-service .faq-q {
  font-size: .97rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  line-height: 1.4 !important;
}

.single-service .faq-a {
  font-size: .85rem !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
}

.single-service .eg-faq-item__q {
  font-size: .97rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  line-height: 1.4 !important;
}

.single-service .eg-faq-item__a {
  font-size: .85rem !important;
  line-height: 1.75 !important;
  color: var(--muted) !important;
}

.single-service .cta-section h2 {
  font-family: var(--font-display) !important;
  font-size: var(--heading-h2-size) !important;
  line-height: .95 !important;
  letter-spacing: .01em !important;
  color: var(--white) !important;
}

.single-service .cta-section > p {
  font-size: 1.02rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--mid) !important;
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.single-service .cta-phone-row {
  font-size: .82rem !important;
  color: var(--muted) !important;
}

/* Buttons, labels */
.single-service .elementor-button,
.single-service .eg-btn {
  font-family: var(--font-body) !important;
}

/* ── SERVICE HERO: WIDER INNER ── */
.single-service .eg-hero__inner {
  max-width: 1100px !important;
  width: 100%;
}

/* ── SERVICE HERO: LEAD / EXCERPT ──
   Excerpt uses the_excerpt() which wraps in its own <p>,
   so we wrap in <div> not <p> (fixed in template).
   These rules style both the wrapper and the inner <p>.
── */
.single-service .eg-hero__lead {
  margin-top: 2rem !important;
  margin-bottom: 3rem !important;
  max-width: 740px !important;
}
.single-service .eg-hero__lead p {
  font-family: var(--font-body) !important;
  font-size: 1.05rem !important;
  font-weight: 300 !important;
  color: var(--mid) !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ── SERVICE HERO: CTA ACTIONS ── */
.single-service .eg-hero__actions {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 4.5rem !important;
  padding-top: .5rem !important;
}
.single-service .eg-hero__actions .eg-btn--primary {
  font-size: .95rem !important;
  padding: 1rem 2rem !important;
  box-shadow: 0 4px 28px rgba(200,255,0,.18) !important;
  letter-spacing: .01em !important;
  white-space: nowrap;
}
.single-service .eg-hero__actions .eg-btn--primary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 40px rgba(200,255,0,.32) !important;
}
.single-service .eg-hero__actions .eg-btn--ghost {
  font-size: .9rem !important;
  padding: 1rem 1.8rem !important;
  white-space: nowrap;
}
.single-service .eg-hero__actions .eg-btn--ghost:hover {
  border-color: rgba(255,255,255,.22) !important;
  color: var(--white) !important;
}

/* ── SERVICE/LOCATION HERO: STATS BAR (full-width grid) ── */
.single-service .eg-hero__stats,
.single-location .eg-hero__stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border-top: 1px solid var(--line) !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.single-service .eg-hero__stat,
.single-location .eg-hero__stat {
  padding: 2rem 2rem 1.75rem !important;
  margin: 0 !important;
  border-right: 1px solid var(--line) !important;
  border-bottom: none !important;
  transition: background .25s;
}
.single-service .eg-hero__stat:first-child,
.single-location .eg-hero__stat:first-child { padding-left: 0 !important; }
.single-service .eg-hero__stat:last-child,
.single-location .eg-hero__stat:last-child  { border-right: none !important; }
.single-service .eg-hero__stat:hover,
.single-location .eg-hero__stat:hover { background: rgba(200,255,0,.03); }
.single-service .eg-hero__stat-num,
.single-location .eg-hero__stat-num {
  font-family: var(--font-display) !important;
  font-size: 3rem !important;
  line-height: 1 !important;
  color: var(--white) !important;
  letter-spacing: .02em !important;
  margin-bottom: .5rem !important;
}
/* Lime accent on first stat number */
.single-service .eg-hero__stat:first-child .eg-hero__stat-num,
.single-location .eg-hero__stat:first-child .eg-hero__stat-num {
  color: var(--lime) !important;
}
.single-service .eg-hero__stat-label,
.single-location .eg-hero__stat-label {
  font-size: .68rem !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

/* Responsive */
@media (max-width: 1024px) {
  .single-service .eg-hero__stats,
  .single-location .eg-hero__stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .single-service .eg-hero__stat:nth-child(2),
  .single-location .eg-hero__stat:nth-child(2) { border-right: none !important; }
  .single-service .eg-hero__stat:nth-child(3),
  .single-location .eg-hero__stat:nth-child(3) { border-right: 1px solid var(--line) !important; padding-left: 0 !important; }
  .single-service .eg-hero__stat:nth-child(3),
  .single-service .eg-hero__stat:nth-child(4),
  .single-location .eg-hero__stat:nth-child(3),
  .single-location .eg-hero__stat:nth-child(4) { border-top: 1px solid var(--line) !important; }
}
@media (max-width: 640px) {
  .single-service .eg-hero__stats,
  .single-location .eg-hero__stats { grid-template-columns: 1fr 1fr !important; }
  .single-service .eg-hero__stat-num,
  .single-location .eg-hero__stat-num { font-size: 2.2rem !important; }
  .single-service .eg-hero__actions { flex-direction: column; align-items: flex-start; }
  .single-service .eg-hero__actions .eg-btn { width: 100%; justify-content: center; }
}

/* ════════════════════════════════
   PRINT
════════════════════════════════ */
@media print {
  .eg-nav, .eg-cursor, .eg-cursor-ring, .eg-scroll-ind { display: none; }
  body { background: white; color: black; cursor: default; }
}

/* ════════════════════════════════════════════
   CONTACT SECTION & FORM  (Elementor-compatible)
   Layout is handled by Elementor columns.
   These rules apply visual styles only.
════════════════════════════════════════════ */

/* Outer section background */
.contact-section,
.contact-section.e-con,
.contact-section.elementor-section {
  background: var(--bg2) !important;
  border-top: 1px solid var(--line);
}

/* ── Contact Info column ── */
.contact-info h3,
.contact-info .elementor-heading-title {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  letter-spacing: .03em;
  margin-bottom: 1.5rem;
  color: var(--white) !important;
}
.contact-info p,
.contact-info .elementor-widget-container p {
  font-size: .9rem !important;
  color: var(--muted) !important;
  line-height: 1.7 !important;
  margin-bottom: 2rem !important;
}

/* Contact detail rows (used inside HTML widget) */
.contact-details {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: .9rem;
  color: var(--mid);
}
.contact-detail .icon {
  color: var(--lime);
  font-size: 1.1rem;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: rgba(200,255,0,.08);
  border: 1px solid rgba(200,255,0,.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-detail strong { color: var(--white); display: block; margin-bottom: .2rem; }
.contact-detail a { color: var(--mid); transition: color .2s; }
.contact-detail a:hover { color: var(--lime); }

/* ── Elementor Icon List inside contact-info ── */
.contact-info .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
.contact-info .elementor-icon-list-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  font-size: .9rem !important;
  color: var(--mid) !important;
  padding: 0 !important;
  border: none !important;
}
.contact-info .elementor-icon-list-item a {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  color: var(--mid) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.contact-info .elementor-icon-list-item a:hover,
.contact-info .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: var(--lime) !important;
}
.contact-info .elementor-icon-list-icon {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  background: rgba(200,255,0,.08) !important;
  border: 1px solid rgba(200,255,0,.15) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.contact-info .elementor-icon-list-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--lime) !important;
}
.contact-info .elementor-icon-list-text {
  color: var(--mid) !important;
  font-size: .9rem !important;
  line-height: 1.5 !important;
  font-family: var(--font-body) !important;
}

/* ── Form card column ── */
/* Applied to Elementor container/column */
.contact-form-wrap,
.contact-form-wrap.e-con,
.contact-form-wrap > .elementor-widget-wrap,
.contact-form-wrap > .e-con-inner {
  background: var(--bg) !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  position: relative;
  overflow: hidden !important;
  padding: 2.5rem !important;
}
.contact-form-wrap > .e-con-inner {
  padding: 2.5rem !important;
}
/* Lime top bar */
.contact-form-wrap::before,
.contact-form-wrap.e-con::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  z-index: 1;
}

/* ── Form fields ── */
/* Works for CF7, WPForms, Gravity Forms, and plain HTML forms */
.contact-form-wrap .form-group,
.wpcf7-form .form-group,
.contact-form-wrap .wpcf7-form-control-wrap {
  margin-bottom: 1.5rem;
  display: block;
}
.contact-form-wrap label,
.wpcf7-form label,
.contact-form-wrap .form-group label {
  display: block !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  color: var(--muted) !important;
  margin-bottom: .5rem !important;
  font-family: var(--font-body) !important;
}
.contact-form-wrap input[type="text"],
.contact-form-wrap input[type="email"],
.contact-form-wrap input[type="tel"],
.contact-form-wrap input[type="url"],
.contact-form-wrap input[type="number"],
.contact-form-wrap select,
.contact-form-wrap textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  padding: .9rem 1.2rem !important;
  background: var(--bg2) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  color: var(--white) !important;
  font-family: var(--font-body) !important;
  font-size: .95rem !important;
  transition: border-color .2s, box-shadow .2s !important;
  box-sizing: border-box;
}
.contact-form-wrap input:focus,
.contact-form-wrap select:focus,
.contact-form-wrap textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline: none !important;
  border-color: rgba(200,255,0,.4) !important;
  box-shadow: 0 0 0 3px var(--lime-dim) !important;
}
.contact-form-wrap input::placeholder,
.contact-form-wrap textarea::placeholder {
  color: var(--muted);
  opacity: .7;
}
.contact-form-wrap select,
.wpcf7-form select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7a99' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
}
.contact-form-wrap select option { background: var(--bg2); }
.contact-form-wrap textarea,
.wpcf7-form textarea {
  min-height: 140px !important;
  resize: vertical;
}

.select_eg select {
	display: block !important;
	color: #fff !important;
	padding:0px 10px !important;
}

/* Two-column form rows */
.form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem !important;
}

/* Submit button */
.form-submit,
.contact-form-wrap .wpcf7-submit-wrap { margin-top: 2rem; }

.form-submit input[type="submit"],
.form-submit button[type="submit"],
.contact-form-wrap input[type="submit"],
.contact-form-wrap button[type="submit"],
.wpcf7-form input[type="submit"] {
  width: 100% !important;
  display: block !important;
  padding: 1rem 2rem !important;
  background: var(--lime) !important;
  color: #080c14 !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: transform .2s, box-shadow .2s !important;
}
.form-submit input[type="submit"]:hover,
.form-submit button[type="submit"]:hover,
.contact-form-wrap input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px var(--lime-glow) !important;
}
.form-submit button:disabled,
.contact-form-wrap input[type="submit"]:disabled { opacity: .6; cursor: not-allowed !important; }


.form_full_name label {
	display: none !important;
}


/* ── Contact Us page: Elementor 2-column row + brighter form card/fields ──
   Parent container in Elementor should include class `contact-section` on the
   outer section/container that wraps the two columns. ── */
body.page-contact-us .contact-section.elementor-element.e-parent > .e-con-inner,
body.page-contact-us .contact-section.e-con.e-parent > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  width: 100% !important;
}
body.page-contact-us .contact-section.e-parent > .e-con-inner > .e-con,
body.page-contact-us .contact-section.e-parent > .e-con-inner > .elementor-element.e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}
/* Same row layout if outer section has no `contact-section` but columns use theme classes */
body.page-contact-us .elementor-element.e-parent:has(> .e-con-inner > .contact-info):has(> .e-con-inner > .contact-form-wrap) > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  width: 100% !important;
}
body.page-contact-us .elementor-element.e-parent:has(> .e-con-inner > .contact-info):has(> .e-con-inner > .contact-form-wrap) > .e-con-inner > .e-con {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}
/* Elementor legacy section/columns (pre-flex containers) */
body.page-contact-us .contact-section .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
body.page-contact-us .contact-section .elementor-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}
body.page-contact-us .contact-section .elementor-column {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
}
/* Brighter form column on this page only */
body.page-contact-us .contact-form-wrap,
body.page-contact-us .contact-form-wrap.e-con {
  background: rgba(255, 255, 255, 0.055) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}
body.page-contact-us .contact-form-wrap > .e-con-inner {
  background: transparent !important;
}
body.page-contact-us .contact-form-wrap input[type="text"],
body.page-contact-us .contact-form-wrap input[type="email"],
body.page-contact-us .contact-form-wrap input[type="tel"],
body.page-contact-us .contact-form-wrap input[type="url"],
body.page-contact-us .contact-form-wrap input[type="number"],
body.page-contact-us .contact-form-wrap select,
body.page-contact-us .contact-form-wrap textarea,
body.page-contact-us .contact-form-wrap .wpcf7-form input[type="text"],
body.page-contact-us .contact-form-wrap .wpcf7-form input[type="email"],
body.page-contact-us .contact-form-wrap .wpcf7-form input[type="tel"],
body.page-contact-us .contact-form-wrap .wpcf7-form select,
body.page-contact-us .contact-form-wrap .wpcf7-form textarea {
  background: rgba(240, 244, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: var(--white) !important;
}
body.page-contact-us .contact-form-wrap input::placeholder,
body.page-contact-us .contact-form-wrap textarea::placeholder,
body.page-contact-us .contact-form-wrap .wpcf7-form input::placeholder,
body.page-contact-us .contact-form-wrap .wpcf7-form textarea::placeholder {
  color: rgba(176, 190, 220, 0.9) !important;
  opacity: 1 !important;
}
body.page-contact-us .contact-form-wrap select option {
  background: #1c2538 !important;
  color: var(--white) !important;
}
body.page-contact-us .contact-form-wrap .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.page-contact-us .contact-form-wrap .gfield select,
body.page-contact-us .contact-form-wrap .gfield textarea {
  background: rgba(240, 244, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: var(--white) !important;
}
@media (max-width: 900px) {
  body.page-contact-us .contact-section.elementor-element.e-parent > .e-con-inner,
  body.page-contact-us .contact-section.e-con.e-parent > .e-con-inner,
  body.page-contact-us .elementor-element.e-parent:has(> .e-con-inner > .contact-info):has(> .e-con-inner > .contact-form-wrap) > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  body.page-contact-us .contact-section.e-parent > .e-con-inner > .e-con,
  body.page-contact-us .contact-section.e-parent > .e-con-inner > .elementor-element.e-con,
  body.page-contact-us .elementor-element.e-parent:has(> .e-con-inner > .contact-info):has(> .e-con-inner > .contact-form-wrap) > .e-con-inner > .e-con {
    flex: 1 1 auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body.page-contact-us .contact-section .elementor-container,
  body.page-contact-us .contact-section .elementor-row {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  body.page-contact-us .contact-section .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
  }
}

/* ── Contact Us: Gravity Forms Orbital — brighter fields, lime CTA, readable labels ──
   GF prints a <style> block after head CSS; use #gform_wrapper_1 + !important on vars/rules. ── */
body.page-contact-us #gform_wrapper_1[data-form-index="0"].gform_wrapper.gform-theme,
body.page-contact-us #gform_wrapper_1.gform_wrapper.gform-theme {
  --gf-color-primary: #c8ff00 !important;
  --gf-color-primary-rgb: 200, 255, 0 !important;
  --gf-color-primary-contrast: #080c14 !important;
  --gf-color-primary-contrast-rgb: 8, 12, 20 !important;
  --gf-color-primary-darker: #b8ef00 !important;
  --gf-color-primary-lighter: #d4ff4d !important;
  --gf-color-in-ctrl: rgba(240, 244, 255, 0.12) !important;
  --gf-color-in-ctrl-rgb: 240, 244, 255 !important;
  --gf-color-in-ctrl-contrast: #f0f4ff !important;
  --gf-color-in-ctrl-contrast-rgb: 240, 244, 255 !important;
  --gf-color-in-ctrl-darker: rgba(240, 244, 255, 0.08) !important;
  --gf-color-in-ctrl-lighter: rgba(255, 255, 255, 0.16) !important;
  --gf-color-in-ctrl-primary: #c8ff00 !important;
  --gf-color-in-ctrl-primary-rgb: 200, 255, 0 !important;
  --gf-color-in-ctrl-primary-contrast: #080c14 !important;
  --gf-ctrl-border-color: rgba(255, 255, 255, 0.2) !important;
  --gf-ctrl-label-color-primary: #d8e2f5 !important;
  --gf-ctrl-label-color-secondary: #a8b8d8 !important;
  --gf-color-out-ctrl-dark: #a0aec0 !important;
  --gf-color-out-ctrl-light: rgba(255, 255, 255, 0.1) !important;
  --gf-color-out-ctrl-light-lighter: rgba(255, 255, 255, 0.06) !important;
  --gf-radius: 12px !important;
}

body.page-contact-us #gform_wrapper_1 .gform_heading {
  margin-bottom: 1.75rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body.page-contact-us #gform_wrapper_1 .gform_title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
  letter-spacing: .03em !important;
  color: var(--white) !important;
  margin-bottom: .65rem !important;
  line-height: 1.05 !important;
}
body.page-contact-us #gform_wrapper_1 .gform_description {
  font-size: .93rem !important;
  font-weight: 400 !important;
  color: var(--mid) !important;
  line-height: 1.75 !important;
  max-width: 38em !important;
}

body.page-contact-us #gform_wrapper_1 .gfield_label,
body.page-contact-us #gform_wrapper_1 .gform-field-label:not(.gform-field-label--type-inline),
body.page-contact-us #gform_wrapper_1 legend.gfield_label {
  color: #d0daef !important;
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin-bottom: .55rem !important;
}
body.page-contact-us #gform_wrapper_1 .gfield_required,
body.page-contact-us #gform_wrapper_1 .gfield_required .gfield_required_text {
  color: var(--lime) !important;
  opacity: .85 !important;
}

body.page-contact-us #gform_wrapper_1 input[type="text"],
body.page-contact-us #gform_wrapper_1 input[type="email"],
body.page-contact-us #gform_wrapper_1 input[type="tel"],
body.page-contact-us #gform_wrapper_1 input[type="number"],
body.page-contact-us #gform_wrapper_1 input[type="url"],
body.page-contact-us #gform_wrapper_1 select,
body.page-contact-us #gform_wrapper_1 textarea {
  background: rgba(240, 244, 255, 0.13) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 12px !important;
  color: var(--white) !important;
  padding: .88rem 1.15rem !important;
  font-family: var(--font-body) !important;
  font-size: .95rem !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
body.page-contact-us #gform_wrapper_1 input::placeholder,
body.page-contact-us #gform_wrapper_1 textarea::placeholder {
  color: rgba(184, 198, 228, 0.9) !important;
  opacity: 1 !important;
}
body.page-contact-us #gform_wrapper_1 select option {
  background: #1a2338 !important;
  color: var(--white) !important;
}
body.page-contact-us #gform_wrapper_1 .gfield input:focus,
body.page-contact-us #gform_wrapper_1 .gfield select:focus,
body.page-contact-us #gform_wrapper_1 .gfield textarea:focus {
  outline: none !important;
  border-color: rgba(200, 255, 0, 0.45) !important;
  background: rgba(240, 244, 255, 0.16) !important;
  box-shadow: 0 0 0 3px var(--lime-dim), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

/* Checkbox grid — card-like choices */
body.page-contact-us #gform_wrapper_1 .gfield_checkbox {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .55rem !important;
}
@media (max-width: 640px) {
  body.page-contact-us #gform_wrapper_1 .gfield_checkbox {
    grid-template-columns: 1fr !important;
  }
}
body.page-contact-us #gform_wrapper_1 .gfield_checkbox .gchoice {
  display: flex !important;
  align-items: flex-start !important;
  gap: .65rem !important;
  padding: .7rem .95rem !important;
  margin: 0 !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: border-color .2s, background .2s !important;
}
body.page-contact-us #gform_wrapper_1 .gfield_checkbox .gchoice:hover {
  border-color: rgba(200, 255, 0, 0.22) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
body.page-contact-us #gform_wrapper_1 .gfield_checkbox .gchoice label {
  color: #e8edf7 !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.page-contact-us #gform_wrapper_1 .gfield_choice_all_toggle {
  margin-top: .75rem !important;
  color: var(--lime) !important;
  border: 1px solid rgba(200, 255, 0, 0.35) !important;
  background: rgba(200, 255, 0, 0.08) !important;
  border-radius: 8px !important;
  padding: .45rem 1rem !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  cursor: pointer !important;
  transition: background .2s, border-color .2s !important;
}
body.page-contact-us #gform_wrapper_1 .gfield_choice_all_toggle:hover {
  background: rgba(200, 255, 0, 0.14) !important;
  border-color: rgba(200, 255, 0, 0.5) !important;
}

body.page-contact-us #gform_wrapper_1 .gform_footer {
  margin-top: 1.75rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
}
body.page-contact-us #gform_wrapper_1 .gform_button,
body.page-contact-us #gform_wrapper_1 input[type="submit"].gform_button {
  width: 100% !important;
  max-width: 100% !important;
  background: linear-gradient(180deg, #d4ff33 0%, var(--lime) 100%) !important;
  color: #080c14 !important;
  font-weight: 700 !important;
  font-family: var(--font-body) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 1.05rem 1.75rem !important;
  font-size: 1.02rem !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
body.page-contact-us #gform_wrapper_1 .gform_button:hover,
body.page-contact-us #gform_wrapper_1 input[type="submit"].gform_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 40px var(--lime-glow) !important;
  filter: brightness(1.03) !important;
}

body.page-contact-us #gform_wrapper_1 .ginput_counter,
body.page-contact-us #gform_wrapper_1 .gfield_description {
  color: var(--muted) !important;
  font-size: .8rem !important;
  margin-top: .4rem !important;
}

/* ── Gravity Forms overrides ── */
.contact-form-wrap .gform_heading {
  margin-bottom: 2rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--line) !important;
}
.contact-form-wrap .gform_title {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  letter-spacing: .03em !important;
  color: var(--white) !important;
  margin-bottom: .5rem !important;
}
.contact-form-wrap .gform_description {
  font-size: .88rem !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
}
.contact-form-wrap .gfield_label,
.contact-form-wrap .gform-field-label,
.contact-form-wrap legend.gfield_label {
  color: var(--mid) !important;
  font-family: var(--font-body) !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin-bottom: .5rem !important;
}
.contact-form-wrap .gfield_required {
  color: var(--lime) !important;
  opacity: .6;
}

/* Responsive */
@media (max-width: 768px) {
  .form-row { grid-template-columns: 1fr !important; }
}

/* ════════════════════════════════
   PLAIN DIV OVERRIDES
   For HTML widget blocks (not Elementor Icon Box)
════════════════════════════════ */
div.subtypes-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  width: 100%;
}
div.subtype-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  position: relative; overflow: hidden;
  transition: transform .3s, border-color .35s;
}
div.subtype-card::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0); transform-origin: left; transition: transform .4s;
}
div.subtype-card:hover { transform: translateY(-5px); border-color: rgba(200,255,0,.2); }
div.subtype-card:hover::after { transform: scaleX(1); }
div.subtype-card h3 {
  font-family: var(--font-display) !important;
  font-size: 1.4rem !important; letter-spacing: .03em !important;
  color: var(--white) !important; margin-bottom: .6rem !important; line-height: 1.05 !important;
}
div.subtype-card p {
  font-size: .85rem !important; color: var(--muted) !important; line-height: 1.75 !important;
}
/* Differentiator 2-col self-contained layout */
.differ-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem; align-items: start;
}
/* Generic 2-col wrapper */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem; align-items: start;
}
@media (max-width: 1024px) {
  div.subtypes-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .differ-section, .two-col { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 700px) {
  div.subtypes-grid { grid-template-columns: 1fr !important; }
}
/* 4-column variant for type/category grids (e.g. 8 items) */
div.subtypes-grid.subtypes-grid--4col {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 1024px) {
  div.subtypes-grid.subtypes-grid--4col { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  div.subtypes-grid.subtypes-grid--4col { grid-template-columns: 1fr !important; }
}

/* ════════════════════════════════
   PLATFORM CARDS
   Reusable: any service/technology platform grid
════════════════════════════════ */
.platform-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}
.platform-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, transform .3s;
}
.platform-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}
.platform-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-4px); }
.platform-card:hover::after { transform: scaleX(1); }
.platform-card__icon { font-size: 2.5rem; margin-bottom: 1.25rem; display: block; line-height: 1; }
.platform-card__best {
  font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--lime); background: var(--lime-dim);
  border: 1px solid rgba(200,255,0,.2);
  padding: .22rem .75rem; border-radius: 4px;
  margin-bottom: 1.25rem; display: inline-block;
}
.platform-card__title {
  font-family: var(--font-display);
  font-size: 1.9rem; letter-spacing: .03em;
  line-height: 1; color: var(--white);
  margin-bottom: .75rem;
}
.platform-card p { font-size: .88rem; color: var(--muted); line-height: 1.75; }

/* ════════════════════════════════
   DIFFERENTIATOR LIST
   Reusable: numbered reasons/benefits list
════════════════════════════════ */
.differ-list { display: flex; flex-direction: column; }
.differ-item {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 2rem;
  align-items: flex-start;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--line);
}
.differ-item:first-child { padding-top: 0; }
.differ-item:last-child { border-bottom: none; padding-bottom: 0; }
.differ-num {
  font-family: var(--font-display);
  font-size: 4rem; line-height: 1;
  color: rgba(200,255,0,.12);
  letter-spacing: .02em;
}
.differ-content h3 {
  font-family: var(--font-display);
  font-size: 1.65rem !important; letter-spacing: .03em;
  margin-bottom: .75rem; color: var(--white); line-height: 1.05;
}
.differ-content p { font-size: .92rem; color: var(--muted); line-height: 1.75; }

/* ════════════════════════════════
   METRICS / RESULTS GRID
   Reusable: 6-up results/stats grid
════════════════════════════════ */
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}
.metric-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, transform .3s;
}
.metric-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s;
}
.metric-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-3px); }
.metric-card:hover::after { transform: scaleX(1); }
.metric-card .big-num {
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: 1; letter-spacing: .02em;
  background: linear-gradient(135deg, var(--white) 30%, var(--lime));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; display: block; margin-bottom: .5rem;
}
.metric-card .metric-label {
  font-size: .9rem; font-weight: 700;
  color: var(--white); margin-bottom: .5rem; line-height: 1.2;
}
.metric-card .metric-sub { font-size: .78rem; color: var(--muted); line-height: 1.6; }

/* ════════════════════════════════
   PRICING CARDS
   Reusable: 3-tier pricing section
════════════════════════════════ */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin-top: 4rem;
}
.pricing-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, transform .3s;
  display: flex; flex-direction: column;
}
.pricing-card:hover { transform: translateY(-4px); }
.pricing-card--popular {
  border-color: rgba(200,255,0,.35);
  background: linear-gradient(160deg, rgba(200,255,0,.05) 0%, var(--bg2) 60%);
}
.pricing-card--popular::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--blue));
}
.pricing-popular-badge {
  position: absolute; top: 1.5rem; right: 1.5rem;
  background: var(--lime); color: #080c14;
  font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em;
  padding: .25rem .7rem; border-radius: 4px;
}
.pricing-card__name {
  font-family: var(--font-display);
  font-size: 1.6rem; letter-spacing: .04em;
  color: var(--white); margin-bottom: .4rem; line-height: 1;
}
.pricing-card__label {
  font-family: var(--font-display);
  font-size: 1.6rem; letter-spacing: .04em;
  color: var(--white); margin-bottom: .4rem; line-height: 1;
}
.pricing-card__ideal { font-size: .78rem; color: var(--muted); line-height: 1.5; margin-bottom: 1.75rem; }
.pricing-card__desc { font-size: .78rem; color: var(--muted); line-height: 1.5; margin-bottom: 1.75rem; }
.pricing-card__price {
  font-family: var(--font-display);
  font-size: 3rem; line-height: 1;
  color: var(--lime); letter-spacing: .02em; margin-bottom: .3rem;
}
.pricing-card__price-note { font-size: .72rem; color: var(--muted); margin-bottom: 1.75rem; }
.pricing-card hr { border: none; border-top: 1px solid var(--line); margin: 1.5rem 0; }
.pricing-card__features {
  list-style: none;
  display: flex; flex-direction: column;
  gap: .75rem; flex: 1; margin-bottom: 2rem;
}
.pricing-card__list {
  list-style: none;
  display: flex; flex-direction: column;
  gap: .75rem; flex: 1; margin-bottom: 2rem;
  padding: 0; margin-left: 0;
}
.pricing-card__features li {
  display: flex; align-items: flex-start;
  gap: .65rem; font-size: .83rem;
  color: var(--mid); line-height: 1.4;
}
.pricing-card__list li {
  display: flex; align-items: flex-start;
  gap: .65rem; font-size: .83rem;
  color: var(--mid); line-height: 1.4;
}
.pricing-card__features li::before { content: '✓'; color: var(--lime); font-weight: 700; flex-shrink: 0; }
.pricing-card__list li::before { content: '✓'; color: var(--lime); font-weight: 700; flex-shrink: 0; }
.pricing-card__features li.muted-feature { opacity: .5; }
.pricing-card__list li.muted-feature { opacity: .5; }
.pricing-card__timeline {
  font-size: .72rem; text-transform: uppercase;
  letter-spacing: .1em; color: var(--muted);
  margin-bottom: 1.75rem;
  padding: .65rem 1rem;
  background: var(--bg3);
  border-radius: 6px; border: 1px solid var(--line);
}
.pricing-card__timeline strong { color: var(--mid); }
.pricing-card__badge {
  position: absolute; top: 1.5rem; right: 1.5rem;
  background: var(--lime); color: #080c14;
  font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em;
  padding: .25rem .7rem; border-radius: 4px;
}

/* ════════════════════════════════
   INTEGRATIONS / TECH PARTNERS
   Reusable: categorised pill list
════════════════════════════════ */
.integration-category { margin-bottom: 2.5rem; }
.integration-category:last-child { margin-bottom: 0; }
.integration-category__label {
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .18em;
  color: var(--lime); margin-bottom: 1rem;
  display: flex; align-items: center; gap: .75rem;
}
.integration-category__label::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.integration-pills { display: flex; flex-wrap: wrap; gap: .6rem; }
.integration-pill {
  background: var(--bg2); border: 1px solid var(--line);
  border-radius: 8px; padding: .45rem 1rem;
  font-size: .78rem; font-weight: 500; color: var(--mid);
  transition: border-color .2s, color .2s, background .2s;
}
.integration-pill:hover { border-color: rgba(200,255,0,.25); color: var(--white); background: var(--bg3); }

/* Responsive — new components */
@media (max-width: 1024px) {
  .platform-grid { grid-template-columns: 1fr 1fr; }
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .platform-grid { grid-template-columns: 1fr; }
  .differ-item { grid-template-columns: 3rem 1fr; gap: 1.25rem; }
  .differ-num { font-size: 2.8rem; }
  .metrics-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════
   ELEMENTOR FULL-PAGE HERO BLOCK
   Used when service_elementor_hero = 1
   Paste as single HTML widget inside a
   full-width / stretched Elementor container
   with CSS class: eg-section--border-bottom
   Container padding: 0 on all sides.
════════════════════════════════ */
.ec-hero {
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: calc(var(--nav-height) + 3rem) 4rem 5rem;
  position: relative;
  overflow: hidden;
  background: var(--bg);
}
/* Decorations inherit from existing eg-hero classes */
.ec-hero .eg-hero__grid,
.ec-hero .eg-hero__orb-1,
.ec-hero .eg-hero__orb-2,
.ec-hero .eg-hero__bg-word { position: absolute; }
.ec-hero .eg-hero__inner { position: relative; z-index: 2; max-width: 820px; }
.ec-hero .eg-hero__title { margin-bottom: 1.5rem; }
.ec-hero .eg-hero__lead  { max-width: 680px; margin-bottom: 2.5rem; }
.ec-hero .eg-hero__actions { margin-bottom: 4rem; }
@media (max-width: 768px) {
  .ec-hero { padding: calc(var(--nav-height) + 2rem) 1.5rem 4rem; }
  .ec-hero .eg-hero__actions { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

/* ════════════════════════════════
   PARTNER / CERTIFICATION BAR
   Section 2: trust indicators strip
════════════════════════════════ */
.partner-bar {
  padding: 3rem 4rem;
  border-bottom: 1px solid var(--line);
  background: var(--bg2);
}
.partner-bar__label {
  font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .2em;
  color: var(--muted); margin-bottom: 2rem; text-align: center;
}
.partner-bar__logos {
  display: flex; align-items: center;
  justify-content: center; flex-wrap: wrap;
  gap: 1.5rem 3.5rem;
}
.partner-logo {
  display: flex; align-items: center; gap: .55rem;
  filter: grayscale(1) opacity(.35);
  transition: filter .35s ease, opacity .35s ease;
}
.partner-logo:hover { filter: grayscale(0) opacity(1); }
.partner-logo__icon {
  font-size: 1.15rem; flex-shrink: 0; line-height: 1;
}
.partner-logo__text { display: flex; flex-direction: column; gap: 1px; }
.partner-logo__name {
  font-size: .78rem; font-weight: 700;
  color: var(--white); letter-spacing: .02em; line-height: 1.1;
}
.partner-logo__cert {
  font-size: .55rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--lime); line-height: 1;
}

/* ════════════════════════════════
   INTRO SECTION — FULL HTML BLOCK
   Section 3: 2-col intro with image right
════════════════════════════════ */
.ec-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem; align-items: center;
  padding: 7rem 4rem;
  border-bottom: 1px solid var(--line);
}
.ec-intro__content { display: flex; flex-direction: column; }
.ec-intro__body { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.25rem; }
.ec-intro__body p {
  font-size: .95rem !important;
  color: var(--mid) !important;
  line-height: 1.85 !important;
}
.ec-intro__visual {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
}
/* Parallax wrapper — JS adds transform via data-parallax */
.ec-intro__parallax {
  will-change: transform;
  transition: transform .1s linear;
}
.ec-intro__img {
  width: 100%; height: auto;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  display: block;
}
/* Placeholder shown before real image is added */
.ec-intro__placeholder {
  background: linear-gradient(135deg, var(--bg2) 0%, var(--bg3) 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  aspect-ratio: 4/3;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 1rem; color: var(--muted);
}
.ec-intro__placeholder-icon { font-size: 3.5rem; opacity: .4; }
.ec-intro__placeholder-label {
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .15em;
  color: var(--muted); opacity: .5;
}
/* Floating badge on the visual */
.ec-intro__badge {
  position: absolute; bottom: 2rem; left: 2rem;
  background: rgba(8,12,20,.85);
  backdrop-filter: blur(12px);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1rem 1.5rem;
  display: flex; align-items: center; gap: .85rem;
  z-index: 2;
}
.ec-intro__badge-icon { font-size: 1.5rem; flex-shrink: 0; }
.ec-intro__badge-num {
  font-family: var(--font-display); font-size: 1.5rem;
  color: var(--lime); line-height: 1;
}
.ec-intro__badge-label {
  font-size: .65rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); margin-top: .15rem;
}
@media (max-width: 1024px) {
  .partner-bar { padding: 2.5rem 2rem; }
  .partner-bar__logos { gap: 1.25rem 2.5rem; }
  .ec-intro { grid-template-columns: 1fr; gap: 3rem; padding: 5rem 2rem; }
}
@media (max-width: 700px) {
  .partner-bar { padding: 2rem 1.5rem; }
  .partner-bar__logos { gap: 1rem 2rem; }
  .ec-intro__badge { left: 1rem; bottom: 1rem; }
}

/* ══════════════════════════════════════════════════════
   HOMEPAGE SECTIONS — Trust Row · Value Prop · Why Icons
   Process · Industries · Local SEO · CTA Band
   FAQ · Contact · SEO Body
══════════════════════════════════════════════════════ */

/* ── TRUST ROW ── */
.trust-row{padding:3rem 4rem;border-bottom:1px solid var(--line);background:var(--bg2);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.trust-row-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;max-width:220px;line-height:1.6;}
.trust-badges-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.trust-badge{display:flex;align-items:center;gap:.5rem;background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--mid);}
.trust-badge .tb-icon{color:var(--lime);font-size:.9rem;}

/* ── VALUE PROPOSITION ── */
.value-prop{padding:8rem 4rem;border-bottom:1px solid var(--line);}
.value-prop-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.value-prop-text p{font-size:1rem;font-weight:300;color:var(--mid);line-height:1.9;margin-bottom:1.5rem;}
.value-prop-text p strong{color:var(--white);font-weight:600;}
.value-prop-pull{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.1;color:var(--white);border-left:3px solid var(--lime);padding-left:1.5rem;margin:2rem 0;letter-spacing:.01em;}
.value-prop-cards{display:flex;flex-direction:column;gap:1rem;}
.vpc{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:1.75rem;display:flex;align-items:flex-start;gap:1.25rem;transition:border-color .3s,transform .3s;}
.vpc:hover{border-color:rgba(200,255,0,.2);transform:translateX(4px);}
.vpc-icon{width:2.75rem;height:2.75rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:rgba(200,255,0,.07);border:1px solid rgba(200,255,0,.18);border-radius:28px;padding:.6rem;}
.vpc-icon svg{width:100%;height:100%;display:block;}
.vpc h4{font-weight:700;color:var(--white);margin-bottom:.3rem;}
.vpc p{font-size:.82rem;color:var(--muted);line-height:1.6;margin:0;}

/* ── WHY EG — ICON GRID ── */
.why-icon-section{padding:8rem 4rem;background:var(--bg2);border-bottom:1px solid var(--line);}
.why-icon-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem;}
.why-icon-header p{font-size:.97rem;font-weight:300;color:var(--mid);line-height:1.8;}
.why-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.why-icon-card{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:2.25rem;transition:border-color .3s,transform .3s;position:relative;overflow:hidden;}
.why-icon-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--lime),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.why-icon-card:hover{border-color:rgba(200,255,0,.2);transform:translateY(-4px);}
.why-icon-card:hover::before{transform:scaleX(1);}
.wic-icon{width:52px;height:52px;border-radius:28px;background:var(--lime-dim);border:1px solid rgba(200,255,0,.2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.5rem;}
.why-icon-card h4{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.04em;margin-bottom:.6rem;line-height:1.1;}
.why-icon-card p{font-size:.83rem;color:var(--muted);line-height:1.7;}

/* ── PROCESS 4-STEP ── */
.process-4{padding:8rem 4rem;border-bottom:1px solid var(--line);}
.process-4-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem;}
.process-4-header p{font-size:.97rem;font-weight:300;color:var(--mid);line-height:1.8;}
.process-4-steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative;}
.process-4-steps::before{content:"";position:absolute;top:28px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);height:1px;background:linear-gradient(90deg,var(--lime),var(--blue));z-index:0;}
.proc4-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1;padding:0 1.5rem;}
.proc4-num{width:56px;height:56px;border-radius:50%;background:var(--bg);border:2px solid var(--lime);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.2rem;color:var(--lime);margin-bottom:1.75rem;flex-shrink:0;transition:background .3s;}
.proc4-step__num{width:56px;height:56px;border-radius:50%;background:var(--bg);border:2px solid var(--lime);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.2rem;color:var(--lime);margin-bottom:1.75rem;flex-shrink:0;transition:background .3s;}
.proc4-step:hover .proc4-num{background:var(--lime-dim);}
.proc4-step:hover .proc4-step__num{background:var(--lime-dim);}
.proc4-step h4{font-family:var(--font-display);font-size:1.2rem !important;letter-spacing:.05em;margin-bottom:.6rem;}
.proc4-step p{font-size:.8rem;color:var(--muted);line-height:1.65;}

/* When process-4 is nested inside .eg-section (HTML widget blocks), avoid double section padding */
.eg-section .process-4{padding:0;border-bottom:none;}

/* ── INDUSTRIES ── */
.industries-section{padding:8rem 4rem;background:var(--bg2);border-bottom:1px solid var(--line);}
.industries-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem;}
.industries-header p{font-size:.97rem;font-weight:300;color:var(--mid);line-height:1.8;}
.industry-pills{display:flex;flex-wrap:wrap;gap:.75rem;}
.industry-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--line);border-radius:100px;padding:.55rem 1.25rem;font-size:.82rem;font-weight:500;color:var(--mid);transition:border-color .25s,color .25s,background .25s;cursor:default;}
.industry-pill:hover{border-color:rgba(200,255,0,.35);color:var(--white);background:var(--lime-dim);}
.industry-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);opacity:.5;flex-shrink:0;transition:opacity .25s;}
.industry-pill:hover::before{opacity:1;}
a.industry-pill{text-decoration:none;cursor:pointer;}

/* ── LOCAL SEO COVERAGE ── */
.local-seo-section{padding:8rem 4rem;border-bottom:1px solid var(--line);}
.local-seo-inner{display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start;}
.local-seo-text p{font-size:.95rem;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:1.25rem;}
.local-seo-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.lsa-region{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:1.5rem;}
.lsa-region h5{font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--lime);margin-bottom:.9rem;padding-bottom:.65rem;border-bottom:1px solid var(--line);}
.lsa-region p{font-size:.8rem;color:var(--muted);line-height:1.8;}

/* ── MID CTA BAND ── */
.cta-band{padding:8rem 4rem;background:linear-gradient(135deg,rgba(200,255,0,.06) 0%,rgba(37,99,235,.06) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(200,255,0,.05) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;}
.cta-band h2{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:.01em;margin-bottom:1.25rem;position:relative;z-index:1;}
.cta-band p{font-size:1rem;font-weight:300;color:var(--mid);max-width:520px;margin:0 auto 2.5rem;line-height:1.8;position:relative;z-index:1;}
.cta-band-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;position:relative;z-index:1;}
.cta-phone{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted);}
.cta-phone a{color:var(--white);font-weight:600;}

/* ── FAQ ACCORDION ── */
.faq-accordion-section{padding:8rem 4rem;background:var(--bg2);border-bottom:1px solid var(--line);}
.faq-accordion-header{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem;}
.faq-accordion-header p{font-size:.97rem;font-weight:300;color:var(--mid);line-height:1.8;}
.faq-accord{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.faq-accord-item{border-bottom:1px solid var(--line);background:var(--bg);}
.faq-accord-item:last-child{border-bottom:none;}
.faq-accord-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 2rem;cursor:pointer;font-size:.97rem;font-weight:600;color:var(--white);line-height:1.4;list-style:none;transition:background .2s;}
.faq-accord-q:hover{background:var(--bg2);}
.faq-accord-q::-webkit-details-marker{display:none;}
.faq-accord-q::after{content:"+";color:var(--lime);font-size:1.4rem;font-weight:300;flex-shrink:0;transition:transform .3s;}
details[open] .faq-accord-q::after{transform:rotate(45deg);}
.faq-accord-a{padding:0 2rem 1.5rem;font-size:.88rem;color:var(--muted);line-height:1.8;}
details[open] .faq-accord-item{background:linear-gradient(135deg,rgba(200,255,0,.025),transparent);}

/* ── CONTACT SECTION ── */
.contact-section{padding:8rem 4rem;border-bottom:1px solid var(--line);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.contact-form-wrap{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:3rem;}
.contact-form-wrap h3{font-family:var(--font-display);font-size:2.2rem;letter-spacing:.03em;margin-bottom:.5rem;}
.contact-form-wrap > p{font-size:.88rem;color:var(--muted);margin-bottom:2rem;line-height:1.7;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.cf-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.cf-group label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
.cf-group input,.cf-group select,.cf-group textarea{background:var(--bg3);border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;font-size:.9rem;color:var(--white);font-family:var(--font-body);outline:none;transition:border-color .2s;width:100%;}
.cf-group input:focus,.cf-group textarea:focus{border-color:rgba(200,255,0,.4);}
.cf-group select{cursor:pointer;}
.cf-group textarea{min-height:120px;resize:vertical;}
.cf-group select option{background:var(--bg3);color:var(--white);}
.cf-submit{width:100%;padding:1rem;background:var(--lime);color:#080c14;font-weight:700;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);transition:background .2s,transform .2s,box-shadow .2s;margin-top:.5rem;}
.cf-submit:hover{background:#d6ff1a;transform:translateY(-2px);box-shadow:0 8px 32px var(--lime-glow);}
.contact-details h3{font-family:var(--font-display);font-size:2.5rem;letter-spacing:.03em;margin-bottom:1rem;line-height:1;}
.contact-details > p{font-size:.95rem;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:2.5rem;}
.cd-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);}
.cd-item:first-of-type{border-top:1px solid var(--line);}
.cd-icon{width:40px;height:40px;border-radius:10px;background:var(--lime-dim);border:1px solid rgba(200,255,0,.2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.cd-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.2rem;}
.cd-value{font-size:.9rem;color:var(--white);font-weight:500;}
.cd-value a{color:var(--white);transition:color .2s;}
.cd-value a:hover{color:var(--lime);}
.contact-ctas{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem;}
.contact-wa-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 2rem;border-radius:8px;background:rgba(37,211,102,.15);border:1px solid rgba(37,211,102,.3);color:#25d366;font-weight:700;font-size:.9rem;transition:background .2s,transform .2s;}
.contact-wa-btn:hover{background:rgba(37,211,102,.25);transform:translateY(-2px);}

/* ── SEO BODY COPY ── */
.seo-body-section{padding:6rem 4rem;border-bottom:1px solid var(--line);background:var(--bg2);}
.seo-body-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:1px solid var(--line);border-radius:10px;padding:1.25rem 1.75rem;color:var(--mid);font-size:.88rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:border-color .2s,color .2s;}
.seo-body-toggle:hover{border-color:rgba(255,255,255,.15);color:var(--white);}
.seo-body-toggle span:last-child{color:var(--lime);}
.seo-body-content{padding:3rem 0 0;display:none;}
.seo-body-content.is-open{display:block;}
.seo-body-details{width:100%;}
.seo-body-details summary{list-style:none;}
.seo-body-details summary::-webkit-details-marker{display:none;}
.seo-body-details[open] .seo-body-content{display:block;}
.seo-body-details[open] .seo-body-indicator{color:var(--lime);}
.seo-body-indicator{color:var(--lime);transition:color .2s;}
.seo-body-details:not([open]) .seo-body-indicator::before{content:'+ Expand';}
.seo-body-details[open] .seo-body-indicator::before{content:'− Collapse';}
.seo-body-content h2{font-family:var(--font-display);font-size:clamp(2rem,3vw,3rem);letter-spacing:.03em;margin-bottom:1rem;color:var(--white);}
.seo-body-content h3{font-size:1rem;font-weight:700;color:var(--white);margin:2rem 0 .6rem;}
.seo-body-content p{font-size:.88rem;color:var(--muted);line-height:1.85;margin-bottom:1.1rem;}
.seo-body-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:2.5rem;}

/* ── RESPONSIVE — Homepage new sections ── */
@media (max-width: 1024px) {
  .trust-row,
  .value-prop,
  .why-icon-section,
  .process-4,
  .industries-section,
  .local-seo-section,
  .cta-band,
  .faq-accordion-section,
  .contact-section,
  .seo-body-section { padding-left: 2rem; padding-right: 2rem; }
  .value-prop-inner,
  .why-icon-header,
  .process-4-header,
  .industries-header,
  .faq-accordion-header,
  .contact-inner,
  .local-seo-inner { grid-template-columns: 1fr; gap: 3rem; }
  .why-icon-grid { grid-template-columns: 1fr 1fr; }
  /* Override inline grid-template-columns (e.g. repeat(3,1fr) on HTML widgets) */
  .process-4-steps,
  .single-service .process-4-steps {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem;
  }
  .process-4-steps::before { display: none; }
  .local-seo-areas { grid-template-columns: 1fr 1fr; }
  .cf-row { grid-template-columns: 1fr; }
  .seo-body-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .why-icon-grid { grid-template-columns: 1fr; }
  .process-4-steps,
  .single-service .process-4-steps {
    grid-template-columns: 1fr !important;
  }
  .local-seo-areas { grid-template-columns: 1fr; }
  .industry-pill { font-size: .78rem; }
}

/* ══════════════════════════════════════════════════════
   ABOUT US PAGE STYLES
══════════════════════════════════════════════════════ */

/* ── OUR STORY ── */
.about-story { padding: 8rem 4rem; border-bottom: 1px solid var(--line); }
.about-story-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; }
.about-story-text p { font-size: .97rem; font-weight: 300; color: var(--mid); line-height: 1.9; margin-bottom: 1.5rem; }
.about-story-text p strong { color: var(--white); font-weight: 600; }
.about-story-visual { background: var(--bg2); border: 1px solid var(--line); border-radius: var(--radius-xl); min-height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 3rem; gap: 1.5rem; position: relative; overflow: hidden; }
.about-story-visual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 60% 40%, rgba(200,255,0,.06), transparent 70%); pointer-events: none; }
.about-story-est { font-family: var(--font-display); font-size: 7rem; line-height: 1; color: var(--lime); opacity: .15; }
.about-story-badges { display: flex; gap: 2.5rem; justify-content: center; flex-wrap: wrap; }
.about-story-badge { display: flex; flex-direction: column; gap: .5rem; }
.about-story-badge .ab-num { font-family: var(--font-display); font-size: 3rem; color: var(--white); line-height: 1; }
.about-story-badge .ab-lbl { font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }

/* ── MISSION / VISION CARDS ── */
.mv-section { padding: 8rem 4rem; background: var(--bg2); border-bottom: 1px solid var(--line); }
.mv-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 5rem; }
.mv-card { border-radius: var(--radius-xl); padding: 2.5rem; }
.mv-card--mission { background: linear-gradient(135deg, rgba(200,255,0,.07), rgba(200,255,0,.02)); border: 1px solid rgba(200,255,0,.2); }
.mv-card--vision { background: linear-gradient(135deg, rgba(37,99,235,.09), rgba(37,99,235,.02)); border: 1px solid rgba(37,99,235,.25); }
.mv-card__tag { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--lime); margin-bottom: 1rem; display: block; }
.mv-card--vision .mv-card__tag { color: #7ba7ff; }
.mv-card h3 { font-family: var(--font-display); font-size: 1.9rem !important; letter-spacing: .03em; margin-bottom: 1rem; line-height: 1.05; }
.mv-card p { font-size: .93rem; font-weight: 300; color: var(--mid); line-height: 1.85; }

/* ── TEAM CARDS ── */
.team-section { padding: 8rem 4rem; border-bottom: 1px solid var(--line); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.team-card { background: var(--bg2); border: 1px solid var(--line); border-radius: var(--radius-xl); overflow: hidden; transition: border-color .3s, transform .3s; }
.team-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-4px); }
.team-card__photo { width: 100%; aspect-ratio: 4/3; background: var(--bg3); display: flex; align-items: center; justify-content: center; font-size: 4rem; color: var(--muted); }
.team-card__body { padding: 1.75rem; }
.team-card__name { font-family: var(--font-display); font-size: 1.55rem; letter-spacing: .03em; margin-bottom: .15rem; }
.team-card__role { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; color: var(--lime); margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); display: block; }
.team-card__bio { font-size: .85rem; color: var(--muted); line-height: 1.75; }
.team-card__linkedin { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1.25rem; font-size: .8rem; color: var(--lime); font-weight: 600; transition: opacity .2s; }
.team-card__linkedin:hover { opacity: .7; }
.team-card--placeholder { border-style: dashed; opacity: .45; cursor: default; }
.team-card--placeholder:hover { transform: none; border-color: var(--line); }

/* ── TIMELINE ── */
.timeline-section { padding: 8rem 4rem; background: var(--bg2); border-bottom: 1px solid var(--line); }
.timeline { position: relative; max-width: 820px; margin: 0 auto; padding-left: 100px; }
.timeline::before { content: ''; position: absolute; left: 44px; top: 10px; bottom: 10px; width: 1px; background: linear-gradient(180deg, var(--lime) 0%, var(--blue) 60%, transparent 100%); }
.timeline-item { position: relative; margin-bottom: 2.5rem; }
.timeline-item:last-child { margin-bottom: 0; }
.timeline-year { position: absolute; left: -100px; top: 12px; font-family: var(--font-display); font-size: 1.1rem; color: var(--lime); letter-spacing: .04em; text-align: right; width: 76px; }
.timeline-dot { position: absolute; left: -58px; top: 14px; width: 10px; height: 10px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(200,255,0,.2), 0 0 0 6px rgba(200,255,0,.07); }
.timeline-content { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 1.5rem 2rem; transition: border-color .3s; }
.timeline-content:hover { border-color: rgba(200,255,0,.15); }
.timeline-content h4 { font-size: .95rem; font-weight: 700; color: var(--white); margin-bottom: .35rem; }
.timeline-content p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin: 0; }

/* ── CREDENTIALS ── */
.credentials-section { padding: 8rem 4rem; border-bottom: 1px solid var(--line); }
.credentials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.credential-card { background: var(--bg2); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 2rem; text-align: center; transition: border-color .3s, transform .3s; }
.credential-card:hover { border-color: rgba(200,255,0,.2); transform: translateY(-3px); }
.credential-card__icon { font-size: 2.5rem; margin-bottom: 1.25rem; display: block; }
.credential-card h4 { font-family: var(--font-display); font-size: 1.2rem; letter-spacing: .03em; margin-bottom: .5rem; }
.credential-card p { font-size: .82rem; color: var(--muted); line-height: 1.7; }

/* ── COMMUNITY ── */
.community-section { padding: 8rem 4rem; border-bottom: 1px solid var(--line); }
.community-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 6rem; align-items: start; }
.community-text p { font-size: .95rem; font-weight: 300; color: var(--mid); line-height: 1.9; margin-bottom: 1.5rem; }

/* ── TESTIMONIALS 3-COL (static, no slider) ── */
.testimonials-static { padding: 8rem 4rem; background: var(--bg2); border-bottom: 1px solid var(--line); }
.testimonials-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
.testimonials-cta { text-align: center; margin-top: 3rem; }

/* ── RESPONSIVE — About Us ── */
@media (max-width: 1024px) {
  .about-story,
  .mv-section,
  .team-section,
  .timeline-section,
  .credentials-section,
  .community-section,
  .testimonials-static { padding-left: 2rem; padding-right: 2rem; }
  .about-story-inner,
  .mv-cards,
  .community-inner { grid-template-columns: 1fr; gap: 3rem; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .credentials-grid { grid-template-columns: 1fr 1fr; }
  .testimonials-3col { grid-template-columns: 1fr 1fr; }
  .timeline { padding-left: 80px; }
}
@media (max-width: 700px) {
  .team-grid,
  .credentials-grid,
  .testimonials-3col { grid-template-columns: 1fr; }
  .timeline { padding-left: 60px; }
  .timeline-year { left: -60px; width: 52px; font-size: .9rem; }
  .timeline-dot { left: -40px; }
}

/* ══════════════════════════════════════════════════════
   LEGAL PAGES (Terms & Conditions, Privacy Policy)
══════════════════════════════════════════════════════ */

/* ── Header ── */
.eg-legal-header {
  padding: 4rem 0 2.5rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 3rem;
}
.eg-legal-header h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.02em;
  margin: 0 0 .75rem;
}
.eg-legal-meta {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.6;
}
.eg-legal-meta strong { color: var(--mid); }

/* ── Intro block ── */
.eg-legal-intro {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 2rem 2.25rem;
  margin-bottom: 3rem;
}
.eg-legal-intro p {
  font-size: .95rem;
  color: var(--mid);
  line-height: 1.85;
  margin: 0 0 1rem;
}
.eg-legal-intro p:last-child { margin-bottom: 0; }
.eg-legal-intro a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }

/* ── Prose wrapper ── */
.eg-legal {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 0 6rem;
}

/* ── Headings ── */
.eg-legal h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -.01em;
  margin: 3rem 0 1rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
}
.eg-legal h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }

/* ── Body text ── */
.eg-legal p {
  font-size: .93rem;
  color: var(--mid);
  line-height: 1.9;
  font-weight: 300;
  margin: 0 0 1rem;
}
.eg-legal p strong { color: var(--white); font-weight: 600; }
.eg-legal p a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }
.eg-legal p a:hover { opacity: .8; }
.eg-legal em { font-style: italic; color: var(--muted); }

/* ── Lists ── */
.eg-legal ul {
  margin: 0 0 1.25rem 0;
  padding: 0;
  list-style: none;
}
.eg-legal ul li {
  font-size: .93rem;
  color: var(--mid);
  line-height: 1.85;
  font-weight: 300;
  padding: .45rem 0 .45rem 1.5rem;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.eg-legal ul li:last-child { border-bottom: none; }
.eg-legal ul li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--lime);
  font-size: .8rem;
  top: .5rem;
}
.eg-legal ul li strong { color: var(--white); font-weight: 600; }

/* ── Blockquote (address/contact boxes) ── */
.eg-legal blockquote {
  background: var(--bg2);
  border-left: 3px solid var(--lime);
  border-radius: 0 8px 8px 0;
  padding: 1.5rem 1.75rem;
  margin: 1.25rem 0 1.5rem;
  font-size: .9rem;
  color: var(--mid);
  line-height: 1.9;
  font-style: normal;
}
.eg-legal blockquote strong { color: var(--white); font-weight: 600; }
.eg-legal blockquote a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }

/* ── Footer note ── */
.eg-legal-footer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
  font-size: .82rem;
  color: var(--muted);
}

/* ── Outer section wrapper ── */
.eg-legal-section {
  padding: 0 4rem;
  background: var(--bg);
}

@media (max-width: 900px) {
  .eg-legal-section { padding: 0 2rem; }
  .eg-legal-header { padding: 3rem 0 2rem; }
}
@media (max-width: 600px) {
  .eg-legal-section { padding: 0 1.25rem; }
  .eg-legal-header h1 { font-size: 1.75rem; }
  .eg-legal h2 { font-size: 1rem; }
  .eg-legal-intro { padding: 1.5rem; }
  .eg-legal blockquote { padding: 1.25rem 1.25rem; }
}





/* ══════════════════════════════════════════════════════
   THANK YOU PAGE
══════════════════════════════════════════════════════ */

/* ── Hero ── */
.eg-thankyou-hero {
  padding: 6rem 4rem 5rem;
  text-align: center;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(160deg, rgba(181,255,77,.04) 0%, transparent 60%);
}
.eg-thankyou-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--lime);
  color: #0a0a0a;
  font-size: 2rem;
  font-weight: 900;
  margin: 0 auto 2rem;
  line-height: 1;
}
.eg-thankyou-hero .eg-eyebrow {
  justify-content: center;
  margin-bottom: 1.25rem;
}
.eg-thankyou-hero h1 {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.02em;
  line-height: 1.15;
  max-width: 760px;
  margin: 0 auto 1.5rem;
}
.eg-thankyou-lead {
  font-size: 1rem;
  color: var(--mid);
  line-height: 1.85;
  max-width: 620px;
  margin: 0 auto 2.5rem;
  font-weight: 300;
}
.eg-thankyou-lead strong { color: var(--white); font-weight: 600; }

/* ── Meta strip (response / address / phone) ── */
.eg-thankyou-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.5rem;
}
.eg-thankyou-meta-item {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1rem 1.5rem;
  text-align: left;
  min-width: 200px;
  flex: 1;
  max-width: 280px;
}
.eg-thankyou-meta-item strong {
  font-size: .8rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: .02em;
}
.eg-thankyou-meta-item span {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.55;
}
.eg-thankyou-meta-item a {
  color: var(--lime);
  text-decoration: none;
  font-weight: 600;
}
.eg-thankyou-meta-item a:hover { opacity: .8; }

/* ── Generic section wrapper ── */
.eg-thankyou-section {
  padding: 5rem 4rem;
  border-bottom: 1px solid var(--line);
}
.eg-thankyou-section--alt { background: var(--bg2); }
.eg-thankyou-section h2 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.02em;
  text-align: center;
  margin: 0 0 1rem;
}
.eg-section-intro {
  font-size: .95rem;
  color: var(--mid);
  text-align: center;
  line-height: 1.8;
  max-width: 560px;
  margin: 0 auto 3rem;
  font-weight: 300;
}

/* ── What happens next steps ── */
.eg-thankyou-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.eg-thankyou-step {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  position: relative;
}
.eg-step-num {
  display: block;
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--lime);
  line-height: 1;
  margin-bottom: 1rem;
  font-family: var(--font-display);
  letter-spacing: -.03em;
}
.eg-thankyou-step h3 {
  font-size: .97rem !important;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 .6rem;
}
.eg-thankyou-step p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

/* ── Explore cards ── */
.eg-thankyou-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.eg-thankyou-card {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 2rem 1.75rem;
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}
.eg-thankyou-card:hover {
  border-color: var(--lime);
  transform: translateY(-3px);
}
.eg-thankyou-card-icon { font-size: 2rem; line-height: 1; }
.eg-thankyou-card h3 {
  font-size: 1rem !important;
  font-weight: 700;
  color: var(--white);
  margin: 0;
}
.eg-thankyou-card p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.eg-thankyou-card-link {
  font-size: .8rem;
  color: var(--lime);
  font-weight: 700;
  margin-top: .25rem;
}

/* ── Social buttons ── */
.eg-thankyou-social {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.eg-social-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.75rem;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .2s, transform .2s;
}
.eg-social-btn:hover { opacity: .85; transform: translateY(-2px); }
.eg-social-btn span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  font-size: .8rem;
  font-weight: 900;
}
.eg-social-btn--linkedin { background: #0077b5; color: #fff; }
.eg-social-btn--linkedin span { background: rgba(255,255,255,.15); }
.eg-social-btn--facebook { background: #1877f2; color: #fff; }
.eg-social-btn--facebook span { background: rgba(255,255,255,.15); }
.eg-social-btn--instagram { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); color: #fff; }

/* ── Trust grid ── */
.eg-thankyou-section--trust {
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
}
.eg-thankyou-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
}
.eg-thankyou-trust-item {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1.75rem 1.5rem;
  background: var(--bg2);
  text-align: center;
}
.eg-thankyou-trust-item strong {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--lime);
  font-family: var(--font-display);
  letter-spacing: -.02em;
  line-height: 1;
}
.eg-thankyou-trust-item span {
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.5;
}

/* ── Return CTA ── */
.eg-thankyou-return {
  padding: 3.5rem 4rem;
  text-align: center;
  background: var(--bg);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .eg-thankyou-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .eg-thankyou-hero,
  .eg-thankyou-section,
  .eg-thankyou-return { padding-left: 2rem; padding-right: 2rem; }
  .eg-thankyou-cards { grid-template-columns: 1fr 1fr; }
  .eg-thankyou-trust-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .eg-thankyou-hero { padding: 4rem 1.5rem 3rem; }
  .eg-thankyou-section { padding: 3.5rem 1.5rem; }
  .eg-thankyou-return { padding: 2.5rem 1.5rem; }
  .eg-thankyou-steps { grid-template-columns: 1fr; }
  .eg-thankyou-cards { grid-template-columns: 1fr; }
  .eg-thankyou-trust-grid { grid-template-columns: 1fr 1fr; }
  .eg-thankyou-meta { flex-direction: column; align-items: stretch; }
  .eg-thankyou-meta-item { max-width: 100%; }
  .eg-thankyou-social { flex-direction: column; align-items: center; }
}

/* ══════════════════════════════════════════════════════
   FREE SEO AUDIT PAGE  (/get-free-seo-audit/)
   Body class: page-get-free-seo-audit
   GF Form ID: 2  (update selectors if form ID differs)
══════════════════════════════════════════════════════ */

/* ── Two-column audit layout ── */
.seo-audit-section {
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
  padding: 5rem 4rem;
}
.seo-audit-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
}

/* ── Left column — benefits ── */
.seo-audit-info h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.02em;
  line-height: 1.18;
  margin: 0 0 1rem;
}
.seo-audit-info h2 span { color: var(--lime); }
.seo-audit-info > p {
  font-size: .93rem;
  color: var(--mid);
  line-height: 1.85;
  font-weight: 300;
  margin: 0 0 2rem;
}

/* What's included checklist */
.seo-audit-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.seo-audit-checklist li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .88rem;
  color: var(--mid);
  line-height: 1.55;
}
.seo-audit-checklist li::before {
  content: "✓";
  color: var(--lime);
  font-weight: 700;
  font-size: .95rem;
  flex-shrink: 0;
  margin-top: .05rem;
}
.seo-audit-checklist li strong { color: var(--white); }

/* Guarantee badge */
.seo-audit-guarantee {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: rgba(181,255,77,.06);
  border: 1px solid rgba(181,255,77,.2);
  border-radius: 10px;
  padding: 1rem 1.25rem;
  margin-top: 2rem;
}
.seo-audit-guarantee-icon {
  font-size: 2rem;
  flex-shrink: 0;
  line-height: 1;
}
.seo-audit-guarantee p {
  font-size: .82rem;
  color: var(--mid);
  line-height: 1.6;
  margin: 0;
}
.seo-audit-guarantee p strong { color: var(--lime); font-weight: 700; }

/* ── Right column — form card ── */
.seo-audit-form-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 2.5rem 2.25rem;
  position: sticky;
  top: 100px;
}
.seo-audit-form-card__eyebrow {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--lime);
  margin: 0 0 .75rem;
}
.seo-audit-form-card h3 {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.015em;
  margin: 0 0 .5rem;
  line-height: 1.2;
}
.seo-audit-form-card > p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0 0 1.75rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
}

/* ── Gravity Forms: SEO Audit page overrides ──
   Form ID: 3  |  Body class: page-get-free-seo-audit
   GF injects its own <style> block after head — every rule needs !important.
   Dark card background (#0a0a0a / var(--bg)) — all text must be explicitly
   forced white/light so GF's own colour tokens don't win. ── */

/* 1 ── GF Orbital CSS custom properties — lime accent, dark-mode field colours */
body.page-get-free-seo-audit #gform_wrapper_3[data-form-index="0"].gform_wrapper.gform-theme,
body.page-get-free-seo-audit #gform_wrapper_3.gform_wrapper.gform-theme {
  --gf-color-primary:               #fff !important;
  --gf-color-primary-rgb:           181, 255, 77 !important;
  --gf-color-primary-contrast:      #080c14 !important;
  --gf-color-primary-contrast-rgb:  8, 12, 20 !important;
  --gf-color-primary-darker:        #9fe830 !important;
  --gf-color-primary-lighter:       #caff7a !important;
  /* field background tokens */
  --gf-color-in-ctrl:               rgba(255, 255, 255, 0.10) !important;
  --gf-color-in-ctrl-rgb:           255, 255, 255 !important;
  --gf-color-in-ctrl-contrast:      #ffffff !important;
  --gf-color-in-ctrl-contrast-rgb:  255, 255, 255 !important;
  --gf-color-in-ctrl-darker:        rgba(255, 255, 255, 0.07) !important;
  --gf-color-in-ctrl-lighter:       rgba(255, 255, 255, 0.16) !important;
  --gf-color-in-ctrl-primary:       #b5ff4d !important;
  --gf-color-in-ctrl-primary-rgb:   181, 255, 77 !important;
  --gf-color-in-ctrl-primary-contrast: #080c14 !important;
  /* border + label tokens */
  --gf-ctrl-border-color:           rgba(255, 255, 255, 0.28) !important;
  --gf-ctrl-label-color-primary:    #e8f0ff !important;
  --gf-ctrl-label-color-secondary:  #b0c4e8 !important;
  --gf-color-out-ctrl-dark:         #c0d0f0 !important;
  --gf-color-out-ctrl-light:        rgba(255, 255, 255, 0.12) !important;
  --gf-color-out-ctrl-light-lighter:rgba(255, 255, 255, 0.06) !important;
  --gf-radius:                      10px !important;
  /* force wrapper background transparent — don't let GF paint white */
  background: transparent !important;
  color: #e8f0ff !important;
}

/* 2 ── Wrapper background + inherited text colour (GF may set bg: #fff) */
body.page-get-free-seo-audit #gform_wrapper_3,
body.page-get-free-seo-audit #gform_wrapper_3 .gform_body,
body.page-get-free-seo-audit #gform_wrapper_3 .gform-body,
body.page-get-free-seo-audit #gform_wrapper_3 .gform_fields {
  background: transparent !important;
  color: #e8f0ff !important;
}

/* 3 ── Hide the GF form heading (we have our own card title above) */
body.page-get-free-seo-audit #gform_wrapper_3 .gform_heading { display: none !important; }

/* 4 ── Field labels — bright white, clearly legible */
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_label,
body.page-get-free-seo-audit #gform_wrapper_3 .gform-field-label,
body.page-get-free-seo-audit #gform_wrapper_3 .gform-field-label:not(.gform-field-label--type-inline),
body.page-get-free-seo-audit #gform_wrapper_3 legend.gfield_label {
  color: #e8f0ff !important;
  font-family: var(--font-body) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin-bottom: .55rem !important;
  display: block !important;
  opacity: 1 !important;
}

/* 5 ── Required asterisk — lime */
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_required,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_required .gfield_required_text,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_required_asterisk {
  color: #b5ff4d !important;
  opacity: 1 !important;
}

/* 6 ── Input / select / textarea — visible on dark background */
body.page-get-free-seo-audit #gform_wrapper_3 input[type="text"],
body.page-get-free-seo-audit #gform_wrapper_3 input[type="email"],
body.page-get-free-seo-audit #gform_wrapper_3 input[type="tel"],
body.page-get-free-seo-audit #gform_wrapper_3 input[type="url"],
body.page-get-free-seo-audit #gform_wrapper_3 input[type="number"],
body.page-get-free-seo-audit #gform_wrapper_3 select,
body.page-get-free-seo-audit #gform_wrapper_3 textarea {
  background:    rgba(255, 255, 255, 0.10) !important;
  border:        1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 10px !important;
  color:         #ffffff !important;
  padding:       .85rem 1.1rem !important;
  font-family:   var(--font-body) !important;
  font-size:     .92rem !important;
  line-height:   1.5 !important;
  box-shadow:    inset 0 1px 0 rgba(255,255,255,.04) !important;
  transition:    border-color .2s, box-shadow .2s, background .2s !important;
  -webkit-text-fill-color: #ffffff !important; /* overrides Chrome autofill */
}

/* 7 ── Placeholder text — clearly readable but visually secondary */
body.page-get-free-seo-audit #gform_wrapper_3 input::placeholder,
body.page-get-free-seo-audit #gform_wrapper_3 textarea::placeholder {
  color:   rgba(200, 215, 245, 0.65) !important;
  opacity: 1 !important;
}

/* 8 ── Select option dropdown background */
body.page-get-free-seo-audit #gform_wrapper_3 select option {
  background: #131c2e !important;
  color:      #ffffff !important;
}

/* 9 ── Focus state — lime glow */
body.page-get-free-seo-audit #gform_wrapper_3 input:focus,
body.page-get-free-seo-audit #gform_wrapper_3 select:focus,
body.page-get-free-seo-audit #gform_wrapper_3 textarea:focus {
  outline:      none !important;
  border-color: rgba(181, 255, 77, 0.55) !important;
  background:   rgba(255, 255, 255, 0.15) !important;
  box-shadow:   0 0 0 3px rgba(181, 255, 77, 0.14), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* 10 ── Radio / checkbox labels — make text visible */
body.page-get-free-seo-audit #gform_wrapper_3 .gchoice label,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_radio .gchoice label,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_checkbox .gchoice label {
  color:       #dde8ff !important;
  font-size:   .88rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  opacity:     1 !important;
}

/* 11 ── Radio / checkbox choice cards */
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_radio,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_checkbox {
  display:               grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap:                   .5rem !important;
}
@media (max-width: 520px) {
  body.page-get-free-seo-audit #gform_wrapper_3 .gfield_radio,
  body.page-get-free-seo-audit #gform_wrapper_3 .gfield_checkbox {
    grid-template-columns: 1fr !important;
  }
}
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_radio .gchoice,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_checkbox .gchoice {
  display:      flex !important;
  align-items:  center !important;
  gap:          .6rem !important;
  padding:      .65rem .9rem !important;
  border-radius:8px !important;
  background:   rgba(255, 255, 255, 0.07) !important;
  border:       1px solid rgba(255, 255, 255, 0.14) !important;
  transition:   border-color .2s, background .2s !important;
  margin:       0 !important;
}
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_radio .gchoice:hover,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_checkbox .gchoice:hover {
  border-color: rgba(181, 255, 77, 0.3) !important;
  background:   rgba(255, 255, 255, 0.11) !important;
}

/* 12 ── Validation error messages */
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_error .gfield_label,
body.page-get-free-seo-audit #gform_wrapper_3 .validation_message {
  color: #ff7070 !important;
}
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_error input,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_error select,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_error textarea {
  border-color: rgba(255, 100, 100, 0.5) !important;
}

/* 13 ── Field description / character counter */
body.page-get-free-seo-audit #gform_wrapper_3 .ginput_counter,
body.page-get-free-seo-audit #gform_wrapper_3 .gfield_description {
  color:     rgba(176, 196, 232, 0.75) !important;
  font-size: .75rem !important;
  margin-top:.35rem !important;
}

/* 14 ── Footer / submit row */
body.page-get-free-seo-audit #gform_wrapper_3 .gform_footer,
body.page-get-free-seo-audit #gform_wrapper_3 .gform_page_footer {
  margin-top:   1.5rem !important;
  padding-top:  1.25rem !important;
  border-top:   1px solid rgba(255, 255, 255, 0.1) !important;
  background:   transparent !important;
}

/* 15 ── Submit button — lime gradient, full width */
body.page-get-free-seo-audit #gform_wrapper_3 .gform_button,
body.page-get-free-seo-audit #gform_wrapper_3 input[type="submit"].gform_button,
body.page-get-free-seo-audit #gform_wrapper_3 button[type="submit"] {
  width:         100% !important;
  max-width:     100% !important;
  background:    linear-gradient(180deg, #caff5a 0%, #b5ff4d 100%) !important;
  color:         #080c14 !important;
  font-weight:   800 !important;
  font-family:   var(--font-body) !important;
  border:        none !important;
  border-radius: 10px !important;
  padding:       1rem 1.75rem !important;
  font-size:     1rem !important;
  letter-spacing:.02em !important;
  cursor:        pointer !important;
  transition:    transform .2s, box-shadow .2s, filter .2s !important;
}
body.page-get-free-seo-audit #gform_wrapper_3 .gform_button:hover,
body.page-get-free-seo-audit #gform_wrapper_3 input[type="submit"].gform_button:hover,
body.page-get-free-seo-audit #gform_wrapper_3 button[type="submit"]:hover {
  transform:  translateY(-2px) !important;
  box-shadow: 0 10px 36px rgba(181, 255, 77, 0.35) !important;
  filter:     brightness(1.05) !important;
}

/* ── Audit covers grid ── */
.seo-audit-covers {
  padding: 5rem 4rem;
  border-bottom: 1px solid var(--line);
}
.seo-audit-covers-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}
.seo-audit-cover-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  transition: border-color .2s;
}
.seo-audit-cover-card:hover { border-color: rgba(181,255,77,.25); }
.seo-audit-cover-icon {
  font-size: 1.75rem;
  line-height: 1;
  margin-bottom: 1rem;
  display: block;
}
.seo-audit-cover-card h3 {
  font-size: .97rem;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 .5rem;
}
.seo-audit-cover-card p {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}

/* ── How it works (3 steps) ── */
.seo-audit-how {
  padding: 5rem 4rem;
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
}
.seo-audit-how-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
  position: relative;
}
.seo-audit-how-steps::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: calc(16.66% + 1rem);
  right: calc(16.66% + 1rem);
  height: 1px;
  background: linear-gradient(90deg, var(--lime) 0%, rgba(181,255,77,.3) 100%);
  z-index: 0;
}
.seo-audit-how-step {
  position: relative;
  z-index: 1;
  text-align: center;
}
.seo-audit-how-step-num {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--lime);
  color: #080c14;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  position: relative;
  z-index: 2;
}
.seo-audit-how-step h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  margin: 0 0 .5rem;
}
.seo-audit-how-step p {
  font-size: .83rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .seo-audit-inner { grid-template-columns: 1fr; gap: 3rem; }
  .seo-audit-form-card { position: static; }
  .seo-audit-covers-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .seo-audit-section,
  .seo-audit-covers,
  .seo-audit-how { padding-left: 2rem; padding-right: 2rem; }
  .seo-audit-how-steps { grid-template-columns: 1fr; }
  .seo-audit-how-steps::before { display: none; }
}
@media (max-width: 640px) {
  .seo-audit-section,
  .seo-audit-covers,
  .seo-audit-how { padding-left: 1.25rem; padding-right: 1.25rem; }
  .seo-audit-covers-grid { grid-template-columns: 1fr; }
  .seo-audit-form-card { padding: 1.75rem 1.25rem; }
}


.gform-theme--framework .gfield_list_group_item::before:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	color: #e8f0ff !important;
}