/* Pages intérieures : même identité que l’accueil, sans hero plein cadre. */
.page-interieure .site-header { position: relative; background: var(--paper); }
.page-interieure .site-header::before { display: none; }
.page-interieure .site-header .identity { color: var(--ink); }

.page-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 90px); align-items: center; padding-block: clamp(36px, 5vw, 80px); }
.page-eyebrow { font-family: var(--sans); font-size: 13px; font-weight: 400; line-height: 1.4; letter-spacing: .2em; text-transform: uppercase; text-shadow: none; }
.page-eyebrow::after { content: ''; display: block; width: 35px; height: 1px; background: var(--blue); margin-top: 12px; }
.page-headline { margin-top: 24px; font-size: clamp(42px, 4.6vw, 72px); line-height: .98; letter-spacing: -.035em; text-wrap: balance; }
.page-lede { margin-top: 24px; max-width: 40ch; font-size: clamp(19px, 1.5vw, 22px); line-height: 1.4; color: var(--stone); }
.page-note { margin-top: 30px; font-family: var(--handwritten); font-size: clamp(24px, 2vw, 30px); color: var(--rust); transform: rotate(-4deg); transform-origin: left; }
.page-figure { margin: 0; }
.page-figure img { width: 100%; height: 100%; object-fit: cover; }
.page-figure figcaption, .artwork-caption { margin-top: 10px; font-size: 16px; font-style: italic; color: var(--stone); }
.artwork-caption span, .page-figure figcaption span { font-family: var(--sans); font-style: normal; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-left: 8px; }
.section-label { font-family: var(--sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--stone); }

/* Bandeau final commun : invitation vers la galerie et le contact. */
.page-cta { background: var(--ivory); }
.page-cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; padding-block: clamp(40px, 5vw, 64px); }
.page-cta h2 { font-size: clamp(30px, 3vw, 44px); font-weight: 400; line-height: 1.05; letter-spacing: -.03em; text-transform: none; max-width: 22ch; }
.page-cta-actions { display: flex; flex-wrap: wrap; gap: 14px; }

@media (max-width: 1000px) {
  .page-intro { grid-template-columns: 1fr; }
  .page-intro .page-figure { order: -1; }
}

/* Page 404. */
.page-404 { display: grid; gap: 22px; justify-items: start; padding-block: clamp(56px, 8vw, 120px); }
.page-404 .page-headline, .page-404 .page-lede, .page-404 .page-note { margin-top: 0; }
