/* Global-Tec | Internet Empresarial */
.gi-page {
  font-family: 'Poppins', sans-serif;
  color: #16363b;
  overflow: hidden
}
.gi-page * {
  box-sizing: border-box
}
.gi-container {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto
}
.gi-section {
  padding: 100px 0
}
.gi-hero {
  position: relative;
  padding: 115px 0 105px;
  background: linear-gradient(135deg, #f7fbfa 0%, #fff 55%, #eaf9f8 100%);
  isolation: isolate
}
.gi-hero:before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(24, 211, 220, .16), transparent 68%);
  right: -120px;
  top: -180px;
  z-index: -1
}
.gi-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  gap: 60px
}
.gi-eyebrow, .gi-section-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #159cc5;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.7px
}
.gi-eyebrow i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #18d3dc;
  box-shadow: 0 0 0 6px rgba(24, 211, 220, .12)
}
.gi-hero h1 {
  font-size: clamp(38px, 5vw, 52px);
  line-height: 1.12;
  letter-spacing: -2px;
  color: #062f36;
  margin: 22px 0
}
.gi-hero h1 span, .gi-page h2 span {
  color: #159cc5
}
.gi-hero-copy > p {
  font-size: 15px;
  line-height: 1.9;
  color: #60777b;
  max-width: 560px
}
.gi-hero-copy .gi-lead {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.55;
  color: #31575d
}
.gi-btn {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  padding: 16px 23px;
  border-radius: 50px;
  background: linear-gradient(110deg, #18d3dc, #159cc5);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(21, 156, 197, .22);
  transition: .25s
}
.gi-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(21, 156, 197, .3)
}
.gi-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 25px;
  color: #587276;
  font-size: 12px;
  font-weight: 600
}
.gi-hero-points i {
  color: #159cc5;
  margin-right: 7px
}
.gi-hero-visual {
  position: relative;
  min-height: 440px;
  display: grid;
  place-items: center
}
.gi-image-main {
  width: min(440px, 100%);
  height: 380px;
  border-radius: 46% 46% 35% 35%;
  overflow: hidden;
  background: #e6f8f7;
  box-shadow: 0 25px 60px rgba(4, 55, 65, .13);
  position: relative;
  z-index: 1
}
.gi-image-main img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.gi-visual-orbit {
  position: absolute;
  border: 1px solid rgba(21, 156, 197, .2);
  border-radius: 50%;
  width: 480px;
  height: 390px;
  transform: rotate(-18deg)
}
.gi-orbit-two {
  width: 530px;
  height: 330px;
  transform: rotate(28deg);
  border-color: rgba(24, 211, 220, .25)
}
.gi-floating-card {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e4f0f0;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(3, 49, 59, .12);
  animation: gi-float 4s ease-in-out infinite
}
.gi-card-speed {
  top: 50px;
  left: -10px
}
.gi-card-support {
  bottom: 42px;
  right: -5px;
  animation-delay: 1s
}
.gi-card-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e8fbfa;
  color: #159cc5
}
.gi-floating-card strong, .gi-floating-card small {
  display: block
}
.gi-floating-card strong {
  font-size: 12px;
  color: #153f46
}
.gi-floating-card small {
  font-size: 10px;
  color: #82979a;
  margin-top: 3px
}
.gi-intro {
  background: #fff;
  text-align: center
}
.gi-narrow {
  max-width: 850px
}
.gi-page h2 {
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.2;
  letter-spacing: -1.2px;
  color: #07343b;
  margin: 16px 0 20px
}
.gi-intro p, .gi-heading > p, .gi-included-copy p, .gi-faq-grid .gi-heading p {
  font-size: 14px;
  line-height: 1.9;
  color: #687f83
}
.gi-rule {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin: 0 auto 24px
}
.gi-rule i {
  display: block;
  width: 24px;
  height: 4px;
  border-radius: 4px;
  background: #18d3dc
}
.gi-rule i:nth-child(2) {
  width: 12px;
  background: #159cc5
}
.gi-rule i:nth-child(3) {
  width: 5px
}
.gi-why {
  background: #f4fbfa
}
.gi-heading {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 48px
}
.gi-reasons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}
.gi-reason {
  background: #fff;
  padding: 32px;
  border: 1px solid #e5f0ef;
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(7, 55, 62, .045);
  transition: .3s
}
.gi-reason:hover, .gi-solution-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(7, 55, 62, .1)
}
.gi-reason > span {
  width: 55px;
  height: 55px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #e5fbfa;
  color: #159cc5;
  font-size: 22px
}
.gi-reason h3 {
  font-size: 17px;
  color: #123e45;
  margin: 22px 0 10px
}
.gi-reason p {
  font-size: 13px;
  line-height: 1.8;
  color: #6c8285;
  margin: 0
}
.gi-solutions {
  background: #fff
}
.gi-solution-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  align-items: stretch
}
.gi-solution-card {
  border: 1px solid #e2eeee;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 38px rgba(7, 55, 62, .06);
  transition: .3s
}
.gi-solution-image {
  height: 225px;
  background: linear-gradient(135deg, #e9fbfa, #f7fbfb);
  display: grid;
  place-items: center;
  padding: 18px
}
.gi-solution-image img {
  width: 100%;
  height: 100%;
  object-fit: contain
}
.gi-symmetric-image img {
  object-fit: contain
}
.gi-solution-content {
  padding: 30px
}
.gi-solution-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #159cc5
}
.gi-solution-content h3 {
  font-size: 24px;
  line-height: 1.25;
  color: #103e45;
  margin: 10px 0 14px
}
.gi-solution-content h3 em {
  font-style: normal;
  color: #159cc5
}
.gi-solution-content p {
  font-size: 13px;
  line-height: 1.8;
  color: #687f83
}
.gi-solution-content h4 {
  font-size: 13px;
  color: #153e45;
  margin: 23px 0 10px
}
.gi-solution-content ul {
  padding-left: 18px;
  margin: 0;
  color: #657c80;
  font-size: 12px;
  line-height: 2
}
.gi-solution-content li::marker {
  color: #18c8d5
}
.gi-solution-content .gi-use {
  margin: 0
}
.gi-text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 22px;
  color: #159cc5;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700
}
.gi-compare {
  background: #f4fbfa
}
.gi-table-wrap {
  overflow-x: auto;
  border-radius: 22px;
  box-shadow: 0 12px 35px rgba(7, 55, 62, .06);
  background: #fff
}
.gi-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px;
  text-align: left
}
.gi-table-wrap th, .gi-table-wrap td {
  padding: 18px 22px;
  border-bottom: 1px solid #edf3f2;
  font-size: 12px
}
.gi-table-wrap thead th {
  background: #07343b;
  color: #fff;
  font-size: 13px
}
.gi-table-wrap tbody th {
  color: #24484d;
  font-weight: 600
}
.gi-table-wrap td {
  color: #6b8083
}
.gi-table-wrap td:nth-child(2) {
  color: #1591a9;
  font-weight: 600
}
.gi-table-wrap td i {
  margin-right: 7px;
  color: #18bfc9
}
.gi-included {
  background: #fff
}
.gi-included-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: center
}
.gi-included-copy h2 {
  margin-top: 18px
}
.gi-included-list {
  display: grid;
  gap: 12px
}
.gi-included-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  border: 1px solid #e5f0ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(7, 55, 62, .04)
}
.gi-included-item > i {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #e9fbfa;
  color: #159cc5;
  font-size: 18px;
  flex-shrink: 0
}
.gi-included-item b, .gi-included-item small {
  display: block
}
.gi-included-item b {
  font-size: 13px;
  color: #153e45
}
.gi-included-item small {
  font-size: 11px;
  color: #809396;
  margin-top: 4px
}
.gi-benefits {
  background: #f4fbfa
}
.gi-benefit-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px
}
.gi-benefit {
  min-height: 150px;
  padding: 24px 17px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 16px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e4efee
}
.gi-benefit i {
  font-size: 25px;
  color: #159cc5
}
.gi-benefit b {
  font-size: 12px;
  line-height: 1.6;
  color: #254b50
}
.gi-faq {
  background: #fff
}
.gi-faq-grid {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 70px;
  align-items: start
}
.gi-faq-grid .gi-heading {
  text-align: left;
  margin: 0
}
.gi-accordion {
  display: grid;
  gap: 12px
}
.gi-faq-item {
  border: 1px solid #e1eeee;
  border-radius: 17px;
  padding: 0 21px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(7, 55, 62, .035)
}
.gi-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 20px 30px 20px 0;
  font-size: 13px;
  font-weight: 600;
  color: #153e45;
  position: relative
}
.gi-faq-item summary::-webkit-details-marker {
  display: none
}
.gi-faq-item summary:after {
  content: "+";
  position: absolute;
  right: 0;
  top: 14px;
  color: #159cc5;
  font-size: 24px;
  font-weight: 400
}
.gi-faq-item[open] summary:after {
  content: "−"
}
.gi-faq-item p {
  font-size: 12px;
  line-height: 1.8;
  color: #718689;
  margin: 0 0 20px
}
.gi-cta {
  padding: 85px 0;
  background: radial-gradient(ellipse at 10% 50%, rgba(20, 199, 215, 0.10), transparent 38%), radial-gradient(ellipse at 90% 30%, rgb(195 219 255 / 25%), transparent 40%), linear-gradient(115deg, rgb(255 255 255 / 25%) 0%, rgb(213 227 247 / 25%) 52%, #f6fbfa 100%);
  position: relative;
  overflow: hidden
}
.gi-cta:after {
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 50%;
  right: -120px;
  top: -240px;
  box-shadow: 0 0 0 45px rgba(255, 255, 255, .035), 0 0 0 90px rgba(255, 255, 255, .025)
}
.gi-cta-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px
}
.gi-cta .gi-section-label {
  color: #159cc5
}
.gi-cta h2 {
  color: #07343b;
  margin: 17px 0
}
.gi-cta h2 span {
  color: #159cc5;
}
.gi-cta p {
  color: #687f83;
  font-size: 14px;
  line-height: 1.9
}
.gi-btn-light {
  background: #fff;
  color: #075461;
  box-shadow: none
}
.gi-reveal {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity .7s ease, transform .7s ease
}
.gi-reveal.is-visible {
  opacity: 1;
  transform: translateY(0)
}
@keyframes gi-float {
  0%, 100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-9px)
  }
}
@media(max-width:900px) {
  .gi-hero-grid {
    gap: 25px
  }
  .gi-hero-visual {
    min-height: 370px
  }
  .gi-image-main {
    height: 320px
  }
  .gi-benefit-grid {
    grid-template-columns: repeat(3, 1fr)
  }
  .gi-included-grid, .gi-faq-grid {
    gap: 35px
  }
}
@media(max-width:700px) {
  .gi-container {
    width: min(100% - 34px, 560px)
  }
  .gi-section {
    padding: 70px 0
  }
  .gi-hero {
    padding: 75px 0 65px
  }
  .gi-hero-grid {
    grid-template-columns: 1fr
  }
  .gi-hero h1 {
    font-size: 39px;
    letter-spacing: -1.2px
  }
  .gi-hero-visual {
    min-height: 340px;
    margin-top: 10px
  }
  .gi-image-main {
    height: 300px;
    width: min(360px, 88%)
  }
  .gi-visual-orbit {
    width: 360px;
    height: 300px
  }
  .gi-card-speed {
    left: 0;
    top: 20px
  }
  .gi-card-support {
    right: 0;
    bottom: 15px
  }
  .gi-floating-card {
    padding: 11px 13px
  }
  .gi-reasons, .gi-solution-grid {
    grid-template-columns: 1fr
  }
  .gi-reason {
    padding: 26px
  }
  .gi-solution-image {
    height: 190px
  }
  .gi-solution-content {
    padding: 24px
  }
  .gi-included-grid, .gi-faq-grid {
    grid-template-columns: 1fr
  }
  .gi-benefit-grid {
    grid-template-columns: repeat(2, 1fr)
  }
  .gi-benefit {
    min-height: 130px
  }
  .gi-heading {
    margin-bottom: 32px
  }
  .gi-cta {
    padding: 70px 0
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-reveal, .gi-floating-card {
    animation: none !important;
    transition: none !important
  }
  .gi-reveal {
    opacity: 1;
    transform: none
  }
}
/* Ajustes solicitados: fondos de Quienes Somos y tarjetas renovadas */
.gi-page .gi-hero {
  background: radial-gradient(circle at 85% 35%, rgba(24, 211, 220, .13), transparent 30%), linear-gradient(120deg, #00343D, #005563);
}
.gi-page .gi-hero:before {
  background: radial-gradient(circle, rgba(24, 211, 220, .10), transparent 70%)
}
.gi-page .gi-hero h1, .gi-page .gi-hero-copy .gi-lead {
  color: #fff
}
.gi-page .gi-hero h1 span {
  color: #18d3dc
}
.gi-page .gi-hero-copy > p {
  color: #d4e9ec
}
.gi-page .gi-hero .gi-eyebrow, .gi-page .gi-hero-points, .gi-page .gi-hero-points i {
  color: #8beeea
}
.gi-page .gi-benefits {
  background: radial-gradient(circle at 85% 35%, rgba(24, 211, 220, .13), transparent 30%), linear-gradient(120deg, #00343D, #005563)
}
.gi-page .gi-benefits .gi-section-label {
  color: #8beeea
}
.gi-page .gi-benefits h2 {
  color: #fff
}
.gi-page .gi-benefits h2 span {
  color: #8beeea
}
.gi-page .gi-benefit {
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(139, 238, 234, .25);
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .10);
  transition: transform .3s, background .3s
}
.gi-page .gi-benefit:hover {
  transform: translateY(-7px);
  background: rgba(255, 255, 255, .16)
}
.gi-page .gi-benefit i {
  color: #8beeea
}
.gi-page .gi-benefit b {
  color: #fff
}
/* Tarjetas de soluciones: estilo editorial moderno, sin modificar contenidos */
.gi-page .gi-solution-grid {
  gap: 30px;
  align-items: stretch
}
.gi-page .gi-solution-card {
  position: relative;
  border: 1px solid #dbeeed;
  border-radius: 30px;
  background: linear-gradient(180deg, #f5fcfc 0%, #fff 43%);
  box-shadow: 0 20px 55px rgba(2, 52, 61, .09);
  overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease
}
.gi-page .gi-solution-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(2, 52, 61, .16)
}
.gi-page .gi-solution-image {
  height: 260px;
  padding: 32px;
  background: radial-gradient(circle at 50% 50%, #fff 0%, #e8f9f8 75%);
  border-bottom: 1px solid #e1f0ef;
  position: relative
}
.gi-page .gi-solution-image:after {
  content: '';
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(21, 156, 197, .12);
  border-radius: 24px;
  pointer-events: none
}
.gi-page .gi-solution-image img {
  position: relative;
  z-index: 1;
  max-width: 90%;
  max-height: 95%;
  filter: drop-shadow(0 14px 16px rgba(0, 54, 65, .10));
  transition: transform .4s ease
}
.gi-page .gi-solution-card:hover .gi-solution-image img {
  transform: scale(1.045)
}
.gi-page .gi-solution-content {
  padding: 34px 35px 38px
}
.gi-page .gi-solution-kicker {
  display: inline-flex;
  background: #dff9f7;
  padding: 9px 13px;
  border-radius: 50px;
  color: #087c8b;
  font-size: 10px;
  letter-spacing: 1px
}
.gi-page .gi-solution-content h3 {
  font-size: clamp(24px, 2.5vw, 31px);
  margin: 19px 0 15px;
  letter-spacing: -.7px
}
.gi-page .gi-solution-content h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  margin-top: 26px
}
.gi-page .gi-solution-content h4:before {
  content: '';
  width: 20px;
  height: 3px;
  background: #18d3dc;
  border-radius: 5px
}
.gi-page .gi-solution-content ul {
  padding-left: 22px;
  font-size: 13px;
  line-height: 2.05
}
.gi-page .gi-solution-content li {
  padding-left: 3px
}
.gi-page .gi-text-link {
  display: inline-flex;
  align-items: center;
  border-radius: 40px;
  padding: 13px 18px;
  background: #e8faf9;
  transition: background .2s, color .2s
}
.gi-page .gi-text-link:hover {
  background: #159cc5;
  color: #fff
}
@media(max-width:700px) {
  .gi-page .gi-hero {
    border-radius: 0 0 40px 40px
  }
  .gi-page .gi-solution-image {
    height: 215px;
    padding: 20px
  }
  .gi-page .gi-solution-content {
    padding: 25px
  }
}
/* Ajuste de soluciones: tres columnas, sin fotografías */
.gi-solutions {
  background: linear-gradient(115deg, #07343b, #075a68 60%, #159cc5);
  position: relative;
  overflow: hidden;
}
.gi-solutions:before {
  content: "";
  position: absolute;
  width: 480px;
  height: 480px;
  right: -150px;
  top: -250px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(255, 255, 255, .035), 0 0 0 90px rgba(255, 255, 255, .025);
}
.gi-solutions-three {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 22px;
}
.gi-solutions-intro {
  padding: 28px 8px 20px 0;
  align-self: center
}
.gi-solutions .gi-section-label {
  color: #7ff3ed
}
.gi-solutions .gi-solutions-intro h2 {
  color: #fff;
  font-size: clamp(29px, 3vw, 52px);
  margin: 18px 0
}
.gi-solutions .gi-solutions-intro h2 span {
  color: #70e9e7
}
.gi-solutions .gi-solutions-intro p {
  font-size: 13px;
  line-height: 1.9;
  color: rgba(255, 255, 255, .82)
}
.gi-solutions .gi-solution-card {
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(0, 25, 35, .16);
  overflow: hidden;
  transition: transform .3s, box-shadow .3s;
}
.gi-solutions .gi-solution-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 50px rgba(0, 25, 35, .23)
}
.gi-solutions .gi-solution-content {
  padding: 27px 25px
}
.gi-solutions .gi-solution-kicker {
  font-size: 13px
}
.gi-solutions .gi-solution-content h3 {
  font-size: 22px;
  line-height: 1.3
}
.gi-solutions .gi-solution-content p, .gi-solutions .gi-solution-content ul, .gi-solutions .gi-solution-content li, .gi-solutions .gi-solution-content h4, .gi-solutions .gi-text-link {
  font-size: 13px
}
.gi-solutions .gi-solution-content p, .gi-solutions .gi-solution-content ul {
  line-height: 1.75
}
.gi-solutions .gi-solution-content h4 {
  margin: 20px 0 8px
}
.gi-solutions .gi-text-link {
  color: #159cc5
}
@media(max-width:950px) {
  .gi-solutions-three {
    grid-template-columns: 1fr 1fr
  }
  .gi-solutions-intro {
    grid-column: 1/-1;
    max-width: 700px;
    padding: 0 0 10px
  }
}
@media(max-width:650px) {
  .gi-solutions-three {
    grid-template-columns: 1fr;
    gap: 18px
  }
  .gi-solutions-intro {
    grid-column: auto
  }
  .gi-solutions .gi-solution-content {
    padding: 24px
  }
}
/* Refinamiento visual de conectividad y comparativa */
.gi-title-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0 auto 20px
}
.gi-title-rule i {
  display: block;
  width: 24px;
  height: 6px;
  border-radius: 10px;
  background: #18d3dc
}
.gi-title-rule i:nth-child(2) {
  width: 34px;
  background: #159cc5
}
.gi-title-rule i:nth-child(3) {
  width: 8px;
  background: #a8e9e8
}
.gi-why .gi-heading {
  margin-bottom: 48px
}
.gi-why .gi-reason {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  align-items: flex-start
}
.gi-reason > span {
  position: relative
}
.gi-reason > span:after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(24, 211, 220, .35);
  border-radius: 22px;
  animation: gi-signal-pulse 2.6s ease-out infinite
}
.gi-reason:nth-child(2) > span:after {
  animation-delay: .7s
}
.gi-reason:nth-child(3) > span:after {
  animation-delay: 1.4s
}
/* Más espacio para las dos soluciones, manteniendo la columna introductoria */
.gi-solutions-three {
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1.15fr) minmax(0, 1.15fr);
  gap: 24px
}
.gi-solutions .gi-solution-card {
  min-width: 0
}
.gi-solutions .gi-solution-content {
  padding: 30px 28px
}
.gi-solutions .gi-solution-content ul {
  padding-left: 17px
}
.gi-table-wrap thead th {
  height: 64px;
  vertical-align: middle
}
.gi-table-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px
}
.gi-table-brand:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #70e9e7;
  box-shadow: 0 0 0 5px rgba(112, 233, 231, .15)
}
@keyframes gi-signal-pulse {
  0% {
    transform: scale(.85);
    opacity: .8
  }
  80%, 100% {
    transform: scale(1.35);
    opacity: 0
  }
}
@media(max-width:950px) {
  .gi-solutions-three {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr)
  }
  .gi-solutions-intro {
    grid-column: 1/-1
  }
}
@media(max-width:650px) {
  .gi-solutions-three {
    grid-template-columns: 1fr
  }
  .gi-solutions-intro {
    grid-column: auto
  }
  .gi-why .gi-reason {
    min-height: 0
  }
}
/* Secciones refinadas con el lenguaje visual de "Lo que nos define" */
.gi-title-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0 auto 20px
}
.gi-title-rule i {
  display: block;
  width: 9px;
  height: 7px;
  border-radius: 10px;
  background: #b7e9e9
}
.gi-title-rule i:nth-child(2) {
  width: 35px;
  background: #18d3dc
}
.gi-title-rule i:nth-child(3) {
  width: 9px;
  background: #b7e9e9
}
.gi-why {
  background: #f5fafb
}
.gi-why .gi-heading {
  max-width: 650px;
  margin: 0 auto 55px;
  text-align: center
}
.gi-why .gi-reasons {
  position: relative;
  max-width: 880px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 22px
}
.gi-why .gi-reasons:before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 50%;
  width: 2px;
  background: linear-gradient(to bottom, transparent, #b8edef, #18d3dc, #b8edef, transparent)
}
.gi-why .gi-reason {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: 47%;
  min-height: 0;
  padding: 23px;
  border-radius: 19px 19px 19px 5px;
  border: 1px solid #dceff1;
  background: #fff;
  box-shadow: 0 10px 25px rgba(0, 65, 80, .055);
  transition: transform .35s, box-shadow .35s
}
.gi-why .gi-reason:nth-child(even) {
  align-self: flex-end;
  border-radius: 19px 19px 5px 19px
}
.gi-why .gi-reason > span {
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #18d3dc, #159cc5);
  font-size: 19px
}
.gi-why .gi-reason small {
  font-size: 10px;
  letter-spacing: 1.1px;
  font-weight: 700;
  color: #159cc5
}
.gi-why .gi-reason h3 {
  font-size: 17px;
  margin: 7px 0 8px
}
.gi-why .gi-reason p {
  font-size: 13px;
  line-height: 1.75;
  margin: 0
}
.gi-why .gi-reason:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 65, 80, .1)
}
.gi-compare-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch
}
.gi-compare-column {
  overflow: hidden;
  border: 1px solid #dceff1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 65, 80, .055)
}
.gi-compare-column h3 {
  margin: 0;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  color: #123e45;
  font-size: 16px;
  font-weight: 700;
  text-align: center
}
.gi-compare-column ul {
  list-style: none;
  padding: 0;
  margin: 0
}
.gi-compare-column li {
  min-height: 62px;
  display: flex;
  align-items: center;
  padding: 1px 50px;
  border-top: 1px solid #edf3f2;
  color: #60777b;
  font-size: 12px;
  line-height: 1.55
}
.gi-compare-global {
  border: 2px solid #18c8d5;
  box-shadow: 0 16px 36px rgba(21, 156, 197, .12)
}
.gi-compare-global h3 {
  background: linear-gradient(110deg, #18d3dc, #159cc5);
  color: #fff
}
.gi-compare-global li {
  color: #168da2;
  font-weight: 600
}
.gi-compare-global li i {
  color: #18bfc9;
  margin-right: 9px;
  flex-shrink: 0
}
.gi-included-heading {
  max-width: 720px;
  margin: 0 auto 42px;
  text-align: center
}
.gi-included-heading p {
  max-width: 610px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.85;
  color: #687f83
}
.gi-included-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1050px;
  margin: 0 auto
}
.gi-included-item {
  position: relative;
  min-height: 120px;
  align-items: flex-start;
  padding: 22px;
  border-radius: 19px 19px 19px 5px;
  transition: transform .35s, box-shadow .35s, border-color .35s;
  animation: gi-bubble-in .7s both
}
.gi-included-item:nth-child(even) {
  border-radius: 19px 19px 5px 19px
}
.gi-included-item:nth-child(2) {
  animation-delay: .12s
}
.gi-included-item:nth-child(3) {
  animation-delay: .24s
}
.gi-included-item:nth-child(4) {
  animation-delay: .36s
}
.gi-included-item:nth-child(5) {
  animation-delay: .48s
}
.gi-included-item:hover {
  transform: translateY(-6px);
  border-color: #a9e9e9;
  box-shadow: 0 15px 30px rgba(0, 65, 80, .1)
}
.gi-included-item b {
  font-size: 13px
}
.gi-included-item small {
  font-size: 12px;
  line-height: 1.6
}
@keyframes gi-bubble-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.98)
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}
/* Flujo de datos: líneas suaves y partículas en el fondo azul de soluciones */
.gi-solutions:after {
  content: "";
  position: absolute;
  inset: -30% -10%;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  background: repeating-linear-gradient(112deg, transparent 0 95px, rgba(116, 245, 239, .23) 96px, transparent 98px, transparent 165px);
  transform: translateX(-30%);
  animation: gi-data-flow 18s linear infinite
}
.gi-solutions-three {
  z-index: 1
}
.gi-solutions:before {
  z-index: 0
}
@keyframes gi-data-flow {
  from {
    transform: translateX(-25%)
  }
  to {
    transform: translateX(25%)
  }
}
@media(max-width:900px) {
  .gi-why .gi-reasons {
    max-width: 700px
  }
  .gi-included-list {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}
@media(max-width:650px) {
  .gi-why .gi-reasons:before {
    left: 21px
  }
  .gi-why .gi-reason, .gi-why .gi-reason:nth-child(even) {
    width: calc(100% - 38px);
    align-self: flex-end
  }
  .gi-compare-columns {
    grid-template-columns: 1fr;
    gap: 14px
  }
  .gi-compare-column li {
    min-height: 48px
  }
  .gi-included-list {
    grid-template-columns: 1fr
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-solutions:after {
    animation: none
  }
  .gi-included-item {
    animation: none
  }
}
/* Conectividad: tarjetas en tres columnas al estilo "Lo que nos define" */
.gi-why {
  background: #f5fafb
}
.gi-why .gi-heading {
  max-width: 650px;
  margin: 0 auto 55px;
  text-align: center
}
.gi-why .gi-reasons-cards {
  position: relative;
  max-width: 1160px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px
}
.gi-why .gi-reasons-cards:before {
  display: none
}
.gi-why .gi-reasons-cards .gi-reason, .gi-why .gi-reasons-cards .gi-reason:nth-child(even) {
  width: auto;
  min-height: 280px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding: 28px 25px;
  border: 1px solid #d5ebee;
  border-radius: 22px 22px 22px 7px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0, 65, 80, .045)
}
.gi-why .gi-reasons-cards .gi-reason > span {
  margin-bottom: 23px
}
.gi-why .gi-reasons-cards .gi-reason small {
  font-size: 9px;
  letter-spacing: 1.2px;
  font-weight: 800;
  color: #159cc5;
  margin-bottom: 10px
}
.gi-why .gi-reasons-cards .gi-reason h3 {
  font-size: 17px;
  margin: 0 0 15px;
  color: #082f36
}
.gi-why .gi-reasons-cards .gi-reason p {
  font-size: 13px;
  line-height: 1.8;
  color: #71868a
}
.gi-why .gi-reasons-cards .gi-reason:hover {
  border-color: #18d3dc;
  transform: translateY(-5px)
}
/* Comparativa: columna Global-Tec destacada en bloque oscuro completo */
.gi-compare-global {
  background: linear-gradient(155deg, #07343b, #075a68);
  border: 2px solid #18d3dc;
  box-shadow: 0 18px 38px rgba(4, 53, 64, .2)
}
.gi-compare-global h3 {
  background: transparent;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .18)
}
.gi-compare-global li {
  color: #e7ffff;
  border-color: rgba(255, 255, 255, .14)
}
.gi-compare-global li i {
  color: #70e9e7
}
/* Aparición individual en secuencia para cada columna */
.gi-compare-columns .gi-compare-column {
  opacity: 0;
  transform: translateY(24px);
  animation: gi-column-enter .7s cubic-bezier(.2, .7, .2, 1) forwards
}
.gi-compare-columns .gi-compare-column:nth-child(1) {
  animation-delay: .08s
}
.gi-compare-columns .gi-compare-column:nth-child(2) {
  animation-delay: .28s
}
.gi-compare-columns .gi-compare-column:nth-child(3) {
  animation-delay: .48s
}
@keyframes gi-column-enter {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
/* Pulso de datos que recorre una curva en el fondo azul */
.gi-solutions:after {
  display: none
}
.gi-solutions {
  isolation: isolate
}
.gi-network-pulse {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: .8
}
.gi-network-pulse:before {
  content: "";
  position: absolute;
  width: 120%;
  height: 150%;
  left: -10%;
  top: -25%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 600'%3E%3Cpath d='M-80 390 C180 80 380 90 600 310 S1000 550 1480 170' fill='none' stroke='%2370e9e7' stroke-opacity='.24' stroke-width='2'/%3E%3Cpath d='M-80 450 C200 180 420 170 650 360 S1080 560 1480 260' fill='none' stroke='%2318d3dc' stroke-opacity='.16' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat
}
.gi-network-pulse span {
  position: absolute;
  left: 0;
  top: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #bafffa;
  box-shadow: 0 0 8px 3px #70e9e7, 0 0 22px 8px rgba(24, 211, 220, .7);
  offset-path: path("M -100 390 C 180 80, 380 90, 600 310 S 1000 550, 1500 170");
  offset-distance: 0%;
  animation: gi-pulse-run 8s linear infinite
}
@keyframes gi-pulse-run {
  to {
    offset-distance: 100%
  }
}
.gi-solutions-three {
  position: relative;
  z-index: 1
}
@media(max-width:900px) {
  .gi-why .gi-reasons-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
  .gi-why .gi-reasons-cards .gi-reason:last-child {
    grid-column: 1/-1
  }
}
@media(max-width:650px) {
  .gi-why .gi-reasons-cards {
    grid-template-columns: 1fr
  }
  .gi-why .gi-reasons-cards .gi-reason:last-child {
    grid-column: auto
  }
  .gi-why .gi-reasons-cards .gi-reason {
    min-height: 0
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-compare-columns .gi-compare-column {
    opacity: 1;
    transform: none;
    animation: none
  }
  .gi-network-pulse span {
    animation: none;
    display: none
  }
}
/* Pulso de conexión: varios puntos recorren la misma trayectoria curva */
.gi-network-pulse span {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c7fffb;
  box-shadow: 0 0 8px 3px #70e9e7, 0 0 22px 8px rgba(24, 211, 220, .68);
  offset-path: path("M -100 390 C 180 80, 380 90, 600 310 S 1000 550, 1500 170");
  offset-distance: 0%;
  animation: gi-pulse-run 8s linear infinite;
}
.gi-network-pulse span:nth-child(2) {
  animation-delay: -1.33s
}
.gi-network-pulse span:nth-child(3) {
  animation-delay: -2.66s
}
.gi-network-pulse span:nth-child(4) {
  animation-delay: -4s
}
.gi-network-pulse span:nth-child(5) {
  animation-delay: -5.33s
}
.gi-network-pulse span:nth-child(6) {
  animation-delay: -6.66s
}
/* Global-Tec: columna protagonista y logo corporativo */
.gi-compare-columns {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.22fr) minmax(0, .92fr);
  align-items: stretch;
  gap: 18px
}
.gi-compare-global {
  transform: scale(1.045);
  z-index: 2
}
.gi-compare-global h3 {
  min-height: 86px;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent
}
.gi-compare-global h3 img {
  display: block;
  width: min(190px, 85%);
  height: auto;
  max-height: 58px;
  object-fit: contain
}
.gi-compare-global li {
  padding: 1px 63px;
  font-size: 13px
}
.gi-compare-services li, .gi-compare-others li {
  min-height: 64px
}
@media(max-width:900px) {
  .gi-compare-columns {
    grid-template-columns: 1fr 1.12fr 1fr;
    gap: 10px
  }
  .gi-compare-global {
    transform: scale(1.02)
  }
  .gi-compare-global h3 img {
    width: min(155px, 90%)
  }
}
@media(max-width:650px) {
  .gi-compare-columns {
    grid-template-columns: 1fr;
    gap: 14px
  }
  .gi-compare-global {
    transform: none
  }
  .gi-compare-global h3 {
    min-height: 70px
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-network-pulse span {
    animation: none;
    display: none
  }
}
/* Hero: puntos de datos recorriendo una trayectoria curva detrás de la fotografía */
.gi-hero-visual {
  isolation: isolate
}
.gi-hero-visual .gi-visual-orbit {
  z-index: 0
}
.gi-hero-visual .gi-image-main {
  z-index: 2
}
.gi-hero-data-path {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}
.gi-hero-data-path:before {
  content: "";
  position: absolute;
  left: 1%;
  top: 7%;
  width: 98%;
  height: 88%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 460'%3E%3Cpath d='M18 290 C70 30 210 15 300 190 S475 430 580 125' fill='none' stroke='%2318d3dc' stroke-opacity='.28' stroke-width='1.6' stroke-dasharray='4 8'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.gi-hero-data-path span {
  position: absolute;
  left: 0;
  top: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #bafffa;
  box-shadow: 0 0 7px 2px #70e9e7, 0 0 17px 5px rgba(24, 211, 220, .55);
  offset-path: path("M 18 290 C 70 30, 210 15, 300 190 S 475 430, 580 125");
  offset-distance: 0%;
  animation: gi-hero-data-run 6.5s linear infinite;
}
.gi-hero-data-path span:nth-child(2) {
  animation-delay: -.8s
}
.gi-hero-data-path span:nth-child(3) {
  animation-delay: -1.6s
}
.gi-hero-data-path span:nth-child(4) {
  animation-delay: -2.4s
}
.gi-hero-data-path span:nth-child(5) {
  animation-delay: -3.2s
}
.gi-hero-data-path span:nth-child(6) {
  animation-delay: -4s
}
.gi-hero-data-path span:nth-child(7) {
  animation-delay: -4.8s
}
.gi-hero-data-path span:nth-child(8) {
  animation-delay: -5.6s
}
@keyframes gi-hero-data-run {
  to {
    offset-distance: 100%
  }
}
/* Microanimación tipo indicador de carga en los separadores de toda la página */
.gi-title-rule i, .gi-rule i {
  animation: gi-loading-dot 1.65s ease-in-out infinite;
  transform-origin: center;
}
.gi-title-rule i:nth-child(1), .gi-rule i:nth-child(1) {
  animation-delay: 0s
}
.gi-title-rule i:nth-child(2), .gi-rule i:nth-child(2) {
  animation-delay: .18s
}
.gi-title-rule i:nth-child(3), .gi-rule i:nth-child(3) {
  animation-delay: .36s
}
.gi-eyebrow > i {
  animation: gi-loading-dot 1.65s ease-in-out infinite;
}
@keyframes gi-loading-dot {
  0%, 100% {
    opacity: .45;
    transform: scale(.82)
  }
  50% {
    opacity: 1;
    transform: scale(1.12)
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-hero-data-path span, .gi-title-rule i, .gi-rule i, .gi-eyebrow > i {
    animation: none
  }
}
/* Sistema unificado de separadores y puntos animados Global-Tec */
.gc-intro-rule, .gi-rule, .gi-title-rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px
}
.gc-intro-rule span, .gi-rule i, .gi-title-rule i {
  display: block;
  width: 9px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: #b7e9e9;
  opacity: .7;
  transform: scale(.88);
  animation: gt-unified-dot 1.8s ease-in-out infinite
}
.gc-intro-rule span:nth-child(2), .gi-rule i:nth-child(2), .gi-title-rule i:nth-child(2) {
  width: 35px;
  background: #18d3dc;
  animation-delay: .2s
}
.gc-intro-rule span:nth-child(3), .gi-rule i:nth-child(3), .gi-title-rule i:nth-child(3) {
  animation-delay: .4s
}
@keyframes gt-unified-dot {
  0%, 100% {
    opacity: .45;
    transform: scale(.82)
  }
  50% {
    opacity: 1;
    transform: scale(1.08)
  }
}
@media(prefers-reduced-motion:reduce) {
  .gc-intro-rule span, .gi-rule i, .gi-title-rule i {
    animation: none;
    opacity: 1;
    transform: none
  }
}
/* Hero: órbitas circulares luminosas detrás de la fotografía */
.gi-hero-visual {
  isolation: isolate
}
.gi-hero-visual .gi-visual-orbit {
  z-index: 0
}
.gi-hero-visual .gi-image-main {
  position: relative;
  z-index: 2
}
.gi-hero-data-path {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 112%;
  height: 112%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(24, 211, 220, .22);
  border-radius: 50%;
  pointer-events: none;
  animation: gt-orbit-ring 18s linear infinite
}
.gi-hero-data-path:before, .gi-hero-data-path:after {
  content: "";
  position: absolute;
  border: 1px solid rgba(112, 233, 231, .16);
  border-radius: 50%;
  inset: 7% -5%
}
.gi-hero-data-path:after {
  inset: -6% 9%;
  transform: rotate(-28deg)
}
.gi-hero-data-path span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c7fffb;
  box-shadow: 0 0 8px 3px #70e9e7, 0 0 20px 7px rgba(24, 211, 220, .55);
  animation: gt-orbit-point 9s linear infinite
}
.gi-hero-data-path span:nth-child(1) {
  --angle: 0deg
}
.gi-hero-data-path span:nth-child(2) {
  --angle: 45deg;
  animation-delay: -1.125s
}
.gi-hero-data-path span:nth-child(3) {
  --angle: 90deg;
  animation-delay: -2.25s
}
.gi-hero-data-path span:nth-child(4) {
  --angle: 135deg;
  animation-delay: -3.375s
}
.gi-hero-data-path span:nth-child(5) {
  --angle: 180deg;
  animation-delay: -4.5s
}
.gi-hero-data-path span:nth-child(6) {
  --angle: 225deg;
  animation-delay: -5.625s
}
.gi-hero-data-path span:nth-child(7) {
  --angle: 270deg;
  animation-delay: -6.75s
}
.gi-hero-data-path span:nth-child(8) {
  --angle: 315deg;
  animation-delay: -7.875s
}
@keyframes gt-orbit-point {
  from {
    transform: translate(-50%, -50%) rotate(var(--angle)) translateX(clamp(135px, 22vw, 255px))
  }
  to {
    transform: translate(-50%, -50%) rotate(calc(var(--angle) + 360deg)) translateX(clamp(135px, 22vw, 255px))
  }
}
@keyframes gt-orbit-ring {
  to {
    rotate: 360deg
  }
}
@media(max-width:650px) {
  .gi-hero-data-path {
    width: 108%;
    height: 108%
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-hero-data-path, .gi-hero-data-path span {
    animation: none
  }
}
/* Unificación reforzada de puntos animados en todas las páginas */
.gc-intro-rule span, .gi-rule i, .gi-title-rule i {
  animation: gt-unified-dot 1.8s ease-in-out infinite !important;
  opacity: .7 !important;
  transform: scale(.88) !important;
}
.gc-intro-rule span:nth-child(2), .gi-rule i:nth-child(2), .gi-title-rule i:nth-child(2) {
  animation-delay: .2s !important
}
.gc-intro-rule span:nth-child(3), .gi-rule i:nth-child(3), .gi-title-rule i:nth-child(3) {
  animation-delay: .4s !important
}
@media(prefers-reduced-motion:reduce) {
  .gc-intro-rule span, .gi-rule i, .gi-title-rule i {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important
  }
}
/* Hero: capas bloqueadas para que órbitas y puntos nunca pasen sobre la fotografía */
.gi-hero-visual {
  position: relative;
  isolation: isolate;
  overflow: visible
}
.gi-hero-visual .gi-visual-orbit {
  z-index: 0;
  pointer-events: none
}
.gi-hero-visual .gi-hero-data-path {
  z-index: 1;
  pointer-events: none
}
.gi-hero-visual .gi-image-main {
  position: relative;
  z-index: 5
}
.gi-hero-visual .gi-image-main img {
  position: relative;
  z-index: 1;
  display: block
}
.gi-hero-visual .gi-floating-card {
  z-index: 6
}
.gi-hero-data-path {
  width: 108%;
  height: 108%;
  left: 50%;
  top: 50%;
  overflow: hidden
}
.gi-hero-data-path:before, .gi-hero-data-path:after {
  pointer-events: none
}
.gi-hero-data-path span {
  z-index: 1
}
@media(prefers-reduced-motion:reduce) {
  .gi-hero-data-path, .gi-hero-data-path span {
    animation: none !important
  }
}
/* HERO ORBIT FIX: únicamente puntos luminosos alrededor de la fotografía */
.gi-hero-visual {
  position: relative;
  isolation: isolate
}
.gi-hero-visual .gi-visual-orbit {
  display: none !important
}
.gi-hero-visual .gi-hero-data-path {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: calc(100% + 34px) !important;
  height: calc(100% + 34px) !important;
  transform: translate(-50%, -50%) !important;
  border: 0 !important;
  border-radius: 50% !important;
  overflow: visible !important;
  z-index: 1 !important;
  pointer-events: none !important;
  animation: none !important;
}
.gi-hero-visual .gi-hero-data-path:before, .gi-hero-visual .gi-hero-data-path:after {
  display: none !important;
  content: none !important
}
.gi-hero-visual .gi-image-main {
  position: relative !important;
  z-index: 2 !important
}
.gi-hero-visual .gi-image-main img {
  position: relative;
  z-index: 1
}
.gi-hero-visual .gi-floating-card {
  z-index: 3 !important
}
.gi-hero-data-path span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: -3.5px 0 0 -3.5px !important;
  border-radius: 50% !important;
  background: #c7fffb !important;
  box-shadow: 0 0 8px 3px #70e9e7, 0 0 18px 6px rgba(24, 211, 220, .6) !important;
  offset-path: ellipse(50% 50% at 50% 50%) !important;
  offset-distance: 0%;
  animation: gt-photo-orbit 7s linear infinite !important;
}
.gi-hero-data-path span:nth-child(2) {
  animation-delay: -.875s !important
}
.gi-hero-data-path span:nth-child(3) {
  animation-delay: -1.75s !important
}
.gi-hero-data-path span:nth-child(4) {
  animation-delay: -2.625s !important
}
.gi-hero-data-path span:nth-child(5) {
  animation-delay: -3.5s !important
}
.gi-hero-data-path span:nth-child(6) {
  animation-delay: -4.375s !important
}
.gi-hero-data-path span:nth-child(7) {
  animation-delay: -5.25s !important
}
.gi-hero-data-path span:nth-child(8) {
  animation-delay: -6.125s !important
}
@keyframes gt-photo-orbit {
  to {
    offset-distance: 100%
  }
}
/* Global-Tec shared animated separator: three beats, consistently across pages */
.gc-intro-rule span, .gi-rule i, .gi-title-rule i {
  display: block !important;
  flex: 0 0 auto !important;
  width: 9px !important;
  height: 7px !important;
  border-radius: 20px !important;
  background: #b7e9e9 !important;
  opacity: .65 !important;
  animation: gt-separator-pulse 1.5s ease-in-out infinite !important;
}
.gc-intro-rule span:nth-child(2), .gi-rule i:nth-child(2), .gi-title-rule i:nth-child(2) {
  width: 35px !important;
  background: #18d3dc !important;
  animation-delay: .18s !important;
}
.gc-intro-rule span:nth-child(3), .gi-rule i:nth-child(3), .gi-title-rule i:nth-child(3) {
  animation-delay: .36s !important;
}
@keyframes gt-separator-pulse {
  0%, 100% {
    opacity: .45;
    transform: scale(.82)
  }
  50% {
    opacity: 1;
    transform: scale(1.12)
  }
}
/* Separador animado Global-Tec: regla final compartida para todas las páginas */
.gc-intro-rule, .gi-rule, .gi-title-rule {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
}
.gc-intro-rule span, .gi-rule i, .gi-title-rule i {
  display: block !important;
  flex: 0 0 auto !important;
  width: 9px !important;
  height: 7px !important;
  min-width: 9px !important;
  border-radius: 99px !important;
  background: #b7e9e9 !important;
  opacity: 1 !important;
  transform-origin: center !important;
  animation: gt-separator-active 1.25s ease-in-out infinite !important;
  animation-play-state: running !important;
}
.gc-intro-rule span:nth-child(2), .gi-rule i:nth-child(2), .gi-title-rule i:nth-child(2) {
  width: 35px !important;
  min-width: 35px !important;
  background: #18d3dc !important;
  animation-delay: .16s !important;
}
.gc-intro-rule span:nth-child(3), .gi-rule i:nth-child(3), .gi-title-rule i:nth-child(3) {
  animation-delay: .32s !important
}
@keyframes gt-separator-active {
  0%, 100% {
    opacity: .48;
    transform: scale(.78)
  }
  50% {
    opacity: 1;
    transform: scale(1.13)
  }
}
/* Hero orbit: two discreet orbital traces and exactly three luminous dots.
   The image stays above the orbit, so the dots disappear behind it and re-emerge. */
.gi-hero-visual {
  position: relative !important;
  isolation: isolate !important
}
.gi-hero-visual .gi-hero-data-path {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: calc(100% + 38px) !important;
  height: calc(100% + 38px) !important;
  transform: translate(-50%, -50%) !important;
  border: 0 !important;
  border-radius: 50% !important;
  overflow: visible !important;
  z-index: 1 !important;
  pointer-events: none !important;
  animation: none !important;
}
.gi-hero-visual .gi-hero-data-path:before, .gi-hero-visual .gi-hero-data-path:after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  border: 1px solid rgba(24, 211, 220, .24) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
.gi-hero-visual .gi-hero-data-path:before {
  inset: 2% 0 !important
}
.gi-hero-visual .gi-hero-data-path:after {
  inset: 0 2% !important;
  transform: rotate(24deg) !important;
  border-color: rgba(112, 233, 231, .16) !important
}
.gi-hero-visual .gi-image-main {
  position: relative !important;
  z-index: 2 !important
}
.gi-hero-visual .gi-image-main img {
  position: relative !important;
  z-index: 1 !important;
  display: block
}
.gi-hero-visual .gi-floating-card {
  position: absolute !important;
  z-index: 3 !important
}
.gi-hero-data-path span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: -3.5px 0 0 -3.5px !important;
  border-radius: 50% !important;
  background: #c7fffb !important;
  box-shadow: 0 0 8px 3px #70e9e7, 0 0 18px 6px rgba(24, 211, 220, .6) !important;
  offset-path: ellipse(50% 50% at 50% 50%) !important;
  offset-distance: 0%;
  animation: gt-photo-orbit-three 8s linear infinite !important;
}
.gi-hero-data-path span:nth-child(2) {
  animation-delay: -2.666s !important
}
.gi-hero-data-path span:nth-child(3) {
  animation-delay: -5.333s !important
}
@keyframes gt-photo-orbit-three {
  to {
    offset-distance: 100%
  }
}
@media(max-width:650px) {
  .gi-hero-visual .gi-hero-data-path {
    width: calc(100% + 24px) !important;
    height: calc(100% + 24px) !important
  }
}
@media(prefers-reduced-motion:reduce) {
  .gi-hero-data-path span {
    animation: none !important
  }
}
/* Global-Tec: separador único tipo barra animada */
.gc-ba-rule {
  width: 180px !important;
  height: 4px !important;
  margin: 24px auto 0 !important;
  background: rgba(181, 220, 224, .42) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative !important;
}
.gc-ba-rule span {
  display: block !important;
  width: 42% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(90deg, #18d3dc, #159cc5) !important;
  animation: gt-ba-scan 2.4s ease-in-out infinite alternate !important;
}
@keyframes gt-ba-scan {
  from {
    transform: translateX(0)
  }
  to {
    transform: translateX(138%)
  }
}
/* Tipografía: mínimo legible de 14px para textos de lectura */
p, li, small, label, figcaption, blockquote, input, textarea, select, .gc-ba-heading p, .gi-section p, .gi-section li, .gi-solution-content p, .gi-solution-content li, .gi-included-item small, .gi-compare-column li {
  font-size: max(14px, 1em) !important;
}
@media(prefers-reduced-motion:reduce) {
  .gc-ba-rule span {
    animation: none !important;
    transform: translateX(70%)
  }
}
/* Sistema responsive Global Tec: márgenes laterales seguros en pantallas pequeñas */ :root {
  --gt-page-gutter: clamp(18px, 4.2vw, 64px);
  --gt-content-max: 1250px
}
html, body {
  max-width: 100%;
  overflow-x: hidden
}
.container, .container-fluid, .header-container, .gc-container, .gi-container, .benefits-box, .global-connect-box, .gc-page .gc-container.gc-contact-grid {
  box-sizing: border-box
}
.gc-container, .gi-container {
  width: min(var(--gt-content-max), calc(100% - (var(--gt-page-gutter) * 2))) !important;
  max-width: var(--gt-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important
}
@media(max-width:767px) {
  :root {
    --gt-page-gutter: 20px
  }
  .container:not(.container-fluid), .header-container {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important
  }
  .gc-container, .gi-container, .gc-page .gc-container.gc-contact-grid {
    width: calc(100% - 40px) !important;
    max-width: none !important
  }
  .benefits-box, .global-connect-box {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important
  }
}
@media(max-width:420px) {
  :root {
    --gt-page-gutter: 18px
  }
  .container:not(.container-fluid), .header-container, .gc-container, .gi-container, .gc-page .gc-container.gc-contact-grid, .benefits-box, .global-connect-box {
    width: calc(100% - 36px) !important
  }
}