/* Use the actual photograph across the viewport and preserve the full subject. */
#main :is([data-mgmfw-outer], [data-mgmfw-layout]) {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--mgmfw-header-clearance, 0px) 0 0;
  border-radius: 0;
}

#main [data-mgmfw-layout] {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template: "photo" auto "copy" auto / minmax(0, 1fr);
  align-items: start;
  gap: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  background: #172a3b;
  color: #fff;
}

#main [data-mgmfw-layout] .hero-shade,
#main [data-mgmfw-layout]::before,
#main [data-mgmfw-layout]::after,
#main [data-mgmfw-media]:not(img)::before,
#main [data-mgmfw-media]:not(img)::after {
  display: none;
}

#main [data-mgmfw-layout] > [data-mgmfw-media] {
  grid-area: photo;
  position: relative;
  inset: auto;
  z-index: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-height: none;
  aspect-ratio: var(--mgmfw-frame-ratio, var(--mgmfw-ratio, 1.5));
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
}

#main [data-mgmfw-layout] [data-mgmfw-image] {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  filter: none;
  mask-image: none;
  mix-blend-mode: normal;
  transform: none;
  object-fit: cover;
  object-position: var(--mgmfw-position, center);
}

#main [data-mgmfw-layout] > img[data-mgmfw-image] {
  height: auto;
}

#main [data-mgmfw-layout][data-mgmfw-portrait] > [data-mgmfw-media] {
  max-width: min(100%, calc(76svh * var(--mgmfw-ratio)));
  justify-self: center;
}

#main [data-mgmfw-media]:not(img) [data-mgmfw-image] {
  position: absolute;
  inset: 0;
}

#main [data-mgmfw-layout] > [data-mgmfw-copy] {
  grid-area: copy;
  position: relative;
  inset: auto;
  display: block;
  z-index: 1;
  width: min(100%, 1200px);
  max-width: none;
  min-width: 0;
  margin: 0 auto;
  padding: clamp(24px, 3.4vw, 52px) clamp(16px, 4vw, 64px);
  color: inherit;
  transform: none;
}

#main [data-mgmfw-layout] :is(.hero-copy h1, .hero-bottom) {
  max-width: 100%;
  overflow-wrap: anywhere;
}

#main [data-mgmfw-layout] .coin-hero-copy > p:not(.eyebrow) {
  color: inherit;
}

#main .sm-intro[data-mgmfw-layout] {
  grid-template: "photo" auto "title" auto "copy" auto / minmax(0, 1fr);
}

#main .sm-intro[data-mgmfw-layout] > h1 {
  grid-area: title;
  position: relative;
  inset: auto;
  max-width: min(100%, 1200px);
  margin: 0 auto;
  padding: clamp(20px, 3vw, 48px) clamp(16px, 4vw, 64px) 0;
  font-size: clamp(30px, 4.6vw, 66px);
  overflow-wrap: anywhere;
}

#main .sm-intro[data-mgmfw-layout] > .sm-copy {
  border: 0;
  border-radius: 0;
  background: none;
  backdrop-filter: none;
}

#main [data-mgmfw-layout] > .site-header {
  position: relative;
  inset: auto;
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  width: 100%;
}

#main .mcp-luggage-layout:has([data-mgmfw-layout]) { grid-template-columns: minmax(0, 1fr); }

#main .template-campaign[data-mgmfw-edge] {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

#main .template-campaign[data-mgmfw-edge] > picture,
#main .template-campaign[data-mgmfw-edge] [data-mgmfw-image] {
  inset-inline: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  mask-image: none;
  object-fit: cover;
}

@media (min-width: 768px) {
  #main [data-mgmfw-layout][data-mgmfw-category-crop] {
    --mgmfw-frame-ratio: 1.8;
  }

  #main .mep-hero[data-mgmfw-layout] {
    grid-template: "photo" auto / minmax(0, 1fr);
  }

  #main .mep-hero[data-mgmfw-layout] > [data-mgmfw-copy] {
    grid-area: photo;
    align-self: center;
    width: min(45%, 620px);
    margin: 0;
  }

  #main .mep-hero [data-mgmfw-media]::after {
    display: block;
  }

  /* Very narrow source photos need a full-height presentation alongside the copy. */
  #main [data-mgmfw-layout][data-mgmfw-portrait] {
    grid-template: "copy photo" auto / minmax(0, 1fr) min(42vw, calc(76svh * var(--mgmfw-ratio)));
    align-items: center;
  }
}

@media (min-width: 1360px) {
  #main [data-mgmfw-layout][data-mgmfw-field] {
    grid-template: "photo" auto / minmax(0, 1fr);
  }

  #main [data-mgmfw-layout][data-mgmfw-field] > [data-mgmfw-copy] {
    grid-area: photo;
    align-self: start;
    justify-self: start;
    width: min(42%, 650px);
    margin: 0;
    padding-block-start: clamp(18px, 1.7vw, 30px);
  }

  #main [data-mgmfw-layout][data-mgmfw-field] .mcp-hero-content > ul {
    margin-block: .7em .85em;
  }

  #main [data-mgmfw-layout][data-mgmfw-field]::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    display: block;
    height: min(42%, 280px);
    background: linear-gradient(rgb(9 23 39 / 62%), transparent);
    pointer-events: none;
  }
}

@media (max-width: 700px) {
  #main [data-mgmfw-layout] > [data-mgmfw-copy] {
    padding: 18px 16px 22px;
  }

  #main .mcp-hero[data-mgmfw-layout] .mcp-hero-content h1 {
    margin: 0 0 .4em;
  }

  #main .mcp-hero[data-mgmfw-layout] .mcp-hero-content > ul {
    margin: 0 0 .8em;
  }
}
