/* ========================================================================== 
   2CABEZA V5 · HOME FIEL + SISTEMA VISUAL PARA RUTAS INTERNAS
   Scoping deliberado: no resetea html/body ni componentes completos.
   ========================================================================== */
:root{--v5-blue:#003c82;--v5-blue2:#075fae;--v5-navy:#062a4c;--v5-orange:#f49300;--v5-ink:#102b4f;--v5-soft:#f4f8fc;--v5-line:#d9e3ed}

/* ---------- NAV GLOBAL ---------- */
.v5-nav{height:88px;background:#fff;border-bottom:1px solid #e4ebf2;position:relative;z-index:1000}
.v5-nav__inner{width:min(1420px,calc(100% - 140px));height:100%;margin:auto;display:flex;align-items:center;gap:30px}
.v5-nav__brand{width:270px;display:flex;align-items:center;flex:0 0 270px}
.v5-nav__brand img{display:block;width:246px;height:auto}
.v5-nav__links{height:100%;display:flex;align-items:center;justify-content:center;gap:37px;flex:1;min-width:0}
.v5-nav__links a{position:relative;color:#0b2e59;text-decoration:none;font:700 15px/1.1 Arial,Helvetica,sans-serif;white-space:nowrap}
.v5-nav__links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:3px;border-radius:4px;background:var(--v5-orange)}
.v5-nav__contact{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border-radius:999px;background:#00488f;color:#fff;text-decoration:none;font:800 15px/1 Arial,Helvetica,sans-serif;box-shadow:0 10px 24px rgba(0,60,130,.16);flex:0 0 auto}
.v5-nav__contact.active{box-shadow:0 0 0 3px rgba(244,147,0,.35),0 10px 24px rgba(0,60,130,.16)}
.v5-nav__menu{display:none}

/* ---------- HOME ---------- */
.v5-hero{position:relative;height:clamp(620px,calc(100svh - 208px),690px);min-height:620px;overflow:hidden;background:
linear-gradient(90deg,rgba(2,36,64,.90) 0%,rgba(2,36,64,.61) 26%,rgba(2,36,64,.16) 51%,rgba(2,36,64,.08) 100%),
linear-gradient(180deg,rgba(0,18,38,.02),rgba(0,18,38,.05) 54%,rgba(0,18,38,.28)),
url('/assets/img/v5-hero-bg.jpg') center 47%/cover no-repeat}
.v5-hero__helmet{position:absolute;z-index:1;right:0;top:-4px;width:390px;height:auto;pointer-events:none;filter:drop-shadow(0 9px 17px rgba(1,23,45,.18))}
.v5-hero__inner{position:relative;z-index:2;width:min(1420px,calc(100% - 140px));height:100%;margin:auto;padding:43px 0 30px;display:grid;grid-template-columns:minmax(520px,1.02fr) minmax(390px,.76fr);gap:72px;align-items:start}
.v5-hero__copy{max-width:560px}
.v5-hero__eyebrow{display:inline-flex;align-items:center;margin-bottom:17px;padding:7px 14px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(3,39,68,.34);color:#fff;font:700 14px/1.1 Arial,Helvetica,sans-serif;backdrop-filter:blur(7px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.v5-hero__eyebrow:before,.v5-hero__eyebrow:after{content:"";width:5px;height:5px;margin:0 7px;border-radius:50%;background:var(--v5-orange);box-shadow:0 0 9px #f49300}
.v5-hero h1{margin:0;color:#fff;font:800 58px/.92 Arial,Helvetica,sans-serif;letter-spacing:-.042em;text-shadow:0 3px 16px rgba(0,15,34,.24)}
.v5-hero__copy>p{margin:20px 0 0;max-width:555px;color:rgba(255,255,255,.96);font:400 15.5px/1.55 Arial,Helvetica,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.v5-hero__buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.v5-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;font:800 14px/1 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;transition:transform .18s ease,filter .18s ease}
.v5-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.v5-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.v5-btn--blue{background:linear-gradient(#0b6fc6,#0355a5);border:1px solid rgba(133,206,255,.78);color:#fff;box-shadow:0 9px 22px rgba(0,70,145,.24)}
.v5-btn--orange{background:linear-gradient(#ffa30e,#f28c00);border:1px solid rgba(255,203,107,.70);color:#fff;box-shadow:0 9px 22px rgba(240,136,0,.24)}
.v5-btn--outline{margin-top:11px;min-height:42px;padding:0 18px;color:#fff;border:1.5px solid rgba(255,255,255,.88);background:rgba(4,35,63,.28)}
.v5-stats{align-self:start;justify-self:end;width:424px;margin-top:86px;display:grid;gap:13px}
.v5-stats article{min-height:111px;padding:18px 22px 18px 18px;display:grid;grid-template-columns:61px 1fr;align-items:center;gap:17px;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(247,250,254,.94));border:1px solid rgba(255,255,255,.86);box-shadow:0 13px 26px rgba(0,27,57,.18);backdrop-filter:blur(10px)}
.v5-ico{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 8px 18px rgba(0,50,105,.08)}
.v5-ico svg{width:31px;height:31px;fill:currentColor}
.v5-ico--blue{color:#004b9b}.v5-ico--orange{color:#f28b00}
.v5-stats strong{display:block;margin-bottom:7px;color:#003a78;font:800 19px/1.1 Arial,Helvetica,sans-serif}
.v5-stats span{display:block;color:#173d67;font:400 14px/1.42 Arial,Helvetica,sans-serif}
.v5-strip{background:#fff;border-top:1px solid rgba(0,52,104,.08)}
.v5-strip__inner{width:min(1420px,calc(100% - 140px));min-height:120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}
.v5-cap{position:relative;padding:22px 22px;display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center}
.v5-cap+.v5-cap:before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:1px;background:#d8e0e8}
.v5-cap__ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#f2f6fb}
.v5-cap__ico svg{width:29px;height:29px;fill:currentColor;stroke:currentColor;stroke-width:1.1}
.v5-cap__ico--blue{color:#004b9b}.v5-cap__ico--orange{color:#ef8b00}
.v5-cap strong{display:block;margin-bottom:5px;color:#08396f;font:800 15px/1.15 Arial,Helvetica,sans-serif}
.v5-cap span{display:block;color:#3e5d7c;font:400 13.5px/1.4 Arial,Helvetica,sans-serif}

/* ---------- SUBPÁGINAS: HERO CON IDENTIDAD, SIN ESFERAS ---------- */
body[class*="v5-route-"]:not(.v5-route-home) app-tecnologia .page-hero,
body[class*="v5-route-"]:not(.v5-route-home) app-integracion-datos .integration-hero,
body[class*="v5-route-"]:not(.v5-route-home) app-soluciones-disponibles .page-hero,
body[class*="v5-route-"]:not(.v5-route-home) app-servicios-operacionales .page-hero,
body[class*="v5-route-"]:not(.v5-route-home) app-nosotros .page-hero,
body[class*="v5-route-"]:not(.v5-route-home) app-contacto .page-hero{position:relative!important;overflow:hidden!important;padding-top:68px!important;padding-bottom:72px!important;min-height:365px!important;background:#082f56!important}

body[class*="v5-route-"]:not(.v5-route-home) app-tecnologia .page-hero:before,
body[class*="v5-route-"]:not(.v5-route-home) app-integracion-datos .integration-hero:before,
body[class*="v5-route-"]:not(.v5-route-home) app-soluciones-disponibles .page-hero:before,
body[class*="v5-route-"]:not(.v5-route-home) app-servicios-operacionales .page-hero:before,
body[class*="v5-route-"]:not(.v5-route-home) app-nosotros .page-hero:before,
body[class*="v5-route-"]:not(.v5-route-home) app-contacto .page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.95}

/* Tecnología: circuito azul */
body.v5-route-tecnologia app-tecnologia .page-hero,
body.v5-route-integracion-de-datos app-integracion-datos .integration-hero{background:linear-gradient(125deg,#062947 0%,#07477d 56%,#0d6ba5 100%)!important}
body.v5-route-tecnologia app-tecnologia .page-hero:before,
body.v5-route-integracion-de-datos app-integracion-datos .integration-hero:before{background:radial-gradient(circle at 82% 22%,rgba(56,186,255,.28),transparent 23%),radial-gradient(circle at 67% 76%,rgba(244,147,0,.20),transparent 19%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,auto,34px 34px,34px 34px}

/* Servicios: acero + energía naranja */
body.v5-route-servicios-operacionales app-servicios-operacionales .page-hero{background:linear-gradient(125deg,#092b48 0%,#21445d 52%,#6d4b25 100%)!important}
body.v5-route-servicios-operacionales app-servicios-operacionales .page-hero:before{background:radial-gradient(circle at 82% 30%,rgba(255,159,31,.38),transparent 25%),repeating-linear-gradient(118deg,transparent 0 46px,rgba(255,255,255,.045) 47px 48px),linear-gradient(90deg,rgba(0,0,0,.12),transparent 58%)}

/* Soluciones: red/data */
body.v5-route-soluciones-disponibles app-soluciones-disponibles .page-hero{background:linear-gradient(120deg,#071f3f 0%,#17376e 55%,#244e83 100%)!important}
body.v5-route-soluciones-disponibles app-soluciones-disponibles .page-hero:before{background:radial-gradient(circle at 78% 28%,rgba(79,159,255,.30),transparent 20%),radial-gradient(circle at 90% 82%,rgba(244,147,0,.24),transparent 17%),repeating-radial-gradient(circle at 77% 43%,rgba(255,255,255,.08) 0 1px,transparent 2px 36px)}

/* Nosotros: institucional con amanecer */
body.v5-route-nosotros app-nosotros .page-hero{background:linear-gradient(120deg,#082a4d 0%,#0e4979 60%,#8b5a22 100%)!important}
body.v5-route-nosotros app-nosotros .page-hero:before{background:radial-gradient(circle at 83% 18%,rgba(255,178,74,.45),transparent 24%),linear-gradient(135deg,transparent 0 61%,rgba(255,255,255,.055) 61% 62%,transparent 62% 100%)}

/* Contacto: conexión humana/digital */
body.v5-route-contacto app-contacto .page-hero{background:linear-gradient(120deg,#062745 0%,#0a3f70 58%,#0d5688 100%)!important}
body.v5-route-contacto app-contacto .page-hero:before{background:radial-gradient(circle at 78% 35%,rgba(45,177,255,.32),transparent 21%),radial-gradient(circle at 90% 78%,rgba(244,147,0,.22),transparent 17%),repeating-linear-gradient(35deg,transparent 0 72px,rgba(255,255,255,.035) 73px 74px)}

/* Texto de héroes internos */
body[class*="v5-route-"]:not(.v5-route-home) .page-hero>.container,
body.v5-route-integracion-de-datos .integration-hero>.container{position:relative;z-index:2}
body[class*="v5-route-"]:not(.v5-route-home) .page-hero .eyebrow,
body.v5-route-integracion-de-datos .integration-hero .eyebrow{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.17)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
body[class*="v5-route-"]:not(.v5-route-home) .page-hero .section-title,
body.v5-route-integracion-de-datos .integration-hero h1{color:#fff!important;text-shadow:0 3px 18px rgba(0,19,39,.18)}
body[class*="v5-route-"]:not(.v5-route-home) .page-hero .section-lead,
body.v5-route-integracion-de-datos .integration-hero p{color:rgba(255,255,255,.86)!important;max-width:1120px!important}

/* Secciones interiores menos "hospital": profundidad y alternancia sutil */
body.v5-route-tecnologia app-tecnologia>section:not(.page-hero),
body.v5-route-integracion-de-datos app-integracion-datos>section:not(.integration-hero),
body.v5-route-servicios-operacionales app-servicios-operacionales>section:not(.page-hero),
body.v5-route-soluciones-disponibles app-soluciones-disponibles>section:not(.page-hero),
body.v5-route-nosotros app-nosotros>section:not(.page-hero),
body.v5-route-contacto app-contacto>section:not(.page-hero){background:linear-gradient(180deg,#f7faff 0%,#fff 42%,#fbfcfe 100%)}

body[class*="v5-route-"]:not(.v5-route-home) .card{border-color:#d9e4ee!important;box-shadow:0 14px 34px rgba(0,52,105,.08)!important;background:rgba(255,255,255,.96)!important}
body[class*="v5-route-"]:not(.v5-route-home) .service-card,
body[class*="v5-route-"]:not(.v5-route-home) .solution-card,
body[class*="v5-route-"]:not(.v5-route-home) .contact-info,
body[class*="v5-route-"]:not(.v5-route-home) .contact-form-box,
body[class*="v5-route-"]:not(.v5-route-home) .focus-box,
body[class*="v5-route-"]:not(.v5-route-home) .value-box,
body[class*="v5-route-"]:not(.v5-route-home) .portfolio-box{transition:transform .18s ease,box-shadow .18s ease}
body[class*="v5-route-"]:not(.v5-route-home) .service-card:hover,
body[class*="v5-route-"]:not(.v5-route-home) .solution-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,52,105,.12)!important}

/* HOME: deja intacto el resto del contenido Angular bajo la franja */
body.v5-route-home app-home>[data-v5-strip]+section{background:linear-gradient(180deg,#f5f8fc 0%,#fff 100%)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1280px){
  .v5-nav__inner,.v5-hero__inner,.v5-strip__inner{width:min(1160px,calc(100% - 48px))}
  .v5-nav__brand{width:230px;flex-basis:230px}.v5-nav__brand img{width:218px}.v5-nav__links{gap:24px}
  .v5-hero__inner{grid-template-columns:minmax(480px,1fr) 380px;gap:38px}.v5-hero h1{font-size:54px}.v5-stats{width:380px}.v5-hero__helmet{width:350px}
  .v5-cap{padding-left:16px;padding-right:16px;gap:12px}
}
@media(max-width:960px){
  .v5-nav{height:auto}.v5-nav__inner{padding:13px 0;flex-wrap:wrap}.v5-nav__brand{width:auto;flex:1}.v5-nav__brand img{width:205px}.v5-nav__contact{height:46px;padding:0 20px}
  .v5-nav__menu{display:flex;width:44px;height:44px;border:0;background:#f2f6fb;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.v5-nav__menu span{width:20px;height:2px;background:#07396f}
  .v5-nav__links{order:3;width:100%;height:auto;display:none;overflow:auto;justify-content:flex-start;padding:10px 0 3px;gap:24px}.v5-nav__links.open{display:flex}.v5-nav__links a.active:after{bottom:-6px}
  .v5-hero{height:auto;min-height:0;background-position:52% center}.v5-hero__inner{height:auto;min-height:0;grid-template-columns:1fr;padding:45px 0}.v5-hero__copy{max-width:640px}.v5-hero h1{font-size:55px}.v5-stats{justify-self:start;width:min(100%,640px);margin-top:12px}.v5-hero__helmet{width:330px;opacity:.48;right:-80px}
  .v5-strip__inner{grid-template-columns:repeat(2,1fr)}.v5-cap:nth-child(3),.v5-cap:nth-child(4){border-top:1px solid #e1e7ee}
}
@media(max-width:640px){
  .v5-nav__inner{width:calc(100% - 28px)}.v5-nav__brand img{width:184px}
  .v5-hero__inner{width:calc(100% - 28px);padding:34px 0}.v5-hero h1{font-size:43px}.v5-hero__copy>p{font-size:15px}.v5-hero__buttons{flex-direction:column}.v5-btn{width:100%}.v5-hero__helmet{display:none}.v5-stats article{grid-template-columns:54px 1fr;padding:16px;border-radius:19px}.v5-ico{width:50px;height:50px}
  .v5-strip__inner{width:100%;grid-template-columns:1fr}.v5-cap{border-top:1px solid #e1e7ee}.v5-cap:first-child{border-top:0}.v5-cap+.v5-cap:before{display:none}
  body[class*="v5-route-"]:not(.v5-route-home) app-tecnologia .page-hero,
  body[class*="v5-route-"]:not(.v5-route-home) app-integracion-datos .integration-hero,
  body[class*="v5-route-"]:not(.v5-route-home) app-soluciones-disponibles .page-hero,
  body[class*="v5-route-"]:not(.v5-route-home) app-servicios-operacionales .page-hero,
  body[class*="v5-route-"]:not(.v5-route-home) app-nosotros .page-hero,
  body[class*="v5-route-"]:not(.v5-route-home) app-contacto .page-hero{padding-top:48px!important;padding-bottom:52px!important;min-height:310px!important}
}
