/* =============================================
   GRUPO SALVADOR — CSS PUBLICIDAD & MARKETING
   Etapa 8D: composición de la página 3 del PDF. Hero panorámico y una hoja
   gris clara con esquinas redondeadas (monta sobre el hero, cierra contra el
   footer rojo); las tarjetas del hero flotan en la unión, como en Inicio.
   Rojo contenido: velo del hero, plan Sitio Web, cabecera Ecommerce,
   paquete Gold, panel de Material Publicitario y CTA. Placeholders
   (.gs-placeholder-img) vienen de gs-base.css.
   ============================================= */

.gs-pm {
  --gs-sheet-radius: 40px;
  --gs-hero-overlap: 120px;
}

/* ── Compartidos ── */
.gs-pm-section-title {
  margin-bottom: 44px;
  text-align: center;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--gs-red, #a61916);
}
/* "E-commerce" no se corta en el guion. */
.gs-pm-nowrap { white-space: nowrap; }
.gs-pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 32px;
  border-radius: 12px;
  background: var(--gs-red, #a61916);
  color: var(--gs-white);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: background .2s;
}
.gs-pm-btn:hover { background: var(--gs-red-hover, #8a1412); }

/* ── 1. HERO ── */
.gs-pm-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  height: clamp(520px, 46vw, 700px);
  background: var(--gs-red-hover, #8a1412);
  color: var(--gs-white);
}
/* Foto 3:2: la persona está al centro (40%–60% del ancho), cabeza al ~25%. */
.gs-pm-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 30%;
}
.gs-pm-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,
    rgba(138, 20, 18, .90) 0%,
    rgba(166, 25, 22, .72) 40%,
    rgba(166, 25, 22, .40) 70%,
    rgba(166, 25, 22, .30) 100%);
}
.gs-pm-hero__inner { width: 100%; padding-bottom: var(--gs-hero-overlap); padding-top: 24px; }
.gs-pm-hero__title {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  line-height: 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .18);
}
.gs-pm-hero__l1 { font-size: clamp(34px, 5vw, 72px); font-weight: 400; letter-spacing: .01em; }
.gs-pm-hero__amp { font-size: .6em; vertical-align: .15em; margin-left: .2em; }
.gs-pm-hero__l2 { font-size: clamp(56px, 9.4vw, 136px); font-weight: 700; letter-spacing: -.01em; line-height: .95; }
.gs-pm-hero__sub {
  max-width: 420px;
  margin-top: 18px;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255, 255, 255, .94);
}

/* ── HOJA CLARA ── */
/* Detrás de las esquinas de abajo pinta el rojo del footer global. */
.gs-pm-sheet-wrap {
  position: relative;
  z-index: 1;
  margin-top: calc(-1 * var(--gs-sheet-radius));
  background: linear-gradient(to bottom,
    transparent calc(100% - var(--gs-sheet-radius)),
    var(--gs-red, #a61916) 0);
}
/* flow-root: el margen negativo de las tarjetas no debe arrastrar la hoja. */
.gs-pm-sheet {
  display: flow-root;
  background: var(--gs-gray-light, #F5F5F5);
  border-radius: var(--gs-sheet-radius);
  padding-bottom: 96px;
}

/* ── TARJETAS DEL HERO ── */
.gs-pm-cards {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--gs-sheet-radius) - var(--gs-hero-overlap));
}
.gs-pm-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.gs-pm-feature-card {
  display: flex;
  flex-direction: column;
  padding: 32px 30px 28px;
  border-radius: 28px;
  background: var(--gs-white);
  box-shadow: 0 14px 36px rgba(17, 17, 17, .10);
}
.gs-pm-feature-card__icon { width: 56px; height: 56px; margin-bottom: 18px; color: var(--gs-red, #a61916); }
.gs-pm-feature-card__icon svg { width: 100%; height: 100%; }
.gs-pm-feature-card__title {
  margin-bottom: 18px;
  font-size: clamp(19px, 1.7vw, 23px);
  font-weight: 700;
  line-height: 1.2;
  color: var(--gs-red, #a61916);
}
.gs-pm-feature-card__list { list-style: none; flex: 1; margin-bottom: 24px; }
.gs-pm-feature-card__list li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 16px;
  font-size: 14.5px;
  line-height: 1.5;
  color: #333;
}
.gs-pm-feature-card__list li::before { content: '•'; position: absolute; left: 0; color: var(--gs-red, #a61916); }
.gs-pm-feature-card__price { color: var(--gs-red, #a61916); font-weight: 600; white-space: nowrap; }
/* Etapa 8K: total con IVA junto al precio base (puede pasar a otra línea). */
.gs-pm-feature-card__total { font-size: .9em; color: #555; }
.gs-pm-feature-card__cta {
  align-self: flex-start;
  padding: 4px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--gs-red, #a61916);
  transition: opacity .2s;
}
.gs-pm-feature-card__cta:hover { opacity: .75; }

/* ── 2. DESARROLLO WEB: PLANES ── */
.gs-pm-planes { padding: 96px 0 88px; }
.gs-pm-planes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
  align-items: stretch;
}
.gs-pm-plan {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--gs-red, #a61916);
  border-radius: 28px;
  overflow: hidden;
  background: var(--gs-white);
}
.gs-pm-plan__head { padding: 30px 24px 24px; text-align: center; color: var(--gs-red, #a61916); }
.gs-pm-plan__name { font-size: 22px; font-weight: 700; line-height: 1.1; text-transform: uppercase; }
.gs-pm-plan__name span { display: block; font-weight: 400; }
.gs-pm-plan__from { margin-top: 10px; font-size: 16px; font-weight: 600; }
.gs-pm-plan__price { font-size: clamp(48px, 5vw, 68px); font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.gs-pm-plan__head .gs-pm-plan__name + .gs-pm-plan__price { margin-top: 12px; }
/* Etapa 8K: "+ IVA" y total con IVA bajo el precio; hereda el color de la cabecera. */
.gs-pm-plan__iva { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.gs-pm-plan__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 26px 28px 30px;
  border-top: 2px solid var(--gs-red, #a61916);
  text-align: center;
}
.gs-pm-plan__list { list-style: none; flex: 1; margin-bottom: 26px; }
.gs-pm-plan__list li { margin-bottom: 12px; font-size: 14.5px; line-height: 1.5; color: #333; }
.gs-pm-plan__cta {
  align-self: center;
  min-width: 200px;
  padding: 12px 28px;
  border-radius: 12px;
  background: var(--gs-red, #a61916);
  color: var(--gs-white);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .2s;
}
.gs-pm-plan__cta:hover { background: var(--gs-red-hover, #8a1412); }
/* Sitio Web: cuerpo rojo (PDF). */
.gs-pm-plan--rojo .gs-pm-plan__head { background: #efefef; }
.gs-pm-plan--rojo .gs-pm-plan__body { background: var(--gs-red, #a61916); }
.gs-pm-plan--rojo .gs-pm-plan__list li { color: rgba(255, 255, 255, .95); }
.gs-pm-plan--rojo .gs-pm-plan__cta { background: var(--gs-white); color: var(--gs-red, #a61916); }
.gs-pm-plan--rojo .gs-pm-plan__cta:hover { background: var(--gs-red-soft, #fbeeed); }
/* Ecommerce: cabecera roja (PDF). */
.gs-pm-plan--cabecera .gs-pm-plan__head { background: var(--gs-red, #a61916); color: var(--gs-white); }

/* ── PAQUETES ── */
.gs-pm-subtitle {
  margin: 80px 0 32px;
  text-align: center;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gs-red, #a61916);
}
.gs-pm-paquetes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto;
}
.gs-pm-paquete {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 24px 26px;
  border: 2px solid var(--gs-red, #a61916);
  border-radius: 28px;
  background: var(--gs-white);
  color: var(--gs-red, #a61916);
  text-align: center;
}
.gs-pm-paquete__name { font-size: 22px; font-weight: 700; line-height: 1.1; text-transform: uppercase; }
.gs-pm-paquete__name span { display: block; font-weight: 400; }
.gs-pm-paquete__desc { margin-top: 6px; font-size: 14px; font-weight: 500; }
.gs-pm-paquete__price {
  margin: 10px 0 22px;
  font-size: clamp(36px, 3.8vw, 52px);
  font-weight: 700;
  line-height: 1.05;
  white-space: nowrap;
}
.gs-pm-paquete__price span { font-size: .62em; }
/* Etapa 8K: total con IVA bajo el precio del paquete. */
.gs-pm-paquete__total { margin: -14px 0 22px; font-size: 14px; font-weight: 600; }
.gs-pm-precios-nota { margin-top: 20px; text-align: center; font-size: 13.5px; color: #666; }
.gs-pm-paquete__cta {
  margin-top: auto;
  padding: 6px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color: inherit;
}
.gs-pm-paquete__cta:hover { text-decoration: underline; text-underline-offset: 4px; }
.gs-pm-paquete--destacado { background: var(--gs-red, #a61916); color: var(--gs-white); }

/* ── 3. PRODUCCIÓN AUDIOVISUAL — NUESTRO TRABAJO ── */
.gs-pm-trabajo { padding: 0 0 96px; }
.gs-pm-trabajo__panel {
  padding: 64px;
  border-radius: 32px;
  background: var(--gs-white);
  box-shadow: 0 10px 30px rgba(17, 17, 17, .05);
}
.gs-pm-trabajo__title { margin-bottom: 48px; color: var(--gs-red, #a61916); text-transform: uppercase; }
.gs-pm-trabajo__eyebrow { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; letter-spacing: .14em; }
.gs-pm-trabajo__display { display: block; font-size: clamp(40px, 5.6vw, 78px); font-weight: 700; line-height: .95; letter-spacing: -.01em; }
.gs-pm-trabajo__block { margin-bottom: 56px; }
.gs-pm-trabajo__block:last-child { margin-bottom: 0; }
.gs-pm-trabajo__label {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--gs-red, #a61916);
}
.gs-pm-vermas {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 1.5px solid var(--gs-red, #a61916);
  border-radius: 12px;
  background: var(--gs-white);
  color: var(--gs-red, #a61916);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  transition: background .2s;
}
.gs-pm-vermas:hover { background: var(--gs-red-soft, #fbeeed); }

/* Flyers 4:5 (5 de 6 son 1279×1600; el cuadrado pierde 10% a los lados). */
.gs-pm-flyers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gs-pm-flyers img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}
.gs-pm-flyers__vermas { grid-column: span 2; align-self: end; justify-self: end; }

/* Portadas de video 16:9. */
.gs-pm-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gs-pm-videos__item { width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; }
/* Etapa 8K: portada real (img) en el mismo hueco 16:9. */
img.gs-pm-videos__item { display: block; height: auto; object-fit: cover; }
.gs-pm-videos__vermas { display: flex; width: fit-content; margin: 20px 0 0 auto; }

/* Branding: tarjetas + bolsa en 3:2, esfero en franja 5:1 (PDF). */
.gs-pm-branding { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gs-pm-branding img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  background: #eee;
}
.gs-pm-branding__a, .gs-pm-branding__b { aspect-ratio: 3 / 2; }
.gs-pm-branding__b { object-position: 50% 40%; }
.gs-pm-branding__c { grid-column: 1 / -1; aspect-ratio: 5 / 1; object-position: 50% 52%; }

/* ── 4. MARKETING Y REDES ── */
.gs-pm-social { padding: 0 0 96px; }
/* Celulares (PNG con marco propio y fondo transparente) sobre bloques rojos. */
.gs-pm-social__phones {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 24px;
  margin: 80px 0 64px;
}
.gs-pm-phone { position: relative; isolation: isolate; width: 220px; }
.gs-pm-phone::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 2%;
  right: 2%;
  top: -36px;
  height: 72%;
  border-radius: 26px;
  background: var(--gs-red, #a61916);
}
.gs-pm-phone--center { width: 240px; }
.gs-pm-phone--center::before { top: -64px; }
.gs-pm-phone__screen {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 351 / 731;
  filter: drop-shadow(0 14px 24px rgba(0, 0, 0, .18));
}

.gs-pm-social__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  max-width: 980px;
  margin: 0 auto 64px;
  align-items: start;
}
.gs-pm-social-card { display: flex; flex-direction: column; align-items: center; text-align: center; }
.gs-pm-social-card__icon { width: 56px; height: 56px; margin-bottom: 14px; color: var(--gs-red, #a61916); }
.gs-pm-social-card__icon svg { width: 100%; height: 100%; }
.gs-pm-social-card__title {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--gs-red, #a61916);
}
.gs-pm-social-card__title span { display: block; font-weight: 400; font-size: .8em; }
.gs-pm-social-card__desc { max-width: 260px; font-size: 15px; line-height: 1.55; color: #444; }
.gs-pm-social-card__price { font-size: clamp(40px, 4vw, 54px); font-weight: 700; line-height: 1; color: var(--gs-red, #a61916); }
.gs-pm-social-card__period { font-size: .38em; font-weight: 600; text-transform: uppercase; }
/* Etapa 8K.1: "+ IVA" y total con IVA bajo el precio mensual. */
.gs-pm-social-card__iva { margin-top: 8px; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--gs-red, #a61916); }

/* Galería: 2 portadas verticales 9:16 + columna con 3 horizontales 16:9. */
.gs-pm-produccion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .95fr);
  gap: 22px;
  max-width: 980px;
  margin: 0 auto 56px;
  align-items: start;
}
.gs-pm-prod-item, .gs-pm-prod-thumb { margin: 0; }
.gs-pm-prod-item__media, .gs-pm-prod-thumb__media { position: relative; width: 100%; overflow: hidden; }
.gs-pm-prod-item__media { aspect-ratio: 9 / 16; border-radius: 18px; }
.gs-pm-prod-thumb__media { aspect-ratio: 16 / 9; border-radius: 14px; }
.gs-pm-prod-item__media img, .gs-pm-prod-thumb__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* El placeholder ocupa el marco; la etiqueta va abajo para no quedar tapada
   por el play centrado. */
.gs-pm-prod-item__media .gs-placeholder-img,
.gs-pm-prod-thumb__media .gs-placeholder-img { width: 100%; height: 100%; justify-content: flex-end; padding: 10px 12px; }
.gs-pm-prod-item__play, .gs-pm-prod-thumb__play {
  position: absolute; top: 50%; left: 50%; z-index: 2;
  transform: translate(-50%, -50%);
  opacity: .92;
  transition: transform .2s, opacity .2s;
}
.gs-pm-prod-item:hover .gs-pm-prod-item__play,
.gs-pm-prod-thumb:hover .gs-pm-prod-thumb__play { transform: translate(-50%, -50%) scale(1.08); opacity: 1; }
.gs-pm-prod-item__caption { margin-top: 12px; text-align: center; font-size: 15px; font-weight: 600; color: #222; }
.gs-pm-prod-thumbs { display: flex; flex-direction: column; gap: 14px; }
.gs-pm-prod-thumb__caption { margin-top: 6px; font-size: 14px; color: #333; }
.gs-pm-prod-thumb__caption strong { color: var(--gs-red, #a61916); }
.gs-pm-prod-thumb__total { font-size: .92em; color: #555; }
.gs-pm-social__cta-wrap { text-align: center; }

/* ── 5. MATERIAL PUBLICITARIO ── */
.gs-pm-material { padding: 0 0 96px; }
.gs-pm-material__panel {
  padding: 64px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 255, 255, .10), transparent 40%),
    var(--gs-red, #a61916);
  color: var(--gs-white);
}
.gs-pm-material__head { margin-bottom: 40px; }
.gs-pm-material__title { font-size: clamp(30px, 3.6vw, 48px); font-weight: 700; line-height: 1; text-transform: uppercase; }
.gs-pm-material__title span { display: block; font-weight: 400; }
.gs-pm-material__lead { margin-top: 18px; font-size: clamp(18px, 1.8vw, 24px); font-weight: 600; }
.gs-pm-material__sub { margin-top: 4px; font-size: 15px; color: rgba(255, 255, 255, .92); }
.gs-pm-material__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.gs-pm-card {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  background: var(--gs-white);
  color: var(--gs-text, #1a1a1a);
}
/* Slot 3:2 (PDF); las fotos son 16:9 y pierden solo bordes laterales. */
.gs-pm-card__media { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.gs-pm-card__body { display: flex; flex-direction: column; flex: 1; padding: 22px 26px 24px; }
.gs-pm-card__title { margin-bottom: 12px; font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--gs-red, #a61916); }
.gs-pm-card__list { list-style: none; flex: 1; margin-bottom: 18px; }
.gs-pm-card__list li { position: relative; margin-bottom: 8px; padding-left: 16px; font-size: 14.5px; line-height: 1.5; color: #333; }
.gs-pm-card__list li::before { content: '•'; position: absolute; left: 0; color: var(--gs-red, #a61916); }
.gs-pm-card__cta {
  align-self: flex-end;
  padding: 10px 22px;
  border-radius: 999px;
  background: var(--gs-red, #a61916);
  color: var(--gs-white);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .2s;
}
.gs-pm-card__cta:hover { background: var(--gs-red-hover, #8a1412); }

/* ── 6. BTL ── */
.gs-pm-btl { padding: 0 0 96px; }
.gs-pm-btl__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 64px;
  align-items: center;
}
/* Slot vertical 4:5 (el león del PDF ocupa una columna alta). La foto es
   1600×893 con el león al centro (≈30%–70% del ancho): el recorte solo quita
   fondo. */
.gs-pm-btl__media { border-radius: 28px; overflow: hidden; background: #f0f0f0; }
.gs-pm-btl__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 50%;
}
.gs-pm-btl__title {
  margin-bottom: 18px;
  font-size: clamp(72px, 9vw, 132px);
  font-weight: 700;
  line-height: .9;
  color: var(--gs-red, #a61916);
}
.gs-pm-btl__text { margin-bottom: 26px; font-size: 16px; line-height: 1.7; color: #333; }
.gs-pm-btl__list { list-style: none; margin-bottom: 30px; }
.gs-pm-btl__list li {
  margin-bottom: 14px;
  padding: 18px 22px;
  border-radius: 20px;
  background: var(--gs-white);
  font-size: 15px;
  line-height: 1.55;
  color: #333;
  box-shadow: 0 6px 18px rgba(17, 17, 17, .05);
}
.gs-pm-btl__list strong { color: var(--gs-red, #a61916); }

/* ── 7. SERVICIOS ADICIONALES ── */
.gs-pm-adicionales { padding: 0 0 88px; }
.gs-pm-adicionales__title {
  margin-bottom: 40px;
  text-align: center;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: var(--gs-red, #a61916);
}
.gs-pm-adicionales__title span { display: block; font-weight: 400; }
.gs-pm-adicionales__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1000px;
  margin: 0 auto;
}
.gs-pm-adicionales__list li {
  padding: 22px 26px;
  border-radius: 20px;
  border-left: 5px solid var(--gs-red, #a61916);
  background: var(--gs-white);
  font-size: 15.5px;
  line-height: 1.55;
  color: #333;
}
.gs-pm-adicionales__list strong { color: var(--gs-red, #a61916); }

/* ── 8. CTA FINAL ── */
.gs-pm-cta-final { text-align: center; }
.gs-pm-cta-final__title { margin-bottom: 20px; color: var(--gs-red, #a61916); text-transform: uppercase; line-height: 1.05; }
.gs-pm-cta-final__title span { display: block; }
.gs-pm-cta-final__t1 { font-size: clamp(40px, 5vw, 68px); font-weight: 700; }
.gs-pm-cta-final__t2 { font-size: clamp(18px, 1.8vw, 24px); font-weight: 700; }
.gs-pm-cta-final__t3 { font-size: clamp(18px, 1.8vw, 24px); font-weight: 400; }
.gs-pm-cta-final__text {
  max-width: 760px;
  margin: 0 auto 30px;
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--gs-red, #a61916);
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .gs-pm-feature-card { padding: 28px 24px 24px; }
  .gs-pm-planes__grid, .gs-pm-paquetes { gap: 20px; }
  .gs-pm-trabajo__panel, .gs-pm-material__panel { padding: 48px 40px; }
  .gs-pm-btl__grid { gap: 40px; }
}
@media (max-width: 900px) {
  .gs-pm { --gs-hero-overlap: 56px; --gs-sheet-radius: 28px; }
  /* Móvil: texto abajo, la persona arriba (la foto entra completa en alto). */
  .gs-pm-hero { align-items: flex-end; height: auto; min-height: 600px; }
  .gs-pm-hero__inner { padding-top: 260px; padding-bottom: calc(var(--gs-hero-overlap) + 40px); }
  .gs-pm-hero__bg { object-position: 50% 0; }
  .gs-pm-hero::before {
    background: linear-gradient(180deg,
      rgba(166, 25, 22, .30) 0%,
      rgba(166, 25, 22, .62) 42%,
      rgba(138, 20, 18, .92) 100%);
  }
  .gs-pm-cards__grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; gap: 16px; }

  .gs-pm-planes { padding: 72px 0 72px; }
  .gs-pm-planes__grid, .gs-pm-paquetes { grid-template-columns: 1fr; max-width: 480px; }
  .gs-pm-subtitle { margin-top: 64px; }

  .gs-pm-flyers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gs-pm-flyers__vermas { grid-column: 1 / -1; }

  .gs-pm-social__grid { grid-template-columns: 1fr; gap: 36px; }
  .gs-pm-produccion { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
  .gs-pm-prod-thumbs { grid-column: 1 / -1; }

  .gs-pm-material__grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
  .gs-pm-btl__grid { grid-template-columns: 1fr; }
  .gs-pm-btl__media { justify-self: center; width: min(100%, 420px); }

  .gs-pm-adicionales__list { grid-template-columns: 1fr; max-width: 560px; }
}
@media (max-width: 600px) {
  .gs-pm-hero__sub { font-size: 16px; }
  .gs-pm-trabajo__panel, .gs-pm-material__panel { padding: 36px 20px; border-radius: 28px; }
  .gs-pm-trabajo, .gs-pm-social, .gs-pm-material, .gs-pm-btl, .gs-pm-adicionales { padding-bottom: 72px; }
  .gs-pm-flyers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .gs-pm-videos { grid-template-columns: 1fr; }
  .gs-pm-branding { grid-template-columns: 1fr; }
  .gs-pm-branding__c { aspect-ratio: 3 / 1; }
  .gs-pm-vermas { letter-spacing: .2em; }
  /* Celulares: tres más chicos, mismo esquema. */
  .gs-pm-social__phones { gap: 10px; margin: 64px 0 48px; }
  .gs-pm-phone { width: 30%; }
  .gs-pm-phone--center { width: 34%; }
  .gs-pm-phone::before { top: -22px; border-radius: 16px; }
  .gs-pm-phone--center::before { top: -38px; }
  .gs-pm-produccion { gap: 14px; }
  .gs-pm-card__body { padding: 20px 20px 22px; }
  .gs-pm-btl__list li { padding: 16px 18px; }
  .gs-pm-adicionales__list li { padding: 18px 20px; }
  .gs-pm-sheet { padding-bottom: 72px; }
}
