/* Opción 2 — Técnica / plano de ingeniería */
body{font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:17px}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
@media (max-width:640px){.wrap{padding:0 18px}}

.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;font-weight:600;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn-primario{background:var(--ph-azul-portada);color:#fff}
.btn-primario:hover{background:var(--ph-azul-oscuro)}
.btn-tinta{background:var(--ph-tinta);color:#fff}
.btn-tinta:hover{background:#163A5C}
.btn-borde{border-color:var(--ph-tinta);color:var(--ph-tinta);background:#fff}
.btn-borde:hover{background:var(--ph-hielo)}
.btn-blanco{background:#fff;color:var(--ph-tinta)}

.etiqueta{font-weight:700;font-size:13px;color:var(--ph-azul-portada);letter-spacing:2.5px;text-transform:uppercase}
.h2{font-size:clamp(30px,4vw,46px);line-height:1.1;font-weight:700}
.sec{padding:96px 0;border-bottom:2px solid var(--ph-tinta)}
@media (max-width:640px){.sec{padding:60px 0}}
.cuadricula{background-color:#F3F9FD;background-image:linear-gradient(#D7E8F4 1px,transparent 1px),linear-gradient(90deg,#D7E8F4 1px,transparent 1px);background-size:40px 40px}

/* encabezado */
.header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:2px solid var(--ph-tinta);color:var(--ph-tinta);--lang-on:#fff}
.header .wrap{display:flex;flex-wrap:nowrap;align-items:center;gap:14px 24px;min-height:80px;padding-top:10px;padding-bottom:10px}
.logo{flex:0 0 auto}.logo img{height:56px;width:auto}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;gap:26px;align-items:center}
.site-nav a{text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current]{color:var(--ph-azul-portada)}
.header-acciones{display:flex;align-items:center;gap:12px}
.header .lang{color:var(--ph-tinta);border-radius:0}
.header .lang button{border-radius:0}
@media (max-width:1180px){.header .btn-cotizar{display:none}}
@media (max-width:960px){.header .wrap{flex-wrap:wrap}.site-nav{margin-left:0}.header-acciones{margin-left:auto}.logo img{height:46px}.nav-toggle{border-radius:0}}

/* hero */
.hero{border-bottom:2px solid var(--ph-tinta)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;padding-top:80px;padding-bottom:80px}
.hero h1{font-size:clamp(38px,5.4vw,66px);line-height:1.03;font-weight:700;margin:18px 0 12px}
.hero .esp{font-size:clamp(20px,2.2vw,26px);font-weight:600;color:var(--ph-azul-portada);margin-bottom:16px}
.hero p.sub{font-size:19px;line-height:1.6;max-width:620px}
.hero .acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.nucleo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:36px;border:2px solid var(--ph-tinta);background:#fff}
.nucleo a{padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:6px}
.nucleo a+a{border-left:2px solid var(--ph-tinta)}
.nucleo a:hover{background:var(--ph-hielo)}
.nucleo strong{font-size:18px}
.nucleo span{font-size:15px;line-height:1.5;color:var(--ph-tinta-2)}
.ficha{background:#fff;border:2px solid var(--ph-tinta);align-self:start}
.ficha h2{background:var(--ph-azul-portada);color:#fff;font-size:13px;font-weight:700;padding:14px 20px;letter-spacing:2.5px;text-transform:uppercase}
.ficha dl{margin:0}
.ficha div{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #C9D9E6;font-size:16px}
.ficha div:first-child{border-top:0}
.ficha dt{color:var(--ph-tinta-2)}
.ficha dd{margin:0;font-weight:700;text-align:right}
.ficha figure{margin:0;aspect-ratio:16/9;border-top:2px solid var(--ph-tinta)}
.ficha figure img{border-radius:0}
@media (max-width:960px){.hero .wrap{grid-template-columns:minmax(0,1fr);padding-top:52px;padding-bottom:52px}}
@media (max-width:560px){.nucleo{grid-template-columns:minmax(0,1fr)}.nucleo a+a{border-left:0;border-top:2px solid var(--ph-tinta)}}

/* antecedentes */
.antecedentes .cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:32px}
.antecedentes p{font-size:17px;line-height:1.7}
.antecedentes .cols>div{display:flex;flex-direction:column;gap:16px}
.hitos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ph-tinta);margin-top:44px}
.hitos li{padding:24px;display:flex;flex-direction:column;gap:8px}
.hitos li+li{border-left:2px solid var(--ph-tinta)}
.hitos strong{font-size:32px;font-weight:700;color:var(--ph-azul-portada)}
.hitos span{font-size:16px;line-height:1.55}
@media (max-width:820px){.antecedentes .cols{grid-template-columns:minmax(0,1fr);gap:16px}.hitos{grid-template-columns:minmax(0,1fr)}.hitos li+li{border-left:0;border-top:2px solid var(--ph-tinta)}}

/* tabla de servicios */
.tabla{border:2px solid var(--ph-tinta);margin-top:36px;background:#fff}
.fila{display:grid;grid-template-columns:minmax(0,1fr) 200px;border-top:1px solid #C9D9E6}
.fila:first-child{border-top:0}
.fila>*{padding:16px 18px}
.fila.cab{background:var(--ph-tinta);color:#fff;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.fila .serv{font-weight:500}
.fila .amb{color:var(--ph-azul-oscuro);font-weight:600}
.fila.cab .amb{color:#fff}

@media (max-width:700px){
  .fila{grid-template-columns:minmax(0,1fr)}
  .fila .amb{padding-top:0;font-size:14px}
  .fila.cab .amb{display:none}
  .fila>*{padding:12px 14px}
}

/* equipos */
.equipos{background:var(--ph-tinta);color:#fff;border-bottom:2px solid var(--ph-tinta)}
.equipos .etiqueta{color:var(--ph-claro)}
.equipos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}
.equipo{border:1px solid #5C7A96;display:flex;flex-direction:column}
.equipo figure{margin:0;aspect-ratio:4/3;border-bottom:1px solid #5C7A96}
.equipo figure img{border-radius:0}
.equipo figure.foto-pendiente{background:#13385C;color:#fff;border:0;border-bottom:1px dashed var(--ph-claro)}
.equipo .cuerpo{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.equipo h3{font-size:19px}
.equipo p{font-size:15px;line-height:1.5;color:#E3EEF7}
.equipo a{margin-top:auto;color:#fff;font-weight:700;font-size:15px;padding-top:8px}
@media (max-width:1000px){.equipos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.equipos-grid{grid-template-columns:minmax(0,1fr)}}

/* clientes */
.clientes .logos{gap:0;border-top:1px solid #9DB6CA;border-left:1px solid #9DB6CA;margin-top:32px}
.clientes .logos li{border:0;border-right:1px solid #9DB6CA;border-bottom:1px solid #9DB6CA;border-radius:0}

/* licitación */
.licitacion{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between;border:2px solid var(--ph-tinta);padding:28px;margin-top:40px;background:#fff}
.licitacion h3{font-size:24px;margin-bottom:6px}
.licitacion p{max-width:700px;line-height:1.6}

/* contacto */
.contacto .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px}
.contacto h2{font-size:clamp(36px,5vw,60px);line-height:1.02;font-weight:700}
.contacto .datos{border-top:1px solid #C9D9E6;margin-top:24px}
.contacto .datos>*{display:block;padding:14px 0;border-bottom:1px solid #C9D9E6;font-size:17px;line-height:1.5;text-decoration:none}
.contacto .datos small{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ph-azul-portada);font-weight:700}
.contacto .social a{border:2px solid var(--ph-tinta);border-radius:0;color:var(--ph-tinta)}
.contacto .social a:hover{background:var(--ph-tinta);color:#fff}
.form-plano{border:2px solid var(--ph-tinta);padding:30px;background:#fff}
.form-plano .field{font-size:15px}
.form-plano .field input,.form-plano .field select,.form-plano .field textarea{border-radius:0;font-family:'IBM Plex Sans',sans-serif}
.form-plano .btn{width:100%}
@media (max-width:900px){.contacto .wrap{grid-template-columns:minmax(0,1fr)}.form-plano{padding:20px}}

/* pie */
.footer{background:var(--ph-tinta);color:#fff;padding:48px 0 96px}
.footer .wrap{display:flex;flex-wrap:wrap;gap:28px 48px;justify-content:space-between;align-items:flex-start}
.footer img{height:56px;width:auto}
.footer .mono{font-size:15px;line-height:1.9}
.footer a{color:#fff}
.footer .social a{border:1px solid #fff;border-radius:0;color:#fff}
.footer .legal{flex-basis:100%;border-top:1px solid #2C4A66;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:14px}

/* empresa */
.page-hero{padding:72px 0;border-bottom:2px solid var(--ph-tinta)}
.page-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;font-weight:700;margin:14px 0 12px}
.page-hero p{font-size:19px}
.mvp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid var(--ph-tinta)}
.mvp article{padding:32px;display:flex;flex-direction:column;gap:14px}
.mvp article+article{border-left:2px solid var(--ph-tinta)}
.mvp article.politica{grid-column:1/-1;border-left:0;border-top:2px solid var(--ph-tinta);background:var(--ph-hielo)}
.mvp h2{font-size:28px;font-weight:700}
.mvp p{font-size:18px;line-height:1.7}
.pilares{font-weight:700;color:var(--ph-azul-portada)}
@media (max-width:820px){.mvp{grid-template-columns:minmax(0,1fr)}.mvp article+article{border-left:0;border-top:2px solid var(--ph-tinta)}.mvp article{padding:22px}}
