@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;700&display=swap');

:root {
  --bg: #0A0A0A;
  --bg-raised: #121212;
  --line: #232323;
  --white: #FFFFFF;
  --muted: #9A9A9A;
  --dim: #6A6A6A;
  --teal: #5DCAA5;
  --teal-bg: #12302C;
  --teal-border: #1F4A44;
  --magenta: #D4537E;
  --font: 'Geist', Helvetica, Arial, sans-serif;
  --max: 1040px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--white);
  font-family: var(--font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.wrap { max-width: 100%; margin: 0 auto; padding: 0 48px; }

h1, h2, h3 { font-family: var(--font); }

/* header */

header.site { border-bottom: 0.5px solid var(--line); position: relative; z-index: 20; }

header.site .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  padding-bottom: 18px;
}

.logo img { height: 62px; width: auto; display: block; }

nav.main { display: flex; align-items: center; gap: 24px; }

nav.main a.link {
  font-size: 14px;
  font-weight: 500;
  color: #C9C9C9;
  transition: color 0.15s ease;
}
nav.main a.link:hover { color: var(--white); }

/* dropdown nav */

.nav-dropdown { position: relative; }

.nav-dropdown-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  color: #C9C9C9;
  padding: 0;
}
.nav-dropdown-toggle:hover { color: var(--white); }

.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 28px;
  left: 0;
  background: var(--bg-raised);
  border: 0.5px solid var(--line);
  border-radius: 6px;
  padding: 6px;
  min-width: 200px;
}
.nav-dropdown-menu.open { display: block; }

.nav-dropdown-menu a {
  display: block;
  padding: 9px 10px;
  font-size: 13px;
  color: #D9D9D9;
  border-radius: 4px;
}
.nav-dropdown-menu a:hover { background: var(--bg); color: var(--white); }

.btn {
  display: inline-block;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 500;
  padding: 12px 22px;
  border-radius: 4px;
  cursor: pointer;
  border: 0.5px solid transparent;
  transition: opacity 0.15s ease, background 0.15s ease;
}
.btn-primary { background: var(--white); color: var(--bg); }
.btn-primary:hover { opacity: 0.88; }
.btn-outline { background: transparent; color: var(--teal); border-color: var(--teal-border); }
.btn-outline:hover { background: var(--teal-bg); }
nav.main .btn { padding: 9px 16px; font-size: 13px; }

/* hero (home) */

.hero { padding: 56px 0 40px; text-align: center; }

.eyebrow-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  color: var(--teal);
  background: var(--teal-bg);
  border: 0.5px solid var(--teal-border);
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 20px;
}

h1 {
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 700;
  line-height: 1.25;
  max-width: 700px;
  margin: 0 auto 18px;
}

.lede {
  font-size: 15px;
  color: var(--muted);
  max-width: 520px;
  margin: 0 auto 28px;
}

.cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }


/* home process (how it works) */

.how-section { padding: 44px 0; border-top: 0.5px solid var(--line); }
.how-section h2 { font-size: 18px; font-weight: 500; color: var(--white); text-align: center; margin: 0 0 8px; }
.how-section .how-sub { font-size: 13px; color: var(--muted); text-align: center; max-width: 480px; margin: 0 auto 36px; }
.how-row { display: flex; align-items: flex-start; max-width: 720px; margin: 0 auto; }
.how-step { flex: 1; position: relative; padding-right: 24px; text-align: left; }
.how-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--teal);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 14px;
  background: var(--bg);
  position: relative;
  z-index: 2;
}
.how-line { position: absolute; top: 16px; left: 32px; right: 0; height: 1px; background: var(--line); z-index: 1; }
.how-step:last-child .how-line { display: none; }
.how-title { font-size: 14px; font-weight: 500; color: var(--white); margin: 0 0 6px; }
.how-desc { font-size: 12px; color: var(--muted); line-height: 1.5; max-width: 200px; }

/* home service accordion */

.svc-accordion { padding: 8px 0 0; }

.svc-item { border-bottom: 0.5px solid var(--line); }

.svc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 0;
  cursor: pointer;
}

.svc-head-left { display: flex; align-items: center; gap: 12px; }
.svc-head-left span.label { font-size: 15px; font-weight: 500; color: var(--white); }
.svc-icon { color: var(--dim); font-size: 16px; }

.dot { width: 8px; height: 8px; border-radius: 50%; }
.dot.teal { background: var(--teal); }
.dot.magenta { background: var(--magenta); }

.dot-dual { position: relative; width: 14px; height: 8px; display: inline-block; }
.dot-dual span { position: absolute; top: 0; width: 8px; height: 8px; border-radius: 50%; }
.dot-dual span:first-child { left: 0; background: var(--teal); }
.dot-dual span:last-child { left: 6px; background: var(--magenta); }

.svc-body { display: none; padding: 0 0 28px; }
.svc-body p.desc { font-size: 13px; color: var(--muted); margin: 0 0 20px; max-width: 640px; }
.svc-body a.more { font-size: 12.5px; color: var(--teal); }

/* funnel visual */

.funnel { display: flex; align-items: flex-end; gap: 14px; height: 100px; margin-bottom: 20px; }
.funnel-bar {
  width: 56px;
  background: var(--teal);
  height: 0;
  border-radius: 3px 3px 0 0;
  position: relative;
  transition: height 0.6s ease;
}
.funnel-bar span {
  position: absolute;
  top: -18px;
  font-size: 10.5px;
  color: #8A8A8A;
  width: 100%;
  text-align: center;
  left: 0;
}

/* before/after visual */

.ba-row { margin-bottom: 5px; display: flex; justify-content: space-between; font-size: 11px; color: #8A8A8A; }
.ba-track { background: #1E1E1E; border-radius: 4px; height: 10px; margin-bottom: 14px; }
.ba-fill { width: 0; height: 10px; border-radius: 4px; transition: width 0.6s ease; }

/* timeline visual */

.timeline { display: flex; align-items: flex-start; max-width: 460px; }
.timeline-step { display: flex; flex-direction: column; align-items: center; flex: 1; }
.timeline-dot { width: 12px; height: 12px; border-radius: 50%; margin-bottom: 10px; }
.timeline-label { font-size: 13px; font-weight: 500; color: var(--white); margin-bottom: 4px; }
.timeline-desc { font-size: 11px; color: #8A8A8A; text-align: center; max-width: 120px; }
.timeline-line { flex: 1; height: 1px; background: var(--line); margin-top: 6px; }

/* visual card wrapper */

.visual-card {
  background: var(--bg-raised);
  border: 0.5px solid var(--line);
  border-radius: 8px;
  padding: 24px;
}
.visual-card p.visual-label { font-size: 12px; color: #8A8A8A; margin: 0 0 16px; }

/* stats block */

.stats-section { padding: 44px 0; border-top: 0.5px solid var(--line); }
.stats-kicker { font-size: 11px; color: #5A5A5A; text-align: center; margin: 0 0 6px; }
.stats-h2 { font-size: 18px; font-weight: 500; color: var(--white); text-align: center; max-width: 480px; margin: 0 auto 28px; line-height: 1.4; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stat-card { border: 0.5px solid var(--line); border-radius: 8px; padding: 18px; }
.stat-number { font-size: 27px; font-weight: 700; margin: 0 0 6px; }
.stat-desc { font-size: 12px; color: #C9C9C9; margin: 0 0 6px; line-height: 1.5; }
.stat-source { font-size: 10px; color: #5A5A5A; margin: 0; }

/* generic page hero (service pages) */

.page-hero { padding: 48px 0 8px; }
.page-hero .eyebrow { font-size: 12px; margin: 0 0 14px; }
.page-hero h1 { text-align: left; margin: 0 0 14px; max-width: 560px; }
.page-hero .lede { text-align: left; margin: 0 0 28px; max-width: 480px; }

.visual-wrap { padding: 0 0 40px; }

/* included list */

.included-title { font-size: 13px; font-weight: 500; color: var(--white); margin: 0 0 14px; }
.included-list { display: flex; flex-direction: column; gap: 10px; max-width: 460px; margin: 0 0 20px; }
.included-item { font-size: 13px; color: var(--muted); padding: 10px 0; border-bottom: 0.5px solid var(--line); }
.included-item:last-child { border-bottom: none; }

.section-block { padding: 0 0 44px; }

/* faq accordion (generic) */

.faq-section { padding: 40px 0; border-top: 0.5px solid var(--line); }
.faq-section h2 { font-size: 16px; font-weight: 500; color: var(--white); margin: 0 0 16px; }
.faq-list { border-top: 0.5px solid var(--line); }
.faq-question {
  padding: 14px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  cursor: pointer;
  border-bottom: 0.5px solid var(--line);
  gap: 10px;
}
.faq-question span.q { font-size: 13.5px; color: var(--white); max-width: none; flex: 1; }
.faq-question span.icon { color: var(--teal); flex-shrink: 0; }
.faq-answer {
  display: none;
  padding: 0 0 14px;
  font-size: 12.5px;
  color: var(--muted);
  border-bottom: 0.5px solid var(--line);
  max-width: 720px;
  line-height: 1.6;
}

/* closing band */

.band { padding: 40px 0; text-align: center; border-top: 0.5px solid var(--line); }
.band h2 { font-size: 19px; font-weight: 700; margin: 0 0 18px; }

/* footer */

footer.site { padding: 22px 0; }
footer.site .wrap { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
footer.site .logo img { height: 22px; width: auto; opacity: 0.85; }
footer.site a.mail { font-size: 12px; color: var(--dim); }
footer.site a.mail:hover { color: var(--muted); }

/* contact page */

.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 56px 0 72px; }
.contact-form { display: flex; flex-direction: column; gap: 12px; max-width: 420px; }
.contact-form input, .contact-form textarea {
  background: var(--bg-raised);
  border: 0.5px solid var(--line);
  border-radius: 4px;
  padding: 12px 14px;
  color: var(--white);
  font-size: 14px;
  font-family: var(--font);
  width: 100%;
}
.contact-form textarea { resize: vertical; min-height: 100px; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--teal-border); }
.contact-side h2 { font-size: 22px; font-weight: 700; margin: 0 0 14px; }
.contact-side p { color: var(--muted); font-size: 14.5px; margin: 0 0 22px; max-width: 400px; }
.contact-meta { font-size: 14px; color: var(--muted); margin: 0 0 8px; }
.contact-meta a { color: var(--teal); }

/* blog placeholder */

.blog-empty { padding: 80px 28px; text-align: center; }
.blog-empty h1 { margin: 0 auto 14px; }
.blog-empty p { color: var(--muted); font-size: 14px; max-width: 420px; margin: 0 auto; }

/* two-column page hero (service pages) */

.hero-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 64px;
  align-items: center;
  padding: 56px 0 52px;
  border-bottom: 0.5px solid var(--line);
}
.hero-grid h1 { text-align: left; margin: 0 0 14px; max-width: none; }
.hero-grid .lede { text-align: left; margin: 0 0 26px; max-width: none; }
.hero-grid .visual-card { margin: 0; max-width: none; }

/* comparison table */

.compare-section { padding: 44px 0; border-top: 0.5px solid var(--line); }
.compare-section h2 { font-size: 20px; font-weight: 700; margin: 0 0 24px; }
table.compare { width: 100%; border-collapse: collapse; }
table.compare th, table.compare td {
  text-align: left;
  padding: 14px 16px;
  font-size: 13px;
  border-bottom: 0.5px solid var(--line);
  vertical-align: top;
}
table.compare th { color: #7A7A7A; font-weight: 500; font-size: 12px; }
table.compare td.row-label { color: var(--white); font-weight: 500; white-space: nowrap; }
table.compare td { color: #B9B9B9; }
table.compare tr:last-child td { border-bottom: none; }
table.compare th.forza-col, table.compare td.forza-col { background: rgba(93, 202, 165, 0.06); }
table.compare th.forza-col { color: var(--teal); }

/* process steps */

.process-section { padding: 44px 0; border-top: 0.5px solid var(--line); }
.process-section h2 { font-size: 20px; font-weight: 700; margin: 0 0 36px; }
.process-row { display: flex; align-items: flex-start; }
.process-step { flex: 1; position: relative; padding-right: 20px; }
.process-num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--teal);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
  background: var(--bg);
  position: relative;
  z-index: 2;
}
.process-line { position: absolute; top: 17px; left: 34px; right: -20px; height: 1px; background: var(--line); z-index: 1; }
.process-step:last-child .process-line { display: none; }
.process-title { font-size: 14px; font-weight: 500; color: var(--white); margin: 0 0 8px; }
.process-desc { font-size: 12.5px; color: var(--muted); line-height: 1.5; max-width: 210px; }

/* feature card grid (replaces plain included-list) */

.feature-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; margin: 0 0 24px; }
.feature-card { border: 0.5px solid var(--line); border-radius: 8px; padding: 20px; }
.feature-icon {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: var(--teal-bg);
  color: var(--teal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
}
.feature-card h3 { font-size: 13.5px; font-weight: 500; color: var(--white); margin: 0 0 6px; }
.feature-card p { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.5; }

/* home sections uniform spacing */

.svc-section { padding: 8px 0 0; border-top: 0.5px solid var(--line); }

.section-kicker { font-size: 11px; color: var(--teal); text-align: center; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 10px; }
.section-h2 { font-size: 22px; font-weight: 700; color: var(--white); text-align: center; max-width: 680px; margin: 0 auto 16px; line-height: 1.35; }
.section-sub { font-size: 14px; color: var(--muted); text-align: center; max-width: 720px; margin: 0 auto 32px; line-height: 1.65; }

.how-section { padding: 52px 0; border-top: 0.5px solid var(--line); }
.how-section .section-h2 { margin-bottom: 36px; }
.how-row { display: flex; align-items: flex-start; gap: 0; }
.how-step { flex: 1; position: relative; padding-right: 24px; }
.how-num {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1.5px solid var(--teal); color: var(--teal);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; margin-bottom: 14px;
  background: var(--bg); position: relative; z-index: 2;
}
.how-line { position: absolute; top: 17px; left: 34px; right: 0; height: 1px; background: var(--line); z-index: 1; }
.how-step:last-child .how-line { display: none; }
.how-title { font-size: 14px; font-weight: 500; color: var(--white); margin: 0 0 7px; }
.how-desc { font-size: 12.5px; color: var(--muted); line-height: 1.6; padding-right: 12px; }

.how-step-anim { transition: opacity 0.5s ease, transform 0.5s ease; }
.how-step-anim.visible { opacity: 1 !important; transform: translateY(0) !important; }

.acc-visual { max-width: 540px; }

.ai-matters-section { padding: 52px 0; border-top: 0.5px solid var(--line); }
.stats-footnote { font-size: 12px; color: #5A5A5A; text-align: center; margin: 24px auto 0; max-width: 520px; line-height: 1.6; }

/* GTM vertical timeline */

.gtm-timeline { position: relative; padding: 8px 0 0; }
.gtm-timeline::before {
  content: '';
  position: absolute;
  left: 17px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--line);
  z-index: 1;
}
.gtm-tl-item {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  padding: 0 0 32px;
  position: relative;
  font-family: var(--font);
}
.gtm-tl-dot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--teal);
  color: var(--teal);
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  font-family: var(--font);
}
.gtm-tl-content { padding-top: 6px; font-family: var(--font); }
.gtm-tl-label { font-size: 11px; font-weight: 500; color: var(--teal); margin: 0 0 4px; letter-spacing: 0.05em; text-transform: uppercase; font-family: var(--font); }
.gtm-tl-title { font-size: 15px; font-weight: 600; color: var(--white); margin: 0 0 6px; font-family: var(--font); }
.gtm-tl-desc { font-size: 13px; color: var(--muted); line-height: 1.6; max-width: 580px; margin: 0; font-family: var(--font); }
.gtm-tl-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  color: var(--teal);
  background: var(--teal-bg);
  border: 0.5px solid var(--teal-border);
  padding: 3px 8px;
  border-radius: 12px;
  margin-top: 8px;
}

/* AI services grid (search page) */
.ai-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 28px 0; }
.ai-service-card {
  border: 0.5px solid var(--line);
  border-radius: 8px;
  padding: 20px;
  background: var(--bg-raised);
  transition: border-color 0.15s;
}
.ai-service-card:hover { border-color: var(--teal-border); }
.ai-service-icon {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--teal-bg); border: 0.5px solid var(--teal-border);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; margin-bottom: 12px;
}
.ai-service-card h3 { font-size: 13.5px; font-weight: 600; color: var(--white); margin: 0 0 7px; }
.ai-service-card p { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.55; }

/* 2-column FAQ grid */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.faq-grid .faq-list { border-top: 0.5px solid var(--line); }

@media (max-width: 720px) {
  .faq-grid { grid-template-columns: 1fr; }
  .how-row { flex-direction: column; gap: 24px; }
  .how-step { padding-right: 0; }
  .how-line { display: none; }
}

@media (max-width: 720px) {
  nav.main { gap: 12px; }
  nav.main a.link, nav.main .nav-dropdown-toggle { display: none; }
  .stats-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .page-hero h1 { font-size: 24px; }
  .hero-grid { grid-template-columns: 1fr; }
  .process-row { flex-direction: column; gap: 24px; }
  .process-line { display: none; }
  table.compare { font-size: 12px; }
  table.compare th, table.compare td { padding: 10px 8px; }
}


/* ===== September 2026 layout polish ===== */

/* Keep the content visually centered on large screens while preserving breathing room. */
.wrap { max-width: 1240px; }

/* Contact: the previous .contact-grid rule removed .wrap's horizontal padding. */
.page-contact .contact-grid {
  max-width: 1120px;
  margin: 0 auto;
  padding: 72px 56px 88px;
  grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr);
  gap: 76px;
  align-items: start;
}
.page-contact .contact-side { padding-top: 8px; }
.page-contact .contact-side h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; max-width: 470px; }
.page-contact .contact-side p { max-width: 470px; line-height: 1.75; }
.page-contact .contact-form { max-width: 480px; width: 100%; }

/* Home accordion: use the empty right side instead of stacking everything on the left. */
.page-home .svc-section .wrap { max-width: 1180px; }
.page-home .svc-head { padding: 24px 0; }
.page-home .svc-body {
  grid-template-columns: minmax(280px, .78fr) minmax(440px, 1.22fr);
  grid-template-areas: "copy visual" "link visual";
  column-gap: 72px;
  row-gap: 14px;
  align-items: center;
  padding: 4px 0 34px;
}
.page-home .svc-body p.desc { grid-area: copy; max-width: 430px; font-size: 14px; line-height: 1.75; margin: 0; }
.page-home .svc-body .acc-visual { grid-area: visual; max-width: none; width: 100%; margin-bottom: 0 !important; }
.page-home .svc-body a.more { grid-area: link; align-self: start; }
.page-home .acc-visual > div[style*="height:90px"] { height: 132px !important; }

/* Align the process heading with the process itself, rather than the viewport edge. */
.page-home .how-section .wrap { max-width: 1100px; }
.page-home .how-section .section-kicker,
.page-home .how-section .section-h2 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.page-home .how-section .section-h2 { margin-bottom: 38px; }
.page-home .how-row { max-width: 900px; margin: 0 auto; gap: 22px; }
.page-home .how-step { padding-right: 10px; }
.page-home .how-desc { max-width: 245px; font-size: 13px; }

/* Larger, more balanced service-page hero visuals. */
.page-gtm .hero-grid,
.page-search .hero-grid,
.page-growth .hero-grid {
  grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr);
  gap: 78px;
  padding: 68px 0 64px;
}
.page-gtm .hero-grid .visual-card,
.page-search .hero-grid .visual-card,
.page-growth .hero-grid .visual-card {
  min-height: 310px;
  padding: 32px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-gtm .gtm-funnel-row { padding-top: 14px !important; padding-bottom: 14px !important; }
.page-search #viz-before-bar,
.page-search #viz-after-bar { height: 14px !important; }
.page-search #viz-before-bar { min-height: 14px; }
.page-growth #growth-svg { min-height: 170px; }
.page-growth .hero-grid .visual-card > div[style*="height:110px"] { height: 176px !important; }

/* GTM roadmap: centered spine with alternating left / right content. */
.page-gtm .section-block { max-width: 1160px; margin-left: auto; margin-right: auto; }
.page-gtm .gtm-timeline { max-width: 1040px; margin: 12px auto 0; padding: 12px 0 0; }
.page-gtm .gtm-timeline::before { left: 50%; transform: translateX(-50%); }
.page-gtm .gtm-tl-item { width: 50%; min-height: 170px; gap: 0; padding-bottom: 34px; }
.page-gtm .gtm-tl-item:nth-child(odd) { margin-left: 0; padding-right: 54px; justify-content: flex-end; text-align: right; }
.page-gtm .gtm-tl-item:nth-child(even) { margin-left: 50%; padding-left: 54px; text-align: left; }
.page-gtm .gtm-tl-dot { position: absolute; top: 0; }
.page-gtm .gtm-tl-item:nth-child(odd) .gtm-tl-dot { right: -17px; }
.page-gtm .gtm-tl-item:nth-child(even) .gtm-tl-dot { left: -17px; }
.page-gtm .gtm-tl-content { padding-top: 3px; max-width: 430px; }
.page-gtm .gtm-tl-desc { max-width: 430px; font-size: 13.5px; line-height: 1.7; }
.page-gtm .gtm-tl-item:nth-child(odd) .gtm-tl-desc { margin-left: auto; }

/* Growth partnership: center the section intro and improve card readability. */
.page-growth .growth-included {
  max-width: 1180px;
  margin: 0 auto;
  padding: 58px 56px 62px;
}
.page-growth .growth-included > h2,
.page-growth .growth-included > p { text-align: center; margin-left: auto !important; margin-right: auto !important; }
.page-growth .growth-included > p { max-width: 760px !important; font-size: 14px !important; }
.page-growth .growth-included .feature-grid { margin-top: 34px; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.page-growth .growth-included .feature-card { padding: 24px 22px; min-height: 232px; }
.page-growth .growth-included .feature-card h3 { font-size: 14.5px; }
.page-growth .growth-included .feature-card p { font-size: 13px; line-height: 1.7; }
.page-growth .growth-included > .btn { display: table; margin: 28px auto 0; }

/* Subtle moving signal band: visual energy without turning the site into a gimmick. */
.signal-strip {
  width: 100%;
  overflow: hidden;
  border-top: 0.5px solid var(--line);
  border-bottom: 0.5px solid var(--line);
  background: linear-gradient(90deg, rgba(93,202,165,.035), rgba(212,83,126,.035), rgba(93,202,165,.035));
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.signal-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 11px 0;
  animation: forzaTicker 28s linear infinite;
  will-change: transform;
}
.signal-strip.reverse .signal-track { animation-direction: reverse; animation-duration: 31s; }
.signal-track span {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  color: #7D7D7D;
  white-space: nowrap;
}
.signal-track i { width: 5px; height: 5px; border-radius: 50%; background: var(--teal); opacity: .75; flex: 0 0 auto; }
.signal-track span:nth-of-type(3n+2) + i { background: var(--magenta); }
@keyframes forzaTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .signal-track { animation: none; } }

@media (max-width: 900px) {
  .page-home .svc-body { grid-template-columns: 1fr; grid-template-areas: "copy" "visual" "link"; row-gap: 18px; }
  .page-home .svc-body p.desc { max-width: 680px; }
  .page-home .how-section .section-kicker,
  .page-home .how-section .section-h2 { text-align: center; }
  .page-gtm .hero-grid,
  .page-search .hero-grid,
  .page-growth .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .page-growth .growth-included .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .wrap { padding-left: 24px; padding-right: 24px; }
  .page-contact .contact-grid { padding: 48px 24px 64px; grid-template-columns: 1fr; gap: 38px; }
  .page-home .how-row { gap: 24px; }
  .page-home .how-section .section-kicker,
  .page-home .how-section .section-h2 { text-align: left; }
  .page-gtm .gtm-timeline { padding-left: 18px; }
  .page-gtm .gtm-timeline::before { left: 35px; transform: none; }
  .page-gtm .gtm-tl-item,
  .page-gtm .gtm-tl-item:nth-child(odd),
  .page-gtm .gtm-tl-item:nth-child(even) {
    width: 100%; margin-left: 0; padding-left: 72px; padding-right: 0; text-align: left; min-height: 0; padding-bottom: 34px;
  }
  .page-gtm .gtm-tl-item:nth-child(odd) .gtm-tl-dot,
  .page-gtm .gtm-tl-item:nth-child(even) .gtm-tl-dot { left: 0; right: auto; }
  .page-gtm .gtm-tl-item:nth-child(odd) .gtm-tl-desc { margin-left: 0; }
  .page-growth .growth-included { padding: 46px 24px 54px; }
  .page-growth .growth-included .feature-grid { grid-template-columns: 1fr; }
  .page-gtm .hero-grid .visual-card,
  .page-search .hero-grid .visual-card,
  .page-growth .hero-grid .visual-card { min-height: 0; padding: 24px !important; }
}

/* === V3 visual polish === */
/* Hero signal: more distinctive than a static badge. */
.hero-signal {
  display:inline-flex; align-items:center; gap:9px; height:34px; padding:0 13px;
  border:1px solid rgba(93,202,165,.32); border-radius:999px;
  background:linear-gradient(90deg,rgba(93,202,165,.11),rgba(93,202,165,.035));
  box-shadow:inset 0 0 22px rgba(93,202,165,.035); overflow:hidden;
  font-size:11px; letter-spacing:.015em; color:#A8A8A8; transition:.25s ease;
}
.hero-signal:hover { transform:translateY(-2px); border-color:rgba(93,202,165,.65); box-shadow:0 8px 30px rgba(93,202,165,.09); }
.hero-signal-dot { width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(93,202,165,.55);animation:signalPulse 1.8s infinite; }
.hero-signal-label { color:#777; }
.hero-signal-rotate { height:16px; overflow:hidden; display:inline-flex; flex-direction:column; color:var(--teal); font-weight:600; min-width:86px; }
.hero-signal-rotate span { height:16px; line-height:16px; animation:signalWords 8s cubic-bezier(.65,0,.35,1) infinite; }
.hero-signal-arrow { color:var(--teal); transition:transform .25s ease; }
.hero-signal:hover .hero-signal-arrow { transform:translate(2px,-2px); }
@keyframes signalPulse { 70% { box-shadow:0 0 0 7px rgba(93,202,165,0); } 100% { box-shadow:0 0 0 0 rgba(93,202,165,0); } }
@keyframes signalWords { 0%,20%{transform:translateY(0)} 28%,48%{transform:translateY(-16px)} 56%,76%{transform:translateY(-32px)} 84%,100%{transform:translateY(-48px)} }

/* Ticker: faster and more alive. */
.signal-track { animation-duration:18s !important; }
.signal-strip.reverse .signal-track { animation-duration:21s !important; }

/* Home process + why-it-matters share the same centered visual axis. */
.page-home .how-section .wrap,
.page-home .ai-matters-section .wrap { max-width:1120px; }
.page-home .how-section .section-kicker,
.page-home .how-section .section-h2,
.page-home .ai-matters-section .section-kicker,
.page-home .ai-matters-section .section-h2,
.page-home .ai-matters-section .section-sub { text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
.page-home .how-section .section-h2 { max-width:760px; margin-bottom:48px; }
.page-home .how-row { max-width:1040px; gap:38px; position:relative; }
.page-home .how-step { min-height:188px; padding:4px 18px 0; border-radius:12px; transition:transform .3s ease, background .3s ease; }
.page-home .how-step:hover { transform:translateY(-7px) !important; background:linear-gradient(180deg,rgba(255,255,255,.018),transparent); }
.page-home .how-num { width:36px;height:36px;display:grid;place-items:center;transition:box-shadow .3s ease,transform .3s ease; }
.page-home .how-step:hover .how-num { transform:scale(1.08); box-shadow:0 0 0 6px rgba(93,202,165,.05); }
.page-home .how-line { top:21px; left:54px; right:-38px; background:linear-gradient(90deg,var(--line),rgba(93,202,165,.35),var(--line)); background-size:200% 100%; animation:processFlow 3.4s linear infinite; }
.page-home .how-title { font-size:16px; margin-top:14px; }
.page-home .how-desc { max-width:280px; font-size:13.5px; line-height:1.65; }
@keyframes processFlow { from{background-position:200% 0} to{background-position:-200% 0} }
.page-home .ai-matters-section .section-h2 { max-width:760px; }
.page-home .ai-matters-section .section-sub { max-width:860px; font-size:13.5px; line-height:1.7; }

/* Unique home accordion visuals (different from service landing charts). */
.home-visual-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:18px; }
.home-visual-head>span { font-size:12px;color:#BDBDBD;font-weight:600; }
.home-visual-head small { font-size:10.5px;color:#5F5F5F; }
.home-leak-map,.home-citation-map,.home-roadmap-visual { min-height:220px; padding:24px; border:1px solid #202020; border-radius:12px; background:radial-gradient(circle at 50% 10%,rgba(93,202,165,.04),transparent 46%); }
.journey-flow { display:grid;grid-template-columns:1fr 54px 1fr 54px 1fr 54px 1fr;align-items:center;margin:26px 0 24px; }
.journey-node { min-height:96px;border:1px solid #292929;border-radius:10px;padding:14px 12px;display:flex;flex-direction:column;justify-content:center;position:relative;transition:.25s ease;background:#0D0D0D; }
.journey-node:hover { border-color:rgba(93,202,165,.6);transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,.28); }
.journey-node.warn:hover { border-color:rgba(212,83,126,.65); }
.journey-node span { font-size:9px;color:#5E5E5E;letter-spacing:.12em; }
.journey-node b { font-size:13px;color:#F5F5F5;margin:5px 0; }
.journey-node em { font-size:18px;color:var(--teal);font-style:normal;font-weight:600; }
.journey-node.warn em { color:var(--magenta); }
.journey-connector { height:1px;background:#292929;position:relative;overflow:visible; }
.journey-connector i { width:7px;height:7px;border-radius:50%;background:var(--teal);position:absolute;top:-3px;left:0;animation:journeyDot 2s ease-in-out infinite; }
@keyframes journeyDot { 0%{left:0;opacity:.2} 50%{opacity:1} 100%{left:calc(100% - 7px);opacity:.2} }
.journey-insight { display:flex;align-items:flex-start;gap:10px;color:#777;font-size:11px;line-height:1.55; }
.journey-insight span { width:7px;height:7px;border-radius:50%;background:var(--magenta);margin-top:5px;flex:0 0 auto; }
.journey-insight p { margin:0 !important;max-width:none !important; }

.citation-orbit { position:relative;height:205px; }
.citation-orbit svg { position:absolute;inset:0;width:100%;height:100%; }
.orbit-link { stroke:#2E2E2E;stroke-width:1.3;fill:none;stroke-dasharray:5 5;animation:dashOrbit 8s linear infinite; }
.l2,.l4 { stroke:rgba(212,83,126,.35);animation-direction:reverse; }
@keyframes dashOrbit { to{stroke-dashoffset:-80} }
.citation-core { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:118px;height:72px;border:1px solid rgba(93,202,165,.55);border-radius:50%;display:grid;place-content:center;text-align:center;background:#0C1714;box-shadow:0 0 40px rgba(93,202,165,.08); }
.citation-core span { color:var(--teal);font-size:14px;font-weight:700;letter-spacing:.08em; }
.citation-core small { color:#5D766E;font-size:9px;margin-top:3px; }
.citation-node { position:absolute;border:1px solid #2A2A2A;border-radius:9px;background:#0D0D0D;padding:10px 13px;min-width:118px;transition:.25s ease; }
.citation-node:hover { transform:translateY(-4px);border-color:#444;background:#111; }
.citation-node b { display:block;color:#EAEAEA;font-size:11.5px; }
.citation-node small { color:#666;font-size:9.5px; }
.citation-node.n1{left:2%;top:7%}.citation-node.n2{right:2%;top:4%}.citation-node.n3{right:0;bottom:4%}.citation-node.n4{left:0;bottom:2%}

.roadmap-track { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:18px;margin-top:6px; }
.roadmap-track:before { content:"";position:absolute;top:6px;left:5%;right:5%;height:2px;background:#232323;border-radius:4px; }
.roadmap-progress { position:absolute;top:6px;left:5%;height:2px;width:18%;background:linear-gradient(90deg,var(--teal),var(--magenta));box-shadow:0 0 12px rgba(93,202,165,.22);transition:width .4s cubic-bezier(.2,.8,.2,1); }
.roadmap-phase { appearance:none;text-align:left;border:1px solid #292929;background:#0D0D0D;border-radius:11px;padding:16px 14px;color:#fff;cursor:pointer;transition:.25s ease;font-family:var(--font); }
.roadmap-phase:hover,.roadmap-phase.active { transform:translateY(-5px);border-color:rgba(93,202,165,.5);background:linear-gradient(180deg,rgba(93,202,165,.07),#0D0D0D); }
.roadmap-phase span { font-size:9px;color:var(--teal);letter-spacing:.12em; }
.roadmap-phase b { display:block;font-size:15px;margin:6px 0 4px; }
.roadmap-phase small { color:#737373;font-size:10px; }
.roadmap-detail { margin-top:18px;padding:12px 14px;border-left:2px solid var(--teal);background:#0C0C0C;display:flex;gap:12px;align-items:center; }
.roadmap-detail strong { color:var(--teal);font-size:10px;white-space:nowrap;letter-spacing:.08em; }
.roadmap-detail span { color:#818181;font-size:10.5px;line-height:1.45; }

/* Growth landing hero chart: make the data visualization a real hero element. */
.page-growth .growth-hero-chart { min-height:340px; display:flex; flex-direction:column; justify-content:center; }
.page-growth .growth-hero-chart > div[style*="height:230px"] { height:245px !important; }
.page-growth #growth-svg { min-height:235px !important; }
.page-growth .growth-hero-chart svg { cursor:crosshair; }
.page-growth .growth-hero-chart circle { filter:drop-shadow(0 0 5px rgba(93,202,165,.35)); }

@media(max-width:900px){
  .journey-flow{grid-template-columns:1fr;gap:9px}.journey-connector{height:22px;width:1px;margin:auto}.journey-connector i{top:0;left:-3px;animation:none}
  .citation-node{min-width:105px}.page-home .how-row{gap:18px}.page-home .how-line{right:-18px}
}
@media(max-width:720px){
  .hero-signal{max-width:100%;}.home-leak-map,.home-citation-map,.home-roadmap-visual{padding:18px}.roadmap-track{grid-template-columns:1fr}.roadmap-track:before,.roadmap-progress{display:none}
  .page-home .how-section .section-kicker,.page-home .how-section .section-h2{text-align:center!important}.page-home .how-line{display:none}.page-home .how-step{text-align:center}.page-home .how-num{margin:0 auto}.page-home .how-desc{margin-left:auto;margin-right:auto}
  .citation-orbit{height:320px}.citation-core{top:50%}.citation-node.n1{left:0;top:2%}.citation-node.n2{right:0;top:2%}.citation-node.n3{right:0;bottom:2%}.citation-node.n4{left:0;bottom:2%}
}

/* === V4 alignment + interaction polish === */

/* Search: center the process intro so it follows the page's visual axis. */
.page-search .process-section .wrap {
  max-width: 1120px;
}
.page-search .process-section h2,
.page-search .process-section .wrap > p {
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-search .process-section h2 {
  margin-bottom: 14px;
}
.page-search .process-section .wrap > p {
  max-width: 700px !important;
  margin-bottom: 38px !important;
}

/* Search hero visual: add motion, depth and an automatic "live benchmark" feel. */
.page-search .hero-grid .visual-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(212,83,126,.18);
  background:
    radial-gradient(circle at 82% 18%, rgba(212,83,126,.08), transparent 30%),
    radial-gradient(circle at 18% 78%, rgba(93,202,165,.055), transparent 34%),
    #101010;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.page-search .hero-grid .visual-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212,83,126,.34);
  box-shadow: 0 22px 58px rgba(0,0,0,.32), 0 0 42px rgba(212,83,126,.045);
}
.page-search .hero-grid .visual-card::after {
  content: "";
  position: absolute;
  left: -35%;
  top: 0;
  width: 30%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.035), transparent);
  transform: skewX(-18deg);
  animation: searchCardSweep 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes searchCardSweep {
  0%, 20% { left: -35%; opacity: 0; }
  30% { opacity: 1; }
  62% { left: 115%; opacity: .75; }
  72%, 100% { left: 115%; opacity: 0; }
}
.page-search #viz-tabs button {
  transition: transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease !important;
}
.page-search #viz-tabs button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
.page-search #viz-before-bar,
.page-search #viz-after-bar {
  position: relative;
  overflow: hidden;
  transition: width .75s cubic-bezier(.22,1,.36,1), background .35s ease !important;
}
.page-search #viz-after-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  transform: translateX(-120%);
  animation: barShimmer 2.4s ease-in-out infinite;
}
@keyframes barShimmer {
  0%, 34% { transform: translateX(-120%); }
  72%, 100% { transform: translateX(120%); }
}
.page-search #viz-insight {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.page-search #viz-insight::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 currentColor;
  animation: insightPulse 1.8s ease-out infinite;
}
@keyframes insightPulse {
  70% { box-shadow: 0 0 0 7px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

/* Growth partnership: center process heading/copy over the full timeline. */
.page-growth .process-section .wrap {
  max-width: 1160px;
}
.page-growth .process-section h2,
.page-growth .process-section .wrap > p {
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-growth .process-section h2 { margin-bottom: 14px; }
.page-growth .process-section .wrap > p {
  max-width: 720px !important;
  margin-bottom: 40px !important;
}

/* GTM: center both explanatory blocks, then animate process/timeline subtly. */
.page-gtm .process-section .wrap {
  max-width: 1160px;
}
.page-gtm .process-section h2,
.page-gtm .process-section .wrap > p,
.page-gtm .section-block > h2,
.page-gtm .section-block > p {
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-gtm .process-section h2 { margin-bottom: 14px; }
.page-gtm .process-section .wrap > p {
  max-width: 700px !important;
  margin-bottom: 42px !important;
}
.page-gtm .section-block > h2 { margin-bottom: 10px !important; }
.page-gtm .section-block > p {
  max-width: 760px !important;
  margin-bottom: 46px !important;
}

/* Horizontal GTM audit process: animated connector and responsive hover states. */
.page-gtm .process-step {
  transition: transform .28s ease, opacity .28s ease;
}
.page-gtm .process-step:hover { transform: translateY(-5px); }
.page-gtm .process-num {
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.page-gtm .process-step:hover .process-num {
  transform: scale(1.08);
  background: rgba(93,202,165,.08);
  box-shadow: 0 0 0 7px rgba(93,202,165,.035), 0 0 22px rgba(93,202,165,.08);
}
.page-gtm .process-line {
  overflow: hidden;
  background: #202020;
}
.page-gtm .process-line::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 36%;
  background: linear-gradient(90deg, transparent, rgba(93,202,165,.8), transparent);
  animation: processFlow 3.3s ease-in-out infinite;
}
.page-gtm .process-step:nth-child(2) .process-line::after { animation-delay: .55s; }
.page-gtm .process-step:nth-child(3) .process-line::after { animation-delay: 1.1s; }
@keyframes processFlow {
  0% { transform: translateX(-120%); opacity: 0; }
  18% { opacity: .9; }
  72% { opacity: .9; }
  100% { transform: translateX(320%); opacity: 0; }
}

/* Vertical GTM roadmap: stronger centered spine + reveal/hover energy. */
.page-gtm .gtm-timeline::before {
  background: linear-gradient(to bottom, rgba(93,202,165,.08), rgba(93,202,165,.58), rgba(212,83,126,.4), rgba(93,202,165,.08));
  background-size: 100% 220%;
  animation: roadmapSpine 6s linear infinite;
}
@keyframes roadmapSpine {
  0% { background-position: 0 0; }
  100% { background-position: 0 220%; }
}
.page-gtm .gtm-tl-content {
  transition: transform .3s ease, opacity .3s ease;
}
.page-gtm .gtm-tl-item:hover .gtm-tl-content { transform: translateY(-4px); }
.page-gtm .gtm-tl-dot {
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.page-gtm .gtm-tl-item:hover .gtm-tl-dot {
  transform: scale(1.1);
  background: #101A17;
  box-shadow: 0 0 0 8px rgba(93,202,165,.035), 0 0 24px rgba(93,202,165,.12);
}

@media (prefers-reduced-motion: reduce) {
  .page-search .hero-grid .visual-card::after,
  .page-search #viz-after-bar::after,
  .page-search #viz-insight::before,
  .page-gtm .process-line::after,
  .page-gtm .gtm-timeline::before { animation: none !important; }
}

@media (max-width: 720px) {
  .page-search .process-section h2,
  .page-search .process-section .wrap > p,
  .page-growth .process-section h2,
  .page-growth .process-section .wrap > p,
  .page-gtm .process-section h2,
  .page-gtm .process-section .wrap > p,
  .page-gtm .section-block > h2,
  .page-gtm .section-block > p { text-align: left; }
  .page-gtm .process-step:hover { transform: none; }
}

/* V5: seamless marquee, stronger service heroes, cascading proof cards */
.signal-track{animation:none!important;transform:translate3d(0,0,0);}

.page-gtm .gtm-final-cta{display:flex;justify-content:center;margin:44px auto 0!important;}
.page-gtm .gtm-final-cta .btn{font-size:15px;padding:16px 34px;min-width:220px;text-align:center;box-shadow:0 10px 34px rgba(255,255,255,.04);}

/* GTM hero: animated pipeline diagnostic instead of another funnel chart */
.pipeline-diagnostic{position:relative;min-height:360px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(93,202,165,.08),transparent 45%),#101010!important;}
.pipeline-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.pipeline-live{font-size:9px;letter-spacing:.13em;color:var(--teal);display:flex;align-items:center;gap:7px}.pipeline-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(93,202,165,.55);animation:signalPulse 1.6s infinite}
.pipeline-canvas{position:relative;height:235px}.pipeline-canvas svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pipe-base{stroke:#242424;stroke-width:2;fill:none}.pipe-live{stroke:url(#pipeGradient);stroke-width:2.2;fill:none;stroke-dasharray:7 8;animation:pipeDash 3s linear infinite}.pipe-leak{stroke:rgba(212,83,126,.7);stroke-width:1.4;stroke-dasharray:3 5;animation:pipeDash 2.2s linear infinite reverse}.pipe-pulse{fill:var(--teal);filter:drop-shadow(0 0 7px rgba(93,202,165,.8))}.pipe-pulse.p2{fill:var(--magenta);filter:drop-shadow(0 0 7px rgba(212,83,126,.8))}
@keyframes pipeDash{to{stroke-dashoffset:-60}}
.pipe-node{position:absolute;width:112px;padding:12px;border:1px solid #2b2b2b;border-radius:10px;background:rgba(13,13,13,.94);transition:.25s ease;z-index:2}.pipe-node:hover{transform:translateY(-6px) scale(1.03);border-color:rgba(93,202,165,.6);box-shadow:0 14px 34px rgba(0,0,0,.35)}.pipe-node b{display:block;font-size:12px}.pipe-node small{display:block;font-size:9px;color:#656565;margin-top:4px}.pipe-node em{font-style:normal;font-size:15px;font-weight:700;color:var(--teal);display:block;margin-top:8px}.pipe-node.leak{border-color:rgba(212,83,126,.28)}.pipe-node.leak em{color:var(--magenta)}.pn1{left:1%;top:77px}.pn2{left:28%;top:18px}.pn3{right:28%;top:112px}.pn4{right:1%;top:45px}.pipeline-alert{position:absolute;left:43%;top:76px;font-size:9px;color:var(--magenta);padding:5px 8px;border:1px solid rgba(212,83,126,.25);border-radius:999px;background:#140D10;animation:alertFloat 2.4s ease-in-out infinite}@keyframes alertFloat{50%{transform:translateY(-5px);box-shadow:0 0 22px rgba(212,83,126,.1)}}
.pipeline-foot{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #202020;padding-top:14px}.pipeline-foot span{font-size:10px;color:#666}.pipeline-foot strong{color:#D8D8D8;font-weight:600}.pipeline-foot .loss strong{color:var(--magenta)}

/* AI hero: simulated answer engine conversation */
.ai-chat-demo{min-height:360px!important;padding:0!important;overflow:hidden;background:linear-gradient(145deg,#101010,#121012)!important}.ai-chat-top{height:44px;border-bottom:1px solid #242424;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.ai-chat-brand{display:flex;align-items:center;gap:8px;font-size:11px;color:#DADADA}.ai-chat-brand i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 14px rgba(93,202,165,.55)}.ai-chat-mode{font-size:9px;color:#5f5f5f;letter-spacing:.08em}.ai-chat-body{padding:18px 20px 20px}.chat-row{display:flex;margin-bottom:14px}.chat-row.user{justify-content:flex-end}.chat-bubble{max-width:88%;border:1px solid #292929;border-radius:12px;padding:11px 13px;font-size:11.5px;line-height:1.55;color:#CFCFCF;background:#141414}.chat-row.user .chat-bubble{background:#17251f;border-color:rgba(93,202,165,.25);color:#E7F6F1}.chat-answer{position:relative;min-height:128px}.chat-answer .typing{display:inline-flex;gap:4px;padding:5px 0}.chat-answer .typing i{width:5px;height:5px;border-radius:50%;background:#777;animation:typingDot 1.1s infinite}.chat-answer .typing i:nth-child(2){animation-delay:.15s}.chat-answer .typing i:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}
.chat-response{opacity:0;transform:translateY(5px);animation:chatReveal .5s ease forwards 1.15s}.chat-response p{margin:0 0 8px}.chat-response ul{margin:0;padding-left:17px}.chat-response li{margin:5px 0;color:#BDBDBD}.chat-response mark{background:rgba(93,202,165,.11);color:var(--teal);padding:1px 3px;border-radius:3px}.chat-citation{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:5px 8px;border:1px solid rgba(93,202,165,.24);border-radius:6px;color:var(--teal);font-size:9.5px;animation:citationGlow 2.2s ease-in-out infinite 1.8s}@keyframes chatReveal{to{opacity:1;transform:none}}@keyframes citationGlow{50%{box-shadow:0 0 20px rgba(93,202,165,.1);border-color:rgba(93,202,165,.55)}}.ai-demo-caption{font-size:9px;color:#555;margin:12px 2px 0}

.ai-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;perspective:900px}.ai-proof-card{border:1px solid var(--line);border-radius:9px;padding:17px;background:#0d0d0d;opacity:0;transform:translateY(22px) rotateX(5deg);animation:proofCascade .6s cubic-bezier(.2,.8,.2,1) forwards}.ai-proof-card:nth-child(1){animation-delay:.08s}.ai-proof-card:nth-child(2){animation-delay:.22s}.ai-proof-card:nth-child(3){animation-delay:.36s}.ai-proof-card:hover{border-color:#3a3a3a!important;box-shadow:0 14px 30px rgba(0,0,0,.25);transform:translateY(-5px)!important}.ai-proof-card p{transition:transform .25s ease}.ai-proof-card:hover p:first-child{transform:scale(1.06);transform-origin:left center}@keyframes proofCascade{to{opacity:1;transform:none}}

@media(max-width:720px){.pipeline-canvas{height:390px}.pipe-node{width:105px}.pn1{left:0;top:20px}.pn2{right:0;left:auto;top:100px}.pn3{left:0;right:auto;top:200px}.pn4{right:0;top:290px}.pipeline-alert{display:none}.pipeline-canvas svg{display:none}.ai-proof-grid{grid-template-columns:1fr}.ai-chat-demo{min-height:390px!important}}

/* === V6: Search process + proof cards, GTM diagnostic readability === */

/* Search: make the whole process block feel centered, not merely the heading. */
.page-search .process-section .wrap{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
  padding-left:36px;
  padding-right:36px;
}
.page-search .process-section h2{
  text-align:center!important;
  margin:0 auto 12px!important;
  font-size:22px;
}
.page-search .process-section .wrap > p{
  text-align:center!important;
  max-width:720px!important;
  margin:0 auto 44px!important;
  font-size:14px!important;
}
.page-search .process-row{
  width:100%;
  max-width:1010px;
  margin:0 auto;
  justify-content:center;
}
.page-search .process-step{
  padding:0 22px;
  text-align:left;
  min-width:0;
  transition:transform .28s ease;
}
.page-search .process-step:first-child{padding-left:0}
.page-search .process-step:last-child{padding-right:0}
.page-search .process-step:hover{transform:translateY(-5px)}
.page-search .process-num{
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
}
.page-search .process-step:hover .process-num{
  transform:scale(1.08);
  background:rgba(93,202,165,.08);
  box-shadow:0 0 0 7px rgba(93,202,165,.035),0 0 25px rgba(93,202,165,.13);
}
/* Restore the moving light travelling through the Search timeline. */
.page-search .process-line{
  overflow:hidden;
  background:#202020;
}
.page-search .process-line::after{
  content:"";
  position:absolute;
  inset:0;
  width:42%;
  background:linear-gradient(90deg,transparent,rgba(93,202,165,.15),rgba(93,202,165,.95),rgba(93,202,165,.15),transparent);
  filter:drop-shadow(0 0 5px rgba(93,202,165,.75));
  animation:searchProcessLight 2.8s linear infinite;
}
.page-search .process-step:nth-child(2) .process-line::after{animation-delay:.45s}
.page-search .process-step:nth-child(3) .process-line::after{animation-delay:.9s}
@keyframes searchProcessLight{
  from{transform:translateX(-125%);opacity:.18}
  18%{opacity:1}
  82%{opacity:1}
  to{transform:translateX(330%);opacity:.15}
}

/* Search proof cards: larger, visible cascade even after the entrance animation finishes. */
.page-search .ai-proof-grid{
  gap:16px;
  align-items:start;
  padding:4px 0 24px;
}
.page-search .ai-proof-card{
  min-height:178px;
  padding:24px 20px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  animation:proofCascade .7s cubic-bezier(.2,.8,.2,1) forwards, proofFloat 5.4s ease-in-out infinite 1.2s;
}
.page-search .ai-proof-card:nth-child(1){margin-top:0;animation-delay:.08s,1.15s}
.page-search .ai-proof-card:nth-child(2){margin-top:18px;animation-delay:.22s,1.4s}
.page-search .ai-proof-card:nth-child(3){margin-top:36px;animation-delay:.36s,1.65s}
.page-search .ai-proof-card::before{
  content:"";
  position:absolute;
  inset:-45% auto auto -35%;
  width:80%;
  height:180%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);
  pointer-events:none;
  transition:left .55s ease;
}
.page-search .ai-proof-card:hover::before{left:90%}
.page-search .ai-proof-card p:first-child{
  font-size:34px!important;
  line-height:1!important;
  margin-bottom:12px!important;
}
.page-search .ai-proof-card p:nth-child(2){
  font-size:12.5px!important;
  line-height:1.55!important;
}
.page-search .ai-proof-card p:last-child{font-size:10.5px!important;margin-top:12px!important}
@keyframes proofFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
.page-search .ai-proof-card:hover{
  transform:translateY(-9px) scale(1.018)!important;
  box-shadow:0 20px 46px rgba(0,0,0,.3),0 0 28px rgba(93,202,165,.035)!important;
}

/* GTM hero: give the diagnostic more real estate and remove label collisions. */
.page-gtm .hero-grid{
  grid-template-columns:.88fr 1.22fr;
  gap:54px;
  padding-top:62px;
  padding-bottom:62px;
}
.page-gtm .pipeline-diagnostic{
  min-height:445px;
  padding:34px 32px!important;
  border-radius:14px;
}
.page-gtm .pipeline-head{margin-bottom:26px}
.page-gtm .pipeline-head .visual-label{font-size:13px!important}
.page-gtm .pipeline-head p:last-child{font-size:11px!important}
.page-gtm .pipeline-canvas{height:285px}
.page-gtm .pipe-node{
  width:132px;
  padding:15px 14px;
  border-radius:11px;
}
.page-gtm .pipe-node b{font-size:13px}
.page-gtm .pipe-node small{font-size:9.5px;line-height:1.35}
.page-gtm .pipe-node em{font-size:18px;margin-top:9px}
.page-gtm .pn1{left:1%;top:104px}
.page-gtm .pn2{left:27%;top:24px}
.page-gtm .pn3{right:25%;top:144px}
.page-gtm .pn4{right:1%;top:54px}
.page-gtm .pipeline-alert{
  left:39%;
  top:238px;
  z-index:5;
  font-size:10px;
  padding:7px 11px;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(0,0,0,.25);
}
.page-gtm .pipeline-foot{padding-top:16px}
.page-gtm .pipeline-foot span{font-size:10.5px}

@media(max-width:980px) and (min-width:721px){
  .page-gtm .hero-grid{grid-template-columns:1fr;gap:34px}
  .page-gtm .pipeline-diagnostic{max-width:760px;width:100%;margin:0 auto}
}

@media(max-width:720px){
  .page-search .process-section .wrap{padding-left:24px;padding-right:24px}
  .page-search .process-row{display:block}
  .page-search .process-step{padding:0 0 24px;text-align:left}
  .page-search .ai-proof-card:nth-child(1),
  .page-search .ai-proof-card:nth-child(2),
  .page-search .ai-proof-card:nth-child(3){margin-top:0}
  .page-gtm .pipeline-diagnostic{min-height:520px;padding:24px 20px!important}
  .page-gtm .pipeline-canvas{height:390px}
  .page-gtm .pipe-node{width:118px;padding:13px}
  .page-gtm .pipeline-alert{display:none}
}


/* V7 refinements: aligned AI proof cards, odometer-style numbers, clearer GTM alert, larger header logo */
header.site .logo img{
  height:78px;
  width:auto;
}

.page-search .ai-proof-grid{
  align-items:stretch;
}
.page-search .ai-proof-card,
.page-search .ai-proof-card:nth-child(1),
.page-search .ai-proof-card:nth-child(2),
.page-search .ai-proof-card:nth-child(3){
  margin-top:0!important;
  animation:none!important;
  opacity:1!important;
  transform:none!important;
  min-height:228px;
}
.page-search .ai-proof-card:hover{
  transform:translateY(-7px)!important;
}
.page-search .ai-proof-number{
  display:flex;
  align-items:flex-end;
  gap:1px;
  font-size:38px!important;
  line-height:1!important;
  font-weight:700;
  letter-spacing:-1.5px;
  margin:0 0 13px!important;
  min-height:42px;
  overflow:hidden;
  perspective:700px;
}
.page-search .flip-digit{
  display:inline-block;
  transform:translateY(-125%) rotateX(-78deg);
  filter:blur(5px);
  opacity:0;
  animation:digitRain .62s cubic-bezier(.18,.86,.28,1.08) forwards;
  transform-origin:50% 100%;
}
.page-search .flip-suffix{
  display:inline-block;
  transform:translateY(-70%);
  opacity:0;
  filter:blur(3px);
  animation:digitRain .54s cubic-bezier(.18,.86,.28,1.08) forwards;
}
@keyframes digitRain{
  0%{transform:translateY(-125%) rotateX(-78deg);opacity:0;filter:blur(5px)}
  58%{transform:translateY(7%) rotateX(8deg);opacity:1;filter:blur(0)}
  100%{transform:translateY(0) rotateX(0);opacity:1;filter:blur(0)}
}

.page-gtm .pipeline-diagnostic{
  min-height:515px;
}
.page-gtm .pipeline-canvas{
  height:350px;
}
.page-gtm .pipeline-alert{
  left:39%;
  top:305px;
  z-index:6;
}

@media(max-width:720px){
  header.site .logo img{height:62px}
  .page-search .ai-proof-number{font-size:36px!important}
  .page-gtm .pipeline-diagnostic{min-height:520px}
  .page-gtm .pipeline-canvas{height:390px}
}

/* === V9 MOBILE / TABLET RESPONSIVE PASS === */
/* Keep the desktop language intact, but give small screens their own layout rather than squeezing desktop graphics. */
.mobile-nav-toggle{display:none;appearance:none;background:transparent;border:1px solid #2b2b2b;border-radius:9px;width:44px;height:44px;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;color:#fff;}
.mobile-nav-toggle span{display:block;width:20px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:7px;position:relative;}
.table-scroll-hint{display:none;color:#696969;font-size:10px;letter-spacing:.04em;margin:0 0 9px;text-align:right;}

@media (max-width: 980px){
  .wrap{padding-left:28px;padding-right:28px}
  .hero-grid{gap:34px}
  .ai-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-growth .growth-included .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px}
  .wrap{padding-left:18px!important;padding-right:18px!important}

  /* Mobile header + real menu */
  header.site{position:sticky;top:0;background:rgba(10,10,10,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:100;border-bottom-color:#202020}
  header.site .wrap{padding-top:9px!important;padding-bottom:9px!important;min-height:68px}
  header.site .logo img{height:52px!important}
  .mobile-nav-toggle{display:flex;position:relative;z-index:103;margin-left:auto}
  nav.main{display:none!important;position:absolute;left:0;right:0;top:100%;padding:14px 18px 22px;background:rgba(10,10,10,.985);border-bottom:1px solid #282828;box-shadow:0 18px 38px rgba(0,0,0,.35);flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 68px);overflow:auto}
  nav.main.mobile-open{display:flex!important}
  nav.main.mobile-open a.link,nav.main.mobile-open .nav-dropdown-toggle{display:flex!important;width:100%;align-items:center;justify-content:space-between;padding:15px 2px;font-size:15px;border-bottom:1px solid #1d1d1d;color:#e9e9e9;text-align:left}
  nav.main .nav-dropdown{width:100%}
  nav.main .nav-dropdown-menu{position:static!important;min-width:0;width:100%;border:0;border-radius:0;background:#0d0d0d;padding:3px 0 8px;margin:0;box-shadow:none}
  nav.main .nav-dropdown-menu a{padding:12px 14px;font-size:14px;color:#a9a9a9;border-left:1px solid #292929;border-radius:0}
  nav.main .btn{display:none!important}
  nav.main.mobile-open > .btn{display:block!important;width:100%;margin-top:16px;text-align:center;padding:14px 18px;font-size:14px;border-radius:7px}
  body.mobile-menu-open{overflow:hidden}

  /* Typography and spacing */
  .hero{padding:38px 0 30px}
  h1,.page-hero h1,.hero-grid h1{font-size:clamp(30px,9vw,38px)!important;line-height:1.08!important;letter-spacing:-.025em}
  .hero .lede,.hero-grid .lede,.page-hero .lede{font-size:14px!important;line-height:1.65!important}
  .hero-signal{font-size:10px;transform:scale(.96);transform-origin:center}
  .cta-row{gap:10px}
  .cta-row .btn{width:100%;text-align:center;padding:14px 18px}
  .section-h2,.stats-h2{font-size:22px!important;line-height:1.25}
  .compare-section,.process-section,.stats-section,.faq-section,.how-section{padding-top:38px;padding-bottom:38px}

  /* Service heroes: text first, visualization gets breathing room below */
  .hero-grid,.page-gtm .hero-grid,.page-search .hero-grid,.page-growth .hero-grid{grid-template-columns:1fr!important;gap:28px!important;padding-top:38px!important;padding-bottom:40px!important}
  .hero-grid h1,.hero-grid .lede{text-align:left!important}
  .hero-grid .cta-row{justify-content:flex-start!important}
  .hero-grid .visual-card,.page-gtm .pipeline-diagnostic,.page-search .ai-chat-demo,.page-growth .growth-hero-chart{width:100%!important;max-width:100%!important;margin:0 auto!important}

  /* Homepage accordion graphics: use bespoke mobile layouts, not compressed desktop canvases. */
  .svc-head{padding:19px 0}
  .svc-head .label{font-size:15px}
  .svc-body{padding-bottom:28px}
  .page-home .svc-body{grid-template-columns:1fr!important;grid-template-areas:"copy" "visual" "link"!important;gap:18px!important}
  .home-leak-map,.home-citation-map,.home-roadmap-visual{padding:16px!important;min-height:0!important;border-radius:10px}
  .home-visual-head{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:16px}
  .journey-flow{display:grid!important;grid-template-columns:1fr 28px 1fr!important;gap:8px!important;margin:12px 0 18px!important}
  .journey-node{min-height:104px}
  .journey-connector{width:28px!important;height:1px!important;margin:auto!important}
  .journey-connector:nth-of-type(4){display:none}
  .journey-connector i{top:-3px!important;left:0!important;animation:journeyDot 2s ease-in-out infinite!important}
  .journey-node:nth-of-type(5){grid-column:1/2}
  .journey-node:nth-of-type(7){grid-column:3/4}
  .citation-orbit{height:auto!important;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:0}
  .citation-orbit svg{display:none!important}
  .citation-core,.citation-node,.citation-node.n1,.citation-node.n2,.citation-node.n3,.citation-node.n4{position:static!important;transform:none!important;min-width:0!important;width:auto!important;inset:auto!important}
  .citation-core{grid-column:1/-1;height:80px;width:100%!important;border-radius:12px!important}
  .citation-node{padding:12px 10px}
  .roadmap-track{grid-template-columns:1fr!important;gap:10px!important;padding-top:0!important}
  .roadmap-phase{padding:15px}
  .roadmap-detail{align-items:flex-start;flex-direction:column;gap:4px}

  /* Home process: readable vertical cards instead of a squeezed horizontal timeline. */
  .page-home .how-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-width:520px!important}
  .page-home .how-step{min-height:0!important;text-align:left!important;padding:17px 16px!important;border:1px solid #1e1e1e;background:#0c0c0c}
  .page-home .how-num{margin:0 0 12px!important}
  .page-home .how-desc{max-width:none!important;margin:0!important}
  .page-home .how-line{display:none!important}

  /* Stats / service cards */
  .stats-grid,.ai-services-grid,.page-growth .growth-included .feature-grid{grid-template-columns:1fr!important;gap:12px!important}
  .stat-card,.ai-service-card,.feature-card{padding:20px!important}
  .page-search .ai-proof-grid{grid-template-columns:1fr!important;gap:12px!important;padding-bottom:0!important}
  .page-search .ai-proof-card{min-height:0!important;padding:21px!important}
  .page-search .ai-proof-number{font-size:40px!important}
  .ai-why-grid{grid-template-columns:1fr!important;gap:26px!important}

  /* Comparison tables: preserve information and allow deliberate horizontal comparison. */
  .compare-section h2{font-size:21px;line-height:1.3}
  .table-scroll-hint{display:block}
  .table-scroll{margin-left:-18px;width:calc(100% + 36px);padding-left:18px;padding-right:18px}
  .table-scroll table.compare{min-width:690px;width:690px;font-size:12px}
  .table-scroll table.compare th,.table-scroll table.compare td{padding:13px 12px;line-height:1.45}
  .table-scroll table.compare th:first-child,.table-scroll table.compare td:first-child{position:sticky;left:0;z-index:2;background:#0a0a0a;box-shadow:8px 0 14px rgba(0,0,0,.18)}
  .table-scroll table.compare th.forza-col,.table-scroll table.compare td.forza-col{background:#101916}

  /* All 4-step horizontal timelines become a clean vertical flow on phones. */
  .process-row,.page-search .process-row{display:block!important;margin-top:8px!important}
  .process-step,.page-search .process-step{position:relative!important;padding:0 0 28px 52px!important;text-align:left!important;min-height:92px}
  .process-step:last-child,.page-search .process-step:last-child{padding-bottom:0!important}
  .process-num,.page-search .process-num{position:absolute!important;left:0;top:0;margin:0!important;width:34px;height:34px}
  .process-line,.page-search .process-line{display:block!important;position:absolute!important;left:16px!important;top:34px!important;right:auto!important;bottom:-2px!important;width:1px!important;height:auto!important;background:#242424!important;overflow:hidden}
  .process-line::after,.page-search .process-line::after{width:100%!important;height:44%!important;inset:auto 0 100% 0!important;background:linear-gradient(180deg,transparent,rgba(93,202,165,.95),transparent)!important;animation:mobileProcessLight 2.5s linear infinite!important}
  .process-desc,.page-search .process-desc{max-width:none!important;font-size:13px!important;line-height:1.6}
  @keyframes mobileProcessLight{from{transform:translateY(0)}to{transform:translateY(330%)}}

  /* GTM diagnostic: turn the absolute desktop diagram into a spacious vertical diagnostic. */
  .page-gtm .pipeline-diagnostic{min-height:0!important;padding:22px 16px!important;overflow:hidden}
  .page-gtm .pipeline-head{margin-bottom:18px}
  .page-gtm .pipeline-canvas{height:auto!important;display:grid;grid-template-columns:1fr;gap:10px;padding:0}
  .page-gtm .pipeline-canvas svg{display:none!important}
  .page-gtm .pipe-node,.page-gtm .pn1,.page-gtm .pn2,.page-gtm .pn3,.page-gtm .pn4{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;min-height:88px;padding:14px 15px!important}
  .page-gtm .pipe-node:after{content:"↓";position:absolute;left:50%;bottom:-19px;color:#4d4d4d;font-size:15px;z-index:3}
  .page-gtm .pipe-node:last-of-type:after{display:none}
  .page-gtm .pipeline-alert{display:block!important;position:relative!important;left:auto!important;top:auto!important;margin:12px auto 6px;width:max-content;max-width:100%;white-space:normal;text-align:center}
  .page-gtm .pipeline-foot{margin-top:18px;flex-direction:column;gap:5px}

  /* AI chat: keep the mockup legible rather than shrinking it. */
  .page-search .ai-chat-demo{min-height:0!important}
  .ai-chat-top{padding:0 13px}
  .ai-chat-body{padding:15px 13px 17px}
  .chat-bubble{max-width:94%;font-size:11.5px}
  .chat-answer{min-height:0}

  /* Growth graph keeps aspect ratio and readable labels. */
  .page-growth .growth-hero-chart{min-height:0!important;padding:22px 16px!important}
  .page-growth .growth-hero-chart > div[style*="height:230px"]{height:210px!important}
  .page-growth #growth-svg{min-height:195px!important}
  .page-growth .growth-hero-chart span{font-size:11px!important}
  .page-growth .growth-included{padding:42px 18px 48px!important}

  /* GTM long-form vertical timeline remains one column and gets a little more room. */
  .page-gtm .gtm-timeline{padding-left:0!important}
  .page-gtm .gtm-timeline::before{left:17px!important}
  .page-gtm .gtm-tl-item,.page-gtm .gtm-tl-item:nth-child(odd),.page-gtm .gtm-tl-item:nth-child(even){padding-left:58px!important;padding-right:0!important;text-align:left!important;padding-bottom:30px!important}
  .page-gtm .gtm-tl-item:nth-child(odd) .gtm-tl-dot,.page-gtm .gtm-tl-item:nth-child(even) .gtm-tl-dot{left:0!important}
  .page-gtm .gtm-tl-content{max-width:none!important}

  /* FAQ, contact, footer */
  .faq-grid{grid-template-columns:1fr!important}
  .contact-grid{grid-template-columns:1fr!important;padding-left:18px!important;padding-right:18px!important}
  footer.site .wrap{flex-direction:column;align-items:flex-start;gap:12px}
  footer.site .logo img{height:34px!important}
  .band .btn{width:100%;text-align:center}

  /* Ticker remains uninterrupted but slightly smaller on phones. */
  .signal-track{gap:14px!important;padding:10px 0!important}
  .signal-track span{font-size:9.5px!important}
}

@media (max-width: 380px){
  .wrap{padding-left:15px!important;padding-right:15px!important}
  h1,.page-hero h1,.hero-grid h1{font-size:29px!important}
  .journey-flow{grid-template-columns:1fr!important}
  .journey-connector{height:18px!important;width:1px!important}
  .journey-connector:nth-of-type(4){display:block}
  .journey-node:nth-of-type(5),.journey-node:nth-of-type(7){grid-column:auto}
  .citation-orbit{grid-template-columns:1fr}
  .citation-core{grid-column:auto}
  .table-scroll{margin-left:-15px;width:calc(100% + 30px);padding-left:15px;padding-right:15px}
}
