
.lad-geo-page,
.lad-geo-page * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.lad-geo-page {
  --white: #FFFFFF;
  --ink: #14161B;
  --ink-soft: #454B56;
  --red: #F97316;
  --tint: #FFF1E5;

  width: 100%;
  background: var(--white);
  color: var(--ink);
  font-family: 'Calibri', 'Carlito', 'Segoe UI', Tahoma, sans-serif;
}

.lad-geo-section {
  width: 100%;
  padding: 80px 64px;
}

.lad-geo-section--white { background: var(--white); }
.lad-geo-section--tint { background: var(--tint); }

.lad-geo-section--bordered {
  border-top: 1px solid rgba(20,22,27,.07);
}

.lad-geo-inner,
.lad-geo-alert__inner,
.lad-geo-outcome__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.lad-geo-header {
  max-width: 820px;
  margin: 0 auto 52px;
  text-align: center;
}

.lad-geo-eyebrow,
.lad-geo-alert__warning,
.lad-geo-outcome__eyebrow {
  margin-bottom: 16px;
  color: var(--red);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.lad-geo-heading,
.lad-geo-alert__headline,
.lad-geo-outcome__headline {
  color: var(--ink);
  font-weight: 700;
  letter-spacing: -.01em;
  text-wrap: balance;
}

.lad-geo-heading {
  margin-bottom: 18px;
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.2;
}

.lad-geo-subtext {
  color: var(--ink-soft);
  font-size: 16.5px;
  font-weight: 400;
  line-height: 1.7;
}

.lad-geo-card {
  position: relative;
  border-radius: 18px;
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .55s cubic-bezier(.2,.7,.2,1),
    transform .3s cubic-bezier(.2,.7,.2,1),
    box-shadow .3s ease;
}

.lad-geo-card--white {
  background: var(--white);
  border: 1px solid rgba(20,22,27,.055);
}

.lad-geo-card--tint {
  background: var(--tint);
  border: 1px solid rgba(249,115,22,.08);
}

.lad-geo-card__title {
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  transition: color .25s ease;
}

.lad-geo-card__desc {
  color: var(--ink-soft);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

.lad-geo-section.in-view .lad-geo-card {
  opacity: 1;
  transform: translateY(0);
}

.lad-geo-section.in-view .lad-geo-card:hover,
.lad-geo-section.in-view .lad-geo-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(20,22,27,.12);
}

.lad-geo-card:hover .lad-geo-card__title,
.lad-geo-card:focus-within .lad-geo-card__title {
  color: var(--red);
}

/* First line below the carousel stays at the top of this section.
   The carousel file supplies the exact 100px gap before this border. */
.lad-geo-alert {
  background: var(--white);
  padding-top: 76px;
  padding-bottom: 68px;
}

.lad-geo-alert__inner {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  align-items: start;
  column-gap: 72px;
}

.lad-geo-alert__left,
.lad-geo-alert__body,
.lad-geo-outcome__left {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .6s cubic-bezier(.2,.7,.2,1),
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.lad-geo-alert__left,
.lad-geo-outcome__left { transition-delay: .08s; }
.lad-geo-alert__body { transition-delay: .2s; }

.lad-geo-alert.in-view .lad-geo-alert__left,
.lad-geo-alert.in-view .lad-geo-alert__body,
.lad-geo-outcome.in-view .lad-geo-outcome__left {
  opacity: 1;
  transform: translateY(0);
}

.lad-geo-alert__headline {
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.22;
}

.lad-geo-alert__body p {
  color: var(--ink-soft);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.75;
}

.lad-geo-alert__body p + p { margin-top: 20px; }

.lad-geo-header .lad-geo-eyebrow,
.lad-geo-header .lad-geo-heading,
.lad-geo-header .lad-geo-subtext {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .6s cubic-bezier(.2,.7,.2,1),
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.lad-geo-header .lad-geo-eyebrow { transition-delay: .05s; }
.lad-geo-header .lad-geo-heading { transition-delay: .15s; }
.lad-geo-header .lad-geo-subtext { transition-delay: .25s; }

.lad-geo-section.in-view .lad-geo-header .lad-geo-eyebrow,
.lad-geo-section.in-view .lad-geo-header .lad-geo-heading,
.lad-geo-section.in-view .lad-geo-header .lad-geo-subtext {
  opacity: 1;
  transform: translateY(0);
}

.lad-geo-included { background: var(--tint); }

.lad-geo-included__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.lad-geo-included__card {
  min-height: 210px;
  padding: 26px;
}

.lad-geo-included__card .lad-geo-card__title,
.lad-geo-fit__card .lad-geo-card__title {
  margin-bottom: 10px;
}

.lad-geo-outcome {
  background: var(--tint);
  border-top: 1px solid rgba(20,22,27,.07);
}

.lad-geo-outcome__inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: stretch;
  column-gap: 72px;
}

.lad-geo-outcome__headline {
  margin-bottom: 22px;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.2;
}

.lad-geo-outcome__body p {
  color: var(--ink-soft);
  font-size: 16.5px;
  line-height: 1.75;
}

.lad-geo-outcome__body p + p { margin-top: 18px; }

.lad-geo-outcome__cards {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lad-geo-outcome__card { padding: 22px 24px; }
.lad-geo-outcome__card .lad-geo-card__title { margin-bottom: 7px; }

.lad-geo-fit { background: var(--white); }

.lad-geo-fit__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.lad-geo-fit__card {
  min-height: 176px;
  padding: 24px;
}

.lad-geo-included__grid .lad-geo-card:nth-child(1),
.lad-geo-fit__grid .lad-geo-card:nth-child(1),
.lad-geo-outcome__cards .lad-geo-card:nth-child(1) {
  transition-delay: .18s, .18s, 0s;
}
.lad-geo-included__grid .lad-geo-card:nth-child(2),
.lad-geo-fit__grid .lad-geo-card:nth-child(2),
.lad-geo-outcome__cards .lad-geo-card:nth-child(2) {
  transition-delay: .28s, .28s, 0s;
}
.lad-geo-included__grid .lad-geo-card:nth-child(3),
.lad-geo-fit__grid .lad-geo-card:nth-child(3),
.lad-geo-outcome__cards .lad-geo-card:nth-child(3) {
  transition-delay: .38s, .38s, 0s;
}
.lad-geo-included__grid .lad-geo-card:nth-child(4),
.lad-geo-fit__grid .lad-geo-card:nth-child(4),
.lad-geo-outcome__cards .lad-geo-card:nth-child(4) {
  transition-delay: .48s, .48s, 0s;
}
.lad-geo-included__grid .lad-geo-card:nth-child(5) { transition-delay: .58s, .58s, 0s; }
.lad-geo-included__grid .lad-geo-card:nth-child(6) { transition-delay: .68s, .68s, 0s; }
.lad-geo-included__grid .lad-geo-card:nth-child(7) { transition-delay: .78s, .78s, 0s; }
.lad-geo-included__grid .lad-geo-card:nth-child(8) { transition-delay: .88s, .88s, 0s; }
.lad-geo-included__grid .lad-geo-card:nth-child(9) { transition-delay: .98s, .98s, 0s; }

@media (max-width: 980px) {
  .lad-geo-section { padding: 68px 32px; }
  .lad-geo-alert { padding-top: 64px; padding-bottom: 60px; }

  .lad-geo-alert__inner,
  .lad-geo-outcome__inner {
    grid-template-columns: 1fr;
    row-gap: 42px;
  }

  .lad-geo-included__grid,
  .lad-geo-fit__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lad-geo-included__card,
  .lad-geo-fit__card {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .lad-geo-section { padding: 58px 20px; }
  .lad-geo-alert { padding-top: 54px; padding-bottom: 52px; }
  .lad-geo-header { margin-bottom: 38px; }

  .lad-geo-heading,
  .lad-geo-alert__headline,
  .lad-geo-outcome__headline {
    font-size: clamp(28px, 8vw, 34px);
  }

  .lad-geo-included__grid,
  .lad-geo-fit__grid {
    grid-template-columns: 1fr;
  }

  .lad-geo-included__card,
  .lad-geo-outcome__card,
  .lad-geo-fit__card {
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lad-geo-page [data-reveal] *,
  .lad-geo-page .lad-geo-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* ============================================================
   LEADADVISOR360 — AI SEARCH & GEO THEMATIC H2 MOTION
   Only the four H2 headings receive these animations.
   Replay on re-entry. Resting state returns to orange + black.
   ============================================================ */

.lad-geo-theme-h2 {
  overflow: visible !important;
  color: var(--ink, #14161B);
  outline: none;
}

.lad-geo-theme-visual {
  position: relative;
  display: inline;
}

.lad-geo-theme-orange {
  color: var(--red, #F97316);
}

/* ============================================================
   1. RIVAL / ANSWER
   Rival and Competitor oppose each other.
   Answer Itself resolves forward as the final emphasis.
   ============================================================ */

.lad-geo-rival__rival,
.lad-geo-rival__competitor,
.lad-geo-rival__answer {
  position: relative;
  display: inline-block;
}

.lad-geo-rival__answer {
  padding-bottom: .16em;
}

.lad-geo-rival__answer-line {
  position: absolute;
  left: 0;
  right: 0;
  bottom: .01em;
  height: 2px;
  background: linear-gradient(90deg, var(--red, #F97316), #FFD3A0);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
  box-shadow: 0 0 10px rgba(249,115,22,.18);
}

.lad-geo-alert.geo-theme-play .lad-geo-rival__rival {
  animation: ladGeoRivalLeft 1.25s cubic-bezier(.16,1,.3,1) .68s both;
}

.lad-geo-alert.geo-theme-play .lad-geo-rival__competitor {
  animation: ladGeoRivalRight 1.25s cubic-bezier(.16,1,.3,1) .68s both;
}

.lad-geo-alert.geo-theme-play .lad-geo-rival__answer {
  animation: ladGeoAnswerResolve 1.45s cubic-bezier(.16,1,.3,1) 1.55s both;
}

.lad-geo-alert.geo-theme-play .lad-geo-rival__answer-line {
  animation: ladGeoAnswerLine 1.35s cubic-bezier(.2,.7,.2,1) 1.55s both;
}

@keyframes ladGeoRivalLeft {
  0%   { transform: translateX(0); color: inherit; }
  35%  { transform: translateX(-.13em); color: var(--red, #F97316); }
  68%  { transform: translateX(.03em); }
  100% { transform: translateX(0); color: inherit; }
}

@keyframes ladGeoRivalRight {
  0%   { transform: translateX(0); color: inherit; }
  35%  { transform: translateX(.13em); color: var(--red, #F97316); }
  68%  { transform: translateX(-.03em); opacity: .78; }
  100% { transform: translateX(0); color: inherit; opacity: 1; }
}

@keyframes ladGeoAnswerResolve {
  0%   { transform: translateY(.08em) scale(.985); opacity: .62; }
  38%  { transform: translateY(-.045em) scale(1.045); opacity: 1; }
  72%  { transform: translateY(.01em) scale(1.01); }
  100% { transform: translateY(0) scale(1); opacity: 1; color: var(--red, #F97316); }
}

@keyframes ladGeoAnswerLine {
  0%   { transform: scaleX(0); opacity: 0; }
  25%  { opacity: .95; }
  75%  { transform: scaleX(1); opacity: .9; }
  100% { transform: scaleX(1); opacity: .30; }
}

/* ============================================================
   2. BUILD / AI SEARCH & GEO
   Build assembles from parts.
   AI Search & GEO receives a small connected data network.
   ============================================================ */

.lad-geo-build__build,
.lad-geo-build__ai {
  position: relative;
  display: inline-block;
}

.lad-geo-build__build {
  padding-bottom: .13em;
  white-space: nowrap;
}

.lad-geo-build__part {
  display: inline-block;
}

.lad-geo-build__beam {
  position: absolute;
  left: 0;
  right: 0;
  bottom: .01em;
  height: 2px;
  background: linear-gradient(90deg, var(--red, #F97316), #FFD3A0, var(--red, #F97316));
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;
}

.lad-geo-build__ai {
  padding: .02em .02em .17em;
}

.lad-geo-build__network {
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: -.08em;
  height: .24em;
  opacity: 0;
  pointer-events: none;
}

.lad-geo-build__network i {
  position: absolute;
  bottom: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red, #F97316);
  transform: scale(0);
  box-shadow: 0 0 8px rgba(249,115,22,.28);
}

.lad-geo-build__network i:nth-child(1) { left: 4%; }
.lad-geo-build__network i:nth-child(2) { left: 34%; }
.lad-geo-build__network i:nth-child(3) { left: 66%; }
.lad-geo-build__network i:nth-child(4) { left: 96%; }

.lad-geo-build__network b {
  position: absolute;
  bottom: 2px;
  height: 1px;
  background: rgba(249,115,22,.66);
  transform: scaleX(0);
  transform-origin: left center;
}

.lad-geo-build__network b:nth-of-type(1) { left: 5%; width: 29%; }
.lad-geo-build__network b:nth-of-type(2) { left: 35%; width: 31%; }
.lad-geo-build__network b:nth-of-type(3) { left: 67%; width: 29%; }

.lad-geo-included.geo-theme-play .lad-geo-build__part--1 {
  animation: ladGeoBuildPart1 1.35s cubic-bezier(.16,1,.3,1) .72s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__part--2 {
  animation: ladGeoBuildPart2 1.35s cubic-bezier(.16,1,.3,1) .72s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__part--3 {
  animation: ladGeoBuildPart3 1.35s cubic-bezier(.16,1,.3,1) .72s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__beam {
  animation: ladGeoBuildBeam 1.45s ease .72s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network {
  animation: ladGeoNetworkShow 1.7s ease 1.55s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network i:nth-child(1) {
  animation: ladGeoNode .38s ease 1.68s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network i:nth-child(2) {
  animation: ladGeoNode .38s ease 1.88s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network i:nth-child(3) {
  animation: ladGeoNode .38s ease 2.08s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network i:nth-child(4) {
  animation: ladGeoNode .38s ease 2.28s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network b:nth-of-type(1) {
  animation: ladGeoLink .48s ease 1.76s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network b:nth-of-type(2) {
  animation: ladGeoLink .48s ease 1.96s both;
}
.lad-geo-included.geo-theme-play .lad-geo-build__network b:nth-of-type(3) {
  animation: ladGeoLink .48s ease 2.16s both;
}

@keyframes ladGeoBuildPart1 {
  0%   { transform: translateX(-.18em); color: var(--red, #F97316); }
  72%  { transform: translateX(.015em); }
  100% { transform: translateX(0); color: inherit; }
}
@keyframes ladGeoBuildPart2 {
  0%   { transform: translateY(-.18em); color: var(--red, #F97316); }
  72%  { transform: translateY(.012em); }
  100% { transform: translateY(0); color: inherit; }
}
@keyframes ladGeoBuildPart3 {
  0%   { transform: translateX(.18em); color: var(--red, #F97316); }
  72%  { transform: translateX(-.015em); }
  100% { transform: translateX(0); color: inherit; }
}
@keyframes ladGeoBuildBeam {
  0%   { transform: scaleX(0); opacity: 0; }
  25%  { opacity: .95; }
  75%  { transform: scaleX(1); opacity: .85; }
  100% { transform: scaleX(1); opacity: .22; }
}
@keyframes ladGeoNetworkShow {
  0%   { opacity: 0; transform: translateY(.05em); }
  25%,78% { opacity: .95; transform: translateY(0); }
  100% { opacity: .28; transform: translateY(0); }
}
@keyframes ladGeoNode {
  0%   { transform: scale(0); opacity: 0; }
  70%  { transform: scale(1.35); opacity: 1; }
  100% { transform: scale(1); opacity: .8; }
}
@keyframes ladGeoLink {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: .75; }
}

/* ============================================================
   3. COMPOUND / REINFORCEMENT
   AI Visibility resolves.
   Compound expands in layered echoes.
   Signals push toward each other.
   ============================================================ */

.lad-geo-compound__visibility,
.lad-geo-compound__compound,
.lad-geo-compound__signals {
  position: relative;
  display: inline-block;
}

.lad-geo-compound__visibility {
  overflow: hidden;
  vertical-align: bottom;
}

.lad-geo-compound__visibility-scan {
  position: absolute;
  inset: -10% auto -10% -24%;
  width: 20%;
  background: linear-gradient(90deg, transparent, rgba(255,211,160,.9), rgba(249,115,22,.30), transparent);
  opacity: 0;
  pointer-events: none;
}

.lad-geo-compound__compound::before,
.lad-geo-compound__compound::after {
  content: attr(data-word);
  position: absolute;
  inset: 0;
  color: var(--red, #F97316);
  opacity: 0;
  pointer-events: none;
}

.lad-geo-compound__signals {
  padding-bottom: .16em;
}

.lad-geo-compound__signal-line {
  position: absolute;
  left: 2%;
  right: 2%;
  bottom: .01em;
  height: 2px;
  background: rgba(249,115,22,.24);
  opacity: 0;
}

.lad-geo-compound__pulse {
  position: absolute;
  top: 50%;
  width: 26%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--red, #F97316));
  transform: translateY(-50%);
  opacity: 0;
}

.lad-geo-compound__pulse--left {
  left: 0;
}

.lad-geo-compound__pulse--right {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__visibility-scan {
  animation: ladGeoVisibilityScan 1.15s ease .74s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__compound {
  animation: ladGeoCompoundBase 1.4s cubic-bezier(.16,1,.3,1) 1.35s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__compound::before {
  animation: ladGeoCompoundGhost1 1.25s ease 1.35s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__compound::after {
  animation: ladGeoCompoundGhost2 1.25s ease 1.35s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__signal-line {
  animation: ladGeoSignalLine 1.55s ease 2.15s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__pulse--left {
  animation: ladGeoPulseLeft 1.25s cubic-bezier(.2,.7,.2,1) 2.20s both;
}

.lad-geo-outcome.geo-theme-play .lad-geo-compound__pulse--right {
  animation: ladGeoPulseRight 1.25s cubic-bezier(.2,.7,.2,1) 2.20s both;
}

@keyframes ladGeoVisibilityScan {
  0%   { left: -24%; opacity: 0; }
  15%  { opacity: .95; }
  78%  { opacity: .70; }
  100% { left: 110%; opacity: 0; }
}
@keyframes ladGeoCompoundBase {
  0%   { transform: scale(1); color: inherit; }
  38%  { transform: scale(1.07); color: var(--red, #F97316); }
  70%  { transform: scale(.992); }
  100% { transform: scale(1); color: inherit; }
}
@keyframes ladGeoCompoundGhost1 {
  0%   { opacity: 0; transform: scale(1); }
  30%  { opacity: .34; }
  100% { opacity: 0; transform: scale(1.15) translateY(-.08em); filter: blur(3px); }
}
@keyframes ladGeoCompoundGhost2 {
  0%   { opacity: 0; transform: scale(1); }
  30%  { opacity: .22; }
  100% { opacity: 0; transform: scale(1.28) translateY(-.13em); filter: blur(5px); }
}
@keyframes ladGeoSignalLine {
  0%   { opacity: 0; transform: scaleX(.15); }
  30%,75% { opacity: .75; transform: scaleX(1); }
  100% { opacity: .25; transform: scaleX(1); }
}
@keyframes ladGeoPulseLeft {
  0%   { left: -8%; opacity: 0; }
  18%  { opacity: 1; }
  70%  { left: 44%; opacity: 1; }
  100% { left: 47%; opacity: 0; }
}
@keyframes ladGeoPulseRight {
  0%   { right: -8%; opacity: 0; }
  18%  { opacity: 1; }
  70%  { right: 44%; opacity: 1; }
  100% { right: 47%; opacity: 0; }
}

/* ============================================================
   4. CATEGORY / RESEARCH / AI
   Category gets a targeting cue.
   Researched gets scanned.
   AI finishes with a node orbit.
   ============================================================ */

.lad-geo-research__category,
.lad-geo-research__researched,
.lad-geo-research__ai {
  position: relative;
  display: inline-block;
}

.lad-geo-research__category {
  padding: .02em .06em;
}

.lad-geo-research__target {
  position: absolute;
  inset: -.08em -.12em;
  opacity: 0;
  pointer-events: none;
}

.lad-geo-research__target::before,
.lad-geo-research__target::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(249,115,22,.55);
  border-radius: 50%;
  transform: scale(.65);
}

.lad-geo-research__target::after {
  inset: 18% 22%;
  border-color: rgba(249,115,22,.38);
}

.lad-geo-research__target i {
  position: absolute;
  background: var(--red, #F97316);
  opacity: .55;
}

.lad-geo-research__target i:nth-child(1) {
  left: 50%;
  top: -7%;
  width: 1px;
  height: 114%;
}

.lad-geo-research__target i:nth-child(2) {
  top: 50%;
  left: -5%;
  width: 110%;
  height: 1px;
}

.lad-geo-research__researched {
  overflow: hidden;
  vertical-align: bottom;
}

.lad-geo-research__scan {
  position: absolute;
  inset: 0 auto 0 -24%;
  width: 18%;
  background: linear-gradient(90deg, transparent, rgba(255,211,160,.9), rgba(249,115,22,.32), transparent);
  opacity: 0;
  pointer-events: none;
}

.lad-geo-research__ai {
  padding: .02em .11em;
}

.lad-geo-research__orbit {
  position: absolute;
  inset: -.18em -.20em;
  border: 1px solid rgba(249,115,22,.42);
  border-radius: 50%;
  opacity: 0;
  transform: rotate(-22deg);
  pointer-events: none;
}

.lad-geo-research__orbit i {
  position: absolute;
  left: 50%;
  top: -3px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  border-radius: 50%;
  background: var(--red, #F97316);
  box-shadow: 0 0 9px rgba(249,115,22,.40);
}

.lad-geo-fit.geo-theme-play .lad-geo-research__target {
  animation: ladGeoTargetShow 1.45s cubic-bezier(.16,1,.3,1) .72s both;
}

.lad-geo-fit.geo-theme-play .lad-geo-research__target::before {
  animation: ladGeoTargetRing1 1.45s cubic-bezier(.16,1,.3,1) .72s both;
}

.lad-geo-fit.geo-theme-play .lad-geo-research__target::after {
  animation: ladGeoTargetRing2 1.45s cubic-bezier(.16,1,.3,1) .82s both;
}

.lad-geo-fit.geo-theme-play .lad-geo-research__scan {
  animation: ladGeoResearchScan 1.2s ease 1.55s both;
}

.lad-geo-fit.geo-theme-play .lad-geo-research__ai {
  animation: ladGeoAIPulse 1.45s cubic-bezier(.16,1,.3,1) 2.25s both;
}

.lad-geo-fit.geo-theme-play .lad-geo-research__orbit {
  animation: ladGeoOrbit 1.55s cubic-bezier(.2,.7,.2,1) 2.20s both;
}

@keyframes ladGeoTargetShow {
  0%   { opacity: 0; }
  20%,72% { opacity: .72; }
  100% { opacity: .18; }
}
@keyframes ladGeoTargetRing1 {
  0%   { transform: scale(.65); opacity: 0; }
  45%  { transform: scale(1.04); opacity: .85; }
  100% { transform: scale(1); opacity: .24; }
}
@keyframes ladGeoTargetRing2 {
  0%   { transform: scale(.55); opacity: 0; }
  45%  { transform: scale(1.10); opacity: .72; }
  100% { transform: scale(1); opacity: .18; }
}
@keyframes ladGeoResearchScan {
  0%   { left: -24%; opacity: 0; }
  15%  { opacity: .95; }
  78%  { opacity: .7; }
  100% { left: 112%; opacity: 0; }
}
@keyframes ladGeoAIPulse {
  0%   { transform: scale(1); color: var(--red, #F97316); }
  38%  { transform: scale(1.10); text-shadow: 0 0 16px rgba(249,115,22,.20); }
  72%  { transform: scale(.99); }
  100% { transform: scale(1); color: var(--red, #F97316); text-shadow: none; }
}
@keyframes ladGeoOrbit {
  0%   { opacity: 0; transform: rotate(-22deg) scale(.72); }
  18%  { opacity: .85; }
  72%  { opacity: .72; transform: rotate(338deg) scale(1.03); }
  100% { opacity: .20; transform: rotate(338deg) scale(1); }
}

/* ============================================================
   CLEAN RESTING STATE
   Orange phrases stay orange; everything else returns to black.
   Decorative traces disappear between replays.
   ============================================================ */

.lad-geo-section:not(.geo-theme-play) .lad-geo-rival__answer,
.lad-geo-section:not(.geo-theme-play) .lad-geo-build__ai,
.lad-geo-section:not(.geo-theme-play) .lad-geo-compound__visibility,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__ai {
  color: var(--red, #F97316);
  transform: none;
  filter: none;
  opacity: 1;
}

.lad-geo-section:not(.geo-theme-play) .lad-geo-rival__rival,
.lad-geo-section:not(.geo-theme-play) .lad-geo-rival__competitor,
.lad-geo-section:not(.geo-theme-play) .lad-geo-build__build,
.lad-geo-section:not(.geo-theme-play) .lad-geo-compound__compound,
.lad-geo-section:not(.geo-theme-play) .lad-geo-compound__signals,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__category,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__researched {
  color: var(--ink, #14161B);
  transform: none;
  filter: none;
  opacity: 1;
}

.lad-geo-section:not(.geo-theme-play) .lad-geo-rival__answer-line,
.lad-geo-section:not(.geo-theme-play) .lad-geo-build__beam,
.lad-geo-section:not(.geo-theme-play) .lad-geo-build__network,
.lad-geo-section:not(.geo-theme-play) .lad-geo-compound__visibility-scan,
.lad-geo-section:not(.geo-theme-play) .lad-geo-compound__signal-line,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__target,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__scan,
.lad-geo-section:not(.geo-theme-play) .lad-geo-research__orbit {
  opacity: 0;
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .lad-geo-rival__answer-line,
  .lad-geo-build__beam,
  .lad-geo-build__network,
  .lad-geo-compound__visibility-scan,
  .lad-geo-compound__signal-line,
  .lad-geo-research__target,
  .lad-geo-research__scan,
  .lad-geo-research__orbit {
    display: none !important;
  }

  .lad-geo-rival__rival,
  .lad-geo-rival__competitor,
  .lad-geo-rival__answer,
  .lad-geo-build__build,
  .lad-geo-build__part,
  .lad-geo-build__ai,
  .lad-geo-compound__visibility,
  .lad-geo-compound__compound,
  .lad-geo-compound__signals,
  .lad-geo-research__category,
  .lad-geo-research__researched,
  .lad-geo-research__ai {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .lad-geo-rival__answer,
  .lad-geo-build__ai,
  .lad-geo-compound__visibility,
  .lad-geo-research__ai {
    color: var(--red, #F97316) !important;
  }
}


/* ============================================================
   LEADADVISOR360 — FRONT-PAGE CARD PARITY LAYER
   Matches the home/front page card entrance + luxury hover system.
   This layer intentionally does NOT alter thematic H2 animations.
   ============================================================ */

.lad-front-parity-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.lad-front-parity-section > *:not(.lad-front-parity-glow) {
  position: relative;
  z-index: 1;
}

.lad-front-parity-glow {
  position: absolute;
  z-index: 0;
  width: 520px;
  height: 520px;
  left: 0;
  top: 0;
  margin-left: -260px;
  margin-top: -260px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(249,115,22,.085),
      rgba(249,115,22,.035) 34%,
      transparent 70%
    );
  opacity: 0;
  pointer-events: none;
  transition:
    opacity .5s ease,
    transform .48s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}

.lad-front-parity-section.lad-front-pointer-active .lad-front-parity-glow {
  opacity: 1;
}

/* ---------- Exact front-page scroll reveal language ---------- */

.lad-front-parity-card {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  transform-origin: center;

  opacity: 0 !important;
  transform: translateY(22px) !important;

  border-color: rgba(20,22,27,.055);
  box-shadow:
    0 1px 2px rgba(20,22,27,.04),
    0 0 0 1px rgba(255,255,255,.42) inset;

  transition:
    opacity .55s cubic-bezier(.2,.7,.2,1),
    transform .3s cubic-bezier(.2,.7,.2,1),
    box-shadow .3s ease,
    border-color .3s ease !important;

  transition-delay:
    var(--lad-front-card-delay, .18s),
    var(--lad-front-card-delay, .18s),
    0s,
    0s !important;
}

/* Sheen sweep used by the home-page luxury cards. */
.lad-front-parity-card::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      115deg,
      transparent 18%,
      rgba(255,255,255,.80) 42%,
      rgba(255,211,160,.20) 50%,
      transparent 68%
    );
  transform: translateX(-125%);
  transition: transform .72s cubic-bezier(.2,.7,.2,1);
}

/* Thin orange illuminated edge. */
.lad-front-parity-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(249,115,22,.58),
      transparent
    );
  transform: scaleX(.15);
  opacity: 0;
  transition:
    transform .4s cubic-bezier(.2,.7,.2,1),
    opacity .3s ease;
}

.lad-front-parity-card > * {
  position: relative;
  z-index: 1;
}

.lad-front-parity-section.front-cards-in-view .lad-front-parity-card {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.lad-front-parity-section.front-cards-in-view .lad-front-parity-card:hover,
.lad-front-parity-section.front-cards-in-view .lad-front-parity-card:focus-within {
  transform: translateY(-4px) !important;
  border-color: rgba(249,115,22,.18) !important;
  box-shadow:
    0 18px 44px rgba(20,22,27,.10),
    0 0 0 1px rgba(249,115,22,.055) inset !important;
}

.lad-front-parity-card:hover::before,
.lad-front-parity-card:focus-within::before {
  transform: translateX(125%);
}

.lad-front-parity-card:hover::after,
.lad-front-parity-card:focus-within::after {
  transform: scaleX(1);
  opacity: 1;
}

.lad-front-parity-card .lad-front-parity-title {
  transition: color .25s ease;
}

.lad-front-parity-card:hover .lad-front-parity-title,
.lad-front-parity-card:focus-within .lad-front-parity-title {
  color: #F97316 !important;
}

/* Keyboard parity with the front-page cards. */
.lad-front-parity-card:focus-visible {
  outline: 2px solid #F97316;
  outline-offset: 4px;
}

/* Touch devices should retain the scroll reveal without a fake persistent hover. */
@media (hover: none) {
  .lad-front-parity-section.front-cards-in-view .lad-front-parity-card:hover {
    transform: translateY(0) !important;
    border-color: rgba(20,22,27,.055) !important;
    box-shadow:
      0 1px 2px rgba(20,22,27,.04),
      0 0 0 1px rgba(255,255,255,.42) inset !important;
  }

  .lad-front-parity-card:hover::before {
    transform: translateX(-125%);
  }

  .lad-front-parity-card:hover::after {
    transform: scaleX(.15);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lad-front-parity-glow {
    display: none !important;
  }

  .lad-front-parity-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .lad-front-parity-card::before,
  .lad-front-parity-card::after {
    display: none !important;
    transition: none !important;
  }
}

/* LeadAdvisor360 performance theme: reveal states are server-applied; no JS required. */
.lad-geo-page .lad-front-parity-section .lad-front-parity-card{opacity:1!important;transform:translateY(0)!important;}
