@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--gt-bg:#f8f9fb;--gt-text:#202532;--gt-muted:#697180;--gt-card:#ffffff;--gt-border:#d7dce6;--gt-surface:#ffffff;--gt-line:rgba(32,37,50,.08);}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,#fff 0%,#f7f8fb 100%);color:var(--gt-text)}
a{color:var(--gt-accent);text-decoration:none}a:hover{color:var(--gt-accent-dark)}
blockquote,q,strong,.quote-text,.section-eyebrow,.section-title span,.text-accent,.gt-richtext em,.gt-richtext blockquote{color:var(--gt-accent)}
.section-title{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;letter-spacing:-.04em}.section-title-sm{font-size:1.1rem;font-weight:800;color:var(--gt-accent)}
.section-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.78rem}.section-copy{color:var(--gt-muted);max-width:70ch}
.gt-logo-wrap{display:inline-flex;align-items:center;line-height:1}.gt-logo-bg{display:inline-block;background:var(--gt-accent);padding:0;border-radius:.15rem;overflow:hidden}.gt-logo-img{display:block;width:clamp(150px,18vw,228px);height:auto}
.navbar{padding:1rem 0}.nav-link{font-weight:700;color:#2d3442}.nav-link.active,.nav-link:hover{color:var(--gt-accent)}.header-meta{background:var(--gt-accent-soft)}
header.sticky-top{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--gt-border)!important}

/* Menu principal con iconos tipo botón */
.navbar-nav{gap:.35rem}
.navbar .nav-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  min-width:112px;
  min-height:72px;
  padding:.7rem .9rem;
  border:1px solid var(--gt-border);
  border-radius:.55rem;
  background:rgba(255,255,255,.78);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
  text-align:center;
}
.navbar .nav-link i,
.navbar .nav-link .bi{
  display:block;
  font-size:1.05rem;
  line-height:1;
  color:var(--gt-accent);
  transition:color .2s ease,transform .2s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link.active{
  color:var(--gt-accent);
  border-color:color-mix(in srgb,var(--gt-accent) 38%, white);
  background:var(--gt-accent-soft);
}
.navbar .nav-link:hover i,
.navbar .nav-link:hover .bi,
.navbar .nav-link.active i,
.navbar .nav-link.active .bi{
  color:var(--gt-accent);
  transform:translateY(-1px);
}


.hero-card,.gt-card,.stat-card,.service-card,.client-card,.featured-card,.product-card,.testimonial-card,.tech-pill-wrap{background:rgba(255,255,255,.92);border:1px solid var(--gt-border);border-radius:.65rem;box-shadow:none}
.hero-shell{padding-top:1.25rem}.hero-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.hero-carousel{border-top:1px solid var(--gt-border);border-bottom:1px solid var(--gt-border)}
.hero-slide{min-height:600px;background-size:cover;background-position:center;position:relative}.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,24,.74),rgba(10,14,24,.46) 45%,rgba(10,14,24,.18) 100%);}
.hero-content{position:relative;z-index:2;padding:clamp(2rem,6vw,5rem)}.hero-title,.hero-content .section-title,.hero-content .section-title span,.hero-copy{color:#fff}.hero-content .btn-outline-gt.contact-cta{border-color:rgba(255,255,255,.82);color:#fff;background:rgba(255,255,255,.06)}.hero-content .btn-outline-gt.contact-cta:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}
.btn-gt{background:var(--gt-accent);color:#fff;border:1px solid var(--gt-accent);border-radius:.45rem;padding:.95rem 1.4rem;font-weight:800}.btn-gt:hover{background:var(--gt-accent-dark);border-color:var(--gt-accent-dark);color:#fff}.btn-outline-gt{border:1px solid var(--gt-accent);color:var(--gt-accent);border-radius:.45rem;padding:.95rem 1.4rem;font-weight:800}.btn-outline-gt:hover{background:var(--gt-accent-soft);color:var(--gt-accent-dark)}
.metric{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--gt-accent)}.metric-label{color:var(--gt-muted);font-weight:700}
.service-card{position:relative;overflow:hidden}.service-card::after{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:var(--service-accent,var(--gt-accent))}.service-card.service-1{background:linear-gradient(180deg,#fff 0%,#eef4ff 100%);border-color:#c9d8ff}.service-card.service-2{background:linear-gradient(180deg,#fff 0%,#fff3e8 100%);border-color:#ffd8af}.service-card.service-3{background:linear-gradient(180deg,#fff 0%,#f4efff 100%);border-color:#d9c5ff}
.service-icon,.tech-pill{width:4rem;height:4rem;border-radius:.65rem;display:grid;place-items:center;background:var(--gt-accent-soft);color:var(--gt-accent);font-size:1.6rem;border:1px solid color-mix(in srgb,var(--gt-accent) 15%, white)}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.tech-pill-wrap{padding:1rem;text-align:center}
.client-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.client-card{padding:1.5rem;text-align:center;font-weight:700;color:#666}
.section-muted{background:linear-gradient(180deg,#fcfcfe 0%,#f4f6fa 100%);position:relative}.section-muted::before,.section-dark::before,.site-footer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px, rgba(0,0,0,.04) 1px, transparent 0);background-size:22px 22px;pointer-events:none;opacity:.45}.section-muted>.container,.section-dark>.container,.site-footer>.container{position:relative;z-index:1}
.section-dark{background:linear-gradient(180deg,color-mix(in srgb,var(--gt-accent) 78%, #0f172a) 0%, color-mix(in srgb,var(--gt-accent) 88%, #08111f) 100%);position:relative;border-top:1px solid color-mix(in srgb,var(--gt-accent) 30%, white);border-bottom:1px solid color-mix(in srgb,var(--gt-accent) 18%, black);color:#fff}.section-dark::before{background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0);opacity:.18}.section-dark .section-title,.section-dark .section-title span,.section-dark .metric,.section-dark .metric-label,.section-dark .section-copy,.section-dark p,.section-dark .text-muted,.section-dark .text-secondary,.section-dark small,.section-dark .small,.section-dark .section-eyebrow{color:#fff!important}.section-dark .stat-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}.section-dark .stat-card .metric{color:#fff}.section-dark .stat-card .metric-label{color:rgba(255,255,255,.88)!important}
.site-footer{background:linear-gradient(180deg,color-mix(in srgb,var(--gt-accent) 80%, #0f172a) 0%, color-mix(in srgb,var(--gt-accent) 92%, #08111f) 100%);border-top:1px solid rgba(255,255,255,.14);color:#fff;position:relative}.site-footer::before{background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.08) 1px, transparent 0);opacity:.22}.site-footer,.site-footer p,.site-footer li,.site-footer span,.site-footer small,.site-footer strong,.site-footer .section-title-sm,.site-footer .footer-copy,.site-footer .text-secondary,.site-footer .text-muted,.site-footer li i,.site-footer .bi{color:#fff!important}.site-footer a{color:#fff}.site-footer a:hover{color:rgba(255,255,255,.86)}.site-footer .border-top{border-color:rgba(255,255,255,.14)!important}.site-footer .footer-copy{color:rgba(255,255,255,.82)!important}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:64px;height:64px;border-radius:.85rem;display:grid;place-items:center;background:#25D366;color:#fff;font-size:2rem;box-shadow:none;border:1px solid rgba(255,255,255,.5);z-index:1080}
.page-hero{padding:5rem 0 3rem}.page-hero .lead{max-width:54rem;color:var(--gt-muted)}
.gt-richtext p{color:var(--gt-muted);line-height:1.8}.gt-richtext blockquote{border-left:4px solid var(--gt-accent);padding-left:1rem;font-weight:700}.product-cover{height:220px;object-fit:cover;border-radius:.55rem}.embed-brochure{min-height:80vh;border:1px solid var(--gt-border);border-radius:.65rem;overflow:hidden;box-shadow:none}
.admin-shell{min-height:100vh;background:#f5f7fb}.admin-card{background:#fff;border-radius:.85rem;border:1px solid var(--gt-border);box-shadow:none}
.carousel-control-prev,.carousel-control-next{width:7%}.carousel-indicators [data-bs-target]{width:11px;height:11px;border-radius:50%;border:0}
.logo-panel{background:linear-gradient(180deg,#ffffff 0%,#f7f8fc 100%)}
@media (max-width: 991px){.hero-slide{min-height:540px}.hero-slide::before{background:linear-gradient(180deg,rgba(10,14,24,.72),rgba(10,14,24,.40))}.carousel-control-prev,.carousel-control-next{width:10%}.navbar-nav{gap:.2rem}.navbar .nav-link{flex-direction:row;justify-content:flex-start;align-items:center;min-width:100%;min-height:auto;padding:.8rem .95rem;text-align:left}.navbar .nav-link i,.navbar .nav-link .bi{font-size:1rem;width:1.2rem;min-width:1.2rem;margin-right:.2rem}}
@media (max-width: 767px){.section-title{font-size:2rem}.hero-slide{min-height:520px}.whatsapp-float{width:58px;height:58px;font-size:1.8rem}.gt-logo-img{width:min(180px,46vw)}}


/* ===== Restauración visual sección Experiencia ===== */
.experience-toolbar{display:flex;flex-wrap:wrap;gap:.75rem}
.experience-filter-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.78rem 1.15rem;
  border:1px solid var(--gt-border);
  border-radius:.55rem;
  background:#fff;
  color:var(--gt-text);
  font-weight:800;
  letter-spacing:.01em;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.experience-filter-btn:hover,
.experience-filter-btn.is-active{
  background:var(--gt-accent-soft);
  border-color:color-mix(in srgb,var(--gt-accent) 38%, white);
  color:var(--gt-accent);
}
.experience-filter-btn.is-active{transform:translateY(-1px)}

.experience-card{
  transition:border-color .2s ease,transform .2s ease,background-color .2s ease;
}
.experience-card:hover,
.experience-card:focus-within{
  border-color:color-mix(in srgb,var(--gt-accent) 34%, white);
  background:linear-gradient(180deg,#fff 0%, color-mix(in srgb,var(--gt-accent) 4%, #fff) 100%);
  transform:translateY(-2px);
}
.experience-thumb-btn{
  width:100%;padding:0;border:1px solid var(--gt-border);background:#fff;border-radius:.55rem;
  overflow:hidden;position:relative;cursor:pointer;transition:border-color .2s ease,transform .2s ease;
}
.experience-thumb-btn:hover,.experience-thumb-btn:focus-visible{
  border-color:color-mix(in srgb,var(--gt-accent) 34%, white);
  transform:translateY(-1px);
}
.experience-thumb-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f4f6fa}
.experience-thumb-badge{
  position:absolute;right:.6rem;bottom:.6rem;display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .55rem;border-radius:.45rem;background:rgba(17,24,39,.82);color:#fff;font-size:.82rem;font-weight:700;
}
.experience-thumb-placeholder{
  aspect-ratio:4/3;border:1px dashed var(--gt-border);border-radius:.55rem;background:#f8f9fb;
  display:grid;place-items:center;text-align:center;color:var(--gt-muted);padding:1rem;
}
.experience-thumb-placeholder i{font-size:1.6rem;display:block;margin-bottom:.35rem;color:var(--gt-accent)}
.experience-dot{width:.38rem;height:.38rem;border-radius:50%;background:var(--gt-accent);display:inline-block}
.experience-summary{color:var(--gt-muted);line-height:1.75}
.experience-meta{color:var(--gt-text);line-height:1.7}
.experience-web-link{word-break:break-word;font-weight:700}
.experience-web-link:hover{text-decoration:underline}

.gt-pagination .page-link{
  border:1px solid var(--gt-border);border-radius:.45rem;color:var(--gt-text);background:#fff;font-weight:700;
}
.gt-pagination .page-item.active .page-link,
.gt-pagination .page-link:hover{
  background:var(--gt-accent-soft);color:var(--gt-accent);border-color:color-mix(in srgb,var(--gt-accent) 38%, white);
}
.gt-pagination .page-item.disabled .page-link{opacity:.55;background:#f5f7fb}

.experience-modal .modal-content,
.experience-modal{background:#0f172a;color:#fff}
.experience-modal .modal-header{border-bottom-color:rgba(255,255,255,.12)}
.experience-modal .btn-close{filter:invert(1) grayscale(1)}
#experienceGalleryItems .carousel-item img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#0b1220}
#experienceGalleryCarousel .carousel-control-prev,
#experienceGalleryCarousel .carousel-control-next{width:9%}

@media (max-width: 991px){
  .experience-toolbar{gap:.55rem}
  .experience-filter-btn{padding:.72rem .95rem;font-size:.95rem}
}
@media (max-width: 767px){
  .experience-card .row{row-gap:1rem}
}


.service-switch-card{
  display:block;
  height:100%;
  padding:1.35rem;
  background:rgba(255,255,255,.95);
  border:1px solid var(--gt-border);
  border-radius:.65rem;
  color:var(--gt-text);
  transition:border-color .2s ease,transform .2s ease,background-color .2s ease;
}
.service-switch-card:hover,
.service-switch-card.is-active{
  color:var(--gt-text);
  border-color:color-mix(in srgb,var(--gt-accent) 34%, white);
  background:linear-gradient(180deg,#fff 0%, color-mix(in srgb,var(--gt-accent) 5%, #fff) 100%);
  transform:translateY(-2px);
}
.service-switch-card .text-secondary{color:var(--gt-muted)!important}
.service-detail-panel{overflow:hidden}
.service-detail-copy ul{padding-left:1.2rem;color:var(--gt-muted);line-height:1.8}
.service-detail-copy li+li{margin-top:.35rem}
.service-detail-icon{flex:0 0 auto}
.service-image-placeholder{
  min-height:100%;
  border:1px dashed color-mix(in srgb,var(--gt-accent) 28%, white);
  border-radius:.65rem;
  background:linear-gradient(180deg,#fbfcff 0%, color-mix(in srgb,var(--gt-accent) 4%, #fff) 100%);
  display:grid;
  place-items:center;
  text-align:center;
  padding:1.8rem;
}
.service-image-placeholder i{
  font-size:2.6rem;
  color:var(--gt-accent);
}
.service-featured-card .row{min-height:100%}
.service-featured-thumb-wrap{
  width:100%;
  aspect-ratio:4/3;
  border:1px solid var(--gt-border);
  border-radius:.6rem;
  overflow:hidden;
  background:#f6f8fb;
}
.service-featured-thumb-wrap.is-empty{
  display:grid;
  place-items:center;
  text-align:center;
  color:var(--gt-muted);
  gap:.4rem;
}
.service-featured-thumb-wrap.is-empty i{
  font-size:1.8rem;
  color:var(--gt-accent);
}
.service-featured-thumb{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
@media (max-width: 767px){
  .service-switch-card{padding:1.1rem}
}


/* Ajustes puntuales index: servicios, recuadro central y tecnologías */
.imagination-card{
  min-height: 320px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(15,23,42,.72), rgba(15,23,42,.42)), url('../img/fondo-recuadro.jpg') center/cover no-repeat;
  border-color: color-mix(in srgb, var(--gt-accent) 35%, white);
}
.imagination-card__overlay{
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  gap: .4rem;
}
.imagination-card .quote-text,
.imagination-card .text-white,
.imagination-card .text-white-75{
  color: #fff !important;
}
.imagination-card .text-white-75{
  opacity: .92;
}
.service-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
  height:100%;
}
.service-card-link:hover,
.service-card-link:focus{
  color:inherit;
}
.service-card-link .service-card{
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.service-card-link:hover .service-card,
.service-card-link:focus .service-card{
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--service-accent,var(--gt-accent)) 45%, white);
}
.service-card.service-1{
  background: linear-gradient(180deg, #f4f8ff 0%, #dce9ff 100%);
  border-color: #a8c3ff;
}
.service-card.service-2{
  background: linear-gradient(180deg, #fff7ee 0%, #ffe1bf 100%);
  border-color: #ffbe73;
}
.service-card.service-3{
  background: linear-gradient(180deg, #f8f2ff 0%, #e5d4ff 100%);
  border-color: #c19cff;
}
.service-card .text-secondary{
  color: #4c5565 !important;
}
.technologies-visual-card{
  background: linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
}
.technologies-team-image{
  width: 100%;
  max-width: 540px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media (max-width: 991px){
  .imagination-card{min-height: 280px;}
}

/* Clientes carrusel responsive */
.clients-carousel{
  position:relative;
  overflow:hidden;
}
.clients-carousel-viewport{
  overflow:hidden;
  margin:0 3rem;
}
.clients-carousel-track{
  display:flex;
  gap:1rem;
  transition:transform .45s ease;
  will-change:transform;
}
.client-logo-slide{
  flex:0 0 calc(25% - .75rem);
  min-width:calc(25% - .75rem);
}
.client-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:120px;
  padding:1.1rem;
  background:rgba(255,255,255,.96);
  border:1px solid var(--gt-border);
}
.client-logo-card a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.client-logo-card img{
  width:100%;
  max-width:170px;
  height:72px;
  object-fit:contain;
  object-position:center;
  display:block;
  filter:none;
}
.clients-carousel-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:1px solid var(--gt-border);
  border-radius:.65rem;
  background:#fff;
  color:var(--gt-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.clients-carousel-control.prev{left:.65rem}
.clients-carousel-control.next{right:.65rem}
.clients-carousel-control:hover,
.clients-carousel-control:focus-visible{
  background:var(--gt-accent-soft);
  color:var(--gt-accent-strong);
}
@media (max-width: 1199.98px){
  .client-logo-slide{flex-basis:calc(33.333% - .67rem);min-width:calc(33.333% - .67rem)}
}
@media (max-width: 767.98px){
  .clients-carousel-viewport{margin:0 2.6rem}
  .client-logo-slide{flex-basis:calc(50% - .5rem);min-width:calc(50% - .5rem)}
  .client-logo-card{min-height:108px}
}
@media (max-width: 575.98px){
  .clients-carousel-viewport{margin:0 2.4rem}
  .client-logo-slide{flex-basis:100%;min-width:100%}
  .client-logo-card img{max-width:190px;height:78px}
}
