/* Institucional SSR: navegación nativa, lectura editorial y contenido editable. */
.institutional-navigation { padding-top: 25px; }
nav.institutional-tabs { display: flex; position: static; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 28px; padding: 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); }
.institutional-tabs a { padding: 12px 0; font-size: 12px; }
.institutional-tabs a[aria-current] { color: var(--rust); box-shadow: inset 0 -2px var(--rust); }
.institutional-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 65px; padding-top: 55px; padding-bottom: 35px; align-items: center; }
.institutional-hero h1 { font-size: 61px; font-weight: 500; letter-spacing: -3px; }
.institutional-hero > div > p:not(.eyebrow) { margin: 25px 0; color: var(--muted); max-width: 480px; font-size: 14px; }
.institutional-hero figure { margin: 0; }
.institutional-hero img { width: 100%; height: 390px; object-fit: cover; border-radius: 90px 0 0 0; }
.institutional-hero figcaption, .history-archive figcaption { font-size: 10px; color: var(--muted); margin-top: 10px; }
.institutional-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.institutional-card { border: 1px solid var(--line); padding: 30px; display: flex; flex-direction: column; align-items: start; }
.institutional-card h3 { font-size: 28px; }
.institutional-card p { font-size: 13px; margin: 22px 0 28px; color: var(--muted); }
.institutional-card .text-link { margin-top: auto; }
.institutional-band { background: var(--ink); color: var(--paper); }
.institutional-band .wrap { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.institutional-band p:not(.eyebrow) { margin-top: 20px; max-width: 640px; font-size: 14px; color: #c7d0cb; }
.institutional-band .button { flex-shrink: 0; }
.institutional-story { display: grid; grid-template-columns: 1.4fr .8fr; gap: 80px; }
.institutional-story .prose { min-width: 0; }
.institutional-milestones { background: var(--soft); padding: 30px; align-self: start; }
.institutional-milestones > div { border-bottom: 1px solid var(--line); padding-bottom: 25px; margin-bottom: 25px; }
.institutional-milestones strong { font-size: 45px; color: var(--rust); font-weight: 500; }
.institutional-milestones p { font-size: 13px; color: var(--muted); margin-top: 10px; }
.history-archive { border-top: 1px solid var(--line); }
.history-archive figure { margin: 0; }
.history-archive img { width: 100%; height: 460px; object-fit: cover; }
.institutional-intro { max-width: 800px; margin-bottom: 35px; }
.commission-period { margin: 25px 0; padding: 15px 20px; background: var(--soft); font-size: 14px; }
.commission-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.commission-card { border: 1px solid var(--line); padding: 28px; }
.commission-card h2 { font-size: 25px; overflow-wrap: anywhere; }
.institutional-empty { grid-column: 1/-1; padding: 35px; background: var(--soft); }
.institutional-empty h2 { font-size: 29px; }
.institutional-empty p { margin: 20px 0; font-size: 14px; color: var(--muted); }
.institutional-manage { margin-top: 30px; }
.institutional-edit { padding-bottom: 40px; }
.ateneo-art { background: var(--ochre); padding: 35px; min-height: 400px; display: flex; flex-direction: column; justify-content: space-between; gap: 30px; }
.ateneo-art span { font-size: 10px; letter-spacing: 1.5px; }
.ateneo-art strong { font-size: 58px; line-height: 1.05; letter-spacing: -2.5px; font-weight: 500; }
.institutional-aside { padding: 30px; border: 1px solid var(--line); align-self: start; }
.institutional-aside p:not(.eyebrow) { font-size: 13px; margin: 20px 0; color: var(--muted); }
.institutional-aside .text-link { display: flex; width: fit-content; margin-top: 20px; }
@media (max-width: 1100px) { .institutional-hero { gap: 35px; } .institutional-hero h1 { font-size: 49px; } }
@media (max-width: 900px) {
    .institutional-cards, .commission-grid { grid-template-columns: 1fr 1fr; }
    .institutional-story { gap: 35px; }
    .institutional-hero h1 { font-size: 42px; }
    .ateneo-art strong { font-size: 45px; }
    .institutional-band .wrap { flex-direction: column; align-items: start; }
}
@media (max-width: 640px) {
    .institutional-hero, .institutional-story { grid-template-columns: 1fr; gap: 30px; }
    .institutional-hero { padding-top: 35px; }
    .institutional-hero h1 { font-size: 42px; letter-spacing: -2px; }
    .institutional-hero img { height: 280px; }
    nav.institutional-tabs { gap: 18px; }
    .institutional-tabs a { font-size: 11px; }
    .institutional-cards, .commission-grid { grid-template-columns: 1fr; }
    .history-archive img { height: auto; }
    .ateneo-art { min-height: 340px; padding: 28px; }
    .ateneo-art strong { font-size: 50px; }
    .institutional-empty { padding: 25px; }
}

/* Ateneo: propuesta editorial, ejes y contacto; sin inventar una agenda propia. */
.ateneo-hero > div, .ateneo-join > div { min-width: 0; }
.ateneo-hero h1 { white-space: pre-line; }
.ateneo-about h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.18; letter-spacing: -1px; margin-bottom: 25px; }
.ateneo-invitation { background: var(--soft); border: 0; border-top: 3px solid var(--ochre); }
.ateneo-invitation h3 { font-size: 28px; letter-spacing: -.7px; }
.ateneo-pillars { background: var(--soft); }
.ateneo-section-heading { max-width: 700px; margin-bottom: 35px; }
.ateneo-section-heading h2, .ateneo-faq h2 { font-size: clamp(28px, 3.5vw, 42px); line-height: 1.15; letter-spacing: -1.5px; }
.ateneo-section-heading > p:not(.eyebrow) { color: var(--muted); font-size: 14px; margin-top: 18px; }
.ateneo-pillar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.ateneo-pillar-grid article { border-top: 1px solid var(--line); padding-top: 25px; }
.ateneo-index { color: var(--rust); font-size: 10px; letter-spacing: 1.2px; }
.ateneo-pillar-grid h3 { font-size: 27px; letter-spacing: -.7px; margin: 24px 0 15px; }
.ateneo-pillar-grid p, .ateneo-proposal-grid p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.ateneo-proposal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 28px; }
.ateneo-proposal-grid article { padding: 25px; border: 1px solid var(--line); }
.ateneo-proposal-grid h3 { font-size: 24px; letter-spacing: -.6px; margin-bottom: 15px; }
.ateneo-join { background: var(--ink); color: var(--paper); display: grid; grid-template-columns: 1.15fr 1fr; gap: 65px; padding: 45px; scroll-margin-top: 150px; }
.ateneo-join h2 { font-size: clamp(30px, 3.5vw, 44px); letter-spacing: -1.5px; line-height: 1.15; }
.ateneo-join-intro > p:not(.eyebrow) { font-size: 14px; color: #c7d0cb; margin: 25px 0; max-width: 480px; }
.ateneo-steps { list-style: none; margin: 0; padding: 0; align-self: center; }
.ateneo-steps li { display: flex; align-items: start; gap: 20px; padding: 20px 0; border-bottom: 1px solid #ffffff25; }
.ateneo-steps li:first-child { padding-top: 0; }
.ateneo-steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.ateneo-steps span { font-size: 12px; color: var(--ochre); padding-top: 5px; }
.ateneo-steps h3 { font-size: 24px; margin-bottom: 10px; }
.ateneo-steps p { font-size: 13px; color: #c7d0cb; line-height: 1.7; }
.ateneo-faq { display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; }
.ateneo-questions { min-width: 0; }
.ateneo-questions details { border-bottom: 1px solid var(--line); }
.ateneo-questions summary { padding: 20px 0; font-size: 15px; cursor: pointer; }
.ateneo-questions details:first-child summary { padding-top: 0; }
.ateneo-questions details p { padding: 0 0 20px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.ateneo-questions a { color: var(--rust); text-decoration: underline; text-underline-offset: 3px; }
.ateneo-questions summary:focus-visible { outline: 2px solid var(--rust); outline-offset: 4px; }
@media (max-width: 900px) {
    .ateneo-pillar-grid { gap: 22px; }
    .ateneo-proposal-grid { grid-template-columns: 1fr; gap: 15px; }
    .ateneo-join { gap: 30px; padding: 30px; }
    .ateneo-faq { gap: 30px; }
}
@media (max-width: 640px) {
    .ateneo-pillar-grid, .ateneo-join, .ateneo-faq { grid-template-columns: minmax(0, 1fr); }
    .ateneo-join { padding: 25px; gap: 35px; }
    .ateneo-join h2 { font-size: 32px; }
    .ateneo-pillar-grid { gap: 30px; }
    .ateneo-pillar-grid h3 { margin-top: 18px; }
}
