/* ==========================================================================
   PRINT'N RUN — Estilos de páginas internas
   (Nosotros, Productos, Contacto)
   ========================================================================== */

/* --------------------------------------------------------------------------
   A. Hero de página interior
   -------------------------------------------------------------------------- */
.page-hero { padding-top: clamp(16px, 3.7vw, 54px); }

.page-hero__card {
  position: relative;
  background: var(--teal);
  border-radius: var(--r-hero);
  min-height: clamp(300px, 30vw, 411px);
  padding: clamp(28px, 4vw, 58px) clamp(24px, 4.6vw, 64px);
  display: flex;
  align-items: center;
  overflow: visible;
}

.page-hero__copy { position: relative; z-index: 3; max-width: 62%; }

.page-hero__title {
  color: var(--white);
  font-size: clamp(34px, 5.2vw, 76px);
  line-height: 1.06;
  letter-spacing: -.015em;
  text-transform: uppercase;
}

.page-hero__title .accent {
  font-style: italic;
  font-weight: 800;
}

.page-hero__title .pill-word { position: relative; display: inline-block; z-index: 1; padding-inline: .16em; }

.page-hero__title .pill-word::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 8% -.12em 2% -.12em;
  background: var(--orange);
  border-radius: var(--r-pill);
}

.page-hero__media {
  position: absolute;
  right: clamp(10px, 2.4vw, 34px);
  top: clamp(-10px, -.4vw, -6px);
  width: 52%;
  height: 108%;
  z-index: 2;
  pointer-events: none;
}

.page-hero__media img {
  position: absolute;
  height: auto;
  max-height: 132%;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0, 60, 57, .25));
}

/* Collage nosotros (legado) */

/* --------------------------------------------------------------------------
   A2. Hero de NOSOTROS — reconstruido desde el SVG del Figma
   Tarjeta: 1364 × 411,5 · rx 61 (SVG aparte)
   Frame de contenido: 1280 × 443 (todo en cqw para escalar exacto)
   El collage sobresale 16 px arriba/abajo de la tarjeta.
   -------------------------------------------------------------------------- */
.page-hero__card--nos {
  --pad-nos: clamp(18px, 3.11vw, 43px);
  height: auto;
  aspect-ratio: 1364.08 / 411.49;   /* la tarjeta y el collage escalan juntos */
  padding-block: 0;
  padding-inline: var(--pad-nos);
  display: block;
}

.hero-nos {
  position: absolute;
  left: 5.8611%;          /* 79,94 / 1364,08 */
  right: .3079%;          /* 4,20 / 1364,08 */
  top: -5.8324%;          /* -24 / 411,49 */
  aspect-ratio: 1280 / 443;
  container-type: inline-size;
}

.hero-nos__title {
  position: absolute;
  left: 0;
  top: 9.375cqw;         /* 120 / 1280 */
  width: 46.875cqw;      /* 600 / 1280 */
  aspect-ratio: 600 / 216;
  margin: 0;
  line-height: 0;
}

/* Titulo partido en 3 lineas (misma animacion que el hero de INICIO) */
.hero-nos__title .line {
  position: absolute;
  display: block;
}

.hero-nos__title .line img {
  display: block;
  width: 100%;
  height: auto;
}

.hero-nos__title .line--1 { left: 0; top: .4630%; width: 84.0000%; }  /* 504 x 57  en (0, 121) */
.hero-nos__title .line--2 { left: 0; top: 31.9444%; width: 75.3333%; } /* 452 x 76  en (0, 189) */
.hero-nos__title .line--3 { left: 0; top: 72.2222%; width: 100.3333%; } /* 602 x 59  en (0, 276) */

.hero-nos__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-nos__media img {
  position: absolute;
  display: block;
}

/* Pañoleta (rect redondeado 654 × 427 en 474, 9 · r 53) */
.hero-nos__media .n1 {
  left: 37.031cqw;
  top: .703cqw;
  width: 51.094cqw;
  height: 33.359cqw;
  border-radius: 4.141cqw;
}

/* Persona con hoodie (519 × 435 en 761, 0) */
.hero-nos__media .n2 {
  left: 59.453cqw;
  top: 0;
  width: 40.547cqw;
  height: 33.984cqw;
}

/* Lanyard (287 × 169 en 772, 274) */
.hero-nos__media .n3 {
  left: 60.313cqw;
  top: 21.406cqw;
  width: 22.422cqw;
  height: 13.203cqw;
}

/* Botella girada 20.0457º (109.09 × 195.8 en 1152.74, 191.932) */
.hero-nos__media .n4 {
  left: 90.058cqw;
  top: 14.994cqw;
  width: 8.523cqw;
  height: 15.297cqw;
  transform: rotate(20.0457deg);
  transform-origin: 0 0;
}

/* --------------------------------------------------------------------------
   A3. Hero de PRODUCTOS — medidas del frame de Figma (1364,08 × 411,49)
   -------------------------------------------------------------------------- */
.page-hero__card--prod {
  position: relative;
  overflow: hidden;
  height: auto;
  min-height: 0;
  aspect-ratio: 1364.08 / 411.49;
  padding: 0;
  background: var(--teal);
}

.hero-prod {
  position: absolute;
  inset: 0;
  container-type: inline-size;
}

.hero-prod__title {
  position: absolute;
  inset: 0;
  margin: 0;
}

/* Título partido en 2 líneas (misma animación que INICIO / NOSOTROS) */
.hero-prod__title .line {
  position: absolute;
  display: block;
}

.hero-prod__title .line img {
  display: block;
  width: 100%;
  height: auto;
}

.hero-prod__title .line--1 { left: 5.9848cqw; top: 7.0800cqw; width: 40.9000cqw; }
.hero-prod__title .line--2 { left: 6.4967cqw; top: 15.6148cqw; width: 39.9800cqw; }

.hero-prod__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-prod__media img { position: absolute; display: block; }

/* Cubeta 362 × 345 en (679,94 · 69) */
.hero-prod__media .p1 {
  left: 49.8460cqw;
  top: 5.0579cqw;
  width: 26.5381cqw;
  height: 25.2924cqw;
}

/* Mochila 434,46 × 412 en (862,78 · 5,18) */
.hero-prod__media .p2 {
  left: 63.2509cqw;
  top: .3797cqw;
  width: 31.8502cqw;
  height: 30.2031cqw;
}

/* Estuche 354,69 × 164,53 en (1028,78 · 264,18) */
.hero-prod__media .p3 {
  left: 75.4198cqw;
  top: 19.3662cqw;
  width: 26.0021cqw;
  height: 12.0611cqw;
}

/* Collage contacto */
.page-hero--contacto .h1 { left: 0;    top: -4%; width: 46%; }
.page-hero--contacto .h2 { left: 40%;  top: 2%;  width: 34%; }
.page-hero--contacto .h3 { right: 1%;  top: -8%; width: 22%; }
.page-hero--contacto .h4 { right: 4%;  top: 46%; width: 24%; }

/* Collage categorías */
.page-hero--cat .h1 { left: 0;    top: 6%;   width: 42%; }
.page-hero--cat .h2 { left: 36%;  top: -6%;  width: 40%; }
.page-hero--cat .h3 { right: 0;   top: 12%;  width: 28%; }

/* --------------------------------------------------------------------------
   B. Nosotros — secciones medidas sobre el frame de Figma 1440 × 4079.
   Cada bloque es una escena de proporción fija; todo va en cqw.
   -------------------------------------------------------------------------- */

/* ¿QUIÉNES SOMOS? — escena 1233 × 535 en (103,6 · 722,3) */
.n-intro { margin-top: min(115px, 7.99vw); }

.n-intro__stage {
  position: relative;
  width: min(1233px, 100% - (var(--gutter) * 2));
  margin-inline: auto;
  aspect-ratio: 1233 / 535;
  container-type: inline-size;
}

.n-intro__title {
  position: absolute;
  left: .217cqw;
  top: 0;
  width: 49.1cqw;
  margin: 0;
  line-height: 0;
}

.n-intro__title img { display: block; width: 100%; height: auto; }

.n-intro__text {
  position: absolute;
  left: 0;
  top: 20.15cqw;
  width: 50.22cqw;
  font-size: 1.2977cqw;
  line-height: 1.3;
}

.n-intro__text p + p { margin-top: .74em; }

/* Fotos con la misma entrada y el mismo zoom que las de “Ellos confiaron” (INICIO) */
.n-intro__photo {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border-radius: 3.081cqw;
  background: rgba(0, 174, 162, .1);
}

.n-intro__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--ease);
}

.n-intro__photo:hover img { transform: scale(1.05); }

.n-intro__photo--a { left: 56.644cqw; top: 14.493cqw; width: 15.653cqw; height: 26.115cqw; }
.n-intro__photo--b { left: 73.514cqw; top: 8.005cqw; width: 26.521cqw; height: 35.361cqw; border-radius: 2.839cqw; }

/* ¿QUÉ HACEMOS? — tarjeta 1224 × 443 en (106 · 1363) · r 61 · #00928C */
.n-what { margin-top: min(106px, 7.36vw); }

.n-what__stage {
  position: relative;
  width: min(1224px, 100% - (var(--gutter) * 2));
  margin-inline: auto;
  aspect-ratio: 1224 / 443;
  container-type: inline-size;
}

.n-what__card {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--teal-dark);
  border-radius: 4.984cqw;
  color: var(--white);
}

.n-what__title {
  position: absolute;
  left: 5.467cqw;
  top: 5.574cqw;
  width: 38.99cqw;
  margin: 0;
  font-size: 6.863cqw;
  line-height: 1;
  letter-spacing: -.02em;
  font-weight: 800;
  text-transform: uppercase;
  color: #E6F1F2;
}

.n-what__text {
  position: absolute;
  left: 5.276cqw;
  top: 22.847cqw;
  width: 43.097cqw;
  margin: 0;
  font-size: 1.3072cqw;
  line-height: 1.34;
  color: var(--white);
}

.n-what__photo {
  position: absolute;
  left: 59.232cqw;
  top: 3.595cqw;
  width: 37.663cqw;
  height: 29.085cqw;
  margin: 0;
  overflow: hidden;
  border-radius: 2.124cqw;
}

.n-what__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--ease);
}

.n-what__photo:hover img { transform: scale(1.05); }

/* PORTAFOLIO — tarjeta 1114 × 440 en (171 · 1866) · borde 2 px · r 30 */
.n-portfolio { margin-top: min(60px, 4.17vw); }

.n-portfolio__stage {
  position: relative;
  width: min(1114px, 100% - (var(--gutter) * 2));
  margin-inline: auto;
  aspect-ratio: 1114 / 440;
  container-type: inline-size;
}

.n-portfolio__card {
  position: absolute;
  inset: 0;
  border: 2px solid var(--teal);
  border-radius: 2.693cqw;
}

.n-portfolio__head {
  position: absolute;
  left: 10.592cqw;
  top: 4.1cqw;
  width: 73.159cqw;
  margin: 0;
  font-size: 2.98cqw;
  line-height: 1.12;
  font-weight: 700;
  color: var(--teal);
}

.n-portfolio__lead { color: var(--orange); }

.n-portfolio__pills {
  position: absolute;
  left: 9.964cqw;
  top: 14.542cqw;
  width: 75.763cqw;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, 3.949cqw);
  grid-auto-flow: column;
  column-gap: 3.052cqw;
  row-gap: 1.346cqw;
}

.n-portfolio__pills li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 .55em;
  border: 2px solid var(--teal);
  border-radius: 999px;
  background: var(--mint);
  color: var(--teal);
  font-size: 1.41cqw;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

.n-portfolio__arrow {
  position: absolute;
  left: 93.4cqw;
  top: 33.526cqw;
  width: 3.548cqw;
  height: 3.548cqw;
  display: block;
  transition: transform .35s var(--ease);
}

.n-portfolio__arrow:hover { transform: translate(3px, -3px); }
.n-portfolio__arrow svg { display: block; width: 100%; height: 100%; }

/* INGENIERÍA — tarjeta 1224 × 377 en (106 · 2366) · foto 446 × 317 · texto 522 */
.n-engineering { margin-top: min(60px, 4.17vw); }

.n-engineering__stage {
  position: relative;
  width: min(1224px, 100% - (var(--gutter) * 2));
  margin-inline: auto;
  aspect-ratio: 1224 / 377;
  container-type: inline-size;
}

.n-engineering__card {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--teal-dark);
  border-radius: 4.984cqw;
  color: var(--white);
}

.n-engineering__photo {
  position: absolute;
  left: 2.614cqw;
  top: 2.369cqw;
  width: 36.438cqw;
  height: 25.899cqw;
  margin: 0;
  overflow: hidden;
  border-radius: 2.042cqw;
}

.n-engineering__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s var(--ease);
}

.n-engineering__photo:hover img { transform: scale(1.05); }

.n-engineering__text {
  position: absolute;
  left: 50.076cqw;
  top: 9.046cqw;
  width: 42.686cqw;
  font-size: 1.3072cqw;
  line-height: 1.35;
  text-align: right;
  color: #FEFEFF;
}

.n-engineering__text p { margin: 0; }
.n-engineering__text p + p { margin-top: .62em; }

/* VISIÓN / MISIÓN / VALORES — escena 1263 × 687 en (87,5 · 2765) */
.vmv {
  margin-top: min(22px, 1.53vw);
  padding-bottom: min(97px, 6.74vw);
}

.vmv__stage {
  position: relative;
  width: min(1263px, 100% - (var(--gutter) * 2));
  margin-inline: auto;
  aspect-ratio: 1263 / 687;
  container-type: inline-size;
}

.vmv__col {
  position: absolute;
  top: 0;
  width: 31.591cqw;
  height: 54.355cqw;
}

.vmv__col--1 { left: 0; }
.vmv__col--2 { left: 34.204cqw; }
.vmv__col--3 { left: 68.409cqw; }

.vmv__icon {
  position: absolute;
  top: 0;
  left: 7.641cqw;
  width: 16.864cqw;
  height: 25.336cqw;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0, 87, 82, .16));
  z-index: 3;
}

.vmv__col--2 .vmv__icon { left: 7.878cqw; top: .554cqw; width: 14.964cqw; height: 22.486cqw; }
.vmv__col--3 .vmv__icon { left: 8.116cqw; top: .554cqw; }

.vmv__card {
  position: absolute;
  left: 0;
  top: 15.796cqw;
  width: 31.591cqw;
  height: 38.559cqw;
  border: 1px solid var(--teal);
  border-radius: 2.217cqw;
  background: none;
  z-index: 1;
}

.vmv__card h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: 5.7cqw;
  margin: 0;
  text-align: center;
  font-size: 5.542cqw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--teal);
}

.vmv__body {
  position: absolute;
  left: 2.824cqw;
  top: 14.505cqw;
  width: 25.711cqw;
  color: var(--teal-deep);
  font-size: 1.25cqw;
  line-height: 1.38;
  text-align: justify;
}

.vmv__col--2 .vmv__body { left: 2.858cqw; width: 25.911cqw; }
.vmv__col--3 .vmv__body { left: 3.521cqw; width: 23.674cqw; }

.vmv__body p { margin: 0; }
.vmv__body p + p { margin-top: .8em; }
.vmv__body ul { margin: 0; padding: 0; list-style: none; text-align: left; }
.vmv__body li { position: relative; padding-left: 1.25em; }
.vmv__body li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
}

/* Marcas sobre fondo claro */
.marcas { margin-top: var(--section-gap); }

.marcas__title {
  color: var(--teal);
  font-size: clamp(30px, 4.4vw, 60px);
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: clamp(16px, 2.4vw, 32px);
}

.marcas__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(10px, 1.6vw, 22px);
}

.marcas__grid .brand-chip {
  background: var(--white);
  border: 1px solid rgba(0, 174, 162, .18);
  color: var(--teal-dark);
}

.marcas__grid .brand-chip:hover { background: var(--mint); }

/* --------------------------------------------------------------------------
   C. Productos
   -------------------------------------------------------------------------- */
.p-menu { margin-top: clamp(26px, 3.4vw, 46px); padding-bottom: clamp(48px, 6.5vw, 104px); }

.tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(6px, 1.2vw, 18px);
  background: var(--teal-deep);
  border-radius: var(--r-pill);
  padding: clamp(6px, .8vw, 9px) clamp(10px, 1.6vw, 22px);
  margin-bottom: clamp(24px, 3.6vw, 52px);
  overflow-x: auto;
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar { display: none; }

.tabs a {
  color: var(--white);
  font-weight: 700;
  font-size: clamp(11px, 1.3vw, 20px);
  padding: .55em 1em;
  border-radius: var(--r-pill);
  white-space: nowrap;
  transition: background .3s var(--ease), color .3s var(--ease);
}

.tabs a:hover { background: rgba(255, 255, 255, .16); }

.tabs a.is-active { background: var(--orange); }

.p-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 44px);
}

.p-card {
  position: relative;
  display: block;
  border-radius: clamp(20px, 2.6vw, 34px);
  background: var(--white);
  aspect-ratio: 578 / 598;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0, 87, 82, .08);
  transition: box-shadow .4s var(--ease), transform .4s var(--ease);
}

.p-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px rgba(0, 87, 82, .16);
}

.p-card__collage { position: absolute; inset: 0; }

.p-card__collage img {
  position: absolute;
  height: auto;
  object-fit: contain;
  transition: transform .7s var(--ease);
  filter: drop-shadow(0 12px 22px rgba(0, 87, 82, .14));
}

.p-card:hover .p-card__collage img { transform: translateY(-4px) scale(1.03); }

.p-card__collage .i1 { left: 4%;  bottom: 8%;  width: 58%; }
.p-card__collage .i2 { right: 2%; bottom: 20%; width: 42%; }
.p-card__collage .i3 { left: 26%; top: 4%;     width: 40%; }

.p-card__label {
  position: absolute;
  left: clamp(14px, 2vw, 28px);
  bottom: clamp(14px, 2vw, 26px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .6em;
  background: var(--teal);
  color: var(--white);
  font-weight: 700;
  font-size: clamp(12px, 1.1vw, 17px);
  padding: .6em 1.2em;
  border-radius: var(--r-pill);
}

.p-card__label svg { width: 13px; height: 13px; }

.p-card--wide { grid-column: span 2; aspect-ratio: 1218 / 420; }

.p-pager {
  margin-top: clamp(26px, 3.4vw, 50px);
  display: flex;
  justify-content: center;
  gap: 10px;
}

.p-pager button {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(0, 174, 162, .3);
  background: transparent;
  color: var(--teal);
  font-weight: 700;
  cursor: pointer;
  transition: background .3s var(--ease), color .3s var(--ease);
}

.p-pager button.is-active,
.p-pager button:hover { background: var(--teal); color: var(--white); }

/* --------------------------------------------------------------------------
   D. Contacto
   -------------------------------------------------------------------------- */
.c-form { margin-top: clamp(28px, 4vw, 56px); }

.c-form__box {
  background: var(--teal);
  border-radius: clamp(26px, 4vw, 53px);
  padding: clamp(22px, 3vw, 46px);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(22px, 3.6vw, 52px);
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

.c-form__photo {
  width: 100%;
  height: 100%;
  min-height: clamp(240px, 36vw, 500px);
  object-fit: cover;
  border-radius: clamp(16px, 2.4vw, 30px);
}

.c-form__fields { position: relative; z-index: 2; }

.c-form__title {
  color: var(--mint);
  font-weight: 600;
  font-size: clamp(19px, 1.9vw, 24px);
  line-height: 1.35;
  margin-bottom: clamp(16px, 2vw, 26px);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 20px);
}

.field { display: flex; flex-direction: column; gap: .45em; }
.field--full { grid-column: 1 / -1; }

.field label {
  color: var(--mint);
  font-weight: 600;
  font-size: clamp(13px, 1.3vw, 16px);
}

.field input,
.field textarea {
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: var(--teal-deep);
  color: var(--white);
  padding: .85em 1.1em;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 500;
  transition: box-shadow .3s var(--ease), background .3s var(--ease);
}

.field input { height: clamp(44px, 3.6vw, 52px); }
.field textarea { min-height: clamp(80px, 6.5vw, 93px); resize: vertical; }

.field input::placeholder,
.field textarea::placeholder { color: rgba(217, 248, 246, .55); }

.field input:focus,
.field textarea:focus {
  outline: 0;
  background: #0f827d;
  box-shadow: 0 0 0 3px rgba(241, 135, 5, .65);
}

.form-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: clamp(14px, 1.8vw, 22px);
  flex-wrap: wrap;
}

.form-note {
  color: var(--mint);
  font-size: clamp(11px, 1vw, 14px);
  max-width: 34ch;
  opacity: .9;
}

.btn-send {
  border: 0;
  cursor: pointer;
  background: var(--orange);
  color: var(--white);
  font-weight: 700;
  font-size: clamp(14px, 1.15vw, 17px);
  padding: .85em 1.6em .85em 2em;
  border-radius: var(--r-pill);
  display: inline-flex;
  align-items: center;
  gap: .7em;
  transition: background .3s var(--ease), transform .3s var(--ease);
}

.btn-send:hover { background: #ff9209; transform: translateY(-2px); }
.btn-send svg { width: 16px; height: 16px; }

.form-status {
  margin-top: 12px;
  color: var(--mint);
  font-size: 13px;
  font-weight: 600;
  min-height: 1em;
}

/* Tarjetas de información */
.c-info { margin-top: var(--section-gap); }

.c-info__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 3.4vw, 48px);
  align-items: start;
}

.info-card h2 {
  color: var(--teal);
  font-size: clamp(28px, 3.9vw, 56px);
  line-height: .98;
  text-transform: uppercase;
  margin-bottom: clamp(12px, 1.8vw, 22px);
}

.info-card h2 span { display: block; }

.info-card__media {
  position: relative;
  border-radius: clamp(16px, 2vw, 25px);
  overflow: hidden;
  margin-bottom: clamp(14px, 2vw, 22px);
}

.info-card__media img { width: 100%; height: auto; }

.info-card__map img { border-radius: clamp(16px, 2vw, 25px); }

.info-card__arrow { position: absolute; right: 12px; bottom: 12px; }

.info-card p,
.info-card li {
  font-size: clamp(13px, 1.08vw, 16px);
  font-weight: 700;
  color: var(--teal);
  line-height: 1.55;
}

.info-card ul { display: flex; flex-direction: column; gap: .55em; }

.info-card a:hover { text-decoration: underline; }

.info-card__label {
  display: block;
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 700;
  color: var(--teal);
  margin-top: clamp(12px, 1.6vw, 20px);
  margin-bottom: .35em;
}

.info-card__social {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.info-card__social img { width: 22px; height: 22px; }

.info-card__schedule {
  display: block;
  margin-top: .5em;
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   F. Páginas de categoría
   -------------------------------------------------------------------------- */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  color: var(--mint);
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: .9em;
}

.eyebrow::before {
  content: '';
  width: 26px;
  height: 3px;
  border-radius: 999px;
  background: var(--orange);
}

.cat-lead {
  color: var(--white);
  opacity: .92;
  max-width: 46ch;
  margin-top: 1.1em;
  font-size: clamp(14px, 1.15vw, 17px);
  line-height: 1.6;
}

.cat-body { margin-top: var(--section-gap); }

.cat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.4vw, 34px);
}

.cat-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: clamp(18px, 2.2vw, 28px);
  padding: clamp(14px, 1.8vw, 24px);
  box-shadow: 0 8px 22px rgba(0, 87, 82, .07);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}

.cat-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 87, 82, .15);
}

.cat-item__img {
  position: relative;
  background: var(--mint);
  border-radius: clamp(14px, 1.6vw, 20px);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  margin-bottom: clamp(12px, 1.4vw, 18px);
}

.cat-item__img img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  transition: transform .6s var(--ease);
  filter: drop-shadow(0 12px 20px rgba(0, 87, 82, .16));
}

.cat-item:hover .cat-item__img img { transform: scale(1.06); }

.cat-item h3 {
  color: var(--teal);
  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.25;
}

.cat-item span {
  margin-top: .35em;
  color: var(--teal-deep);
  font-size: clamp(11px, .95vw, 13px);
  font-weight: 500;
  opacity: .75;
}

.cat-cta { margin-top: var(--section-gap); }

.cat-cta__box {
  background: var(--teal-dark);
  border-radius: var(--r-box);
  padding: clamp(30px, 4.6vw, 70px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 3vw, 48px);
  flex-wrap: wrap;
}

.cat-cta__box h2 {
  color: var(--white);
  font-size: clamp(26px, 3.6vw, 52px);
  line-height: 1.02;
  text-transform: uppercase;
  max-width: 18ch;
}

.cat-cta__box p {
  color: var(--mint);
  margin-top: .8em;
  max-width: 42ch;
  font-size: clamp(13px, 1.05vw, 16px);
}

@media (max-width: 900px) {
  .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .cat-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1080px) {
  .page-hero__copy { max-width: 100%; }
  .page-hero__media { position: relative; right: auto; top: auto; width: 100%; height: clamp(220px, 34vw, 340px); margin-top: 22px; }
  .page-hero__card { flex-direction: column; align-items: flex-start; }

  /* Hero PRODUCTOS apilado */
  .page-hero__card--prod { aspect-ratio: auto; padding: clamp(22px, 3.6vw, 34px); }
  .hero-prod { position: static; }
  .hero-prod__title { position: relative; width: 100%; max-width: 520px; margin-bottom: clamp(16px, 3vw, 24px); }
  .hero-prod__title .line { position: relative; left: auto; top: auto; width: 100% !important; }
  .hero-prod__title .line--2 { margin-top: 4px; }
  .hero-prod__media { position: relative; inset: auto; width: 100%; height: clamp(240px, 44vw, 360px); overflow: visible; }
  .hero-prod__media .p1 { left: 2%; top: 14%; width: 40%; height: auto; }
  .hero-prod__media .p2 { left: 38%; top: 0; width: 50%; height: auto; }
  .hero-prod__media .p3 { left: 60%; top: 58%; width: 38%; height: auto; }

  /* Hero NOSOTROS apilado */
  .page-hero__card--nos { height: auto; padding: clamp(20px, 3.6vw, 34px); }
  .hero-nos { position: static; transform: none; aspect-ratio: auto; }
  .hero-nos__title { position: relative; left: 0; top: 0; width: 100%; max-width: 560px; margin-bottom: clamp(18px, 3.6vw, 30px); }
  .hero-nos__media { position: relative; inset: auto; width: 100%; height: clamp(240px, 44vw, 340px); }
  .hero-nos__media .n1 { left: -2%; top: 10%; width: 58%; height: auto; border-radius: 8.1% / 12.4%; }
  .hero-nos__media .n2 { left: 38%; top: -3%; width: 66%; height: auto; }
  .hero-nos__media .n3 { left: 26%; top: 56%; width: 34%; height: auto; }
  .hero-nos__media .n4 { left: auto; right: 2%; top: 12%; width: 15%; height: auto; transform-origin: 50% 50%; }

  /* Secciones de NOSOTROS apiladas */
  .n-intro__stage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 18px 16px;
    width: calc(100% - (var(--gutter) * 2));
    aspect-ratio: auto;
    container-type: normal;
  }
  .n-intro__title,
  .n-intro__text { position: static; grid-column: 1 / -1; width: min(640px, 100%); margin: 0; }
  .n-intro__title img { width: min(560px, 100%); }
  .n-intro__text { font-size: clamp(14px, 1.7vw, 16px); }
  .n-intro__photo { position: static; width: 100%; height: clamp(200px, 34vw, 380px); border-radius: 22px; }

  .n-what__stage { width: calc(100% - (var(--gutter) * 2)); aspect-ratio: auto; container-type: normal; }
  .n-what__card {
    position: static;
    display: grid;
    gap: 18px;
    padding: clamp(28px, 4.6vw, 46px);
    border-radius: clamp(24px, 3.6vw, 34px);
  }
  .n-what__title { position: static; width: auto; font-size: clamp(36px, 6.6vw, 62px); }
  .n-what__text { position: static; width: min(560px, 100%); font-size: clamp(14px, 1.7vw, 16px); }
  .n-what__photo { position: static; width: 100%; height: clamp(220px, 44vw, 330px); }

  .n-portfolio__stage { width: calc(100% - (var(--gutter) * 2)); aspect-ratio: auto; container-type: normal; }
  .n-portfolio__card {
    position: static;
    display: grid;
    gap: clamp(16px, 2.4vw, 24px);
    padding: clamp(24px, 4vw, 42px);
    border-radius: clamp(22px, 3vw, 30px);
  }
  .n-portfolio__head { position: static; width: auto; font-size: clamp(20px, 3.2vw, 32px); }
  .n-portfolio__pills {
    position: static;
    width: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    gap: 10px 12px;
  }
  .n-portfolio__pills li { height: auto; min-height: 44px; padding: 10px 16px; font-size: clamp(12px, 1.5vw, 14px); white-space: normal; }
  .n-portfolio__arrow { position: static; justify-self: end; width: 40px; height: 40px; }

  .n-engineering__stage { width: calc(100% - (var(--gutter) * 2)); aspect-ratio: auto; container-type: normal; }
  .n-engineering__card {
    position: static;
    display: grid;
    gap: clamp(18px, 3vw, 26px);
    padding: clamp(26px, 4.6vw, 46px);
    border-radius: clamp(24px, 3.6vw, 34px);
  }
  .n-engineering__photo { position: static; width: 100%; height: clamp(220px, 44vw, 340px); }
  .n-engineering__text { position: static; width: auto; font-size: clamp(14px, 1.7vw, 16px); text-align: left; }

  .vmv__stage {
    width: calc(100% - (var(--gutter) * 2));
    aspect-ratio: auto;
    container-type: normal;
    display: grid;
    gap: clamp(30px, 5.4vw, 46px);
  }
  .vmv__col {
    position: static;
    width: min(560px, 100%);
    height: auto;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .vmv__icon,
  .vmv__col--2 .vmv__icon,
  .vmv__col--3 .vmv__icon { position: static; width: auto; height: clamp(88px, 13vw, 120px); }
  .vmv__card {
    position: relative;
    width: 100%;
    height: auto;
    margin-top: -10px;
    border-radius: clamp(22px, 3vw, 30px);
    padding: clamp(30px, 5vw, 46px) clamp(22px, 3.4vw, 34px) clamp(24px, 3.4vw, 32px);
  }
  .vmv__card h3 { position: static; margin: 0 0 clamp(16px, 2.4vw, 22px); font-size: clamp(36px, 6vw, 54px); }
  .vmv__body,
  .vmv__col--2 .vmv__body,
  .vmv__col--3 .vmv__body { position: static; width: auto; font-size: clamp(13px, 1.6vw, 15px); }
  .marcas__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .c-form__box { grid-template-columns: 1fr; }
  .c-form__photo { min-height: 240px; max-height: 380px; }
  .c-info__grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .p-grid { grid-template-columns: 1fr; }
  .p-card--wide { grid-column: span 1; aspect-ratio: 578 / 598; }
  .pill-list { grid-template-columns: 1fr; }
  .marcas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-grid { grid-template-columns: 1fr; }
  .c-form__box { padding: 22px 18px; }
}

/* ==========================================================================
   MATERIAL POP — página de categoría (frame Figma 1440 × 3472)
   Tabs 1217 × 59 en (112 · 667) · tarjetas 577 × 597
   Todo lo interno de la tarjeta va en cqw (1cqw = 5,77 px a 1440)
   ========================================================================== */

/* ---------------------------------------------------------------- Tabs --- */
.mp-tabs-wrap { margin-top: min(59px, 4.1vw); position: relative; z-index: 40; }

.mp-tabs {
  position: relative;
  width: min(1217px, 100% - 64px);
  height: clamp(46px, 4.1vw, 59px);
  margin-inline: auto;
  border-radius: 999px;
  background: var(--teal-deep);
  container-type: inline-size;
  z-index: 40;
}

.mp-tab {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 1.643cqw;            /* 20 px */
  font-weight: 700;
  line-height: 1;
  letter-spacing: .005em;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity .25s var(--ease);
}

.mp-tab:hover > a { opacity: .8; }

.mp-tab.is-active {
  padding: .18em .72em;
  border-radius: 999px;
  background: var(--pink);
}

.mp-tab:nth-child(1) { left: 3.205%; }
.mp-tab:nth-child(2) { left: 22.367%; }
.mp-tab:nth-child(3) { left: 37.535%; }
.mp-tab:nth-child(4) { left: 49.006%; }
.mp-tab:nth-child(5) { left: 66.105%; }
.mp-tab:nth-child(6) { left: 82.137%; }

/* Menú desplegable de cada categoría (diseño de Figma) */
.mp-tab > a { color: inherit; font: inherit; letter-spacing: inherit; text-decoration: none; white-space: nowrap; }
.mp-tab__menu {
  position: absolute;
  top: calc(100% + 16px);
  left: 0;
  min-width: 252px;
  padding: 18px 22px;
  background: var(--teal);
  border-radius: 16px;
  display: none;
  flex-direction: column;
  gap: 10px;
  z-index: 60;
  box-shadow: 0 22px 44px rgba(0, 0, 0, .14);
}
.mp-tab:hover .mp-tab__menu,
.mp-tab:focus-within .mp-tab__menu { display: flex; }
.mp-tab__menu a {
  color: #fff;
  font-size: clamp(10px, .8vw, 11.5px);
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.35;
  white-space: nowrap;
  transition: color .15s ease;
}
.mp-tab__menu a:hover { color: var(--orange); }
.mp-tab:nth-child(n+5) .mp-tab__menu { left: auto; right: 0; }
@media (max-width: 1080px) { .mp-tab__menu { display: none !important; } }

/* ------------------------------------------------------ Rejilla y tarjetas --- */
.mp-section {
  margin-top: min(75px, 5.2vw);
  padding-bottom: min(108px, 7.5vw);
}

.mp-grid {
  width: min(1206px, 100% - 64px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(57px, 3.96vw) min(50px, 3.47vw);
}

.mp-card {
  position: relative;
  aspect-ratio: 578 / 598;
  border: 1px solid var(--teal);
  border-radius: clamp(12px, 1.7vw, 24px);
  container-type: inline-size;
}

.mp-card__head {
  position: absolute;
  left: var(--hx);
  top: var(--hy);
  margin: 0;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .004em;
}

.mp-card__head span {
  display: inline-block;
  padding: .26em .95em;
  border-radius: 999px;
  background: var(--teal);
  color: #E6F1F2;
  font-size: var(--hf);
  line-height: 1;
}

.mp-card__head em {
  display: block;
  margin-top: .1em;
  color: var(--teal);
  font-style: normal;
  font-size: var(--ef);
  line-height: 1;
}

/* Fotos de producto */
.mp-photo { position: absolute; margin: 0; }
.mp-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Panel “Características” */
.mp-panel {
  position: absolute;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--teal);
  border-radius: 1.4cqw;
}

.mp-panel h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--phh, 8.02cqw);
  margin: 0;
  background: var(--teal);
  color: #fff;
  font-size: var(--phf, 3cqw);
  font-weight: 600;
  line-height: 1;
  text-align: center;
  letter-spacing: .005em;
}

.mp-panel ul {
  margin: 0;
  padding: .45em .85em .3em;
  list-style: none;
}

.mp-panel li {
  color: var(--teal-deep);
  font-size: var(--pf, 2.34cqw);
  font-weight: 600;
  line-height: 1.42;
  padding: var(--pp, .3em) 0;
  border-bottom: 1px solid rgba(0, 174, 162, .55);
}

.mp-panel li:last-child { border-bottom: 0; }

/* Panel “Medidas Estándar” */
.mp-measure {
  position: absolute;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--teal);
  border-radius: 1.4cqw;
}

.mp-measure h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.94cqw;
  margin: 0;
  background: var(--teal);
  color: #fff;
  font-size: 2.3cqw;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.mp-measure__band {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.31cqw;
  margin: 0;
  background: #2D8980;
  color: #fff;
  font-size: 2.3cqw;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

.mp-measure__row {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mp-measure__row li {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.17cqw;
  border-left: 1px solid rgba(0, 174, 162, .55);
  color: var(--teal-deep);
  font-size: 2.3cqw;
  font-weight: 600;
  text-align: center;
}

.mp-measure__row li:first-child { border-left: 0; }

/* Etiquetas “Contorno” */
.mp-tag {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--teal);
  border-radius: 999px;
  color: #fff;
  font-size: 2.3cqw;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
}

/* Códigos QR */
.mp-qr { position: absolute; margin: 0; text-align: center; }
.mp-qr img { display: block; width: 11.32cqw; height: 11.32cqw; }
.mp-qr figcaption {
  margin-top: .3em;
  color: var(--teal-deep);
  font-size: 2.3cqw;
  font-weight: 700;
  letter-spacing: .04em;
}

/* Notas con línea de puntos */
.mp-note {
  position: absolute;
  margin: 0;
  color: var(--teal-deep);
  font-size: 2.62cqw;
  font-weight: 600;
  line-height: 1.28;
}

.mp-dash {
  position: absolute;
  border-top: 1px dashed rgba(0, 174, 162, .85);
}

.mp-dash.is-l {
  border-left: 1px dashed rgba(0, 174, 162, .85);
}

/* ------------------------------------------------------- Tarjeta 1 · BANDERINES --- */
.mp-c1 { --hx: 9.34cqw; --hy: 9.88cqw; --hf: 4.29cqw; --ef: 0; --pf: 2.07cqw; --pp: .37em; --phf: 3cqw; --phh: 8.02cqw; }
.mp-c1 .ph1 { left: 36.83cqw; top: 25.04cqw; width: 29.98cqw; height: 68.36cqw; }
.mp-c1 .ph2 { left: 19.10cqw; top: 35.91cqw; width: 26.60cqw; height: 58.20cqw; }
.mp-c1 .ph3 { left: 7.37cqw;  top: 57.94cqw; width: 18.93cqw; height: 37.11cqw; }
.mp-c1 .pn1 { left: 63.26cqw; top: 9.88cqw; width: 28.70cqw; }
.mp-c1 .mp-measure { left: 63.52cqw; top: 55.30cqw; width: 28.70cqw; }

/* ------------------------------------------- Tarjeta 2 · ROMPETRÁFICO GIRATORIO --- */
.mp-c2 { --hx: 8.93cqw; --hy: 8.42cqw; --hf: 4.29cqw; --ef: 4.4cqw; --pf: 2.10cqw; --pp: .37em; --phf: 3cqw; --phh: 8.02cqw; }
.mp-c2 .ph1 { left: 12.13cqw; top: 31.09cqw; width: 25.93cqw; height: 52.51cqw; }
.mp-c2 .ph2 { left: 33.34cqw; top: 42.84cqw; width: 24.65cqw; height: 57.82cqw; }
.mp-c2 .pn1 { left: 62.45cqw; top: 7.28cqw; width: 28.70cqw; }
.mp-c2 .nt1 { left: 35.36cqw; top: 24.60cqw; }
.mp-c2 .ds1 { left: 25.13cqw; top: 28.60cqw; width: 10.23cqw; height: 5.20cqw; }
.mp-c2 .nt2 { left: 65.86cqw; top: 68.50cqw; }
.mp-c2 .ds2 { left: 57.54cqw; top: 69.84cqw; width: 8.32cqw; }

/* ----------------------------------------------- Tarjeta 3 · ROMPETRÁFICO RECTO --- */
.mp-c3 { --hx: 5.49cqw; --hy: 13.12cqw; --hf: 5.46cqw; --ef: 5.20cqw; --pf: 3.10cqw; --pp: .36em; --phf: 3cqw; --phh: 10.87cqw; }
.mp-c3 .ph1 { left: 25.91cqw; top: 35.44cqw; width: 24.61cqw; height: 52.51cqw; }
.mp-c3 .ph2 { left: 5.11cqw;  top: 31.28cqw; width: 20.45cqw; height: 52.86cqw; }
.mp-c3 .pn1 { left: 53.12cqw; top: 39.95cqw; width: 41.13cqw; }

/* -------------------------------------------- Tarjeta 4 · ROMPETRÁFICO BATIENTE --- */
.mp-c4 { --hx: 5.63cqw; --hy: 11.39cqw; --hf: 6.11cqw; --ef: 5.72cqw; --pf: 2.66cqw; --pp: .22em; --phf: 3cqw; --phh: 9.57cqw; }
.mp-c4 .ph1 { left: 8.41cqw; top: 36.13cqw; width: 40.38cqw; height: 58.23cqw; }
.mp-c4 .pn1 { left: 54.09cqw; top: 34.85cqw; width: 36.19cqw; }

/* ------------------------------------------------ Tarjeta 5 · ROMPETRÁFICO EÓLICO --- */
.mp-c5 { --hx: 10.83cqw; --hy: 6.76cqw; --hf: 4.24cqw; --ef: 4.5cqw; --pf: 2.22cqw; --phf: 2.8cqw; --phh: 8.02cqw; }
.mp-c5 .ph1 { left: 13.93cqw; top: 22.30cqw; width: 15.39cqw; height: 36.69cqw; }
.mp-c5 .ph2 { left: 13.93cqw; top: 61.27cqw; width: 14.80cqw; height: 36.12cqw; }
.mp-c5 .ph3 { left: 53.81cqw; top: 59.95cqw; width: 16.74cqw; height: 38.41cqw; }
.mp-c5 .pn1 { left: 58.30cqw; top: 6.76cqw; width: 30.36cqw; }
.mp-c5 .mp-tag { width: 24.70cqw; height: 6.93cqw; }
.mp-c5 .tg1 { left: 22.62cqw; top: 28.06cqw; }
.mp-c5 .tg2 { left: 22.62cqw; top: 67.37cqw; }
.mp-c5 .tg3 { left: 63.17cqw; top: 67.37cqw; }

/* ----------------------------------------- Tarjeta 6 · ROMPETRÁFICO BALA Y AÉREO --- */
.mp-c6 { --hx: 5.11cqw; --hy: 11.04cqw; --hf: 3.76cqw; --ef: 4.16cqw; --pf: 1.78cqw; --phf: 2.55cqw; --phh: 7.12cqw; }
.mp-c6 .ph1 { left: 8.02cqw; top: 29.34cqw; width: 43.67cqw; height: 24.02cqw; }
.mp-c6 .ph2 { left: 9.67cqw; top: 56.27cqw; width: 41.66cqw; height: 27.79cqw; }
.mp-c6 .pn1 { left: 69.93cqw; top: 11.07cqw; width: 25.46cqw; }
.mp-c6 .qr1 { left: 76.45cqw; top: 50.90cqw; }
.mp-c6 .qr2 { left: 76.36cqw; top: 69.98cqw; }
.mp-c6 .nt1 { left: 22.53cqw; top: 85.27cqw; }
.mp-c6 .ds1 { left: 12.48cqw; top: 87.52cqw; width: 9.53cqw; height: 2.43cqw; }

/* -------------------------------------------------------------- Paginación --- */
.mp-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(41px, 3vw);
  margin-top: min(98px, 6.8vw);
}

@media (min-width: 1081px) {
  .mp-pager { transform: translateX(30px); }
}

.mp-pager__num {
  color: var(--teal);
  font-size: clamp(18px, 1.8vw, 26px);
  font-weight: 600;
  line-height: 1;
}

.mp-pager__dot {
  width: clamp(12px, 1.4vw, 20px);
  height: clamp(12px, 1.4vw, 20px);
  border-radius: 50%;
  background: var(--teal);
}

/* ------------------------------------------------------------ Responsive --- */

@media (max-width: 1080px) {
  .mp-tabs {
    width: 100%;
    height: auto;
    padding: 10px 14px;
    border-radius: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    container-type: normal;
  }

  .mp-tab,
  .mp-tab:nth-child(n) {
    position: static;
    transform: none;
    left: auto;
    font-size: clamp(12px, 1.5vw, 16px);
  }

  .mp-tab.is-active { padding: .3em .8em; }


  .mp-card {
    aspect-ratio: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 26px 22px 30px;
  }

  .mp-card .mp-card__head,
  .mp-card .mp-photo,
  .mp-card .mp-panel,
  .mp-card .mp-measure {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
  }

  .mp-card .mp-photo { width: 64%; margin: 0 auto; aspect-ratio: 173 / 394; }
  .mp-card .mp-photo img { width: 100%; height: 100%; object-fit: contain; }
  .mp-card .ph2,
  .mp-card .ph3 { display: none; }

  .mp-card .mp-note,
  .mp-card .mp-dash,
  .mp-card .mp-tag,
  .mp-card .mp-qr { display: none; }

  .mp-card__head span { font-size: clamp(18px, 4.6vw, 26px); padding: .3em .9em; }
  .mp-card__head em { font-size: clamp(16px, 4vw, 24px); margin-top: .18em; }

  .mp-panel h3 { height: auto; padding: 11px 8px; font-size: clamp(14px, 1.9vw, 18px); }
  .mp-panel li { font-size: clamp(12px, 1.6vw, 15px); padding: .38em 0; }

  .mp-measure h4,
  .mp-measure__band { height: auto; padding: 7px 6px; font-size: clamp(11px, 1.5vw, 14px); }
  .mp-measure__row li { height: auto; padding: 9px 0; font-size: clamp(11px, 1.5vw, 14px); }

  .mp-pager { margin-top: 42px; transform: none; }
}
/* ==========================================================================
   CONTACTO — frame Figma 1440 × 2808
   Hero 1364,1 × 411,5 · formulario 1144,6 × 810,7 · 3 tarjetas 399 × 576
   ========================================================================== */

/* ----------------------------------------------------------------- HERO --- */
.page-hero__card--ct {
  position: relative;
  overflow: visible;
  height: auto;
  min-height: 0;
  aspect-ratio: 1364.1 / 411.5;
  padding: 0;
  background: var(--teal);
}

.hero-ct {
  position: absolute;
  inset: 0;
  container-type: inline-size;
}

.hero-ct__title {
  position: absolute;
  inset: 0;
  margin: 0;
}

.hero-ct__title .line { position: absolute; display: block; }
.hero-ct__title .line img { display: block; width: 100%; height: auto; }

.hero-ct__title .line--1 { left: 9.111cqw;  top: 5.454cqw;  width: 41.067cqw; }
.hero-ct__title .line--2 { left: 9.274cqw;  top: 11.656cqw; width: 41.888cqw; }
.hero-ct__title .line--3 { left: 9.068cqw;  top: 18.181cqw; width: 28.994cqw; }

.hero-ct__media {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
}

.hero-ct__media img { position: absolute; display: block; }

.hero-ct__media .p1 { left: 69.8cqw; top: 10.4cqw;  width: 34.5cqw; height: auto; }  /* pulsera */
.hero-ct__media .p2 { left: 39.1cqw; top: -16.9cqw; width: 74.8cqw; height: auto; }  /* bucket hat */
.hero-ct__media .p3 { left: 60.4cqw; top: 15.5cqw;  width: 19.1cqw; height: auto; }  /* vaso */

/* ----------------------------------------------------------- FORMULARIO --- */
.ct-form { margin-top: min(79.5px, 5.52vw); }

.ct-form__stage {
  position: relative;
  width: min(1144.6px, 100% - 64px);
  margin-inline: auto;
  aspect-ratio: 1144.6 / 810.7;
  container-type: inline-size;
}

.ct-form__card {
  position: absolute;
  inset: 0;
  border-radius: 4.625cqw;
  background: var(--teal);
}

.ct-form__photo {
  position: absolute;
  left: 4.036cqw;
  top: 4.106cqw;
  width: 41.089cqw;
  height: 63.926cqw;
  margin: 0;
  overflow: hidden;
  border-radius: 3.336cqw;
}

.ct-form__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ct-form__deco {
  position: absolute;
  left: -1.075cqw;
  top: 2.156cqw;
  width: 50.794cqw;
  height: auto;
  pointer-events: none;
}

.ct-form__body { position: absolute; inset: 0; }

.ct-form__title {
  position: absolute;
  left: 53.285cqw;
  top: 9.42cqw;
  margin: 0;
  color: #D9F8F6;
  font-size: 4.9cqw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.01em;
}

.ct-form__title span {
  display: block;
  margin-top: .42em;
  font-size: .465em;
  font-weight: 600;
  letter-spacing: 0;
}

.ct-field { position: absolute; }

.ct-field label {
  display: block;
  margin-bottom: .22em;
  margin-left: .52em;
  color: #D9F8F6;
  font-size: 1.835cqw;
  font-weight: 700;
  line-height: 1.15;
}

.ct-field input,
.ct-field textarea {
  display: block;
  width: 100%;
  height: 4.552cqw;
  padding: 0 .9em;
  border: 0;
  border-radius: 1.062cqw;
  background: #108F8A;
  color: #fff;
  font-family: inherit;
  font-size: 1.55cqw;
  outline-offset: 3px;
}

.ct-field textarea {
  height: 8.115cqw;
  padding: .7em .9em;
  resize: none;
}

.ct-field--nombre     { left: 52.841cqw; top: 20.9cqw; width: 18.732cqw; }
.ct-field--apellido   { left: 74.681cqw; top: 20.9cqw; width: 18.732cqw; }
.ct-field--empresa    { left: 52.841cqw; top: 30.16cqw; width: 40.562cqw; }
.ct-field--correo     { left: 52.745cqw; top: 39.68cqw; width: 40.562cqw; }
.ct-field--comentario { left: 52.745cqw; top: 48.59cqw; width: 40.562cqw; }

.ct-send {
  position: absolute;
  left: 71.212cqw;
  top: 62.989cqw;
  width: 4.15cqw;
  height: 4.15cqw;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #E9F8F7;
  color: var(--teal-deep);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .3s var(--ease), background .3s var(--ease);
}

.ct-send svg { width: 52%; height: 52%; }

.ct-send:hover { transform: scale(1.08); background: #fff; }

.ct-status {
  position: absolute;
  left: 53.285cqw;
  top: 68.5cqw;
  margin: 0;
  color: #fff;
  font-size: 1.4cqw;
}

/* --------------------------------------------------- TARJETAS DE INFO --- */
.ct-info {
  margin-top: min(100.8px, 7vw);
  padding-bottom: min(95.5px, 6.63vw);
}

.ct-info__grid {
  width: min(1318px, 100% - 64px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: min(62px, 4.3vw);
}

.ct-card {
  position: relative;
  aspect-ratio: 399 / 576;
  border: 1px solid var(--teal);
  border-radius: clamp(12px, 1.7vw, 24px);
  container-type: inline-size;
}

.ct-card h2 {
  position: absolute;
  left: 11.23cqw;
  top: 13.78cqw;
  margin: 0;
  color: var(--teal);
  font-size: 13.78cqw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

/* Ubicación */
.ct-card__map {
  position: absolute;
  left: 11.15cqw;
  top: 42.48cqw;
  width: 77.44cqw;
  height: 91.98cqw;
  margin: 0;
  overflow: hidden;
  border-radius: 6.266cqw;
}

.ct-card__map img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ct-card__pin {
  position: absolute;
  left: -6.64cqw;
  top: 105.89cqw;
  width: 30.83cqw;
  height: auto;
}

/* Horario */
.ct-card--hor h2 {
  left: 16.69cqw;
  top: 19.09cqw;
  font-size: inherit;
}

.ct-card__hor-title img { display: block; width: 63.98cqw; height: auto; }

.ct-card__hor-title span {
  display: block;
  margin-top: 1.2cqw;
  color: var(--teal);
  font-size: 10.6cqw;
  font-weight: 700;
  line-height: 1;
}

.ct-schedule {
  position: absolute;
  left: 22.18cqw;
  top: 52.76cqw;
  margin: 0;
  color: var(--teal);
  font-size: 7.02cqw;
  font-weight: 700;
  line-height: 1;
}

.ct-schedule--2 { left: 34.46cqw; top: 78.32cqw; }

.ct-pill {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.ct-pill--1 { left: 18.67cqw; top: 60.93cqw; width: 62.41cqw; height: 12.68cqw; font-size: 7.02cqw; }
.ct-pill--2 { left: 23.68cqw; top: 86.77cqw; width: 52.18cqw; height: 12.68cqw; font-size: 7.02cqw; }

.ct-card__clock {
  position: absolute;
  left: -9.65cqw;
  top: 105.89cqw;
  width: 47.37cqw;
  height: auto;
}

/* Contacto */
.ct-card--con h2 { left: 9.25cqw; top: 18.17cqw; font-size: 12.8cqw; }

.ct-label {
  position: absolute;
  left: 10.55cqw;
  top: 41.21cqw;
  margin: 0;
  color: var(--teal);
  font-size: 5.28cqw;
  font-weight: 700;
  line-height: 1;
}

.ct-label--redes  { top: 78.64cqw; }
.ct-label--correo { top: 106.28cqw; }

.ct-pill--tel1 { left: 10.30cqw; top: 48.39cqw; width: 61.38cqw; height: 8.97cqw; font-size: 5.5cqw; }
.ct-pill--tel2 { left: 10.30cqw; top: 59.37cqw; width: 61.38cqw; height: 8.97cqw; font-size: 5.5cqw; }
.ct-pill--redes { left: 33.67cqw; top: 85.93cqw; width: 53.52cqw; height: 7.54cqw; font-size: 5.3cqw; }
.ct-pill--mail { left: 10.30cqw; top: 113.57cqw; width: 82.41cqw; height: 8.79cqw; font-size: 5.2cqw; }

.ct-icon {
  position: absolute;
  top: 86.4cqw;
  width: 6.78cqw;
  height: 6.78cqw;
  border-radius: 1.5cqw;
  background: var(--teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ct-icon--tt { left: 10.3cqw; }
.ct-icon--ig { left: 23.4cqw; border-radius: 50%; }
.ct-icon svg { width: 68%; height: 68%; }

.ct-card__tel {
  position: absolute;
  left: -10.8cqw;
  top: 116.08cqw;
  width: 38.69cqw;
  height: auto;
}

/* ------------------------------------------------------------ Responsive --- */
@media (max-width: 1080px) {
  .page-hero__card--ct { aspect-ratio: auto; padding: clamp(22px, 3.6vw, 34px); overflow: hidden; }
  .hero-ct { position: static; width: 100%; }
  .hero-ct__title { position: relative; width: 100%; max-width: 560px; margin-bottom: clamp(18px, 3.4vw, 26px); }
  .hero-ct__title .line { position: relative; left: auto; top: auto; width: 100% !important; }
  .hero-ct__title .line--2,
  .hero-ct__title .line--3 { margin-top: 6px; }
  .hero-ct__media { position: relative; inset: auto; width: 100%; height: clamp(230px, 42vw, 340px); overflow: visible; }
  .hero-ct__media .p1 { left: 46%; top: 4%; width: 50%; height: auto; }
  .hero-ct__media .p2 { left: 20%; top: -18%; width: 62%; height: auto; }
  .hero-ct__media .p3 { left: 40%; top: 46%; width: 22%; height: auto; }

  .ct-form__stage { width: calc(100% - (var(--gutter) * 2)); aspect-ratio: auto; }
  .ct-form__card { position: relative; inset: auto; padding: clamp(22px, 3.6vw, 34px); border-radius: 28px; display: grid; gap: 20px; }
  .ct-form__photo { position: relative; left: auto; top: auto; width: 100%; height: clamp(260px, 52vw, 420px); border-radius: 22px; }
  .ct-form__deco { display: none; }
  .ct-form__body { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .ct-form__title { position: static; grid-column: 1 / -1; font-size: clamp(28px, 4.4vw, 40px); }
  .ct-field { position: static; width: auto !important; }
  .ct-field--empresa,
  .ct-field--correo,
  .ct-field--comentario { grid-column: 1 / -1; }
  .ct-field input { height: clamp(44px, 5vw, 54px); font-size: clamp(13px, 1.6vw, 15px); border-radius: 12px; }
  .ct-field textarea { height: clamp(90px, 12vw, 120px); font-size: clamp(13px, 1.6vw, 15px); border-radius: 12px; }
  .ct-field label { font-size: clamp(13px, 1.7vw, 16px); }
  .ct-send { position: static; justify-self: end; width: 48px; height: 48px; }
  .ct-status { position: static; grid-column: 1 / -1; color: #fff; font-size: 13px; }

  .ct-info__grid { grid-template-columns: 1fr; gap: 30px; }
  .ct-card { aspect-ratio: auto; padding: 26px 22px 30px; min-height: 0; }
  .ct-card h2,
  .ct-card--hor h2,
  .ct-card--con h2 { position: static; font-size: clamp(30px, 6vw, 44px); margin-bottom: 18px; }
  .ct-card__hor-title img { width: min(220px, 70%); }
  .ct-card__hor-title span { font-size: clamp(26px, 5.4vw, 40px); margin-top: 4px; }
  .ct-card__map { position: relative; left: auto; top: auto; width: 100%; height: clamp(220px, 46vw, 340px); border-radius: 20px; margin: 0 0 16px; }
  .ct-schedule,
  .ct-schedule--2 { position: static; font-size: clamp(18px, 3.4vw, 24px); margin: 12px 0 6px; }
  .ct-pill { position: static; display: inline-flex; width: auto !important; padding: .45em 1.1em; height: auto !important; font-size: clamp(16px, 3vw, 22px); margin-bottom: 8px; }
  .ct-label { position: static; font-size: clamp(16px, 2.8vw, 20px); margin: 18px 0 8px; }
  .ct-icon { position: static; display: inline-flex; width: 34px; height: 34px; border-radius: 8px; vertical-align: middle; margin-right: 8px; }
  .ct-icon svg { width: 68%; height: 68%; }
  .ct-card__pin,
  .ct-card__clock,
  .ct-card__tel { position: static; width: clamp(90px, 22vw, 140px); margin-top: 10px; }
}

/* ==========================================================================
   MATERIAL POP · PÁGINA 2 — mismas tarjetas 577 × 597 (frame del portapapeles)
   ========================================================================== */

/* 1 · ARMATORRES OCTOGONAL */
.mp2-c1 { --hx: 11.21cqw; --hy: 9.27cqw; --hf: 5.2cqw; --ef: 5.2cqw; }

.mp2-c1 .ph1 { left: 8.41cqw;  top: 31.23cqw; width: 20.49cqw; height: 48.96cqw; }
.mp2-c1 .ph2 { left: 30.21cqw; top: 24.75cqw; width: 34.82cqw; height: 54.30cqw; }
.mp2-c1 .ph3 { left: 50.50cqw; top: 26.17cqw; width: 32.11cqw; height: 51.37cqw; }
.mp2-c1 .ph4 { left: 71.49cqw; top: 30.33cqw; width: 20.59cqw; height: 53.22cqw; }

.mp2-text {
  position: absolute;
  left: 13cqw;
  top: 88cqw;
  width: 74.52cqw;
  margin: 0;
  color: var(--teal-deep);
  font-size: 2.34cqw;
  font-weight: 500;
  line-height: 1.35;
  text-align: center;
}

/* 2 · ARMA TORRES */
.mp2-c2 { --hx: 10.57cqw; --hy: 11.49cqw; --hf: 4.9cqw; --ef: 0; --pf: 2.05cqw; --pp: .34em; --phf: 3cqw; --phh: 8.02cqw; }
.mp2-c2 .pn1 { left: 58.77cqw; top: 6.05cqw; width: 28.70cqw; }
.mp2-c2 .ph1 { left: 10.73cqw; top: 32.43cqw; width: 31.72cqw; height: 65.82cqw; }
.mp2-c2 .ph2 { left: 54.06cqw; top: 68.46cqw; width: 33.28cqw; height: 25.04cqw; border: 2px solid var(--orange); border-radius: 1.2cqw; overflow: hidden; }

.mp2-note {
  position: absolute;
  margin: 0;
  padding: .55em .7em;
  border-radius: 999px;
  background: var(--teal);
  color: #fff;
  font-size: 1.95cqw;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

.mp2-c2 .nt1 { left: 16.34cqw; top: 23.99cqw; width: 28.58cqw; }
.mp2-c2 .nt2 { left: 50.57cqw; top: 59.84cqw; width: 31.70cqw; }

/* 3 · GLORIFICADORES */
.mp2-c3 { --hx: 11.98cqw; --hy: 10.75cqw; --hf: 4.75cqw; --ef: 0; --pf: 2.35cqw; --pp: .36em; --phf: 2.9cqw; --phh: 8.02cqw; }
.mp2-c3 .pn1 { left: 67.14cqw; top: 8.67cqw; width: 24.87cqw; }
.mp2-c3 .ph1 { left: 8.80cqw;  top: 23.62cqw; width: 31.06cqw; height: 31.06cqw; }
.mp2-c3 .ph2 { left: 39.29cqw; top: 21.63cqw; width: 23.54cqw; height: 33.83cqw; }
.mp2-c3 .ph3 { left: 8.23cqw;  top: 60.83cqw; width: 26.79cqw; height: 33.52cqw; }
.mp2-c3 .ph4 { left: 41.59cqw; top: 55.63cqw; width: 23.21cqw; height: 39.41cqw; }
.mp2-c3 .ph5 { left: 68.25cqw; top: 62.95cqw; width: 17.85cqw; height: 31.73cqw; }

.mp2-badge {
  position: absolute;
  left: 61.94cqw;
  top: 52.20cqw;
  width: 21.75cqw;
  height: 10.35cqw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--teal);
  color: #fff;
  font-size: 2.05cqw;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

/* 4 · DESTAPADORES */
.mp2-c4 { --hx: 4.77cqw; --hy: 8.93cqw; --hf: 4.9cqw; --ef: 0; --pf: 2.45cqw; --pp: .5em; --phf: 3cqw; --phh: 8.02cqw; }
.mp2-c4 .ph1 { left: 9.79cqw; top: 22.44cqw; width: 75.74cqw; height: 47.14cqw; }
.mp2-c4 .pn1 { left: 64.82cqw; top: 68.11cqw; width: 29.95cqw; }

/* 5 · STANDS */
.mp2-c5 { --hx: 8.23cqw; --hy: 10.66cqw; --hf: 4.9cqw; --ef: 0; }
.mp2-c5 .ph1 { left: 3.55cqw;  top: 20.19cqw; width: 46.67cqw; height: 46.70cqw; }
.mp2-c5 .ph2 { left: 26.34cqw; top: 57.14cqw; width: 73.67cqw; height: 46.10cqw; }

/* 6 · PRODUCTOS EN DESARROLLO */
.mp2-c6 { --hx: 8.06cqw; --hy: 12.39cqw; --hf: 4.35cqw; --ef: 4.35cqw; }
.mp2-c6 .ph1 { left: 17.02cqw; top: 30.61cqw; width: 60.81cqw; height: 52.72cqw; }
.mp2-c6 .ph2 { left: 64.11cqw; top: 40.62cqw; width: 29.41cqw; height: 52.27cqw; }
.mp2-c6 .ph3 { left: 10.10cqw; top: 45.18cqw; width: 17.97cqw; height: 44.02cqw; }

/* Paginación: punto = enlace a la otra página */
a.mp-pager__dot { display: block; }
a.mp-pager__dot:hover { opacity: .75; }

/* Página 2 en móvil: las posiciones absolutas del diseño se anulan */
@media (max-width: 1080px) {
  .mp-card .mp-photo {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 64% !important;
    height: auto !important;
    margin-inline: auto;
  }

  .mp-card .mp-photo img { width: 100%; height: auto; }

  .mp-card .ph2,
  .mp-card .ph3,
  .mp-card .ph4,
  .mp-card .ph5 { display: none !important; }

  .mp-card .mp-card__head {
    position: static !important;
    left: auto !important;
    top: auto !important;
  }

  .mp-card .mp-panel {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
  }

  .mp2-text,
  .mp2-note,
  .mp2-badge {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 12px 0;
    font-size: 14px;
  }

  .mp2-badge { display: inline-flex; padding: 10px 18px; }
}
/* ==========================================================================
   PLÁSTICOS — frame Figma (tarjetas 577 × 597, acento morado #7A5197)
   ========================================================================== */
.pl-section .mp-card { border-color: #7A5197; }
.pl-section .mp-panel { border-color: #7A5197; }
.pl-section .mp-panel h3 { background: #7A5197; }
.pl-section .mp-panel li { color: #7A5197; border-bottom-color: rgba(122, 81, 151, .5); }

/* Píldoras de título y subtítulo */
.pl-section .mp-card__head span { background: #7A5197; }
.pl-section .mp-card__head em { color: #7A5197; }

.pl-sub {
  position: absolute;
  display: inline-block;
  margin: 0;
  padding: .3em .9em;
  border-radius: 999px;
  background: #7A5197;
  color: #fff;
  font-size: 4.3cqw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Bocadillos */
.pl-bubble {
  position: absolute;
  margin: 0;
  padding: .6em .8em;
  border-radius: 1.6cqw;
  background: #7A5197;
  color: #fff;
  font-size: 2.05cqw;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}

.pl-bubble::after {
  content: '';
  position: absolute;
  left: 22%;
  bottom: -1.2cqw;
  width: 0;
  height: 0;
  border-left: 1.3cqw solid transparent;
  border-right: 1.3cqw solid transparent;
  border-top: 1.3cqw solid #7A5197;
}

/* Etiquetas de medidas */
.pl-badge {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .35em .9em;
  border-radius: 999px;
  background: #7A5197;
  color: #fff;
  font-size: 2.15cqw;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
}

/* QR */
.pl-qr { position: absolute; margin: 0; width: 12.13cqw; }
.pl-qr img { display: block; width: 100%; height: auto; }

/* 1 · CONTENEDOR ISOTÉRMICO */
.pl-c1 { --hx: 8.84cqw; --hy: 14.99cqw; --hf: 4.16cqw; --ef: 4.5cqw; --pf: 2.0cqw; --pp: .32em; --phf: 2.95cqw; --phh: 8.02cqw; }
.pl-c1 .pn1 { left: 59.70cqw; top: 9.79cqw; width: 30.36cqw; }
.pl-c1 .bb1 { left: 15.28cqw; top: 37.05cqw; width: 38.23cqw; }
.pl-c1 .ph1 { left: 3.55cqw;  top: 53.64cqw; width: 59.53cqw; height: 38.94cqw; }
.pl-c1 .bg1 { left: 48.32cqw; top: 76.74cqw; width: 40.83cqw; height: 7.31cqw; }
.pl-c1 .bg2 { left: 50.95cqw; top: 67.22cqw; width: 40.83cqw; height: 7.31cqw; }

/* 2 · CONTENEDOR BIN ISOTÉRMICO */
.pl-c2 { --hx: 9.29cqw; --hy: 17.78cqw; --hf: 4.16cqw; --ef: 4.5cqw; --pf: 2.0cqw; --pp: .32em; --phf: 2.95cqw; --phh: 8.66cqw; }
.pl-c2 .pn1 { left: 60.75cqw; top: 15.51cqw; width: 30.97cqw; }
.pl-c2 .bb1 { left: 6.50cqw;  top: 40.81cqw; width: 30.16cqw; }
.pl-c2 .ph1 { left: 14.30cqw; top: 52.60cqw; width: 37.78cqw; height: 37.09cqw; }
.pl-c2 .bg1 { left: 47.23cqw; top: 68.37cqw; width: 17.33cqw; height: 4.33cqw; }
.pl-c2 .bg2 { left: 47.57cqw; top: 73.40cqw; width: 18.72cqw; height: 4.33cqw; }
.pl-c2 .pl-qr { left: 74.96cqw; top: 72.53cqw; }

/* 3 · CONTENEDOR ARTESÓN */
.pl-c3 { --hx: 7.23cqw; --hy: 20.05cqw; --hf: 4.5cqw; --ef: 4.5cqw; --pf: 2.3cqw; --pp: .4em; --phf: 3cqw; --phh: 9.44cqw; }
.pl-c3 .pn1 { left: 58.67cqw; top: 16.72cqw; width: 33.78cqw; }
.pl-c3 .ph1 { left: 16.69cqw; top: 46.53cqw; width: 40.54cqw; height: 32.88cqw; }
.pl-c3 .ph2 { left: 33.24cqw; top: 64.12cqw; width: 44.33cqw; height: 30.19cqw; }
.pl-c3 .ph3 { left: 7.19cqw;  top: 66.45cqw; width: 34.58cqw; height: 26.86cqw; }
.pl-c3 .bg1 { left: 51.94cqw; top: 59.76cqw; width: 21.70cqw; height: 5.29cqw; }
.pl-c3 .bg2 { left: 70.07cqw; top: 77.99cqw; width: 19.53cqw; height: 5.29cqw; }
.pl-c3 .bg3 { left: 34.63cqw; top: 81.99cqw; width: 19.53cqw; height: 5.29cqw; }

/* 4 · HIELERA CON DESTAPADOR / CLÁSICA */
.pl-c4 { --hx: 6.57cqw; --hy: 7.40cqw; --hf: 4.3cqw; --ef: 4.3cqw; --pf: 2.1cqw; --pp: .42em; --phf: 2.95cqw; --phh: 8.02cqw; }
.pl-c4 .pn1 { left: 67.49cqw; top: 7.40cqw; width: 24.42cqw; }
.pl-c4 .ph1 { left: 7.56cqw;  top: 23.22cqw; width: 36.78cqw; height: 32.03cqw; }
.pl-c4 .pl-qr { left: 73.22cqw; top: 44.11cqw; }
.pl-c4 .pl-sub { left: 6.57cqw; top: 57.68cqw; }
.pl-c4 .ph2 { left: 10.66cqw; top: 68.72cqw; width: 29.24cqw; height: 27.80cqw; }
.pl-c4 .ph3 { left: 48.87cqw; top: 67.36cqw; width: 30.76cqw; height: 31.72cqw; }

/* 5 · CAVA 18LTS / APILABLE */
.pl-c5 { --hx: 8.23cqw; --hy: 5.89cqw; --hf: 4.16cqw; --ef: 0; --pf: 2.2cqw; --pp: .42em; --phf: 2.95cqw; --phh: 8.02cqw; }
.pl-c5 .pn1 { left: 61.35cqw; top: 5.89cqw; width: 26.85cqw; }
.pl-c5 .ph1 { left: 9.10cqw;  top: 21.20cqw; width: 47.57cqw; height: 31.85cqw; }
.pl-c5 .pl-sub { left: 8.23cqw; top: 54.68cqw; }
.pl-c5 .ph2 { left: 11.42cqw; top: 64.63cqw; width: 58.46cqw; height: 32.83cqw; }

/* 6 · MASON JAR / COOLER */
.pl-c6 { --hx: 6.57cqw; --hy: 11.52cqw; --hf: 4.16cqw; --ef: 0; --pf: 2.2cqw; --pp: .4em; --phf: 2.95cqw; --phh: 9.03cqw; }
.pl-c6 .pn1 { left: 68.65cqw; top: 11.87cqw; width: 27.19cqw; }
.pl-c6 .ph1 { left: 5.11cqw;  top: 20.92cqw; width: 14.25cqw; height: 23.69cqw; }
.pl-c6 .ph2 { left: 26.24cqw; top: 22.30cqw; width: 13.27cqw; height: 23.73cqw; }
.pl-c6 .ph3 { left: 46.83cqw; top: 17.68cqw; width: 10.69cqw; height: 25.69cqw; }
.pl-c6 .pl-sub { left: 6.57cqw; top: 50.64cqw; }
.pl-c6 .ph4 { left: 7.76cqw;  top: 61.35cqw; width: 11.56cqw; height: 28.96cqw; }
.pl-c6 .ph5 { left: 30.12cqw; top: 60.61cqw; width: 11.16cqw; height: 30.76cqw; }
.pl-c6 .ph6 { left: 50.88cqw; top: 61.56cqw; width: 11.73cqw; height: 30.73cqw; }
.pl-c6 .bg1 { left: 66.15cqw; top: 64.70cqw; width: 30.82cqw; height: 10.62cqw; }

/* Móvil */
@media (max-width: 1080px) {
  .pl-bubble,
  .pl-badge,
  .pl-qr,
  .pl-sub {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 12px 0;
    font-size: 14px;
  }

  .pl-bubble::after { display: none; }
  .pl-badge { display: inline-flex; padding: 10px 18px; }
  .pl-sub { display: inline-block; padding: 10px 18px; font-size: 18px; }
  .pl-qr { width: 90px; }
}

/* ---------------------------------------------------------------------------
   Tarjetas de Material POP = lo que está en el SVG de Figma, tal cual.
   Cada tarjeta es una imagen 2x recortada del SVG exportado (sin reinterpretar
   nada) y el marco es el de Figma: 1 px #00AEA2, radio 42 px, fondo blanco.
--------------------------------------------------------------------------- */
.mp-section .mp-card--art {
  display: block;
  aspect-ratio: 578 / 598;
  padding: 0;
  border: 0;
  border-radius: 7.28%;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--teal), inset 0 0 0 6px #fff;
  overflow: hidden;
  container-type: inline-size;
}

.mp-section .mp-card--art > img {
  position: absolute;
  inset: .35%;
  width: 99.3%;
  height: 99.3%;
  display: block;
}

.mp2-c5__head { z-index: 2; }

/* La rejilla de tarjetas mantiene 2 columnas hasta 860 px (asi el zoom 150% de un
   monitor de 1440 px sigue viendose como Figma, en 2 columnas). */
@media (max-width: 860px) {
  .mp-section .mp-grid { grid-template-columns: 1fr; gap: 30px; }
}

/* Tarjeta 2 de Material POP: el SVG de Figma es solo el arte (sin marco), asi que
   se coloca en la tarjeta en la misma posicion del diseno (8.93% / 7.21% / 82.32%). */
.mp-section .mp-card--art > img.mp-art-inset {
  inset: auto;
  left: 8.93%;
  top: 7.21%;
  width: 82.32%;
  height: auto;
}
/* Plásticos: mismas tarjetas-imagen, con el marco morado de Figma */
.pl-section .mp-card--art {
  background: transparent;
  box-shadow: inset 0 0 0 1px #7A5197, inset 0 0 0 6px var(--pale);
}
.pl-section .mp-pager__num { color: #7A5197; }

.pl-section .mp-pager__dot { background: #7A5197; }

/* Textil: tarjetas-imagen con el marco rosa de Figma (#EA4179) */
.tx-section .mp-card--art {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--pink), inset 0 0 0 6px var(--pale);
}
.tx-section .mp-pager__num { color: var(--pink); }
.tx-section .mp-pager__dot { background: var(--pink); }
/* Impresiones: tarjetas-imagen con el marco naranja de Figma (#F18705) */
.im-section .mp-card--art {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--orange), inset 0 0 0 6px var(--pale);
}
.im-section .mp-pager__num { color: var(--orange); }
.im-section .mp-pager__dot { background: var(--orange); }
/* Exteriores: tarjetas-imagen con el marco verde de Figma (#108F8A) */
.ex-section .mp-card--art {
  background: transparent;
  box-shadow: inset 0 0 0 1px #108F8A, inset 0 0 0 6px var(--pale);
}
.ex-section .mp-pager__num { color: #108F8A; }
.ex-section .mp-pager__dot { background: #108F8A; }
/* Exhibidores: tarjetas-imagen con el marco verde de Figma (#108F8A) */
.exb-section .mp-card--art {
  background: transparent;
  box-shadow: inset 0 0 0 1px #108F8A, inset 0 0 0 6px var(--pale);
}
.exb-section .mp-pager__num { color: #108F8A; }
.exb-section .mp-pager__dot { background: #108F8A; }
/* ==========================================================================
   MÓVIL (≤720px): cabecera, heroes apilados y bloques a una columna
   ========================================================================== */
@media (max-width: 720px) {
  /* Cabecera: logo arriba y barra horizontal deslizable */
  .site-header { padding-inline: 16px; }
  .nav-bar { width: min(961px, calc(100% - clamp(18px, 4vw, 64px))); margin: 0 auto; flex-wrap: wrap; row-gap: 12px; }
  .nav-logo { width: 104px; }
  .nav-links {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
    gap: 18px;
    padding: 10px 16px;
    min-height: 46px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links li { flex: 0 0 auto; }
  .nav-links a { font-size: 12px; white-space: nowrap; }

  /* Heroes: tarjeta compacta y contenido apilado */
  .page-hero { padding-top: 18px; }
  .page-hero__card,
  .page-hero__card--ct,
  .page-hero__card--nos,
  .page-hero__card--prod {
    aspect-ratio: auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 18px 24px !important;
    display: block !important;
  }
  .hero-nos, .hero-prod, .hero-ct {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
  }
  .hero-nos__title, .hero-prod__title, .hero-ct__title {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
  }
  .hero-nos__title .line, .hero-prod__title .line, .hero-ct__title .line {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    margin-top: 6px;
  }
  .hero-nos__title .line:first-child,
  .hero-prod__title .line:first-child,
  .hero-ct__title .line:first-child { margin-top: 0; }
  .hero-nos__title .line img, .hero-prod__title .line img, .hero-ct__title .line img {
    width: 100% !important;
    height: auto !important;
  }

  /* Collages de fotos: altura cómoda y sin recortes raros */
  .hero-nos__media, .hero-prod__media { position: relative !important; inset: auto !important; width: 100% !important; height: 210px !important; overflow: hidden; }
  .hero-ct__media { position: relative !important; inset: auto !important; width: 100% !important; height: 210px !important; }

  /* Misión / Visión / Valores */
  .vmv { margin-top: 34px; }
  .vmv__stage { width: 100%; gap: 26px; padding-inline: 0; }
  .vmv__col { width: 100%; }
  .vmv__icon { height: 68px; margin-bottom: -4px; }
  .vmv__card { margin-top: 0; border-radius: 22px; padding: 24px 20px 22px; }
  .vmv__card h3 { font-size: 32px; margin: 0 0 12px; }
  .vmv__body, .vmv__col--2 .vmv__body, .vmv__col--3 .vmv__body { font-size: 14.5px; line-height: 1.55; }

  /* Rejillas de producto a una columna */
  .mp-grid { width: 100% !important; gap: 22px !important; }
  .mp-section .mp-card--art { border-radius: 26px !important; }

  /* Tabs de categoría: fila deslizable */
  .mp-tabs { padding: 10px 14px !important; border-radius: 22px !important; }
  .mp-tab, .mp-tab:nth-child(n) { font-size: 12px !important; }
}
/* Ajustes finos de móvil (2ª pasada) */
@media (max-width: 720px) {
  /* Barra de navegación: que quepan las 4 opciones sin cortar CONTACTO */
  .nav-links { gap: 14px; padding: 10px 14px; justify-content: space-between; }
  .nav-links a { font-size: 10.5px; letter-spacing: .01em; }

  /* Tabs de categorías: texto centrado y justificado */
  .mp-tabs { justify-content: center !important; text-align: center; row-gap: 8px; }
  .mp-tab, .mp-tab:nth-child(n) { text-align: center; }

  /* Tarjetas de producto: margen lateral */
  .mp-grid { width: calc(100% - 28px) !important; margin-inline: auto; }

  /* Visión / Misión / Valores: tarjetas parejas y con aire al final */
  .vmv { padding-bottom: 34px; }
  .vmv__col { margin-bottom: 6px; }
  .vmv__card { min-height: 200px; display: flex; flex-direction: column; justify-content: center; }
  .vmv__col:last-child .vmv__card { margin-bottom: 26px; }

  /* Contacto: la foto llega al borde inferior y no corta la cabeza */
  .ct-form__photo { height: clamp(300px, 80vw, 430px) !important; }
  .ct-form__photo img { object-fit: cover; object-position: center top; }

  /* Botón circular naranja: tamaño contenido */
  .about__badge { width: 46px !important; height: 46px !important; }
  img[src*="ubicacion-flecha"] { width: 46px !important; height: 46px !important; max-width: 46px; }
}
/* Móvil: el icono de Visión/Misión/Valores se pega a su tarjeta (como en escritorio) */
@media (max-width: 720px) {
  .vmv__icon { margin-bottom: -30px; position: relative; z-index: 2; height: 74px; }
  .vmv__card { padding-top: 34px; }
}
/* 3ª pasada móvil: cabecera idéntica, foto de contacto a sangre y VMV pegados */
@media (max-width: 720px) {
  .nav-links {
    width: 100% !important;
    min-height: 44px !important;
    padding: 9px 14px !important;
    gap: 10px !important;
    justify-content: space-between !important;
    margin: 0 !important;
    border-radius: 999px !important;
  }
  .nav-links a { font-size: 10.5px !important; padding: 4px 0 !important; }
  .nav-logo { width: 100px !important; }
  .site-header { padding-inline: 14px !important; }

  /* Contacto: la foto arranca en el borde del marco y llega abajo */
  .ct-form__card { padding: 0 0 22px !important; overflow: hidden; }
  .ct-form__photo {
    position: relative !important;
    left: auto !important; top: auto !important;
    width: 100% !important;
    height: 320px !important;
    margin: 0 0 22px !important;
    border-radius: 26px 26px 0 0 !important;
    overflow: hidden;
  }
  .ct-form__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
  .ct-form__body, .ct-form__title { margin-inline: 18px; }

  /* Visión / Misión / Valores: más aire y el icono tocando su marco */
  .vmv__stage { gap: 44px !important; }
  .vmv__icon { height: 80px !important; margin-bottom: -40px !important; position: relative; z-index: 2; }
  .vmv__card { padding-top: 38px !important; border-radius: 24px !important; }
}
@media (max-width: 720px) {
  .vmv__col { align-items: center !important; }
  .vmv__icon { display: block !important; margin: 0 auto -38px !important; }
  .vmv__card { margin-top: 0 !important; }
}
/* Móvil · 4ª pasada: VMV con el icono tocando la tarjeta y foto de contacto a sangre */
@media (max-width: 720px) {
  .vmv__icon { height: 127px !important; margin: 0 auto -62px !important; }
  .ct-form__card { padding: 0 !important; }
  .ct-form__photo { margin: 0 !important; width: 100% !important; height: 330px !important; border-radius: 26px 26px 0 0 !important; }
  .ct-form__body, .ct-form__title { margin-inline: 18px !important; }
}
@media (max-width: 720px) {
  .vmv__col { position: relative !important; padding-top: 58px !important; }
  .vmv__icon {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    height: 120px !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 2;
  }
  .vmv__card { margin-top: 0 !important; }
}
@media (max-width: 720px) {
  /* VMV: margen lateral para que no toquen el borde de la pantalla */
  .vmv { padding-inline: 16px; }
  .vmv__stage { width: 100% !important; padding-inline: 0 !important; }
  .vmv__col { width: 100% !important; }

  /* Contacto: la muchacha apoyada en el borde inferior del marco */
  .ct-form__photo { height: 420px !important; }
  .ct-form__photo img { object-position: 50% 30% !important; }
}
/* Refuerzo móvil definitivo (independiente de reglas anteriores) */
@media (max-width: 720px) {
  .vmv__col, .vmv__col--1, .vmv__col--2, .vmv__col--3 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 0 auto !important;
  }
  .vmv__stage { width: 100% !important; padding: 0 16px !important; gap: 44px !important; }
  .vmv__card { width: 100% !important; }
  .ct-form__photo { width: 100% !important; height: 460px !important; margin: 0 !important; }
  .ct-form__photo img { object-position: 50% 30% !important; }
}
@media (max-width: 720px) {
  /* Aire entre el último cuadro (Valores) y el pie */
  .vmv { margin-bottom: 56px !important; }
  .vmv__col:last-child { margin-bottom: 56px !important; }
  .vmv__card:last-child { margin-bottom: 0 !important; }
}
@media (max-width: 720px) {
  /* Hero Nosotros: la modelo llega al borde inferior de la tarjeta */
  .page-hero__card--nos { padding-bottom: 0 !important; overflow: hidden; }
  .hero-nos__media {
    margin: 0 -18px !important;
    width: calc(100% + 36px) !important;
    height: 232px !important;
    overflow: hidden;
  }
  .hero-nos__media .n2 { top: auto !important; bottom: 0 !important; width: 62% !important; left: 34% !important; }
  .hero-nos__media .n1 { top: auto !important; bottom: 6px !important; left: 0 !important; }
  .hero-nos__media .n3 { top: auto !important; bottom: 0 !important; }
  .hero-nos__media .n4 { top: auto !important; bottom: 34px !important; }
}
/* Título vectorial "Horario de atención" (SVG exacto de Figma) */
.ct-card__hor-title img { display: block; width: 100%; max-width: 335px; height: auto; }

@media (max-width: 720px) {
  /* Hero Nosotros: foto un poco más grande y más cerca del título */
  .hero-nos__title { margin-bottom: 4px !important; }
  .hero-nos__media { height: 272px !important; margin-top: -6px !important; }
}
/* Título de Horario centrado (coherente con las horas y las píldoras) */
.ct-card--hor { text-align: center; }
.ct-card__hor-title { display: block; text-align: center; margin-inline: auto; }
.ct-card--hor h2 { left: 18.01cqw; }
.ct-card__hor-title img { margin-inline: auto; }

@media (max-width: 720px) {
  /* Hero Nosotros: más grande todavía y más pegado al título */
  .hero-nos__media { height: 300px !important; margin-top: -16px !important; }
}
/* Centrado exacto del título de Horario (independiente del left heredado) */
.ct-card--hor h2.ct-card__hor-title {
  left: 50% !important;
  right: auto !important;
  width: 63.98cqw !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  margin: 0 !important;
}
.ct-card--hor h2.ct-card__hor-title img { width: 100% !important; margin: 0 auto !important; }
/* Horario: centrado correcto en móvil (flujo normal, sin transform absoluto) */
@media (max-width: 1080px) {
  .ct-card--hor h2.ct-card__hor-title {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 auto 14px !important;
    text-align: center !important;
  }
  .ct-card--hor h2.ct-card__hor-title img {
    width: min(300px, 86%) !important;
    margin: 0 auto !important;
  }
}
/* Contacto móvil: foto más pequeña con el marco visible a los lados + stickers del diseño */
@media (max-width: 720px) {
  .ct-form__card { padding: 18px 18px 22px !important; }
  .ct-form__photo {
    width: 100% !important;
    height: 300px !important;
    margin: 0 0 20px !important;
    border-radius: 20px !important;
  }
  .ct-form__photo img { object-position: 50% 26% !important; }
  .ct-form__body, .ct-form__title { margin-inline: 2px !important; }
  .ct-form__deco { display: none !important; }
}
/* Contacto móvil · opción 1: foto vertical como Figma + stickers alrededor */
@media (max-width: 720px) {
  .ct-form__card { padding: 18px 18px 24px !important; position: relative; }
  .ct-form__photo {
    width: min(258px, 76%) !important;
    height: auto !important;
    aspect-ratio: 470 / 731 !important;
    margin: 0 auto 18px !important;
    border-radius: 20px !important;
    overflow: hidden;
  }
  .ct-form__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 70% !important; }
  .ct-form__deco {
    display: block !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 12px !important;
    width: min(320px, 96%) !important;
    height: auto !important;
    z-index: 3;
    pointer-events: none;
  }
}
@media (max-width: 720px) {
  /* Encuadre más bajo: menos paraguas, más protagonismo de la modelo */
  .ct-form__photo img {
    transform: scale(1.16) !important;
    transform-origin: 50% 86% !important;
  }
}
@media (max-width: 720px) {
  /* Subir los stickers para que la bolsa fucsia no tape el saludo */
  .ct-form__deco { top: -18px !important; }
}
@media (max-width: 720px) {
  /* Stickers como estaban y aire bajo la foto para que la bolsa no toque el saludo */
  .ct-form__deco { top: 12px !important; }
  .ct-form__photo { margin-bottom: 46px !important; }
}
@media (max-width: 720px) {
  /* Hero Contacto: stickers centrados y más grandes */
  .hero-ct__media { height: 300px !important; margin-top: 4px !important; }
  .hero-ct__media .p2 { left: 19% !important; top: 0 !important; width: 62% !important; height: auto !important; }
  .hero-ct__media .p1 { left: 27% !important; top: 40% !important; width: 46% !important; height: auto !important; }
  .hero-ct__media .p3 { left: 41% !important; top: 34% !important; width: 20% !important; height: auto !important; }
}
@media (max-width: 720px) {
  .hero-ct__media { height: 238px !important; }
  .hero-ct__media .p2 { left: 16% !important; width: 68% !important; top: 0 !important; }
  .hero-ct__media .p1 { left: 24% !important; width: 52% !important; top: 44% !important; }
  .hero-ct__media .p3 { left: 40% !important; width: 22% !important; top: 38% !important; }
}
@media (max-width: 720px) {
  /* Gorro protagonista en el hero de Contacto */
  .hero-ct__media { height: 336px !important; margin-top: 6px !important; }
  .hero-ct__media .p2 { left: 6% !important; top: 0 !important; width: 88% !important; }
  .hero-ct__media .p1 { left: 30% !important; top: 40% !important; width: 58% !important; }
  .hero-ct__media .p3 { left: 18% !important; top: 50% !important; width: 24% !important; }
}
@media (max-width: 720px) {
  /* Mismo alto de tarjeta; solo crecen los stickers */
  .hero-ct__media { height: 238px !important; margin-top: 0 !important; }
  .hero-ct__media .p2 { left: 6% !important; top: -4px !important; width: 88% !important; }
  .hero-ct__media .p1 { left: 28% !important; top: 40% !important; width: 54% !important; }
  .hero-ct__media .p3 { left: 16% !important; top: 46% !important; width: 24% !important; }
}
@media (max-width: 720px) {
  /* Mismo alto total de tarjeta: el padding inferior pasa al bloque de stickers */
  .page-hero__card--ct { padding-bottom: 0 !important; }
  .hero-ct__media { height: 262px !important; }
  .hero-ct__media .p2 { left: -2% !important; top: -8px !important; width: 104% !important; }
  .hero-ct__media .p1 { left: 27% !important; top: 48% !important; width: 60% !important; }
  .hero-ct__media .p3 { left: 19% !important; top: 50% !important; width: 26% !important; }
}
@media (max-width: 720px) {
  /* Que ningún trazo del título se recorte por abajo */
  .hero-ct__title, .hero-ct__title .line, .hero-ct__title .line img { overflow: visible !important; }
  .hero-ct__title { padding-bottom: 6px !important; }

  /* Stickers un poco más grandes y más arriba, sin tocar el texto */
  .hero-ct__media { height: 268px !important; margin-top: 0 !important; }
  .hero-ct__media .p2 { left: -6% !important; top: -14px !important; width: 112% !important; }
  .hero-ct__media .p1 { left: 26% !important; top: 46% !important; width: 64% !important; }
  .hero-ct__media .p3 { left: 17% !important; top: 48% !important; width: 28% !important; }
  .page-hero__card--ct { padding-bottom: 0 !important; }
}
@media (max-width: 720px) {
  /* Subir todo el grupo de stickers sin tocar el título */
  .hero-ct__media { margin-top: -36px !important; }
  .hero-ct__media .p2 { top: -22px !important; }
  .hero-ct__media .p1 { top: 44% !important; }
  .hero-ct__media .p3 { top: 46% !important; }
}
/* Móvil · "Ellos confiaron": fotos de dos en dos, centradas y sin tocar bordes */
@media (max-width: 640px) {
  .trusted__stage {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding-inline: 14px !important;
    width: 100% !important;
  }
  .trusted__title { grid-column: 1 / -1 !important; margin: 0 auto 12px !important; text-align: center; }
  .trusted .photo-card,
  .trusted .photo-card--1, .trusted .photo-card--2, .trusted .photo-card--3,
  .trusted .photo-card--4, .trusted .photo-card--5, .trusted .photo-card--6 {
    position: relative !important;
    inset: auto !important;
    left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    margin: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
    transform: none !important;
  }
  .trusted .photo-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    border-radius: 16px !important;
  }
}
@media (max-width: 720px) {
  /* Botón naranja del mapa: separado del panel inferior */
  .location__pager, .location__dots, .location__num { margin-bottom: 30px !important; }
  .location { padding-bottom: 10px !important; }

  /* Hero Nosotros: menos hueco entre el título y la modelo, ella más grande */
  .hero-nos__media { margin-top: -46px !important; height: 306px !important; }
  .hero-nos__media .n2 { width: 70% !important; left: 30% !important; }
  .hero-nos__media .n1 { bottom: 0 !important; }
}
@media (max-width: 720px) {
  /* Modelo del hero de Nosotros más grande */
  .hero-nos__media .n2 { width: 88% !important; left: 6% !important; }
  .hero-nos__media { height: 320px !important; }
  .hero-nos__media .n1 { left: -4% !important; width: 46% !important; bottom: 0 !important; }
  .hero-nos__media .n3 { width: 30% !important; left: 20% !important; bottom: 0 !important; }
  .hero-nos__media .n4 { right: 0 !important; width: 13% !important; bottom: 40px !important; }
}
@media (max-width: 720px) {
  /* Botella: más cerca de la modelo y algo más grande */
  .hero-nos__media .n4 { right: 7% !important; width: 17% !important; bottom: 46px !important; }
}
@media (max-width: 720px) {
  /* Pin de ubicación: se monta sobre el mapa */
  .ct-card__map { margin-bottom: 0 !important; }
  .ct-card__pin {
    position: relative !important;
    margin: -46px auto 6px !important;
    display: block;
    z-index: 2;
  }
  /* Título del hero: que no se coma la parte baja de MARCA */
  .hero-ct__title { padding-bottom: 12px !important; }
  .hero-ct__title .line--3 { padding-bottom: 6px !important; }
  .hero-ct__title .line img { display: block; }
}
@media (max-width: 720px) {
  /* Restaurar el pin a su posición original (visible bajo el mapa) */
  .ct-card__pin {
    position: static !important;
    display: block !important;
    margin: 4px auto 0 !important;
    width: 32% !important;
    height: auto !important;
    z-index: auto;
  }
}
@media (max-width: 720px) {
  /* Pin montado sobre el mapa (sin sacarlo del flujo) */
  .ct-card__pin { position: relative !important; margin: -38px auto 0 !important; z-index: 3; }
}
@media (max-width: 720px) {
  /* Pin visible justo debajo del mapa (estado seguro) */
  .ct-card__pin { position: static !important; margin: 4px auto 0 !important; z-index: auto; display: block !important; }
}
/* Inicio móvil: collage exacto del banner (Figma) */
@media (max-width: 720px) {
  .hero__media { aspect-ratio: 780 / 474 !important; margin-top: 16px !important; }
  .hero__media .m1, .hero__media .m2, .hero__media .m3, .hero__media .m4 { display: none !important; }
  .hero__media .hero-collage {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
  }
}
/* Escritorio: la tarjeta turquesa de Nosotros mide igual que las de Productos y Contacto */
.page-hero__card--nos {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.page-hero--nosotros .shell { width: min(var(--frame), 100% - (var(--gutter) * 2)); margin-inline: auto; }
@media (max-width: 720px) {
  /* Barra de categorías: con márgenes, más compacta y texto alineado */
  .mp-tabs {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding: 12px 16px !important;
    align-items: center !important;
    row-gap: 6px !important;
  }
  .mp-tab, .mp-tab:nth-child(n) {
    display: flex;
    align-items: center;
    padding-block: 6px !important;
    line-height: 1 !important;
    font-size: 11.5px !important;
  }
  .mp-tab.is-active { padding: 6px 12px !important; }
}