#content.page-content--home { overflow-x: clip; }
.rtg-hero { position: relative; width: var(--rtg-shell-width); max-width: var(--rtg-shell-max); margin-inline: auto; height: 480px; overflow: hidden; isolation: isolate; background: #bbb; color: #fff; font-family: 'RTG Montserrat', Montserrat, Arial, sans-serif; }
.rtg-hero__viewport { width: 100%; height: 100%; overflow: hidden; }
.rtg-hero__track { display: flex; width: 100%; height: 100%; }
.rtg-hero__slide { position: relative; flex: 0 0 100%; width: 100%; height: 100%; background: #bbb; }
.rtg-hero__slide::before { content: ''; position: absolute; inset: 0; background-image: var(--rtg-slide-image); background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; transform: scale(1.065) translate3d(-.35%, .3%, 0); transform-origin: center; }
.rtg-hero__slide--amic::before { background-position: 50% 0%; }
.rtg-hero__promo-link { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.rtg-hero__promo-art { position: relative; display: block; flex: none; width: min(900px, calc(100% - 10px)); aspect-ratio: 1999 / 508; transform: translateY(-7px); }
.rtg-hero__promo-art img { position: absolute; display: block; max-width: none; }
.rtg-hero__promo-title { top: 0; left: 0; width: 43.92%; height: auto; }
.rtg-hero__promo-card { bottom: 0; left: 0; width: 100%; height: auto; }
.rtg-hero__slide--autoclave { background: #fff; }
.rtg-hero__slide--autoclave::before { content: none; }
.rtg-hero__autoclave-layout { display: grid; grid-template-columns: 44% minmax(0, 1fr); align-items: center; gap: 24px; width: var(--rtg-shell-width, 100%); max-width: 100%; height: 100%; margin-inline: auto; padding: 20px 50px 36px; }
.rtg-hero__autoclave-copy { position: relative; z-index: 1; min-width: 0; text-align: left; }
.rtg-hero__autoclave-photo { height: 100%; min-width: 0; overflow: hidden; }
/* Enlarge only the photograph's white margins; the complete product remains inside its column. */
.rtg-hero__autoclave-photo img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.4); }
.rtg-hero__bottom-copy { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 50px; text-align: center; }
.rtg-hero__eyebrow { margin: 0 0 13px; color: #fff; font-size: 15px; font-weight: 400; line-height: 16px; }
.rtg-hero__slide--autoclave .rtg-hero__eyebrow { color: #7a7a7a; }
.rtg-hero__headline { margin: 0; color: #fff; font-size: 45px; font-weight: 800; line-height: 57px; }
.rtg-hero__slide--autoclave .rtg-hero__headline { margin-bottom: 13px; color: #000; }
.rtg-hero__cta { display: inline-block; padding: 10px 20px; background: #1c4f5d; color: #fff; font-size: 16px; font-weight: 500; line-height: 16px; text-decoration: none; transition: background-color 220ms ease, box-shadow 220ms ease; }
.rtg-hero__cta:hover, .rtg-hero__cta:focus { background: #1693a5; box-shadow: 0 8px 24px rgb(0 0 0 / 16%); color: #fff; }
.rtg-hero__arrow { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 42px; height: 44px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 50%; background: transparent; color: #e0e0e0; cursor: pointer; transition: background-color 220ms ease, color 220ms ease; }
.rtg-hero__arrow--prev { left: 0; }
.rtg-hero__arrow--next { right: 0; }
.rtg-hero__arrow span { display: block; width: 14px; height: 14px; border: solid currentColor; border-width: 0 2px 2px 0; }
.rtg-hero__arrow--prev span { transform: rotate(135deg); margin-left: 5px; }
.rtg-hero__arrow--next span { transform: rotate(-45deg); margin-right: 5px; }
.rtg-hero__arrow:hover, .rtg-hero__arrow:focus-visible { background: rgb(15 63 76 / 28%); color: #fff; }
.rtg-hero__arrow:focus-visible, .rtg-hero__cta:focus-visible, .rtg-hero__promo-link:focus-visible { outline: 3px solid #1693a5; outline-offset: -3px; }
.rtg-hero__pagination { position: absolute; z-index: 3; bottom: 10px; left: 50%; display: flex; align-items: center; gap: 2px; transform: translateX(-50%); }
.rtg-hero__bullet { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.rtg-hero__bullet::after { content: ''; display: block; width: 9px; height: 9px; border: 1px solid #fff; border-radius: 50%; background: rgb(255 255 255 / 78%); box-shadow: 0 1px 5px rgb(0 0 0 / 42%); transition: transform 200ms ease, background-color 200ms ease, box-shadow 200ms ease; }
.rtg-hero__bullet.is-active::after { transform: scale(1.18); background: #168ca0; box-shadow: 0 0 0 2px rgb(255 255 255 / 85%), 0 1px 5px rgb(0 0 0 / 42%); }
.rtg-hero__bullet:hover::after { transform: scale(1.35); }
.rtg-hero__bullet:focus-visible { outline: 2px solid #168ca0; outline-offset: 0; }

@keyframes rtg-hero-background-drift {
  0%, 100% { transform: scale(1.065) translate3d(-.35%, .3%, 0); }
  50% { transform: scale(1.13) translate3d(.45%, -.35%, 0); }
}
@keyframes rtg-hero-copy-enter {
  from { opacity: 0; transform: translate3d(0, 22px, 0); filter: blur(4px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@keyframes rtg-hero-promo-title-enter {
  from { opacity: 0; transform: translate3d(var(--rtg-title-entry, -120px), 12px, 0) scale(.91); filter: blur(7px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}
@keyframes rtg-hero-promo-card-enter {
  from { opacity: 0; transform: translate3d(0, var(--rtg-card-entry, 105px), 0) scale(.94); filter: blur(7px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}
.rtg-hero.is-ready .rtg-hero__slide.is-current::before { animation: rtg-hero-background-drift 24s ease-in-out infinite; }
.rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__eyebrow { animation: rtg-hero-copy-enter 700ms cubic-bezier(.16, 1, .3, 1) 110ms both; }
.rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__headline { animation: rtg-hero-copy-enter 850ms cubic-bezier(.16, 1, .3, 1) 230ms both; }
.rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__cta { animation: rtg-hero-copy-enter 700ms cubic-bezier(.16, 1, .3, 1) 410ms both; }
.rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__promo-title { animation: rtg-hero-promo-title-enter 1400ms cubic-bezier(.16, 1, .3, 1) 80ms both; }
.rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__promo-card { animation: rtg-hero-promo-card-enter 1500ms cubic-bezier(.16, 1, .3, 1) 1980ms both; }

/* Hero 600 → 480px (460px on tablets) so the wide slide photos show more of their sides (Carlos 25-oct). */
@media (max-width: 1199px) {
  .rtg-hero { height: 460px; }
  .rtg-hero__headline { font-size: 40px; line-height: 50px; }
  .rtg-hero__eyebrow { font-size: 14px; }
  .rtg-hero__slide--autoclave .rtg-hero__headline { font-size: clamp(24px, 3.3vw, 40px); line-height: 1.25; }
}

@media (max-width: 767px) {
  .rtg-hero { height: 200px; }
  .rtg-hero__promo-link { padding: 20px 0; }
  .rtg-hero__promo-art { width: calc(100% - 10px); --rtg-title-entry: -45px; --rtg-card-entry: 44px; }
  .rtg-hero__autoclave-layout { grid-template-columns: 46% minmax(0, 1fr); gap: 8px; padding: 16px 8px 30px; }
  .rtg-hero__slide--autoclave .rtg-hero__headline { font-size: clamp(17px, 4.3vw, 28px); line-height: 1.25; }
  .rtg-hero__slide--autoclave .rtg-hero__cta { padding: 10px 12px; font-size: 10px; line-height: 15px; }
  .rtg-hero__bottom-copy { left: 20px; right: 20px; bottom: 30px; }
  .rtg-hero__eyebrow { font-size: 10px; line-height: 16px; }
  .rtg-hero__headline { font-size: 16px; line-height: 24px; }
  .rtg-hero__cta { font-size: 14px; line-height: 15px; }
  .rtg-hero__arrow { width: 36px; }
  .rtg-hero__arrow span { width: 11px; height: 11px; }
  .rtg-hero__pagination { bottom: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .rtg-hero.is-ready .rtg-hero__slide.is-current::before,
  .rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__eyebrow,
  .rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__headline,
  .rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__cta,
  .rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__promo-title,
  .rtg-hero.is-ready .rtg-hero__slide.is-current .rtg-hero__promo-card { animation: none; }
  .rtg-hero__cta, .rtg-hero__arrow, .rtg-hero__bullet::after { transition: none; }
}

/* Hero a todo el ancho de la ventana (4-oct-2026); su contenido se alinea con el ancho del sitio (--rtg-shell-width). */
.rtg-hero { --rtg-hero-inset: calc((100% - var(--rtg-shell-width, 100%)) / 2); width: 100%; max-width: none; margin-inline: 0; }
.rtg-hero__bottom-copy { left: calc(var(--rtg-hero-inset) + 30px); right: calc(var(--rtg-hero-inset) + 30px); }
.rtg-hero__arrow--prev { left: var(--rtg-hero-inset); }
.rtg-hero__arrow--next { right: var(--rtg-hero-inset); }
@media (max-width: 767px) {
  .rtg-hero__bottom-copy { left: calc(var(--rtg-hero-inset) + 20px); right: calc(var(--rtg-hero-inset) + 20px); }
}

/* Phones: no arrows over the art (swipe and bullets remain), taller hero and the first slide's dates as text. */
.rtg-hero__promo-mobile { display: none; }
@media (max-width: 767px) {
  .rtg-hero { height: 280px; }
  .rtg-hero__promo-link { padding: 12px 16px 30px; }
  .rtg-hero__promo-art { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; aspect-ratio: auto; transform: none; }
  .rtg-hero__promo-art img { position: static; }
  .rtg-hero__promo-title { width: 56%; }
  .rtg-hero__promo-art .rtg-hero__promo-card { display: none; }
  .rtg-hero__promo-mobile { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; }
  .rtg-hero__promo-logo { width: 62%; aspect-ratio: 980 / 307; background: url('/img/cms/roentgen-back-horario.png') 0 0 / 204% auto no-repeat; }
  .rtg-hero__promo-dates { display: grid; grid-template-columns: 1fr 1fr; width: 100%; padding: 6px 4px; border-radius: 6px; background: rgb(255 255 255 / 92%); color: #1693a5; font-weight: 700; text-align: center; }
  .rtg-hero__promo-dates > span + span { border-left: 1px solid #b9c9cf; }
  .rtg-hero__promo-dates small { display: block; color: #4b93a6; font-size: 10px; font-weight: 400; line-height: 1.2; }
  .rtg-hero__promo-dates b { display: block; font-size: 20px; line-height: 1.1; }
}
@media (max-width: 1023px) { .rtg-hero__arrow { display: none; } }

/* Expo AMIC slide (production since 20-oct): a centred 700px column with the AMIC logo at 55%, «Próximamente» at
   full width, then the date and the invitation in white with a soft shadow. */
.rtg-hero__slide--amic-next .rtg-hero__amic { position: absolute; z-index: 1; top: 50%; left: 50%; width: 700px; max-width: calc(100% - 30px); transform: translate(-50%, -50%); text-align: center; }
.rtg-hero__amic img { display: block; height: auto; }
.rtg-hero__amic-logo { width: 55%; margin: 0 auto 4%; }
.rtg-hero__amic-soon { width: 100%; }
.rtg-hero__amic-date { margin: 3% 0 0; color: #fff; font-size: clamp(15px, 3.6vw, 30px); font-weight: 700; line-height: 1.2; letter-spacing: .04em; text-shadow: 0 2px 12px rgb(0 0 0 / 60%); }
.rtg-hero__amic-text { max-width: 600px; margin: 14px auto 0; color: #fff; font-size: 20px; font-weight: 400; line-height: 1.35; text-shadow: 0 2px 10px rgb(0 0 0 / 70%); }
@media (max-width: 767px) {
  .rtg-hero__amic-logo { width: 34%; margin-bottom: 2%; }
  .rtg-hero__amic-soon { width: 80%; margin: 0 auto; }
  .rtg-hero__amic-date { margin-top: 6px; font-size: 14px; }
  .rtg-hero__amic-text { max-width: 300px; margin-top: 4px; font-size: 12px; line-height: 1.3; }
}
