/* ═══════════════════════════════════════════════════════════════
   Accueil, scène 7 : la presse (js/scenes/presse.js). Préfixe .ps__
   Une affiche classique sur le blanc : mon portrait, et « Presse » en très grand, la phrase, la demande presse.
   ═══════════════════════════════════════════════════════════════ */
.ps { position: relative; background: var(--paper); color: var(--ink); overflow-x: clip; }
.ps__in { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: clamp(96px, 13vh, 160px) var(--gutter) clamp(96px, 12vh, 150px); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 110px); align-items: end; }

/* le portrait, dans son cadre */
.ps__ph { margin: 0; }
.ps__frame { position: relative; overflow: hidden; aspect-ratio: var(--ar, 2 / 3); max-height: 84vh; max-height: 84svh; margin: 0 auto; background: var(--paper-2); }
.ps__frame img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform-origin: 50% 40%; will-change: transform; }
.ps__ph figcaption { margin-top: 12px; font-size: .78rem; color: var(--ink-3); }

/* le titre, l'arabe, la phrase, les boutons */
.ps__mast { margin: 0; font-family: var(--display); font-stretch: 62.5%; font-weight: 400; line-height: .84; text-transform: uppercase; letter-spacing: .005em; white-space: nowrap; }
.ps__row { display: block; overflow: hidden; padding: .04em 0 .02em; margin-bottom: -.06em; }
.ps__u { display: block; width: max-content; }
.ps__ar { display: block; margin-top: .14em; font-family: var(--ar); font-weight: 700; font-size: .3em; line-height: 1.35; text-transform: none; letter-spacing: 0; text-align: right; }
.ps__lead { margin: 26px 0 0; max-width: 30ch; font-family: var(--text); font-size: clamp(1.2rem, 1.6vw, 1.5rem); line-height: 1.5; }
.ps__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 30px; margin: 32px 0 0; }
.ps__btn { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 30px; background: var(--ink); color: var(--paper); text-decoration: none; font-size: 1rem; font-weight: 500; transition: background .4s var(--ease); }
.ps__btn:hover { background: var(--velvet); }
.ps__btn i, .ps__more i { font-style: normal; }
.ps__more { display: inline-flex; flex-direction: column; gap: 4px; text-decoration: none; }
.ps__more b { font-weight: 500; font-size: .98rem; padding-bottom: 4px; border-bottom: 1px solid var(--ink); align-self: flex-start; transition: color .3s, border-color .3s; }
.ps__more span { font-size: .78rem; color: var(--ink-3); }
.ps__more:hover b { color: var(--velvet); border-color: var(--velvet); }

/* sur un écran vertical : le portrait, puis le texte */
.ps.is-tall .ps__in { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: calc(var(--header) + 28px); padding-bottom: 84px; }
.ps.is-tall .ps__frame { aspect-ratio: 4 / 5; max-height: 72svh; width: 100%; }
.ps.is-tall .ps__lead { font-size: 1.15rem; }
