/* Character integration: regular flow, scoped to the eight editorial pages. */
.character-entry.character-entry {
  display:grid;
  grid-template-columns:minmax(0,230px) minmax(0,1fr);
  align-items:center;
  gap:20px;
  border:0;
  background:transparent;
  padding-top:0;
}
.character-entry.character-entry > img {
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  margin:0;
}
.character-entry > div,
.character-guide-intro > div,
.character-invitation-copy { min-width:0; }
.character-households.character-households {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.character-households.character-households > article {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-width:0;
  gap:0;
}
.character-households.character-households > article > figure {
  width:min(100%,300px);
  margin:0 auto;
}
.character-households.character-households > article > figure img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
}
.character-story-context > figure,
.character-story-feature > figure {
  width:100%;
  max-width:480px;
  margin:0 auto;
  background:transparent;
  border:0;
}
.character-story-context > figure > img,
.character-story-feature > figure > img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
}
.character-guide-intro.character-guide-intro {
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  align-items:center;
  gap:32px;
}
.character-guide-intro > figure { grid-column:1;grid-row:1; }
.character-guide-intro > div { grid-column:2;grid-row:1; }
.character-decoration.character-decoration {
  width:100%;
  max-width:300px;
  margin:0 auto;
  background:transparent;
  border:0;
  pointer-events:none;
}
.character-decoration > img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  pointer-events:none;
}
.character-invitation.character-invitation {
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:32px;
  align-items:center;
}
@media (max-width:1000px) {
  .character-entry.character-entry { grid-template-columns:minmax(0,1fr); }
  .character-entry.character-entry > img { max-width:230px; }
}
@media (max-width:700px) {
  .character-entry.character-entry { gap:16px; }
  .character-entry.character-entry > img { width:min(100%,280px);max-width:280px; }
  .character-households.character-households { grid-template-columns:minmax(0,1fr);gap:36px; }
  .character-households.character-households > article { gap:16px; }
  .character-households.character-households > article > figure { width:min(100%,300px); }
  .character-guide-intro.character-guide-intro,
  .character-invitation.character-invitation { grid-template-columns:minmax(0,1fr);gap:24px; }
  .character-guide-intro.character-guide-intro { margin-bottom:24px;gap:12px; }
  .character-story-feature.character-story-feature { margin-top:40px;margin-bottom:56px; }
  .character-guide-intro > .character-decoration { grid-column:auto;grid-row:auto;max-width:160px; }
  .character-guide-intro > div { grid-column:auto;grid-row:auto; }
  .character-invitation > .character-decoration { max-width:262.5px; }
  .character-invitation > .character-decoration > img { max-height:210px; }
}

/* Keep supplied character cutouts free of inherited photo treatments. */
.character-entry.character-entry > img[src^="/characters/"],
.character-households.character-households > article > figure > img[src^="/characters/"],
.character-story-context > figure > img[src^="/characters/"],
.character-story-feature > figure > img[src^="/characters/"],
.character-decoration.character-decoration > img[src^="/characters/"] {
  aspect-ratio:auto;
  box-shadow:none;
  outline:0;
  border:0;
}

/* Restore full original household scenes within the existing card grid. */
.neighbors .character-households > article > figure {
  width:100%;
}
.neighbors .character-households > article > figure > img {
  width:100%;
  height:auto;
  aspect-ratio:auto!important;
  object-fit:contain;
}
