/* Shared reading rhythm. Loaded last so the original reset cannot join paragraphs. */
@media screen {
  main, main section, main article, main aside, main figure,
  main :is(.control-grid, .info-grid, .depth-grid, .editorial-columns) > * {
    min-width: 0;
  }

  body main :is(h1, h2, h3, h4) {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: manual;
    height: auto;
    max-height: none;
  }

  body main :is(h1, h2, h3, h4) + p {
    margin-block-start: 1rem !important;
  }

  body :is(main, footer) p + p {
    margin-block-start: 1.1em !important;
  }

  body main p:not(.eyebrow) + :is(h2, h3, h4) {
    margin-block-start: 1.4em !important;
  }

  body main .eyebrow {
    margin-block-end: .85rem;
    line-height: 1.65;
  }

  main p {
    word-break: normal;
    overflow-wrap: break-word;
  }

  main :is(ul, ol):not([class]) {
    padding-inline-start: 1.4em;
    margin-block: 1rem 1.4rem;
  }

  main :is(ul, ol):not([class]) > li + li {
    margin-block-start: .6em;
  }

  main :is(p, ul, ol) + :is(.tool-actions, .editorial-actions, .hero-buttons) {
    margin-block-start: 1.4rem;
  }

  main p + :is(a.blue-button, a.cream-button, a.outline-button, a.editorial-link) {
    margin-block-start: 1.1rem;
  }

  main .tool-actions + :is(p, ul, ol) {
    margin-block-start: 1.5rem;
  }

  main :is(.info-grid, .depth-grid, .refresh-grid, .editorial-columns) {
    row-gap: 2rem;
  }

  main :is(.info-grid, .depth-grid, .editorial-columns) > article > :first-child {
    margin-block-start: 0;
  }

  main :is(.info-grid, .depth-grid, .editorial-columns) > article > :last-child {
    margin-block-end: 0;
  }

  main .section-heading {
    row-gap: 1.25rem;
    margin-block-end: 2rem;
  }

  main .studio-tool > label + label,
  main .proposal-workspace fieldset > label + label {
    margin-block-start: 1.25rem;
  }

  main :is(.faq-answer, details) > p + p {
    padding-block-start: 0;
  }

  main details > summary + :is(p, div, ul, ol) {
    margin-block-start: 1rem;
  }

  main table :is(th, td) { line-height: 1.65; }
  main figcaption { overflow-wrap: break-word; }
  .studio-cover-copy > p + p { margin-block-start: 1.2em !important; }
  .studio-cover-copy .cover-footnote + p { margin-block-start: 1.4rem !important; }
  .screening-grid > div { display: flow-root; }
  .screening-grid h2 { margin-block: 1rem 1.35rem; }
  .screening-grid .screening-stamp { display: block; margin-block: 1.2rem; }

  /* Reserve the sticker's own space, including when the caption wraps. */
  .studio-cover-art {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    padding: 1.5rem .75rem 1rem;
  }
  .cover-photograph { min-width: 0; }
  .cover-photograph figcaption { padding: 1rem .3rem .2rem; }
  .cover-postmark {
    position: static;
    inset: auto;
    align-self: flex-end;
    width: fit-content;
    max-width: calc(100% - 12px);
    margin: .3rem .3rem .5rem;
    transform: rotate(-3deg);
    box-shadow: 4px 5px 0 #1b262c;
  }
  .cover-postmark img { flex: 0 0 72px; width: 72px; height: 78px; }
  .cover-postmark span { min-width: 0; }
  .history-places strong { display: block; margin-block-end: .45rem; }
  .history-gallery-note { margin-block-start: 1.5rem; }
  .section-anchor { display: block; scroll-margin-block-start: 1.5rem; }
  .studio-booking-facts p + p { margin-block-start: .9rem !important; }
  footer .footer-links { row-gap: 1rem; }
}

@media screen and (max-width: 800px) {
  /* No float beside the film heading: the artwork gets a separate row. */
  .screening-grid .screening-stamp {
    float: none;
    position: static;
    width: 84px;
    height: 84px;
    margin: 1.4rem 0 1.5rem;
  }
  body .screening-grid h2 {
    font-size: clamp(2.35rem, 8vw, 3.4rem) !important;
    max-width: none;
    width: 100%;
    line-height: 1.18 !important;
  }
  .studio-cover-grid { row-gap: 2.75rem; }
  .studio-cover-art { width: min(100%, 550px); gap: 1.75rem; }
  .cover-photograph { transform: rotate(1deg); }
  .cover-postmark { transform: rotate(-2deg); }
  .page-hero :is(h1, h2), .editorial-section > h2 { max-width: 100%; }
  .field-guide-main > :is(.editorial-section, .new-section) {
    padding-block: 2.5rem;
  }
  main .editorial-split { gap: 1.75rem; padding-block: 1.75rem; }
  main .chapter-photos { gap: 1rem; }
  main .visual-chapter, main .film-chapter { row-gap: 2rem; }
  main :is(.control-grid, .addon-grid) { row-gap: 1.5rem; }
  main .section-heading { align-items: start; }
}

@media screen and (max-width: 540px) {
  body main :is(h1, h2, h3, h4) { overflow-wrap: break-word; }
  /* Keep headline words intact at common phone widths. */
  body .studio-cover h1 { font-size: clamp(2.7rem, 10.4vw, 3.6rem) !important; }
  body .page-hero h1 { font-size: clamp(2.25rem, 8.8vw, 2.8rem) !important; }
  .page-hero h1 br { display: none; }
  body .screening-grid h2 { overflow-wrap: normal; }
  .screening-grid, .studio-cover-copy { min-width: 0; }
  .cover-postmark { padding: .6rem .85rem; gap: .8rem; }
  .cover-postmark img { flex-basis: 56px; width: 56px; height: 62px; }
  .cover-postmark span { font-size: .62rem; line-height: 1.9; letter-spacing: .08em; }
  .cover-photograph figcaption { font-size: 1.15rem; line-height: 1.5; }
  .chapter-index h2 br, .plan-desk h2 br, .studio-team-note h2 br { display: none; }
  .closing-chapter { overflow: visible; }
  .closing-chapter > div { min-width: 0; }
  .closing-chapter .chapter-secondary { display: block; margin: 1.25rem 0 0; }
  .closing-chapter .blue-button, .closing-chapter .cream-button { max-width: 100%; }
  main .info-grid, main .editorial-columns { grid-template-columns: minmax(0, 1fr); }
  main .tool-actions { gap: .9rem; }
}

/* One session image, one useful planning note. */
.engagement-guide-images:has(>img:only-child){display:block}.engagement-guide-images>img:only-child{display:block;width:100%;max-width:720px;height:auto;margin-inline:auto}
