/* Présentation du Portail, dans l’habillage des pages commerciales. */
.about-main { padding: 52px 0 70px; }
.about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: center;
  margin-bottom: 74px;
}
.about-page h1 { max-width: 560px; margin-top: 20px; }
.about-lead { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.65; }
.about-byline { margin-top: 24px; color: var(--muted); font-size: .95rem; }
.about-page .about-main a:not(.button) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.about-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.about-photo figcaption { margin-top: 12px; font-size: .85rem; line-height: 1.5; color: var(--muted); }
.about-body { max-width: 960px; }
.about-section { margin-bottom: 48px; }
.about-section h2 { margin: 0 0 22px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.12; }
.about-section p:not(.eyebrow):not(.about-signature) { margin: 0 0 17px; font-size: 1rem; line-height: 1.75; }
.about-section .eyebrow { margin-bottom: 14px; }
.about-person { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 30px; padding-top: 38px; border-top: 1px solid var(--line); }
.about-initials { padding-top: 5px; font-family: var(--serif); font-size: 70px; line-height: .8; color: var(--olive); }
.about-initials span { display: block; padding-left: 24px; }
.about-operation { padding: 34px; background: var(--sand); }
.about-signature { font-family: var(--serif); font-size: 30px; color: var(--olive); }
.about-next { display: flex; flex-wrap: wrap; gap: 20px 30px; align-items: center; padding-top: 28px; border-top: 1px solid var(--line); }
.about-page :is(h2, p[id]) { scroll-margin-top: 30px; }
@media (max-width: 850px) {
  .about-intro { grid-template-columns: minmax(0, 1fr); gap: 30px; margin-bottom: 44px; }
  .about-intro-copy { max-width: 700px; }
  .about-photo { max-width: 700px; }
  .about-main { padding-top: 34px; }
}
@media (max-width: 520px) {
  .about-person { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .about-initials { font-size: 50px; }
  .about-initials span { display: inline; padding-left: 0; }
  .about-operation { padding: 24px 20px; }
  .about-next > a { max-width: 100%; }
}
