:root {
    color-scheme: light;
    font: 100%/1.55 system-ui, sans-serif;
    color: #172f32;
    background: #f4f8f7;
}

* { box-sizing: border-box; }
body { margin: 0; }
.wrap { width: min(100% - 2rem, 55rem); margin-inline: auto; }
.top { background: #123c3e; color: white; padding-block: .85rem; }
.brand { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; font-weight: 750; }
.brand span { font-size: .9rem; font-weight: 500; color: #d9f1e9; }
main { padding-block: 2rem; }
h1, h2, h3, p { margin: 0 0 .65rem; }
h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.12; }
h2 { font-size: 1.55rem; }
h3 { font-size: 1rem; }
.eyebrow { color: #235953; font-weight: 750; }
.intro { max-width: 42rem; }
nav, #times { display: flex; flex-wrap: wrap; gap: .6rem; }
nav { margin-block: 1rem; }
nav a, button, .cta {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: .45rem .85rem;
    border: 1px solid #60817e;
    border-radius: .5rem;
    background: white;
    color: #173f40;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
nav a[aria-current], button[aria-pressed="true"], .cta { background: #145553; color: white; }
:focus-visible { outline: 3px solid #9e4900; outline-offset: 3px; }
.panel { padding: clamp(1rem, 4vw, 2rem); background: white; border: 1px solid #a9c4be; border-radius: .85rem; }
fieldset { margin: 1rem 0; padding: 0; border: 0; min-width: 0; }
fieldset > button { margin: .25rem .25rem .25rem 0; }
legend { font-weight: 700; }
.status { border-inline-start: .25rem solid #32786d; background: #edf7f2; padding: .65rem .85rem; }
.schedule { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-block: 1rem; }
.schedule div { background: #f3f6f7; border-radius: .5rem; padding: .75rem; }
.schedule p:last-child { margin-bottom: 0; }
footer { padding-block-start: 1rem; }
@media (max-width: 34rem) {
    .schedule { grid-template-columns: 1fr; }
}
