/* November 1 RIGHT Mexico reference: 760 × 2068 source pixels.
   Reference body boundaries are x=27..733, with the hero reaching x=760.
   The unit follows the viewport up to 1440px; below 720px the existing
   accessible stacked layout remains in charge. All copy remains native text. */
/* Provider upscales may round their canvas dimensions. Keep the supplied
   hero slot ratio at small sizes as well as in the desktop reference grid. */
@media (max-width: 719px) {
  .mexico-page .mexico-hero .hero-image { aspect-ratio: 439 / 328; }
  .mexico-page .mexico-hero .hero-image > .responsive-picture-image { height: 100%; object-fit: contain; }
}
@media (min-width: 720px) {
  .mexico-page {
    --mx: min(.1315789474vw, 1.8947368421px);
    --shell: calc(706 * var(--mx));
    width: calc(706 * var(--mx));
    max-width: none;
    font-size: calc(14 * var(--mx));
    line-height: 1.3;
  }

  .mexico-page .breadcrumb {
    height: calc(27 * var(--mx));
    padding: calc(12 * var(--mx)) 0 0;
    gap: calc(10 * var(--mx));
    font-size: calc(10 * var(--mx));
    line-height: 1.3;
  }

  .mexico-page .mexico-hero {
    grid-template-columns: calc(294 * var(--mx)) calc(439 * var(--mx));
    align-items: start;
    gap: 0;
    margin: calc(-8 * var(--mx)) calc(-27 * var(--mx)) calc(8 * var(--mx)) 0;
  }

  .mexico-page .mexico-hero > div {
    padding: calc(32 * var(--mx)) calc(7 * var(--mx)) 0 0;
    min-width: 0;
  }

  .mexico-page .mexico-hero .eyebrow {
    font-size: calc(14 * var(--mx));
    line-height: 1.2;
    letter-spacing: .005em;
    margin-bottom: calc(7 * var(--mx));
    max-width: none;
  }

  .mexico-page .mexico-hero h1 {
    font-size: calc(32 * var(--mx));
    line-height: 1.06;
    letter-spacing: -.035em;
    margin: 0 0 calc(7 * var(--mx));
  }

  .mexico-page .mexico-title-line { display: block; transform-origin: left center; }
  .mexico-page .mexico-title-line:nth-child(1) { transform: scaleX(1.0913); }
  .mexico-page .mexico-title-line:nth-child(2) { transform: scaleX(1.0722); }
  .mexico-page .mexico-title-line:nth-child(3) { transform: scaleX(1.0216); }

  .mexico-page .mexico-hero p:not(.eyebrow) {
    font-size: calc(16 * var(--mx));
    line-height: calc(19.5 * var(--mx));
    max-width: calc(270 * var(--mx));
    margin: 0 0 calc(11 * var(--mx));
    letter-spacing: 0;
  }

  .mexico-page .mexico-hero p:not(.eyebrow) + p:not(.eyebrow) {
    font-size: calc(14 * var(--mx));
    line-height: calc(17 * var(--mx));
    max-width: calc(245 * var(--mx));
    margin-bottom: calc(15 * var(--mx));
  }

  .mexico-page .mexico-hero .hero-image,
  .mexico-page .mexico-hero .hero-image > .responsive-picture-image {
    width: calc(439 * var(--mx));
    height: calc(328 * var(--mx));
    min-height: 0;
    max-width: none;
    object-fit: contain;
    aspect-ratio: 439 / 328;
    border-radius: 0;
    align-self: start;
  }

  .mexico-page .mexico-hero .actions {
    gap: calc(16 * var(--mx));
    flex-wrap: nowrap;
  }

  .mexico-page .mexico-hero .button:not(.download) {
    font-size: calc(12 * var(--mx));
    min-height: calc(32 * var(--mx));
    padding: calc(8 * var(--mx)) calc(20 * var(--mx));
    gap: calc(16 * var(--mx));
    border-radius: calc(24 * var(--mx));
  }

  .mexico-page .button span { font-size: calc(21 * var(--mx)); }
  .mexico-page .mexico-hero .button.download {
    font-size: calc(10 * var(--mx));
    min-height: calc(28 * var(--mx));
    padding: 0;
    gap: calc(7 * var(--mx));
    white-space: nowrap;
  }

  .mexico-page .opportunity {
    margin: 0 calc(-14 * var(--mx)) calc(4 * var(--mx));
    padding: calc(12 * var(--mx)) calc(14 * var(--mx)) calc(12 * var(--mx));
    border-radius: calc(10 * var(--mx));
  }

  .mexico-page .opportunity h2,
  .mexico-page .content-section h2 {
    font-size: calc(23 * var(--mx));
    line-height: 1.1;
    letter-spacing: -.035em;
    margin: 0 0 calc(8 * var(--mx));
  }

  .mexico-page .opportunity h2 { font-size: calc(24 * var(--mx)); letter-spacing: -.02em; }

  .mexico-page .stat-grid { gap: calc(12 * var(--mx)); }
  .mexico-page .stat-card {
    min-height: calc(114 * var(--mx));
    padding: calc(12 * var(--mx)) calc(15 * var(--mx));
    gap: calc(16 * var(--mx));
    flex-wrap: nowrap;
    border-radius: calc(7 * var(--mx));
    align-items: flex-start;
  }

  .mexico-page .stat-card .stat-icon {
    width: calc(88 * var(--mx));
    height: calc(90 * var(--mx));
    flex: 0 0 calc(88 * var(--mx));
    object-fit: contain;
  }

  .mexico-page .stat-card strong {
    font-size: calc(38 * var(--mx));
    line-height: 1;
    letter-spacing: -.045em;
    margin-top: calc(1 * var(--mx));
  }

  .mexico-page .stat-card h3 {
    font-size: calc(14 * var(--mx));
    line-height: calc(16 * var(--mx));
    letter-spacing: -.015em;
    margin: calc(3 * var(--mx)) 0 0;
  }

  .mexico-page .stat-card p {
    font-size: calc(13 * var(--mx));
    line-height: calc(16 * var(--mx));
  }

  .mexico-page .source {
    font-size: calc(9 * var(--mx));
    line-height: 1.3;
    margin-top: calc(9 * var(--mx));
  }

  .mexico-page .content-section { margin: calc(24 * var(--mx)) 0; }
  .mexico-page .opportunity + .content-section { margin-top: calc(4 * var(--mx)); }
  .mexico-page .opportunity + .content-section > h2 { letter-spacing: -.023em; }
  .mexico-page .content-section:has(.sector-grid) > h2 { letter-spacing: -.01em; }
  .mexico-page .content-section:has(.mexico-media) > h2 { letter-spacing: -.03em; }

  .mexico-page .mexico-geography {
    grid-template-columns: calc(379 * var(--mx)) minmax(0, 1fr);
    gap: calc(12 * var(--mx));
  }

  .mexico-page .mexico-geography figure,
  .mexico-page .mexico-geography .decorative-mexico-map {
    border-radius: calc(8 * var(--mx));
    width: calc(379 * var(--mx));
  }

  .mexico-page .mexico-geography figure > .decorative-mexico-map > picture,
  .mexico-page .mexico-geography figure > .decorative-mexico-map > img {
    width: calc(379 * var(--mx));
    height: calc(252 * var(--mx));
    aspect-ratio: 379 / 252;
    object-fit: contain;
  }

  .mexico-page .mexico-geography > div {
    display: grid;
    grid-template-rows: calc(75 * var(--mx)) calc(75 * var(--mx)) calc(70 * var(--mx)) auto;
    gap: calc(8 * var(--mx));
  }

  .mexico-page .geography-card {
    padding: calc(9 * var(--mx)) calc(14 * var(--mx));
    gap: calc(20 * var(--mx));
    border-radius: calc(7 * var(--mx));
  }

  .mexico-page .geography-card :is(img:not(.responsive-picture-image), picture.responsive-picture) {
    width: calc(64 * var(--mx));
    height: calc(64 * var(--mx));
    flex: 0 0 calc(64 * var(--mx));
    object-fit: contain;
  }

  .mexico-page .geography-card h3 {
    font-size: calc(16 * var(--mx));
    line-height: 1.12;
    letter-spacing: -.02em;
    margin: 0 0 calc(4 * var(--mx));
  }

  .mexico-page .geography-card p {
    font-size: calc(12 * var(--mx));
    line-height: calc(15 * var(--mx));
  }

  .mexico-page .mexico-geography .source {
    font-size: calc(9 * var(--mx));
    line-height: calc(11 * var(--mx));
    margin: 0;
  }

  .mexico-page .sector-grid { gap: calc(8 * var(--mx)); }
  .mexico-page .sector-grid article { border-radius: calc(7 * var(--mx)); }
  .mexico-page .sector-grid :is(img:not(.responsive-picture-image), picture.responsive-picture) {
    aspect-ratio: 231 / 140;
    border-radius: 0;
    object-fit: cover;
  }
  .mexico-page .sector-grid article > div { padding: calc(8 * var(--mx)) calc(14 * var(--mx)) calc(10 * var(--mx)); }
  .mexico-page .sector-grid h3 {
    font-size: calc(14 * var(--mx));
    line-height: calc(16 * var(--mx));
    letter-spacing: -.02em;
    margin-bottom: calc(3 * var(--mx));
  }
  .mexico-page .sector-grid p { font-size: calc(12 * var(--mx)); line-height: calc(15 * var(--mx)); }
  .mexico-page .sector-grid + .small { font-size: calc(12 * var(--mx)); line-height: calc(16 * var(--mx)); margin-top: calc(11 * var(--mx)); }

  .mexico-page .mexico-media {
    width: 100%;
    aspect-ratio: 706 / 158;
    height: auto;
    object-fit: contain;
    border-radius: calc(7 * var(--mx));
    margin-bottom: calc(7 * var(--mx));
  }
  .mexico-page .solution-grid.six { gap: calc(6 * var(--mx)); }
  .mexico-page .solution-grid.six article {
    padding: calc(9 * var(--mx)) calc(5 * var(--mx)) calc(10 * var(--mx));
    gap: calc(5 * var(--mx));
    min-height: calc(90 * var(--mx));
    border-radius: calc(6 * var(--mx));
    justify-content: flex-start;
  }
  .mexico-page .six .solution-icon {
    width: calc(41 * var(--mx));
    height: calc(33 * var(--mx));
    flex-shrink: 0;
    object-fit: contain;
  }
  .mexico-page .six h3 { font-size: calc(13 * var(--mx)); line-height: calc(15 * var(--mx)); letter-spacing: -.02em; margin: 0; }
  .mexico-page .six article:last-child h3 { font-size: calc(11 * var(--mx)); }

  .mexico-page .process-grid { gap: calc(10 * var(--mx)); }
  .mexico-page .process-grid article {
    padding: calc(8 * var(--mx)) calc(7 * var(--mx));
    gap: calc(9 * var(--mx));
    min-height: calc(88 * var(--mx));
    border-radius: calc(6 * var(--mx));
  }
  .mexico-page .process-grid article > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(48 * var(--mx));
    height: calc(48 * var(--mx));
    padding: 0;
    flex: 0 0 calc(48 * var(--mx));
    font-size: calc(24 * var(--mx));
    line-height: 1;
  }
  .mexico-page .process-grid h3 { font-size: calc(14 * var(--mx)); line-height: calc(17 * var(--mx)); margin: calc(5 * var(--mx)) 0 calc(4 * var(--mx)); letter-spacing: -.02em; }
  .mexico-page .process-grid p { font-size: calc(10 * var(--mx)); line-height: calc(13 * var(--mx)); }
  .mexico-page .process-grid article:not(:last-child)::after { display: block; right: calc(-13 * var(--mx)); top: 38%; font-size: calc(22 * var(--mx)); }

  .mexico-page .experience-section { margin-top: calc(20 * var(--mx)); margin-bottom: calc(19 * var(--mx)); }
  .mexico-page .experience-section h2 { font-size: calc(22 * var(--mx)); letter-spacing: -.043em; }
  .mexico-page .experience-brands {
    padding: calc(17 * var(--mx)) calc(10 * var(--mx));
    min-height: calc(58 * var(--mx));
    font-size: calc(20 * var(--mx));
    line-height: calc(23 * var(--mx));
    border-radius: calc(6 * var(--mx));
  }
  .mexico-page .experience-section .source { margin-top: calc(8 * var(--mx)); }

  .mexico-page .campaign-callout {
    margin: calc(19 * var(--mx)) calc(-10 * var(--mx)) 0;
    padding: calc(14 * var(--mx)) calc(20 * var(--mx));
    min-height: calc(103 * var(--mx));
    gap: calc(24 * var(--mx));
    border-radius: calc(9 * var(--mx));
  }
  .mexico-page .campaign-callout h2 { font-size: calc(23 * var(--mx)); line-height: calc(26 * var(--mx)); margin: 0 0 calc(5 * var(--mx)); letter-spacing: -.012em; }
  .mexico-page .campaign-callout > div:first-child { transform: translateY(calc(-4 * var(--mx))); }
  .mexico-page .campaign-callout p { font-size: calc(13 * var(--mx)); line-height: calc(17 * var(--mx)); }
  .mexico-page .campaign-callout p + p { margin-top: calc(8 * var(--mx)); }
  .mexico-page .callout-actions { gap: calc(9 * var(--mx)); }
  .mexico-page .callout-actions > .button:not(.download) { min-width: calc(156 * var(--mx)); min-height: calc(38 * var(--mx)); padding: calc(9 * var(--mx)) calc(28 * var(--mx)); gap: calc(24 * var(--mx)); border-radius: calc(24 * var(--mx)); font-size: calc(13 * var(--mx)); }
  .mexico-page .callout-actions > .button.download { font-size: calc(10 * var(--mx)); min-height: calc(20 * var(--mx)); gap: calc(8 * var(--mx)); }

  /* Spanish is longer than the supplied English raster: allow natural growth
     instead of truncating translated content to an image-derived height. */
  html[lang="es"] .mexico-page .mexico-hero { align-items: center; }
  html[lang="es"] .mexico-page .mexico-hero > div { padding-top: calc(16 * var(--mx)); }
  html[lang="es"] .mexico-page .mexico-hero .actions { flex-wrap: wrap; gap: calc(9 * var(--mx)); }
  html[lang="es"] .mexico-page .mexico-geography > div { grid-template-rows: repeat(3, minmax(calc(75 * var(--mx)), auto)) auto; }
  html[lang="es"] .mexico-page .campaign-callout { flex-wrap: wrap; }
}
