/* À propos : texte d'abord, grandes photos, lignes séparées sans cartes */
.ap { padding-top: 3rem; padding-bottom: 4rem; }

/* Accueil de la page : texte à gauche, portrait à droite */
.ap-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 4rem; align-items: center; margin-bottom: 6rem; }
.ap-hero h1 { font-size: clamp(2.5rem, 5vw, 3.75rem); line-height: 1.05; margin-bottom: 1.5rem; }
.ap-hero .lead { max-width: 36rem; margin-bottom: 2rem; }
.ap-portrait { margin: 0; justify-self: end; width: 100%; max-width: 420px; }
.ap-portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; background: #000; border-radius: var(--radius-lg); }

.ap-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Sections : titre, puis contenu sans encadrement */
.ap-section { margin-bottom: 6rem; }
.ap-section > h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); margin-bottom: 2.5rem; }
.ap-text { color: var(--color-text-muted); line-height: 1.7; max-width: 60ch; margin-bottom: 1.5rem; font-size: 1.0625rem; }

/* Lignes : titre à gauche, texte à droite, filet fin entre chaque ligne */
.ap-rows { border-top: 1px solid var(--color-border); }
.ap-row { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 2rem; padding: 1.75rem 0; border-bottom: 1px solid var(--color-border); }
.ap-row h3 { font-size: 1.25rem; }
.ap-row p { color: var(--color-text-muted); line-height: 1.7; }

/* Deux grandes photos côte à côte */
.ap-machines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ap-machines img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #000; border-radius: var(--radius-lg); }
.ap-note { margin-top: 1.25rem; color: var(--color-text-dim); font-size: 0.9375rem; }

/* Retrouvez-nous : capture des chaînes, sans fond */
.ap-social .ap-mockup { display: block; width: 100%; max-width: 820px; height: auto; margin-bottom: 2rem; }
.ap-social .ap-actions { margin-top: 0; }

/* Liste d'objectifs */
.ap-goals { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; max-width: 60ch; border-top: 1px solid var(--color-border); }
.ap-goals li { padding: 1rem 0; border-bottom: 1px solid var(--color-border); color: var(--color-text); line-height: 1.6; }

/* Bloc final */
.ap-final { padding-top: 3rem; border-top: 1px solid var(--color-border); }

@media (max-width: 900px) {
    .ap-hero { grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 4rem; }
    .ap-portrait { justify-self: start; max-width: 320px; }
    .ap-section { margin-bottom: 4rem; }
}

@media (max-width: 760px) {
    .ap-row { grid-template-columns: 1fr; gap: 0.5rem; }
    .ap-machines { grid-template-columns: 1fr; }
}
