.mr-geo-page { background: #fff; }
.mr-page-footer-gap {
  display: block;
  width: 100%;
  height: var(--footer-top-space, 100px);
  flex: none;
  background: #fff;
}
@media (max-width: 767px) {
  .mr-page-footer-gap { height: var(--footer-top-space-mobile, 48px); }
}
@media (min-width: 992px) {
  #mr-submenu-portal .sub-menu.is-mega,
  .tf-header .sub-menu.is-mega {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
    width: min(680px, calc(100vw - 24px)) !important;
    max-height: min(78vh, 640px);
    overflow-y: auto;
    gap: 6px 12px;
    padding: 14px 16px;
  }
  #mr-submenu-portal .sub-menu.is-mega .sub-menu-item,
  .tf-header .sub-menu.is-mega .sub-menu-item { min-width: 0; }
  #mr-submenu-portal .sub-menu.is-mega .item-link,
  .tf-header .sub-menu.is-mega .item-link {
    display: grid !important;
    white-space: normal !important;
    line-height: 1.3 !important;
  }
}
.mr-geo-definition-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid rgba(24,24,27,.10);
  border-radius: 28px;
  background: #f7f7f5;
}
.mr-geo-kicker {
  margin: 0 0 12px;
  color: #02774e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mr-geo-definition-card h2,
.mr-geo-howto h2,
.mr-geo-cta h2 {
  margin: 0;
  color: #18181b;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.mr-geo-definition-card > p:not(.mr-geo-kicker),
.mr-geo-howto > div > p:not(.mr-geo-kicker) {
  max-width: 800px;
  margin: 20px 0 0;
  color: #52525b;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.7;
}
.mr-geo-definition-card .mr-geo-source-note {
  margin-top: 24px;
  color: #02774e;
  font-size: 13px;
  font-weight: 700;
}
.mr-geo-capability-grid,
.mr-geo-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.mr-geo-capability-card,
.mr-geo-home-card {
  min-width: 0;
  padding: 26px;
  border: 1px solid rgba(24,24,27,.10);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(24,24,27,.05);
}
.mr-geo-capability-card > span,
.mr-geo-home-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: rgba(2,119,78,.09);
  color: #02774e;
  font-size: 12px;
  font-weight: 800;
}
.mr-geo-capability-card h3,
.mr-geo-home-card h3 {
  margin: 0;
  color: #18181b;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.mr-geo-capability-card p,
.mr-geo-home-card p {
  margin: 12px 0 0;
  color: #71717a;
  font-size: 15px;
  line-height: 1.6;
}
.mr-geo-home-card a {
  display: inline-flex;
  margin-top: 18px;
  color: #02774e;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.mr-home-capabilities-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}
.mr-home-capabilities-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-width: 220px;
}
.mr-home-capabilities-toggle-icon {
  width: 9px;
  height: 9px;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .28s ease;
}
.mr-home-capabilities-toggle[aria-expanded="true"] .mr-home-capabilities-toggle-icon {
  transform: translateY(3px) rotate(225deg);
}
.mr-home-capability-extra.mr-capability-enter {
  animation: mrCapabilityEnter .42s cubic-bezier(.2,.7,.2,1) both;
}
.mr-home-capability-extra.mr-capability-leave {
  animation: mrCapabilityLeave .22s ease both;
}
@keyframes mrCapabilityEnter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes mrCapabilityLeave {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(12px); }
}
@media (prefers-reduced-motion: reduce) {
  .mr-home-capability-extra.mr-capability-enter,
  .mr-home-capability-extra.mr-capability-leave { animation: none; }
  .mr-home-capabilities-toggle-icon { transition: none; }
}
.mr-geo-howto {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  gap: clamp(32px, 7vw, 90px);
  padding: clamp(30px, 5vw, 64px);
  border-radius: 28px;
  background: #101815;
}
.mr-geo-howto h2 { color: #fff; }
.mr-geo-howto > div > p:not(.mr-geo-kicker) { color: #cbd5d1; }
.mr-geo-howto ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mr-geo-howto li { padding: 16px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.04); }
.mr-geo-howto li strong,
.mr-geo-howto li span { display: block; }
.mr-geo-howto li strong { color: #fff; font-size: 15px; }
.mr-geo-howto li span { margin-top: 4px; color: #aebbb6; font-size: 13px; line-height: 1.5; }
.mr-geo-faq-list { max-width: 900px; margin: 0 auto; }
.mr-geo-faq-list details { border-bottom: 1px solid rgba(24,24,27,.12); }
.mr-geo-faq-list summary { cursor: pointer; padding: 22px 4px; color: #18181b; font-size: 18px; font-weight: 750; }
.mr-geo-faq-list details p { margin: 0; padding: 0 4px 24px; color: #52525b; line-height: 1.7; }
.mr-geo-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(28px, 5vw, 54px); border-radius: 26px; }
.mr-geo-cta p { margin: 0 0 8px; color: #9fd4c0; font-weight: 700; }
.mr-geo-cta h2 { max-width: 760px; color: #fff; }

@media (max-width: 991px) {
  .mr-geo-capability-grid,
  .mr-geo-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mr-geo-howto { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .mr-geo-capability-grid,
  .mr-geo-home-grid { grid-template-columns: 1fr; }
  .mr-geo-capability-card,
  .mr-geo-home-card { padding: 22px; }
  .mr-geo-cta { align-items: flex-start; flex-direction: column; }
}

/* WhatsApp CRM product workspace — an interface explanation, not a claim
   that every tenant has every data field enabled. */
.mr-crm-workspace__heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin:0 auto 34px; max-width:1120px; }
.mr-crm-workspace__heading > div:first-child { max-width:750px; }
.mr-crm-workspace__heading h2,
.mr-crm-flow__intro h2,
.mr-crm-boundary h2 { margin:0; color:#18181b; font-size:clamp(29px,4vw,50px); line-height:1.08; letter-spacing:-.04em; }
.mr-crm-workspace__heading p:not(.mr-geo-kicker),
.mr-crm-flow__intro > p { margin:17px 0 0; color:#52525b; font-size:17px; line-height:1.7; }
.mr-crm-workspace__note { display:flex; gap:10px; align-items:flex-start; max-width:285px; padding:15px 16px; border:1px solid rgba(2,119,78,.18); border-radius:14px; background:rgba(2,119,78,.055); color:#255647; font-size:13px; font-weight:700; line-height:1.5; }
.mr-crm-workspace__note i { color:#02774e; font-size:17px; }
.mr-crm-demo { position:relative; display:grid; grid-template-columns:210px minmax(300px,1.35fr) minmax(235px,.7fr); min-height:525px; overflow:hidden; border:1px solid rgba(24,24,27,.12); border-radius:26px; background:#f9fbfa; box-shadow:0 24px 70px rgba(16,24,21,.10); }
.mr-crm-demo__sidebar { display:flex; flex-direction:column; gap:5px; padding:18px 12px; background:#11201b; }
.mr-crm-demo__brand { display:flex; align-items:center; gap:9px; padding:4px 10px 21px; color:#fff; font-size:15px; }
.mr-crm-demo__brand span { width:21px; height:21px; border-radius:7px; background:linear-gradient(135deg,#15be80,#04724d); box-shadow:inset -4px -4px 0 rgba(0,0,0,.13); }
.mr-crm-demo__sidebar button { display:flex; align-items:center; width:100%; gap:10px; padding:10px 11px; border:0; border-radius:10px; color:#b8c9c1; background:transparent; font:700 12px/1.25 inherit; text-align:left; cursor:pointer; transition:background .2s,color .2s; }
.mr-crm-demo__sidebar button:hover,.mr-crm-demo__sidebar button.is-active { color:#fff; background:rgba(255,255,255,.11); }
.mr-crm-demo__sidebar button i { width:16px; color:#7de3b7; font-size:15px; text-align:center; }
.mr-crm-demo__sidebar-footer { display:flex; align-items:center; gap:8px; margin-top:auto; padding:14px 10px 2px; color:#8ea89d; font-size:10px; }
.mr-crm-demo__sidebar-footer span { width:7px; height:7px; border-radius:50%; background:#41d69a; box-shadow:0 0 0 3px rgba(65,214,154,.12); }
.mr-crm-demo__main { display:flex; min-width:0; flex-direction:column; background:#fff; border-right:1px solid rgba(24,24,27,.09); }
.mr-crm-demo__main > header { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:76px; padding:15px 20px; border-bottom:1px solid rgba(24,24,27,.09); }
.mr-crm-demo__main > header div { display:grid; gap:2px; min-width:0; }.mr-crm-demo__main > header span { color:#828e87; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }.mr-crm-demo__main > header strong { color:#15221c; font-size:15px; }.mr-crm-demo__main > header em { color:#078554; font-size:11px; font-style:normal; font-weight:800; }.mr-crm-demo__main > header button { flex:none; padding:8px 10px; border:1px solid rgba(2,119,78,.2); border-radius:9px; color:#086946; background:#f4fbf7; font:700 11px/1.1 inherit; }.mr-crm-demo__main > header button i { margin-right:5px; }
.mr-crm-demo__conversation { flex:1; padding:25px 22px; background:linear-gradient(180deg,#fbfdfc 0%,#f4f8f6 100%); }.mr-crm-demo__conversation > p { display:flex; align-items:end; gap:7px; max-width:82%; margin:0 0 16px; }.mr-crm-demo__conversation > p span { display:block; padding:11px 13px; border-radius:4px 13px 13px; color:#2d3933; background:#fff; box-shadow:0 4px 10px rgba(14,38,26,.06); font-size:13px; line-height:1.45; }.mr-crm-demo__conversation > p small { color:#90a097; font-size:9px; white-space:nowrap; }.mr-crm-demo__conversation > p.is-out { flex-direction:row-reverse; margin-left:auto; }.mr-crm-demo__conversation > p.is-out span { border-radius:13px 4px 13px 13px; background:#d8f8e7; }.mr-crm-demo__conversation > p.is-note { align-items:center; max-width:100%; padding:9px 11px; border:1px dashed rgba(2,119,78,.32); border-radius:9px; color:#39715a; background:rgba(220,250,233,.54); font-size:11px; font-weight:700; line-height:1.45; }.mr-crm-demo__conversation > p.is-note i { margin-right:6px; }
.mr-crm-demo__action { display:flex; gap:10px; align-items:center; max-width:88%; margin:22px auto; padding:12px 13px; border:1px solid rgba(2,119,78,.18); border-radius:12px; background:#fff; box-shadow:0 7px 20px rgba(14,38,26,.05); }.mr-crm-demo__action > i { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#087a50; background:#dff8e9; }.mr-crm-demo__action div { display:grid; gap:2px; }.mr-crm-demo__action b { color:#203128; font-size:11px; }.mr-crm-demo__action span { color:#708077; font-size:10px; }
.mr-crm-demo__main > footer { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:10px 17px; border-top:1px solid rgba(24,24,27,.08); color:#9ca8a1; font-size:12px; }.mr-crm-demo__main > footer i { color:#0a8958; font-size:17px; }
.mr-crm-demo__record { padding:20px 17px; background:#fbfcfb; }.mr-crm-demo__person { display:flex; gap:10px; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(24,24,27,.08); }.mr-crm-demo__person > span { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#247b58,#102f24); font-size:11px; font-weight:800; }.mr-crm-demo__person div { display:grid; gap:2px; }.mr-crm-demo__person strong { color:#1d2d25; font-size:13px; }.mr-crm-demo__person small { color:#748179; font-size:10px; }
.mr-crm-demo__record dl { display:grid; gap:15px; margin:19px 0; }.mr-crm-demo__record dl div { display:grid; gap:4px; }.mr-crm-demo__record dt { color:#8a968f; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.mr-crm-demo__record dd { margin:0; color:#2f3e35; font-size:11px; font-weight:750; }.mr-crm-demo__record .is-permitted { display:inline-flex; padding:4px 6px; border-radius:5px; color:#06774d; background:#ddf8e8; font-size:10px; }.mr-crm-demo__timeline { display:grid; gap:9px; padding:14px 0 0 12px; border-top:1px solid rgba(24,24,27,.08); border-left:2px solid #d6e6dc; }.mr-crm-demo__timeline b { margin-left:-13px; color:#536158; font-size:11px; }.mr-crm-demo__timeline span { position:relative; color:#758179; font-size:10px; line-height:1.35; }.mr-crm-demo__timeline span:before { position:absolute; left:-17px; top:3px; width:7px; height:7px; border:2px solid #fff; border-radius:50%; background:#31b47e; content:""; }.mr-crm-demo__caption { position:absolute; right:18px; bottom:15px; display:grid; gap:3px; max-width:280px; padding:10px 12px; border:1px solid rgba(24,24,27,.09); border-radius:10px; background:rgba(255,255,255,.91); box-shadow:0 8px 24px rgba(16,24,21,.09); backdrop-filter:blur(8px); }.mr-crm-demo__caption b { color:#1f382b; font-size:11px; }.mr-crm-demo__caption span { color:#6b796f; font-size:10px; line-height:1.4; }
.mr-crm-flow .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(450px,1.2fr); gap:clamp(30px,7vw,100px); align-items:center; }.mr-crm-flow__intro { max-width:510px; }.mr-crm-flow__steps { display:grid; gap:11px; margin:0; padding:0; list-style:none; }.mr-crm-flow__steps li { display:flex; gap:17px; align-items:flex-start; padding:18px 19px; border:1px solid rgba(24,24,27,.11); border-radius:16px; background:#fff; }.mr-crm-flow__steps li > span { color:#0a8657; font:800 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }.mr-crm-flow__steps li div { display:grid; gap:5px; }.mr-crm-flow__steps b { color:#1d2c24; font-size:15px; }.mr-crm-flow__steps p { margin:0; color:#68766d; font-size:13px; line-height:1.5; }
.mr-crm-boundary__card { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.75fr) auto; gap:28px; align-items:center; padding:clamp(28px,5vw,54px); border-radius:26px; color:#fff; background:linear-gradient(135deg,#10251c,#0a5c40); box-shadow:0 18px 48px rgba(4,71,46,.16); }.mr-crm-boundary__card .mr-geo-kicker { color:#82e5bc; }.mr-crm-boundary h2 { color:#fff; font-size:clamp(26px,3.3vw,43px); }.mr-crm-boundary__card > p { margin:0; color:#c8dfd3; font-size:14px; line-height:1.65; }.mr-crm-boundary__card .tf-btn { white-space:nowrap; color:#095237; background:#fff; }
@media (max-width:991px) { .mr-crm-workspace__heading { align-items:flex-start; flex-direction:column; }.mr-crm-workspace__note { max-width:520px; }.mr-crm-demo { grid-template-columns:170px minmax(0,1fr); }.mr-crm-demo__record { display:none; }.mr-crm-flow .container { grid-template-columns:1fr; }.mr-crm-flow__intro { max-width:700px; }.mr-crm-boundary__card { grid-template-columns:1fr; }.mr-crm-boundary__card .tf-btn { width:max-content; } }
@media (max-width:575px) { .mr-crm-demo { display:block; min-height:0; }.mr-crm-demo__sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:11px; }.mr-crm-demo__brand,.mr-crm-demo__sidebar-footer { display:none; }.mr-crm-demo__sidebar button { justify-content:center; gap:6px; padding:9px 4px; font-size:10px; text-align:center; }.mr-crm-demo__sidebar button i { display:none; }.mr-crm-demo__main { min-height:410px; border-right:0; }.mr-crm-demo__main > header { min-height:68px; padding:13px; }.mr-crm-demo__main > header button { font-size:9px; }.mr-crm-demo__conversation { padding:18px 13px; }.mr-crm-demo__conversation > p { max-width:93%; }.mr-crm-demo__caption { position:static; max-width:none; border-width:0 0 1px; border-radius:0; box-shadow:none; }.mr-crm-flow__steps li { padding:15px; }.mr-crm-boundary__card { gap:18px; } }

/* CRM copy must not wait for optional GSAP. The global .effectFade default
   otherwise leaves a complete product block blank until the visitor scrolls. */
.page-geo_whatsapp-crm .mr-crm-demo,
.page-geo_whatsapp-crm .mr-crm-demo * { opacity:1; visibility:visible; }

#goTop {
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    line-height:1 !important;
}

#goTop .ic-wrap {
    display:flex !important;
    width:100% !important;
    height:100% !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
}

#goTop .ic-wrap .icon {
    display:block !important;
    line-height:1 !important;
    transform:translate(4px, -1px);
}
