body{background:#f8fafb;color:#172e44;font-family:system-ui,sans-serif}.public-header{background:#fff;border-bottom:1px solid #e3eaf0}.brand{font-weight:800;letter-spacing:.05em;font-size:1.5rem;text-decoration:none;color:#194a67}.public-hero{background:#183e59;color:#fff}.public-hero h1{font-size:clamp(1.8rem,4vw,3rem);max-width:54rem;line-height:1.2}.public-hero .lead{max-width:54rem;color:#e5eef4}.school-card{display:block;height:100%;border:1px solid #d9e4ec;background:#fff;padding:1.25rem;border-radius:12px;color:#194a67;text-decoration:none;font-weight:600}.school-card:hover,.school-card.selected{border-color:#267593;background:#eef8fb}.public-activity-card{border:1px solid #e0e8ee;border-radius:14px;overflow:hidden}.public-activity-card .card-img-top{height:210px;object-fit:cover}.public-activity-card a{text-decoration:none;color:#183e59}.public-detail{max-width:980px}.public-description{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.public-detail h1,.public-activity-card,.school-card{overflow-wrap:anywhere}.public-media{width:100%;max-height:480px;object-fit:contain;background:#eaf0f4}.empty-state{background:#fff;border:1px dashed #bacddc;border-radius:12px;padding:2rem;color:#596d7e}.public-detail h1{font-size:clamp(1.8rem,4vw,2.6rem)}a:focus-visible,button:focus-visible{outline:3px solid #268aa4;outline-offset:3px}
/* Secondary text also needs sufficient contrast on the off-white page background. */
.text-secondary{color:#626f7c!important}

.feedback-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.public-calendar-grid,.public-calendar-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.public-calendar-head span{text-align:center;font-size:.8rem;padding:.5rem .1rem}.public-calendar-day{min-width:0;min-height:5rem;border:1px solid #d9e4ec;padding:.4rem}.public-calendar-outside{background:#f0f4f7;color:#687c8c}.public-calendar-event{display:block;font-size:.75rem;padding:.2rem .1rem;margin-top:.2rem}.public-agenda,.public-agenda h2{overflow-wrap:anywhere}.public-agenda{scroll-margin-top:1rem}.public-review{overflow-wrap:anywhere}@media(max-width:767.98px){.public-calendar-day{padding:.25rem .1rem;min-height:3rem}.public-calendar-event{text-align:center;margin:0;padding:0}.public-feedback-form{min-width:0}.public-header a{max-width:100%;overflow-wrap:anywhere}}
