/*
Theme Name: Industrial Electrica Panel Claro V32
Theme URI: https://dcpanguipulli.cl/
Author: DCPANGUIPULLI
Author URI: https://dcpanguipulli.cl/
Description: Tema corporativo industrial para servicios eléctricos, construcción, telecomunicaciones y proyectos mineros. Incluye panel editable propio.
Version: 3.5.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: industrial-electrica
*/

:root{
  --black:#05080c;
  --dark:#08111c;
  --dark2:#0d1724;
  --blue:#0077ff;
  --blue2:#00a6ff;
  --accent:#ffb020;
  --gray:#667085;
  --light:#f4f7fb;
  --white:#ffffff;
  --border:rgba(255,255,255,.12);
  --shadow:0 22px 60px rgba(0,0,0,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#111827;
  background:#fff;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:auto}
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-bar .topbar{top:32px}
.nav{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:white;
  min-width:240px;
}
.customLogo{
  max-width:240px;
  max-height:70px;
  object-fit:contain;
}
.logoMark{
  width:54px;
  height:54px;
  border-radius:16px;
  background:linear-gradient(135deg,#001b3d,var(--blue));
  display:grid;
  place-items:center;
  box-shadow:0 0 30px rgba(0,119,255,.35);
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
}
.logoMark::before{
  content:"";
  position:absolute;
  width:72px;
  height:72px;
  border:3px solid rgba(255,255,255,.18);
  border-radius:50%;
}
.bolt{
  font-size:34px;
  color:white;
  transform:rotate(7deg);
  z-index:2;
}
.brand strong{
  display:block;
  font-size:19px;
  letter-spacing:.5px;
  line-height:1;
  text-transform:uppercase;
}
.brand span{
  display:block;
  font-size:10px;
  color:#aab4c3;
  letter-spacing:.8px;
  margin-top:4px;
  text-transform:uppercase;
}
.menu{
  display:flex;
  align-items:center;
  gap:28px;
  color:white;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.menu a{
  color:white;
  opacity:.92;
  position:relative;
  padding:33px 0;
}
.menu a::after{
  content:"";
  width:0;
  height:2px;
  background:var(--blue);
  position:absolute;
  left:0;
  bottom:22px;
  transition:.25s;
}
.menu a:hover::after,.menu a.active::after{width:100%}
.navBtn{
  background:linear-gradient(135deg,var(--blue),#005fe0);
  color:#fff;
  padding:16px 24px;
  border-radius:6px;
  font-weight:900;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:10px;
  box-shadow:0 12px 30px rgba(0,119,255,.35);
  white-space:nowrap;
}
.hamburger{
  display:none;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:#0b1220;
  color:#fff;
  font-size:24px;
}
.hero{
  min-height:640px;
  background:
    linear-gradient(90deg,rgba(0,5,12,.92) 0%,rgba(0,13,30,.78) 38%,rgba(0,0,0,.25) 100%),
    var(--hero-bg) center/cover no-repeat;
  color:#fff;
  display:flex;
  align-items:center;
  position:relative;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:150px;
  background:linear-gradient(0deg,#f5f8fc,transparent);
  opacity:.12;
}
.heroContent{width:min(680px,92%);padding:80px 0}
.eyebrow{
  color:var(--blue2);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:16px;
  letter-spacing:.3px;
}
h1{
  font-size:clamp(36px,5vw,68px);
  line-height:.98;
  letter-spacing:0;
  font-weight:900;
  margin-bottom:24px;
}
h1 span{color:var(--blue)}
.hero p{
  max-width:610px;
  font-size:18px;
  line-height:1.7;
  color:#d8e2f0;
  margin-bottom:34px;
}
.heroActions{display:flex;gap:16px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 25px;
  border-radius:7px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  transition:.25s;
}
.btnPrimary{
  color:#fff;
  background:linear-gradient(135deg,var(--blue),#0059d4);
  box-shadow:0 18px 35px rgba(0,119,255,.25);
}
.btnOutline{
  border:1px solid rgba(255,255,255,.45);
  color:white;
  background:rgba(255,255,255,.03);
}
.btn:hover{transform:translateY(-2px)}
.section{padding:74px 0}
.sectionTitle{text-align:center;margin-bottom:40px}
.sectionTitle .eyebrow{margin-bottom:8px}
.sectionTitle h2{
  font-size:clamp(28px,4vw,42px);
  line-height:1.1;
  letter-spacing:0;
  color:#07111f;
}
.services{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.serviceCard{
  min-height:280px;
  border-radius:10px;
  overflow:hidden;
  position:relative;
  color:white;
  box-shadow:0 16px 42px rgba(9,19,36,.18);
  background:#111;
  display:flex;
  align-items:flex-end;
  isolation:isolate;
}
.serviceCard::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82));
  z-index:1;
}
.serviceCard img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  transition:.4s;
}
.serviceCard:hover img{transform:scale(1.08)}
.serviceContent{position:relative;z-index:2;padding:20px 16px}
.iconBox{
  width:45px;
  height:45px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--blue),#004bb0);
  display:grid;
  place-items:center;
  font-size:22px;
  margin-bottom:14px;
  box-shadow:0 10px 25px rgba(0,119,255,.36);
}
.serviceCard h3{font-size:18px;line-height:1.1;margin-bottom:8px}
.serviceCard p{font-size:12px;line-height:1.55;color:#d8e3f2}
.centerBtn{text-align:center;margin-top:32px}
.centerBtn .btnOutline{color:var(--blue);border-color:var(--blue);background:white}
.darkSection{background:linear-gradient(135deg,#06101b,#071b2d 55%,#020409);color:white}
.projectsWrap{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center}
.stats{display:grid;gap:22px}
.stat{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}
.statIcon{color:var(--blue2);font-size:30px}
.stat strong{font-size:30px;color:var(--blue);display:block;line-height:1}
.stat span{color:#c7d4e5;font-size:13px;line-height:1.35;display:block;margin-top:3px}
.projectHead{text-align:center;margin-bottom:28px}
.projectHead h2{font-size:34px;color:#fff;line-height:1.1;margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.galleryCard{height:220px;border-radius:8px;overflow:hidden;position:relative;background:#111}
.galleryCard img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:.35s}
.galleryCard:hover img{transform:scale(1.06);opacity:1}
.quality{display:grid;grid-template-columns:330px 1fr 280px;gap:44px;align-items:center}
.qualityPhoto{height:250px;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.qualityPhoto img{width:100%;height:100%;object-fit:cover}
.quality h2{font-size:38px;line-height:1.08;color:#07111f;margin-bottom:14px}
.quality p{color:#485569;line-height:1.7;margin-bottom:24px}
.qualityItems{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;color:#0d223b;font-size:12px;font-weight:800}
.qualityItems div{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.qualityItems b{
  width:38px;height:38px;border:1px solid rgba(0,119,255,.25);
  border-radius:12px;display:grid;place-items:center;color:var(--blue);font-size:20px;
}
.certs{border-left:1px solid #cad3df;padding-left:35px;text-align:center}
.certCircle{
  width:92px;height:92px;border-radius:50%;border:2px solid var(--blue);
  display:inline-grid;place-items:center;font-weight:900;color:var(--blue);
  margin:0 8px 22px;line-height:1;font-size:20px;
}
.secLogo{font-size:45px;font-weight:900;color:#0d4074;letter-spacing:0;margin-top:8px}
.quote{
  background:linear-gradient(135deg,#06101b 0%,#06101b 70%,#006ee9 70%,#007bff 100%);
  color:white;padding:0;
}
.quoteGrid{display:grid;grid-template-columns:280px 1fr 260px;gap:34px;align-items:stretch;padding:48px 0}
.contactInfo h2{font-size:32px;line-height:1.1;margin:10px 0 22px}
.contactLine{display:flex;gap:10px;align-items:flex-start;color:#d9e6f5;margin:12px 0;font-size:14px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.form input,.form select,.form textarea{
  width:100%;background:#101b28;border:1px solid rgba(255,255,255,.16);
  color:#fff;padding:15px 16px;border-radius:6px;outline:none;font-family:inherit;
}
.form textarea{grid-column:1/-1;min-height:110px;resize:vertical}
.form button{
  grid-column:1/-1;border:0;cursor:pointer;color:white;
  background:linear-gradient(135deg,var(--blue),#0059d4);
  border-radius:6px;min-height:52px;font-weight:900;text-transform:uppercase;font-family:inherit;
}
.whatsBox{
  background:#0077ff;padding:34px 26px;display:flex;flex-direction:column;
  justify-content:center;border-radius:0;
}
.whatsBox .waIcon{
  width:56px;height:56px;border-radius:15px;background:#25d366;
  display:grid;place-items:center;font-size:29px;margin-bottom:16px;
}
.whatsBox h3{font-size:22px;line-height:1.15;margin-bottom:12px}
.whatsBox p{line-height:1.6;color:#eaf4ff;font-size:14px;margin-bottom:20px}
.whatsBox a{
  background:white;color:#056bd4;border-radius:6px;height:48px;
  display:grid;place-items:center;font-weight:900;font-size:13px;text-transform:uppercase;
}
footer{background:#02060c;color:white;padding:46px 0 18px}
.footerGrid{
  display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:42px;
  border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:34px;
}
.footerGrid p,.footerGrid a,.footerGrid li{color:#b7c3d4;font-size:13px;line-height:1.8}
.footerGrid h4{margin-bottom:16px;font-size:14px;text-transform:uppercase}
.footerGrid ul{list-style:none}
.socials{display:flex;gap:9px;margin-top:18px}
.socials a{width:32px;height:32px;border-radius:50%;background:#152131;display:grid;place-items:center;color:white}
.copy{text-align:center;color:#8996a8;font-size:12px;padding-top:18px}
.floatingWA{
  position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;
  border-radius:18px;background:#25d366;color:#fff;display:grid;place-items:center;
  font-size:31px;box-shadow:0 18px 42px rgba(37,211,102,.38);
}
@media (max-width:1100px){
  .menu{gap:16px;font-size:12px}
  .services{grid-template-columns:repeat(3,1fr)}
  .projectsWrap{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(4,1fr)}
  .quality{grid-template-columns:1fr}
  .certs{border-left:0;border-top:1px solid #cad3df;padding:30px 0 0}
  .quoteGrid{grid-template-columns:1fr}
  .quote{background:#06101b}
  .whatsBox{border-radius:10px;background:linear-gradient(135deg,#0077ff,#004db8)}
}
@media (max-width:860px){
  .admin-bar .topbar{top:46px}
  .hamburger{display:block}
  .nav{min-height:76px}
  .navBtn{display:none}
  .menu{
    position:absolute;left:0;right:0;top:76px;background:#02060c;
    flex-direction:column;align-items:flex-start;padding:18px 5%;gap:0;
    display:none;border-top:1px solid rgba(255,255,255,.1);
  }
  .menu.open{display:flex}
  .menu a{padding:16px 0;width:100%}
  .menu a::after{bottom:8px}
  .hero{min-height:auto}
  .heroContent{padding:75px 0 95px}
  .services{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .qualityItems{grid-template-columns:1fr 1fr}
  .form{grid-template-columns:1fr}
  .footerGrid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .brand{min-width:0}
  .brand strong{font-size:15px}
  .brand span{font-size:8px}
  .logoMark{width:46px;height:46px;border-radius:13px}
  .customLogo{max-width:190px;max-height:56px}
  .services,.gallery,.stats,.qualityItems,.footerGrid{grid-template-columns:1fr}
  .section{padding:56px 0}
  .heroActions .btn{width:100%}
  .serviceCard{min-height:250px}
  .galleryCard{height:210px}
  .quoteGrid{padding:38px 0}
}


.aboutCorporate{background:radial-gradient(circle at top left,rgba(0,119,255,.10),transparent 35%),linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%)}
.aboutSubtitle{color:#526173;font-weight:800;margin-top:12px;letter-spacing:.4px}.aboutGrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-bottom:34px}.aboutMain,.mvCard{background:white;border:1px solid #e5edf7;border-radius:14px;padding:28px;box-shadow:0 16px 42px rgba(9,19,36,.08);position:relative;overflow:hidden}.aboutMain{background:linear-gradient(135deg,#07111f,#0b2138);color:white}.aboutMain::after{content:"";position:absolute;width:160px;height:160px;right:-55px;bottom:-55px;border-radius:50%;border:30px solid rgba(0,119,255,.18)}.aboutNumber{display:inline-flex;color:var(--blue2);font-weight:900;font-size:13px;margin-bottom:18px;letter-spacing:1px}.aboutGrid h3{font-size:25px;margin-bottom:14px;line-height:1.1}.aboutGrid p{color:#526173;line-height:1.75}.aboutMain p{color:#dbe8f7}.valuesBlock{background:#07111f;color:white;border-radius:18px;padding:32px;display:grid;grid-template-columns:310px 1fr;gap:30px;box-shadow:0 20px 55px rgba(0,0,0,.18)}.valuesIntro h3{font-size:30px;line-height:1.1;margin-bottom:14px}.valuesIntro p{color:#c7d4e5;line-height:1.7}.valuesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.valueCard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:18px}.valueIcon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#004bb0);display:grid;place-items:center;margin-bottom:12px;font-size:21px}.valueCard h4{font-size:16px;margin-bottom:8px}.valueCard p{font-size:13px;color:#cbd8e8;line-height:1.6}@media(max-width:1000px){.aboutGrid,.valuesBlock{grid-template-columns:1fr}.valuesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.valuesGrid{grid-template-columns:1fr}.aboutMain,.mvCard,.valuesBlock{padding:22px}}

/* Mejoras V1.1: accesibilidad, navegación editable y formulario real */
body.menuOpen{overflow:hidden}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,176,32,.86);outline-offset:3px}
.skipLink{position:fixed;left:16px;top:10px;z-index:999;transform:translateY(-140%);background:#fff;color:#06101b;padding:10px 14px;border-radius:6px;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.skipLink:focus{transform:translateY(0)}
.custom-logo-link{display:flex;align-items:center}
.menuList{list-style:none;display:flex;align-items:center;gap:28px}.menuList li{display:flex}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,176,32,.15),transparent 34%);pointer-events:none}.hero .container{position:relative;z-index:1}
.serviceCard:focus-within{box-shadow:0 0 0 4px rgba(255,176,32,.35),0 16px 42px rgba(9,19,36,.18)}
.hpField{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formNotice{grid-column:1/-1;border-radius:6px;padding:13px 15px;font-size:14px;font-weight:800;line-height:1.45}
.formNotice.success{color:#063b20;background:#dcfce7;border:1px solid #86efac}.formNotice.error{color:#5f1717;background:#fee2e2;border:1px solid #fecaca}
.form input::placeholder,.form textarea::placeholder{color:#9fb0c5}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue2);background:#0d1927}
.floatingWA{transition:.2s}.floatingWA:hover,.floatingWA:focus-visible{transform:translateY(-3px)}
@media (max-width:1100px){.menuList{gap:16px}}
@media (max-width:860px){.menuList{flex-direction:column;align-items:flex-start;gap:0;width:100%}.menuList li{width:100%}}

/* Rediseño V1.2: identidad clara, industrial moderna y logo visible */
:root{
  --ink:#111827;
  --muted:#5b6678;
  --paper:#ffffff;
  --steel:#eef3f8;
  --line:#d9e2ec;
}
body{background:#f6f8fb;color:var(--ink)}
.topbar{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(12,28,48,.1);
  box-shadow:0 12px 34px rgba(11,24,42,.08);
}
.nav{min-height:78px}
.brand{color:#07111f;min-width:250px}
.brand strong{color:#07111f}
.brand span{color:#5b6678}
.customLogo{max-width:260px;max-height:66px}
.logoMark{
  border-radius:10px;
  background:#fff;
  border:2px solid var(--blue);
  box-shadow:0 10px 24px rgba(0,70,150,.12);
}
.logoMark::before{border-color:rgba(0,119,255,.16)}
.bolt{color:var(--blue)}
.menu,.menuList{color:#132033}
.menu a{
  color:#132033;
  opacity:1;
  padding:30px 0;
}
.menu a::after{
  height:3px;
  background:linear-gradient(90deg,var(--accent),var(--blue));
  bottom:21px;
}
.navBtn{
  color:#07111f;
  background:#fff;
  border:1px solid rgba(0,119,255,.26);
  box-shadow:0 10px 24px rgba(0,119,255,.12);
}
.navBtn:hover{background:#f2f7ff}
.hamburger{
  background:#fff;
  color:#07111f;
  border-color:#d7e0eb;
}
.admin-bar .topbar{box-shadow:0 12px 34px rgba(11,24,42,.08)}
.hero{
  min-height:680px;
  background:
    linear-gradient(90deg,rgba(246,248,251,.98) 0%,rgba(246,248,251,.92) 43%,rgba(246,248,251,.42) 72%,rgba(246,248,251,.18) 100%),
    var(--hero-bg) center/cover no-repeat;
  color:#07111f;
  align-items:center;
}
.hero::before{
  background:
    linear-gradient(90deg,rgba(255,176,32,.18) 0 18px,transparent 18px 34px),
    linear-gradient(180deg,rgba(0,119,255,.12),transparent 38%);
  width:100%;
}
.hero::after{
  height:120px;
  background:linear-gradient(0deg,#f6f8fb,transparent);
  opacity:1;
}
.heroContent{
  width:min(720px,92%);
  padding:100px 0;
}
.eyebrow{
  color:#0b68d7;
  letter-spacing:.8px;
}
h1{color:#07111f;text-wrap:balance}
h1 span{
  color:#07111f;
  display:inline;
  background:linear-gradient(180deg,transparent 58%,rgba(255,176,32,.5) 58%);
}
.hero p{color:#334155;font-size:19px}
.btn{border-radius:4px}
.btnPrimary{
  background:#07111f;
  color:#fff;
  box-shadow:0 18px 36px rgba(7,17,31,.22);
}
.btnOutline{
  border-color:#b8c6d8;
  color:#07111f;
  background:#fff;
}
.btn:hover{transform:translateY(-1px)}
.section{background:#fff}
.section:nth-of-type(odd){background:#f6f8fb}
.sectionTitle h2{color:#07111f;text-wrap:balance}
.aboutCorporate{
  background:
    linear-gradient(90deg,rgba(0,119,255,.08) 0 1px,transparent 1px 80px),
    linear-gradient(180deg,#fff 0%,#f6f8fb 100%);
}
.aboutMain,.mvCard{
  border-radius:6px;
  border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(9,19,36,.07);
}
.aboutMain{
  background:#07111f;
  border-color:#07111f;
}
.aboutMain::after{
  border-radius:0;
  border-color:rgba(255,176,32,.2);
  transform:rotate(12deg);
}
.aboutNumber{color:var(--accent)}
.valuesBlock{
  border-radius:6px;
  background:#101927;
  box-shadow:0 18px 40px rgba(7,17,31,.18);
}
.valueCard{
  border-radius:6px;
  background:rgba(255,255,255,.08);
}
.valueIcon,.iconBox{
  border-radius:6px;
  background:linear-gradient(135deg,var(--accent),#f97316);
  color:#07111f;
  box-shadow:none;
}
.services{gap:20px}
.serviceCard{
  min-height:310px;
  border-radius:6px;
  box-shadow:0 14px 36px rgba(10,27,49,.14);
}
.serviceCard::before{
  background:linear-gradient(180deg,rgba(7,17,31,.05),rgba(7,17,31,.9));
}
.serviceContent{
  padding:22px;
  border-top:4px solid var(--accent);
  width:100%;
}
.centerBtn .btnOutline{
  color:#07111f;
  border-color:#c3cfdd;
}
.darkSection{
  background:
    linear-gradient(90deg,rgba(255,176,32,.08) 0 1px,transparent 1px 72px),
    #07111f;
}
.stat{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:6px;
  padding:14px;
}
.statIcon{color:var(--accent)}
.stat strong{color:#fff}
.galleryCard{border-radius:6px}
.quality{
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  padding:32px;
  box-shadow:0 16px 40px rgba(9,19,36,.08);
}
.qualityPhoto{border-radius:6px;box-shadow:none}
.qualityItems b{
  border-radius:6px;
  border-color:rgba(255,176,32,.55);
  color:#07111f;
  background:#fff7e6;
}
.certCircle{border-color:var(--accent);color:#07111f;background:#fff7e6}
.quote{
  background:
    linear-gradient(90deg,#07111f 0%,#07111f 70%,var(--accent) 70%,var(--accent) 100%);
}
.form input,.form select,.form textarea{
  border-radius:4px;
  background:#0b1624;
}
.form button{
  border-radius:4px;
  background:linear-gradient(135deg,var(--accent),#f97316);
  color:#07111f;
}
.whatsBox{
  background:#fff;
  color:#07111f;
  border-radius:6px;
}
.whatsBox p{color:#475569}
.whatsBox a{
  background:#07111f;
  color:#fff;
  border-radius:4px;
}
footer{background:#07111f}
.floatingWA{border-radius:50%;bottom:24px;right:24px}
@media (max-width:1100px){
  .quality{padding:24px}
}
@media (max-width:860px){
  .menu{
    top:78px;
    background:#fff;
    box-shadow:0 18px 34px rgba(11,24,42,.12);
  }
  .menu a{color:#132033}
  .menu a::after{bottom:8px}
  .hero{
    background:
      linear-gradient(180deg,rgba(246,248,251,.98) 0%,rgba(246,248,251,.9) 62%,rgba(246,248,251,.3) 100%),
      var(--hero-bg) center/cover no-repeat;
  }
  .heroContent{padding:78px 0 110px}
  .quality{border-radius:0;border-left:0;border-right:0}
  .quote{background:#07111f}
}
@media (max-width:560px){
  .brand{min-width:0}
  .customLogo{max-width:210px;max-height:58px}
  h1{font-size:38px;line-height:1.04}
  .quality{padding:22px 0;border:0;box-shadow:none}
}

/* Ajuste V1.3: se restauran los colores originales y solo se mejora el menú/logo */
body{background:#fff;color:#111827}
.topbar{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(8,17,28,.10);
  box-shadow:0 12px 34px rgba(8,17,28,.08);
}
.nav{min-height:86px}
.brand{color:#07111f;min-width:260px}
.brand strong{color:#07111f}.brand span{color:#667085}
.customLogo{
  max-width:260px;
  max-height:72px;
  object-fit:contain;
}
.logoMark{
  border-radius:16px;
  background:linear-gradient(135deg,#001b3d,var(--blue));
  border:0;
  box-shadow:0 0 30px rgba(0,119,255,.26);
}
.logoMark::before{border-color:rgba(255,255,255,.18)}
.bolt{color:white}
.menu,.menuList{color:#07111f}
.menu a{color:#07111f;opacity:.92;padding:33px 0}
.menu a::after{height:2px;background:var(--blue);bottom:22px}
.navBtn{
  background:linear-gradient(135deg,var(--blue),#005fe0);
  color:#fff;
  border:0;
  box-shadow:0 12px 30px rgba(0,119,255,.28);
}
.navBtn:hover{background:linear-gradient(135deg,var(--blue),#005fe0)}
.hamburger{background:#fff;color:#07111f;border-color:#d7e0eb}
.hero{
  min-height:640px;
  background:
    linear-gradient(90deg,rgba(0,5,12,.92) 0%,rgba(0,13,30,.78) 38%,rgba(0,0,0,.25) 100%),
    var(--hero-bg) center/cover no-repeat;
  color:#fff;
}
.hero::before{display:none}
.hero::after{height:150px;background:linear-gradient(0deg,#f5f8fc,transparent);opacity:.12}
.heroContent{width:min(680px,92%);padding:80px 0}
.eyebrow{color:var(--blue2);letter-spacing:.3px}
h1{color:#fff}
h1 span{color:var(--blue);background:none}
.hero p{color:#d8e2f0;font-size:18px}
.btn{border-radius:7px}
.btnPrimary{
  color:#fff;
  background:linear-gradient(135deg,var(--blue),#0059d4);
  box-shadow:0 18px 35px rgba(0,119,255,.25);
}
.btnOutline{border-color:rgba(255,255,255,.45);color:white;background:rgba(255,255,255,.03)}
.section{background:#fff}
.section:nth-of-type(odd){background:#fff}
.sectionTitle h2{color:#07111f}
.aboutCorporate{background:radial-gradient(circle at top left,rgba(0,119,255,.10),transparent 35%),linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%)}
.aboutMain,.mvCard{border:1px solid #e5edf7;border-radius:14px;box-shadow:0 16px 42px rgba(9,19,36,.08)}
.aboutMain{background:linear-gradient(135deg,#07111f,#0b2138);border-color:#e5edf7}
.aboutMain::after{border-radius:50%;border-color:rgba(0,119,255,.18);transform:none}
.aboutNumber{color:var(--blue2)}
.valuesBlock{border-radius:18px;background:#07111f;box-shadow:0 20px 55px rgba(0,0,0,.18)}
.valueCard{border-radius:14px;background:rgba(255,255,255,.06)}
.valueIcon,.iconBox{
  border-radius:12px;
  background:linear-gradient(135deg,var(--blue),#004bb0);
  color:inherit;
  box-shadow:0 10px 25px rgba(0,119,255,.36);
}
.services{gap:16px}
.serviceCard{min-height:280px;border-radius:10px;box-shadow:0 16px 42px rgba(9,19,36,.18)}
.serviceCard::before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82))}
.serviceContent{padding:20px 16px;border-top:0;width:auto}
.centerBtn .btnOutline{color:var(--blue);border-color:var(--blue);background:white}
.darkSection{background:linear-gradient(135deg,#06101b,#071b2d 55%,#020409);color:white}
.stat{background:transparent;border:0;border-radius:0;padding:0}
.statIcon{color:var(--blue2)}.stat strong{color:var(--blue)}
.galleryCard{border-radius:8px}
.quality{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.qualityPhoto{border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.15)}
.qualityItems b{border-radius:12px;border-color:rgba(0,119,255,.25);color:var(--blue);background:transparent}
.certCircle{border-color:var(--blue);color:var(--blue);background:transparent}
.qualityStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:24px;
}
.qualityStat{
  padding:16px;
  border-radius:8px;
  background:#f4f7fb;
  border:1px solid #dce7f3;
}
.qualityStat strong{
  display:block;
  color:var(--blue);
  font-size:28px;
  line-height:1;
  margin-bottom:6px;
}
.qualityStat span{
  color:#526173;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.secLogoBox{
  padding:18px;
  border-radius:10px;
  background:#fff;
  border:1px solid #dce7f3;
  box-shadow:0 14px 34px rgba(9,19,36,.08);
}
.secLogoBox img{
  max-width:180px;
  max-height:90px;
  object-fit:contain;
  margin:0 auto 10px;
}
.secLogoBox p{
  color:#526173;
  font-size:12px;
  font-weight:900;
  margin-top:8px;
}
.clientLogos{
  margin-top:22px;
  text-align:left;
}
.clientLogos h3{
  color:#07111f;
  font-size:15px;
  margin-bottom:12px;
  text-transform:uppercase;
}
.clientLogos>div{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.clientLogos img{
  width:100%;
  height:64px;
  object-fit:contain;
  padding:10px;
  border-radius:8px;
  background:#fff;
  border:1px solid #dce7f3;
}
.quote{background:linear-gradient(135deg,#06101b 0%,#06101b 70%,#006ee9 70%,#007bff 100%)}
.form input,.form select,.form textarea{border-radius:6px;background:#101b28}
.form button{border-radius:6px;background:linear-gradient(135deg,var(--blue),#0059d4);color:white}
.whatsBox{background:#0077ff;color:white;border-radius:0}
.whatsBox p{color:#eaf4ff}
.whatsBox a{background:white;color:#056bd4;border-radius:6px}
footer{background:#02060c}
.floatingWA{border-radius:18px;bottom:22px;right:22px}
@media (max-width:860px){
  .menu{
    top:76px;
    background:#fff;
    box-shadow:0 18px 34px rgba(11,24,42,.12);
  }
  .menu a{color:#07111f}
  .menu a::after{bottom:8px}
  .hero{min-height:auto;background:linear-gradient(90deg,rgba(0,5,12,.92) 0%,rgba(0,13,30,.78) 38%,rgba(0,0,0,.25) 100%),var(--hero-bg) center/cover no-repeat}
  .heroContent{padding:75px 0 95px}
  .quote{background:#06101b}
  .whatsBox{border-radius:10px;background:linear-gradient(135deg,#0077ff,#004db8)}
  .qualityStats{grid-template-columns:1fr}
}
@media (max-width:560px){
  .customLogo{max-width:210px;max-height:62px}
  h1{font-size:clamp(36px,5vw,68px);line-height:.98}
}

/* Mejora V2.1: presentación corporativa, valores y servicios sin iconos */
.aboutCorporate{
  background:
    linear-gradient(90deg,rgba(0,119,255,.045) 0 1px,transparent 1px 76px),
    linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%);
}
.aboutCorporate .sectionTitle{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.aboutCorporate .sectionTitle h2{font-size:clamp(30px,4vw,48px)}
.aboutSubtitle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  padding:9px 16px;
  border:1px solid #d9e5f2;
  border-radius:999px;
  background:#fff;
  color:#405168;
}
.aboutGrid{
  grid-template-columns:1.25fr .9fr .9fr;
  gap:20px;
  align-items:stretch;
}
.aboutMain,.mvCard{
  border-radius:8px;
  padding:32px;
  box-shadow:0 18px 45px rgba(9,19,36,.09);
}
.aboutMain{
  min-height:100%;
  background:
    linear-gradient(135deg,rgba(0,119,255,.18),transparent 42%),
    linear-gradient(135deg,#07111f,#0d2238);
}
.mvCard{
  background:#fff;
  border-top:4px solid var(--blue);
}
.aboutNumber{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),#004bb0);
  font-size:12px;
}
.aboutMain .aboutNumber{
  color:#07111f;
  background:linear-gradient(135deg,var(--blue2),#fff);
}
.aboutGrid h3{font-size:clamp(22px,2vw,30px)}
.aboutGrid p{font-size:15px;line-height:1.82}
.valuesBlock{
  grid-template-columns:300px 1fr;
  border-radius:10px;
  background:
    linear-gradient(135deg,rgba(0,119,255,.18),transparent 50%),
    #07111f;
  padding:36px;
}
.valuesIntro h3{font-size:clamp(26px,3vw,36px)}
.valuesIntro p{font-size:15px}
.valuesGrid{gap:16px}
.valueCard{
  border-radius:8px;
  padding:20px;
  background:rgba(255,255,255,.075);
  transition:.2s;
}
.valueCard:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.105);
}
.valueIcon{
  width:36px;
  height:4px;
  border-radius:999px;
  font-size:0;
  margin-bottom:16px;
  background:linear-gradient(90deg,var(--blue2),var(--blue));
  box-shadow:none;
}
.valueCard h4{font-size:17px}
.valueCard p{font-size:13px;line-height:1.7}
.serviceContent{padding:24px 20px}
.serviceContent::before{
  content:"";
  display:block;
  width:48px;
  height:4px;
  border-radius:999px;
  margin-bottom:16px;
  background:linear-gradient(90deg,var(--blue2),var(--blue));
}
.iconBox{display:none}
@media(max-width:1000px){
  .aboutGrid,.valuesBlock{grid-template-columns:1fr}
}
@media(max-width:560px){
  .aboutMain,.mvCard,.valuesBlock{padding:24px}
  .aboutSubtitle{border-radius:8px;text-align:center}
}

/* Proyectos V1.4: tarjetas editables y galería modal */
body.projectModalOpen{overflow:hidden}
.projectCards{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.projectCardsFull{
  grid-template-columns:repeat(5,1fr);
  gap:16px;
  align-items:stretch;
}
.projectCard{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(0,0,0,.16);
  display:flex;
  flex-direction:column;
  height:100%;
}
.projectThumb{
  height:210px;
  background:#111;
  overflow:hidden;
}
.projectCardsFull .projectThumb{height:190px;flex:0 0 190px}
.projectCardsFull .projectBody{min-height:330px;display:flex;flex-direction:column}
.projectCardsFull .projectBody h3{
  min-height:0;
  font-size:clamp(22px,1.5vw,28px);
}
.projectCardsFull .projectBody p{
  flex:1;
  min-height:0;
  overflow:visible;
}
.projectCardsFull .projectOpen{width:100%;margin-top:auto}
.projectThumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.35s;
}
.projectCard:hover .projectThumb img{transform:scale(1.05)}
.projectBody{padding:20px}
.projectBody h3{
  font-size:20px;
  line-height:1.15;
  margin-bottom:10px;
  color:#fff;
}
.projectBody p{
  color:#c7d4e5;
  font-size:13px;
  line-height:1.65;
  margin-bottom:16px;
}
.projectOpen{
  border:0;
  min-height:44px;
  padding:0 18px;
  border-radius:6px;
  background:linear-gradient(135deg,var(--blue),#0059d4);
  color:#fff;
  font-family:inherit;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}
.projectModal{
  position:fixed;
  inset:0;
  z-index:999;
  display:none;
}
.projectModal[aria-hidden="false"]{display:block}
.projectOverlay{
  position:absolute;
  inset:0;
  background:rgba(1,6,13,.82);
  backdrop-filter:blur(8px);
}
.projectDialog{
  position:relative;
  width:min(1080px,92vw);
  max-height:88vh;
  margin:6vh auto;
  overflow:auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.projectClose{
  position:sticky;
  top:14px;
  float:right;
  z-index:2;
  width:44px;
  height:44px;
  margin:14px 14px 0 0;
  border:0;
  border-radius:50%;
  background:#07111f;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.projectDialogHead{
  padding:42px 42px 18px;
  clear:both;
}
.projectDialogHead h2{
  color:#07111f;
  font-size:clamp(28px,4vw,42px);
  line-height:1.08;
  margin-bottom:14px;
}
.projectDialogHead p{
  color:#485569;
  line-height:1.75;
  max-width:820px;
}
.projectGallery{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  padding:0 42px 42px;
}
.projectGalleryItem{
  display:block;
  height:280px;
  border-radius:8px;
  overflow:hidden;
  background:#111;
  border:0;
  padding:0;
  cursor:pointer;
}
.projectGallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.25s;
}
.projectGalleryItem:hover img{transform:scale(1.04)}
.imageLightbox{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
}
.imageLightbox[aria-hidden="false"]{display:block}
.imageLightboxBackdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.9);
}
.imageLightboxDialog{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:70px 110px 64px;
  overflow:hidden;
}
.imageLightboxImg{
  max-width:min(980px,78vw);
  max-height:calc(100vh - 160px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.imageLightboxClose,.imageLightboxNav{
  position:absolute;
  border:0;
  background:rgba(255,255,255,.95);
  color:#07111f;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.imageLightboxClose{
  top:22px;
  right:24px;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:30px;
}
.imageLightboxNav{
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:70px;
  border-radius:8px;
  font-size:46px;
}
.imageLightboxNav.prev{left:24px}
.imageLightboxNav.next{right:24px}
.imageLightboxCount{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  color:#fff;
  background:rgba(7,17,31,.72);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 14px;
  font-weight:900;
  font-size:13px;
}
@media (max-width:860px){
  .projectCards,.projectCardsFull{grid-template-columns:1fr}
  .projectDialog{margin:4vh auto;max-height:92vh}
  .projectDialogHead{padding:34px 22px 16px}
  .projectGallery{grid-template-columns:1fr;padding:0 22px 28px}
  .projectGalleryItem{height:230px}
  .imageLightboxDialog{padding:70px 54px 64px}
  .imageLightboxImg{max-width:calc(100vw - 108px);max-height:calc(100vh - 150px)}
  .imageLightboxNav{width:44px;height:58px;font-size:36px}
  .imageLightboxNav.prev{left:10px}
  .imageLightboxNav.next{right:10px}
}
@media (min-width:861px) and (max-width:1180px){
  .projectCardsFull{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:861px) and (max-width:980px){
  .projectCardsFull{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1181px){
  .projectCardsFull{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .projectCardsFull .projectBody{
    padding:18px;
  }
  .projectCardsFull .projectBody h3{
    font-size:24px;
  }
  .projectCardsFull .projectBody p{
    font-size:12.5px;
    line-height:1.62;
  }
}

/* V2.3: portada con slider, footer editable y corporativo rediseñado */
.hero{
  overflow:hidden;
  background:#030914;
}
.heroSlider{
  position:absolute;
  inset:0;
  z-index:0;
}
.heroSlide{
  position:absolute;
  inset:0;
  opacity:0;
  background-position:center;
  background-size:cover;
  transform:scale(1.04);
  transition:opacity 1.8s ease, transform 7s ease;
}
.heroSlide.active{
  opacity:1;
  transform:scale(1);
}
.hero::before{
  content:"";
  display:block;
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(0,5,12,.92) 0%,rgba(0,13,30,.78) 38%,rgba(0,0,0,.25) 100%);
  pointer-events:none;
}
.hero::after{z-index:1}
.hero .container{position:relative;z-index:2}
.aboutCorporate{
  background:
    linear-gradient(180deg,#f7faff 0%,#ffffff 58%,#f3f7fc 100%);
}
.aboutCorporate .sectionTitle{
  text-align:left;
  max-width:980px;
  margin:0 auto 34px;
  padding-left:24px;
  border-left:5px solid var(--blue);
}
.aboutCorporate .sectionTitle h2{
  font-size:clamp(34px,4vw,50px);
  letter-spacing:0;
}
.aboutSubtitle{
  display:block;
  width:fit-content;
  margin-top:14px;
  border-radius:6px;
  background:#eaf4ff;
  border:1px solid #cce1f8;
  color:#0d4074;
}
.aboutGrid{
  grid-template-columns:1.35fr .82fr .82fr;
  gap:22px;
}
.aboutMain,.mvCard{
  border-radius:8px;
  padding:34px;
}
.aboutMain{
  background:
    linear-gradient(135deg,rgba(0,119,255,.18),transparent 48%),
    #07111f;
}
.mvCard{
  background:#fff;
  border:1px solid #dce7f3;
  border-top:5px solid var(--blue);
}
.aboutNumber{
  width:auto;
  height:auto;
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#eef6ff;
  color:#0d4074;
}
.aboutMain .aboutNumber{
  background:rgba(255,255,255,.12);
  color:var(--blue2);
}
.valuesBlock{
  margin-top:10px;
  grid-template-columns:360px 1fr;
  border-radius:8px;
  background:#07111f;
  border:1px solid rgba(255,255,255,.12);
}
.valuesIntro{
  padding-right:8px;
}
.valuesGrid{
  grid-template-columns:repeat(2,1fr);
}
.valueCard{
  min-height:150px;
  border-radius:8px;
  background:#fff;
  color:#07111f;
  border:1px solid #dce7f3;
}
.valueCard h4{color:#07111f}
.valueCard p{color:#526173}
.valueCard:hover{transform:none;background:#fff}
.valueIcon{
  width:44px;
  height:4px;
  background:linear-gradient(90deg,var(--blue),var(--blue2));
}
footer .brand{
  width:fit-content;
  min-width:0;
  padding:10px 14px;
  border-radius:8px;
  background:#fff;
  color:#07111f;
}
footer .brand strong{color:#07111f}
footer .brand span{color:#526173}
footer .customLogo{max-height:58px}
.contactRecipient{
  padding:12px 14px;
  border-radius:6px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.ie-hero-slide-field{padding:10px;border:1px dashed #c3c4c7;border-radius:8px;background:#fff}
@media(max-width:1000px){
  .aboutCorporate .sectionTitle{text-align:center;border-left:0;padding-left:0}
  .aboutSubtitle{margin-left:auto;margin-right:auto}
  .aboutGrid,.valuesBlock,.valuesGrid{grid-template-columns:1fr}
}

/* V2.5: presentación y principios en un solo bloque */
.aboutGrid,.valuesBlock{display:none}
.corporateBlock{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce7f3;
  box-shadow:0 24px 60px rgba(9,19,36,.1);
}
.corporateStory{
  padding:42px;
  background:
    linear-gradient(135deg,rgba(0,119,255,.18),transparent 48%),
    #07111f;
  color:#fff;
}
.corporateStory h3{
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  margin-bottom:18px;
}
.corporateStory p{
  color:#dbe8f7;
  line-height:1.85;
  font-size:16px;
}
.corporateSide{
  display:grid;
  grid-template-columns:1fr;
  background:#f7faff;
}
.corporateMini{
  padding:34px;
  border-bottom:1px solid #dce7f3;
}
.corporateMini:last-child{border-bottom:0}
.corporateMini h3{
  color:#07111f;
  font-size:25px;
  margin-bottom:12px;
}
.corporateMini p{
  color:#526173;
  line-height:1.75;
}
.corporateValues{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:330px 1fr;
  gap:28px;
  padding:34px;
  background:#fff;
  border-top:1px solid #dce7f3;
}
.corporateValues .valuesIntro h3{
  color:#07111f;
  font-size:30px;
}
.corporateValues .valuesIntro p{color:#526173}
.corporateValues .valuesGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.corporateValues .valueCard{
  min-height:0;
  background:#f7faff;
  border:1px solid #dce7f3;
  box-shadow:none;
}
.corporateValues .valueIcon{
  width:42px;
  height:4px;
  font-size:0;
  margin-bottom:14px;
}
@media(max-width:1000px){
  .corporateBlock,.corporateValues{grid-template-columns:1fr}
  .corporateValues .valuesGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .corporateStory,.corporateMini,.corporateValues{padding:24px}
  .corporateValues .valuesGrid{grid-template-columns:1fr}
}

/* V2.6: opción 3, timeline corporativo */
.corporateBlock{display:none}
.corporateTimeline{
  position:relative;
  width:min(980px,100%);
  margin:0 auto;
  padding:8px 0;
}
.corporateTimeline::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:18px;
  left:48px;
  width:2px;
  background:linear-gradient(180deg,var(--blue),rgba(0,119,255,.12));
}
.timelineItem{
  position:relative;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:22px;
  margin-bottom:18px;
}
.timelineItem:last-child{margin-bottom:0}
.timelineNumber{
  position:relative;
  z-index:1;
  width:96px;
  height:96px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#07111f;
  color:var(--blue2);
  border:6px solid #f4f7fb;
  box-shadow:0 14px 32px rgba(7,17,31,.18);
  font-weight:900;
  letter-spacing:.6px;
}
.timelineContent{
  background:#fff;
  border:1px solid #dce7f3;
  border-radius:10px;
  padding:28px 30px;
  box-shadow:0 14px 34px rgba(9,19,36,.075);
}
.timelineContent h3{
  color:#07111f;
  font-size:clamp(24px,2.5vw,34px);
  line-height:1.08;
  margin-bottom:12px;
}
.timelineContent p{
  color:#526173;
  line-height:1.8;
  font-size:15px;
}
.timelineValues .timelineContent{
  background:#07111f;
  border-color:#07111f;
}
.timelineValues .timelineContent h3{color:#fff}
.timelineValues .timelineContent p{color:#c7d4e5}
.timelineValueList{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:20px;
}
.timelineValue{
  padding:16px;
  border-radius:8px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
}
.timelineValue strong{
  display:block;
  color:#fff;
  margin-bottom:7px;
  font-size:15px;
}
.timelineValue span{
  display:block;
  color:#cbd8e8;
  line-height:1.6;
  font-size:13px;
}
@media(max-width:700px){
  .corporateTimeline::before{left:24px}
  .timelineItem{grid-template-columns:52px 1fr;gap:14px}
  .timelineNumber{
    width:52px;
    height:52px;
    border-width:4px;
    font-size:12px;
  }
  .timelineContent{padding:22px}
  .timelineValueList{grid-template-columns:1fr}
}

/* V2.8: ajustes solicitados sobre base v19b */
:root{
  --blue:#fcbf15 !important;
  --blue2:#fcbf15 !important;
  --accent:#fcbf15 !important;
  --brand-yellow:#fcbf15;
}
.aboutCorporate{display:none !important}
.eyebrow,
h1 span,
.sectionTitle .eyebrow,
.projectHead .eyebrow,
.statIcon,
.stat strong,
.qualityStat strong,
.secLogo,
.centerBtn .btnOutline{
  color:#fcbf15 !important;
}
.menu a::after,
.serviceContent::before,
.valueIcon,
.timelineValue,
.timelineNumber{
  background:#fcbf15 !important;
}
.btnPrimary,
.navBtn,
.form button,
.projectOpen{
  background:linear-gradient(135deg,#fcbf15,#e4a900) !important;
  color:#07111f !important;
  box-shadow:0 14px 32px rgba(252,191,21,.22) !important;
}
.heroActions .btnOutline{
  border-color:#fcbf15 !important;
  color:#07111f !important;
  background:#fcbf15 !important;
}
.quote{
  background:
    linear-gradient(135deg,#07111f 0%,#07111f 72%,#fcbf15 72%,#fcbf15 100%) !important;
}
.quoteGrid{
  grid-template-columns:minmax(260px,360px) 1fr !important;
  gap:42px !important;
  align-items:start !important;
  padding:64px 0 !important;
}
.contactInfo{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:30px;
}
.contactInfo .eyebrow{
  color:#fcbf15 !important;
  margin-bottom:10px;
}
.contactInfo h2{
  font-size:clamp(30px,3vw,42px) !important;
  margin:0 0 24px !important;
}
.contactLine{
  display:grid !important;
  grid-template-columns:28px 1fr;
  gap:12px !important;
  align-items:start;
  margin:14px 0 !important;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#e6edf6 !important;
  font-size:15px !important;
}
.contactLine:last-child{border-bottom:0}
.contactRecipient,
.whatsBox{
  display:none !important;
}
.form{
  background:#fff;
  border-radius:14px;
  padding:26px;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.form input,
.form select,
.form textarea{
  background:#f4f7fb !important;
  border:1px solid #d9e3ef !important;
  color:#07111f !important;
}
.form input::placeholder,
.form textarea::placeholder{
  color:#667085 !important;
}
.form select{
  color:#07111f !important;
}
.quality{
  grid-template-columns:minmax(360px,1.05fr) minmax(360px,1fr) !important;
  gap:36px !important;
  align-items:stretch !important;
  background:#fff !important;
  border:1px solid #dce7f3 !important;
  border-radius:16px !important;
  padding:34px !important;
  box-shadow:0 22px 60px rgba(7,17,31,.10) !important;
}
.qualityPhoto{
  height:auto !important;
  min-height:520px !important;
  border-radius:14px !important;
  box-shadow:none !important;
}
.qualityPhoto img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.quality h2{
  font-size:clamp(34px,3.5vw,50px) !important;
  color:#07111f !important;
}
.quality p{
  font-size:16px;
}
.qualityItems{
  grid-template-columns:repeat(2,1fr) !important;
  gap:12px !important;
  margin-top:22px;
}
.qualityItems div{
  background:#f7f9fc;
  border:1px solid #dce7f3;
  border-radius:10px;
  padding:14px;
}
.qualityItems b{
  border-color:#fcbf15 !important;
  color:#07111f !important;
  background:#fff7d6 !important;
}
.qualityStats{
  grid-template-columns:repeat(3,1fr) !important;
  gap:12px !important;
  margin-top:24px !important;
}
.qualityStat{
  background:#07111f !important;
  border:0 !important;
  border-radius:12px !important;
  padding:18px !important;
}
.qualityStat strong{
  color:#fcbf15 !important;
}
.qualityStat span{
  color:#d8e2f0 !important;
}
.certs{
  grid-column:1/-1;
  border-left:0 !important;
  border-top:1px solid #dce7f3;
  padding:28px 0 0 !important;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:28px;
  align-items:center;
}
.secLogoBox{
  border-radius:14px !important;
}
.clientLogos{
  margin-top:0 !important;
  overflow:hidden;
}
.clientLogos h3{
  margin-bottom:16px !important;
}
.clientLogoCarousel{
  overflow:hidden;
  width:100%;
  padding:6px 0;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.clientLogoTrack{
  display:flex;
  width:max-content;
  gap:16px;
  animation:clientLogoMove 24s linear infinite;
}
.clientLogoCarousel:hover .clientLogoTrack{
  animation-play-state:paused;
}
.clientLogoItem{
  width:180px;
  height:92px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #dce7f3;
  border-radius:12px;
  padding:14px;
}
.clientLogoItem img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
@keyframes clientLogoMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:1000px){
  .quoteGrid,
  .quality,
  .certs{
    grid-template-columns:1fr !important;
  }
  .qualityPhoto{
    min-height:360px !important;
  }
}
@media(max-width:560px){
  .qualityItems,
  .qualityStats{
    grid-template-columns:1fr !important;
  }
  .form,
  .contactInfo,
  .quality{
    padding:20px !important;
  }
  .clientLogoItem{
    width:150px;
    height:80px;
  }
}

/* V2.9: bloques grises y contacto rediseñado */
:root{
  --block-gray:#535f6a;
  --block-gray-dark:#46515c;
  --brand-yellow:#fcbf15;
}
.quote{
  background:
    linear-gradient(135deg,rgba(7,17,31,.98),rgba(10,24,41,.98)) !important;
  padding:0 !important;
}
.quoteGrid{
  grid-template-columns:minmax(300px,.82fr) minmax(360px,1.18fr) !important;
  gap:28px !important;
  align-items:stretch !important;
  padding:70px 0 !important;
}
.contactInfo,
.form{
  background:#535f6a !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:16px !important;
  box-shadow:0 22px 58px rgba(0,0,0,.24) !important;
}
.contactInfo{
  padding:34px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.contactInfo::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:#fcbf15;
}
.contactInfo .eyebrow{
  align-self:flex-start;
  color:#07111f !important;
  background:#fcbf15 !important;
  border-radius:999px;
  padding:8px 13px;
  margin:0 0 16px !important;
  font-size:12px;
}
.contactInfo h2{
  color:#fff !important;
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1.06 !important;
  margin:0 0 28px !important;
  max-width:420px;
}
.contactLine{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  margin:0 0 12px !important;
  padding:14px 15px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  background:#46515c !important;
  color:#f5f8fc !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.contactLine:last-child{margin-bottom:0 !important}
.form{
  padding:30px !important;
}
.form input,
.form select,
.form textarea{
  background:#eef2f6 !important;
  border:1px solid transparent !important;
  color:#07111f !important;
  border-radius:10px !important;
  min-height:52px;
}
.form textarea{
  min-height:132px !important;
}
.form input::placeholder,
.form textarea::placeholder{
  color:#5f6f84 !important;
}
.form input:focus,
.form select:focus,
.form textarea:focus{
  background:#fff !important;
  border-color:#fcbf15 !important;
}
.form button{
  background:#fcbf15 !important;
  color:#07111f !important;
  border-radius:999px !important;
  min-height:56px !important;
  box-shadow:none !important;
}
.quality{
  background:#535f6a !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  box-shadow:0 22px 58px rgba(7,17,31,.18) !important;
}
.quality h2,
.quality .eyebrow{
  color:#fff !important;
}
.quality>div:not(.qualityPhoto) p{
  color:#edf3fa !important;
}
.qualityItems div,
.qualityStat,
.secLogoBox,
.clientLogoItem{
  background:#46515c !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.qualityItems div{
  color:#fff !important;
}
.qualityItems b{
  background:#fcbf15 !important;
  border-color:#fcbf15 !important;
  color:#07111f !important;
}
.qualityStat strong{
  color:#fcbf15 !important;
}
.qualityStat span,
.secLogoBox p{
  color:#edf3fa !important;
}
.clientLogos h3{
  color:#fff !important;
}
.clientLogoCarousel{
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.clientLogoItem{
  box-shadow:none !important;
}
.clientLogoItem img{
  background:transparent !important;
}
.certs{
  border-top:1px solid rgba(255,255,255,.14) !important;
}
@media(max-width:1000px){
  .quoteGrid{
    grid-template-columns:1fr !important;
    padding:54px 0 !important;
  }
  .contactInfo,
  .form{
    border-radius:14px !important;
  }
}
@media(max-width:560px){
  .contactInfo,
  .form{
    padding:22px !important;
  }
  .contactLine{
    align-items:flex-start !important;
  }
}

/* V3.0: proyectos/servicios grises y WhatsApp real */
.projectCard{
  background:#535f6a !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 18px 44px rgba(7,17,31,.18) !important;
  display:flex !important;
  flex-direction:column !important;
}
.projectBody{
  background:#535f6a !important;
  padding:24px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
}
.projectBody h3{
  color:#fff !important;
  text-shadow:none !important;
}
.projectBody p{
  color:#eef3f8 !important;
  opacity:1 !important;
}
.projectOpen{
  background:#fcbf15 !important;
  color:#07111f !important;
  width:100%;
  margin-top:auto;
}
.projectCardsFull .projectThumb{
  background:#2f3943 !important;
}
.serviceCard{
  background:#535f6a !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:14px !important;
  box-shadow:0 18px 44px rgba(7,17,31,.18) !important;
}
.serviceCard::before{
  background:linear-gradient(180deg,rgba(83,95,106,.08),rgba(83,95,106,.96)) !important;
}
.serviceContent{
  background:linear-gradient(180deg,rgba(83,95,106,0),#535f6a 28%) !important;
  width:100% !important;
}
.serviceCard h3{
  color:#fff !important;
}
.serviceCard p{
  color:#eef3f8 !important;
  opacity:1 !important;
}
.floatingWA{
  background:#25d366 !important;
  color:#fff !important;
  border-radius:50% !important;
  width:64px !important;
  height:64px !important;
  font-size:0 !important;
  box-shadow:0 16px 40px rgba(37,211,102,.36) !important;
}
.floatingWA svg{
  width:36px;
  height:36px;
  display:block;
}

/* V3.1: fondo general oscuro solicitado */
html,
body{
  background:#16293b !important;
}
main,
.section,
.section:nth-of-type(odd),
.darkSection{
  background:#16293b !important;
}
.sectionTitle h2,
.projectHead h2{
  color:#fff !important;
}
.sectionTitle .eyebrow,
.projectHead .eyebrow{
  color:#fcbf15 !important;
}
.services,
.projectCardsFull{
  margin-top:8px;
}
.centerBtn{
  display:none !important;
}


/* Galería de proyectos con videos */
.projectGalleryItem.is-video{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(135deg, rgba(15,23,42,.95), rgba(37,99,235,.75));
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}
.videoThumb{
  width:68px;
  height:68px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.18);
  font-size:30px;
  padding-left:4px;
}
.videoThumbText{
  font-weight:800;
  letter-spacing:.02em;
}
.imageLightboxMedia{
  width:min(100%, 980px);
  display:grid;
  place-items:center;
}
.imageLightboxVideo,
.imageLightboxHtmlVideo{
  display:none;
  width:min(92vw, 980px);
  height:min(52vw, 560px);
  max-height:72vh;
  background:#000;
  border-radius:16px;
}
.imageLightboxHtmlVideo{
  object-fit:contain;
}
.ie-gallery-type-row{
  margin-bottom:8px;
}
.ie-gallery-type-row select{
  min-height:40px;
  border-radius:9px;
  border:1px solid #b8c0cc;
  padding:8px 10px;
}


.ie-checkbox-field{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  font-weight:700;
}
.ie-checkbox-field input{
  width:18px;
  height:18px;
}
