/* A portrait plate and a single reading column, set on the magazine paper. */
.lgm-home-mag .lgx-portrait {
  --portrait-wine: var(--claret, #7a1b2a);
  width: min(1000px, calc(100% - 2 * clamp(16px, 4.4vw, 64px)));
  margin: clamp(44px, 6vw, 86px) auto clamp(18px, 2vw, 30px);
  padding: clamp(28px, 4vw, 54px) clamp(0px, 2vw, 28px);
  border-block: 1px solid #bcafa2;
  display: grid;
  grid-template-columns: minmax(0, 268px) minmax(0, 1fr);
  grid-template-areas: 'portrait story' 'portrait contact';
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: clamp(36px, 6vw, 84px);
  row-gap: clamp(18px, 2vw, 28px);
  scroll-margin-top: 3rem;
}
.lgx-portrait .lgx-portrait-photo {
  grid-area: portrait;
  align-self: center;
  margin: 0;
}
.lgx-portrait-photo > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
}
.lgx-portrait-photo figcaption {
  padding: 14px 0 0;
  color: var(--ink, #231d19);
  text-align: left;
}
.lgx-portrait .lgx-portrait-byline {
  margin: 0;
  font: 500 clamp(24px, 2vw, 29px)/1.1 var(--f-display, Georgia, serif);
  letter-spacing: -.015em;
}
.lgx-portrait-byline a { color: inherit; text-decoration: none; }
.lgx-portrait-byline a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.lgx-portrait-photo .lgm-about-role {
  margin: 6px 0 0; color: inherit; font: 400 14px/1.4 var(--f-body, Georgia, serif);
}
.lgx-portrait-story { grid-area: story; align-self: end; }
.lgx-portrait .lgm-hm-kicker {
  color: var(--portrait-wine); margin: 0 0 16px; display: flex; align-items: center; gap: 14px;
  font: 600 11px/1.4 var(--f-label, sans-serif); letter-spacing: .19em; text-transform: uppercase;
}
.lgx-portrait-story .lgm-hm-kicker::before { content: ''; width: 38px; height: 1px; background: currentColor; }
.lgx-portrait .lgm-about-title {
  margin: 0 0 clamp(20px, 2vw, 28px);
  font: 500 clamp(36px, 3.7vw, 52px)/1.05 var(--f-display, Georgia, serif); letter-spacing: -.036em;
  color: var(--ink, #231d19); text-wrap: balance;
}
.lgx-portrait .lgm-about-l { display: block; white-space: normal; }
.lgx-portrait .lgm-about-l + .lgm-about-l { color: var(--portrait-wine); font-style: italic; }
.lgx-portrait .lgm-about-lead {
  font: 400 clamp(18px,1.44vw,20px)/1.52 var(--f-body, Georgia, serif); color: var(--ink, #231d19);
  max-width: 46ch; margin: 0 0 15px; text-wrap: pretty;
}
.lgx-portrait .lgm-about-more { margin: 0; }
.lgx-portrait .lgm-line-link {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0;
  color: var(--portrait-wine) !important; border-bottom: 1px solid currentColor;
  font: 600 11px/1.45 var(--f-label, sans-serif); letter-spacing: .14em;
}
.lgx-portrait-contact { grid-area: contact; border-top: 1px solid #c6b8a9; padding: 14px 0 0; }
.lgx-portrait-contact .lgm-hm-kicker { margin: 0 0 2px; }
.lgx-portrait-contact .lgm-about-contact {
  display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 0; margin: 0; padding: 0; list-style: none;
  font: 400 clamp(16px,1.4vw,20px)/1.35 var(--f-body, Georgia, serif);
}
.lgx-portrait-contact .lgm-about-contact a { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.lgx-portrait-contact .lgm-about-reviews { margin: 0; padding: 0; border: 0; }
.lgx-portrait-contact .lgm-about-reviews a { font-size: 10px; letter-spacing: .12em; }
.lgx-portrait :focus-visible { outline: 2px solid var(--portrait-wine); outline-offset: 4px; }
@media (max-width: 760px) {
  .lgm-home-mag .lgx-portrait {
    max-width: 560px; grid-template-columns: minmax(0,1fr);
    grid-template-areas: 'story' 'portrait' 'contact'; grid-template-rows: auto;
    gap: 24px; margin-top: 36px; padding-block: 24px;
  }
  .lgx-portrait-story { padding: 0; }
  .lgx-portrait .lgm-about-title { font-size: clamp(35px, 7.6vw, 54px); margin-bottom: 16px; }
  .lgx-portrait .lgm-hm-kicker { margin-bottom: 12px; }
  .lgx-portrait .lgm-about-lead { font-size: 18px; margin-bottom: 10px; }
  .lgx-portrait .lgx-portrait-photo {
    display: grid;
    grid-template-columns: clamp(88px, 27vw, 124px) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
  }
  .lgx-portrait-photo figcaption { padding: 0; }
  .lgx-portrait .lgx-portrait-byline { font-size: 25px; }
  .lgx-portrait-contact { padding: 0; border-top: 0; }
  .lgx-portrait-contact .lgm-hm-kicker { margin-bottom: 0; }
}
