/* Desktop Story: supplied four-section references. Mobile rules live separately. */
@media (min-width: 960px) {
  .story-page .story-cover,
  .story-page .story-beginning,
  .story-page .story-idea,
  .story-page .story-evolved {
    color: #171714;
    font-family: var(--font-serif);
  }
  .story-page .story-cover h1,
  .story-page .story-idea h2,
  .story-page .story-evolved h2 {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
  }
  .story-page .story-cover figure,
  .story-page .story-beginning figure,
  .story-page .story-idea figure,
  .story-page .story-evolved figure { margin: 0; min-width: 0; }

  .story-page .story-cover { background: #f7f4ee; }
  .story-page .story-cover__heading {
    padding: clamp(3.5rem, 6.6vw, 6rem) 2rem;
    text-align: center;
  }
  .story-page .story-cover__eyebrow {
    margin: 0 0 1.5rem;
    color: #606b58;
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.3em;
  }
  .story-page .story-cover h1 {
    font-size: clamp(3.5rem, 5.7vw, 6rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
  }
  .story-page .story-cover__sub {
    margin: 1.5rem auto 0;
    color: #58554e;
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    line-height: 1.5;
  }
  /* Match the navigation's inset within the same centered page width. */
  .story-page .story-cover__image { padding-inline: clamp(2rem, 6vw, 7rem); }
  .story-page .story-cover__image img {
    display: block;
    width: 100%;
    height: auto;
  }

  .story-page .story-beginning {
    padding: clamp(4rem, 6vw, 6rem) 0;
    background: #f7f4ee;
  }
  .story-page .story-beginning__wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    align-items: stretch;
    gap: clamp(3rem, 6.5vw, 6rem);
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 clamp(2rem, 6vw, 7rem);
  }
  .story-page .story-beginning__copy { min-width: 0; }
  .story-page .story-beginning__prose { margin-top: 0; }
  .story-page .story-beginning__prose p {
    margin: 0 0 1.5rem;
    color: #58554e;
    font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
    line-height: 1.7;
  }
  .story-page .story-beginning__prose p:first-child::first-letter {
    float: left;
    margin: 0.03em 0.16em 0 0;
    color: #171714;
    font-size: 3.65em;
    line-height: 0.9;
  }
  .story-page .story-beginning__prose .story-beginning__closing { margin: 2rem 0 0; color: #171714; }
  /* The copy sets the row height; the photo no longer adds portrait-height whitespace. */
  .story-page .story-beginning__image { position: relative; min-height: 0; }
  .story-page .story-beginning__image img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    /* Use the desktop photograph, uniformly scaled and cropped to the reference. */
    object-fit: cover;
    object-position: 50% 61.2%;
  }

  .story-page .story-idea {
    margin: 0;
    padding: 0;
    background: #f7f4ee;
    color: #1f1e1b;
  }
  .story-page .story-idea__wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 clamp(2rem, 6vw, 7rem);
  }
  .story-page .story-idea__image img {
    display: block;
    width: min(100%, 31rem);
    height: auto;
    margin: 0;
  }
  .story-page .story-idea__copy { min-width: 0; }
  .story-page .story-idea h2 {
    font-size: clamp(2rem, 3.5vw, 3.5rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
  .story-page .story-idea p {
    max-width: none;
    margin: 1.5rem 0 0;
    color: #4a4945;
    font-size: clamp(1rem, 1.5vw, 1.35rem);
    line-height: 1.45;
  }
  .story-page .story-idea h2 + p { margin-top: clamp(2rem, 3.3vw, 3rem); }

  .story-page .story-evolved { padding: clamp(4rem, 6.5vw, 6rem) 0; background: #f7f4ee; }
  .story-page .story-evolved__wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 clamp(2rem, 3vw, 3rem);
  }
  .story-page .story-evolved__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    align-items: end;
    gap: 4rem;
    padding: 0 6vw 0 8vw;
  }
  .story-page .story-evolved h2 {
    font-size: clamp(3.25rem, 5.8vw, 5.5rem);
    line-height: 0.9;
    letter-spacing: -0.065em;
  }
  .story-page .story-evolved__heading p {
    justify-self: end;
    max-width: 18rem;
    margin: 0;
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    line-height: 1.45;
  }
  .story-page .story-evolved .story-evolved__image {
    position: relative;
    width: 85%;
    margin: clamp(4rem, 8.4vw, 8rem) 0 0 auto;
  }
  .story-page .story-evolved__image img { display: block; width: 100%; height: auto; }
  .story-page .story-evolved__image figcaption {
    position: absolute;
    right: 1.5rem;
    bottom: 1.25rem;
    color: #fffdf5;
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.08em;
  }
}
