/* Flagship art direction for the Selecciones gateway, purpose and Olympic pages. */

/* Campaign carousel ------------------------------------------------------- */
.nt-campaign-carousel {
  --nt-slide-duration: 7000ms;
  --nt-progress-play-state: running;
  position: relative;
  min-height: clamp(37rem, 63vw, 47rem);
  margin-bottom: clamp(4rem, 8vw, 8rem);
  color: #fff;
  border-radius: .45rem 7rem .45rem .45rem;
  background: #06172d;
  box-shadow: 0 2rem 5rem rgba(6, 23, 45, .2);
  isolation: isolate;
}
.nt-campaign-carousel__viewport {
  position: relative;
  min-height: inherit;
  overflow: hidden;
  border-radius: inherit;
  background: #06172d;
  touch-action: pan-y;
}
.nt-campaign-slide {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  min-height: inherit;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: visibility 0s linear .85s, opacity .65s ease;
}
.nt-campaign-slide.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}
.nt-campaign-slide.is-leaving { z-index: 1; visibility: visible; opacity: 1; }
.nt-campaign-slide__media,
.nt-campaign-slide__mask { position: absolute; inset: 0; }
.nt-campaign-slide__media { overflow: hidden; background: #102d50; }
.nt-campaign-slide__media picture { display: block; width: 100%; height: 100%; }
.nt-campaign-slide__media img,
.nt-campaign-slide__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.055);
  transition: transform 7.8s cubic-bezier(.18, .7, .28, 1), clip-path .95s cubic-bezier(.16, .78, .22, 1);
}
.nt-campaign-carousel.is-ready .nt-campaign-slide:not(.is-active) .nt-campaign-slide__media {
  clip-path: inset(0 0 0 100%);
}
.nt-campaign-carousel.is-ready .nt-campaign-slide.is-active .nt-campaign-slide__media {
  clip-path: inset(0);
  transition: clip-path .95s cubic-bezier(.16, .78, .22, 1);
}
.nt-campaign-slide.is-active .nt-campaign-slide__media img { transform: scale(1); }
.nt-campaign-slide__mask {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(3, 16, 35, .94) 0%, rgba(3, 16, 35, .74) 38%, rgba(3, 16, 35, .14) 72%),
    linear-gradient(0deg, rgba(3, 16, 35, .7), transparent 46%);
}
.nt-campaign-slide__content {
  position: relative;
  z-index: 3;
  display: grid;
  width: min(50rem, 66%);
  min-height: inherit;
  align-content: center;
  padding: clamp(3rem, 6vw, 6rem) clamp(2rem, 6vw, 6rem) clamp(7rem, 10vw, 8.5rem);
}
.nt-campaign-slide__eyebrow {
  display: flex;
  gap: .75rem;
  align-items: center;
  margin: 0 0 1rem;
  color: #f0d67a;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nt-campaign-slide__eyebrow span {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  letter-spacing: .05em;
}
.nt-campaign-slide h1,
.nt-campaign-slide h2 {
  max-width: 10ch;
  margin: 0;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.6rem, 7.2vw, 7rem);
  font-weight: 400;
  letter-spacing: -.06em;
  line-height: .86;
  text-wrap: balance;
}
.nt-campaign-slide__lede {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: #e1e9f2;
  font-size: clamp(1rem, 1.55vw, 1.27rem);
  line-height: 1.5;
  text-wrap: balance;
}
.nt-campaign-slide__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.nt-campaign-slide__scoreline {
  position: absolute;
  z-index: 3;
  right: 2rem;
  top: auto;
  bottom: 6.7rem;
  display: grid;
  color: rgba(255, 255, 255, .9);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-align: right;
  text-transform: uppercase;
}
.nt-campaign-slide__scoreline span { padding: .42rem 0 .42rem 1rem; border-bottom: 1px solid rgba(255,255,255,.35); }
.nt-campaign-carousel .nt-flag { right: auto; left: 0; grid-template-columns: repeat(3, 6.5rem); }
.nt-campaign-carousel__chrome {
  position: absolute;
  z-index: 12;
  top: clamp(1.1rem, 2.4vw, 2rem);
  right: clamp(1.2rem, 3vw, 2.5rem);
  bottom: auto;
  left: auto;
  display: grid;
  grid-template-columns: 4rem minmax(9rem, 1fr) auto;
  gap: clamp(1rem, 2vw, 2rem);
  align-items: center;
  padding: .7rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: .3rem;
  background: rgba(5, 22, 45, .72);
  box-shadow: 0 .9rem 2.2rem rgba(0,0,0,.18);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  width: min(34rem, 48%);
}
.nt-campaign-carousel__orientation { display: flex; gap: .55rem; align-items: center; font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.nt-campaign-carousel__orientation i { width: 1.6rem; height: 1px; background: rgba(255,255,255,.5); }
.nt-campaign-carousel__indicators { display: grid; grid-template-columns: repeat(var(--nt-slide-count, 3), minmax(2.5rem, 1fr)); gap: .45rem; }
.nt-campaign-carousel__indicators button {
  position: relative;
  min-width: 0;
  height: 2.75rem;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.nt-campaign-carousel__indicators button::before,
.nt-campaign-carousel__indicators button span {
  position: absolute;
  right: 0;
  left: 0;
  top: 50%;
  height: 2px;
  content: '';
  transform: translateY(-50%);
}
.nt-campaign-carousel__indicators button::before { background: rgba(255,255,255,.28); }
.nt-campaign-carousel__indicators button span { background: #f0d67a; transform: translateY(-50%) scaleX(0); transform-origin: left; }
.nt-campaign-carousel__indicators button.is-active span {
  animation: nt-carousel-progress var(--nt-slide-duration) linear forwards;
  animation-play-state: var(--nt-progress-play-state);
}
.nt-campaign-carousel__controls { display: flex; gap: .35rem; }
.nt-campaign-carousel__controls button {
  display: grid;
  width: 2.9rem;
  height: 2.9rem;
  padding: 0;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}
.nt-campaign-carousel__controls button:hover,
.nt-campaign-carousel__controls button:focus-visible { color: #071831; background: #fff; transform: translateY(-2px); }
.nt-campaign-carousel__controls i { font-size: .95rem; }
.nt-campaign-carousel__controls .nt-icon-play { display: none; }
.nt-campaign-carousel.is-paused .nt-icon-pause { display: none; }
.nt-campaign-carousel.is-paused .nt-icon-play { display: block; }
.nt-campaign-carousel__next-cue {
  position: absolute;
  z-index: 11;
  right: -.55rem;
  top: 18%;
  width: .65rem;
  height: 43%;
  border-radius: 0 .3rem .3rem 0;
  background: linear-gradient(#17664f 0 33%, #fff 33% 66%, #b3293c 66%);
  box-shadow: .4rem 0 1rem rgba(6,23,45,.22);
}
.has-nt-motion .nt-campaign-slide.is-active .nt-campaign-slide__eyebrow,
.has-nt-motion .nt-campaign-slide.is-active :is(h1, h2),
.has-nt-motion .nt-campaign-slide.is-active .nt-campaign-slide__lede,
.has-nt-motion .nt-campaign-slide.is-active .nt-campaign-slide__actions {
  animation: nt-campaign-copy .62s cubic-bezier(.2,.8,.2,1) both;
}
.has-nt-motion .nt-campaign-slide.is-active :is(h1, h2) { animation-delay: 90ms; }
.has-nt-motion .nt-campaign-slide.is-active .nt-campaign-slide__lede { animation-delay: 150ms; }
.has-nt-motion .nt-campaign-slide.is-active .nt-campaign-slide__actions { animation-delay: 210ms; }

/* Purpose page ----------------------------------------------------------- */
.nt-purpose-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(25rem, .96fr);
  min-height: clamp(40rem, 58vw, 49rem);
  margin-bottom: clamp(4rem, 8vw, 8rem);
  overflow: hidden;
  border-radius: .4rem 8rem .4rem .4rem;
  background: linear-gradient(135deg, #f7f3e9 0 55%, #e8edf0 55%);
  box-shadow: 0 1.5rem 4rem rgba(10,32,65,.12);
  isolation: isolate;
}
.nt-purpose-hero__copy {
  position: relative;
  z-index: 3;
  display: grid;
  align-content: center;
  padding: clamp(2.5rem, 6vw, 6rem);
}
.nt-purpose-hero .nt-stage__kicker span,
.nt-olympic-hero .nt-stage__kicker span {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .65rem;
  letter-spacing: .05em;
}
.nt-purpose-hero h1 {
  max-width: 8ch;
  margin: 0;
  color: var(--nt-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.3rem, 6.6vw, 6.5rem);
  font-weight: 400;
  letter-spacing: -.06em;
  line-height: .86;
}
.nt-purpose-hero__coordinates { display: grid; gap: 0; margin: 2.2rem 0 0; padding: 0; list-style: none; }
.nt-purpose-hero__coordinates li {
  display: grid;
  grid-template-columns: 2.7rem minmax(0,1fr) auto;
  gap: .9rem;
  align-items: center;
  min-height: 4rem;
  border-top: 1px solid rgba(10,32,65,.22);
}
.nt-purpose-hero__coordinates i { display: grid; width: 2.35rem; height: 2.35rem; color: var(--nt-navy); place-items: center; font-size: 1.15rem; border-block: 1px solid rgba(10,32,65,.28); }
.nt-purpose-hero__coordinates span { color: var(--nt-muted); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nt-purpose-hero__coordinates strong { color: var(--nt-navy); font-family: Georgia,serif; font-size: 1.2rem; font-weight: 400; }
.nt-purpose-hero__image { position: relative; z-index: 2; min-width: 0; margin: 0; overflow: hidden; }
.nt-purpose-hero__image::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,18,39,.78),transparent 52%); content: ''; }
.nt-purpose-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.nt-purpose-hero__image figcaption { position: absolute; z-index: 3; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; color: #fff; font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.nt-purpose-hero__trajectory { position: absolute; z-index: 3; inset: 4% 2% auto auto; width: 88%; fill: none; stroke: rgba(255,255,255,.85); stroke-linecap: round; stroke-width: 1.4; }
.nt-purpose-hero__trajectory path { stroke-dasharray: 760; stroke-dashoffset: 0; }
.nt-purpose-hero__trajectory circle { fill: #e0c460; stroke: none; }
.nt-purpose-hero__monogram { position: absolute; z-index: 1; left: 2rem; bottom: -2.5rem; color: rgba(10,32,65,.045); font-family: Georgia,serif; font-size: clamp(8rem,17vw,17rem); letter-spacing: -.1em; line-height: .7; }
.has-nt-motion .nt-purpose-hero__image img { clip-path: inset(0 0 100% 0); transition: clip-path .95s cubic-bezier(.2,.8,.2,1); }
.has-nt-motion .nt-purpose-hero__image.is-revealed img { clip-path: inset(0); }
.has-nt-motion .nt-purpose-hero__trajectory path { animation: nt-line-draw 1.2s ease-out .45s both; }

.fmg-national-teams--mision-vision-objetivos .fmg-national-teams__content { margin-inline: calc(50% - 50vw); }
.fmg-national-teams--mision-vision-objetivos .fmg-national-teams__content .gf-national-main { gap: 0; }
.fmg-national-teams--mision-vision-objetivos .gf-national-split {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 0;
  width: min(calc(100% - clamp(2rem,8vw,9rem)), 92rem);
  padding: 0;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split::before { display: none; }
.fmg-national-teams--mision-vision-objetivos .gf-national-split article {
  position: relative;
  display: grid;
  width: auto;
  min-height: 27rem;
  align-content: center;
  padding: clamp(2rem,5vw,5rem);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-split article {
  width: auto;
  min-height: 27rem;
  padding: clamp(2rem,5vw,5rem);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split article:first-child {
  grid-column: 1 / span 8;
  color: var(--nt-navy);
  background: #f5f0e4;
}
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-split article:first-of-type {
  color: var(--nt-navy);
  background: #f5f0e4;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2) {
  z-index: 2;
  grid-column: 5 / -1;
  margin-top: -2.5rem;
  color: #fff;
  background: var(--nt-navy);
  text-align: left;
  box-shadow: -1.5rem 1.5rem 0 rgba(200,164,77,.22);
}
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-split article:nth-of-type(2) {
  color: #fff;
  background: var(--nt-navy);
  box-shadow: -1.5rem 1.5rem 0 rgba(200,164,77,.22);
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split article::after {
  position: absolute;
  right: clamp(1.5rem,4vw,4rem);
  bottom: clamp(1.2rem,3vw,3rem);
  color: rgba(10,32,65,.08);
  font-family: Georgia,serif;
  font-size: clamp(4rem,8vw,8rem);
  content: 'MISIÓN';
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2)::after { color: rgba(255,255,255,.06); content: 'VISIÓN'; }
.fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2)::before {
  position: absolute;
  right: 7%;
  bottom: 19%;
  width: 46%;
  height: 1px;
  background: linear-gradient(90deg,transparent,#e0c460);
  content: '';
  transform: rotate(-12deg);
  transform-origin: right;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-split h2 { position: relative; z-index: 2; margin-top: .8rem; }
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-split article h2 { font-size: clamp(2.7rem,5vw,5rem); letter-spacing: -.045em; }
.fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2) :is(h2,p) { color: #fff; }
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-split article:nth-of-type(2) :is(h2,p) { color: #fff; }
.nt-purpose-chapter__icon { position: relative; display: grid; width: 5rem; height: 3.2rem; place-items: center; color: var(--nt-green); border-block: 1px solid currentColor; }
.nt-purpose-chapter__icon::before,
.nt-purpose-chapter__icon::after { position: absolute; top: 50%; width: 1.2rem; height: 1px; background: currentColor; content: ''; opacity: .5; }
.nt-purpose-chapter__icon::before { right: 100%; }
.nt-purpose-chapter__icon::after { left: 100%; }
.nt-purpose-chapter--vision .nt-purpose-chapter__icon { color: #e0c460; }
.nt-purpose-chapter__icon i { font-size: 1.45rem; }

.fmg-national-teams--mision-vision-objetivos .gf-national-main > .gf-national-section {
  width: 100%;
  margin-top: clamp(4rem,8vw,8rem);
  padding: clamp(4rem,8vw,8rem) max(calc((100vw - 83rem) / 2), clamp(1.5rem,6vw,6rem));
  color: var(--nt-navy);
  background: #fff;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-main > .gf-national-section::before { display: none; }
.fmg-national-teams--mision-vision-objetivos .gf-national-main > .gf-national-section h2 { max-width: 12ch; color: var(--nt-navy); font-size: clamp(3rem,6vw,6rem); letter-spacing: -.05em; }
.fmg-national-teams--mision-vision-objetivos #gf-national-teams .gf-national-section > h2 { max-width: 12ch; color: var(--nt-navy); font-size: clamp(3rem,6vw,6rem); letter-spacing: -.05em; }
#gf-national-teams .gf-national-section.nt-medals-section > h2,
#gf-national-teams .gf-national-section.nt-medals-section > h2::before { color: #fff; }
#gf-national-teams .gf-national-section.nt-medals-section > h2 { font-size: clamp(3.3rem,7vw,7rem); letter-spacing: -.055em; }
#gf-national-teams .gf-national-section.nt-medals-section > h2::before { color: #e0c460; }
#gf-national-teams .gf-national-section:not(.nt-medals-section) > h2 { letter-spacing: -.035em; }
.fmg-national-teams--mision-vision-objetivos .gf-national-section > ul {
  position: relative;
  display: grid;
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: objective;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-section > ul::before {
  position: absolute;
  top: 2rem;
  bottom: 2rem;
  left: 2rem;
  width: 1px;
  background: linear-gradient(var(--nt-green),var(--nt-gold),var(--nt-red));
  content: '';
  transform-origin: top;
}
.fmg-national-teams--mision-vision-objetivos .gf-national-section > ul > li {
  counter-increment: objective;
  position: relative;
  display: grid;
  grid-template-columns: 4rem minmax(0,1fr) 3rem;
  gap: clamp(1rem,3vw,2rem);
  align-items: center;
  min-height: 8rem;
  padding: 1.1rem 0;
  color: var(--nt-navy);
  border-top: 1px solid rgba(10,32,65,.18);
}
.fmg-national-teams--mision-vision-objetivos .gf-national-section > ul > li:last-child { border-bottom: 1px solid rgba(10,32,65,.18); }
.fmg-national-teams--mision-vision-objetivos .gf-national-section > ul > li::after {
  justify-self: end;
  color: rgba(10,32,65,.22);
  font-family: Georgia,serif;
  font-size: 1.25rem;
  content: '0' counter(objective);
}
.nt-objective-icon { position: relative; z-index: 2; display: grid; width: 4rem; height: 4rem; place-items: center; color: var(--nt-navy); border: 1px solid rgba(10,32,65,.22); border-radius: 50%; background: #fff; }
.nt-objective-icon i { font-size: 1.15rem; }
.has-nt-purpose-motion .nt-purpose-chapter,
.has-nt-purpose-motion .gf-national-section > ul > li { opacity: 0; transform: translateX(-1.4rem); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1); }
.has-nt-purpose-motion .nt-purpose-chapter--vision { transform: translateX(1.4rem); }
.has-nt-purpose-motion :is(.nt-purpose-chapter,.gf-national-section > ul > li).is-purpose-visible { opacity: 1; transform: none; }
.has-nt-purpose-motion :is(.nt-purpose-chapter__icon,.nt-objective-icon) { opacity: .25; transform: scale(.82) rotate(-4deg); }
.has-nt-purpose-motion .is-purpose-visible :is(.nt-purpose-chapter__icon,.nt-objective-icon) { animation: nt-fa-arrive .55s cubic-bezier(.2,.8,.2,1) .1s forwards; }

/* Olympic story ---------------------------------------------------------- */
.nt-olympic-hero {
  position: relative;
  display: grid;
  min-height: clamp(41rem, 61vw, 50rem);
  margin-bottom: 0;
  overflow: hidden;
  color: #fff;
  border-radius: 6rem .4rem .4rem .4rem;
  background: #06172d;
  box-shadow: 0 2rem 5rem rgba(6,23,45,.2);
  isolation: isolate;
}
.nt-olympic-hero__media,
.nt-olympic-hero__scrim { position: absolute; inset: 0; }
.nt-olympic-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 45%; }
.nt-olympic-hero__scrim { z-index: 1; background: linear-gradient(90deg,rgba(3,16,35,.96) 0 43%,rgba(3,16,35,.28) 76%),linear-gradient(0deg,rgba(3,16,35,.78),transparent 55%); }
.nt-olympic-hero__copy { position: relative; z-index: 3; display: grid; width: min(49rem,67%); align-content: center; padding: clamp(3rem,7vw,7rem); }
.nt-olympic-hero .nt-stage__kicker { color: #e0c460; }
.nt-olympic-hero h1 { max-width: 8ch; margin: 0; color: #fff; font-family: Georgia,serif; font-size: clamp(4rem,8vw,8rem); font-weight: 400; letter-spacing: -.065em; line-height: .84; }
.nt-olympic-hero .nt-stage__lede { color: #d9e3ee; }
.nt-olympic-hero__facts { display: flex; gap: 0; margin-top: 2.2rem; border-block: 1px solid rgba(255,255,255,.3); }
.nt-olympic-hero__facts span { max-width: 15rem; padding: 1rem 1.4rem 1rem 0; color: #cbd6e2; font-size: .72rem; font-weight: 750; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.nt-olympic-hero__facts span + span { padding-left: 1.4rem; border-left: 1px solid rgba(255,255,255,.3); }
.nt-olympic-hero__facts strong { display: block; color: #fff; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 400; letter-spacing: -.02em; }
.nt-olympic-hero__route { position: absolute; z-index: 2; right: -2%; bottom: 0; width: 70%; fill: none; stroke: rgba(224,196,96,.88); stroke-linecap: round; stroke-width: 1.2; }
.nt-olympic-hero__route path { stroke-dasharray: 1100; }
.has-nt-motion .nt-olympic-hero__route path { animation: nt-line-draw 1.5s ease-out .3s both; }
.nt-olympic-hero__route circle { fill: #fff; stroke: none; }
.nt-olympic-hero__edition { position: absolute; z-index: 4; right: 1.4rem; top: 50%; color: rgba(255,255,255,.8); font-size: .62rem; font-weight: 850; letter-spacing: .2em; writing-mode: vertical-rl; }

.nt-olympic-journey { --nt-journey-progress: 0; position: relative; display: grid; grid-template-columns: minmax(16rem,.62fr) minmax(0,1.38fr); gap: clamp(2rem,6vw,6rem); margin: 0 0 clamp(5rem,9vw,9rem); padding: clamp(3rem,7vw,7rem); color: var(--nt-navy); background: #f2eee4; overflow: hidden; }
.nt-olympic-journey__heading p { margin: 0 0 .6rem; color: #765b0b; font-size: .72rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.nt-olympic-journey__heading h2 { margin: 0; color: var(--nt-navy); font-family: Georgia,serif; font-size: clamp(2.8rem,5.5vw,5.2rem); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.nt-olympic-journey__heading span { display: block; max-width: 28rem; margin-top: 1rem; color: var(--nt-muted); line-height: 1.6; }
.nt-olympic-journey__path { position: relative; min-width: 0; min-height: 26rem; }
.nt-olympic-journey__trajectory { position: absolute; z-index: 0; top: 2rem; left: 0; width: 100%; height: 16rem; fill: none; stroke-linecap: round; stroke-width: 2; }
.nt-olympic-journey__trajectory-base { stroke: rgba(10,32,65,.16); }
.nt-olympic-journey__trajectory-progress { stroke: #b69131; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--nt-journey-progress)); transition: stroke-dashoffset 120ms linear; }
.nt-olympic-journey__stages { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; min-height: 26rem; margin: 0; padding: 0; list-style: none; }
.nt-olympic-journey__stages li { position: relative; display: grid; align-content: start; min-width: 0; padding: 1.35rem .8rem 1rem 0; transition: color .3s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.nt-olympic-journey__stages li:nth-child(even) { padding-top: 12.2rem; }
.nt-olympic-journey__stages li::before { position: absolute; z-index: 2; top: 3.1rem; left: 0; width: .8rem; height: .8rem; border: 3px solid #f2eee4; border-radius: 50%; background: rgba(10,32,65,.28); box-shadow: 0 0 0 1px rgba(10,32,65,.2); content: ''; transition: background .3s ease, transform .3s ease; }
.nt-olympic-journey__stages li:nth-child(even)::before { top: 14rem; }
.nt-olympic-journey__stages i { display: grid; width: 3.3rem; height: 3.3rem; margin-bottom: 1.15rem; color: rgba(10,32,65,.42); place-items: center; font-size: 1.45rem; border-block: 1px solid currentColor; transition: color .3s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.nt-olympic-journey__stages li.is-stage-active::before { background: var(--nt-gold); transform: scale(1.2); }
.nt-olympic-journey__stages li.is-stage-active i { color: var(--nt-navy); transform: translateY(-.2rem); }
.nt-olympic-journey__stages span { color: #765b0b; font-size: .68rem; font-weight: 850; letter-spacing: .13em; }
.nt-olympic-journey__stages strong { margin-top: .35rem; color: var(--nt-navy); font-family: Georgia,serif; font-size: 1.45rem; font-weight: 400; }
.nt-olympic-journey__stages small { margin-top: .35rem; color: var(--nt-muted); font-size: .75rem; }

.fmg-national-teams--ciclo-olimpico .gf-national-main > section { width: min(100%,82rem); }
#gf-national-teams .gf-national-main > section.nt-medals-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem);
  color: #fff;
  border: 0;
  background: #06172d;
  box-shadow: 0 2rem 5rem rgba(6,23,45,.18);
}
#gf-national-teams .nt-medals-section::before { display: none; }
#gf-national-teams .nt-medals-section__kicker { display: flex; gap: .65rem; align-items: center; margin: 0 0 1rem; color: #e0c460; font-size: .7rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.nt-medals-section__kicker i { font-size: 1rem; }
#gf-national-teams .nt-medals-section > h2 { max-width: 10ch; margin: 0; color: #fff; font-size: clamp(4rem,8vw,8rem); letter-spacing: -.065em; line-height: .82; }
#gf-national-teams .nt-medals-section > h2::before { display: none; }
.nt-medals-section__statement { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.7fr); gap: 2rem; align-items: end; margin: 1.5rem 0 clamp(3rem,7vw,7rem); padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,.2); }
.nt-medals-section__statement strong { color: #fff; font-family: Georgia,serif; font-size: clamp(1.8rem,3vw,3.1rem); font-weight: 400; letter-spacing: -.035em; }
.nt-medals-section__statement span { color: #aebdca; line-height: 1.6; }
.nt-medal-chronology { display: grid; gap: clamp(4rem,8vw,8rem); }
.nt-medal-event { display: grid; grid-template-columns: clamp(8rem,17vw,14rem) minmax(0,1fr); gap: clamp(1.5rem,5vw,5rem); padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.22); }
.nt-medal-event__header { position: relative; align-self: start; }
.nt-medal-event__year { display: block; color: rgba(255,255,255,.1); font-family: Georgia,serif; font-size: clamp(4rem,8vw,8rem); letter-spacing: -.08em; line-height: .75; }
.nt-medal-event__header h3 { margin: 1.3rem 0 .5rem; color: #fff; font-family: Georgia,serif; font-size: clamp(1.8rem,3.2vw,3.3rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
#gf-national-teams .nt-medal-event__header p { display: flex; gap: .55rem; max-width: 17rem; align-items: flex-start; margin: 0; color: #9fb0c0; font-size: .7rem; font-weight: 800; letter-spacing: .09em; line-height: 1.5; text-transform: uppercase; }
.nt-medal-event__header p i { margin-top: .18rem; color: var(--nt-gold); }
.nt-medal-event__achievements { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.nt-medal-achievement {
  --medal: #c8a44d;
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 31rem;
  padding: 0;
  align-content: end;
  overflow: hidden;
  color: #fff;
  border: 0;
  border-top: 2px solid var(--medal);
  background: linear-gradient(145deg,#173861,#081c37);
  isolation: isolate;
}
.nt-medal-achievement[data-medal='plata'] { --medal: #b9c4cf; }
.nt-medal-achievement[data-medal='bronce'] { --medal: #b8784d; }
.nt-medal-gallery__photo { position: absolute; z-index: -2; inset: 0; margin: 0; overflow: hidden; background: #102d50; }
.nt-medal-gallery__photo::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(3,15,31,.98) 0 18%,rgba(3,15,31,.62) 53%,rgba(3,15,31,.05) 80%); content: ''; }
.nt-medal-gallery__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 34%; filter: saturate(.82) contrast(1.04); transform: scale(1.015); transition: filter .5s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
.nt-medal-achievement:not(.has-media)::before { position: absolute; z-index: -1; inset: 10%; border: 1px solid rgba(255,255,255,.15); border-radius: 50% 50% 0 50%; content: ''; transform: rotate(-14deg); }
.nt-medal-achievement:not(.has-media)::after { position: absolute; z-index: -1; right: -8%; bottom: -15%; width: 80%; height: 80%; border: 1px solid rgba(200,164,77,.25); border-radius: 50%; content: ''; }
.nt-medal-gallery__copy { position: relative; z-index: 2; display: grid; min-height: 15rem; align-content: end; padding: clamp(1.4rem,3vw,2.5rem); }
.nt-medal-gallery__disk { position: absolute; top: clamp(1.4rem,3vw,2.5rem); right: clamp(1.4rem,3vw,2.5rem); display: flex; gap: .8rem; width: auto; height: auto; align-items: center; color: var(--medal); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nt-medal-gallery__disk::after { width: clamp(2.5rem,5vw,5rem); height: 1px; background: currentColor; content: ''; opacity: .65; }
.nt-medal-gallery__disk i { font-size: 1.8rem; filter: drop-shadow(0 .4rem 1rem rgba(0,0,0,.22)); }
.nt-medal-gallery__name { max-width: 13ch; margin: 0; overflow-wrap: normal; color: #fff; font-family: Georgia,serif; font-size: clamp(2.2rem,4vw,4.4rem); font-weight: 400; letter-spacing: -.045em; line-height: .88; word-break: normal; hyphens: none; }
.nt-medal-gallery__medal { margin-top: .7rem; color: var(--medal); font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.nt-medal-gallery__event { max-width: 30rem; margin-top: 1.25rem; color: #d6e0ea; font-size: .78rem; line-height: 1.45; }
.nt-medal-gallery__location { display: flex; gap: .45rem; align-items: center; margin-top: .65rem; color: #fff; font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.nt-medal-gallery__location i { color: var(--medal); }
.nt-medal-gallery__year { position: absolute; z-index: -1; right: 1rem; bottom: -.5rem; color: rgba(255,255,255,.09); font-family: Georgia,serif; font-size: clamp(5rem,9vw,9rem); letter-spacing: -.08em; line-height: .8; }
.nt-medal-achievement:hover .nt-medal-gallery__photo img,
.nt-medal-achievement:focus-within .nt-medal-gallery__photo img { filter: saturate(1) contrast(1); transform: scale(1.06); }

.nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li { grid-column: 1 / -1; grid-template-columns: minmax(0,1.35fr) minmax(20rem,.65fr); min-height: 43rem; }
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo { position: relative; z-index: 0; grid-column: 1; min-height: 43rem; }
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo::after { background: linear-gradient(90deg,transparent 45%,rgba(3,15,31,.15)),linear-gradient(0deg,rgba(3,15,31,.52),transparent 55%); }
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__copy { grid-column: 2; min-height: 43rem; background: #091d38; }
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__name { font-size: clamp(3.2rem,5vw,5.6rem); }
.nt-medal-event[data-location='san-salvador'] .nt-medal-event__achievements { grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); }
.nt-medal-event[data-location='san-salvador'] .nt-medal-achievement { min-height: 36rem; }
.nt-medal-event[data-location='san-salvador'] .nt-medal-achievement:nth-child(2) { min-height: 32rem; margin-top: 5rem; }
.nt-medal-event[data-location='barranquilla'] .nt-medal-event__achievements > li { grid-column: 1 / -1; min-height: 36rem; }
.nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__copy { width: min(36rem,52%); margin-left: auto; background: linear-gradient(90deg,transparent,rgba(4,18,38,.92) 28%); }
.nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__photo img { object-position: center 28%; }
.nt-medal-event[data-location='veracruz'] .nt-medal-event__achievements { grid-template-columns: 1.15fr 1fr .85fr; align-items: start; }
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) { min-height: 35rem; }
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(2) { min-height: 31rem; margin-top: 4rem; }
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(3) { min-height: 38rem; }
.nt-medal-event[data-location='veracruz'] .nt-medal-gallery__name { font-size: clamp(2rem,2.8vw,3.2rem); }
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:not(.has-media) .nt-medal-gallery__name { font-size: clamp(2.3rem,3.2vw,3.65rem); }
.has-nt-olympic-motion .nt-medal-achievement { opacity: 0; transform: translateY(1.75rem); transition: opacity .55s ease, transform .65s cubic-bezier(.2,.8,.2,1), background .3s ease; }
.has-nt-olympic-motion .nt-medal-gallery__photo { clip-path: inset(0 100% 0 0); transition: clip-path .8s cubic-bezier(.2,.8,.2,1); }
.has-nt-olympic-motion .nt-medal-achievement.is-medal-visible { opacity: 1; transform: none; }
.has-nt-olympic-motion .nt-medal-achievement.is-medal-visible .nt-medal-gallery__photo { clip-path: inset(0); }
.has-nt-olympic-motion .nt-medal-achievement.is-medal-visible:nth-child(2n) { transition-delay: 80ms; }

#gf-national-teams .gf-national-main > section.nt-olympic-manifesto { display: grid; grid-template-columns: minmax(18rem,.85fr) minmax(0,1.15fr); gap: clamp(2rem,7vw,7rem); width: min(100%,76rem); margin: 0 auto clamp(5rem,9vw,9rem); padding: clamp(2.5rem,5vw,5rem) 0; border: 0; border-block: 1px solid rgba(10,32,65,.18); border-radius: 0; background: transparent; box-shadow: none; }
#gf-national-teams .nt-olympic-manifesto::before { display: none; }
#gf-national-teams .nt-olympic-manifesto h2 { margin: 0; color: var(--nt-navy); font-size: clamp(2.4rem,4.5vw,4.8rem); letter-spacing: -.045em; line-height: .95; }
.nt-olympic-manifesto > div { display: grid; align-content: center; }
.nt-olympic-manifesto p { max-width: 44rem; color: var(--nt-muted); line-height: 1.7; }

#gf-national-teams .gf-national-main > section.nt-competition-history { display: block; width: 100%; max-width: none; margin: 0; padding: clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem); border: 0; background: #f2eee4; }
.nt-competition-history__header { display: grid; grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr); gap: clamp(2rem,7vw,7rem); max-width: 82rem; margin: 0 auto clamp(4rem,8vw,8rem); align-items: end; }
.nt-competition-history__kicker { display: flex; gap: .65rem; align-items: center; margin: 0 0 1rem; color: #765b0b; font-size: .7rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.nt-competition-history__copy h2 { margin: 0; color: var(--nt-navy); font-family: Georgia,serif; font-size: clamp(3rem,6vw,6rem); font-weight: 400; letter-spacing: -.055em; line-height: .88; }
.nt-competition-history__copy > p:last-child { max-width: 34rem; margin: 1.5rem 0 0; color: var(--nt-muted); line-height: 1.65; }
.nt-competition-history__media { position: relative; min-height: 26rem; margin: 0; overflow: hidden; border-radius: 0 4.5rem 0 0; }
.nt-competition-history__media::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(3,16,35,.82),transparent 55%); content: ''; }
.nt-competition-history__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.nt-competition-history__media figcaption { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.4rem; left: 1.5rem; display: flex; gap: .6rem; align-items: center; color: #fff; font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.nt-competition-history__media figcaption i { color: var(--nt-gold); }
.nt-competition-history__chapters { max-width: 82rem; margin: 0 auto; border-top: 1px solid rgba(10,32,65,.22); }
#gf-national-teams .nt-event-chapter { display: grid; grid-template-columns: minmax(19rem,.62fr) minmax(0,1.38fr); gap: clamp(2rem,6vw,6rem); width: 100%; margin: 0; padding: clamp(3rem,6vw,6rem) clamp(1rem,4vw,4rem); border: 0; border-bottom: 1px solid rgba(10,32,65,.2); border-radius: 0; background: transparent; box-shadow: none; }
#gf-national-teams .nt-event-chapter::before { display: none; }
#gf-national-teams .nt-event-chapter:nth-child(even) { color: #fff; background: var(--nt-navy); }
.nt-event-chapter h3 { display: block; margin: 0; overflow-wrap: normal; color: var(--nt-navy); font-family: Georgia,serif; font-size: clamp(2rem,3vw,3.2rem); font-weight: 400; letter-spacing: -.045em; line-height: .92; word-break: normal; hyphens: none; }
.nt-event-chapter h3 i { display: grid; width: 3.4rem; height: 2.8rem; margin-bottom: 1.25rem; color: #765b0b; place-items: center; font-size: 1.15rem; border-block: 1px solid currentColor; }
.nt-event-chapter:nth-child(even) h3 { color: #fff; }
.nt-event-chapter:nth-child(even) h3 i { color: var(--nt-gold); }
.nt-event-chapter__intro { grid-column: 1; margin: 1.5rem 0 0; color: var(--nt-muted); line-height: 1.6; }
.nt-event-chapter:nth-child(even) .nt-event-chapter__intro { color: #b8c4d1; }
.nt-event-list { position: relative; grid-column: 2; grid-row: 1 / span 3; margin: 0; padding: 0; list-style: none; }
.nt-event-list::before { position: absolute; top: 0; bottom: 0; left: .25rem; width: 1px; background: linear-gradient(var(--nt-green),var(--nt-gold),var(--nt-red)); content: ''; }
.nt-event-list > li { position: relative; display: grid; grid-template-columns: minmax(7rem,.55fr) minmax(8rem,.55fr) minmax(0,1.4fr); gap: clamp(1rem,3vw,3rem); padding: 1.35rem 0 1.35rem 2rem; border-top: 1px solid rgba(10,32,65,.18); }
.nt-event-list > li::before { position: absolute; top: 1.75rem; left: 0; width: .55rem; height: .55rem; border: 2px solid #f2eee4; border-radius: 50%; background: var(--nt-navy); content: ''; }
.nt-event-chapter:nth-child(even) .nt-event-list > li { border-color: rgba(255,255,255,.17); }
.nt-event-chapter:nth-child(even) .nt-event-list > li::before { border-color: var(--nt-navy); background: var(--nt-gold); }
.nt-event-list span { display: grid; align-content: start; }
.nt-event-list small { display: flex; gap: .45rem; align-items: center; margin-bottom: .4rem; color: #765b0b; font-size: .61rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.nt-event-chapter:nth-child(even) .nt-event-list small { color: var(--nt-gold); }
.nt-event-list strong { color: var(--nt-navy); font-size: .86rem; font-weight: 650; line-height: 1.55; }
.nt-event-list__edition strong { font-family: Georgia,serif; font-size: 1.15rem; font-weight: 400; }
.nt-event-chapter:nth-child(even) .nt-event-list strong { color: #fff; }
.nt-event-chapter table[hidden] { display: none!important; }

#gf-national-teams .gf-national-main > section.nt-olympic-closing { position: relative; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.8fr); gap: clamp(2rem,7vw,7rem); width: 100%; max-width: none; margin: 0; padding: clamp(4rem,8vw,8rem) clamp(1.5rem,8vw,8rem); overflow: hidden; color: #fff; border: 0; background: radial-gradient(circle at 80% 10%,rgba(200,164,77,.15),transparent 28%),#06172d; }
.nt-olympic-closing::before { position: absolute; right: -8%; bottom: -70%; width: 55%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; }
#gf-national-teams .nt-olympic-closing__copy p { display: flex; gap: .65rem; align-items: center; margin: 0 0 1rem; color: var(--nt-gold); font-size: .7rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.nt-olympic-closing__copy h2 { max-width: 9ch; margin: 0; color: #fff; font-family: Georgia,serif; font-size: clamp(3.5rem,7vw,7rem); font-weight: 400; letter-spacing: -.06em; line-height: .85; }
.nt-olympic-closing__copy span { display: block; max-width: 40rem; margin-top: 1.5rem; color: #b7c5d3; line-height: 1.65; }
.nt-olympic-closing__actions { position: relative; z-index: 1; display: grid; align-content: end; }
.nt-olympic-closing__actions a { display: flex; gap: 1rem; min-height: 4.5rem; align-items: center; justify-content: space-between; color: #fff; border-top: 1px solid rgba(255,255,255,.24); font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nt-olympic-closing__actions a:last-child { border-bottom: 1px solid rgba(255,255,255,.24); }
.nt-olympic-closing__actions a i { color: var(--nt-gold); transition: transform .25s ease; }
.nt-olympic-closing__actions a:hover i,
.nt-olympic-closing__actions a:focus-visible i { transform: translateX(.4rem); }

@keyframes nt-carousel-progress { to { transform: translateY(-50%) scaleX(1); } }
@keyframes nt-campaign-copy { from { opacity: 0; transform: translateX(-1.1rem); } to { opacity: 1; transform: none; } }
@keyframes nt-line-draw { from { stroke-dashoffset: 1100; } to { stroke-dashoffset: 0; } }
@keyframes nt-fa-arrive { to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .nt-campaign-slide__content { width: min(44rem,80%); }
  .nt-purpose-hero { grid-template-columns: minmax(0,.9fr) minmax(20rem,1.1fr); }
  .nt-purpose-hero__copy { padding: 2.5rem; }
  .nt-purpose-hero__coordinates li { grid-template-columns: 2.7rem minmax(0,1fr); padding-block: .4rem; }
  .nt-purpose-hero__coordinates strong { grid-column: 2; }
  .nt-olympic-journey { grid-template-columns: 1fr; }
  .nt-olympic-hero__copy { width: min(43rem,76%); }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split article:first-child { grid-column: 1 / span 9; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2) { grid-column: 4 / -1; }
  .nt-medal-event { grid-template-columns: 1fr; }
  .nt-medal-event__header { display: grid; grid-template-columns: 8rem minmax(0,1fr); column-gap: 1.5rem; align-items: end; }
  .nt-medal-event__header h3 { margin: 0 0 .35rem; }
  .nt-medal-event__header p { grid-column: 2; }
  .nt-medal-event[data-location] .nt-medal-event__achievements { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nt-medal-event[data-location] .nt-medal-achievement { min-height: 34rem; margin-top: 0; }
  .nt-medal-event[data-location='santiago'] .nt-medal-event__achievements { grid-template-columns: 1fr; }
  .nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li { grid-template-columns: minmax(0,1.1fr) minmax(17rem,.9fr); }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:last-child { grid-column: 1 / -1; min-height: 27rem; }
  .nt-competition-history__header { grid-template-columns: 1fr 1fr; }
  #gf-national-teams .nt-event-chapter { grid-template-columns: 1fr; }
  .nt-event-list { grid-column: 1; grid-row: auto; }
}

@media (max-width: 580px) {
  .nt-campaign-carousel {
    min-height: clamp(38rem, 154vw, 43.5rem);
    margin-inline: -.25rem;
    margin-bottom: 4.5rem;
    border-radius: .2rem 4.2rem .2rem .2rem;
  }
  .nt-campaign-slide__media img { object-position: center 42%!important; }
  .nt-campaign-slide__mask { background: linear-gradient(0deg,rgba(3,16,35,.98) 0 47%,rgba(3,16,35,.22) 82%),linear-gradient(90deg,rgba(3,16,35,.24),transparent); }
  .nt-campaign-slide__content { width: 100%; padding: 1.25rem 1.15rem 12rem; align-content: end; }
  .nt-campaign-slide h1,
  .nt-campaign-slide h2 { max-width: 9ch; font-size: clamp(2.8rem,13vw,4.15rem); line-height: .88; }
  .nt-campaign-slide__eyebrow { margin-bottom: .75rem; font-size: .66rem; }
  .nt-campaign-slide__eyebrow span { width: 2rem; height: 2rem; }
  .nt-campaign-slide__lede { max-width: 29ch; margin-top: .8rem; font-size: .9rem; line-height: 1.42; }
  .nt-campaign-slide__actions { gap: .45rem; margin-top: 1rem; }
  .nt-campaign-slide__actions .nt-button { min-height: 2.75rem; padding: .55rem .68rem; font-size: .76rem; }
  .nt-campaign-slide__scoreline { display: none; }
  .nt-campaign-carousel .nt-flag { grid-template-columns: repeat(3,3.2rem); }
  .nt-campaign-carousel__chrome { top: auto; right: .75rem; bottom: calc(max(.75rem,env(safe-area-inset-bottom)) + 5.2rem); left: .75rem; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; width: auto; padding: .4rem; }
  .nt-campaign-carousel__orientation { display: none; }
  .nt-campaign-carousel__indicators { gap: .25rem; }
  .nt-campaign-carousel__controls { gap: .2rem; }
  .nt-campaign-carousel__controls button { width: 2.75rem; height: 2.75rem; }
  .nt-campaign-carousel__controls [data-nt-pause] { display: none; }
  .nt-campaign-carousel__next-cue { right: -.35rem; width: .45rem; }

  .nt-purpose-hero { grid-template-columns: 1fr; min-height: 0; margin-inline: -.25rem; margin-bottom: 4.5rem; border-radius: .2rem 4rem .2rem .2rem; }
  .nt-purpose-hero__copy { grid-row: 2; padding: 2rem 1.25rem 2.5rem; }
  .nt-purpose-hero h1 { font-size: clamp(3rem,15vw,4.4rem); }
  .nt-purpose-hero__image { grid-row: 1; height: 19rem; }
  .nt-purpose-hero__image img { object-position: center 58%; }
  .nt-purpose-hero__image figcaption { right: 1rem; bottom: 1rem; left: 1rem; font-size: .62rem; }
  .nt-purpose-hero__trajectory { width: 105%; }
  .nt-purpose-hero__coordinates { margin-top: 1.5rem; }
  .nt-purpose-hero__coordinates li { min-height: 3.7rem; }
  .nt-purpose-hero__monogram { display: none; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split { display: block; width: calc(100% - 1rem); }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split article { min-height: 25rem; padding: 2rem 1.25rem; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split article:nth-child(2) { margin-top: 0; box-shadow: .6rem .6rem 0 rgba(200,164,77,.25); }
  .fmg-national-teams--mision-vision-objetivos .gf-national-split article::after { right: 1rem; bottom: 1rem; font-size: 4rem; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-main > .gf-national-section { margin-top: 4rem; padding: 3.5rem 1.1rem; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-main > .gf-national-section h2 { font-size: clamp(2.9rem,14vw,4.2rem); }
  .fmg-national-teams--mision-vision-objetivos .gf-national-section > ul { margin-top: 2rem; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-section > ul::before { left: 1.55rem; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-section > ul > li { grid-template-columns: 3.1rem minmax(0,1fr); gap: .9rem; min-height: 8.5rem; font-size: .9rem; line-height: 1.55; }
  .fmg-national-teams--mision-vision-objetivos .gf-national-section > ul > li::after { grid-column: 2; justify-self: start; font-size: .8rem; }
  .nt-objective-icon { width: 3.1rem; height: 3.1rem; }
  .nt-objective-icon i { font-size: 1rem; }

  .nt-olympic-hero { min-height: 42rem; margin-inline: -.25rem; border-radius: 3.8rem .2rem .2rem .2rem; }
  .nt-olympic-hero__media img { object-position: 58% 42%; }
  .nt-olympic-hero__scrim { background: linear-gradient(0deg,rgba(3,16,35,.98) 0 54%,rgba(3,16,35,.18) 84%); }
  .nt-olympic-hero__copy { width: 100%; align-content: end; padding: 2rem 1.25rem 7.5rem; }
  .nt-olympic-hero h1 { font-size: clamp(3.5rem,17vw,5rem); }
  .nt-olympic-hero__facts { margin-top: 1.3rem; }
  .nt-olympic-hero__facts span { padding: .7rem .7rem .7rem 0; font-size: .61rem; }
  .nt-olympic-hero__facts span + span { padding-left: .7rem; }
  .nt-olympic-hero__facts strong { font-size: 1.25rem; }
  .nt-olympic-hero__route { width: 125%; }
  .nt-olympic-hero__edition { display: none; }
  .nt-olympic-journey { display: block; margin-inline: -.25rem; margin-bottom: 4.5rem; padding: 3rem 1.25rem; }
  .nt-olympic-journey__path { min-height: 0; }
  .nt-olympic-journey__trajectory { display: none; }
  .nt-olympic-journey__stages { display: grid; grid-template-columns: 1fr; padding: 1.5rem 0 0 2.4rem; }
  .nt-olympic-journey__stages::before,
  .nt-olympic-journey__stages::after { top: 1.5rem; bottom: 0; left: .5rem; width: 2px; height: auto; }
  .nt-olympic-journey__stages::before { position: absolute; background: rgba(10,32,65,.18); content: ''; }
  .nt-olympic-journey__stages::after { position: absolute; background: linear-gradient(var(--nt-green),var(--nt-gold),var(--nt-red)); content: ''; }
  .nt-olympic-journey__stages::after { transform: scaleY(var(--nt-journey-progress)); transform-origin: top; }
  .nt-olympic-journey__stages li,
  .nt-olympic-journey__stages li:nth-child(even) { min-height: 10.5rem; padding: 1.25rem 0; border-right: 0; border-bottom: 1px solid rgba(10,32,65,.16); }
  .nt-olympic-journey__stages li::before { top: 1.45rem; left: -2.25rem; }
  .nt-olympic-journey__stages li:nth-child(even)::before { top: 1.45rem; }
  .nt-olympic-journey__stages i { width: 2.9rem; height: 2.7rem; margin-bottom: .8rem; font-size: 1.2rem; }
  #gf-national-teams .gf-national-main > section.nt-olympic-manifesto { display: block; width: calc(100% - 1rem); margin-bottom: 4.5rem; padding: 2.5rem 0; }
  #gf-national-teams .nt-olympic-manifesto h2 { font-size: clamp(2.4rem,12vw,3.5rem); }
  #gf-national-teams .gf-national-main > section.nt-medals-section { margin-inline: -.25rem; padding: 3.5rem 1rem 5rem; }
  #gf-national-teams .nt-medals-section > h2 { font-size: clamp(3.8rem,18vw,5.4rem); }
  .nt-medals-section__statement { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 4rem; }
  .nt-medal-chronology { gap: 5rem; }
  .nt-medal-event { display: block; padding-top: 1.5rem; }
  .nt-medal-event__header { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); margin-bottom: 1.5rem; }
  .nt-medal-event__year { font-size: 4.8rem; }
  .nt-medal-event__header h3 { margin: 0 0 .4rem; font-size: 2.1rem; }
  .nt-medal-event__header p { grid-column: 2; }
  .nt-medal-event[data-location] .nt-medal-event__achievements { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
  .nt-medal-event[data-location] .nt-medal-achievement,
  .nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li,
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:last-child { display: grid; grid-column: 1; grid-template-columns: 1fr; min-height: 38rem; margin-top: 0; }
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo { position: absolute; z-index: -2; min-height: 0; }
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo::after { background: linear-gradient(0deg,rgba(3,15,31,.98) 0 23%,rgba(3,15,31,.56) 58%,rgba(3,15,31,.05) 82%); }
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__copy { grid-column: 1; min-height: 38rem; background: transparent; }
  .nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__copy { width: 100%; margin-left: 0; background: transparent; }
  .nt-medal-gallery__name { font-size: clamp(2.1rem,10vw,3.2rem); }
  .nt-medal-gallery__year { font-size: 5rem; }
  #gf-national-teams .gf-national-main > section.nt-competition-history { margin-inline: -.25rem; padding: 4rem 1rem; }
  .nt-competition-history__header { grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 4rem; }
  .nt-competition-history__copy h2 { font-size: clamp(3.2rem,15vw,4.8rem); }
  .nt-competition-history__media { min-height: 23rem; border-radius: 0 3.2rem 0 0; }
  #gf-national-teams .nt-event-chapter { display: block; padding: 3rem 1rem; }
  .nt-event-chapter h3 { grid-template-columns: 3rem minmax(0,1fr); font-size: clamp(2.1rem,11vw,3.2rem); }
  .nt-event-chapter h3 i { width: 3rem; }
  .nt-event-list { margin-top: 2rem; }
  .nt-event-list > li { grid-template-columns: minmax(6rem,.8fr) minmax(0,1.2fr); gap: 1rem; padding: 1.3rem 0 1.3rem 1.5rem; }
  .nt-event-list__delegation { grid-column: 1 / -1; padding-top: .65rem; border-top: 1px solid rgba(10,32,65,.1); }
  .nt-event-chapter:nth-child(even) .nt-event-list__delegation { border-color: rgba(255,255,255,.12); }
  #gf-national-teams .gf-national-main > section.nt-olympic-closing { grid-template-columns: 1fr; margin-inline: -.25rem; padding: 4rem 1.25rem; }
  .nt-olympic-closing__copy h2 { font-size: clamp(3.6rem,17vw,5.2rem); }
  .nt-olympic-closing__actions { margin-top: 1.5rem; }
}

@media (min-width: 581px) and (max-width: 1024px) and (max-height: 500px) {
  .fmg-national-teams-nav__trigger { min-width: 8rem; padding-right: 3rem; }
  .fmg-national-teams-nav__trigger-full { display: none; }
  .fmg-national-teams-nav__trigger-short { display: inline; }
  .fmg-national-teams-nav__trigger-copy small { display: none; }
  .nt-campaign-carousel { min-height: 25rem; }
  .nt-campaign-slide__content { width: 68%; padding: 1.25rem 2rem 5rem; align-content: start; }
  .nt-campaign-slide h1,
  .nt-campaign-slide h2 { font-size: clamp(2.6rem,6vw,3.5rem); }
  .nt-campaign-slide__lede { margin-top: .65rem; font-size: .88rem; }
  .nt-campaign-slide__actions { margin-top: .7rem; }
  .nt-campaign-carousel__chrome { top: auto; bottom: .6rem; }
  .nt-purpose-hero,
  .nt-olympic-hero { min-height: 27rem; }
  .nt-purpose-hero__copy,
  .nt-olympic-hero__copy { align-content: start; padding: 1.25rem 2rem; }
  .nt-purpose-hero h1,
  .nt-olympic-hero h1 { font-size: clamp(2.8rem,7vw,3.8rem); }
  .nt-purpose-hero__coordinates { margin-top: .8rem; }
  .nt-purpose-hero__coordinates li { min-height: 3rem; }
  .nt-olympic-hero__facts { margin-top: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  .nt-campaign-slide,
  .nt-campaign-slide__media,
  .nt-campaign-slide__media img,
  .nt-medal-gallery__photo img { transition: none!important; }
  .nt-campaign-carousel__indicators button.is-active span { animation: none; transform: translateY(-50%) scaleX(1); }
  .has-nt-motion .nt-campaign-slide.is-active :is(.nt-campaign-slide__eyebrow,h1,h2,.nt-campaign-slide__lede,.nt-campaign-slide__actions),
  .has-nt-motion .nt-purpose-hero__trajectory path,
  .has-nt-motion .nt-olympic-hero__route path,
  .has-nt-purpose-motion .is-purpose-visible :is(.nt-purpose-chapter__icon,.nt-objective-icon) { animation: none; opacity: 1; transform: none; }
  .has-nt-motion .nt-purpose-hero__image img { clip-path: none; }
  .has-nt-purpose-motion :is(.nt-purpose-chapter,.gf-national-section > ul > li),
  .has-nt-olympic-motion .nt-medal-achievement { opacity: 1; transform: none; }
  .has-nt-olympic-motion .nt-medal-gallery__photo { clip-path: none; transition: none; }
  .nt-olympic-journey__trajectory-progress { transition: none; }
}

/* Ciclo Olímpico flagship story ------------------------------------------ */
.fmg-national-teams--ciclo-olimpico {
  --nt-olympic-ink: #03142a;
  --nt-olympic-blue: #082443;
  --nt-olympic-cream: #f4f0e6;
  --nt-olympic-gold: #d2b352;
}
.fmg-national-teams--ciclo-olimpico .fmg-national-teams__content .gf-national-main {
  display: block;
  gap: 0;
}
.fmg-national-teams--ciclo-olimpico .gf-national-main > .nt-olympic-content-section {
  width: 100%;
  max-width: none;
}
.fmg-national-teams--ciclo-olimpico .gf-national-main > .nt-olympic-content-section + .nt-olympic-content-section {
  margin-top: 0;
}
.fmg-national-teams--ciclo-olimpico .gf-national-main > .nt-olympic-content-section + .nt-olympic-content-section::before {
  display: none;
}
.fmg-national-teams--ciclo-olimpico :is(h1,h2,h3,.nt-medal-gallery__name,.nt-event-list strong) {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* A face-safe, two-crop first viewport. */
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero {
  min-height: clamp(43rem, 61vw, 54rem);
  border-radius: 7rem .25rem .25rem .25rem;
  box-shadow: 0 2.5rem 7rem rgba(3,20,42,.24);
}
.nt-olympic-hero__media picture { display: block; width: 100%; height: 100%; }
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__media {
  overflow: hidden;
  background: var(--nt-olympic-ink);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__media img {
  width: 100%;
  height: calc(100% + 2.5rem);
  object-fit: cover;
  object-position: 61% 43%;
  transform: translateY(var(--nt-parallax-y,0)) scale(1.015);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__scrim {
  background:
    linear-gradient(90deg,rgba(2,14,31,.98) 0 36%,rgba(2,14,31,.78) 49%,rgba(2,14,31,.12) 77%),
    linear-gradient(0deg,rgba(2,14,31,.86),transparent 52%);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__copy {
  width: min(50rem,64%);
  padding: clamp(3rem,6.5vw,6.5rem);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero h1 {
  max-width: 7ch;
  font-size: clamp(5rem,8.25vw,8.6rem);
  line-height: .8;
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero .nt-stage__lede {
  max-width: 30ch;
  margin-top: 1.35rem;
  color: #fff;
  font-size: clamp(1.05rem,1.65vw,1.45rem);
  line-height: 1.35;
}
.nt-olympic-hero__context {
  order: -1;
  margin: 0 0 .65rem;
  color: rgba(255,255,255,.62);
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts {
  width: min(33rem,100%);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero__route {
  right: -4%;
  bottom: -1.25rem;
  width: 72%;
  stroke: rgba(224,196,96,.92);
}
.has-nt-motion .nt-olympic-hero__media {
  animation: nt-olympic-hero-mask 1.05s cubic-bezier(.2,.8,.2,1) both;
}
.has-nt-motion .nt-olympic-hero__copy.is-revealed :is(.nt-stage__kicker,.nt-olympic-hero__context,.nt-stage__lede,.nt-olympic-hero__facts) {
  animation: nt-olympic-copy-in .65s cubic-bezier(.2,.8,.2,1) both;
}
.has-nt-motion .nt-olympic-hero__copy.is-revealed h1 {
  animation: nt-olympic-title-in .8s cubic-bezier(.2,.8,.2,1) 90ms both;
}
.has-nt-motion .nt-olympic-hero__copy.is-revealed .nt-stage__lede { animation-delay: 170ms; }
.has-nt-motion .nt-olympic-hero__copy.is-revealed .nt-olympic-hero__facts { animation-delay: 240ms; }

/* Editorial breath: authored copy stays intact and gains a clear cadence. */
#gf-national-teams .gf-national-main > section.nt-olympic-manifesto {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 1rem clamp(1rem,2.5vw,2.5rem);
  width: min(calc(100% - 3rem),82rem);
  margin: clamp(5rem,9vw,9rem) auto;
  padding: clamp(3rem,6vw,6rem) 0;
  border-block: 1px solid rgba(10,32,65,.18);
}
#gf-national-teams .nt-olympic-manifesto > .nt-olympic-manifesto__kicker {
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  gap: .65rem;
  align-items: center;
  margin: 0 0 1.5rem;
  color: #765b0b;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
}
#gf-national-teams .nt-olympic-manifesto h2 {
  grid-column: 1 / span 7;
  grid-row: 2 / span 2;
  max-width: 12ch;
  font-size: clamp(3rem,5.45vw,5.8rem);
  line-height: .91;
}
#gf-national-teams .nt-olympic-manifesto > p:not(.nt-olympic-manifesto__kicker):not(.nt-olympic-manifesto__cadence) {
  grid-column: 9 / -1;
  max-width: 34rem;
  margin: 0;
  color: #526175;
  font-size: clamp(.95rem,1.25vw,1.08rem);
  line-height: 1.72;
}
#gf-national-teams .nt-olympic-manifesto > .nt-olympic-manifesto__cadence {
  grid-column: 1 / -1;
  grid-row: 4;
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  margin: 3.5rem 0 0;
  padding: 0;
  border-top: 1px solid rgba(10,32,65,.14);
}
.nt-olympic-manifesto__cadence span {
  position: relative;
  padding: 1.2rem .8rem 0 1rem;
  color: var(--nt-navy);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.nt-olympic-manifesto__cadence span::before {
  position: absolute;
  top: -.3rem;
  left: 0;
  width: .55rem;
  height: .55rem;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--nt-navy);
  box-shadow: 0 0 0 1px rgba(10,32,65,.25);
  content: '';
}
.nt-olympic-manifesto__cadence span:nth-child(1)::before,
.nt-olympic-manifesto__cadence span:nth-child(2)::before { background: var(--nt-green); }
.nt-olympic-manifesto__cadence span:nth-child(5)::before { background: var(--nt-olympic-gold); }
.nt-olympic-manifesto__cadence span:nth-child(6)::before { background: var(--nt-red); }

/* Signature pathway: photography and flight path share the composition. */
#gf-national-teams .gf-national-main > section.nt-olympic-journey {
  --nt-journey-progress: 0;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-template-rows: auto 1fr;
  gap: clamp(2rem,4vw,4rem);
  width: 100%;
  max-width: none;
  min-height: 48rem;
  margin: 0;
  padding: clamp(4rem,7vw,7rem);
  color: #fff;
  background:
    radial-gradient(circle at 70% 40%,rgba(40,94,139,.22),transparent 33%),
    linear-gradient(135deg,#04172e,#092847 72%,#071d36);
}
.nt-olympic-journey__heading {
  z-index: 2;
  grid-column: 1 / span 4;
  grid-row: 1;
}
#gf-national-teams .nt-olympic-journey__heading p { color: var(--nt-olympic-gold); font-size: .7rem; }
#gf-national-teams .nt-olympic-journey__heading h2 {
  max-width: 7ch;
  color: #fff;
  font-size: clamp(3.4rem,4.6vw,4.9rem);
  line-height: .88;
}
.nt-olympic-journey__heading span { color: #b7c7d7; }
.nt-olympic-journey__media {
  position: relative;
  z-index: 1;
  grid-column: 1 / span 4;
  grid-row: 2;
  min-height: 24rem;
  margin: 0;
  overflow: hidden;
  border-radius: .2rem 3.8rem .2rem .2rem;
  background: #0d3153;
}
.nt-olympic-journey__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(3,18,38,.88),transparent 54%);
  content: '';
}
.nt-olympic-journey__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 51% 54%;
  transform: scale(1.04);
}
.nt-olympic-journey__media figcaption {
  position: absolute;
  z-index: 2;
  right: 1.5rem;
  bottom: 1.4rem;
  left: 1.5rem;
  display: flex;
  gap: .55rem;
  align-items: center;
  color: #fff;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.nt-olympic-journey__media figcaption i { color: var(--nt-olympic-gold); }
.nt-olympic-journey__path {
  grid-column: 5 / -1;
  grid-row: 1 / span 2;
  min-height: 38rem;
}
.nt-olympic-journey__trajectory {
  top: 7rem;
  height: 24rem;
}
.nt-olympic-journey__trajectory-base { stroke: rgba(255,255,255,.2); }
.nt-olympic-journey__trajectory-progress {
  stroke: var(--nt-olympic-gold);
  stroke-width: 2.5;
}
.nt-olympic-journey__stages {
  min-height: 38rem;
  gap: clamp(.5rem,1.2vw,1.2rem);
}
.nt-olympic-journey__stages li {
  padding-top: 4.5rem;
  opacity: .48;
  transform: translateY(.8rem);
  transition: opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1);
}
.nt-olympic-journey__stages li:nth-child(even) { padding-top: 21rem; }
.nt-olympic-journey__stages li::before {
  top: 9.1rem;
  border-color: #092340;
  background: #567087;
}
.nt-olympic-journey__stages li:nth-child(even)::before { top: 25.6rem; }
.nt-olympic-journey__stages li.is-stage-active { opacity: 1; transform: none; }
.nt-olympic-journey__stages li.is-stage-active::before {
  background: var(--nt-olympic-gold);
  box-shadow: 0 0 0 .45rem rgba(210,179,82,.13);
}
.nt-olympic-journey__stages i {
  color: #8095a9;
  border-color: currentColor;
}
.nt-olympic-journey__stages li.is-stage-active i { color: var(--nt-olympic-gold); }
.nt-olympic-journey__stages span { color: var(--nt-olympic-gold); }
.nt-olympic-journey__stages strong { color: #fff; font-size: clamp(1.05rem,1.15vw,1.2rem); white-space: nowrap; }
.nt-olympic-journey__stages small { color: #9eb0c1; }

/* The emotional center: four event chapters, four distinct layouts. */
#gf-national-teams .gf-national-main > section.nt-medals-section {
  display: block;
  padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6.5vw,6.5rem) clamp(6rem,11vw,11rem);
  background:
    radial-gradient(circle at 12% 8%,rgba(42,85,126,.2),transparent 25%),
    var(--nt-olympic-ink);
  box-shadow: none;
}
#gf-national-teams .nt-medals-section > :is(.nt-medals-section__kicker,h2,.nt-medals-section__statement,.nt-medal-chronology) {
  width: min(100%,86rem);
  margin-inline: auto;
}
#gf-national-teams .nt-medals-section > h2 {
  position: static;
  max-width: 8ch;
  font-size: clamp(4.4rem,8.5vw,9rem);
  line-height: .82;
}
.nt-medals-section__statement {
  grid-template-columns: minmax(0,1.1fr) minmax(18rem,.6fr);
  margin-top: 2rem;
  padding-bottom: clamp(2rem,4vw,4rem);
}
.nt-medals-section__statement strong { font-size: clamp(2rem,3.4vw,3.7rem); }
.nt-medal-chronology { gap: clamp(6rem,12vw,12rem); }
.nt-medal-event {
  display: block;
  padding-top: clamp(2rem,4vw,4rem);
}
.nt-medal-event__header {
  position: static;
  display: grid;
  grid-template-columns: clamp(8rem,14vw,12rem) minmax(0,1fr);
  column-gap: clamp(1.5rem,3vw,3rem);
  align-items: end;
  margin-bottom: clamp(2rem,4vw,4rem);
}
.nt-medal-event__year {
  color: rgba(255,255,255,.12);
  font-size: clamp(5rem,8vw,8.6rem);
}
.nt-medal-event__header h3 { margin: 0 0 .5rem; font-size: clamp(2.2rem,3.4vw,3.6rem); }
#gf-national-teams .nt-medal-event__header p { grid-column: 2; }
.nt-medal-achievement {
  background: linear-gradient(145deg,#123354,#061a33);
}
.nt-medal-gallery__photo picture { display: block; width: 100%; height: 100%; }
.nt-medal-gallery__photo::after {
  background: linear-gradient(0deg,rgba(2,14,30,.96) 0 14%,rgba(2,14,30,.52) 46%,rgba(2,14,30,.03) 78%);
}
.nt-medal-gallery__photo img {
  object-position: var(--medal-focal-desktop,50% 36%);
  filter: saturate(.9) contrast(1.03);
}
.nt-medal-gallery__copy { min-width: 0; }
.nt-medal-gallery__name {
  max-width: 15ch;
  overflow-wrap: normal;
  word-break: keep-all;
}
.nt-medal-achievement--typographic {
  background:
    radial-gradient(circle at 85% 20%,rgba(210,179,82,.12),transparent 23%),
    linear-gradient(135deg,#12375e,#071d38);
}
.nt-medal-achievement--typographic::before {
  inset: auto -10% -36% 18%;
  width: 92%;
  height: 92%;
  border-color: rgba(210,179,82,.34);
  border-color: color-mix(in srgb,var(--medal) 34%,transparent);
}
.nt-medal-achievement--archive::after {
  position: absolute;
  z-index: -1;
  top: 10%;
  right: -8%;
  width: 82%;
  height: 36%;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  content: '';
  transform: rotate(-11deg);
}
.has-nt-olympic-motion .nt-medal-achievement {
  opacity: 1;
  transform: none;
}
.has-nt-olympic-motion .nt-medal-gallery__photo {
  clip-path: inset(0 100% 0 0);
  transition: clip-path .95s cubic-bezier(.2,.8,.2,1);
}
.has-nt-olympic-motion .nt-medal-achievement.is-medal-visible .nt-medal-gallery__photo { clip-path: inset(0); }
.has-nt-olympic-motion .nt-medal-gallery__name {
  clip-path: inset(0 100% 0 0);
  transition: clip-path .7s cubic-bezier(.2,.8,.2,1) .18s;
}
.has-nt-olympic-motion .is-medal-visible .nt-medal-gallery__name { clip-path: inset(0); }

.nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li {
  grid-template-columns: minmax(0,1.45fr) minmax(22rem,.55fr);
  min-height: 46rem;
}
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo { min-height: 46rem; }
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__copy {
  min-height: 46rem;
  padding-inline: clamp(2rem,4vw,4rem);
  background: linear-gradient(145deg,#0c2a4a,#061a32);
}
.nt-medal-event[data-location='santiago'] .nt-medal-gallery__name { font-size: clamp(4rem,5.4vw,6rem); }

.nt-medal-event[data-location='san-salvador'] .nt-medal-event__achievements {
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
  gap: clamp(1rem,2vw,2rem);
}
.nt-medal-event[data-location='san-salvador'] .nt-medal-achievement:first-child { min-height: 42rem; }
.nt-medal-event[data-location='san-salvador'] .nt-medal-achievement:nth-child(2) {
  min-height: 36rem;
  margin-top: 6rem;
}

.nt-medal-event[data-location='barranquilla'] .nt-medal-event__achievements > li { min-height: 42rem; }
.nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__photo::after {
  background: linear-gradient(90deg,rgba(2,14,30,.08) 35%,rgba(2,14,30,.9) 72%),linear-gradient(0deg,rgba(2,14,30,.46),transparent 55%);
}
.nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__copy {
  width: min(38rem,48%);
  min-height: 42rem;
  padding-inline: clamp(2rem,4vw,4rem);
  background: transparent;
}
.nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__photo img { object-position: var(--medal-focal-desktop,49% 31%); }

.nt-medal-event[data-location='veracruz'] .nt-medal-event__achievements {
  grid-template-columns: minmax(0,1.14fr) minmax(19rem,.86fr);
  grid-template-areas: 'roberto jose' 'roberto alejandra';
  gap: 1.25rem;
}
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) {
  grid-area: roberto;
  min-height: 54rem;
}
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(2) {
  grid-area: jose;
  min-height: 25.5rem;
  margin: 0;
}
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(3) {
  grid-area: alejandra;
  min-height: 27.25rem;
}
.nt-medal-event[data-location='veracruz'] .nt-medal-gallery__name { font-size: clamp(2.5rem,3.4vw,3.9rem); }
.nt-medal-event[data-location='veracruz'] .nt-medal-achievement:not(.has-media) .nt-medal-gallery__name {
  max-width: 13ch;
  font-size: clamp(2.65rem,3.6vw,4.2rem);
}

/* History becomes a family of editorial timelines, not a simulated table. */
#gf-national-teams .gf-national-main > section.nt-competition-history {
  padding: clamp(6rem,10vw,10rem) clamp(1.25rem,6.5vw,6.5rem);
  background: var(--nt-olympic-cream);
}
.nt-competition-history__header {
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-width: 86rem;
  margin-bottom: clamp(6rem,10vw,10rem);
}
#gf-national-teams .nt-competition-history__copy h2 {
  max-width: 100%;
  font-size: clamp(3.7rem,4vw,4rem);
}
.nt-competition-history__media {
  min-height: 34rem;
  border-radius: .2rem 5rem .2rem .2rem;
}
.nt-competition-history__media img { object-position: 50% 57%; }
.nt-competition-history__chapters {
  max-width: 86rem;
  border-top: 0;
}
#gf-national-teams .nt-event-chapter {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 1rem clamp(1rem,2.4vw,2.4rem);
  padding: clamp(4rem,7vw,7rem) clamp(1.5rem,4vw,4rem);
  border-top: 1px solid rgba(10,32,65,.2);
  border-bottom: 0;
}
#gf-national-teams .nt-event-chapter:nth-child(even) {
  background: linear-gradient(145deg,#082544,#061a33);
}
.nt-event-chapter h3 {
  grid-column: 1 / span 4;
  max-width: 11ch;
  font-size: clamp(2.6rem,3.8vw,4rem);
}
#gf-national-teams .nt-event-chapter__intro,
#gf-national-teams .nt-event-chapter__meta {
  grid-column: 1 / span 4;
  margin: 0;
}
#gf-national-teams .nt-event-chapter__intro { color: #556376; }
#gf-national-teams .nt-event-chapter__meta {
  color: #765b0b;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#gf-national-teams .nt-event-chapter:nth-child(even) .nt-event-chapter__intro { color: #b8c4d1; }
#gf-national-teams .nt-event-chapter:nth-child(even) .nt-event-chapter__meta { color: var(--nt-olympic-gold); }
.nt-event-list {
  --nt-history-progress: 0;
  grid-column: 5 / -1;
  grid-row: 1 / span 4;
  display: grid;
  grid-template-columns: repeat(var(--nt-event-count),minmax(0,1fr));
  gap: clamp(1rem,2vw,2rem);
  padding: 3.5rem 0 0;
}
.nt-event-list::before {
  top: 2.75rem;
  right: 0;
  bottom: auto;
  left: 0;
  width: auto;
  height: 1px;
  background: rgba(10,32,65,.2);
}
.nt-event-list::after {
  position: absolute;
  top: 2.68rem;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg,var(--nt-green),var(--nt-olympic-gold),var(--nt-red));
  content: '';
  transform: scaleX(var(--nt-history-progress));
  transform-origin: left;
}
.nt-event-list > li {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
}
.nt-event-list > li::before {
  top: -1.05rem;
  left: 0;
  width: .7rem;
  height: .7rem;
  border-color: var(--nt-olympic-cream);
}
.nt-event-list__year {
  display: block;
  margin: 0 0 1.25rem;
  color: rgba(10,32,65,.12);
  font-family: Georgia,serif;
  font-size: clamp(3.4rem,5vw,5.6rem);
  font-style: normal;
  letter-spacing: -.07em;
  line-height: .82;
  white-space: nowrap;
}
.nt-event-chapter:nth-child(even) .nt-event-list__year { color: rgba(255,255,255,.13); }
.nt-event-list span { margin-top: 1rem; }
.nt-event-list small { min-height: 1.5rem; }
.nt-event-list strong { overflow-wrap: normal; font-size: .82rem; line-height: 1.55; word-break: normal; hyphens: none; }
.nt-event-list__edition strong {
  font-family: Georgia,serif;
  font-size: clamp(1.25rem,1.7vw,1.65rem);
}
.nt-event-list[data-count='4'] .nt-event-list__year { font-size: clamp(2.9rem,3.8vw,4.35rem); }
.nt-event-list[data-count='4'] .nt-event-list__edition strong { font-size: clamp(1.05rem,1.35vw,1.3rem); }
.has-nt-olympic-motion .nt-event-list > li .nt-event-list__year {
  opacity: .15;
  transform: translateX(-1.2rem);
  transition: opacity .45s ease,transform .65s cubic-bezier(.2,.8,.2,1);
}
.has-nt-olympic-motion .nt-event-list > li.is-history-visible .nt-event-list__year {
  opacity: 1;
  transform: none;
}

/* A photographic, future-facing final chapter. */
#gf-national-teams .gf-national-main > section.nt-olympic-closing {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(24rem,.95fr);
  grid-template-rows: 1fr auto;
  gap: clamp(2rem,5vw,5rem);
  min-height: 46rem;
  padding: clamp(3rem,6vw,6rem);
  background:
    radial-gradient(circle at 85% 10%,rgba(210,179,82,.15),transparent 30%),
    var(--nt-olympic-ink);
}
.nt-olympic-closing__media {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 2;
  min-height: 34rem;
  margin: 0;
  overflow: hidden;
  border-radius: 5rem .2rem .2rem .2rem;
  background: #123353;
}
.nt-olympic-closing__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(3,20,42,.55),transparent 46%);
  content: '';
}
.nt-olympic-closing__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 52%;
  transition: transform 1s cubic-bezier(.2,.8,.2,1);
}
.nt-olympic-closing__copy {
  grid-column: 2;
  align-self: end;
}
#gf-national-teams .nt-olympic-closing__copy h2 {
  max-width: 9ch;
  color: #fff;
  font-size: clamp(3.8rem,6.5vw,7rem);
  line-height: .85;
}
.nt-olympic-closing__actions { grid-column: 2; }
.nt-olympic-closing::after {
  position: absolute;
  right: 6%;
  bottom: 2.5rem;
  left: 56%;
  height: 2px;
  background: linear-gradient(90deg,var(--nt-green) 0 32%,#fff 32% 65%,var(--nt-red) 65%);
  content: '';
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .9s cubic-bezier(.2,.8,.2,1) .2s;
}
.nt-olympic-closing.is-closing-visible::after { transform: scaleX(1); }
.nt-olympic-closing.is-closing-visible .nt-olympic-closing__media img { transform: scale(1.035); }

@keyframes nt-olympic-hero-mask {
  from { clip-path: inset(0 0 0 100%); }
  to { clip-path: inset(0); }
}
@keyframes nt-olympic-title-in {
  from { clip-path: inset(0 100% 0 0); transform: translateX(-1.2rem); }
  to { clip-path: inset(0); transform: none; }
}
@keyframes nt-olympic-copy-in {
  from { opacity: 0; transform: translateX(-.85rem); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 581px) and (max-width: 1024px) {
  body.fmg-national-teams-page--ciclo-olimpico .fmg-national-teams-nav__trigger {
    min-width: 9.75rem;
    padding-right: 3rem;
  }
  body.fmg-national-teams-page--ciclo-olimpico .fmg-national-teams-nav__trigger-full { display: none; }
  body.fmg-national-teams-page--ciclo-olimpico .fmg-national-teams-nav__trigger-short { display: inline; }
  body.fmg-national-teams-page--ciclo-olimpico .fmg-national-teams-nav__trigger-copy small { display: none; }
}

/* Tablet is a deliberate hybrid: portrait hero, split pathway, paired medals. */
@media (min-width: 581px) and (max-width: 900px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero {
    min-height: clamp(43rem,88vw,49rem);
    border-radius: 5rem .2rem .2rem .2rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__media img { object-position: 50% 39%; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__scrim {
    background: linear-gradient(0deg,rgba(2,14,31,.98) 0 43%,rgba(2,14,31,.2) 78%),linear-gradient(90deg,rgba(2,14,31,.35),transparent 72%);
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__copy {
    width: 100%;
    align-content: end;
    padding: 3rem 3rem 4.5rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero h1 { max-width: 8ch; font-size: clamp(5rem,12vw,7rem); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts { width: min(30rem,72%); }

  #gf-national-teams .gf-national-main > section.nt-olympic-manifesto { width: calc(100% - 3rem); }
  #gf-national-teams .nt-olympic-manifesto h2 { grid-column: 1 / span 7; font-size: clamp(3.3rem,7vw,4.6rem); }
  #gf-national-teams .nt-olympic-manifesto > p:not(.nt-olympic-manifesto__kicker):not(.nt-olympic-manifesto__cadence) { grid-column: 8 / -1; }
  #gf-national-teams .nt-olympic-manifesto > .nt-olympic-manifesto__cadence { grid-template-columns: repeat(3,1fr); row-gap: 1.2rem; }

  #gf-national-teams .gf-national-main > section.nt-olympic-journey {
    grid-template-columns: repeat(12,1fr);
    min-height: 58rem;
    padding: 4.5rem 2.5rem;
  }
  .nt-olympic-journey__heading { grid-column: 1 / -1; }
  #gf-national-teams .nt-olympic-journey__heading h2 { max-width: 12ch; }
  .nt-olympic-journey__media { grid-column: 1 / span 5; grid-row: 2; min-height: 33rem; }
  .nt-olympic-journey__path { grid-column: 6 / -1; grid-row: 2; min-height: 38rem; }
  .nt-olympic-journey__trajectory { display: none; }
  .nt-olympic-journey__stages {
    grid-template-columns: 1fr;
    min-height: 38rem;
    padding-left: 2.6rem;
  }
  .nt-olympic-journey__stages::before,
  .nt-olympic-journey__stages::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: .55rem;
    width: 2px;
    content: '';
  }
  .nt-olympic-journey__stages::before { background: rgba(255,255,255,.18); }
  .nt-olympic-journey__stages::after { background: linear-gradient(var(--nt-green),var(--nt-olympic-gold),var(--nt-red)); transform: scaleY(var(--nt-journey-progress)); transform-origin: top; }
  .nt-olympic-journey__stages li,
  .nt-olympic-journey__stages li:nth-child(even) { min-height: 9.5rem; padding: .6rem 0 1rem; }
  .nt-olympic-journey__stages li::before,
  .nt-olympic-journey__stages li:nth-child(even)::before { top: 1rem; left: -2.4rem; }
  .nt-olympic-journey__stages i { width: 2.8rem; height: 2.5rem; margin-bottom: .65rem; }

  .nt-medal-event__header { position: static; }
  .nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li { grid-template-columns: 1.05fr .95fr; min-height: 41rem; }
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo,
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__copy { min-height: 41rem; }
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__name { font-size: clamp(3rem,7vw,4.6rem); }
  .nt-medal-event[data-location='san-salvador'] .nt-medal-achievement:first-child,
  .nt-medal-event[data-location='san-salvador'] .nt-medal-achievement:nth-child(2) { min-height: 34rem; margin-top: 0; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-event__achievements { grid-template-columns: 1fr 1fr; grid-template-areas: 'roberto roberto' 'jose alejandra'; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 34rem; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) .nt-medal-gallery__photo { position: relative; z-index: 0; min-height: 34rem; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) .nt-medal-gallery__copy { grid-column: 2; min-height: 34rem; background: #08213e; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(2),
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(3) { min-height: 27rem; }
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:not(.has-media) .nt-medal-gallery__name { font-size: clamp(2.25rem,5.5vw,3.2rem); }

  .nt-competition-history__header { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #gf-national-teams .nt-competition-history__copy h2 { font-size: clamp(2.25rem,5.5vw,3.6rem); }
  .nt-competition-history__media { min-height: 30rem; }
  #gf-national-teams .nt-event-chapter { display: grid; grid-template-columns: repeat(12,1fr); }
  .nt-event-chapter h3,
  .nt-event-chapter__intro,
  .nt-event-chapter__meta { grid-column: 1 / span 4; }
  .nt-event-list { grid-column: 5 / -1; grid-row: 1 / span 4; grid-template-columns: repeat(2,1fr); row-gap: 3rem; }
  .nt-event-list::before,
  .nt-event-list::after { display: none; }
  .nt-event-list > li { padding-top: 1.2rem; border-top: 1px solid rgba(10,32,65,.18); }
  .nt-event-chapter:nth-child(even) .nt-event-list > li { border-color: rgba(255,255,255,.18); }
  .nt-event-list > li::before { top: -.35rem; }

  #gf-national-teams .gf-national-main > section.nt-olympic-closing { grid-template-columns: 1fr 1fr; min-height: 40rem; padding: 3rem; }
  .nt-olympic-closing__media { min-height: 32rem; }
}

/* Mobile is a vertical magazine story, not compressed desktop. */
@media (max-width: 580px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero {
    min-height: clamp(43rem,177vw,49rem);
    border-radius: 3.8rem .15rem .15rem .15rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__media img {
    height: calc(100% + 1rem);
    object-position: 50% 35%;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__scrim {
    background: linear-gradient(0deg,rgba(2,14,31,.99) 0 49%,rgba(2,14,31,.25) 76%,rgba(2,14,31,.05) 100%);
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__copy {
    width: 100%;
    align-content: end;
    padding: 2rem 1.25rem 6.8rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero h1 { max-width: 7ch; font-size: clamp(3.9rem,18vw,5.1rem); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero .nt-stage__lede { max-width: 24ch; font-size: 1rem; }
  .nt-olympic-hero__context { font-size: .58rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts {
    flex-direction: column;
    width: 8.25rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts span {
    width: 100%;
    padding: .45rem 0;
    font-size: .52rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts span + span {
    padding-left: 0;
    border-top: 1px solid rgba(255,255,255,.22);
    border-left: 0;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts strong { font-size: 1.1rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__route { bottom: -.5rem; width: 140%; }

  #gf-national-teams .gf-national-main > section.nt-olympic-manifesto {
    display: block;
    width: calc(100% - 2rem);
    margin: 4.5rem auto;
    padding: 3.5rem 0;
  }
  .nt-olympic-manifesto__kicker { margin-bottom: 1.25rem; }
  #gf-national-teams .nt-olympic-manifesto h2 { max-width: 11ch; font-size: clamp(2.45rem,11.5vw,3.8rem); }
  #gf-national-teams .nt-olympic-manifesto > p:not(.nt-olympic-manifesto__kicker):not(.nt-olympic-manifesto__cadence) { margin-top: 1.35rem; font-size: .95rem; }
  #gf-national-teams .nt-olympic-manifesto > .nt-olympic-manifesto__cadence { grid-template-columns: repeat(2,1fr); gap: 1.35rem 0; margin-top: 2.5rem; }

  #gf-national-teams .gf-national-main > section.nt-olympic-journey {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: 0;
    margin-inline: -.25rem;
    padding: 4rem 1.25rem 5rem;
  }
  .nt-olympic-journey__heading,
  .nt-olympic-journey__media,
  .nt-olympic-journey__path { grid-column: 1; grid-row: auto; }
  #gf-national-teams .nt-olympic-journey__heading h2 { max-width: 9ch; font-size: clamp(3.2rem,15vw,4.5rem); }
  .nt-olympic-journey__media { min-height: 21rem; border-radius: .2rem 3rem .2rem .2rem; }
  .nt-olympic-journey__media img { object-position: 51% 55%; }
  .nt-olympic-journey__path { min-height: 0; }
  .nt-olympic-journey__stages { min-height: 0; padding: 1rem 0 0 2.6rem; }
  .nt-olympic-journey__stages::before,
  .nt-olympic-journey__stages::after { top: 1rem; }
  .nt-olympic-journey__stages li,
  .nt-olympic-journey__stages li:nth-child(even) { min-height: 10.5rem; padding: 1.15rem 0; border-color: rgba(255,255,255,.15); }
  .nt-olympic-journey__stages li::before,
  .nt-olympic-journey__stages li:nth-child(even)::before { top: 1.35rem; }

  #gf-national-teams .gf-national-main > section.nt-medals-section { padding: 4.5rem 1rem 6rem; }
  #gf-national-teams .nt-medals-section > h2 { max-width: 7ch; font-size: clamp(4rem,18vw,5.2rem); }
  .nt-medals-section__statement { display: block; margin-bottom: 5rem; }
  .nt-medals-section__statement strong { display: block; font-size: clamp(2rem,9vw,2.8rem); }
  .nt-medals-section__statement span { display: block; margin-top: 1rem; }
  .nt-medal-event__header {
    position: static;
    grid-template-columns: minmax(0,1fr);
    row-gap: .65rem;
    align-items: start;
  }
  .nt-medal-event__year { font-size: 4.35rem; line-height: .78; }
  .nt-medal-event__header h3 { grid-column: 1; margin: 0; font-size: clamp(1.95rem,8.5vw,2.55rem); }
  #gf-national-teams .nt-medal-event__header p { grid-column: 1; }
  .nt-medal-event[data-location] .nt-medal-event__achievements,
  .nt-medal-event[data-location='veracruz'] .nt-medal-event__achievements { display: grid; grid-template-columns: 1fr; grid-template-areas: none; gap: 2rem; }
  .nt-medal-event[data-location] .nt-medal-achievement,
  .nt-medal-event[data-location='santiago'] .nt-medal-event__achievements > li,
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(n) {
    display: grid;
    grid-area: auto;
    grid-template-columns: 1fr;
    min-height: 0;
    margin: 0;
  }
  .nt-medal-event[data-location] .nt-medal-gallery__photo,
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__photo,
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) .nt-medal-gallery__photo {
    position: relative;
    z-index: 0;
    grid-column: 1;
    min-height: clamp(24rem,116vw,31rem);
  }
  .nt-medal-gallery__photo img { object-position: var(--medal-focal-mobile,50% 32%); }
  .nt-medal-event[data-location] .nt-medal-gallery__copy,
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__copy,
  .nt-medal-event[data-location='barranquilla'] .nt-medal-gallery__copy,
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:nth-child(1) .nt-medal-gallery__copy {
    grid-column: 1;
    width: 100%;
    min-height: 17rem;
    margin: 0;
    padding: 1.6rem 1.35rem 2rem;
    background: linear-gradient(145deg,#0b2949,#061a33);
  }
  .nt-medal-achievement--typographic .nt-medal-gallery__copy { min-height: 25rem; }
  .nt-medal-gallery__disk { top: 1.6rem; right: 1.35rem; }
  .nt-medal-gallery__name,
  .nt-medal-event[data-location='santiago'] .nt-medal-gallery__name,
  .nt-medal-event[data-location='veracruz'] .nt-medal-gallery__name,
  .nt-medal-event[data-location='veracruz'] .nt-medal-achievement:not(.has-media) .nt-medal-gallery__name {
    max-width: 13ch;
    font-size: clamp(2.45rem,11.5vw,3.5rem);
    line-height: .92;
  }
  .nt-medal-gallery__year { font-size: 5.6rem; }

  #gf-national-teams .gf-national-main > section.nt-competition-history { padding: 5rem 1rem 6rem; }
  .nt-competition-history__header { display: grid; grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 5rem; }
  #gf-national-teams .nt-competition-history__copy h2 { max-width: 100%; font-size: clamp(2.8rem,13vw,4.6rem); }
  .nt-competition-history__media { min-height: 28rem; }
  #gf-national-teams .nt-event-chapter { display: block; padding: 4rem 1.25rem; }
  #gf-national-teams .nt-event-chapter h3 { max-width: 11ch; font-size: clamp(2rem,8.6vw,3.2rem); }
  #gf-national-teams .nt-event-chapter[data-event-chapter='3'] h3 { max-width: 12ch; font-size: clamp(2rem,8.6vw,3rem); }
  .nt-event-chapter__intro,
  .nt-event-chapter__meta { margin-top: 1.25rem; }
  .nt-event-list { display: block; margin-top: 3rem; padding: 0 0 0 1.75rem; }
  .nt-event-list::before { display: block; top: 0; right: auto; bottom: 0; left: .35rem; width: 1px; height: auto; }
  .nt-event-list::after { top: 0; right: auto; bottom: 0; left: .28rem; width: 3px; height: auto; transform: scaleY(var(--nt-history-progress)); transform-origin: top; }
  .nt-event-list > li { padding: 0 0 3.5rem; border: 0; }
  .nt-event-list > li::before { top: .3rem; left: -1.72rem; }
  .nt-event-list__year { font-size: clamp(4.3rem,19vw,6rem); }
  .nt-event-list span { margin-top: 1rem; }

  #gf-national-teams .gf-national-main > section.nt-olympic-closing {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 2rem;
    min-height: 0;
    margin-inline: -.25rem;
    padding: 1rem 1rem 4rem;
  }
  .nt-olympic-closing__media { grid-column: 1; grid-row: 1; min-height: 30rem; border-radius: 3.5rem .15rem .15rem .15rem; }
  .nt-olympic-closing__copy { grid-column: 1; grid-row: 2; padding: 1.5rem .25rem 0; }
  .nt-olympic-closing__actions { grid-column: 1; grid-row: 3; padding-inline: .25rem; }
  .nt-olympic-closing::after { right: 1.25rem; bottom: 1.4rem; left: 1.25rem; }
}

@media (max-width: 359px) {
  #gf-national-teams .nt-olympic-manifesto h2 { font-size: clamp(2.05rem,10.7vw,3rem); }
  #gf-national-teams .nt-event-chapter h3,
  #gf-national-teams .nt-event-chapter[data-event-chapter='3'] h3 {
    width: 100%;
    max-width: none;
    font-size: clamp(1.5rem,7.8vw,2rem);
  }
}

/* Exact Mexican tricolor for intentional Olympic-cycle flag treatments. */
.fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages::after {
  background: linear-gradient(
    var(--fmg-mx-green),
    var(--fmg-mx-white),
    var(--fmg-mx-red)
  );
  box-shadow: 0 0 0 1px rgba(10, 32, 65, .45);
}

.fmg-national-teams--ciclo-olimpico .nt-event-list::after,
.fmg-national-teams--ciclo-olimpico .nt-olympic-closing::after {
  background: linear-gradient(
    90deg,
    var(--fmg-mx-green) 0 33.333%,
    var(--fmg-mx-white) 33.333% 66.666%,
    var(--fmg-mx-red) 66.666% 100%
  );
  box-shadow: 0 0 0 1px rgba(10, 32, 65, .45);
}

@media (min-width: 581px) and (max-width: 1024px) and (max-height: 500px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero {
    min-height: 27rem;
    border-radius: 3.5rem .2rem .2rem .2rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__copy {
    width: 58%;
    align-content: start;
    padding: 1.25rem 2rem 2rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero h1 { max-width: 8ch; font-size: clamp(3rem,7vw,4rem); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero .nt-stage__lede { margin-top: .55rem; font-size: .9rem; }
  .nt-olympic-hero__context { display: none; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts { margin-top: .75rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero__facts span { padding-block: .55rem; }
}

@media (prefers-reduced-motion: reduce) {
  .has-nt-motion .nt-olympic-hero__media,
  .has-nt-motion .nt-olympic-hero__copy.is-revealed :is(.nt-stage__kicker,.nt-olympic-hero__context,h1,.nt-stage__lede,.nt-olympic-hero__facts) {
    animation: none;
    clip-path: none;
    opacity: 1;
    transform: none;
  }
  .nt-olympic-journey__media img,
  .nt-olympic-closing__media img { transform: none!important; transition: none; }
  .has-nt-olympic-motion .nt-medal-gallery__name { clip-path: none; transition: none; }
  .has-nt-olympic-motion .nt-event-list > li .nt-event-list__year { opacity: 1; transform: none; transition: none; }
  .nt-olympic-closing::after { transform: scaleX(1); transition: none; }
}

/* Luis Carrera 2026: a documentary outcome within the Olympic pathway. */
.fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages {
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.nt-olympic-journey__milestone {
  color: #fff;
  border-radius: .2rem 2rem .2rem .2rem;
  background: linear-gradient(145deg,rgba(210,179,82,.2),rgba(5,24,47,.65));
  box-shadow: inset 0 0 0 1px rgba(210,179,82,.48);
}
.nt-olympic-journey__stages .nt-olympic-journey__milestone {
  padding-inline: .8rem;
}
.nt-olympic-journey__stages .nt-olympic-journey__milestone::before {
  background: var(--nt-olympic-gold);
  box-shadow: 0 0 0 .45rem rgba(210,179,82,.18);
}
.nt-olympic-journey__stages .nt-olympic-journey__milestone i,
.nt-olympic-journey__stages .nt-olympic-journey__milestone span {
  color: var(--nt-olympic-gold);
}
.nt-olympic-journey__stages .nt-olympic-journey__milestone strong { color: #fff; }
.nt-olympic-journey__stages .nt-olympic-journey__milestone small {
  max-width: 18ch;
  color: #d5deE7;
  font-size: .62rem;
  line-height: 1.5;
}

.nt-luis-achievement {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: clamp(2rem,4vw,4rem);
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6.5vw,6.5rem) clamp(6rem,10vw,10rem);
  overflow: hidden;
  color: var(--nt-navy);
  background:
    radial-gradient(circle at 88% 10%,rgba(210,179,82,.16),transparent 25rem),
    linear-gradient(180deg,#f7f3e9,#fff 62%,#f2eee4);
  isolation: isolate;
}
.nt-luis-achievement::before {
  position: absolute;
  z-index: -1;
  top: -8rem;
  right: 10%;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(151,116,25,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 3.4rem rgba(151,116,25,.045),0 0 0 6.8rem rgba(151,116,25,.035);
  content: '';
}
.nt-luis-achievement::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: clamp(3rem,6vw,6rem);
  background: linear-gradient(var(--nt-olympic-gold),transparent);
  content: '';
}
.nt-luis-achievement__intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 1rem clamp(1rem,2.4vw,2.4rem);
  align-items: end;
}
#gf-national-teams .nt-luis-achievement__kicker {
  grid-column: 1 / span 7;
  display: flex;
  gap: .65rem;
  align-items: center;
  margin: 0 0 1.1rem;
  color: #765b0b;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.nt-luis-achievement__kicker i { font-size: 1rem; }
#gf-national-teams .nt-luis-achievement__year {
  grid-column: 10 / -1;
  grid-row: 1 / span 3;
  justify-self: end;
  margin: 0;
  color: rgba(10,32,65,.09);
  font-family: Georgia,serif;
  font-size: clamp(6rem,12vw,13rem);
  letter-spacing: -.08em;
  line-height: .7;
}
#gf-national-teams .nt-luis-achievement__intro h2 {
  grid-column: 1 / span 7;
  max-width: 9ch;
  margin: 0;
  color: var(--nt-navy);
  font-size: clamp(4rem,7.5vw,8rem);
  letter-spacing: -.06em;
  line-height: .82;
}
#gf-national-teams .nt-luis-achievement__lede,
#gf-national-teams .nt-luis-achievement__summary {
  grid-column: 9 / -1;
  margin: 0;
  color: #526175;
  font-size: clamp(.98rem,1.28vw,1.12rem);
  line-height: 1.65;
}
#gf-national-teams .nt-luis-achievement__summary {
  color: var(--nt-navy);
  font-family: Georgia,serif;
  font-size: clamp(1.35rem,2vw,2rem);
  line-height: 1.35;
}
#gf-national-teams .nt-luis-achievement__statement {
  grid-column: 1 / -1;
  margin: clamp(2rem,4vw,4rem) 0 0;
  padding: 1.4rem 0 0 clamp(1rem,2vw,2rem);
  color: #34465b;
  border-top: 1px solid rgba(10,32,65,.18);
  border-left: 3px solid var(--nt-olympic-gold);
  font-size: clamp(1.05rem,1.5vw,1.35rem);
  font-weight: 650;
  line-height: 1.5;
}
.nt-luis-achievement__gallery {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: clamp(1rem,2vw,2rem);
  margin-top: clamp(1rem,3vw,3rem);
}
.nt-luis-achievement__photo {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #d9dfdf;
  box-shadow: 0 1.5rem 4rem rgba(4,24,48,.18);
}
.nt-luis-achievement__photo picture { display: block; width: 100%; height: 100%; }
.nt-luis-achievement__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.94) contrast(1.02);
  transition: transform .85s cubic-bezier(.2,.8,.2,1),filter .5s ease;
}
.nt-luis-achievement__photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(3,18,38,.86),transparent 42%);
  content: '';
  pointer-events: none;
}
.nt-luis-achievement__photo figcaption {
  position: absolute;
  z-index: 2;
  right: clamp(1rem,2vw,2rem);
  bottom: clamp(1rem,2vw,2rem);
  left: clamp(1rem,2vw,2rem);
  display: grid;
  color: #fff;
}
.nt-luis-achievement__photo figcaption span {
  color: #ead681;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.nt-luis-achievement__photo figcaption strong {
  max-width: 26ch;
  margin-top: .35rem;
  font-family: Georgia,serif;
  font-size: clamp(1.15rem,2vw,1.85rem);
  font-weight: 400;
  line-height: 1.1;
}
.nt-luis-achievement__photo--primary {
  z-index: 1;
  grid-column: 1 / span 8;
  grid-row: 1 / span 2;
  aspect-ratio: 1.75;
  border-radius: .2rem 5rem .2rem .2rem;
}
.nt-luis-achievement__photo--primary img { object-position: 60% 50%; }
.nt-luis-achievement__photo--portrait {
  grid-column: 9 / -1;
  grid-row: 1;
  aspect-ratio: .96;
  border-radius: 3.5rem .2rem .2rem .2rem;
}
.nt-luis-achievement__photo--portrait img { object-position: 74% 50%; }
.nt-luis-achievement__photo--group {
  z-index: 2;
  grid-column: 3 / span 8;
  grid-row: 3;
  aspect-ratio: 1.78;
  margin-top: clamp(-5rem,-6vw,-2rem);
  border: .6rem solid #f7f3e9;
  border-radius: .2rem .2rem 4.5rem .2rem;
}
.nt-luis-achievement__photo--group img { object-position: 67% 50%; }
.nt-luis-achievement__marker {
  grid-column: 9 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .25rem 1rem;
  min-height: 13rem;
  align-content: center;
  padding: clamp(1.5rem,3vw,3rem);
  color: #fff;
  border: 1px solid rgba(224,196,96,.52);
  border-radius: .2rem .2rem 3rem .2rem;
  background:
    radial-gradient(circle at 85% 18%,rgba(210,179,82,.18),transparent 8rem),
    var(--nt-olympic-ink);
}
.nt-luis-achievement__marker span {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.16);
  font-family: Georgia,serif;
  font-size: clamp(3.5rem,6vw,6rem);
  letter-spacing: -.06em;
  line-height: .7;
}
.nt-luis-achievement__marker i { grid-row: 2 / span 2; align-self: center; color: var(--nt-olympic-gold); font-size: 2rem; }
.nt-luis-achievement__marker strong { align-self: end; font-family: Georgia,serif; font-size: clamp(1.5rem,2.6vw,2.5rem); font-weight: 400; }
.nt-luis-achievement__marker small { color: #acbdcc; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.nt-luis-achievement__cadence {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: clamp(2rem,5vw,5rem) 0 0;
  padding: 0;
  border-block: 1px solid rgba(10,32,65,.2);
  list-style: none;
}
.nt-luis-achievement__cadence li {
  display: flex;
  gap: .65rem;
  align-items: center;
  min-width: 0;
  padding: 1.2rem;
  color: var(--nt-navy);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.nt-luis-achievement__cadence li + li { border-left: 1px solid rgba(10,32,65,.18); }
.nt-luis-achievement__cadence i { color: #765b0b; }
.has-nt-olympic-motion .nt-luis-achievement__intro,
.has-nt-olympic-motion .nt-luis-achievement__photo,
.has-nt-olympic-motion .nt-luis-achievement__marker,
.has-nt-olympic-motion .nt-luis-achievement__cadence {
  opacity: 0;
  transform: translateY(1.4rem);
}
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__intro,
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__photo,
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__marker,
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__cadence {
  opacity: 1;
  transform: none;
  transition: opacity .65s ease,transform .75s cubic-bezier(.2,.8,.2,1);
}
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__photo--primary { transition-delay: 90ms; }
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__photo--portrait { transition-delay: 180ms; }
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__marker { transition-delay: 240ms; }
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__photo--group { transition-delay: 300ms; }
.has-nt-olympic-motion .nt-luis-achievement.is-achievement-visible .nt-luis-achievement__cadence { transition-delay: 360ms; }

@media (hover: hover) and (pointer: fine) {
  .nt-luis-achievement__photo:hover img { filter: saturate(1) contrast(1); transform: scale(1.025); }
}

@media (max-width: 1199px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { grid-template-columns: repeat(5,minmax(7rem,1fr)); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__path { overflow-x: auto; }
  .nt-luis-achievement__intro { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); }
  #gf-national-teams .nt-luis-achievement__kicker,
  #gf-national-teams .nt-luis-achievement__intro h2 { grid-column: 1 / span 5; }
  #gf-national-teams .nt-luis-achievement__year { grid-column: 6 / -1; }
  #gf-national-teams .nt-luis-achievement__lede,
  #gf-national-teams .nt-luis-achievement__summary { grid-column: 6 / -1; }
  .nt-luis-achievement__photo--primary { grid-column: 1 / span 8; }
  .nt-luis-achievement__photo--portrait,
  .nt-luis-achievement__marker { grid-column: 9 / -1; }
  .nt-luis-achievement__photo--group { grid-column: 2 / span 9; }
}

@media (max-width: 900px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__path { overflow: visible; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { display: grid; grid-template-columns: 1fr; min-height: 0; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li,
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li:nth-child(even) { min-height: 8.5rem; padding: 1rem 1rem 1rem 5.25rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li::before,
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li:nth-child(even)::before { top: 2.2rem; left: 3.85rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages i { position: absolute; top: .85rem; left: 0; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__trajectory { display: none; }
  .nt-olympic-journey__stages .nt-olympic-journey__milestone small { max-width: 28ch; font-size: .75rem; }
  .nt-luis-achievement__cadence { grid-template-columns: 1fr 1fr; }
  .nt-luis-achievement__cadence li:nth-child(3) { border-top: 1px solid rgba(10,32,65,.18); border-left: 0; }
  .nt-luis-achievement__cadence li:nth-child(4) { border-top: 1px solid rgba(10,32,65,.18); }
}

@media (max-width: 767px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__path { overflow: visible; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { display: grid; grid-template-columns: 1fr; min-height: 0; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li,
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li:nth-child(even) { min-height: 8.5rem; padding: 1rem 1rem 1rem 5.25rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li::before,
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li:nth-child(even)::before { top: 2.2rem; left: 3.85rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages i { position: absolute; top: .85rem; left: 0; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__trajectory { left: 4.15rem; width: 1px; height: 100%; }

  .nt-luis-achievement {
    display: block;
    padding: 5rem 1rem 6rem;
  }
  .nt-luis-achievement::after { left: 2rem; }
  .nt-luis-achievement__intro { display: block; padding-inline: .25rem; }
  #gf-national-teams .nt-luis-achievement__kicker { margin-bottom: 1rem; font-size: .62rem; line-height: 1.5; }
  #gf-national-teams .nt-luis-achievement__year { position: absolute; top: 4.4rem; right: .8rem; font-size: 5rem; }
  #gf-national-teams .nt-luis-achievement__intro h2 { max-width: 8ch; font-size: clamp(3.5rem,17vw,5rem); }
  #gf-national-teams .nt-luis-achievement__lede { margin-top: 1.5rem; }
  #gf-national-teams .nt-luis-achievement__summary { margin-top: 1.1rem; font-size: 1.35rem; }
  #gf-national-teams .nt-luis-achievement__statement { margin-top: 2rem; padding: 1rem 0 0 1rem; }
  .nt-luis-achievement__gallery { display: block; margin-top: 3rem; }
  .nt-luis-achievement__photo,
  .nt-luis-achievement__photo--group { width: 100%; margin: 0 0 1rem; border-width: 0; }
  .nt-luis-achievement__photo--primary { aspect-ratio: 1.38; border-radius: .15rem 3.5rem .15rem .15rem; }
  .nt-luis-achievement__photo--primary img { object-position: 64% 50%; }
  .nt-luis-achievement__photo--portrait { aspect-ratio: 1.08; border-radius: 2.8rem .15rem .15rem .15rem; }
  .nt-luis-achievement__photo--portrait img { object-position: 73% 50%; }
  .nt-luis-achievement__marker { min-height: 14rem; margin: 0 0 1rem; border-radius: .15rem .15rem 2.8rem .15rem; }
  .nt-luis-achievement__photo--group { aspect-ratio: 1.45; border-radius: .15rem .15rem 3rem .15rem; }
  .nt-luis-achievement__photo--group img { object-position: 69% 50%; }
  .nt-luis-achievement__photo figcaption strong { font-size: 1.15rem; }
  .nt-luis-achievement__cadence { grid-template-columns: 1fr 1fr; margin-top: 2rem; }
  .nt-luis-achievement__cadence li { padding: 1rem .7rem; font-size: .57rem; }
  .nt-luis-achievement__cadence li:nth-child(3) { border-left: 0; border-top: 1px solid rgba(10,32,65,.18); }
  .nt-luis-achievement__cadence li:nth-child(4) { border-top: 1px solid rgba(10,32,65,.18); }
}

@media (max-width: 359px) {
  #gf-national-teams .nt-luis-achievement__intro h2 { font-size: clamp(3rem,16.5vw,4.25rem); }
  .nt-luis-achievement__photo--primary { aspect-ratio: 1.2; }
  .nt-luis-achievement__cadence { grid-template-columns: 1fr; }
  .nt-luis-achievement__cadence li + li { border-top: 1px solid rgba(10,32,65,.18); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .has-nt-olympic-motion .nt-luis-achievement__intro,
  .has-nt-olympic-motion .nt-luis-achievement__photo,
  .has-nt-olympic-motion .nt-luis-achievement__marker,
  .has-nt-olympic-motion .nt-luis-achievement__cadence {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .nt-luis-achievement__photo img { transform: none!important; transition: none; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__trajectory-progress { transition: none; }
}

/* 2026 silver edition: result-led Hero and documentary achievement story. */
.fmg-national-teams--ciclo-olimpico {
  --nt-silver: #c0c5ce;
  --nt-silver-light: #e8ebef;
  --nt-silver-deep: #7d8794;
}

.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver {
  min-height: clamp(31rem,42vw,34rem);
  overflow: hidden;
  border: 1px solid rgba(192,197,206,.42);
  border-radius: 4.5rem .2rem .2rem .2rem;
  box-shadow: 0 1.8rem 5rem rgba(3,20,42,.2);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 49%;
  filter: none;
  transform: none;
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__scrim {
  background:
    linear-gradient(90deg,rgba(2,15,32,.96) 0 34%,rgba(2,15,32,.76) 47%,rgba(2,15,32,.08) 72%),
    linear-gradient(0deg,rgba(2,15,32,.78),transparent 50%);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__copy {
  width: min(46rem,59%);
  align-content: center;
  padding: clamp(2.4rem,4vw,4rem) clamp(2rem,5vw,5rem);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver h1 {
  max-width: 8ch;
  font-size: clamp(4rem,6.2vw,6.3rem);
  line-height: .82;
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-stage__lede {
  max-width: 30ch;
  margin-top: .9rem;
  font-size: clamp(.95rem,1.35vw,1.15rem);
  line-height: 1.45;
}
.nt-olympic-hero__result {
  display: grid;
  grid-template-columns: auto repeat(2,minmax(0,1fr));
  gap: .8rem 1rem;
  width: min(38rem,100%);
  align-items: center;
  margin-top: 1.25rem;
  padding: .85rem 1rem;
  color: #fff;
  border: 1px solid rgba(192,197,206,.58);
  border-radius: .15rem 1.25rem .15rem .15rem;
  background: rgba(4,25,47,.68);
  backdrop-filter: blur(8px);
}
.nt-olympic-hero__result > i { color: var(--nt-silver-light); font-size: 1.45rem; }
.nt-olympic-hero__result span { display: grid; min-width: 0; }
.nt-olympic-hero__result span + span { padding-left: 1rem; border-left: 1px solid rgba(192,197,206,.35); }
.nt-olympic-hero__result strong { font-family: Georgia,serif; font-size: clamp(1rem,1.5vw,1.35rem); font-weight: 400; }
.nt-olympic-hero__result small { overflow: hidden; color: #dce2e8; font-size: .61rem; font-weight: 800; letter-spacing: .06em; line-height: 1.35; text-overflow: ellipsis; text-transform: uppercase; }
.nt-olympic-hero__cta {
  display: inline-flex;
  gap: .7rem;
  width: fit-content;
  align-items: center;
  margin-top: 1.1rem;
  padding: .72rem 1rem;
  color: #071d36;
  border-radius: 999px;
  background: var(--nt-silver-light);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease,background .2s ease,transform .2s ease;
}
.nt-olympic-hero__cta:hover { color: #fff; background: #34465b; transform: translateY(-2px); }
.nt-olympic-hero__cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.nt-olympic-hero__photo-label {
  position: absolute;
  z-index: 3;
  right: 1.4rem;
  bottom: 1.2rem;
  color: rgba(255,255,255,.88);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}

#nt-journey-title { scroll-margin-top: 6rem; }
#gf-national-teams .gf-national-main > section.nt-olympic-journey {
  min-height: 39rem;
  padding: clamp(3.5rem,6vw,6rem);
}
.fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { grid-template-columns: repeat(4,minmax(0,1fr)); }
.fmg-national-teams--ciclo-olimpico .nt-olympic-journey__trajectory-progress { stroke: var(--nt-silver); }
.fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages li.is-stage-active::before {
  background: var(--nt-silver);
  box-shadow: 0 0 0 .45rem rgba(192,197,206,.15);
}
.nt-olympic-journey__milestone {
  color: #fff;
  border: 1px solid rgba(192,197,206,.55);
  background: linear-gradient(145deg,rgba(192,197,206,.16),rgba(5,24,47,.72));
  box-shadow: none;
}
.nt-olympic-journey__stages .nt-olympic-journey__milestone::before { background: var(--nt-silver); box-shadow: 0 0 0 .45rem rgba(192,197,206,.15); }
.nt-olympic-journey__stages .nt-olympic-journey__milestone :is(i,span) { color: var(--nt-silver-light); }

.nt-luis-achievement.nt-luis-achievement--silver {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: clamp(2rem,4vw,4rem);
  padding: clamp(5rem,8vw,8rem) clamp(1.25rem,6.5vw,6.5rem) clamp(6rem,9vw,9rem);
  color: var(--nt-navy);
  background:
    linear-gradient(135deg,rgba(232,235,239,.84),rgba(255,255,255,.96) 52%,rgba(192,197,206,.2)),
    #f7f8fa;
}
.nt-luis-achievement.nt-luis-achievement--silver::before {
  top: -13rem;
  right: -6rem;
  width: 32rem;
  height: 32rem;
  border-color: rgba(125,135,148,.22);
  box-shadow: 0 0 0 4rem rgba(192,197,206,.06),0 0 0 8rem rgba(192,197,206,.04);
}
.nt-luis-achievement.nt-luis-achievement--silver::after { background: linear-gradient(var(--nt-silver-deep),transparent); }
.nt-luis-achievement--silver .nt-luis-achievement__intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 1rem clamp(1rem,2.4vw,2.4rem);
  align-items: end;
}
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__kicker { color: #596675; }
.nt-luis-achievement--silver .nt-luis-achievement__kicker i { color: var(--nt-silver-deep); }
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__year { color: rgba(73,86,101,.08); }
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__intro h2 {
  grid-column: 1 / span 7;
  max-width: 8ch;
  font-size: clamp(4rem,7.2vw,7.5rem);
}
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__lede,
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__summary { grid-column: 9 / -1; }
.nt-luis-achievement__facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 2fr .7fr 1.3fr;
  margin: 0;
  border-block: 1px solid rgba(73,86,101,.22);
}
.nt-luis-achievement__facts div { min-width: 0; padding: 1.25rem clamp(.75rem,1.5vw,1.5rem); }
.nt-luis-achievement__facts div + div { border-left: 1px solid rgba(73,86,101,.18); }
.nt-luis-achievement__facts dt { color: #687585; font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.nt-luis-achievement__facts dd { margin: .35rem 0 0; color: var(--nt-navy); font-family: Georgia,serif; font-size: clamp(1rem,1.5vw,1.35rem); line-height: 1.25; }
.nt-luis-achievement__facts-medal { background: rgba(192,197,206,.2); }
.nt-luis-achievement__facts-medal dd { display: flex; gap: .55rem; align-items: center; }
.nt-luis-achievement__facts-medal i { color: var(--nt-silver-deep); }
.nt-luis-achievement__result-story {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,7fr) minmax(18rem,5fr);
  gap: clamp(1rem,2vw,2rem);
  align-items: stretch;
}
.nt-luis-achievement--silver .nt-luis-achievement__photo {
  width: 100%;
  margin: 0;
  border: 0;
  background: #d8dde3;
}
.nt-luis-achievement--silver .nt-luis-achievement__photo img { filter: none; }
.nt-luis-achievement--silver .nt-luis-achievement__photo figcaption span { color: var(--nt-silver-light); }
.nt-luis-achievement--silver .nt-luis-achievement__photo--portrait {
  grid-column: auto;
  grid-row: auto;
  aspect-ratio: 1.48;
  border-radius: .2rem 4.5rem .2rem .2rem;
}
.nt-luis-achievement--silver .nt-luis-achievement__photo--portrait img { object-position: 72% 50%; }
.nt-luis-achievement--silver .nt-luis-achievement__marker {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  align-content: center;
  border-color: rgba(192,197,206,.58);
  background: var(--nt-olympic-ink);
}
.nt-luis-achievement--silver .nt-luis-achievement__marker span { color: rgba(232,235,239,.13); }
.nt-luis-achievement--silver .nt-luis-achievement__marker i { color: var(--nt-silver); }
#gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__marker p { grid-column: 2; margin: .7rem 0 1.2rem; color: #c8d1da; line-height: 1.55; }
.nt-luis-achievement--silver .nt-luis-achievement__marker small { grid-column: 2; color: var(--nt-silver-light); }
.nt-luis-achievement--silver .nt-luis-achievement__photo--group {
  grid-column: 2 / -2;
  grid-row: auto;
  aspect-ratio: 2.05;
  margin: clamp(1rem,3vw,3rem) 0 0;
  border: 0;
  border-radius: .2rem .2rem 4.5rem .2rem;
}
.nt-luis-achievement--silver .nt-luis-achievement__photo--group img { object-position: 69% 50%; }
.nt-medal-event[data-year='2026'] .nt-medal-event__header { border-top-color: rgba(192,197,206,.75); }
.nt-medal-event[data-year='2026'] .nt-medal-event__achievements { grid-template-columns: minmax(0,1fr); }
.nt-medal-event[data-year='2026'] .nt-medal-event__achievements > li { grid-column: 1 / -1; }
.nt-medal-event[data-year='2026'] .nt-medal-event__year,
.nt-medal-event[data-year='2026'] .nt-medal-gallery__disk,
.nt-medal-event[data-year='2026'] .nt-medal-gallery__medal { color: var(--nt-silver-light); }

@media (max-width: 1199px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { grid-template-columns: repeat(4,minmax(8rem,1fr)); }
  .nt-luis-achievement--silver .nt-luis-achievement__result-story { grid-template-columns: minmax(0,3fr) minmax(17rem,2fr); }
  .nt-luis-achievement--silver .nt-luis-achievement__photo--group { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver { min-height: 39rem; margin-inline: -.25rem; border-radius: 3.2rem .15rem .15rem .15rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__media img { object-position: 72% 42%; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__scrim {
    background: linear-gradient(0deg,rgba(2,15,32,.98) 0 57%,rgba(2,15,32,.4) 76%,rgba(2,15,32,.06) 100%);
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__copy {
    width: 100%;
    align-content: end;
    padding: 2rem 1.2rem 2rem;
  }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver h1 { font-size: clamp(3.45rem,15vw,5rem); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-stage__lede { max-width: 25ch; margin-top: .6rem; font-size: .92rem; }
  .nt-olympic-hero__result { grid-template-columns: auto 1fr; margin-top: .85rem; padding: .7rem .8rem; }
  .nt-olympic-hero__result > i { grid-row: 1 / span 2; }
  .nt-olympic-hero__result span + span { padding: .45rem 0 0; border-top: 1px solid rgba(192,197,206,.35); border-left: 0; }
  .nt-olympic-hero__cta { margin-top: .8rem; }
  .nt-olympic-hero__photo-label { display: none; }

  #gf-national-teams .gf-national-main > section.nt-olympic-journey { min-height: 0; padding: 4rem 1.15rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-journey__stages { grid-template-columns: 1fr; }
  .nt-luis-achievement.nt-luis-achievement--silver { display: block; padding: 5rem 1rem 6rem; }
  .nt-luis-achievement--silver .nt-luis-achievement__intro { display: block; padding-inline: .25rem; }
  #gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__intro h2 { max-width: 8ch; font-size: clamp(3.5rem,17vw,5rem); }
  #gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__lede { margin-top: 1.5rem; }
  #gf-national-teams .nt-luis-achievement--silver .nt-luis-achievement__summary { margin-top: 1.1rem; }
  .nt-luis-achievement__facts { grid-template-columns: 1fr 1fr; margin-top: 2.5rem; }
  .nt-luis-achievement__facts div:nth-child(3) { border-top: 1px solid rgba(73,86,101,.18); border-left: 0; }
  .nt-luis-achievement__facts div:nth-child(4) { border-top: 1px solid rgba(73,86,101,.18); }
  .nt-luis-achievement__result-story { display: block; margin-top: 2.5rem; }
  .nt-luis-achievement--silver .nt-luis-achievement__photo--portrait { aspect-ratio: 1.08; border-radius: .15rem 3rem .15rem .15rem; }
  .nt-luis-achievement--silver .nt-luis-achievement__photo--portrait img { object-position: 74% 50%; }
  .nt-luis-achievement--silver .nt-luis-achievement__marker { min-height: 17rem; margin-top: 1rem; }
  .nt-luis-achievement--silver .nt-luis-achievement__photo--group { aspect-ratio: 1.45; margin-top: 3.5rem; border-radius: .15rem .15rem 3rem .15rem; }
}

@media (max-width: 359px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver { min-height: 38rem; }
  .nt-luis-achievement__facts { grid-template-columns: 1fr; }
  .nt-luis-achievement__facts div + div { border-top: 1px solid rgba(73,86,101,.18); border-left: 0; }
  .nt-luis-achievement--silver .nt-luis-achievement__marker { grid-template-columns: auto 1fr; padding: 1.4rem; }
}

@media (min-width: 581px) and (max-width: 1024px) and (max-height: 500px) {
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver { min-height: 18.25rem; height: 18.25rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__copy { width: 63%; padding: .75rem 1.5rem; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver h1 { font-size: clamp(2.55rem,6vw,3.25rem); }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-stage__lede { display: none; }
  .nt-olympic-hero__result { grid-template-columns: auto repeat(2,minmax(0,1fr)); margin-top: .45rem; padding: .45rem .65rem; }
  .nt-olympic-hero__result > i { grid-row: auto; font-size: 1.05rem; }
  .nt-olympic-hero__result span + span { padding: 0 0 0 .65rem; border-top: 0; border-left: 1px solid rgba(192,197,206,.35); }
  .nt-olympic-hero__result strong { font-size: .94rem; }
  .nt-olympic-hero__result small { font-size: .48rem; }
  .nt-olympic-hero__cta { margin-top: .4rem; padding: .48rem .75rem; font-size: .58rem; }
}

@media (prefers-reduced-motion: reduce) {
  .nt-olympic-hero__cta { transition: none; }
  .nt-olympic-hero__cta:hover { transform: none; }
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__media,
  .fmg-national-teams--ciclo-olimpico .nt-olympic-hero--silver .nt-olympic-hero__copy,
  .has-nt-olympic-motion .nt-luis-achievement--silver :is(.nt-luis-achievement__intro,.nt-luis-achievement__facts,.nt-luis-achievement__result-story,.nt-luis-achievement__photo,.nt-luis-achievement__marker) {
    animation: none;
    opacity: 1;
    transform: none;
    transition: none;
  }
}
