/* Isolated Shared Light refinement: shared grid rows keep the heading in flow. */
.shared-light {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto auto;
  align-content: start;
  row-gap: 18px;
  width: 88%;
  max-width: 820px;
  min-height: 900px;
  margin-inline: auto;
  padding: 40px 0 34px;
}
.shared-light h2 {
  display: grid;
  grid-template-rows: subgrid;
  grid-column: 1;
  grid-row: 1 / 4;
  margin: 0;
  min-width: 0;
  font-weight: 400;
}
.shared-light .a-born {
  grid-row: 1;
  font-size: clamp(32px, 3vw, 42px);
  line-height: 1.2;
  text-align: left;
}
.shared-light .a-photo {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: none;
  height: clamp(300px, 31.25vw, 450px);
  margin: 0;
}
.shared-light .a-connection {
  grid-row: 3;
  position: static;
  width: auto;
  padding: 0;
  font-size: clamp(48px, 5.28vw, 76px);
  line-height: 1.05;
  text-align: left;
  text-wrap: balance;
}
.shared-light .a-reading {
  grid-column: 1;
  grid-row: 4;
  min-width: 0;
  width: 100%;
  max-width: none;
  margin: 12px 0 0;
  gap: 40px;
  font-size: 20px;
  line-height: 1.5;
}
.shared-light .a-action {
  grid-column: 1;
  grid-row: 5;
  margin: 0;
  width: 100%;
  max-width: none;
}
@media (max-width: 900px) {
  .shared-light .a-reading { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
/* Keep the tablet editorial pause proportional to its shorter content. */
@media (min-width: 701px) and (max-width: 900px) {
  .shared-light { min-height: 0; padding-bottom: 72px; }
}
@media (max-width: 700px) {
  .shared-light {
    width: 100%;
    max-width: none;
    min-height: 844px;
    padding: 27px 22px 24px;
    row-gap: 16px;
  }
  .shared-light .a-born { font-size: 31px; }
  .shared-light .a-photo { width: calc(100% + 22px); height: 300px; }
  .shared-light .a-connection {
    font-size: clamp(44px, 14.1vw, 55px);
    line-height: 1;
    text-wrap: initial;
  }
  .shared-light .a-reading { display: grid; margin-top: 0; font-size: 17px; line-height: 1.5; }
  .shared-light .a-reading p + p { margin-top: 0; }
}

.shared-light h2 { font-family: Source, Georgia, serif; }
.shared-light .a-born, .shared-light .a-connection { color: var(--wine); }
.shared-light .a-connection { font-family: Brasilero, sans-serif; }
.shared-light .a-reading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.shared-light .a-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 43%; }
.shared-light .story { display:inline-flex; align-items:center; gap:30px; min-height:44px; font-size:18px; border-bottom:1px solid currentColor; padding:6px 0; }
.shared-light .story:hover { text-decoration:underline; }
.shared-light .story:focus-visible { outline:3px solid currentColor; outline-offset:6px; }
.shared-light .a-photo { --landing-distance:8px; --landing-duration:400ms; }
.shared-light .a-photo.is-landing-ready { transform:translateY(var(--landing-distance)); }
.shared-light .a-photo.is-landing { transform:translateY(0); transition:transform var(--landing-duration) cubic-bezier(.22,.61,.36,1); }
@media(max-width:1024px) { .shared-light .a-photo { --landing-distance:6px; --landing-duration:300ms; } }
@media(max-width:900px) { .shared-light .a-reading { grid-template-columns:minmax(0,1fr); } }
@media(max-width:700px) {
 .shared-light .a-photo { --landing-distance:5px; --landing-duration:250ms; }
 .shared-light .a-photo img { object-position:50% 42%; }
 .shared-light .story { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .shared-light .a-photo.is-landing-ready,.shared-light .a-photo.is-landing { transform:none; transition:none; } }
