/* Full compositions: retain the original aspect ratio and every character.
   Loaded after thyranya.css; scoped to the world/support artwork placements. */
#subheader.thy-scene-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: 0;
  margin-bottom: -16px;
  isolation: isolate;
}
.thy-scene-header > .thy-scene-image {
  display: block;
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  -webkit-mask-image: linear-gradient(#000 calc(100% - 32px), transparent);
  mask-image: linear-gradient(#000 calc(100% - 32px), transparent);
}
.thy-scene-header > .container {
  grid-area: 1 / 1;
  align-self: start;
  position: relative;
}
.thy-scene-header .thy-subheader-inner { padding: 110px 0 16px; }
.thy-scene-header h1 { font-size: clamp(2.2rem, 3.5vw, 3.6rem); margin-bottom: 16px; }
.thy-scene-header .thy-lead { margin-bottom: 0; }
#subheader.thy-scene-header::after {
  background: linear-gradient(rgba(13, 16, 20, .82), rgba(13, 16, 20, .5) 30%, transparent 56%);
}
#subheader.thy-scene-header + section { position: relative; background: transparent; }
#subheader.thy-scene-header + section > .container { padding-top: 28px; }

/* A landscape scene replaces the square portrait in the home support panel. */
.thy-support-scene { grid-template-columns: 1fr 1.25fr; gap: 28px; }
.thy-support-scene .thy-cta-panel-art { display: block; }
.thy-support-scene .thy-cta-panel-art img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  border-radius: 8px;
}
.thy-hub-art.thy-scene-thumbnail { aspect-ratio: 1672 / 941; }
.thy-hub-art.thy-scene-thumbnail img { height: auto; object-fit: contain; }

@media (max-width: 1399px) {
  /* Separate copy from the full image before the two can overlap the faces. */
  .thy-scene-header > .container { grid-area: 1 / 1; }
  .thy-scene-header > .thy-scene-image {
    grid-area: 2 / 1;
    -webkit-mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 12px), transparent);
    mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 12px), transparent);
  }
  #subheader.thy-scene-header::after { display: none; }
  #subheader.thy-scene-header { margin-bottom: -6px; }
  .thy-scene-header .thy-subheader-inner { padding: 120px 0 28px; }
  .thy-support-scene { grid-template-columns: minmax(0, 1fr); }
  .thy-support-scene .thy-cta-panel-art { grid-row: 1; }
}
