/* Seinto360 · Geolocalización · v81 */
.site-main--geolocalizacion { overflow: clip; background: #fff; }
.geo-page {
  --geo-ink: #08111c;
  --geo-copy: #4d5b6b;
  --geo-line: rgba(8,40,70,.11);
  --geo-blue: var(--si-blue, #0872be);
  --geo-orange: var(--si-orange, #ff9418);
  --geo-green: #20a675;
  --geo-blue-soft: #edf7ff;
  --geo-orange-soft: #fff5e9;
  color: var(--geo-ink);
  background: #fff;
}
.geo-page *, .geo-page *::before, .geo-page *::after { box-sizing: border-box; }
.geo-section { padding: clamp(72px,7vw,112px) 0; }
.geo-section__head { max-width: 860px; margin-bottom: clamp(34px,4vw,56px); }
.geo-section__head--center { margin-inline: auto; text-align: center; }
.geo-section__head h2,
.geo-copy h2,
.geo-seo__surface h2,
.geo-faq__grid h2,
.geo-final h2 {
  margin: 0 0 20px;
  color: var(--geo-ink);
  font-size: clamp(2.3rem,4.35vw,4.6rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.06em;
}
.geo-section__head p,
.geo-copy p,
.geo-seo__surface p,
.geo-final p {
  margin: 0 0 14px;
  color: var(--geo-copy);
  font-size: clamp(1rem,1.18vw,1.14rem);
  line-height: 1.72;
}
.geo-section__head strong,
.geo-copy strong,
.geo-seo__surface strong,
.geo-final strong { color: var(--geo-ink); }
.geo-closing { display: block; margin-top: 24px; color: #122234; font-size: 1.03rem; line-height: 1.5; }
.geo-closing--center { text-align: center; }
.geo-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.geo-actions--center { justify-content: center; }
.geo-copy { min-width: 0; max-width: 660px; }
.geo-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.geo-pills span { padding: 9px 12px; border: 1px solid #e0e5e9; border-radius: 999px; background: #fafaf8; color: #364453; font-size: 12.5px; font-weight: 700; line-height: 1.2; }

/* Hero */
.geo-hero { display: flex; align-items: center; min-height: clamp(700px,86vh,900px); padding: 0 0 clamp(58px,6vw,86px); background: #fff; }
.geo-hero__grid { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(430px,.97fr); gap: clamp(42px,6vw,88px); align-items: center; }
.geo-hero__copy { max-width: 700px; }
.geo-hero__copy h1 { max-width: 15ch; margin: 0 0 24px; color: #05070b; font-size: clamp(3rem,5vw,5rem); font-weight: 700; line-height: .96; letter-spacing: -.068em; }
.geo-hero__copy p { max-width: 65ch; margin: 0 0 13px; color: #364252; font-size: clamp(1rem,1.15vw,1.16rem); line-height: 1.72; }
.geo-hero__copy p strong { color: #111923; }
.geo-flow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 24px; }
.geo-flow__node { min-width: 116px; padding: 13px 16px; border: 1px solid #e0e5e9; border-radius: 15px; background: #fff; color: #172536; text-align: center; font-size: .86rem; font-weight: 800; box-shadow: 0 9px 24px rgba(19,37,55,.05); }
.geo-flow__arrow { color: var(--geo-orange); font-weight: 900; }
.geo-flow--hero .geo-flow__node { min-width: 108px; background: #fafbf9; }
.geo-flow--wide { justify-content: center; }
.geo-flow--mini { margin-top: 0; }
.geo-flow--stack { flex-direction: column; align-items: stretch; margin-top: 0; }
.geo-flow--stack .geo-flow__arrow { text-align: center; transform: rotate(90deg); }

/* Map */
.geo-map { overflow: hidden; border: 1px solid rgba(8,114,190,.14); border-radius: 32px; background: linear-gradient(135deg,#f5faff,#fff9f1); box-shadow: 0 28px 72px rgba(16,39,62,.12); }
.geo-map--hero { min-height: 620px; }
.geo-map__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 24px 0; padding: 14px 16px; border: 1px solid rgba(8,114,190,.10); border-radius: 16px; background: rgba(255,255,255,.94); }
.geo-map__toolbar strong { color: #172536; font-size: .84rem; }
.geo-map__toolbar span { padding: 7px 10px; border-radius: 999px; background: #eaf8ef; color: #28754b; font-size: .7rem; font-weight: 800; }
.geo-map__canvas { position: relative; min-height: 470px; margin: 18px 24px; overflow: hidden; border: 1px solid rgba(8,114,190,.08); border-radius: 24px; background:
  linear-gradient(rgba(8,114,190,.055) 1px, transparent 1px),
  linear-gradient(90deg,rgba(8,114,190,.055) 1px,transparent 1px),
  radial-gradient(circle at 20% 20%,rgba(8,114,190,.08),transparent 28%),
  radial-gradient(circle at 82% 16%,rgba(255,148,24,.08),transparent 28%),
  #fffdf9;
  background-size: 34px 34px,34px 34px,auto,auto,auto;
}
.geo-map--compact .geo-map__canvas { min-height: 480px; margin: 0; }
.geo-map__road { position: absolute; display: block; height: 10px; border: 2px solid rgba(8,114,190,.13); border-radius: 999px; background: rgba(255,255,255,.72); transform-origin: left center; }
.geo-map__road--a { width: 76%; top: 26%; left: 7%; transform: rotate(17deg); }
.geo-map__road--b { width: 82%; top: 58%; left: 5%; transform: rotate(-13deg); }
.geo-map__road--c { width: 55%; top: 77%; left: 25%; transform: rotate(8deg); }
.geo-map__zone { position: absolute; border-radius: 50%; border: 1px dashed rgba(8,114,190,.22); background: rgba(8,114,190,.035); }
.geo-map__zone--a { width: 180px; height: 180px; top: 12%; right: 12%; }
.geo-map__zone--b { width: 150px; height: 150px; bottom: 10%; left: 10%; border-color: rgba(255,148,24,.25); background: rgba(255,148,24,.035); }
.geo-pin { position: absolute; z-index: 3; display: flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid rgba(8,114,190,.12); border-radius: 16px; background: #fff; box-shadow: 0 16px 34px rgba(15,36,57,.10); }
.geo-pin b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--geo-blue); color: #fff; font-size: .72rem; }
.geo-pin span { color: #203244; font-size: .78rem; font-weight: 800; }
.geo-pin--vehicle { top: 17%; left: 11%; }
.geo-pin--sales { top: 46%; right: 8%; }
.geo-pin--sales b { background: var(--geo-orange); }
.geo-pin--cargo { bottom: 12%; left: 37%; }
.geo-pin--cargo b { background: var(--geo-green); }
.geo-map__route { position: absolute; left: 19%; top: 30%; width: 55%; height: 38%; border: 3px dashed rgba(8,114,190,.28); border-color: rgba(8,114,190,.28) transparent transparent rgba(8,114,190,.28); border-radius: 50%; transform: rotate(-9deg); }
.geo-map__legend { display: flex; flex-wrap: wrap; gap: 16px; padding: 0 24px 24px; color: #566575; font-size: .72rem; font-weight: 700; }
.geo-map__legend span { display: inline-flex; align-items: center; gap: 6px; }
.geo-map__legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--geo-blue); }
.geo-map__legend .is-orange { background: var(--geo-orange); }
.geo-map__legend .is-green { background: var(--geo-green); }

/* Cards */
.geo-benefits { background: #f4f3ef; }
.geo-benefits__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.geo-card { padding: 28px; border: 1px solid #e1ded7; border-radius: 22px; background: #fff; box-shadow: 0 16px 38px rgba(15,35,55,.045); }
.geo-benefit { min-height: 270px; background: #f9f8f5; }
.geo-card__num { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 34px; border-radius: 13px; background: linear-gradient(135deg,#e5f3ff,#fff0de); color: var(--si-blue-dark,#075a98); font-size: 12px; font-weight: 900; }
.geo-card h3,
.geo-ai__grid h3,
.geo-sector-grid h3,
.geo-diff-grid h3 { margin: 0 0 11px; color: var(--geo-ink); font-size: clamp(1.3rem,1.8vw,1.75rem); line-height: 1.08; letter-spacing: -.035em; }
.geo-card p,
.geo-ai__grid p,
.geo-sector-grid p,
.geo-diff-grid p { margin: 0; color: #4e5968; line-height: 1.62; }

/* Common split */
.geo-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(46px,6vw,92px); }
.geo-split--reverse .geo-copy { order: 2; }
.geo-split--reverse > :not(.geo-copy) { order: 1; }
.geo-feature--blue { background: linear-gradient(180deg,#fff 0%,#f2f8fd 52%,#fff 100%); }
.geo-feature--orange { background: linear-gradient(180deg,#fff 0%,#fff7ee 52%,#fff 100%); }

/* AI */
.geo-ai { padding-top: clamp(48px,5vw,76px); }
.geo-ai__surface { padding: clamp(42px,6vw,74px); border: 1px solid rgba(8,114,190,.14); border-radius: 32px; background: radial-gradient(circle at 0 0,rgba(8,114,190,.14),transparent 34%),radial-gradient(circle at 100% 100%,rgba(255,148,24,.13),transparent 34%),#f8fbfd; }
.geo-ai__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.geo-ai__grid article { min-height: 230px; padding: 26px; border: 1px solid rgba(8,114,190,.12); border-radius: 21px; background: rgba(255,255,255,.92); }
.geo-ai__grid article > span { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: 30px; border-radius: 12px; background: linear-gradient(135deg,var(--geo-blue),var(--geo-orange)); color: #fff; font-size: 11px; font-weight: 900; }

/* Vehicles */
.geo-vehicle-card { padding: 26px; border: 1px solid rgba(8,114,190,.13); border-radius: 28px; background: #fff; box-shadow: 0 24px 64px rgba(13,34,55,.09); }
.geo-vehicle-card__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.geo-vehicle-card__head span { color: #173047; font-weight: 850; }
.geo-vehicle-card__head b { padding: 8px 11px; border-radius: 999px; background: #eaf7ef; color: #26744a; font-size: .72rem; }
.geo-vehicle-card__map { position: relative; height: 260px; margin: 18px 0; overflow: hidden; border-radius: 22px; background: linear-gradient(rgba(8,114,190,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,114,190,.055) 1px,transparent 1px),#f9fbfd; background-size: 30px 30px; }
.geo-route-line { position: absolute; left: 11%; top: 52%; width: 74%; height: 3px; border-radius: 999px; background: linear-gradient(90deg,var(--geo-blue),var(--geo-orange)); transform: rotate(-11deg); }
.geo-route-dot { position: absolute; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; background: var(--geo-blue); box-shadow: 0 0 0 2px rgba(8,114,190,.18); }
.geo-route-dot--1 { left: 15%; top: 56%; }
.geo-route-dot--2 { left: 48%; top: 42%; background: var(--geo-orange); }
.geo-route-dot--3 { right: 12%; top: 28%; background: var(--geo-green); }
.geo-vehicle-card__stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.geo-vehicle-card__stats div { padding: 14px; border-radius: 15px; background: #f7f9fb; }
.geo-vehicle-card__stats small,.geo-vehicle-card__stats strong { display: block; }
.geo-vehicle-card__stats small { color: #748191; font-size: .7rem; }
.geo-vehicle-card__stats strong { margin-top: 5px; color: #1a2c3e; font-size: .86rem; }
.geo-fleet-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 26px; border: 1px solid rgba(8,114,190,.12); border-radius: 28px; background: #f9fbfd; }
.geo-fleet-grid article { min-height: 150px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid #e4e9ed; }
.geo-fleet-grid span,.geo-fleet-grid strong,.geo-fleet-grid small { display: block; }
.geo-fleet-grid span { color: var(--geo-blue); font-size: .72rem; font-weight: 900; }
.geo-fleet-grid strong { margin-top: 28px; color: #172536; font-size: 1.15rem; }
.geo-fleet-grid small { margin-top: 6px; color: #718091; }

/* History */
.geo-history__surface { padding: clamp(42px,5vw,66px); border: 1px solid rgba(8,114,190,.12); border-radius: 32px; background: #f9fbfd; }
.geo-history__timeline { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; position: relative; }
.geo-history__timeline::before { content: ''; position: absolute; left: 7%; right: 7%; top: 37px; height: 2px; background: linear-gradient(90deg,var(--geo-blue),var(--geo-orange)); opacity: .45; }
.geo-history__timeline div { position: relative; z-index: 1; min-height: 128px; padding: 18px; border: 1px solid #e0e5ea; border-radius: 18px; background: #fff; text-align: center; }
.geo-history__timeline b { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 24px; border-radius: 12px; background: var(--geo-blue-soft); color: var(--si-blue-dark,#075a98); font-size: .72rem; }
.geo-history__timeline div:nth-child(even) b { background: var(--geo-orange-soft); color: var(--si-orange-dark,#e67800); }
.geo-history__timeline span { color: #243547; font-size: .82rem; font-weight: 800; }

/* Commercial */
.geo-territory { position: relative; min-height: 480px; overflow: hidden; border: 1px solid rgba(8,114,190,.12); border-radius: 30px; background: linear-gradient(rgba(8,114,190,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(8,114,190,.05) 1px,transparent 1px),#fffdf9; background-size: 34px 34px; }
.geo-territory__zone { position: absolute; display: grid; place-items: center; padding: 18px; border-radius: 50%; text-align: center; }
.geo-territory__zone span,.geo-territory__zone b { display:block; }
.geo-territory__zone span { font-weight: 850; }
.geo-territory__zone b { margin-top: 5px; font-size: .72rem; }
.geo-territory__zone--1 { width: 190px; height: 190px; top: 32px; left: 36px; background: rgba(8,114,190,.12); color: #075a98; }
.geo-territory__zone--2 { width: 220px; height: 220px; top: 122px; right: 38px; background: rgba(255,148,24,.13); color: #a35e08; }
.geo-territory__zone--3 { width: 155px; height: 155px; bottom: 30px; left: 116px; background: rgba(32,166,117,.12); color: #197151; }
.geo-territory__sales { position: absolute; display:grid; place-items:center; width: 52px; height: 52px; border: 5px solid #fff; border-radius: 50%; background: var(--geo-blue); color: #fff; font-size: .72rem; font-weight: 900; box-shadow: 0 12px 24px rgba(10,40,70,.16); }
.geo-territory__sales--a { top: 100px; left: 164px; }
.geo-territory__sales--b { bottom: 100px; right: 130px; background: var(--geo-orange); }
.geo-heatmap { position: relative; display: grid; grid-template-columns: repeat(6,1fr); gap: 6px; padding: 28px; border: 1px solid rgba(8,114,190,.12); border-radius: 28px; background: #f9fbfd; }
.geo-heatmap__cell { aspect-ratio: 1; border-radius: 12px; background: rgba(8,114,190,.05); }
.geo-heatmap__cell--1 { background: rgba(8,114,190,.08); }
.geo-heatmap__cell--2 { background: rgba(8,114,190,.15); }
.geo-heatmap__cell--3 { background: rgba(255,148,24,.12); }
.geo-heatmap__cell--4 { background: rgba(255,148,24,.22); }
.geo-heatmap__cell--5 { background: rgba(32,166,117,.18); }
.geo-heatmap__label { grid-column: 1/-1; margin-top: 8px; color: #536476; text-align:center; font-size: .76rem; font-weight:800; }
.geo-crm__surface { padding: clamp(42px,5vw,68px); border-radius: 32px; background: #f3f2ee; }

/* Cargo */
.geo-cargo-card { display: grid; grid-template-columns: 58px repeat(2,minmax(0,1fr)); gap: 12px; align-items:center; padding: 28px; border: 1px solid rgba(8,114,190,.12); border-radius: 28px; background:#fff; box-shadow:0 24px 64px rgba(13,34,55,.08); }
.geo-cargo-card__icon { grid-row: span 2; display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:linear-gradient(135deg,var(--geo-blue),#49a6e8); color:#fff; font-weight:900; }
.geo-cargo-card div:not(.geo-cargo-card__progress) { padding: 14px; border-radius:15px; background:#f7f9fb; }
.geo-cargo-card small,.geo-cargo-card strong { display:block; }
.geo-cargo-card small { color:#748191; font-size:.7rem; }
.geo-cargo-card strong { margin-top:5px; color:#1a2c3e; font-size:.9rem; }
.geo-cargo-card .is-green { color:#208256; }
.geo-cargo-card__progress { grid-column:1/-1; height:10px; overflow:hidden; border-radius:999px; background:#e7edf1; }
.geo-cargo-card__progress i { display:block; width:68%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--geo-blue),var(--geo-green)); }
.geo-shipment { display:grid; gap:10px; padding:26px; border:1px solid rgba(8,114,190,.12); border-radius:28px; background:#f9fbfd; }
.geo-shipment article { display:grid; grid-template-columns:46px 1fr; align-items:center; gap:14px; padding:12px; border-radius:16px; background:#fff; }
.geo-shipment article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--geo-blue-soft); color:var(--si-blue-dark,#075a98); font-size:.72rem; font-weight:900; }
.geo-shipment strong,.geo-shipment small { display:block; }
.geo-shipment strong { color:#203244; }
.geo-shipment small { margin-top:4px; color:#718090; }

/* Logistics */
.geo-logistics { background: #f4f3ef; }
.geo-logistics__surface { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:clamp(42px,6vw,80px); align-items:center; padding:clamp(38px,5vw,64px); border-radius:32px; background:#fff; border:1px solid rgba(12,34,55,.06); }
.geo-logistics__route { padding:26px; border-radius:28px; background:#0c1927; }
.geo-logistics__route .geo-flow__node { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.10); color:#fff; box-shadow:none; }

/* People */
.geo-people-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.geo-people-grid article { min-height:150px; padding:22px; border:1px solid #e1e6ea; border-radius:20px; background:#fff; box-shadow:0 14px 34px rgba(15,35,55,.05); }
.geo-people-grid span { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--geo-blue-soft); color:var(--si-blue-dark,#075a98); font-size:.72rem; font-weight:900; }
.geo-people-grid strong,.geo-people-grid small { display:block; }
.geo-people-grid strong { margin-top:18px; color:#203244; }
.geo-people-grid small { margin-top:5px; color:#748191; }

/* Realtime */
.geo-realtime { background:#071827; color:#fff; }
.geo-realtime__surface { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:clamp(44px,6vw,88px); align-items:center; }
.geo-realtime .geo-copy h2,.geo-realtime .geo-copy strong { color:#fff; }
.geo-realtime .geo-copy p { color:#b9c7d5; }
.geo-realtime__metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.geo-realtime__metrics article { padding:24px 18px; border:1px solid rgba(255,255,255,.10); border-radius:20px; background:rgba(255,255,255,.05); text-align:center; }
.geo-realtime__metrics span,.geo-realtime__metrics small { display:block; }
.geo-realtime__metrics span { color:#fff; font-size:2rem; font-weight:800; letter-spacing:-.04em; }
.geo-realtime__metrics small { margin-top:8px; color:#9fb2c4; }

/* Sectors */
.geo-sector-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.geo-sector-grid .geo-card { min-height:220px; padding:24px; background:#fafaf8; }

/* Config */
.geo-config { padding:28px; border:1px solid rgba(8,114,190,.12); border-radius:28px; background:#fff; box-shadow:0 22px 58px rgba(15,35,55,.07); }
.geo-config__head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.geo-config__head strong { color:#172536; }
.geo-config__head span { padding:7px 10px; border-radius:999px; background:#eaf7ef; color:#26744a; font-size:.7rem; font-weight:800; }
.geo-config__row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-top:1px solid #e7ebee; color:#34475a; font-weight:700; }
.geo-config__row i { width:38px; height:21px; border-radius:999px; background:#dceaf5; position:relative; }
.geo-config__row i::after { content:''; position:absolute; right:3px; top:3px; width:15px; height:15px; border-radius:50%; background:var(--geo-blue); }

/* Sync orbit */
.geo-sync { background:linear-gradient(180deg,#fff 0%,#f4f8fb 50%,#fff 100%); }
.geo-sync__surface { padding:clamp(42px,6vw,72px); border:1px solid rgba(8,114,190,.11); border-radius:34px; background:#fff; }
.geo-orbit { position:relative; min-height:500px; max-width:900px; margin:0 auto; border-radius:34px; background:radial-gradient(circle at center,rgba(8,114,190,.10),transparent 34%),linear-gradient(rgba(8,114,190,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(8,114,190,.04) 1px,transparent 1px),#fbfcfd; background-size:auto,36px 36px,36px 36px,auto; overflow:hidden; }
.geo-orbit::before { content:''; position:absolute; inset:70px 130px; border:2px dashed rgba(8,114,190,.20); border-radius:50%; }
.geo-orbit__center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:190px; height:120px; border-radius:26px; background:linear-gradient(135deg,var(--geo-blue),#0b5d9e); color:#fff; box-shadow:0 24px 44px rgba(8,86,151,.25); }
.geo-orbit__center strong,.geo-orbit__center span { display:block; }
.geo-orbit__center strong { font-size:1.8rem; }
.geo-orbit__center span { margin-top:4px; font-size:.78rem; color:rgba(255,255,255,.80); }
.geo-orbit__chip { position:absolute; min-width:140px; padding:15px 18px; border:1px solid rgba(8,114,190,.11); border-radius:17px; background:#fff; box-shadow:0 16px 34px rgba(15,35,55,.08); text-align:center; color:#243547; font-size:.78rem; font-weight:800; }
.geo-orbit__chip--1 { top:36px; left:50%; transform:translateX(-50%); }
.geo-orbit__chip--2 { top:92px; left:54px; }
.geo-orbit__chip--3 { top:92px; right:54px; }
.geo-orbit__chip--4 { top:50%; left:26px; transform:translateY(-50%); }
.geo-orbit__chip--5 { top:50%; right:26px; transform:translateY(-50%); }
.geo-orbit__chip--6 { bottom:88px; left:64px; }
.geo-orbit__chip--7 { bottom:88px; right:64px; }
.geo-orbit__chip--8 { bottom:32px; left:50%; transform:translateX(-50%); }

/* Alerts */
.geo-alert-map { position:relative; min-height:440px; overflow:hidden; border:1px solid rgba(8,114,190,.12); border-radius:30px; background:linear-gradient(rgba(8,114,190,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(8,114,190,.05) 1px,transparent 1px),#fbfcfd; background-size:34px 34px; }
.geo-alert-map__zone { position:absolute; left:13%; top:13%; width:62%; height:62%; display:grid; place-items:center; border:2px dashed rgba(255,148,24,.30); border-radius:50%; background:rgba(255,148,24,.05); color:#a35e08; font-weight:800; }
.geo-alert-map__pin { position:absolute; left:51%; top:45%; display:grid; place-items:center; width:54px; height:54px; border:5px solid #fff; border-radius:50%; background:var(--geo-blue); color:#fff; font-size:.7rem; font-weight:900; box-shadow:0 12px 24px rgba(12,36,60,.16); }
.geo-alert-map__notice { position:absolute; right:26px; bottom:28px; padding:15px 18px; border:1px solid #e2e7ea; border-radius:17px; background:#fff; box-shadow:0 18px 34px rgba(15,35,55,.10); }
.geo-alert-map__notice strong,.geo-alert-map__notice span { display:block; }
.geo-alert-map__notice strong { color:#223547; }
.geo-alert-map__notice span { margin-top:5px; color:#758291; font-size:.72rem; }

/* BI */
.geo-bi { background:#f4f3ef; }
.geo-bi__grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(46px,6vw,90px); align-items:center; }
.geo-bi__dashboard { padding:28px; border-radius:30px; background:#0c1927; box-shadow:0 24px 62px rgba(8,25,44,.18); }
.geo-bi__kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.geo-bi__kpis article { padding:16px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(255,255,255,.05); }
.geo-bi__kpis small,.geo-bi__kpis strong,.geo-bi__kpis span { display:block; }
.geo-bi__kpis small { color:#94a8bb; font-size:.68rem; }
.geo-bi__kpis strong { margin-top:9px; color:#fff; font-size:1.6rem; letter-spacing:-.04em; }
.geo-bi__kpis span { margin-top:4px; color:#94d5a5; font-size:.68rem; font-weight:800; }
.geo-bi__chart { display:flex; align-items:end; gap:10px; height:260px; margin-top:20px; padding:20px; border-radius:20px; background:rgba(255,255,255,.035); }
.geo-bi__chart span { flex:1; height:var(--h); border-radius:10px 10px 5px 5px; background:linear-gradient(180deg,#4ea5e5,var(--geo-blue)); }
.geo-bi__chart span:nth-child(even) { background:linear-gradient(180deg,#ffbd6c,var(--geo-orange)); }

/* Automation */
.geo-automation__surface { padding:clamp(42px,5vw,66px); border:1px solid rgba(8,114,190,.12); border-radius:32px; background:#f9fbfd; }
.geo-automation__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.geo-automation__grid article { padding:22px; border:1px solid #e1e6ea; border-radius:20px; background:#fff; }
.geo-automation__grid .geo-flow__node { min-width:0; flex:1; }

/* Ecosystem */
.geo-ecosystem { background:#071827; }
.geo-ecosystem .geo-section__head h2,.geo-ecosystem .geo-section__head p,.geo-ecosystem .geo-closing { color:#fff; }
.geo-ecosystem .geo-section__head p { color:#b9c7d5; }
.geo-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.geo-module-grid article { display:flex; align-items:center; gap:14px; min-height:86px; padding:16px; border:1px solid rgba(255,255,255,.10); border-radius:18px; background:rgba(255,255,255,.05); }
.geo-module-grid article.is-primary { background:linear-gradient(135deg,rgba(8,114,190,.32),rgba(8,114,190,.16)); }
.geo-module-grid span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:rgba(255,255,255,.08); color:#8fc7ef; font-size:.68rem; font-weight:900; }
.geo-module-grid strong { color:#fff; font-size:.9rem; }

/* Differentials */
.geo-diff-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.geo-diff-grid .geo-card { min-height:245px; }
.geo-diff-grid .geo-card:nth-child(odd) { background:#fafaf8; }

/* SEO FAQ Final */
.geo-seo__surface { max-width:980px; margin:0 auto; padding:clamp(38px,5vw,64px); border:1px solid rgba(8,114,190,.11); border-radius:30px; background:#f9fbfd; }
.geo-faq__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(42px,6vw,88px); align-items:start; }
.geo-faq__list { display:grid; gap:10px; }
.geo-faq details { padding:18px 20px; border:1px solid #e1e6ea; border-radius:17px; background:#fff; box-shadow:0 10px 24px rgba(15,35,55,.045); }
.geo-faq summary { cursor:pointer; list-style:none; color:#172536; font-weight:800; }
.geo-faq summary::-webkit-details-marker { display:none; }
.geo-faq summary::after { content:'+'; float:right; color:var(--geo-blue); font-size:1.3rem; }
.geo-faq details[open] summary::after { content:'–'; }
.geo-faq details p { margin:12px 0 0; color:#536273; line-height:1.65; }
.geo-final { padding-bottom:clamp(80px,9vw,128px); }
.geo-final__surface { padding:clamp(48px,6vw,78px); border:1px solid rgba(8,114,190,.12); border-radius:34px; background:radial-gradient(circle at 0 0,rgba(8,114,190,.12),transparent 34%),radial-gradient(circle at 100% 100%,rgba(255,148,24,.13),transparent 34%),#f9fbfd; text-align:center; }
.geo-final__surface h2,.geo-final__surface p { max-width:900px; margin-inline:auto; }

@media (max-width:1180px) {
  .geo-hero__grid,.geo-split,.geo-logistics__surface,.geo-realtime__surface,.geo-bi__grid,.geo-faq__grid { grid-template-columns:1fr; }
  .geo-split--reverse .geo-copy,.geo-split--reverse > :not(.geo-copy) { order:initial; }
  .geo-map--hero { min-height:0; }
  .geo-sector-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .geo-diff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .geo-section { padding:clamp(58px,9vw,82px) 0; }
  .geo-benefits__grid,.geo-ai__grid,.geo-automation__grid,.geo-module-grid,.geo-sector-grid { grid-template-columns:1fr 1fr; }
  .geo-history__timeline { grid-template-columns:1fr; }
  .geo-history__timeline::before { display:none; }
  .geo-history__timeline div { min-height:0; display:grid; grid-template-columns:50px 1fr; align-items:center; text-align:left; }
  .geo-history__timeline b { margin:0; }
  .geo-orbit { display:grid; grid-template-columns:1fr 1fr; gap:10px; min-height:0; padding:18px; }
  .geo-orbit::before { display:none; }
  .geo-orbit__center { position:static; transform:none; width:100%; height:auto; min-height:100px; grid-column:1/-1; }
  .geo-orbit__chip { position:static; transform:none; min-width:0; }
}
@media (max-width:620px) {
  .geo-hero { min-height:0; padding:110px 0 58px; }
  .geo-hero__copy h1 { font-size:clamp(2.55rem,12vw,4rem); }
  .geo-benefits__grid,.geo-ai__grid,.geo-people-grid,.geo-fleet-grid,.geo-sector-grid,.geo-diff-grid,.geo-automation__grid,.geo-module-grid,.geo-realtime__metrics,.geo-bi__kpis { grid-template-columns:1fr; }
  .geo-flow { display:grid; grid-template-columns:1fr; }
  .geo-flow__arrow { transform:rotate(90deg); text-align:center; }
  .geo-flow__node { width:100%; }
  .geo-map__toolbar,.geo-map__legend { margin-inline:14px; }
  .geo-map__canvas { margin:14px; min-height:390px; }
  .geo-pin { padding:8px 10px; }
  .geo-pin span { display:none; }
  .geo-vehicle-card__stats { grid-template-columns:1fr; }
  .geo-cargo-card { grid-template-columns:1fr; }
  .geo-cargo-card__icon,.geo-cargo-card__progress { grid-column:1; grid-row:auto; }
  .geo-orbit { grid-template-columns:1fr; }
  .geo-orbit__center { grid-column:auto; }
}

.geo-pin.is-active { transform: translateY(-3px); box-shadow: 0 20px 38px rgba(15,36,57,.16); }
@media (prefers-reduced-motion: no-preference) { .geo-pin { transition: transform .22s ease, box-shadow .22s ease; } }

/* v82 · Visuales de geolocalización orientados a cliente ---------------- */
.geo-map--dashboard,
.geo-map--control {
  border-color: rgba(8,114,190,.10);
  background: #fff;
  box-shadow: 0 24px 64px rgba(16,39,62,.10);
}

.geo-map--hero { min-height: 610px; }

.geo-map__toolbar {
  min-height: 62px;
  margin: 18px 18px 0;
  padding: 10px 12px;
  border-radius: 18px;
  border-color: rgba(8,114,190,.09);
  background: #fff;
  box-shadow: 0 8px 22px rgba(15,35,55,.035);
}

.geo-map__toolbar-title,
.geo-map__toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.geo-map__toolbar-title > div,
.geo-pin span {
  min-width: 0;
}

.geo-map__toolbar-title strong,
.geo-map__toolbar-title small,
.geo-pin strong,
.geo-pin small {
  display: block;
}

.geo-map__toolbar-title strong {
  color: #16283a;
  font-size: .82rem;
  line-height: 1.2;
}

.geo-map__toolbar-title small {
  margin-top: 3px;
  color: #8390a0;
  font-size: .66rem;
  font-weight: 650;
}

.geo-map__app-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--geo-blue), #2c96df);
  color: #fff;
  font-size: .68rem;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(8,114,190,.18);
}

.geo-map__toolbar-actions button,
.geo-map__zoom button {
  appearance: none;
  display: grid;
  place-items: center;
  border: 1px solid #e4e9ed;
  background: #fff;
  color: #506070;
  font: inherit;
  cursor: default;
}

.geo-map__toolbar-actions button {
  width: 34px;
  height: 34px;
  border-radius: 11px;
}

.geo-map__toolbar-actions > span {
  padding: 8px 11px;
  border-radius: 999px;
  background: #eaf8ef;
  color: #28754b;
  font-size: .68rem;
  font-weight: 800;
}

.geo-map__workspace {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr);
  gap: 12px;
  padding: 12px 18px 0;
}

.geo-map__sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 14px;
  border: 1px solid #e8edf1;
  border-radius: 20px;
  background: #fbfcfd;
}

.geo-map__sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 2px 12px;
  border-bottom: 1px solid #e8edf1;
}

.geo-map__sidebar-head strong {
  color: #203244;
  font-size: .76rem;
}

.geo-map__sidebar-head span {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 7px;
  border-radius: 10px;
  background: #edf6fd;
  color: #176ba7;
  font-size: .68rem;
  font-weight: 900;
}

.geo-map__sidebar article {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  gap: 9px;
  align-items: center;
  padding: 13px 2px;
  border-bottom: 1px solid #edf0f3;
}

.geo-map__sidebar article > i,
.geo-map__control-footer i,
.geo-map__legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--geo-blue);
}
.geo-map__sidebar article > i.is-orange,
.geo-map__control-footer i.is-orange { background: var(--geo-orange); }
.geo-map__sidebar article > i.is-green,
.geo-map__control-footer i.is-green { background: var(--geo-green); }

.geo-map__sidebar article strong,
.geo-map__sidebar article small {
  display: block;
}

.geo-map__sidebar article strong {
  color: #243648;
  font-size: .70rem;
  line-height: 1.2;
}

.geo-map__sidebar article small {
  margin-top: 3px;
  color: #8995a2;
  font-size: .59rem;
  line-height: 1.35;
}

.geo-map__sidebar article > b {
  color: #30465c;
  font-size: .72rem;
}

.geo-map__sidebar-foot {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  padding-top: 14px;
  color: #8794a2;
  font-size: .60rem;
  font-weight: 700;
}

.geo-map__pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #37b77d;
  box-shadow: 0 0 0 4px rgba(55,183,125,.11);
}

.geo-map__workspace .geo-map__canvas {
  min-height: 430px;
  margin: 0;
}

.geo-map__canvas {
  background:
    linear-gradient(rgba(8,114,190,.045) 1px, transparent 1px),
    linear-gradient(90deg,rgba(8,114,190,.045) 1px,transparent 1px),
    radial-gradient(circle at 84% 16%,rgba(255,148,24,.07),transparent 25%),
    radial-gradient(circle at 18% 74%,rgba(8,114,190,.06),transparent 24%),
    #fbfdfd;
  background-size: 28px 28px,28px 28px,auto,auto,auto;
  border-color: rgba(8,114,190,.07);
}

.geo-map__streets,
.geo-map__active-route,
.geo-vehicle-card__streets,
.geo-vehicle-card__route {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.geo-map__streets path,
.geo-vehicle-card__streets path {
  fill: none;
  stroke: #dcecf8;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.geo-map__streets path + path,
.geo-vehicle-card__streets path + path {
  stroke: #e7edf2;
  stroke-width: 9;
}

.geo-map__active-route path,
.geo-vehicle-card__route path {
  fill: none;
  stroke: url(#geoRouteGradient);
  stroke: var(--geo-blue);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 2 0;
}

.geo-map__active-route path { stroke: #2689ce; }
.geo-vehicle-card__route path { stroke: #1681c9; }

.geo-map__zone {
  backdrop-filter: blur(1px);
}

.geo-map__zone--a {
  width: 150px;
  height: 150px;
  top: 10%;
  right: 9%;
}
.geo-map__zone--b {
  width: 124px;
  height: 124px;
  bottom: 8%;
  left: 8%;
}

.geo-pin {
  gap: 10px;
  min-width: 154px;
  padding: 10px 12px;
  border-radius: 17px;
  box-shadow: 0 14px 30px rgba(15,36,57,.10);
}

.geo-pin b {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
}

.geo-pin span {
  color: #203244;
}

.geo-pin strong {
  overflow: hidden;
  color: #203244;
  font-size: .72rem;
  line-height: 1.25;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.geo-pin small {
  margin-top: 2px;
  color: #8793a0;
  font-size: .60rem;
  font-weight: 650;
  white-space: nowrap;
}

.geo-map--dashboard .geo-pin--vehicle { top: 18%; left: 8%; }
.geo-map--dashboard .geo-pin--sales { top: 49%; right: 4%; }
.geo-map--dashboard .geo-pin--cargo { bottom: 11%; left: 38%; }

.geo-map__zoom {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: grid;
  gap: 6px;
}

.geo-map__zoom button {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(15,35,55,.07);
  font-size: 1rem;
  font-weight: 700;
}

.geo-map__legend {
  align-items: center;
  padding: 12px 18px 18px;
  font-size: .68rem;
}

.geo-map__legend-meta {
  margin-left: auto;
  color: #8793a0;
}

/* Mapa de control: más compacto y con lectura inmediata */
.geo-map--control {
  overflow: hidden;
}

.geo-map--control .geo-map__toolbar {
  margin-bottom: 12px;
}

.geo-map--control .geo-map__canvas {
  min-height: 420px;
  margin: 0 18px;
}

.geo-map--control .geo-pin--vehicle { top: 18%; left: 9%; }
.geo-map--control .geo-pin--sales { top: 48%; right: 6%; }
.geo-map--control .geo-pin--cargo { bottom: 11%; left: 35%; }

.geo-map__control-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 12px 18px 18px;
}

.geo-map__control-footer span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #657484;
  font-size: .68rem;
  font-weight: 750;
}

/* Tarjeta de vehículo: dashboard realista y jerarquizado */
.geo-vehicle-card {
  padding: 20px;
  border-color: rgba(8,114,190,.10);
  border-radius: 30px;
  box-shadow: 0 24px 60px rgba(13,34,55,.09);
}

.geo-vehicle-card__head > div > span,
.geo-vehicle-card__head > div > small {
  display: block;
}

.geo-vehicle-card__head > div > span {
  color: #173047;
  font-size: .96rem;
  font-weight: 850;
}

.geo-vehicle-card__head > div > small {
  margin-top: 4px;
  color: #8895a3;
  font-size: .68rem;
  font-weight: 650;
}

.geo-vehicle-card__head b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
}

.geo-vehicle-card__head b i,
.geo-vehicle-card__footer span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2db679;
  box-shadow: 0 0 0 4px rgba(45,182,121,.11);
}

.geo-vehicle-card__map {
  height: 280px;
  margin: 16px 0 14px;
  border: 1px solid rgba(8,114,190,.07);
  background:
    linear-gradient(rgba(8,114,190,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,114,190,.045) 1px,transparent 1px),
    radial-gradient(circle at 82% 18%,rgba(255,148,24,.06),transparent 25%),
    #fbfcfd;
  background-size: 28px 28px,28px 28px,auto,auto;
}

.geo-route-dot {
  width: 16px;
  height: 16px;
  border-width: 4px;
}

.geo-route-dot--1 { left: 14%; top: 68%; }
.geo-route-dot--2 { left: 53%; top: 43%; background: var(--geo-orange); }
.geo-route-dot--3 { right: 15%; top: 27%; background: var(--geo-green); }

.geo-vehicle-card__location {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 11px 13px;
  border: 1px solid #e5eaee;
  border-radius: 15px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 26px rgba(15,35,55,.08);
}

.geo-vehicle-card__location strong,
.geo-vehicle-card__location span {
  display: block;
}

.geo-vehicle-card__location strong {
  color: #203244;
  font-size: .76rem;
}

.geo-vehicle-card__location span {
  margin-top: 3px;
  color: #8995a2;
  font-size: .61rem;
}

.geo-vehicle-card__stats {
  gap: 8px;
}

.geo-vehicle-card__stats div {
  min-height: 72px;
  padding: 13px 14px;
  border: 1px solid #edf0f3;
  background: #fafbfc;
}

.geo-vehicle-card__stats small { font-size: .64rem; }
.geo-vehicle-card__stats strong { font-size: .82rem; }

.geo-vehicle-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #edf0f3;
}

.geo-vehicle-card__footer span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6b7988;
  font-size: .68rem;
  font-weight: 750;
}

.geo-vehicle-card__footer a {
  color: var(--geo-blue);
  font-size: .70rem;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 1180px) {
  .geo-map__workspace { grid-template-columns: 160px minmax(0,1fr); }
}

@media (max-width: 860px) {
  .geo-map__workspace { grid-template-columns: 1fr; }
  .geo-map__sidebar { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .geo-map__sidebar-head,
  .geo-map__sidebar-foot { grid-column: 1/-1; }
  .geo-map__sidebar article { border: 1px solid #edf0f3; border-radius: 14px; padding: 10px; }
  .geo-map__workspace .geo-map__canvas { min-height: 390px; }
}

@media (max-width: 620px) {
  .geo-map__toolbar-title small,
  .geo-map__toolbar-actions button,
  .geo-map__legend-meta { display: none; }
  .geo-map__toolbar { margin: 12px 12px 0; }
  .geo-map__workspace { padding: 10px 12px 0; }
  .geo-map__sidebar { grid-template-columns: 1fr; }
  .geo-map__sidebar-head,
  .geo-map__sidebar-foot { grid-column: auto; }
  .geo-map__workspace .geo-map__canvas,
  .geo-map--control .geo-map__canvas { min-height: 360px; margin-inline: 12px; }
  .geo-pin { min-width: 0; padding: 8px; }
  .geo-pin span { display: none; }
  .geo-map--dashboard .geo-pin--cargo,
  .geo-map--control .geo-pin--cargo { left: 42%; }
  .geo-map__control-footer { padding-inline: 12px; }
  .geo-vehicle-card { padding: 16px; }
  .geo-vehicle-card__map { height: 240px; }
  .geo-vehicle-card__footer { align-items: flex-start; flex-direction: column; }
}
