/* Event announcements, presidential message and member directory */
.agenda-banner { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:3rem; align-items:center; background:#f4f7fb; border-bottom:1px solid #dbe3ee; }
.agenda-banner h2 { font-size:clamp(1.6rem,3.2vw,2.5rem); max-width:900px; line-height:1.2; margin:0.8rem 0 1rem; }
.agenda-banner p:not(.eyebrow) { margin-bottom:1.5rem; color:#465367; }
.agenda-date { text-align:center; border-left:2px solid #D4AF37; color:#1A365D; padding:1.5rem; }
.agenda-date strong { display:block; font-size:4.5rem; line-height:1; }
.agenda-date span { display:block; font-size:.85rem; letter-spacing:.07em; margin-top:.75rem; }
.president-banner { background:#f4f7fb; text-align:center; }
.president-banner h2 { font-size:2rem; margin:1rem 0; }
.president-banner p:not(.eyebrow) { max-width:700px; margin:0 auto 1.5rem; }
.president-letter { max-width:1100px; margin:auto; display:grid; grid-template-columns:240px minmax(0,1fr); gap:4rem; align-items:start; }
.president-profile { background:#f4f7fb; border-top:3px solid #D4AF37; padding:1.5rem; border-radius:8px; }
.president-profile img { width:100%; height:auto; display:block; border-radius:5px; margin-bottom:1.5rem; }
.president-profile h2 { font-size:1.25rem; line-height:1.3; margin-bottom:.75rem; }
.president-profile p { font-size:.9rem; margin-bottom:.75rem; color:#465367; }
.president-text { font-size:1.06rem; line-height:1.9; color:#334155; }
.president-text p { margin-bottom:1.6rem; }
.letter-signature { margin-top:2rem; padding-top:1.5rem; border-top:1px solid #dbe3ee; color:#1A365D; }
.text-link { color:#1A365D; text-decoration:underline; text-underline-offset:4px; }
.event-page { max-width:1400px; margin:auto; }
.event-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:4rem; align-items:start; }
.event-page h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; margin-bottom:1rem; }
.event-lead { color:#465367; margin:1.25rem 0; font-size:1.1rem; }
.event-facts { background:#f4f7fb; border-left:3px solid #D4AF37; padding:1.5rem; margin:1.5rem 0; }
.event-facts div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:1rem; margin-bottom:.8rem; }
.event-facts div:last-child { margin-bottom:0; }
.event-facts dt { font-weight:600; color:#1A365D; }
.event-facts dd { margin:0; }
.event-access-note { font-size:.85rem; margin:1rem 0 2rem; color:#465367; }
.event-poster img, .honor-poster img { display:block; width:100%; height:auto; }
.event-poster, .honor-poster { margin:0; }
.event-poster figcaption, .honor-poster figcaption { margin:1rem 0; font-size:.9rem; text-align:right; }
.event-poster figcaption a, .honor-poster figcaption a { color:#1A365D; text-decoration:underline; }
.event-speaker { margin-top:2.5rem; }
.event-speaker p, .event-abstract p { margin-bottom:1rem; color:#465367; }
.event-abstract { max-width:850px; margin:4rem auto 2rem; padding-top:2rem; border-top:2px solid #D4AF37; line-height:1.85; }
.event-archive-link { text-align:center; background:#f4f7fb; padding:2rem; border-radius:8px; margin-top:3rem; }
.event-archive-link p { margin-bottom:.75rem; }
.honor-names { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.honor-names li { padding:1rem; background:#f4f7fb; border-radius:6px; }
.honor-names strong, .honor-names span, .roster-member strong, .roster-member span { display:block; }
.honor-names span, .roster-member span { font-size:.85rem; color:#465367; margin-top:.3rem; }
.roster-controls { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:1.5rem; margin-bottom:1.5rem; }
.roster-controls label { font-weight:600; color:#1A365D; font-size:.9rem; }
.roster-controls input, .roster-controls select { display:block; width:100%; min-width:0; margin-top:.5rem; padding:.85rem; border:1px solid #aab7c9; border-radius:6px; background:white; color:#263348; font:inherit; }
.roster-count { color:#465367; margin-bottom:2rem; }
.roster-country { margin:2rem 0; }
.roster-country h3 { font-size:1.3rem; border-bottom:1px solid #dbe3ee; padding-bottom:.75rem; margin-bottom:1rem; }
.roster-list { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.roster-member { background:#f4f7fb; padding:1rem 1.25rem; border-radius:6px; overflow-wrap:anywhere; }
.member-photo-sheets { border-top:1px solid #dbe3ee; margin-top:3rem; padding-top:1.5rem; }
.member-photo-sheets summary { cursor:pointer; font-weight:600; color:#1A365D; padding:.5rem 0 1.5rem; }
@media(max-width:968px) { .president-letter { gap:2rem; grid-template-columns:200px minmax(0,1fr); } .event-layout { gap:2rem; } .roster-list,.honor-names { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .agenda-banner,.president-letter,.event-layout,.roster-controls { grid-template-columns:minmax(0,1fr); gap:2rem; } .agenda-date { display:none; } .president-profile { max-width:300px; margin:0 auto; } .president-text { font-size:1rem; } .event-facts div { grid-template-columns:minmax(0,1fr); gap:.25rem; } .roster-list,.honor-names { grid-template-columns:minmax(0,1fr); } }
