/* Original brand vectors complement the existing responsive photographs. */
.site-photo-2d-intro {
  grid-template-columns: 1.12fr 1fr;
  gap: 0;
  align-items: stretch;
  background: var(--site-paper);
}
.site-photo-2d-intro .site-editorial-picture {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
  border-radius: var(--panel-radius, 0px) 0 0 var(--panel-radius, 0px);
}
.site-photo-2d-intro .site-editorial-picture::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.site-photo-2d-intro .site-editorial-picture > picture {
  position: absolute;
  inset: 0;
  display: block;
}
body.smish-site .site-photo-2d-intro .site-editorial-picture > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}
.site-photo-2d-intro .site-editorial-copy { padding: 38px 40px; }
.site-photo-2d-intro .site-editorial-copy h2 { font-size: clamp(30px, 3vw, 44px); }
.site-photo-2d-intro .site-editorial-picture > .site-character-mini {
  position: absolute;
  left: 22px;
  bottom: 12px;
  width: 86px;
  height: 118px;
  aspect-ratio: auto;
  object-fit: contain;
}
.site-photo-2d-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-photo-2d-grid .site-character-image {
  position: relative;
  overflow: visible;
}
.site-photo-2d-grid .site-character-image > .site-responsive-picture > img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}
.site-photo-2d-grid .site-character-image > .site-character-mini {
  position: absolute;
  right: 12px;
  bottom: -22px;
  width: 76px;
  height: 104px;
  aspect-ratio: auto;
  object-fit: contain;
}
.site-photo-2d-grid .site-character-copy { padding-top: 34px; }
.site-photo-2d-grid .site-character h2 { font-size: 23px; padding-right: 58px; }
.site-photo-2d-grid .site-character p { font-size: 15px; }
.site-character .site-character-wordmark {
  display: block;
  max-width: 160px;
  width: auto;
  height: 34px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 17px;
}
.site-character-duo {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 0;
  align-items: stretch;
  margin-top: 64px;
  background: var(--site-paper);
}
.site-character-duo .site-character-image {
  position: relative;
  min-width: 0;
  padding-bottom: 0;
  overflow: hidden;
  border-radius: var(--panel-radius, 0px) 0 0 var(--panel-radius, 0px);
}
.site-character-duo .site-character-image::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.site-character-duo .site-character-image > picture {
  position: absolute;
  inset: 0;
  display: block;
}
body.smish-site .site-character-duo .site-character-image > picture > img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}
.site-character-duo .site-character-mini-pair {
  position: absolute;
  left: 16px;
  bottom: 12px;
  display: flex;
  align-items: flex-end;
  gap: 2px;
}
.site-character-duo .site-character-mini-pair > .site-character-mini {
  width: 66px;
  height: 103px;
  aspect-ratio: auto;
  object-fit: contain;
}
.site-character-duo .site-character-copy { padding: 36px 40px; }
.site-character-duo .site-character-wordmark { width: 205px; max-width: 100%; height: 54px; margin-bottom: 25px; }
.site-character-duo h2 { font-size: 30px; }
@media (max-width: 1040px) {
  .site-photo-2d-intro { grid-template-columns: minmax(0, 1fr); }
  .site-photo-2d-intro .site-editorial-picture { border-radius: var(--panel-radius, 0px) var(--panel-radius, 0px) 0 0; }
  .site-photo-2d-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-photo-2d-intro .site-editorial-copy,
  .site-character-duo .site-character-copy { padding: 28px; }
  .site-character-duo p { font-size: 15px; }
}
/* Keep both characters in view when a two-column crop becomes too narrow. */
@media (max-width: 900px) {
  .site-character-duo { grid-template-columns: minmax(0, 1fr); }
  .site-character-duo .site-character-image { border-radius: var(--panel-radius, 0px) var(--panel-radius, 0px) 0 0; }
}
@media (max-width: 700px) {
  .site-photo-2d-intro,
  .site-character-duo { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .site-photo-2d-intro .site-editorial-picture { padding-bottom: 0; }
  .site-photo-2d-intro .site-editorial-picture > .site-character-mini { left: 15px; bottom: 10px; width: 73px; height: 100px; }
  .site-photo-2d-intro .site-editorial-copy { padding: 17px 24px 30px; }
  .site-photo-2d-intro .site-editorial-copy h2 { font-size: 32px; }
  .site-photo-2d-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .site-photo-2d-grid .site-character-image > .site-character-mini { right: 14px; width: 80px; height: 110px; }
  .site-photo-2d-grid .site-character h2 { font-size: 24px; }
  .site-character-duo { margin-top: 48px; }
  .site-character-duo .site-character-image { padding-bottom: 0; border-radius: var(--panel-radius, 0px) var(--panel-radius, 0px) 0 0; }
  .site-character-duo .site-character-mini-pair { left: 12px; bottom: 10px; }
  .site-character-duo .site-character-mini-pair > .site-character-mini { width: 52px; height: 82px; }
  .site-character-duo .site-character-copy { padding: 18px 24px 30px; }
  .site-character-duo .site-character-wordmark { width: 185px; height: 48px; margin-bottom: 22px; }
  .site-character-duo h2 { font-size: 28px; }
}
