/* Página API — Versión 1. Ajuste de index con menú fijo y bloque institucional. */
:root{--navy:#061321;--navy2:#0b1b2c;--navy3:#14273b;--orange:#f0942d;--orange-hover:#ffa348;--ink:#091827;--grey:#ecf0f3;--white:#fff;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Raleway,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-70px;background:white;padding:12px;z-index:9999}.skip-link:focus{top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:15px 22px;font-weight:800;font-size:.96rem;transition:background .2s,transform .2s;line-height:1.1}.btn:hover{transform:translateY(-2px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.btn-orange{background:var(--orange);color:#fff;box-shadow:0 5px 14px #0002}.btn-orange:hover{background:var(--orange-hover)}
.site-header{position:relative;min-height:720px;background:var(--navy);color:white;isolation:isolate;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block}.hero-shade{background:linear-gradient(90deg,rgba(3,12,22,.94) 0%,rgba(3,12,22,.66) 43%,rgba(3,12,22,.15) 83%),linear-gradient(0deg,rgba(3,12,22,.86),transparent 33%,rgba(3,12,22,.45))}.topbar{color:#f7f9fc;position:fixed;inset:0 0 auto 0;width:100%;height:110px;z-index:9999;background:rgba(4,17,31,.20);transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}.topbar.is-scrolled{background:rgba(4,17,31,.94);box-shadow:0 6px 24px rgba(0,0,0,.24);backdrop-filter:blur(10px)}.site-header-inner{display:flex;align-items:center;gap:32px;height:110px;position:relative;z-index:1;padding-block:10px}.brand{display:block;flex:0 0 210px}.brand img{width:200px;display:block}.main-nav{display:flex;align-items:center;justify-content:center;gap:31px;flex:1}.main-nav a{font-weight:700;font-size:.95rem;white-space:nowrap;position:relative;padding-block:10px}.main-nav a:hover,.main-nav .is-active{color:white}.main-nav a.is-active::after,.main-nav a:hover::after{content:"";position:absolute;bottom:0;left:0;right:0;background:var(--orange);height:3px;border-radius:2px}.nav-cta{flex:0 0 auto;max-width:230px}.chat-icon{font-size:1.2rem}.menu-toggle{display:none}.hero-copy{padding-top:160px;padding-bottom:75px;position:relative;z-index:1}.hero-eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:#e8edf2;font-weight:700}.hero-copy h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.06;letter-spacing:-.04em;font-weight:600;margin:22px 0}.hero-copy h1 strong{color:var(--orange);font-weight:900}.short-line,.section-rule{width:90px;height:5px;border-radius:5px;background:var(--orange)}.hero-copy p{font-size:clamp(1.18rem,2vw,1.65rem);max-width:460px;line-height:1.4;margin:18px 0 28px}.hero-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(3,13,24,.58);border:1px solid #ffffff26;border-radius:18px;backdrop-filter:blur(9px);margin-bottom:32px;padding:18px 12px}.benefit{display:flex;align-items:center;justify-content:center;gap:15px;padding:2px 20px;border-right:1px solid #ffffff80}.benefit:last-child{border:0}.benefit-icon{font-size:2.4rem;color:var(--orange);line-height:1}.benefit b,.benefit small{display:block}.benefit b{font-size:1.13rem}.benefit small{font-size:.91rem;line-height:1.5}.video-control{position:absolute;right:18px;bottom:12px;border:1px solid #fff6;background:#081525b0;color:#fff;border-radius:30px;padding:6px 12px;cursor:pointer;font-size:13px}
.section{padding:60px 0 70px}.section-kicker{color:#e87d14;font-weight:900;letter-spacing:.03em;text-align:center;margin:0 0 8px}.section-kicker-left{text-align:left}.section-rule{margin:20px auto 35px;width:95px;height:4px}.section-rule-left{margin:20px 0 28px}.about-intro{background:#f4f6f8}.about-layout{display:grid;grid-template-columns:1fr 1.02fr;gap:42px;align-items:center}.about-copy h2{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.04em;line-height:1.12;margin:0;color:var(--ink)}.about-copy p{font-size:1.05rem;line-height:1.75;margin:0 0 16px;max-width:660px}.about-photo-card{position:relative;overflow:hidden;border-radius:28px;background:#0a1622;box-shadow:0 16px 35px rgba(0,0,0,.15);min-height:430px}.about-photo-card img{display:block;width:100%;height:100%;object-fit:cover}
.services h2{text-align:center;font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.03em;margin:0}.services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.service-card{position:relative;overflow:hidden;min-height:230px;border-radius:17px;background:#071727;isolation:isolate;box-shadow:0 7px 22px #1112}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s}.service-card::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#03101df0);z-index:-1}.service-card:hover img{transform:scale(1.05)}.service-card h3{position:absolute;bottom:14px;left:8px;right:8px;color:#fff;text-align:center;line-height:1.2;font-size:1.15rem;text-shadow:0 2px 7px #0009;margin:0}
.technology{background:#041321;color:white;overflow:hidden}.technology-layout{display:grid;grid-template-columns:1.1fr .9fr;min-height:275px;align-items:stretch}.technology-visual{background-image:linear-gradient(90deg,transparent 70%,#041321),url('../assets/img/tecnologia-demo.webp');background-position:center;background-size:cover;margin-left:calc((min(100vw, var(--max) + 96px) - 100vw)/2)}.technology-copy{padding:45px 0 40px 55px}.technology h2{font-size:clamp(1.8rem,3vw,2.55rem);font-weight:600;line-height:1.15;margin:0 0 22px}.technology h2 em{font-weight:900;font-style:italic;color:var(--orange)}.technology ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.technology li{position:relative;padding-left:30px;font-size:1.03rem}.technology li::before{content:"✓";position:absolute;left:0;top:0;color:var(--orange);font-weight:900;border:1.5px solid currentColor;border-radius:50%;width:21px;height:21px;text-align:center;line-height:18px}
.trust-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:42px}.trust-text h2{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;margin:0 0 13px}.trust-text p{max-width:640px;line-height:1.65;font-size:1.02rem;margin:0}.trust-values{display:flex;border-left:3px solid var(--orange);justify-content:space-around;gap:18px;padding:0 0 0 28px}.trust-values div{text-align:center;display:grid;justify-items:center;gap:7px}.trust-values span{font-size:2.6rem;line-height:1.1}.trust-values b{font-size:1rem}
.contact-section{background:#e9edf1;padding:45px 0}.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-section h2{margin:4px 0 12px;font-size:clamp(1.8rem,3vw,2.6rem)}.contact-section p:last-child{max-width:680px;line-height:1.5}.contact-actions{max-width:255px;display:grid;gap:12px;text-align:center}.contact-actions small{line-height:1.4;color:#42526e}
.footer-map{background:#f0f2f4;padding:35px 0}.footer-grid{display:grid;grid-template-columns:1.3fr .75fr 1.35fr 1fr 1fr;gap:27px}.footer-brand{border-right:1px solid #b3c0ca;padding-right:28px}.footer-brand img{display:block;max-width:185px;filter:brightness(.17) saturate(1.7);margin-bottom:8px}.footer-brand .btn-small{padding:12px 15px;font-size:.77rem}.footer-grid h3{margin:0 0 13px;font-size:1rem}.footer-grid a:not(.btn),.footer-grid span{display:block;font-size:.83rem;line-height:1.8}.footer-grid a:hover{text-decoration:underline;text-decoration-color:var(--orange)}.footer-bottom{background:#051422;color:#fff;text-align:center;padding:23px 0;font-size:.88rem}.footer-bottom .wrap::before,.footer-bottom .wrap::after{content:"";display:inline-block;width:17%;max-width:250px;height:1px;background:#fff8;vertical-align:middle;margin:0 25px}
@media (max-width:1100px){.wrap{width:min(calc(100% - 56px),var(--max))}.site-header-inner{gap:15px}.brand{flex-basis:170px}.brand img{width:170px}.main-nav{gap:19px}.main-nav a{font-size:.86rem}.nav-cta{font-size:.8rem;padding:13px 14px}.benefit{padding:0 10px}.about-layout{grid-template-columns:1fr}.about-photo-card{min-height:380px}}
@media (max-width:820px){.site-header{min-height:auto}.topbar,.site-header-inner{height:95px}.brand{margin-right:auto}.menu-toggle{display:grid;gap:5px;border:0;background:#061321b8;border-radius:8px;padding:12px;cursor:pointer;z-index:2}.menu-toggle span{display:block;width:24px;height:2px;background:#fff}.main-nav{display:none;position:absolute;top:calc(100% - 5px);left:0;right:0;background:#071727f5;padding:20px;flex-direction:column;align-items:stretch;gap:5px;border-radius:10px;box-shadow:0 14px 25px #0006}.main-nav.is-open{display:flex}.nav-cta{display:none}.hero-copy{padding-top:140px;padding-bottom:65px}.hero-benefits{grid-template-columns:repeat(2,1fr);gap:14px}.benefit:nth-child(2){border:0}.services-grid{grid-template-columns:repeat(3,1fr)}.technology-layout{grid-template-columns:1fr}.technology-visual{min-height:240px;margin-inline:-28px;background-image:linear-gradient(0deg,#041321,transparent 55%),url('../assets/img/tecnologia-demo.webp')}.technology-copy{padding:15px 0 40px}.trust-layout{grid-template-columns:1fr}.trust-values{padding-top:15px;padding-bottom:15px}.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-brand{border:0}.footer-bottom .wrap::before,.footer-bottom .wrap::after{display:none}}
@media (max-width:560px){.wrap{width:calc(100% - 36px)}.topbar,.site-header-inner{height:85px}.site-header-inner{width:calc(100% - 24px)}.brand{flex-basis:auto}.brand img{width:150px}.hero-media video{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#04111fdf,#04111f82),linear-gradient(0deg,#04111fd9,transparent 45%)}.hero-copy{padding-top:125px;padding-bottom:65px}.hero-copy h1{font-size:clamp(2.5rem,10vw,3.7rem)}.hero-copy p{font-size:1.18rem}.hero-benefits{padding:13px 4px;gap:9px;margin-bottom:40px}.benefit{justify-content:flex-start;gap:7px;padding:4px 7px}.benefit-icon{font-size:1.7rem}.benefit b{font-size:.9rem}.benefit small{font-size:.77rem}.about-photo-card{min-height:290px}.services-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-card{min-height:210px}.service-card:last-child{grid-column:1/-1;min-height:190px}.section{padding:42px 0}.trust-values{gap:10px;padding-left:16px}.trust-values b{font-size:.8rem}.trust-values span{font-size:2rem}.contact-layout{display:block}.contact-actions{max-width:none;margin-top:25px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.footer-brand{grid-column:1/-1}.footer-map{padding:32px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Ajuste de contraste: navegación siempre legible sobre azul oscuro. */
.topbar .main-nav a{color:#f7f9fc}
.topbar .main-nav a:hover,.topbar .main-nav a.is-active{color:#fff}
.topbar .nav-cta{color:#fff}

/* Ajuste del bloque institucional: experiencia, certificación y foto completa. */
.about-experience{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35em .55em;margin:12px 0 12px!important;line-height:1.1!important;color:var(--ink)}
.about-experience strong{font-size:clamp(2.8rem,5vw,4.8rem);font-weight:900;letter-spacing:-.05em;color:var(--orange)}
.about-experience span{font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:700}
.about-copy h2{font-size:clamp(1.7rem,2.4vw,2.45rem)}
.about-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:24px}
.about-more{white-space:nowrap}
.about-iso{width:190px;max-width:100%;height:auto;display:block}
/* El aspecto natural de la foto evita recortes verticales y laterales. */
.about-photo-card{min-height:0!important;aspect-ratio:1672 / 941;align-self:center}
.about-photo-card img{position:static;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:560px){.about-actions{gap:16px}.about-iso{width:170px}.about-experience{display:block}.about-experience span{display:block;margin-top:5px}}

/* Emblema ATC proporcionado por API; no identifica certificación ISO 9001. */
.about-atc{display:block;width:105px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:560px){.about-atc{width:85px}}


/* POR QUÉ ELEGIR API: banda de ancho completo sobre azul noche,
   imagen C5 difuminada que se desvanece hacia el fondo sin bordes. */
.advantages{position:relative;isolation:isolate;overflow:hidden;background:#061321;color:#f7f9fc;padding:80px 0 88px}
.advantages::before{display:none}
.advantages::after{display:none}
/* Imagen C5 exclusivamente dentro de la columna central del contenido. */
.advantages-content{position:relative;z-index:1;isolation:isolate;padding:24px 26px 26px}
.advantages-content::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../assets/img/fondo-c5-demo.webp') center center / cover no-repeat;opacity:.95;mask-image:radial-gradient(ellipse 82% 75% at center,#000 35%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 82% 75% at center,#000 35%,transparent 100%)}
.advantages-content::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,19,33,.42),rgba(6,19,33,.23) 50%,rgba(6,19,33,.42));pointer-events:none}
.advantages-heading{text-align:center;max-width:1040px;margin:0 auto 54px}
.advantages-heading .section-kicker{color:var(--orange);font-size:.96rem;letter-spacing:.07em}
.advantages-rule{height:3px;width:92px;border-radius:2px;background:var(--orange);margin:14px auto 21px}
.advantages-heading h2{font-size:clamp(1.85rem,3.35vw,3.05rem);line-height:1.17;letter-spacing:-.025em;margin:0 0 15px;color:#fff;font-weight:850}
.advantages-heading>p:last-child{font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.5;margin:0;color:#e6ebf1}
.advantages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,8vw,130px);row-gap:40px;max-width:1100px;margin-inline:auto}
.advantage-item{min-width:0}
.advantage-item svg{display:block;height:39px;width:39px;fill:none;stroke:var(--orange);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin:0 0 13px}
.advantage-item h3{color:#fff;font-size:clamp(1.2rem,1.75vw,1.7rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}
.advantage-item p{margin:0;color:#e2e9f1;line-height:1.55;font-size:clamp(.98rem,1.25vw,1.16rem)}
@media(max-width:680px){.advantages{padding:55px 0 60px}.advantages-heading{margin-bottom:40px}.advantages-grid{grid-template-columns:1fr;row-gap:29px}.advantage-item svg{width:34px;height:34px;margin-bottom:8px}.advantages-content{padding:15px 0}.advantages-content::before{opacity:.65}.advantages-content::after{background:rgba(6,19,33,.38)}}

/* Página API · Ajuste puntual de densidad visual en «Por qué elegir API».
   Mantiene el fondo C5 centrado, los colores y las demás secciones intactas. */
.advantages { padding: 45px 0 50px; }
.advantages-content { padding: 16px 25px 18px; }
.advantages-heading { margin-bottom: 26px; }
.advantages-heading .section-kicker { font-size: .8rem; }
.advantages-rule { margin: 10px auto 14px; width: 70px; }
.advantages-heading h2 { font-size: clamp(1.5rem, 2.45vw, 2.2rem); line-height: 1.2; margin-bottom: 10px; }
.advantages-heading > p:last-child { font-size: clamp(.88rem, 1.1vw, 1rem); line-height: 1.45; }
.advantages-grid { row-gap: 22px; column-gap: clamp(28px, 5vw, 85px); }
.advantage-item svg { width: 28px; height: 28px; margin-bottom: 7px; }
.advantage-item h3 { font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.2; margin-bottom: 5px; }
.advantage-item p { font-size: clamp(.85rem, 1vw, .95rem); line-height: 1.4; }
@media (max-width: 680px) {
  .advantages { padding: 38px 0 43px; }
  .advantages-content { padding: 12px 0 14px; }
  .advantages-heading { margin-bottom: 24px; }
  .advantages-grid { row-gap: 20px; }
  .advantage-item svg { width: 27px; height: 27px; margin-bottom: 6px; }
}

/* Página API — Ajuste C5: imagen más nítida y ajustada al alto del contenido.
   Solo afecta la sección de ventajas; conserva los laterales azul noche. */
.advantages-content::before {
  background-position: center center;
  background-size: auto 100%; /* alto exacto de la columna de contenido */
  background-repeat: no-repeat;
  opacity: 1;
  /* El desvanecido se limita a los bordes: la fotografía es más visible. */
  mask-image: radial-gradient(ellipse 110% 115% at center, #000 75%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 110% 115% at center, #000 75%, transparent 100%);
}
.advantages-content::after {
  background: linear-gradient(90deg,
    rgba(6,19,33,.22) 0%, rgba(6,19,33,.13) 50%, rgba(6,19,33,.22) 100%);
}
@media (max-width: 680px) {
  .advantages-content::before {
    background-size: auto 100%;
    opacity: .9;
  }
  .advantages-content::after {
    background: rgba(6,19,33,.3);
  }
}

/* AJUSTE FINAL C5: la imagen rellena el RECTÁNGULO de texto; laterales lisos.
   La fuente WebP es una versión más definida, sin desenfoque agregado por CSS. */
.advantages { background-color: #061321; }
.advantages-content { position: relative; isolation: isolate; overflow: hidden; }
.advantages-content::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background-image: url('../assets/img/fondo-c5-demo.webp');
  background-position: center center; background-size: cover; background-repeat: no-repeat;
  opacity: 1; filter: none; backdrop-filter: none;
  mask-image: none; -webkit-mask-image: none;
}
.advantages-content::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: rgba(6,19,33,.7);
}
@media (max-width: 680px) {
  .advantages-content::before { background-size: cover; background-position: 54% center; opacity: 1; }
  .advantages-content::after { background: rgba(6,19,33,.7); }
}

/* Página API — Ajuste de la altura de «Por qué elegir API».
   La sección debe terminar exactamente donde acaba el rectángulo central,
   sin las franjas extra de padding arriba y abajo. */
.advantages.section {
  padding-block: 0;
}
@media (max-width: 680px) {
  .advantages.section {
    padding-block: 0;
  }
}

/* Página API — Tarjetas de servicios interactivas (misma Versión 1) */
.services-grid > a.service-card{display:block;color:#fff;cursor:pointer;outline-offset:4px;}
.service-card img{transition:filter .32s ease,transform .35s ease;}
.service-card::after{transition:background .32s ease,opacity .32s ease;}
@media (hover:hover) and (pointer:fine){
  .service-card:hover img{filter:brightness(1.33) saturate(1.09);transform:scale(1.045);}
  .service-card:hover::after{opacity:.74;}
}
.service-card:focus-visible{outline:3px solid var(--orange);}
.service-card:focus-visible img{filter:brightness(1.33) saturate(1.09);transform:scale(1.045);}
.service-card:focus-visible::after{opacity:.74;}
@media (prefers-reduced-motion:reduce){
  .service-card img,.service-card::after{transition:none;}
}

/* ============================================================
   Página API — Versión 1 | Cobertura y respaldo institucional
   Misma estructura visual compacta que «Por qué elegir API»:
   sección ancho completo, laterales azul noche y área central.
   El mapa es ilustrativo; no representa sucursales verificadas.
   ============================================================ */
.coverage.section{padding:0;background:#061321;color:#fff;overflow:hidden}
.coverage-content{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);align-items:center;gap:28px;min-height:475px;padding:26px 26px 26px 30px;background:#061321}
.coverage-copy{position:relative;z-index:2;max-width:680px}
.coverage .section-kicker{color:#f0942d;text-align:left;font-size:.8rem;letter-spacing:.07em;margin:0 0 8px}
.coverage-rule{width:66px;height:3px;background:#f0942d;margin:0 0 14px}
.coverage h2{color:#fff;font-size:clamp(1.65rem,2.25vw,2.15rem);line-height:1.18;margin:0 0 13px;font-weight:850}
.coverage-lead{font-size:.95rem;line-height:1.47;color:#e1eaf3;margin:0 0 22px;max-width:610px}
.coverage-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 13px;margin:0 0 21px}
.coverage-point{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:12px 11px;background:rgba(15,45,72,.57);border:1px solid rgba(165,197,223,.18);border-radius:10px}
.coverage-icon{display:grid;place-items:center;color:#f0942d;border:1px solid rgba(240,148,45,.45);border-radius:8px;width:29px;height:29px;flex:0 0 29px;font-weight:800;font-size:1.15rem;line-height:1}
.coverage-point h3{font-size:.92rem;color:#fff;margin:0 0 4px;line-height:1.2;font-weight:800}
.coverage-point p{font-size:.77rem;color:#d5e2ef;line-height:1.35;margin:0}
.coverage-cta{display:inline-flex;align-items:center;gap:16px;font-size:.87rem;padding:12px 18px}
.coverage-map{position:relative;align-self:center;justify-self:center;width:100%;max-width:560px;min-height:360px;background:url('../assets/img/mapa-cobertura-api.webp') center center/contain no-repeat;filter:none}
.coverage-map::after{display:none}
@media(max-width:900px){.coverage-content{grid-template-columns:1fr;gap:10px;padding:25px 22px}.coverage-copy{max-width:none}.coverage-map{max-width:500px;min-height:280px}.coverage h2{max-width:720px}}
@media(max-width:560px){.coverage-content{padding:23px 15px 17px}.coverage h2{font-size:clamp(1.42rem,6vw,1.85rem)}.coverage-lead{font-size:.87rem}.coverage-points{gap:9px;grid-template-columns:1fr 1fr}.coverage-point{padding:9px 7px;gap:6px}.coverage-icon{width:23px;height:23px;flex-basis:23px;font-size:1rem}.coverage-point h3{font-size:.79rem}.coverage-point p{font-size:.7rem}.coverage-map{max-width:100%;min-height:220px}.coverage-cta{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){.coverage-cta{scroll-behavior:auto}}


/* Formulario de contacto — Página API Versión 1 (fondo claro) */
.contact-section{background:#edf2f6;padding:66px 0 72px;color:#10243a}
.contact-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:64px}
.contact-intro{padding-top:32px}
.contact-intro .section-kicker{color:#eb881e;font-weight:800;letter-spacing:.08em;font-size:.81rem;margin-bottom:8px}
.contact-rule{width:68px;height:3px;background:#f0942d;margin:0 0 24px}
.contact-section .contact-intro h2{font-size:clamp(1.95rem,3vw,2.7rem);line-height:1.14;max-width:470px;letter-spacing:-.025em;margin:0 0 17px}
.contact-intro>p{color:#4a5f70;line-height:1.65;font-size:.97rem;max-width:465px}
.contact-detail{display:flex;align-items:start;gap:11px;font-size:.93rem;font-weight:600;margin-top:16px;color:#233c52}
.contact-detail>span:first-child{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;background:#fff2e4;border-radius:100%;color:#d97915;font-weight:900}
.contact-intro .contact-call{margin-top:28px;font-size:.92rem}
.contact-call a{color:#bf6813;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.contact-form-panel{background:#fff;border:1px solid #dce5ed;border-radius:17px;box-shadow:0 16px 42px rgba(3,20,39,.08);padding:30px 32px}
.contact-form-panel h3{margin:0 0 7px;color:#061321;font-size:1.38rem}
.contact-form-panel .contact-form-subtitle{margin:0 0 22px;color:#617283;font-size:.88rem;line-height:1.5}
.contact-form{display:grid;gap:17px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.form-field label{font-size:.87rem;font-weight:750;color:#24374b}
.form-field label span{color:#c66f12}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid #bdcad5;border-radius:9px;background:#f9fbfc;color:#061321;padding:12px 13px;font:inherit;font-size:.91rem;outline:none;transition:border-color .15s,box-shadow .15s}
.form-field textarea{min-height:113px;resize:vertical;line-height:1.5}
.form-field input:focus,.form-field textarea:focus{border-color:#dc861e;box-shadow:0 0 0 3px #f0942d20;background:#fff}
.form-field input::placeholder,.form-field textarea::placeholder{color:#8995a2}
.contact-privacy{display:grid;gap:7px}
.contact-checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:#40546a;line-height:1.5}
.contact-checkbox-label input{accent-color:#d98219;width:16px;height:16px;flex-shrink:0;margin-top:3px}
.contact-privacy a{color:#a95e0e;text-decoration:underline;text-underline-offset:2px;font-weight:750}
.contact-privacy-link{font-size:.8rem;justify-self:start;margin-left:26px}
.contact-captcha{min-height:66px}
.contact-submit{width:100%;border:0;cursor:pointer;min-height:48px;border-radius:9px}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-feedback{border-radius:8px;margin:0;padding:12px;font-size:.85rem;line-height:1.5}
.contact-feedback.is-error{background:#fff2f0;border:1px solid #e8b3ac;color:#903021}
.contact-feedback.is-success{background:#e8f5ea;border:1px solid #abd6b2;color:#256234}
.contact-footnote{color:#718091;font-size:.75rem;margin:0!important}
.contact-hidden-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:25px}.contact-intro{padding-top:0}.contact-form-panel{max-width:750px;width:100%}}
@media(max-width:560px){.contact-section{padding:46px 0 54px}.contact-form-panel{padding:23px 18px}.contact-form-row{grid-template-columns:1fr;gap:17px}.contact-section .contact-intro h2{font-size:1.93rem}.contact-layout{gap:22px}}

/* WhatsApp de Ventas: solo botón circular flotante, sin panel ni leyenda. */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:9997;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;text-decoration:none;background:#25d366;box-shadow:0 5px 16px rgba(0,0,0,.24);transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float-icon{display:grid;place-items:center;width:100%;height:100%;color:#fff}
.whatsapp-float-icon svg{width:29px;height:29px}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 8px 20px rgba(0,0,0,.28)}
.whatsapp-float:focus-visible{outline:3px solid #f0942d;outline-offset:4px}
@media(max-width:600px){.whatsapp-float{right:16px;bottom:16px;width:52px;height:52px}.whatsapp-float-icon svg{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Página API — Versión 1 | Pie de página compacto, noviembre 2026
   Fondo del mapa de sitio ligeramente más oscuro que Contacto (#edf2f6).
   Sin cambios en enlaces, logo, formulario ni WhatsApp. */
.footer-map{
  background:#dfe6ec;
  padding:22px 0 23px;
}
.footer-grid{
  gap:18px;
  align-items:start;
}
.footer-brand{
  padding-right:18px;
}
.footer-brand img{
  max-width:150px;
  height:auto;
  margin-bottom:6px;
}
.footer-brand .btn-small{
  padding:9px 12px;
  font-size:.73rem;
  border-radius:8px;
}
.footer-grid h3{
  margin:0 0 7px;
  font-size:.88rem;
}
.footer-grid a:not(.btn),.footer-grid span{
  font-size:.76rem;
  line-height:1.52;
}
.footer-bottom{
  background:#051422;
  padding:10px 0;
  font-size:.73rem;
  line-height:1.35;
}
.footer-bottom .wrap::before,.footer-bottom .wrap::after{
  width:10%;
  margin:0 14px;
}
@media(max-width:820px){
  .footer-grid{gap:18px;}
}
@media(max-width:560px){
  .footer-map{padding:20px 0 21px;}
  .footer-grid{gap:17px 14px;}
  .footer-brand{padding-right:0;}
  .footer-brand img{max-width:140px;}
  .footer-bottom{padding:9px 12px;font-size:.7rem;}
}

/* Banner principal: solo video; sin textos, degradados ni barra de ventajas. */
.site-header{height:100vh;height:100svh;min-height:0}
.hero-media{position:absolute;inset:0;z-index:-1}
.hero-media video{width:100%;height:100%;object-fit:cover}
.content-anchor{position:absolute;scroll-margin-top:110px}


/* ==========================================================
   PÁGINA API — VERSIÓN 1 · TEMA AZUL NOCHE INTEGRAL
   Diseño aprobado en la vista conceptual del 08-11-2026.
   Sobrescribe exclusivamente la presentación: no modifica
   comportamiento, validación de formulario ni enlaces.
   ========================================================== */
:root{
  --api-night:#061321;
  --api-night-panel:#0c2034;
  --api-night-input:#233a50;
  --api-text:#e2e8f0;
  --api-text-muted:#bccbd9;
  --api-border:rgba(182,209,232,.18);
}
html{background:var(--api-night)}
body{background:var(--api-night);color:var(--api-text)}
/* El video y la barra de navegación conservan su apariencia. */
.about-intro,
.services.section,
.contact-section,
.footer-map,
.footer-bottom{
  background:var(--api-night);
  color:var(--api-text);
}
/* Institucional: letras grises y fotografía original. */
.about-copy h2,
.about-copy p,
.about-experience,
.about-experience span{
  color:var(--api-text);
}
.about-experience strong{color:var(--orange)}
.about-copy>p:not(.section-kicker):not(.about-experience){color:var(--api-text-muted)}
.about-photo-card{background:var(--api-night-panel);box-shadow:0 14px 36px rgba(0,0,0,.22)}
/* Ventajas y servicios: títulos luminosos, sin bloques blancos. */
.advantages{background:var(--api-night)}
.advantages-heading h2{color:var(--api-text)}
.advantages-heading>p:last-child{color:var(--api-text-muted)}
.services h2{color:var(--api-text)}
.services .section-kicker{color:var(--orange)}
/* La sección de cobertura ya es azul noche; reforzamos los grises. */
.coverage.section,
.coverage-content{background:var(--api-night)}
.coverage h2{color:var(--api-text)}
.coverage-lead,.coverage-point p{color:var(--api-text-muted)}
.coverage-point{background:var(--api-night-panel);border-color:var(--api-border)}
.coverage-point h3{color:var(--api-text)}
/* Contacto: adaptar los dos lados y el formulario sin cambiar campos. */
.contact-section{background:var(--api-night);color:var(--api-text)}
.contact-section .contact-intro h2,
.contact-intro>p,
.contact-detail,
.contact-intro .contact-call{
  color:var(--api-text);
}
.contact-intro>p{color:var(--api-text-muted)}
.contact-detail>span:first-child{
  background:rgba(240,148,45,.12);
  color:var(--orange);
}
.contact-call a,
.contact-privacy a{
  color:#ffae59;
  text-underline-offset:3px;
}
.contact-form-panel{
  background:var(--api-night-panel);
  border:1px solid var(--api-border);
  color:var(--api-text);
  box-shadow:0 14px 35px rgba(0,0,0,.20);
}
.contact-form-panel h3{color:var(--api-text)}
.contact-form-panel .contact-form-subtitle,
.contact-checkbox-label,
.contact-footnote{color:var(--api-text-muted)}
.form-field label{color:var(--api-text)}
.form-field input,
.form-field textarea{
  color:#f5f8fc;
  background:var(--api-night-input);
  border-color:#526a80;
  caret-color:#fff;
}
.form-field input::placeholder,
.form-field textarea::placeholder{color:#c2cfda;opacity:1}
.form-field input:focus,
.form-field textarea:focus{
  color:#fff;
  background:#2b455e;
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(240,148,45,.20);
}
.contact-privacy a:hover,.contact-call a:hover{color:#ffc47e}
.contact-feedback.is-success{
  background:#123923;border-color:#427956;color:#d9f8e3;
}
.contact-feedback.is-error{
  background:#432424;border-color:#9b4d46;color:#ffe0dd;
}
/* Turnstile conserva validación server-side; su modo visual es oscuro. */
.contact-captcha{color:var(--api-text)}
/* Mapa de sitio: mismos enlaces, logo claro y estructura compacta. */
.footer-map{background:#05111e;color:var(--api-text)}
.footer-grid h3{color:var(--api-text)}
.footer-grid a:not(.btn),.footer-grid span{color:var(--api-text-muted)}
.footer-grid a:not(.btn):hover{color:#fff}
.footer-brand{border-right-color:var(--api-border)}
.footer-brand img{filter:none;opacity:1}
.footer-bottom{background:#030d17;color:var(--api-text-muted)}
.footer-bottom .wrap::before,.footer-bottom .wrap::after{
  background:rgba(204,225,242,.22);
}
@media(max-width:820px){
  .footer-brand{border:0}
}


/* API de Occidente - redes sociales pie de página (index) */
.footer-social{margin-top:16px;max-width:310px}
.footer-social h4{margin:0 0 9px;color:#e2e8f0;font-size:.85rem;font-weight:700}
.footer-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
.footer-social-links a,.footer-social-links .footer-social-pending{display:inline-flex!important;align-items:center;gap:5px;min-width:0;color:#bccbd9!important;font-size:.75rem!important;line-height:1.35!important;text-decoration:none;white-space:nowrap}
.footer-social-links svg{width:19px;height:19px;flex:0 0 19px;color:#f0942d;vertical-align:middle}
.footer-social-links a:hover{color:#fff!important;text-decoration:none!important}
.footer-social-links a:focus-visible{outline:2px solid #f0942d;outline-offset:4px;border-radius:2px}
.footer-social-links .footer-social-pending{opacity:.78;cursor:default}
@media(max-width:560px){.footer-social{max-width:none;margin-top:13px}.footer-social-links{gap:8px 12px}}


/* ============================================================
   NOSOTROS | Estilos de la página interna dentro del CSS común
   Mantener estilos de todos los directorios en /css/styles.css
   ============================================================ */
/* Pagina Nosotros, sobre los estilos compartidos del index. */
.nosotros-page{background:#061321;color:#e2e8f0}
.nosotros-page .topbar:not(.is-scrolled){background:rgba(4,17,31,.20);backdrop-filter:none;box-shadow:none}
.nosotros-page .topbar.is-scrolled{background:rgba(4,17,31,.94);backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(0,0,0,.24)}
.nosotros-page .topbar .main-nav a.is-active{color:#f0942d}
.nosotros-page .footer-map{background:#05111e;color:var(--api-text)}
.nosotros-page .footer-grid h3{color:#f7fafc}
.nosotros-page .footer-grid a:not(.btn),.nosotros-page .footer-grid span{color:#b9c9d8}
.nosotros-page .footer-brand img{filter:none!important}
.nosotros-page .footer-bottom{background:#030d17!important;color:var(--api-text-muted);padding:10px 0;font-size:.72rem}
.nosotros-page main{padding-top:0}
.ns-kicker{color:#f0942d;font-size:.78rem;font-weight:800;letter-spacing:.085em;margin:0 0 11px}
.ns-hero{display:grid;grid-template-columns:1.02fr .98fr;background:#071b30;min-height:530px}
.ns-hero-image{min-height:530px;background:linear-gradient(90deg,transparent 76%,#071b30 100%),url('/assets/img/banner-poster.webp') center/cover no-repeat}
.ns-hero-copy{align-self:center;max-width:630px;padding:125px clamp(24px,5vw,78px) 36px 38px}
.ns-hero h1{color:#f7f9fc;font-size:clamp(1.72rem,2.9vw,2.75rem);line-height:1.14;font-weight:850;margin:0 0 16px;letter-spacing:-.03em}
.ns-hero-copy>p:not(.ns-kicker){font-size:.98rem;color:#c1d0df;line-height:1.62;margin:0 0 18px}
.ns-cert-strip{display:flex;align-items:center;gap:14px;background:#0d2a43;border:1px solid #34536c;border-radius:12px;padding:8px 12px;max-width:520px}
.ns-cert-strip strong{font-size:1.38rem;color:#f1f4f8;white-space:nowrap}
.ns-cert-strip span{font-size:.79rem;color:#cbd8e5;line-height:1.35;flex:1}
.ns-cert-strip img{width:51px;height:59px;object-fit:contain;background:white;border-radius:5px;padding:4px}
.ns-strengths.section{padding:29px 0 24px;background:#061321}
.ns-strengths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ns-strength{display:flex;align-items:center;gap:17px;padding:19px 21px;background:#0c2439;border:1px solid #1b3b52;border-radius:13px}
.ns-symbol{color:#f0942d;font-size:2.1rem;line-height:1;min-width:40px;text-align:center}
.ns-strength h2{font-size:1.05rem;color:#f7faff;margin:0 0 6px}
.ns-strength p{font-size:.82rem;line-height:1.5;color:#c1cfdc;margin:0}
.ns-philosophy.section{background:#061321;padding:26px 0 45px}
.ns-philosophy-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:center}
.ns-philosophy h2{font-size:clamp(1.6rem,2.8vw,2.2rem);color:#f7f9fc;line-height:1.2;margin:0 0 13px}
.ns-philosophy-lead{color:#c3d0dd;line-height:1.58;font-size:.9rem;max-width:580px;margin:0 0 22px}
.ns-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ns-values>div{border-left:2px solid #f0942d;padding-left:12px}
.ns-values span{color:#f0942d;font-size:1.2rem}
.ns-values h3{font-size:1rem;color:#fff;margin:5px 0}
.ns-values p{font-size:.76rem;line-height:1.5;color:#b8c8d6;margin:0}
.ns-team-photo{border-radius:15px;overflow:hidden;box-shadow:0 18px 50px #0005;min-height:265px}
.ns-team-photo img{width:100%;height:100%;min-height:265px;object-fit:cover;display:block}
.ns-cta-section.section{padding:10px 0 40px;background:#061321}
.ns-cta{background:#0b2439;border:1px solid #27506c;border-radius:16px;padding:27px 38px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.ns-cta h2{font-size:clamp(1.35rem,2.2vw,1.9rem);color:#f9fbff;margin:0 0 8px}
.ns-cta p{margin:0;color:#bfcfdd;font-size:.9rem}
.ns-cta .btn{white-space:nowrap}
@media(max-width:900px){.nosotros-page main{padding-top:0}.ns-hero{grid-template-columns:1fr}.ns-hero-image{min-height:300px;background-position:center 46%}.ns-hero-copy{max-width:none;padding:30px 24px 34px}.ns-strengths-grid{grid-template-columns:1fr 1fr}.ns-philosophy-grid{grid-template-columns:1fr;gap:22px}.ns-team-photo{max-height:390px}.ns-cta{flex-wrap:wrap}}
@media(max-width:600px){.nosotros-page main{padding-top:0}.ns-hero-image{min-height:235px}.ns-hero h1{font-size:1.8rem}.ns-strengths-grid{grid-template-columns:1fr;gap:9px}.ns-strength{padding:12px 16px}.ns-philosophy.section{padding:27px 0 33px}.ns-values{grid-template-columns:1fr;gap:12px}.ns-cta{padding:21px 19px}.ns-cta .btn{white-space:normal;width:100%;text-align:center}.ns-cert-strip{gap:8px}.ns-cert-strip strong{font-size:1.11rem}}

/* NOSOTROS: banner institucional aprobado. Imagen 16:9 sin recortes;
   el encabezado fijo y el resto de la página se conservan. */
.nosotros-page .ns-hero.ns-hero-approved{
  display:block;
  width:100%;
  min-height:0;
  position:relative;
  overflow:hidden;
  background:#061321;
}
.nosotros-page .ns-hero-approved .ns-approved-banner{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}
.nosotros-page .ns-banner-accessible{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:900px){
  .nosotros-page .ns-hero.ns-hero-approved{display:block;min-height:0}
  .nosotros-page .ns-hero-approved .ns-approved-banner{width:100%;height:auto}
}


/* Nosotros: banner reducido al ~50%; fotografía limpia y texto editable sobre la imagen. */
.nosotros-page .ns-hero.ns-hero-approved.ns-hero-editable{
  display:flex;
  align-items:center;
  width:100%;
  min-height:0;
  height:28vw;
  max-height:510px;
  position:relative;
  background:#061321 url('/assets/img/banner-nosotros.webp') center center / cover no-repeat;
  isolation:isolate;
}
.nosotros-page .ns-hero-editable::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(3,16,31,.84) 0%,rgba(4,19,34,.64) 36%,rgba(4,18,31,.08) 68%,transparent 100%);
}
.nosotros-page .ns-hero-editable .ns-hero-content{
  width:100%;
  margin-inline:auto;
  padding-top:75px;
  padding-bottom:20px;
  position:relative;
  z-index:1;
}
.nosotros-page .ns-hero-editable h1{
  max-width:730px;
  margin:0 0 13px;
  color:#f7f9fc;
  font-size:clamp(1.55rem,2.55vw,2.65rem);
  line-height:1.14;
  font-weight:850;
  letter-spacing:-.03em;
}
.nosotros-page .ns-hero-editable h1 span{color:#f0942d}
.nosotros-page .ns-hero-editable .ns-hero-content>p{
  margin:0;
  max-width:705px;
  font-size:clamp(.79rem,1.02vw,.97rem);
  line-height:1.47;
  color:#e0e8f1;
  text-wrap:pretty;
}
.nosotros-page .ns-hero-editable .ns-hero-cert{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:15px;
}
.nosotros-page .ns-hero-editable .ns-hero-cert img{width:55px;height:65px;object-fit:contain}
.nosotros-page .ns-hero-editable .ns-hero-cert div{display:flex;flex-direction:column;border-left:2px solid #f0942d;padding-left:12px;max-width:275px}
.nosotros-page .ns-hero-editable .ns-hero-cert strong{color:white;font-size:1.18rem;line-height:1.15}
.nosotros-page .ns-hero-editable .ns-hero-cert span{font-size:.76rem;line-height:1.3;color:#e0e8f1}
@media(max-width:1100px){
  .nosotros-page .ns-hero.ns-hero-approved.ns-hero-editable{height:auto;min-height:430px;max-height:none}
  .nosotros-page .ns-hero-editable .ns-hero-content{padding-top:108px;padding-bottom:35px}
  .nosotros-page .ns-hero-editable h1{max-width:620px}
  .nosotros-page .ns-hero-editable .ns-hero-content>p{max-width:600px}
}
@media(max-width:650px){
  .nosotros-page .ns-hero.ns-hero-approved.ns-hero-editable{min-height:0;background-position:67% center}
  .nosotros-page .ns-hero-editable::before{background:linear-gradient(90deg,rgba(3,16,31,.96),rgba(3,16,31,.83) 70%,rgba(3,16,31,.48))}
  .nosotros-page .ns-hero-editable .ns-hero-content{padding-top:113px;padding-bottom:28px}
  .nosotros-page .ns-hero-editable h1{font-size:clamp(1.45rem,6.1vw,2rem);line-height:1.16}
  .nosotros-page .ns-hero-editable .ns-hero-content>p{font-size:.86rem;line-height:1.5}
  .nosotros-page .ns-hero-editable .ns-hero-cert{margin-top:14px}
}

/* API | Igualacion de fondo del mapa de sitio en /nosotros/ con el index.
   Se declara al final para prevalecer sobre reglas anteriores. */
body.nosotros-page footer.site-footer .footer-map,
body.nosotros-page .site-footer > .footer-map {
  background: #05111e !important;
  background-color: #05111e !important;
  background-image: none !important;
}
body.nosotros-page footer.site-footer .footer-bottom,
body.nosotros-page .site-footer > .footer-bottom {
  background: #030d17 !important;
  background-color: #030d17 !important;
  background-image: none !important;
}

/* ==========================================================
   API | Filtro azul uniforme sobre video hero del INDEX.
   No afecta /nosotros/ ni cambia el archivo MP4.
   ========================================================== */
body:not(.nosotros-page) .site-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: rgba(5, 17, 30, 0.22);
}
@media (max-width: 820px) {
  body:not(.nosotros-page) .site-header::after {
    background-color: rgba(5, 17, 30, 0.28);
  }
}
