/* Shared first-wave introductions and the coverage directory. */
.ap-wave1-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:1.5rem 0 2.5rem; }
.ap-wave1-card { padding:1.5rem; border:1px solid #d4dde2; border-radius:14px; background:#fff; color:#173142; }
.ap-wave1-card h2, .ap-wave1-card h3 { color:#0b2638; margin-top:0; }
.ap-wave1-card p { color:#334d5f; }
.ap-wave1-card a:not(.ap5-btn) { color:#07507a; text-decoration:underline; text-underline-offset:3px; }
.ap-wave1-card .ap5-btn { margin-top:.5rem; white-space:normal; }
.ap-wave1-focus { padding:3rem 0; background:#eaf1f4; }
.ap-wave1-focus .ap-wave1-grid { margin:0 auto; }
.ap-wave1-focus .ap-wave1-card { display:flex; flex-direction:column; }
.ap-wave1-focus .ap-wave1-card > .ap5-btn { align-self:flex-start; margin-top:auto; }
.ap-wave1-caption { font-size:.8rem; line-height:1.5; margin-top:.5rem; color:#4d6575; }
.ap-contact-location-details { grid-column:1 / -1; border:1px solid #c5d2dc; border-radius:10px; padding:1rem; }
.ap-contact-location-details summary { cursor:pointer; font-weight:600; min-height:28px; color:#173142; }
.ap-contact-location-details[open] summary { margin-bottom:1rem; }
.ap-contact-location-details summary:focus-visible { outline:3px solid #007cba; outline-offset:5px; }
@media (max-width:680px) { .ap-wave1-grid { grid-template-columns:1fr; } .ap-wave1-focus { padding:1.5rem 0; } }
