/* ============================================================================
   PESCA AZTECA · HOME — sistema visual limpio (.pazh-*)
   Mismo lenguaje que pazs-sustentabilidad.css y pazf-flota.css.
   Se carga DESPUÉS de goblal.css / home.css: sobreescribe sin tocar esas hojas.
   Navbar, menú flotante y footer se respetan.

   Estructura: hero a sangre + franja de cifras montada sobre su borde ·
   pilares numerados (sin acordeón) · ubicación con mapa embebido ·
   avance de flota asimétrico con la foto saliendo por la derecha.
   ============================================================================ */

.pazh-home{
  /* Azules — oficial Pinsa + sitio PAZ */
  --paz-navy:#00264d;
  --paz-deep:#004a98;   /* PANTONE 2945 C */
  --paz-blue:#0074bb;
  --paz-mid:#228ccd;
  --paz-cyan:#02a8e8;
  --paz-light:#6ea7d8;

  /* Neutros */
  --bg:#ffffff;
  --bg-soft:#f5f8fc;
  --ink:#0c1c2e;
  --ink-soft:#33485c;
  --ink-mute:#6b7d92;
  --line:#e3eaf3;

  --font:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;

  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- contenedor ---------- */
.pazh-wrap{ width:100%;max-width:1280px;margin:0 auto;padding:0 32px; }
@media (max-width:899px){ .pazh-wrap{ padding:0 20px; } }

/* ---------- átomos tipográficos ---------- */
.pazh-tag{
  font-family:var(--font);
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--paz-blue);margin-bottom:18px;
  display:flex;align-items:center;gap:12px;
}
.pazh-tag::before{ content:"";width:28px;height:2px;background:var(--paz-blue);flex:0 0 auto; }

.pazh-title{
  font-family:var(--font);
  font-size:clamp(30px,4.4vw,50px);line-height:1.08;letter-spacing:-.02em;
  font-weight:800;color:var(--ink);margin:0 0 22px;
}
.pazh-title em{ font-style:normal;color:var(--paz-blue); }

.pazh-lede{
  font-family:var(--font);
  font-size:17px;line-height:1.7;color:var(--ink-soft);
  max-width:70ch;margin:0 0 40px;font-weight:400;
}

/* ---------- botones ---------- */
.pazh-btn{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font);font-size:13px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
  padding:15px 26px;border-radius:6px;text-decoration:none;
  background:var(--paz-deep);color:#fff;border:1px solid var(--paz-deep);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  box-shadow:0 6px 22px rgba(0,38,77,.18);
}
.pazh-btn:hover{ transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,38,77,.28);background:var(--paz-blue);border-color:var(--paz-blue);color:#fff; }
.pazh-btn:focus-visible{ outline:3px solid var(--paz-cyan);outline-offset:3px; }
.pazh-btn svg{ display:block; }

.pazh-btn--ghost{ background:transparent;color:#fff;border-color:rgba(255,255,255,.42);box-shadow:none; }
.pazh-btn--ghost:hover{ background:#fff;color:var(--paz-deep);border-color:#fff;box-shadow:none; }

.pazh-btn--light{ background:#fff;color:var(--paz-deep);border-color:#fff;box-shadow:0 6px 22px rgba(0,38,77,.3); }
.pazh-btn--light:hover{ background:#fff;color:var(--paz-navy);border-color:#fff; }

/* ============================================================================
   1 · HERO a sangre
   El padding inferior extra reserva el sitio de la franja de cifras, que se
   monta sobre el borde con margin-top negativo.
   ============================================================================ */
.pazh-hero{
  position:relative;overflow:hidden;
  min-height:clamp(560px,90vh,960px);
  display:flex;align-items:flex-end;
  background:var(--paz-navy);
}
.pazh-hero .header_bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;z-index:0;
}
.pazh-hero__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 12% 92%, rgba(2,168,232,.20) 0%, transparent 58%),
    linear-gradient(155deg, rgba(6,20,40,.28) 0%, rgba(8,30,58,.50) 50%, rgba(0,20,42,.88) 100%);
}
.pazh-hero__inner{
  position:relative;z-index:2;width:100%;
  padding-top:190px;padding-bottom:150px;
  color:#fff;font-family:var(--font);
}
@media (max-width:899px){ .pazh-hero__inner{ padding-top:150px;padding-bottom:120px; } }

.pazh-hero__kicker{
  display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:26px;
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.pazh-hero__kicker span{ display:flex;align-items:center;gap:9px; }
.pazh-hero__kicker span::before{ content:"";width:6px;height:6px;border-radius:50%;background:var(--paz-cyan);flex:0 0 auto; }

.pazh-hero__title{
  font-size:clamp(40px,6.6vw,88px);line-height:1.0;letter-spacing:-.03em;
  font-weight:800;color:#fff;margin:0 0 24px;max-width:15ch;
}
.pazh-hero__title em{ font-style:normal;display:block;color:var(--paz-light); }

.pazh-hero__sub{
  font-size:clamp(15px,1.3vw,18px);line-height:1.65;
  color:rgba(255,255,255,.88);max-width:58ch;margin:0 0 40px;font-weight:400;
}
.pazh-hero__actions{ display:flex;flex-wrap:wrap;gap:14px; }

/* ---------- sello de aniversario, a la derecha del texto ----------
   El arte es blanco sobre transparencia: sólo funciona sobre el velo
   oscuro del hero. Lienzo cuadrado (1366x1364) con ~4% de aire propio. */
.pazh-hero__copy{ min-width:0; }

.pazh-hero__badge{
  display:block;width:clamp(150px,19vw,250px);height:auto;
  flex:0 0 auto;
  margin:44px 0 0;
  filter:drop-shadow(0 10px 28px rgba(0,16,34,.45));
}

@media (min-width:900px){
  .pazh-hero__inner{
    display:flex;align-items:center;gap:clamp(32px,5vw,72px);
  }
  .pazh-hero__copy{ flex:1 1 auto; }
  .pazh-hero__badge{ margin:0; }
  /* el subtítulo ya no dispone del ancho completo del hero */
  .pazh-hero__sub{ max-width:52ch; }
}

/* en pantallas estrechas el sello baja y se reduce para no alargar el hero */
@media (max-width:899px){
  .pazh-hero__badge{ width:clamp(132px,34vw,190px);margin-top:36px; }
}

/* ============================================================================
   2 · FRANJA DE CIFRAS montada sobre el hero
   ============================================================================ */
.pazh-rail{ position:relative;z-index:5;margin-top:-96px; }
@media (max-width:899px){ .pazh-rail{ margin-top:-76px; } }

.pazh-rail__grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--line);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 22px 56px rgba(0,38,77,.18);
}
@media (min-width:900px){ .pazh-rail__grid{ grid-template-columns:repeat(4,1fr); } }

.pazh-cell{
  background:#fff;padding:26px 22px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:8px;
  font-family:var(--font);min-height:130px;
  transition:background .25s ease;
}
.pazh-cell:hover{ background:var(--bg-soft); }

.pazh-cell__num{
  font-size:clamp(30px,3.2vw,42px);line-height:1;font-weight:800;
  letter-spacing:-.03em;color:var(--paz-deep);font-variant-numeric:tabular-nums;
}
.pazh-cell__num .u{ font-size:16px;font-weight:700;color:var(--paz-cyan);margin-left:3px;letter-spacing:0; }
.pazh-cell__des{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  line-height:1.5;color:var(--ink-mute);
}

/* ============================================================================
   3 · PILARES (sin acordeón: todo visible)
   ============================================================================ */
.pazh-about{ background:var(--bg);padding:96px 0; }
@media (max-width:899px){ .pazh-about{ padding:64px 0; } }
.pazh-about__head{ max-width:70ch;margin-bottom:56px; }

.pazh-pillars{ display:grid;grid-template-columns:1fr;gap:0; }
@media (min-width:900px){ .pazh-pillars{ grid-template-columns:repeat(3,1fr);gap:44px; } }

.pazh-pillar{
  padding:28px 0;border-top:1px solid var(--line);
  font-family:var(--font);
}
@media (min-width:900px){ .pazh-pillar{ border-top:2px solid var(--ink);padding:26px 0 0; } }

.pazh-pillar__idx{
  font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--paz-blue);
  font-variant-numeric:tabular-nums;margin-bottom:14px;
}
.pazh-pillar__title{
  font-size:15px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);margin:0 0 14px;line-height:1.3;
}
.pazh-pillar__body{ font-size:15.5px;line-height:1.7;color:var(--ink-soft);margin:0; }

.pazh-pillar__list{ list-style:none;margin:0;padding:0;display:grid;gap:9px; }
.pazh-pillar__list li{
  display:flex;align-items:baseline;gap:10px;
  font-size:15.5px;line-height:1.6;color:var(--ink-soft);
}
.pazh-pillar__list li::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--paz-cyan);
  flex:0 0 auto;transform:translateY(-2px);
}

/* ============================================================================
   4 · UBICACIÓN
   Mapa embebido de Google en marco propio, sobre fondo azul institucional
   para dar respiro entre los pilares (blanco) y el avance de flota.
   ============================================================================ */
.pazh-map{
  position:relative;overflow:hidden;background:var(--paz-navy);
  padding:96px 0;
}
@media (max-width:899px){ .pazh-map{ padding:64px 0; } }
.pazh-map::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 88% 12%, rgba(2,168,232,.20) 0%, transparent 56%),
    linear-gradient(160deg, rgba(0,24,50,.30) 0%, rgba(0,38,77,.50) 100%);
}
.pazh-map__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr;gap:40px;align-items:center;
  font-family:var(--font);
}
@media (min-width:1000px){
  .pazh-map__grid{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px; }
}

.pazh-map__col .pazh-tag{ color:var(--paz-cyan); }
.pazh-map__col .pazh-tag::before{ background:var(--paz-cyan); }
.pazh-map__title{
  font-size:clamp(28px,3.6vw,44px);line-height:1.1;letter-spacing:-.02em;
  font-weight:800;color:#fff;margin:0 0 20px;
}
.pazh-map__title em{ font-style:normal;color:var(--paz-light); }
.pazh-map__lede{
  font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.84);
  max-width:52ch;margin:0 0 32px;
}

/* datos de contacto */
.pazh-facts{ list-style:none;margin:0 0 32px;padding:0;display:grid;gap:0; }
.pazh-facts li{
  display:flex;align-items:baseline;gap:16px;
  padding:14px 0;border-top:1px solid rgba(255,255,255,.16);
}
.pazh-facts li:last-child{ border-bottom:1px solid rgba(255,255,255,.16); }
.pazh-facts__k{
  flex:0 0 auto;min-width:8.5em;
  font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.56);
}
.pazh-facts__v{ font-size:15.5px;font-weight:700;color:#fff;line-height:1.5; }
.pazh-facts__v a{ color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);transition:color .2s ease,border-color .2s ease; }
.pazh-facts__v a:hover{ color:var(--paz-cyan);border-color:var(--paz-cyan); }

/* marco del mapa
   En móvil se usa altura real (no aspect-ratio): 16/11 deja una franja
   demasiado baja y el mapa se veía recortado alrededor del pin. A partir de
   1000px, donde el marco ya es ancho, sí manda la proporción. */
.pazh-map__frame{
  position:relative;
  height:clamp(340px, 58vh, 460px);
  border-radius:12px;overflow:hidden;
  /* iOS Safari no recorta iframes con border-radius + overflow sin máscara */
  -webkit-mask-image:-webkit-radial-gradient(#fff,#000);
  background:#0b2647;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 56px rgba(0,20,42,.5);
}
@media (min-width:1000px){
  .pazh-map__frame{ height:auto;aspect-ratio:16/11; }
}
.pazh-map__frame iframe{
  position:absolute;inset:0;width:100%;height:100%;
  border:0;display:block;
}

/* ============================================================================
   5 · AVANCE DE FLOTA (asimétrico, la foto sale por la derecha)
   ============================================================================ */
.pazh-fleet{ background:var(--bg-soft);padding:96px 0;overflow:hidden; }
@media (max-width:899px){ .pazh-fleet{ padding:64px 0; } }

.pazh-fleet__grid{
  display:grid;grid-template-columns:1fr;gap:36px;align-items:center;
  width:100%;max-width:1280px;margin:0 auto;padding:0 32px;
}
@media (max-width:899px){ .pazh-fleet__grid{ padding:0 20px; } }
@media (min-width:1000px){
  .pazh-fleet__grid{ grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px; }
  /* sangra hasta el borde derecho de la ventana */
  .pazh-fleet__media{ margin-right:calc(50% - 50vw); }
}

.pazh-fleet__media{ position:relative;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px rgba(0,38,77,.16); }
@media (min-width:1000px){ .pazh-fleet__media{ border-radius:12px 0 0 12px; } }
.pazh-fleet__media img{
  width:100%;height:auto;display:block;
  aspect-ratio:1424/800;object-fit:cover;
}

.pazh-fleet__col .pazh-lede{ margin-bottom:32px; }

/* ---------- accesibilidad ---------- */
@media (prefers-reduced-motion:reduce){
  .pazh-home *{ transition:none !important;animation:none !important; }
}
