/* ============================================================
   FUMIPLAG V12 - mensaje principal, quienes somos y ubicacion
   ============================================================ */

/* Hero: mensaje mas directo y alineado con el material corporativo. */
.hero-v6 h1{
  max-width:820px;
  text-wrap:balance;
}
.hero-v6-lead{max-width:680px}

/* Cobertura: el fondo es oscuro; el título debe conservar contraste legible. */
.coverage-copy h2{color:#fff}

/* Galería: el cuadro se ajusta a cada foto para que las verticales no dejen franjas vacías. */
.lightbox{
  width:fit-content;
  max-width:calc(100% - 28px);
  max-height:92vh;
  padding:0;
  border:0;
  overflow:hidden;
}
.lightbox img{
  width:auto;
  max-width:calc(100vw - 28px);
  max-height:calc(92vh - 44px);
  margin:0;
}

/* Quienes somos: evita un bloque largo de texto y convierte los objetivos
   del material corporativo en informacion facil de escanear. */
.about-v12 .about-copy>p{max-width:720px}
.about-objectives{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:24px 0 16px;
}
.about-objectives>div{
  position:relative;
  display:flex;
  gap:10px;
  min-width:0;
  padding:15px 14px;
  overflow:hidden;
  border:1px solid rgba(0,143,68,.14);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f7fcf9);
  box-shadow:0 10px 28px rgba(0,75,38,.055);
}
.about-objectives>div::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--green-700),var(--red));
  transform:scaleX(.28);
  transform-origin:left;
  transition:transform .25s ease;
}
.about-objectives>div:hover::after{transform:scaleX(1)}
.about-objectives>div>span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:10px;
  background:var(--green-50);
  color:var(--green-700);
  font-size:9px;
  font-weight:900;
}
.about-objectives p{display:grid;gap:3px;margin:0;min-width:0}
.about-objectives strong{font-size:11px;line-height:1.25;color:#11241c}
.about-objectives small{font-size:9px;line-height:1.45;color:var(--muted)}

/* Ubicacion */
.location-v12{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 4% 28%,rgba(0,143,68,.09),transparent 22rem),
    radial-gradient(circle at 94% 70%,rgba(216,58,64,.07),transparent 20rem),
    linear-gradient(180deg,#fbfefc,#f4faf6);
}
.location-v12::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  background:linear-gradient(90deg,var(--green-700) 0 76%,var(--red) 76% 100%);
}
.location-v12-shell{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
}
.location-v12-copy h2{
  max-width:620px;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(2.1rem,4vw,4rem);
  line-height:1.02;
  letter-spacing:-.05em;
}
.location-v12-copy>p{
  max-width:620px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.location-v12-copy>p strong{color:#1d3329}
.location-v12-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:22px;
}
.location-v12-data>div{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(0,143,68,.13);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 28px rgba(0,69,35,.05);
}
.location-v12-data>div>span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:11px;
  background:var(--green-50);
  font-size:15px;
}
.location-v12-data p{display:grid;gap:4px;margin:0;min-width:0}
.location-v12-data small{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.location-v12-data strong{font-size:10px;line-height:1.45;color:#172a22}
.location-v12-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.location-v12-actions .button{min-height:46px}

.location-v12-map{
  position:relative;
  min-width:0;
  padding:9px;
  border:1px solid rgba(0,143,68,.16);
  border-radius:26px;
  background:#fff;
  box-shadow:0 30px 70px rgba(0,72,36,.15),10px 10px 0 -5px rgba(216,58,64,.12);
}
.location-v12-map iframe{
  display:block;
  width:100%;
  height:460px;
  border:0;
  border-radius:19px;
  background:#eaf4ee;
}
.location-v12-maplabel{
  position:absolute;
  left:28px;
  bottom:26px;
  display:flex;
  align-items:center;
  gap:9px;
  max-width:calc(100% - 56px);
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 32px rgba(0,56,28,.16);
  backdrop-filter:blur(10px);
}
.location-v12-maplabel>span{color:var(--red);font-size:10px}
.location-v12-maplabel p{display:grid;gap:2px;margin:0;min-width:0}
.location-v12-maplabel small{font-size:7px;font-weight:900;letter-spacing:.07em;color:var(--green-700)}
.location-v12-maplabel strong{font-size:10px;line-height:1.3;color:#12271d}

/* Desktop navigation: el item nuevo de Ubicacion no debe comprimir el header. */
@media(min-width:961px) and (max-width:1180px){
  .main-nav{gap:1px}
  .main-nav a{padding-left:7px;padding-right:7px;font-size:10.5px}
  .main-nav .nav-cta{margin-left:4px;padding-left:11px;padding-right:11px}
}

@media(max-width:960px){
  .about-objectives{grid-template-columns:1fr 1fr 1fr}
  .location-v12-shell{grid-template-columns:1fr;gap:30px}
  .location-v12-map{width:100%}
  .location-v12-map iframe{height:400px}
}

@media(max-width:640px){
  .hero-v6 h1{text-wrap:pretty}
  .about-objectives{grid-template-columns:1fr;gap:8px;margin-top:20px}
  .about-objectives>div{padding:12px}
  .about-objectives strong{font-size:10.5px}
  .about-objectives small{font-size:8.5px}
  .location-v12-copy h2{font-size:clamp(2rem,10vw,2.75rem)}
  .location-v12-copy>p{font-size:13px;line-height:1.65}
  .location-v12-data{grid-template-columns:1fr;gap:8px}
  .location-v12-actions{display:grid;grid-template-columns:1fr}
  .location-v12-actions .button{width:100%}
  .location-v12-map{padding:6px;border-radius:20px;box-shadow:0 20px 46px rgba(0,72,36,.12)}
  .location-v12-map iframe{height:330px;border-radius:15px}
  .location-v12-maplabel{left:16px;right:16px;bottom:16px;max-width:none;padding:9px 11px}
  .location-v12-maplabel small{font-size:6.5px}
  .location-v12-maplabel strong{font-size:9px}
}

@media(max-width:360px){
  .location-v12-map iframe{height:300px}
  .location-v12-data strong{font-size:9.5px}
}
