.parish-events-section{padding:75px 0;background:#f4f2eb}.parish-content-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.parish-content-heading .section-title{margin-bottom:0}.parish-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.parish-event-card{background:white;border:1px solid #dfe3e0;display:flex;flex-direction:column;min-width:0}.parish-event-card>a{background:#f0eee7;display:block}.parish-event-card img{width:100%;height:330px;object-fit:contain;padding:12px}.parish-event-card .parish-card-body{padding:25px;display:flex;flex-direction:column;flex:1}.parish-event-card h3{font-size:1.5rem;line-height:1.15;margin:10px 0 14px}.parish-event-card p{font-size:.9rem;color:#596972}.parish-event-card .parish-meta{font-size:.74rem;font-weight:650;letter-spacing:.3px;color:var(--maroon,#79122e);margin:0}.parish-event-card .parish-event-link{margin-top:auto;font-size:.85rem;font-weight:700;color:#79122e}.parish-empty{padding:26px;border:1px dashed #cfd6d1;background:#ffffff85;font-size:.95rem;color:#627067;grid-column:1/-1}.parish-empty a{color:#79122e}.parish-document{background:#fff;border:1px solid #dfe3e0;padding:24px;margin-bottom:14px}.parish-document h3{font-size:1.5rem;margin-bottom:7px}.parish-document p{font-size:.88rem;color:#596972}.parish-document .parish-meta{font-size:.8rem;color:#79122e;margin-bottom:8px}.parish-document .parish-links{display:flex;gap:18px;font-size:.85rem;font-weight:700}.parish-links a{color:#79122e}.parish-home-doc{display:block;border-bottom:1px solid #dfe3e0;padding:17px 0;text-decoration:none}.parish-home-doc:first-child{padding-top:2px}.parish-home-doc:last-child{border:0}.parish-home-doc small{display:block;color:#79122e;font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.parish-home-doc strong{display:block;font-size:1rem;line-height:1.25;color:#082131}.parish-home-doc span{font-size:.8rem;display:block;color:#596972;margin-top:6px}.parish-archive{border:1px solid #dfe3e0;background:white;margin-bottom:12px}.parish-archive summary{font-weight:650;padding:18px;cursor:pointer}.parish-archive[open] summary{border-bottom:1px solid #e4e7e2}.parish-archive>div{padding:18px}.parish-archive .parish-document:last-child{margin-bottom:0}.parish-filter{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:.9rem}.parish-filter select{padding:9px 35px 9px 12px;background:#fff;border:1px solid #ccd3cd;color:#20333b}.parish-news-events{margin-top:60px;padding-top:40px;border-top:1px solid #d8ddd8}.parish-past-section{margin-top:45px}.publication-page{padding:140px 0 80px;min-height:65vh}.publication-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:24px;align-items:start}.publication-description{white-space:normal;margin-top:25px;line-height:1.8}.publication-date{font-weight:600;color:#79122e}.publication-poster{margin:0}.publication-poster img{width:100%;height:auto;max-height:1000px;object-fit:contain;background:#eee}.publication-past{font-size:.7rem;background:#e9eeee;padding:4px 8px;margin-left:8px;border-radius:3px;color:#536565}.preview-message{border:1px solid #e4d29d;background:#fff5d9;padding:14px 18px;margin-bottom:25px;font-size:.9rem}.preview-message a{color:#79122e;font-weight:650}.publication-page .section-title{font-size:clamp(2rem,4vw,3.3rem)}@media(max-width:991px){.parish-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-layout{gap:30px}.parish-event-card img{height:300px}}@media(max-width:600px){.parish-event-grid{grid-template-columns:1fr}.parish-content-heading{align-items:flex-start;flex-direction:column}.parish-events-section{padding:50px 0}.parish-event-card img{height:auto;max-height:500px}.publication-layout{grid-template-columns:1fr}.publication-page{padding-top:110px}.publication-poster{grid-row:2}.parish-document{padding:20px}.parish-content-heading .section-title{font-size:2.2rem}}
.parish-home-announcement{padding:16px 0;border-bottom:1px solid #dfe3e0;overflow-wrap:anywhere}.parish-home-announcement:first-child{padding-top:0}.parish-home-announcement:last-child{border-bottom:0}.parish-home-announcement .parish-meta{color:#79122e;font-size:.7rem;margin:0 0 6px}.parish-home-announcement h3{font-family:inherit;font-size:.96rem;line-height:1.35;font-weight:700;margin:0 0 7px}.parish-home-announcement h3 a,.parish-announcement h3 a{color:#082131;text-decoration:none}.parish-home-announcement .parish-announcement-summary{color:#596972;font-size:.8rem;line-height:1.55;margin:0 0 7px}.parish-announcement-link,.parish-weekly-link{font-size:.8rem;font-weight:700;color:#79122e;text-decoration:none}.parish-weekly-link{display:block;padding:12px 0 18px}.parish-announcement-summary{white-space:pre-line}.parish-home-event{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px;padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid #dfe3e0;text-decoration:none;color:#082131;overflow-wrap:anywhere}.parish-home-event img{width:66px;height:88px;object-fit:contain;background:#f4f2eb}.parish-home-event small{display:block;color:#79122e;font-size:.7rem;line-height:1.5;margin-bottom:5px}.parish-home-event strong{display:block;font-size:.93rem;line-height:1.35}.parish-home-event span{display:block;color:#596972;font-size:.76rem;margin-top:6px}.parish-home-event--no-poster{grid-template-columns:1fr}.parish-home-flock{border-top:1px solid #dfe3e0;padding-top:20px;margin-top:22px}.parish-home-flock h3{font-size:1.45rem;margin:0 0 8px}.parish-home-flock p{font-size:.85rem;margin-bottom:12px}.info-panel .parish-empty{padding:14px;font-size:.85rem}.parish-announcement-details{padding:18px;background:#f5f3ee;margin:20px 0}.parish-announcement-details p:last-child{margin-bottom:0}
.parish-home-event{grid-template-columns:minmax(0,1fr);gap:12px}.parish-home-event img{width:100%;height:auto;aspect-ratio:2/3;max-height:none;object-fit:contain;padding:0}.parish-home-event strong{font-size:1rem}.parish-event-card img{display:block;width:100%;height:auto;aspect-ratio:2/3;max-height:none;object-fit:contain;padding:0}
.quick-grid{scroll-margin-top:90px}.quick-grid .info-panel{container-type:inline-size}@container(max-width:350px){.timing-row{grid-template-columns:1fr;gap:.25rem}.timing-slot{grid-template-columns:5.8rem minmax(0,1fr)}.timing-time:only-child{white-space:normal}}
