@charset "UTF-8";
.news-content{padding-block:36px 70px;font-size:17px;line-height:1.95;overflow-wrap:anywhere}
.home-news.news-content{padding-block:36px 0}
.home-news .news-list-heading>.button{flex-shrink:0}
.news-preview-note{padding:22px 26px;background:#eeeee5;border-left:3px solid var(--gold);margin-bottom:36px}
.news-preview-note strong{display:block;color:var(--green);font-size:17px;margin-bottom:8px}
.news-preview-note p{font-size:17px;margin:0}
.news-list-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.news-list-heading h2{font:500 29px/1.6 var(--serif);margin:0;color:var(--green)}
.news-list-heading p{font-size:17px;color:var(--muted);margin:0}
.news-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--green)}
.news-list>li{border-bottom:1px solid var(--line)}
.news-item{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:"thumbnail meta" "thumbnail copy";gap:12px 30px;align-items:start;padding:30px 26px;background:var(--white);color:var(--ink);text-decoration:none}
.news-thumbnail{grid-area:thumbnail;display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;background:#eeeee5}
.news-item>.news-meta{grid-area:meta}
.news-item-copy{grid-area:copy;min-width:0}
.news-item:hover{background:#edf1e8}
.news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;font-size:14px;line-height:1.7}
.news-item>.news-meta{align-content:start;justify-content:flex-start}
.news-date{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.03em}
.news-category{display:inline-block;padding:3px 10px;background:#e4ebdf;color:var(--green);font-size:13px}
.news-sample{color:var(--muted);font-size:12px}
.news-item h3{font:500 25px/1.7 var(--serif);margin:0}
.news-item p{font-size:17px;line-height:1.9;margin:0 0 18px;color:var(--muted)}
.news-read-more{display:inline-block;color:var(--green);font-size:17px;text-decoration:underline;text-underline-offset:5px}
.news-item:hover h3{text-decoration:underline;text-underline-offset:5px}
.news-content a:focus-visible{outline:3px solid #ad8145;outline-offset:4px}
.news-article{background:var(--white);border-top:3px solid var(--green);padding:34px 40px 42px}
.news-article-heading{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:30px}
.news-article-heading h2{font:500 clamp(27px,3vw,35px)/1.7 var(--serif);margin:22px 0 0;color:var(--green)}
.news-article-body p{font-size:17px;line-height:2;margin:0 0 20px}
.news-article-body .news-article-lead{font-size:18px;margin-bottom:32px}
.news-article-body section{margin-top:32px}
.news-article-body h3{font:500 25px/1.7 var(--serif);margin:0 0 18px}
.news-article-body ul,.news-article-body ol{padding-left:1.5em;font-size:17px;line-height:2}
.news-article-body img{display:block;max-width:100%;height:auto}
.news-article-body a{color:var(--green);text-underline-offset:5px}
.news-back{margin-top:34px;text-align:center}
@media(max-width:760px){.news-list-heading{display:block}.news-list-heading p{margin-top:14px}.news-item{grid-template-columns:150px minmax(0,1fr);gap:10px 20px;padding:26px 24px}.news-item>.news-meta{align-items:center}.news-article{padding:28px}}
@media(max-width:520px){.news-content{padding-block:28px 45px}.news-preview-note{padding:20px;margin-bottom:28px}.news-list-heading h2{font-size:26px}.news-item{grid-template-columns:96px minmax(0,1fr);padding:22px 12px;gap:8px 14px}.news-item h3{font-size:18px}.news-item>.news-meta{gap:6px;font-size:12px}.news-item .news-category{font-size:11px;padding:2px 7px}.news-article{padding:24px 20px 28px}.news-article-heading h2{font-size:27px}.news-article-body h3{font-size:23px}}
/* Pub opening calendar: full month grid, compact labels on narrow screens. */
.pub-regular-hours{padding:26px 28px;background:#edf1e8;border-left:3px solid var(--green)}
.pub-regular-hours dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 20px}
.pub-regular-hours dl>div{min-width:0}.pub-regular-hours dt{font-size:17px;font-weight:600;color:var(--green);margin-bottom:12px}
.pub-regular-hours dd{margin:0}.pub-regular-hours dd strong{display:block;font:26px/1.6 Georgia,serif;color:var(--green)}
.pub-regular-hours dd span{display:block;font-size:17px;margin-top:6px}.news-article-body .pub-regular-hours>p{margin:0;font-size:17px}
@media(max-width:760px){.pub-regular-hours{padding:24px 22px}.pub-regular-hours dl{grid-template-columns:1fr;gap:18px}.pub-regular-hours dl>div+div{border-top:1px solid var(--line);padding-top:18px}}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none!important;padding:0!important;margin:0 0 24px}
.calendar-legend li{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.8}
.calendar-legend li::before{content:"";width:14px;height:14px;flex-shrink:0;border:1px solid #8b927f;background:#f3f5ec}
.calendar-legend .legend-closed::before{background:#f4dcda;border-color:#a45e57}.calendar-legend .legend-changed::before{background:#f5e8ca;border-color:#a0813c}
.pub-calendar{margin-bottom:34px;overflow-x:auto}
.pub-calendar:focus-visible{outline:3px solid #ad8145;outline-offset:3px}
.pub-calendar table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:700px;font-size:14px}
.pub-calendar caption{font:500 27px/1.7 var(--serif);text-align:left;color:var(--green);margin-bottom:16px}
.pub-calendar th,.pub-calendar td{border:1px solid #ced1c4}
.pub-calendar th{text-align:center;padding:10px 4px;background:var(--green);color:#fff;font-size:15px}
.pub-calendar td{height:100px;vertical-align:top;background:#f3f5ec;text-align:center;padding:10px 5px}
.pub-calendar .calendar-empty{background:#eeeee5}
.calendar-day{display:block;font-size:19px;font-weight:600;line-height:1.5;margin-bottom:9px}
.calendar-status{display:block;font-size:13px;line-height:1.65}
.calendar-interval{display:block;white-space:nowrap}
.calendar-closure{display:block;margin-top:9px;font-size:12px;line-height:1.6}
.calendar-mobile-detail{display:none}
.pub-calendar .calendar-closed{background:#f4dcda;color:#772f2a}
.pub-calendar .calendar-changed{background:#f5e8ca;color:#64470c}
.news-article-body .calendar-note{font-size:15px;color:var(--muted)}
.hours-changes{margin:0}
.hours-change{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line);padding:20px 0;scroll-margin-top:125px}
.hours-change:first-child{border-top:1px solid var(--line)}
.hours-change dt{font-weight:600;color:var(--green)}.hours-change dd{margin:0;font-size:17px}
.hours-contact{background:#eeeee5;padding:28px}
@media(max-width:760px){
  .pub-calendar{position:relative;overflow:visible}
  .pub-calendar table{min-width:0;width:100%}
  .pub-calendar td{height:76px;padding:0;vertical-align:top}
  .pub-calendar td>.calendar-day{padding-top:10px}
  .pub-calendar .calendar-status,.pub-calendar .calendar-closure,.calendar-desktop{display:none}
  .calendar-day{font-size:18px;margin-bottom:5px}
  .calendar-mobile-detail{display:block}
  .calendar-mobile-detail summary{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:75px;padding:10px 1px 7px;cursor:pointer;list-style:none;color:inherit}
  .calendar-mobile-detail summary::-webkit-details-marker{display:none}
  .calendar-mobile-detail summary:focus-visible{outline:3px solid #ad8145;outline-offset:-3px}
  .calendar-mobile-label{display:block;font-size:10px;line-height:1.5;letter-spacing:-.03em;white-space:nowrap}
  .calendar-mobile-detail[open] summary{box-shadow:inset 0 0 0 2px currentColor}
  .calendar-day-detail{position:absolute;left:0;right:0;z-index:5;margin-top:4px;padding:20px 22px;background:#fffef9;color:#25352e;border:2px solid #9b8154;box-shadow:0 5px 15px #0002;text-align:left;font-size:17px;line-height:1.9;overflow-wrap:anywhere}
  .calendar-day-detail>strong{display:block;color:var(--green);margin-bottom:10px}
  .news-article-body .calendar-day-detail p{font-size:17px;margin:0 0 12px}
  .calendar-close-hint{display:block;font-size:13px;color:var(--muted)}
  .hours-change{grid-template-columns:1fr;gap:8px;padding:18px 0}
}
@media(max-width:520px){.pub-hours-article{padding-inline:12px}.pub-calendar caption{font-size:24px}.pub-calendar td{padding:8px 3px}.pub-calendar th{padding:8px 1px;font-size:13px}.calendar-day{font-size:17px;margin-bottom:7px}.calendar-legend{gap:8px 16px}.calendar-legend li{font-size:13px}.hours-contact{padding:22px 18px}}
@media(max-width:520px){.pub-calendar td{padding:0}.calendar-day-detail{padding:18px}.calendar-day{margin-bottom:4px}}
@media(max-width:360px){.calendar-mobile-label{font-size:9px}}
@media(max-width:760px){.home-news .news-list-heading{display:flex;align-items:center;gap:12px}.home-news .news-list-heading>.button{font-size:13px;padding:9px 14px}}
/* Compact homepage news; the full news list keeps its existing scale. */
.home-news.news-content{padding-top:24px;font-size:12px}
.home-news .news-list-heading{gap:14px;margin-bottom:16px}
.home-news .news-list-heading h2{font-size:20px}
.home-news .news-list-heading>.button{min-height:34px;padding:6px 15px;font-size:12px}
.home-news .news-item{grid-template-columns:134px minmax(0,1fr);gap:8px 20px;padding:20px 18px}
.home-news .news-item h3{font-size:17px}
.home-news .news-meta{gap:7px 9px;font-size:11px}
.home-news .news-category{padding:2px 7px;font-size:11px}
@media(max-width:760px){.home-news .news-item{grid-template-columns:100px minmax(0,1fr);gap:7px 14px;padding:18px 16px}}
@media(max-width:520px){.home-news .news-item{grid-template-columns:64px minmax(0,1fr);gap:6px 10px;padding:15px 8px}.home-news .news-item h3{font-size:16px}.home-news .news-category{font-size:10px;padding:2px 5px}}
/* Distinguish the emergency notice with a restrained warm accent. */
.news-item.news-item-important{border-left:4px solid #9b6651;background:#f6ebe5}
.news-item.news-item-important:hover{background:#f0ded4}
.news-item-important h3{color:#7f493d;font-weight:600}
.news-item-important .news-category{background:#ead5c9;color:#743c32;font-weight:600}
.maintenance-article{border-top-color:#9b6651}
.pub-month{margin:0 0 16px;border:1px solid #ced1c4;background:#fffef9}
.pub-month>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:14px 20px;color:var(--green);font:500 23px/1.5 var(--serif);cursor:pointer;list-style:none;background:#edf1e8}
.pub-month>summary::-webkit-details-marker{display:none}
.pub-month>summary::after{content:"＋";font:24px/1 sans-serif;flex-shrink:0}
.pub-month[open]>summary::after{content:"−"}
.pub-month>summary:focus-visible{outline:3px solid #ad8145;outline-offset:-3px}
.pub-month-content{padding:20px}
.pub-month .pub-calendar{margin:0}
.pub-month .pub-calendar caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pub-calendar .calendar-winter{background:#e5edf2;color:#24475d}
.pub-calendar .calendar-unannounced{background:#eeeee5;color:#59615c}
.calendar-legend .legend-winter::before{background:#e5edf2;border-color:#587789}
.calendar-legend .legend-unannounced::before{background:#eeeee5;border-color:#8b927f}
@media(max-width:760px){.pub-month-content{padding:12px 0}.pub-month>summary{padding:12px 14px;font-size:20px}}
