.tp-shell,
.tp-intro,
.tp-footer { font-family: "Montserrat", Arial, sans-serif; }

.tp-copy h1,
.tp-eyebrow,
.tp-soon,
.tp-access,
.tp-sector h2 { font-family: "Poppins", Arial, sans-serif; }

.tp-shell {
  padding: 2.7vw 4.6vw 1.8vw;
  background:
    radial-gradient(circle at 46% 49%, #1d527f38, transparent 39%),
    linear-gradient(125deg, #07162f, #061228 58%, #071831);
}

.tp-logo {
  opacity: .96;
  display: block;
  width: clamp(250px, 22vw, 385px);
  line-height: 0;
}

.tp-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.tp-access { padding: 1rem 2.25rem; }

.tp-hero {
  grid-template-columns: 46% 54%;
  align-items: start;
  min-height: 0;
  padding-top: clamp(5.5rem, 8vh, 7rem);
}

.tp-copy {
  padding-top: clamp(2.4rem, 5vh, 4.5rem);
  position: relative;
  z-index: 3;
}

.tp-copy h1 {
  font-size: clamp(3rem, 3.55vw, 4.65rem);
  line-height: 1.09;
  margin: 1.65rem 0 1.35rem;
}

.tp-intro {
  font-size: clamp(1rem, 1.03vw, 1.18rem);
  line-height: 1.78;
  max-width: 610px;
}

.tp-soon { margin-top: 2.4rem; }

.tp-architecture {
  width: 100%;
  align-self: start;
  margin-top: 0;
  position: relative;
  z-index: 2;
  filter: saturate(.95) contrast(1.04);
}

.tp-architecture img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 96%, transparent 100%);
}

.tp-sectors {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  width: 90% !important;
  min-height: 445px !important;
  margin: 0 0 0 auto !important;
  overflow: hidden;
  background: linear-gradient(150deg, #35658b3d, #04142b73);
  border: 1px solid #b1d3eb66;
  border-bottom-color: #d7e7f080;
  clip-path: polygon(0 14%, 29% 29%, 29% 4%, 64% 4%, 64% 34%, 100% 12%, 100% 100%, 0 100%);
}

.tp-sectors::before,
.tp-sectors::after {
  content: "";
  position: absolute;
  inset: -20% -30%;
  pointer-events: none;
}

.tp-sectors::before {
  background: repeating-linear-gradient(90deg, transparent 0 16%, #6fa8cd17 16.2% 16.5%);
}

.tp-sectors::after {
  background: linear-gradient(155deg, transparent 50%, #4cd3e847 50.2%, transparent 50.48%);
}

.tp-sector {
  position: relative;
  z-index: 1;
  min-height: 300px;
  padding: 2rem .4rem 1.7rem;
}

.tp-sector svg {
  width: 62px;
  height: 62px;
  opacity: .92;
}

.tp-sector h2 {
  font-size: .74rem;
  margin-top: 1.65rem;
}

.tp-footer {
  display: block !important;
  position: relative;
  z-index: 5;
  margin-top: 1.2rem;
}

@media (max-width: 1100px) {
  .tp-hero { grid-template-columns: 45% 55%; }
  .tp-sectors { width: 94% !important; min-height: 410px !important; }
  .tp-sector { min-height: 275px; }
}

@media (max-width: 850px) {
  .tp-shell {
    min-height: 100svh;
    padding: 1.5rem 1.25rem 1.25rem;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .tp-header {
    align-items: center;
    gap: 1rem;
  }
  .tp-logo { width: clamp(175px, 45vw, 240px); }
  .tp-access {
    padding: .75rem 1rem;
    border-radius: 6px;
    font-size: .82rem;
    white-space: nowrap;
  }
  .tp-hero {
    grid-template-columns: 1fr;
    padding: 3.6rem 0 1.5rem;
  }
  .tp-copy {
    max-width: 620px;
    padding-top: 0;
  }
  .tp-copy h1 {
    font-size: clamp(2.65rem, 9vw, 3.8rem);
    margin: 1.35rem 0 1.2rem;
  }
  .tp-eyebrow {
    font-size: .72rem;
    letter-spacing: .34em;
  }
  .tp-intro {
    max-width: 580px;
    font-size: 1rem;
    line-height: 1.7;
  }
  .tp-soon { margin-top: 2rem; }
  .tp-architecture {
    width: calc(100% + 1.5rem);
    margin: 2.5rem -.75rem 0;
  }
  .tp-sectors { width: 100% !important; margin-top: 3rem !important; min-height: 330px !important; clip-path: none; }
  .tp-sector { min-height: 230px; }
  .tp-footer {
    margin-top: 0;
    padding-top: 1rem;
    font-size: .72rem;
  }
}

@media (max-width: 560px) {
  .tp-shell { padding: 1.25rem 1rem 1rem; }
  .tp-logo { width: 165px; }
  .tp-access {
    padding: .65rem .75rem;
    font-size: .74rem;
  }
  .tp-hero { padding-top: 3rem; }
  .tp-copy h1 {
    font-size: clamp(2.35rem, 11vw, 3rem);
    line-height: 1.08;
  }
  .tp-eyebrow {
    font-size: .64rem;
    letter-spacing: .28em;
  }
  .tp-intro {
    font-size: .94rem;
    line-height: 1.62;
  }
  .tp-soon {
    margin-top: 1.75rem;
    font-size: .9rem;
  }
  .tp-architecture {
    width: calc(100% + 1rem);
    margin: 2rem -.5rem 0;
  }
  .tp-sectors { min-height: auto !important; }
  .tp-sector { min-height: 120px; }
}

@media (max-width: 360px) {
  .tp-logo { width: 145px; }
  .tp-access {
    padding: .6rem .65rem;
    font-size: .68rem;
  }
  .tp-copy h1 { font-size: 2.2rem; }
}

/* Home institucional 3.0 */
.tp-home{background:#041329;color:#edf3f9;font-family:"Montserrat",Arial,sans-serif;overflow:hidden}.tp-container{width:min(1180px,calc(100% - 3rem));margin-inline:auto}.tp-home-header{height:96px;display:flex;align-items:center;justify-content:space-between}.tp-home-header .tp-logo{width:285px}.tp-home h1,.tp-home h2,.tp-home h3,.tp-home a{font-family:"Poppins",Arial,sans-serif}.tp-home h2{margin:.6rem 0 2.2rem;font-size:clamp(2rem,3.4vw,3.4rem);font-weight:400;letter-spacing:-.035em}.tp-kicker{margin:0;color:#62d7ed;font:700 .69rem/1.5 "Poppins",Arial,sans-serif;letter-spacing:.25em}.tp-kicker:after{content:"";display:block;width:38px;margin-top:1rem;border-top:2px solid #62d7ed}.tp-home-hero{border-top:1px solid #ffffff17;background:radial-gradient(circle at 72% 35%,#285c8848,transparent 35%),linear-gradient(110deg,#041329,#071a34)}.tp-hero-grid{min-height:610px;display:grid;grid-template-columns:47% 53%;align-items:center}.tp-hero-copy{position:relative;z-index:2}.tp-hero-copy h1{margin:1.4rem 0 1.2rem;font-size:clamp(3rem,4.7vw,5.15rem);line-height:1.08;font-weight:400;letter-spacing:-.045em}.tp-hero-copy>p:not(.tp-kicker){max-width:590px;color:#b8c4d4;font-size:1.05rem;line-height:1.75}.tp-outline-button{display:inline-flex;align-items:center;gap:1.2rem;margin-top:1.6rem;padding:.9rem 1.15rem;color:#60d9ef;border:1px solid #55d6f0;border-radius:6px;text-decoration:none;font-weight:600}.tp-hero-building{height:610px;display:flex;align-items:flex-end}.tp-hero-building img{width:125%;max-width:none;margin-left:-13%;filter:saturate(.9) contrast(1.05);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 95%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 95%,transparent)}.tp-portfolios{padding:6rem 0}.tp-home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tp-home-card{position:relative;min-height:410px;overflow:hidden;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;background-image:linear-gradient(90deg,#031329f2 0%,#06172bd0 55%,#06172b43),linear-gradient(0deg,#031329e8,transparent),var(--card-image);background-size:cover;background-position:center;border:1px solid #ffffff2b;border-radius:10px}.tp-card-icon{width:56px;height:56px;display:grid;place-items:center;color:#5adaf2;border:1px solid #5adaf2;border-radius:50%;font-size:1.45rem}.tp-home-card h3{margin:auto 0 .55rem;text-transform:uppercase;font-size:1.35rem;font-weight:500;letter-spacing:.08em}.tp-home-card i{width:40px;border-top:2px solid #5adaf2;margin-bottom:1rem}.tp-home-card p{max-width:270px;margin:0;color:#ced7e3;line-height:1.65}.tp-process{padding:6rem 0;background:linear-gradient(110deg,#061a34,#031329);border-block:1px solid #ffffff17}.tp-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.tp-process-grid article{position:relative;padding:0 1.4rem;text-align:center;border-right:1px dashed #59d9f238}.tp-process-grid article:last-child{border:0}.tp-process-grid b{display:block;color:#4489c3;font:300 2.2rem "Poppins",Arial,sans-serif}.tp-process-grid span{width:62px;height:62px;margin:1rem auto;display:grid;place-items:center;color:#5adaf2;border:1px solid #5adaf2;border-radius:50%;font-size:1.45rem}.tp-process-grid h3{font-size:1rem;font-weight:500}.tp-process-grid p{color:#9eafc3;font-size:.86rem;line-height:1.6}.tp-vision{background:radial-gradient(circle at 75% 40%,#315f884b,transparent 40%),#071a34}.tp-vision-grid{min-height:430px;display:grid;grid-template-columns:55% 45%;align-items:center}.tp-vision h2{margin-top:1.4rem}.tp-vision p:not(.tp-kicker){max-width:650px;color:#b8c4d4;line-height:1.75}.tp-vision-image{align-self:stretch;background:url("assets/realestate.png") center/cover no-repeat;opacity:.52;-webkit-mask-image:linear-gradient(to right,transparent,#000 30%);mask-image:linear-gradient(to right,transparent,#000 30%)}.tp-home-footer{padding:2.5rem 0 1.5rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}.tp-home-footer img{width:220px}.tp-home-footer nav{display:flex;align-items:center;gap:1.2rem}.tp-home-footer a{color:#b8c4d4;text-decoration:none;font-size:.82rem}.tp-home-footer a:last-child{padding:.7rem 1rem;color:#5adaf2;border:1px solid #5adaf2;border-radius:5px}.tp-home-footer p{grid-column:1/-1;margin:0;padding-top:1.2rem;color:#7588a1;border-top:1px solid #ffffff18;text-align:center;font-size:.72rem}

@media(max-width:850px){.tp-container{width:min(100% - 2rem,680px)}.tp-home-header{height:76px}.tp-home-header .tp-logo{width:190px}.tp-hero-grid,.tp-vision-grid{grid-template-columns:1fr}.tp-hero-grid{padding-top:4rem}.tp-hero-copy h1{font-size:clamp(2.7rem,10vw,4.2rem)}.tp-hero-building{height:auto;margin-top:2.5rem}.tp-hero-building img{width:115%;margin-left:-7.5%}.tp-home-cards,.tp-process-grid{grid-template-columns:1fr}.tp-home-card{min-height:360px}.tp-process-grid article{padding:1.8rem 0;border-right:0;border-bottom:1px dashed #59d9f238}.tp-vision-grid{padding:5rem 0}.tp-vision-image{display:none}.tp-home-footer{grid-template-columns:1fr}.tp-home-footer nav{justify-content:flex-start}}
@media(max-width:520px){.tp-container{width:calc(100% - 2rem)}.tp-home-header .tp-logo{width:155px}.tp-home-header .tp-access{padding:.65rem .7rem;font-size:.7rem}.tp-home-hero{background:linear-gradient(135deg,#041329,#071a34)}.tp-hero-grid{min-height:auto;padding-top:3.2rem}.tp-hero-copy h1{font-size:2.55rem}.tp-hero-copy>p:not(.tp-kicker){font-size:.94rem}.tp-portfolios,.tp-process{padding:4.5rem 0}.tp-home-card{min-height:335px;padding:1.5rem}.tp-home-footer img{width:180px}.tp-home-footer nav{flex-wrap:wrap}}

/* Interacciones tecnológicas 3.1 */
.tp-home-hero{position:relative;isolation:isolate}.tp-home-hero:before{content:"";position:absolute;z-index:-1;inset:-30% 35% -30% -20%;background:linear-gradient(115deg,transparent 35%,#45d8f00b 49%,#45d8f026 50%,#45d8f00b 51%,transparent 65%);transform:translateX(-35%);animation:tp-ambient-scan 12s ease-in-out infinite}.tp-hero-building img{animation:tp-building-float 9s ease-in-out infinite}.tp-outline-button,.tp-access,.tp-home-footer a:last-child{position:relative;overflow:hidden;transition:color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.tp-outline-button:before,.tp-access:before,.tp-home-footer a:last-child:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff2b 48%,transparent 75%);transform:translateX(-130%);transition:transform .65s ease}.tp-outline-button:hover:before,.tp-access:hover:before,.tp-home-footer a:last-child:hover:before{transform:translateX(130%)}.tp-outline-button:hover,.tp-home-footer a:last-child:hover{box-shadow:0 0 24px #55d6f032;transform:translateY(-2px)}.tp-home-card{transition:transform .38s cubic-bezier(.2,.75,.2,1),border-color .38s ease,box-shadow .38s ease,background-size .7s ease}.tp-home-card:after{content:"";position:absolute;inset:-45%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#62d7ed17 49%,transparent 56%);transform:translateX(-55%) rotate(3deg);transition:transform .8s ease}.tp-home-card:hover{transform:translateY(-9px);border-color:#62d7ed7a;box-shadow:0 22px 55px #0208178a,0 0 30px #62d7ed16;background-size:106%}.tp-home-card:hover:after{transform:translateX(55%) rotate(3deg)}.tp-home-card>*{position:relative;z-index:1}.tp-process-grid article{transition:background .3s ease,transform .3s ease}.tp-process-grid article:hover{transform:translateY(-5px);background:linear-gradient(180deg,#5adaf20b,transparent)}.tp-process-grid article:hover span{box-shadow:0 0 25px #5adaf22b}.tp-process-grid span{transition:box-shadow .3s ease,transform .3s ease}.tp-reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease var(--tp-delay,0ms),transform .72s cubic-bezier(.2,.7,.2,1) var(--tp-delay,0ms)}.tp-reveal.is-visible{opacity:1;transform:none}
@keyframes tp-ambient-scan{0%,18%{transform:translateX(-35%);opacity:.2}55%{opacity:1}82%,100%{transform:translateX(75%);opacity:.15}}@keyframes tp-building-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.tp-home *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.tp-reveal{opacity:1!important;transform:none!important}}
@media(hover:none){.tp-home-card:hover,.tp-outline-button:hover{transform:none}.tp-home-card:hover{background-size:cover}}
