/* Componentes de página cargados de forma independiente para evitar que el
   navegador conserve una versión anterior del CSS principal. */
.operating-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  width: 100%;
  max-width: 500px;
  overflow: hidden;
  border: 1px solid rgba(91, 10, 36, .16);
  background: rgba(91, 10, 36, .16);
  box-shadow: 0 16px 38px rgba(59, 19, 33, .08);
}

.operating-facts__intro {
  grid-column: 1 / -1;
  padding: 26px 28px;
  background: #5B0A24;
  color: #fff;
}

.operating-facts__intro span,
.operating-fact span {
  display: block;
  margin-bottom: 10px;
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.operating-facts__intro span { color: #EADCCF; }
.operating-facts__intro strong { display: block; max-width: 20ch; font-size: clamp(1.35rem, 2.3vw, 1.85rem); font-weight: 500; line-height: 1.1; }

.operating-fact { min-height: 145px; padding: 24px 28px; background: rgba(252, 250, 247, .98); color: #5B0A24; }
.operating-fact span { color: #706A6C; }
.operating-fact b { display: block; max-width: 13ch; font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-weight: 500; line-height: 1.17; }
.operating-fact--wide { grid-column: 1 / -1; min-height: 104px; background: #F3ECE5; }
.operating-fact--wide b { max-width: none; }

@media (max-width: 560px) {
  .operating-facts { max-width: none; }
  .operating-facts__intro, .operating-fact { padding: 22px; }
  .operating-fact { min-height: 130px; }
  .operating-fact--wide { min-height: auto; }
}

/* Tarjeta editorial de ubicación: sustituye una imagen que no resistía el recorte. */
.location-widget {
  display: flex;
  min-height: 430px;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(28px, 5vw, 52px);
  background: #5B0A24;
  color: #fff;
  box-shadow: 0 18px 42px rgba(59, 19, 33, .14);
}

.location-widget .eyebrow { color: #EADCCF; }
.location-widget strong { font-size: clamp(2.4rem, 4.5vw, 4.4rem); font-weight: 500; line-height: .95; letter-spacing: -.04em; }
.location-widget__rule { width: 100%; height: 1px; margin: 34px 0 20px; background: linear-gradient(90deg, #CB282A, rgba(255, 255, 255, .18)); }
.location-widget p { max-width: 36ch; margin: 0; color: rgba(255, 255, 255, .78); font-size: .98rem; line-height: 1.55; }
.location-widget small { margin-top: 25px; color: #EADCCF; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }

/* Hero editorial de Servicios: integra imagen, alcance y llamada a la acción. */
.service-hero {
  position: relative;
  min-height: min(790px, calc(100svh - 78px));
  overflow: hidden;
  background: #211216;
  color: #fff;
}

.service-hero__media {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(33, 10, 20, .96) 0%, rgba(50, 13, 28, .86) 43%, rgba(32, 10, 18, .34) 100%), linear-gradient(0deg, rgba(24, 10, 16, .62), transparent 55%), var(--service-image);
  background-position: center;
  background-size: cover;
}

.service-hero__content { position: relative; z-index: 1; display: flex; min-height: inherit; flex-direction: column; justify-content: flex-end; padding-top: 150px; padding-bottom: clamp(58px, 8vw, 104px); }
.service-hero .eyebrow { color: #EADCCF; }
.service-hero h1 { max-width: 20ch; margin: 12px 0 18px; color: #fff; font-size: clamp(3rem, 5.1vw, 5.2rem); font-weight: 500; letter-spacing: -.035em; }
.service-hero .lead { max-width: 59ch; color: rgba(255, 255, 255, .8); }
.service-hero__scope { display: flex; flex-wrap: wrap; gap: 9px 24px; margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .28); }
.service-hero__scope span { color: rgba(255, 255, 255, .92); font-size: .72rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.service-hero__scope span::before { margin-right: 8px; color: #EADCCF; content: '•'; }
.service-hero .btn--primary { background: #fff; border-color: #fff; color: #5B0A24; }

@media (max-width: 760px) {
  .service-hero { min-height: 680px; }
  .service-hero__content { padding-top: 118px; padding-bottom: 48px; }
  .service-hero h1 { max-width: 17ch; font-size: clamp(2.6rem, 10vw, 4rem); }
  .service-hero__scope { gap: 10px 16px; }
}
