/* Corrections ciblées, sans changement de palette ni de structure générale. */
/* Keep generous outer margins without splitting the hero on very wide screens. */
@media (min-width: 1600px) {
  .home-hero {
    width: calc(100% - 96px);
    max-width: 1800px;
    margin-inline: auto;
    min-height: 0;
    padding-block: 80px;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(48px, 4vw, 96px);
  }
  .home-hero-copy { padding: 0; }
  .home-hero-visual { width: 100%; justify-self: stretch; }
  .home-hero .hero-index { left: 0; bottom: 20px; padding-left: 0; }
}
/* Align calls to action even when the editorial excerpts differ in length. */
/* Keep lower home sections on the content grid on wide displays.
   Backgrounds remain full bleed; mobile/tablet layouts stay unchanged. */
@media (min-width: 1600px) {
  .home .artist-focus {
    padding-inline: max(22px, calc((100% - var(--max)) / 2));
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    column-gap: 64px;
  }
  .home .artist-focus > div { padding: 64px 0; }
  .home .visit-banner {
    width: min(calc(100% - 44px), var(--max));
    margin-inline: auto;
  }
  .site-footer {
    padding-inline: max(22px, calc((100% - var(--max)) / 2));
  }
  .footer-grid { column-gap: 64px; }
}
/* An inner heading already inherits its page's outer margins. */
.page-hero--inner { width: 100%; min-width: 0; padding-inline: 0; }
.page-hero--inner h1 { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .legal-page .page-hero--inner h1 { font-size: clamp(32px, 10vw, 48px); }
}
.artwork-single > .content-wrap { width: 100%; }
/* The same reading grid applies to detail pages on wide displays. */
@media (min-width: 1600px) {
  .gallery-hero {
    width: calc(100% - 96px);
    max-width: 1800px;
    margin-inline: auto;
    min-height: 0;
    padding-block: 80px;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(48px, 4vw, 96px);
  }
  .gallery-hero > div { padding: 0; }
  .gallery-hero h1 { font-size: clamp(72px, 6vw, 116px); }
  .gallery-hero > figure { width: 100%; justify-self: stretch; }
  .artist-hero:not(.artist-hero--no-portrait),
  .event-hero,
  .contact-page {
    width: min(calc(100% - 44px), var(--max));
    margin-inline: auto;
  }
  .artist-hero:not(.artist-hero--no-portrait) {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 64px;
    align-items: center;
  }
  .artist-hero:not(.artist-hero--no-portrait) > figure { height: 820px; }
  .artist-hero:not(.artist-hero--no-portrait) > div { padding: 64px 0; }
  .event-hero {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 64px;
  }
  .event-hero > div { padding: 64px 0; }
  .event-hero > figure { min-width: 0; overflow: hidden; }
  .event-hero > figure img { position: absolute; inset: 0; }
  .contact-page { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .contact-intro { padding: 64px; }
  .contact-form-wrap { padding: 64px 0 64px 64px; min-width: 0; }
  .artwork-info h1 { font-size: clamp(52px, 4.8vw, 76px); }
  .practical { padding-inline: max(22px, calc((100% - var(--max)) / 2)); column-gap: 96px; }
  .practical > div { padding: 80px 0; min-width: 0; }
  .artist-story > div + div { padding-left: 64px; }
  .artist-story,
  .gallery-story,
  .event-details,
  .story-full,
  .artwork-gallery-heading,
  .home-newsletter { column-gap: 96px; }
}
.home-story-grid > article > a { display: flex; flex-direction: column; height: 100%; }
.home-story-grid > article > a > figure { flex: 0 0 auto; }
.home-story-grid > article > a > div { display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
.home-story-grid .text-link { margin-top: auto; }
.home-story-grid .story-context:empty { display: none; }
.home-stories + .home-categories { border-top: 1px solid var(--line); }
.art-card-meta .art-card-commercial { margin-top: 8px; }
.event-row .event-date-range { font-size: 13px; line-height: 1.5; }
/* An absent portrait should not occupy a full screen. */
.artist-hero.artist-hero--no-portrait {
  width: calc(100% - 44px);
  max-width: var(--max);
  margin-inline: auto;
  height: auto;
  min-height: 0;
  padding-block: clamp(55px, 6vw, 100px);
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: center;
}
.artist-hero--no-portrait > figure { height: 220px; min-height: 0; }
.artist-hero--no-portrait > div { padding: 0; min-height: 0; }
.artist-hero--no-portrait .artist-portrait-placeholder { min-height: 0; }
.artist-hero--no-portrait .artist-portrait-placeholder > span { font-size: 64px; }
.artist-hero--no-portrait .artist-portrait-placeholder small { display: none; }
.artist-hero--no-portrait h1 { font-size: clamp(42px, 5vw, 80px); }
@media (max-width: 760px) {
  .artist-hero.artist-hero--no-portrait { grid-template-columns: 1fr; gap: 28px; }
  .artist-hero--no-portrait > figure { order: 0; width: 80px; height: 80px; }
  .artist-hero--no-portrait .artist-portrait-placeholder > span { font-size: 28px; }
}
.home-story-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-story-grid:has(> article:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-story-grid article:first-child { grid-column: auto; }
.home-story-grid figure { height: clamp(220px, 24vw, 380px); aspect-ratio: auto; }
.home-story-grid figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 760px) {
  .home-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .home-story-grid,
  .home-story-grid:has(> article:nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); }
}
.artwork-specs > div { column-gap: 20px; }
.home-newsletter .hda-newsletter-form label:first-of-type span { color: var(--muted); }
.art-card-commercial { color: var(--ink); font-size: 13px; margin-top: 8px; }
.recommendation-artist { color: var(--muted); margin: 8px 0 0; font-size: 14px; }
.catalogue-filter-panel > summary { display: none; }
@media (min-width: 1600px) {
  .manifesto-grid { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 6vw; align-items: center; }
  .manifesto-grid h2 { font-size: clamp(42px, 2.5vw, 54px); line-height: 1.12; }
}
@media (max-width: 700px) {
  .catalogue-filter-panel > summary { display: list-item; cursor: pointer; padding: 16px 18px; background: var(--paper-2); font-size: 14px; }
  .catalogue-filter-panel { border-bottom: 1px solid var(--line); }
  .catalogue-filter-panel[open] > summary { border-bottom: 1px solid var(--line); }
}
