
:root{
  --v6-navy:#062b4e;--v6-navy2:#0a416f;--v6-blue:#0056a7;--v6-blue2:#0b6fc6;
  --v6-orange:#f79300;--v6-ink:#0b2d55;--v6-text:#36536f;--v6-muted:#657b90;
  --v6-soft:#f4f8fc;--v6-line:#d7e3ee;--v6-white:#fff;--v6-radius:18px;
  --v6-shadow:0 14px 32px rgba(4,52,98,.10);--v6-shadow-hover:0 22px 44px rgba(4,52,98,.16)
}
body[class*="v6-route-"]:not(.v6-route-home){background:var(--v6-soft)}
body[class*="v6-route-"]:not(.v6-route-home) .v5-nav{height:82px}
body[class*="v6-route-"]:not(.v6-route-home) .v5-nav__inner{width:min(1380px,calc(100% - 80px))}
body[class*="v6-route-"]:not(.v6-route-home) .v5-nav__brand{width:240px;flex-basis:240px}
body[class*="v6-route-"]:not(.v6-route-home) .v5-nav__brand img{width:220px}

/* Internal heroes, HOME excluded */
body[class*="v6-route-"]:not(.v6-route-home) .page-hero{
  position:relative!important;overflow:hidden!important;min-height:340px!important;
  padding:66px 0 70px!important;background:var(--v6-navy)!important;color:#fff!important
}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero:before{
  content:"";position:absolute!important;inset:0!important;opacity:1!important;
  background:
    linear-gradient(90deg,rgba(3,37,66,.99) 0%,rgba(3,37,66,.93) 36%,rgba(3,37,66,.52) 62%,rgba(3,37,66,.18) 100%),
    var(--v6-hero) center/cover no-repeat!important
}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.04) 0 1px,transparent 1px 100%);
  background-size:48px 48px;opacity:.45
}
body.v6-route-tecnologia{--v6-hero:url('/assets/img/v6/hero-tecnologia.jpg')}
body.v6-route-servicios-operacionales{--v6-hero:url('/assets/img/v6/hero-servicios.jpg')}
body.v6-route-soluciones-disponibles{--v6-hero:url('/assets/img/v6/hero-soluciones.jpg')}
body.v6-route-nosotros{--v6-hero:url('/assets/img/v6/hero-nosotros.jpg')}
body.v6-route-contacto{--v6-hero:url('/assets/img/v6/hero-contacto.jpg')}

body[class*="v6-route-"]:not(.v6-route-home) .page-hero>.container{position:relative;z-index:2}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero .eyebrow{
  display:inline-flex!important;align-items:center;gap:9px;padding:7px 13px!important;border-radius:999px!important;
  background:rgba(3,34,61,.50)!important;border:1px solid rgba(255,255,255,.38)!important;color:#fff!important
}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero .eyebrow:before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--v6-orange);box-shadow:0 0 9px var(--v6-orange)
}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero .section-title{
  max-width:820px!important;margin:15px 0 18px!important;color:#fff!important;
  font-size:clamp(2.65rem,4.6vw,4.7rem)!important;line-height:.96!important;letter-spacing:-.045em!important
}
body[class*="v6-route-"]:not(.v6-route-home) .page-hero .section-lead{
  max-width:760px!important;margin:0!important;color:rgba(255,255,255,.9)!important;font-size:1.05rem!important;line-height:1.65!important
}
.v6-proof{
  position:absolute;z-index:4;right:5%;bottom:18px;width:min(580px,44vw);
  display:grid;grid-template-columns:repeat(3,1fr);
  background:rgba(2,29,53,.86);border:1px solid rgba(255,255,255,.12);
  border-radius:18px;overflow:hidden;backdrop-filter:blur(10px)
}
.v6-proof__item{padding:14px 16px;color:#fff}
.v6-proof__item+.v6-proof__item{border-left:1px solid rgba(255,255,255,.18)}
.v6-proof strong,.v6-proof span{display:block}
.v6-proof strong{font-size:13px;margin-bottom:4px}
.v6-proof span{font-size:11.5px;color:rgba(255,255,255,.77);line-height:1.3}

/* Interior rhythm */
body[class*="v6-route-"]:not(.v6-route-home) app-tecnologia>section:not(.page-hero),
body[class*="v6-route-"]:not(.v6-route-home) app-servicios-operacionales>section:not(.page-hero),
body[class*="v6-route-"]:not(.v6-route-home) app-soluciones-disponibles>section:not(.page-hero),
body[class*="v6-route-"]:not(.v6-route-home) app-nosotros>section:not(.page-hero),
body[class*="v6-route-"]:not(.v6-route-home) app-contacto>section:not(.page-hero){
  background:radial-gradient(circle at 12% 0%,rgba(0,86,167,.055),transparent 24%),linear-gradient(180deg,#fbfdff,#f3f7fb)!important
}
body[class*="v6-route-"]:not(.v6-route-home) .section{padding-top:58px!important;padding-bottom:58px!important}
body[class*="v6-route-"]:not(.v6-route-home) .card{
  border:1px solid var(--v6-line)!important;border-radius:var(--v6-radius)!important;
  background:rgba(255,255,255,.98)!important;box-shadow:var(--v6-shadow)!important
}

/* Service + technology cards */
body.v6-route-servicios-operacionales .service-grid,
body.v6-route-tecnologia .service-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important
}
body.v6-route-servicios-operacionales .service-card,
body.v6-route-tecnologia .service-card{
  position:relative!important;min-height:185px!important;overflow:hidden!important;
  padding:20px 38% 20px 82px!important;transition:.2s ease!important
}
body.v6-route-servicios-operacionales .service-card:hover,
body.v6-route-tecnologia .service-card:hover{transform:translateY(-4px);box-shadow:var(--v6-shadow-hover)!important}
.v6-card-ico{
  position:absolute;left:20px;top:22px;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  color:#fff;font-size:21px;font-weight:900;background:linear-gradient(145deg,var(--v6-blue2),#003c80);
  box-shadow:0 8px 18px rgba(0,62,125,.18);z-index:3
}
.v6-card-ico.orange{background:linear-gradient(145deg,#ffa20d,#ef7e00)}
.v6-card-tag{
  display:inline-flex;margin-bottom:9px;padding:5px 10px;border-radius:999px;color:#0054a2;background:#e3f0ff;
  font-size:10px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;position:relative;z-index:2
}
.v6-card-tag.orange{color:#dc7200;background:#fff0dc}
.v6-card-photo{position:absolute;right:0;top:0;width:35%;height:100%;object-fit:cover;z-index:0;filter:saturate(.96) contrast(1.03)}
.v6-card-fade{position:absolute;z-index:1;right:27%;top:0;width:18%;height:100%;background:linear-gradient(100deg,#fff 0%,rgba(255,255,255,.96) 40%,rgba(255,255,255,0) 100%);pointer-events:none}
body.v6-route-servicios-operacionales .service-card h3,
body.v6-route-tecnologia .service-card h3{position:relative;z-index:2;margin:4px 0 9px!important;color:var(--v6-ink)!important;font-size:1.05rem!important;line-height:1.15!important}
body.v6-route-servicios-operacionales .service-card p,
body.v6-route-tecnologia .service-card p{position:relative;z-index:2;margin:0!important;color:#5b7188!important;font-size:.84rem!important;line-height:1.48!important}

/* Solutions */
body.v6-route-soluciones-disponibles .solutions-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important
}
body.v6-route-soluciones-disponibles .solution-card{
  position:relative!important;min-height:265px!important;overflow:hidden!important;padding:125px 28px 26px!important;transition:.2s ease!important
}
body.v6-route-soluciones-disponibles .solution-card:hover{transform:translateY(-4px);box-shadow:var(--v6-shadow-hover)!important}
.v6-solution-photo{position:absolute;left:0;right:0;top:0;width:100%;height:108px;object-fit:cover;filter:saturate(.95)}
.v6-solution-icon{
  position:absolute;left:24px;top:82px;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;z-index:3;
  color:#fff;font-size:20px;font-weight:900;background:linear-gradient(145deg,var(--v6-blue2),#003c80);
  border:3px solid #fff;box-shadow:0 8px 18px rgba(0,62,125,.18)
}
body.v6-route-soluciones-disponibles .solution-card:nth-child(even) .v6-solution-icon{background:linear-gradient(145deg,#ffa20d,#ef7e00)}
body.v6-route-soluciones-disponibles .solution-tag{border-radius:999px!important;background:#e5f1ff!important;color:#0054a2!important}
body.v6-route-soluciones-disponibles .solution-card:nth-child(even) .solution-tag{background:#fff0dc!important;color:#d66d00!important}

/* Nosotros */
body.v6-route-nosotros .about-grid,
body.v6-route-nosotros .dual-grid{gap:22px!important}
body.v6-route-nosotros .about-box,
body.v6-route-nosotros .dual-box,
body.v6-route-nosotros .vision-box{position:relative;overflow:hidden;padding:30px!important}
body.v6-route-nosotros .about-box:before,
body.v6-route-nosotros .dual-box:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--v6-blue),var(--v6-orange))
}
body.v6-route-nosotros .approach-card{position:relative!important;padding:28px 24px 24px 72px!important}
body.v6-route-nosotros .approach-card:before{
  content:attr(data-v6-step);position:absolute;left:20px;top:24px;color:var(--v6-orange);font-weight:900;font-size:1.1rem
}
body.v6-route-nosotros .vision-section{background:linear-gradient(120deg,#07365f,#0a527f)!important;color:#fff!important}
body.v6-route-nosotros .vision-box{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important}
body.v6-route-nosotros .vision-box h2,body.v6-route-nosotros .vision-box p{color:#fff!important}

/* Contact: preserve live Angular form */
body.v6-route-contacto .contact-grid{
  display:grid!important;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr)!important;gap:24px!important;align-items:start!important
}
body.v6-route-contacto .contact-info{
  background:linear-gradient(145deg,#07365f,#0a527f)!important;color:#fff!important;border:0!important
}
body.v6-route-contacto .contact-info h2,
body.v6-route-contacto .contact-info p,
body.v6-route-contacto .contact-info .label,
body.v6-route-contacto .contact-info a,
body.v6-route-contacto .contact-info span{color:#fff!important}
body.v6-route-contacto .contact-form-box{padding:30px!important}
body.v6-route-contacto .field input,
body.v6-route-contacto .field select,
body.v6-route-contacto .field textarea{border-radius:12px!important;background:#fbfdff!important}

.v6-offices{padding:56px 0;background:linear-gradient(180deg,#fff,#f3f7fb)}
.v6-offices__inner{width:min(1200px,calc(100% - 48px));margin:auto}
.v6-offices__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.v6-offices__head h2{margin:0;color:var(--v6-ink);font-size:clamp(2rem,3.4vw,3rem);line-height:1}
.v6-offices__head p{max-width:620px;margin:0;color:var(--v6-muted);line-height:1.6}
.v6-offices__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v6-office{padding:26px;border:1px solid var(--v6-line);border-radius:18px;background:#fff;box-shadow:var(--v6-shadow)}
.v6-office small{display:inline-flex;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#fff0dc;color:#d66d00;font-weight:900}
.v6-office h3{margin:0 0 12px;color:var(--v6-ink);font-size:1.25rem}
.v6-office p{margin:5px 0;color:var(--v6-text);line-height:1.5}
.v6-office a{color:var(--v6-blue);font-weight:800;text-decoration:none}

/* Footer */
body[class*="v6-route-"]:not(.v6-route-home) app-footer footer,
body[class*="v6-route-"]:not(.v6-route-home) app-footer .footer{background:#071b34!important;color:#c4d2e1!important}

/* Responsive */
@media(max-width:1100px){
  body.v6-route-servicios-operacionales .service-grid,
  body.v6-route-tecnologia .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v6-proof{width:54vw}
}
@media(max-width:900px){
  body[class*="v6-route-"]:not(.v6-route-home) .v5-nav__inner{width:calc(100% - 32px)}
  .v6-proof{position:relative;right:auto;bottom:auto;width:min(100%,720px);margin:20px auto 0}
  body.v6-route-soluciones-disponibles .solutions-grid{grid-template-columns:1fr!important}
  body.v6-route-contacto .contact-grid{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  body[class*="v6-route-"]:not(.v6-route-home) .page-hero{padding:48px 0!important}
  body[class*="v6-route-"]:not(.v6-route-home) .page-hero .section-title{font-size:2.5rem!important}
  .v6-proof{grid-template-columns:1fr;border-radius:14px}.v6-proof__item+.v6-proof__item{border-left:0;border-top:1px solid rgba(255,255,255,.16)}
  body.v6-route-servicios-operacionales .service-grid,
  body.v6-route-tecnologia .service-grid{grid-template-columns:1fr!important}
  body.v6-route-servicios-operacionales .service-card,
  body.v6-route-tecnologia .service-card{padding-right:32%!important}
  .v6-offices__grid{grid-template-columns:1fr}.v6-offices__head{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   V6 FINAL · NOSOTROS + CONTACTO + FOOTER
   ========================================================================== */

/* NOSOTROS */
body.v6-route-nosotros app-nosotros .about-box.card,
body.v6-route-nosotros app-nosotros .dual-box.card {
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(245,249,253,.98))!important;
  border:1px solid #d6e3ef!important;
  box-shadow:0 14px 32px rgba(5,49,92,.09)!important;
}
body.v6-route-nosotros app-nosotros .approach-card.card {
  background:#fff!important;border:1px solid #d7e3ee!important;border-top:3px solid #0b65ad!important;
  box-shadow:0 12px 28px rgba(5,49,92,.08)!important;transition:transform .2s ease,box-shadow .2s ease!important;
}
body.v6-route-nosotros app-nosotros .approach-card.card:hover {
  transform:translateY(-3px);box-shadow:0 18px 38px rgba(5,49,92,.13)!important;
}
body.v6-route-nosotros app-nosotros > section.vision-section {
  position:relative!important;overflow:hidden!important;
  background:radial-gradient(circle at 82% 28%,rgba(247,147,0,.20),transparent 24%),
             radial-gradient(circle at 12% 70%,rgba(18,116,190,.22),transparent 30%),
             linear-gradient(120deg,#062846 0%,#073b68 55%,#0a527f 100%)!important;
  color:#fff!important;
}
body.v6-route-nosotros app-nosotros > section.vision-section:before {
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.30;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:42px 42px;
}
body.v6-route-nosotros app-nosotros .vision-section .vision-box.card {
  position:relative!important;z-index:2!important;min-height:auto!important;padding:38px!important;
  background:rgba(4,34,61,.46)!important;border:1px solid rgba(255,255,255,.17)!important;
  box-shadow:0 20px 44px rgba(0,18,38,.18)!important;backdrop-filter:blur(7px);
}
body.v6-route-nosotros app-nosotros .vision-section .vision-box h2 {
  color:#fff!important;font-size:clamp(1.9rem,3vw,2.8rem)!important;
}
body.v6-route-nosotros app-nosotros .vision-section .vision-box p {
  color:rgba(255,255,255,.88)!important;line-height:1.72!important;
}
body.v6-route-nosotros app-nosotros .vision-section .tag {
  color:#fff!important;background:rgba(247,147,0,.92)!important;
}

/* CONTACTO: eliminar raster con textos fantasma del mockup */
body.v6-route-contacto app-contacto > section.page-hero:before {
  background:radial-gradient(circle at 78% 22%,rgba(21,130,205,.25),transparent 22%),
             radial-gradient(circle at 88% 84%,rgba(247,147,0,.18),transparent 20%),
             linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
             linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
             linear-gradient(125deg,#052745 0%,#083b68 55%,#0b5481 100%)!important;
  background-size:auto,auto,42px 42px,42px 42px,auto!important;
}
body.v6-route-contacto app-contacto .contact-grid {
  width:min(1120px,100%)!important;margin-left:auto!important;margin-right:auto!important;
  grid-template-columns:minmax(330px,.86fr) minmax(460px,1.14fr)!important;gap:26px!important;align-items:stretch!important;
}
body.v6-route-contacto app-contacto .contact-grid .contact-info.card {
  padding:34px!important;
  background:radial-gradient(circle at 100% 0%,rgba(247,147,0,.19),transparent 30%),
             linear-gradient(145deg,#062b4d,#0a4e7d)!important;
  color:#fff!important;border:0!important;box-shadow:0 18px 42px rgba(4,42,79,.18)!important;
}
body.v6-route-contacto app-contacto .contact-info h2 {
  color:#fff!important;font-size:1.75rem!important;margin-bottom:14px!important;
}
body.v6-route-contacto app-contacto .contact-info > p {
  color:rgba(255,255,255,.82)!important;line-height:1.7!important;
}
body.v6-route-contacto app-contacto .contact-info .info-list {margin-top:26px!important;gap:0!important}
body.v6-route-contacto app-contacto .contact-info .info-item {
  padding:16px 0!important;border-top:1px solid rgba(255,255,255,.16)!important;
}
body.v6-route-contacto app-contacto .contact-info .label {
  color:#ffab29!important;font-size:.76rem!important;letter-spacing:.07em!important;
}
body.v6-route-contacto app-contacto .contact-info a,
body.v6-route-contacto app-contacto .contact-info .info-item > span:last-child {color:#fff!important}

body.v6-route-contacto app-contacto .contact-form-box.card {
  padding:34px!important;background:#fff!important;border:1px solid #d6e3ee!important;
  box-shadow:0 18px 42px rgba(5,49,92,.11)!important;
}
body.v6-route-contacto app-contacto .contact-form-box h2 {color:#0b2d55!important;font-size:1.75rem!important}
body.v6-route-contacto app-contacto .field input,
body.v6-route-contacto app-contacto .field select,
body.v6-route-contacto app-contacto .field textarea {
  background:#f9fbfd!important;border:1px solid #ccdce9!important;
}
body.v6-route-contacto app-contacto .field input:focus,
body.v6-route-contacto app-contacto .field select:focus,
body.v6-route-contacto app-contacto .field textarea:focus {
  background:#fff!important;border-color:#075fae!important;box-shadow:0 0 0 3px rgba(7,95,174,.10)!important;
}
body.v6-route-contacto app-contacto .mini-cta .mini-cta-box.card {
  background:radial-gradient(circle at 90% 10%,rgba(247,147,0,.17),transparent 25%),
             linear-gradient(120deg,#062b4e,#0a4c79)!important;
  border:0!important;box-shadow:0 18px 40px rgba(4,42,79,.15)!important;
}
body.v6-route-contacto app-contacto .mini-cta .mini-cta-box h2,
body.v6-route-contacto app-contacto .mini-cta .mini-cta-box p {color:#fff!important}

/* FOOTER: logo blanco oficial */
body[class*="v6-route-"] app-footer img {
  width:190px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;
}
@media(max-width:900px){
  body.v6-route-contacto app-contacto .contact-grid{grid-template-columns:1fr!important}
}
