.about-page { padding: 60px 0 40px; }
.about-page .content-container { max-width: 1100px; }
.about-heading { text-align: center; margin-bottom: 54px; }
.about-heading h1 { margin: 0; color: var(--color-primary-dark); font-size: clamp(30px, 4vw, 40px); line-height: 1.25; }
.about-section { margin-bottom: 76px; }
.about-section h2 { margin: 0 0 30px; color: var(--color-primary-dark); font-size: clamp(25px, 3vw, 32px); line-height: 1.3; }
.about-section > h2 { text-align: center; }
.about-page p { margin: 0 0 20px; font-size: 16px; line-height: 1.8; }
.about-page p:last-child { margin-bottom: 0; }
.about-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 48px; }
.about-photo { position: relative; overflow: hidden; border-radius: 8px; }
.about-photo img { position: absolute; max-width: none; height: auto; }
/* Encuadra las fotografías incluidas en las capturas del documento. */
.about-photo-philosophy { aspect-ratio: 507 / 356; }
.about-photo-philosophy img { width: 225.838%; left: -117.949%; top: -41.011%; }
.about-photo-mission, .about-photo-vision { aspect-ratio: 507 / 355; }
.about-photo-mission img { width: 212.821%; left: -2.367%; top: -2.535%; }
.about-photo-vision img { width: 212.821%; left: -110.848%; top: -129.578%; }
.about-photo-values { aspect-ratio: 444 / 500; }
.about-photo-values img { width: 242.568%; left: -10.135%; top: -57.2%; }
.about-objectives { padding: 38px; border-radius: 12px; background: var(--color-surface); }
.about-objectives-list { columns: 2; column-gap: 48px; padding: 0; margin: 0; list-style: none; }
.about-objectives-list li { position: relative; break-inside: avoid; padding-left: 30px; margin-bottom: 22px; font-size: 16px; line-height: 1.75; }
.about-objectives-list li::before { content: "✓"; position: absolute; left: 0; top: 3px; width: 19px; height: 19px; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 12px; line-height: 19px; text-align: center; }
.about-values-intro { max-width: 760px; margin: 0 auto 36px !important; text-align: center; }
.about-values-grid { align-items: start; }
.about-values details { margin-bottom: 10px; overflow: hidden; border-radius: 7px; background: var(--color-primary); color: #fff; }
.about-values summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 700; }
.about-values summary::-webkit-details-marker { display: none; }
.about-values summary::after { content: "+"; font-size: 24px; font-weight: 400; line-height: 1; }
.about-values details[open] summary::after { content: "−"; }
.about-values summary:hover { background: var(--color-primary-dark); }
.about-values summary:focus-visible { outline: 3px solid var(--color-secondary); outline-offset: -3px; }
.about-values details p { padding: 0 20px 20px; font-size: 15px; }
.about-model h3 { margin: 0 0 18px; color: var(--color-primary); font-size: 18px; }
.about-model-needs { margin: 22px 0 0; padding-left: 24px; font-size: 16px; line-height: 1.8; }
.about-model-needs li { margin-bottom: 12px; padding-left: 4px; }
.about-model-needs li::marker { color: var(--color-primary); }
.about-duration-grid { align-items: start; }
.about-durations details:last-child { margin-bottom: 0; }
.about-photo-model { aspect-ratio: 485 / 548; }
.about-photo-model img { width: 226.392%; left: -116.701%; top: -15.146%; }
.about-recognition-note { margin-top: 32px; padding: 24px; border-radius: 8px; background: var(--color-surface); }
.about-recognition-note p { font-size: 15px; line-height: 1.8; }
.about-regulations { margin-top: 24px; text-align: center; }
.about-regulations a:focus-visible { outline: 3px solid var(--color-secondary); outline-offset: 3px; }
@media (max-width: 800px) {
    .about-grid { grid-template-columns: 1fr; gap: 28px; }
    .about-objectives-list { columns: 1; }
    .about-section { margin-bottom: 50px; }
    .about-photo-mission { order: 1; }
    .about-photo-values { max-width: 500px; width: 100%; margin: 0 auto; }
    .about-photo-model { max-width: 500px; width: 100%; margin: 0 auto; }
}
@media (max-width: 560px) {
    .about-page { padding-top: 40px; }
    .about-heading { margin-bottom: 36px; }
    .about-section h2 { margin-bottom: 22px; }
    .about-objectives { padding: 24px 18px; }
    .about-page p, .about-objectives-list li { font-size: 15px; }
    .about-model-needs { font-size: 15px; }
    .about-recognition-note { padding: 20px; }
}
