/* Extra editorial layouts for image-heavy appreciation articles. */
.plain-contact,
.plain-contact a{
  color:inherit!important;
  text-decoration:none!important;
  -webkit-text-fill-color:currentColor;
}

.article-kicker{
  margin:68px 0 24px;
  color:var(--accent);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
}

.interview{
  width:min(100vw - 28px,920px);
  margin:52px 50% 66px;
  transform:translateX(-50%);
  display:grid;
  gap:18px;
}
.qa-pair{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--paper) 96%,var(--accent) 4%);
  box-shadow:0 10px 28px rgba(36,25,16,.035);
}
.qa{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  padding:23px 26px;
  border:0;
  border-radius:0;
  background:transparent;
}
.qa.answer{
  margin:0;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
  background:color-mix(in srgb,var(--paper) 98%,var(--ink) 2%);
}
.qa-label{
  color:var(--accent);
  font:600 18px/1.45 Georgia,"Times New Roman",serif;
}
.qa p{margin:0;font-size:16px;line-height:1.82}

.gallery-spread{
  width:min(100vw - 28px,960px);
  margin:48px 50% 60px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.gallery-spread.single{grid-template-columns:minmax(0,1fr)}
.gallery-spread.triple{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-spread img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  border-radius:16px;
  background:var(--matte);
  box-shadow:0 12px 34px rgba(36,25,16,.10);
  cursor:zoom-in;
}
.gallery-spread.natural img{height:auto;object-fit:contain}
.gallery-spread.show-full{align-items:stretch}
.gallery-spread.show-full img{height:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;background:color-mix(in srgb,var(--matte) 72%,var(--paper))}
.gallery-spread.landscape-pair img{aspect-ratio:4/3}
.gallery-spread.landscape-pair.show-full img{aspect-ratio:4/3}
.gallery-spread.portrait-ledger img{aspect-ratio:3/4;object-position:center 22%}
.gallery-spread.portrait-ledger.show-full img{aspect-ratio:4/3;object-position:center}

/* Image-led spreads: show the source image itself, without a tinted card. */
.gallery-spread.bare-gallery{
  align-items:start;
  gap:22px;
}
.gallery-spread.bare-gallery img{
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px;
  background:transparent!important;
  box-shadow:none;
}

.stack-gallery{
  width:min(100vw - 28px,900px);
  margin:48px 50% 60px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:28px;
}
.stack-gallery img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  background:transparent;
  box-shadow:none;
  cursor:zoom-in;
}
.stack-gallery.action-stack,
.stack-gallery.compact-stack{width:min(100vw - 28px,760px)}

.variety5-collage{
  width:min(100vw - 28px,960px);
  margin:48px 50% 60px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  grid-template-rows:repeat(2,330px);
  gap:16px;
}
.variety5-collage .media-cell{
  overflow:hidden;
  border-radius:16px;
  background:transparent;
}
.variety5-collage .media-cell.portrait{
  grid-column:2;
  grid-row:1 / span 2;
}
.variety5-collage .media-cell.portrait img{
  transform:scale(1.035);
}
.variety5-collage img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  cursor:zoom-in;
}
.variety5-collage .crop-right img{
  transform:scale(1.055);
  transform-origin:left center;
}

.profile-ledger{
  width:min(100vw - 28px,1040px);
  margin:48px 50% 68px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}
.profile-card{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--paper) 96%,var(--accent) 4%);
  box-shadow:0 12px 34px rgba(36,25,16,.055);
}
.profile-ledger.bare-profiles{
  width:min(100vw - 36px,1120px);
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px 24px;
}
.profile-ledger.bare-profiles .profile-card{
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.profile-ledger.bare-profiles .profile-card img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
}
.profile-ledger.bare-profiles .profile-copy{padding:15px 2px 0}
.profile-ledger.bare-profiles .profile-copy strong{margin-bottom:8px;font-size:19px}
.profile-ledger.bare-profiles .profile-copy span{font-size:14px;line-height:1.78}
.profile-card img{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center 22%;
  cursor:zoom-in;
}
.profile-ledger.show-full .profile-card img{aspect-ratio:4/3;object-fit:contain;object-position:center;background:var(--matte)}
.profile-ledger.show-full.bare-profiles .profile-card img{
  width:100%;
  height:clamp(460px,55vw,620px);
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  background:transparent;
  box-shadow:none;
}

.gallery-spread.matched-gallery{
  align-items:stretch;
}
.gallery-spread.matched-gallery img{
  height:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  background:transparent;
  box-shadow:none;
}
.profile-copy{padding:19px 19px 21px}
.profile-copy strong{
  display:block;
  margin-bottom:10px;
  color:var(--ink);
  font-size:20px;
  font-weight:600;
  line-height:1.4;
}
.profile-copy span{
  display:block;
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
}

.pull-quote{
  width:min(100%,720px);
  margin:52px auto 58px;
  padding:28px 30px;
  border-left:2px solid var(--accent);
  background:color-mix(in srgb,var(--paper) 95%,var(--accent) 5%);
  color:color-mix(in srgb,var(--ink) 90%,var(--muted));
  font-size:17px;
  line-height:1.9;
}
.article-deck{margin:13px auto 5px!important;color:var(--accent)!important;font-size:15px!important;letter-spacing:.18em;text-align:center}

/* No.52 follows the compact information treatment used by earlier issues. */
.source-facts.compact-facts{
  width:min(100%,760px)!important;
  margin:50px auto 58px!important;
  padding:24px!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(36,25,16,.045)!important;
}
.source-facts.compact-facts .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.source-facts.compact-facts .fact{
  min-height:82px!important;
  padding:15px 17px!important;
  border-radius:13px!important;
}
.source-facts.compact-facts .fact span{margin-bottom:4px!important;font-size:11px!important;letter-spacing:.065em!important}
.source-facts.compact-facts .fact strong{font-size:17px!important;font-weight:550!important;line-height:1.55!important}
.interview-hero{margin-top:40px;margin-bottom:48px}
.interview-hero .image-frame{overflow:hidden;border-radius:14px}
.interview-hero .image-frame img{border-radius:14px;box-shadow:none}

body.night .gallery-spread img,
body.night .profile-card img{filter:brightness(.9)}

@media(max-width:760px){
  .interview,
  .gallery-spread,
  .profile-ledger,
  .stack-gallery{
    width:100%;
    margin-right:0;
    margin-left:0;
    transform:none;
  }
  .interview{gap:14px;margin-top:38px;margin-bottom:50px}
  .qa-pair{border-radius:14px}
  .qa{grid-template-columns:35px minmax(0,1fr);gap:12px;padding:19px 18px;border-radius:14px}
  .qa p{font-size:15px;line-height:1.78}
  .gallery-spread{gap:10px;margin-top:36px;margin-bottom:43px}
  .gallery-spread.bare-gallery{gap:12px}
  .stack-gallery{gap:16px;margin-top:36px;margin-bottom:43px}
  .stack-gallery.compact-stack{width:92%;margin-right:auto;margin-left:auto}
  .variety5-collage{
    width:100%;
    margin:38px 0 46px;
    transform:none;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
    gap:14px;
  }
  .variety5-collage .media-cell,
  .variety5-collage .media-cell.portrait{grid-column:auto;grid-row:auto;border-radius:12px}
  .variety5-collage img{height:auto;object-fit:contain}
  .variety5-collage .media-cell.portrait img{transform:scale(1.018)}
  .variety5-collage .crop-right img{transform:scale(1.025);transform-origin:left center}
  .gallery-spread.triple{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-spread img{border-radius:12px}
  .profile-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:38px;margin-bottom:52px}
  .profile-ledger.bare-profiles{gap:30px 12px}
  .profile-ledger.show-full.bare-profiles .profile-card img{height:clamp(360px,62vw,520px)}
  .profile-card{border-radius:14px}
  .profile-copy{padding:14px 14px 16px}
  .profile-copy strong{font-size:17px}
  .profile-copy span{font-size:12px;line-height:1.72}
  .pull-quote{margin:39px auto 45px;padding:22px 21px;font-size:15px}
  .source-facts.compact-facts{padding:16px!important}
  .source-facts.compact-facts .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .source-facts.compact-facts .fact{min-height:74px!important;padding:13px 12px!important}
  .source-facts.compact-facts .fact strong{font-size:16px!important}
  .interview-hero{margin-top:30px;margin-bottom:38px}
}

@media(max-width:430px){
  .gallery-spread:not(.keep-pair),
  .gallery-spread.triple{grid-template-columns:minmax(0,1fr)}
  .gallery-spread.show-full{grid-template-columns:minmax(0,1fr)!important}
  .gallery-spread.show-full img{height:auto;aspect-ratio:auto}
  .profile-ledger.bare-profiles{grid-template-columns:minmax(0,1fr)}
  .profile-ledger.show-full.bare-profiles .profile-card img{height:min(118vw,470px)}
}
