/* Newspaper theme: loaded after each page's inline styles so it sets the look site-wide.
   Plain white paper, black ink, one navy accent, newspaper red for kickers only, hairline rules, centered nameplate. */
:root{
  --paper:#FFFFFF; --ink:#111418; --muted:#555B61; --rule:#E1E3E6;
  --river:#1D4E89; --flag:#A3262A; --tint:#F4F6F9;
  --bg:#FFFFFF; --glow-a:transparent; --glow-b:transparent;
  --display:"Newsreader", Georgia, "Times New Roman", serif;
  --body:"Newsreader", Georgia, serif;
  --label:"Libre Franklin", "Helvetica Neue", Arial, sans-serif;
}
body{background:var(--paper);background-image:none;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--river);text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--river);outline-offset:2px}
::selection{background:#D6E2F2}
.wrap{max-width:1200px}

/* utility bar */
.topbar{background:var(--ink);color:#fff;font-family:var(--label);font-size:12px}
.topbar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 20px;padding-block:7px}
.topbar .tb-tag{letter-spacing:.04em;opacity:.9}
.topbar .tb-tag b{font-weight:700;opacity:1}
.topbar .tb-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar a:hover{text-decoration:underline}
@media (max-width:600px){.topbar .tb-tag{display:none}.topbar .wrap{justify-content:center}}

/* masthead: centered nameplate between rules */
.mast{border-bottom:0;background:var(--paper)}
.mast .wrap{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding-block:26px 0}
.brandwrap{align-items:center;gap:4px}
.brand{font-style:normal;font-weight:800;font-size:clamp(44px,8vw,92px);letter-spacing:-.025em;line-height:1;color:var(--ink)}
.brand span{color:var(--ink)}
.powered{font-size:11px;letter-spacing:.14em}
.powered strong{color:var(--ink)}
.issue{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-top:10px;padding-block:8px;border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ink)}
.issue strong{font-weight:700}
@media (max-width:600px){.issue{justify-content:center}}

/* section nav */
nav.sections{border-bottom:1px solid var(--rule);background:var(--paper)}
nav.sections ul{justify-content:center;gap:2px 18px;padding-block:9px}
nav.sections a{font-size:13px;font-weight:600;color:var(--ink);padding-block:4px;display:inline-block}
nav.sections a:hover{color:var(--river);text-decoration:underline;text-underline-offset:6px}
nav.sections a[aria-current="page"]{color:var(--river);box-shadow:inset 0 -2px 0 var(--river)}
nav.sections li.nav-about a{background:var(--river);color:#fff;border-radius:3px;padding:4px 12px;letter-spacing:.02em;box-shadow:none}
nav.sections li.nav-about a:hover,nav.sections li.nav-about a[aria-current="page"]{background:var(--ink);color:#fff;text-decoration:none}
@media (max-width:760px){
  nav.sections ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0 18px;padding-block:8px}
  nav.sections ul::-webkit-scrollbar{display:none}
  nav.sections li{flex:none}
}

nav.sections li.nav-gen a{background:var(--flag);color:#fff;border-radius:3px;padding:4px 12px;letter-spacing:.02em;box-shadow:none}
nav.sections li.nav-gen a:hover,nav.sections li.nav-gen a[aria-current="page"]{background:var(--ink);color:#fff;text-decoration:none}

/* this-week strip */
.dateline-strip{background:var(--tint);border-bottom:1px solid var(--rule)}
.dateline-strip .wrap{justify-content:center;font-size:13px;color:var(--ink)}
.dateline-strip .wrap::before{content:"Key dates";font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px;color:var(--flag);align-self:center}
.dateline-strip b{color:var(--ink)}

/* type */
.label{letter-spacing:.1em}
.kicker{color:var(--flag)}
.k-local{color:var(--river)}
.byline{color:var(--muted);letter-spacing:.02em}
.dek{color:#3F454B}
.intro h1 span{color:var(--ink)}
.intro{padding-bottom:24px;border-bottom:1px solid var(--rule)}

/* section rules: thin black rule over a hairline, like a printed page */
.lead,.wh-teaser,.fl-teaser,.ed-letter,section.band{border-top:2px solid var(--ink)}
.box{border-top:2px solid var(--ink)}
.box h2{font-size:22px}
.band > header h2{font-size:30px}
.se-card,.leg{border-top:2px solid var(--ink)}
.adv-facts div{border-top:2px solid var(--ink)}

/* panels: flat, square, quiet */
.help,.tool,.na-services,.tee-offer,.rate,.rate-card,.feature-card,.cta,.signup,.notary-ad,.yours,.se-spons,.ad,.wh-teaser .wh-main img,.wh-thumbs img,.ad-print .ad-img,.banner-ad a{border-radius:3px}
.yours,.se-spons,.ad{border:1px solid var(--rule)}
.ad{background:var(--tint)}
.notary-ad,.ad-live,.tee-card{border:1px solid var(--rule)}
.rate.featured{border:2px solid var(--river)}
.feature-card,.cta{background:#1A1F25}
.feature-card li strong,.feature-card .programs span,.feature-card .team h4,.cta .label{color:#F2B8A0}

/* buttons */
.ad-btn,.na-contact a,.signup button{border-radius:3px;letter-spacing:.01em}
.ad-btn:hover,.na-contact a:hover,.signup button:hover{filter:none;background:var(--ink);color:#fff}
.na-contact a + a:hover{background:var(--river);color:#fff}

/* sign-up style panels */
.signup{background:var(--tint);color:var(--ink);border:1px solid var(--rule);border-top:3px solid var(--ink)}
.signup h2{color:var(--ink)}
.signup p{opacity:1;color:#3F454B}
.signup input{border:1px solid #B9BEC4}
.signup button{background:var(--river)}
.signup .ok{color:var(--ink)}

/* ads read as ads, clearly separated from news */
.ad-tag{color:var(--muted);letter-spacing:.14em}
.banner-ad,.ebp-ad,.tee-ad{padding-top:10px;border-top:1px solid var(--rule)}

/* footer */
footer.site{border-top:3px double var(--ink);background:var(--tint)}
footer.site .wrap{gap:14px}
.foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:20px 40px;padding-bottom:20px;border-bottom:1px solid var(--rule);color:var(--ink)}
@media (max-width:760px){.foot-top{grid-template-columns:minmax(0,1fr)}}
.foot-top p{margin:0}
.foot-name{font-family:var(--display);font-weight:800;font-size:30px;line-height:1;color:var(--ink);text-decoration:none;display:inline-block;margin-bottom:8px}
.foot-top h2{margin:0 0 8px}
.foot-top ul{list-style:none;padding:0;margin:0;columns:1;display:flex;flex-direction:column;gap:6px;font-family:var(--label);font-size:14px}
.foot-top ul a{color:var(--ink);text-decoration:none;font-weight:600}
.foot-top ul a:hover{color:var(--river);text-decoration:underline}
.foot-contact{font-size:15px;line-height:1.6}
.foot-contact a{font-weight:600}

/* easier reading on screens: one comfortable column, larger type, room between lines */
.copy,.lead .copy,.food-story .copy,.feature-story .copy{columns:auto;max-width:68ch}
.copy p,.story p{font-size:19px;line-height:1.65}
.copy p{margin:0 0 18px}
.dek{max-width:60ch;line-height:1.45}
.story h3 a,.county h3 a{text-decoration:none;color:inherit}

/* section menu stays in reach while reading; anchored stories land below it */
nav.sections{position:sticky;top:0;z-index:20}
[id]{scroll-margin-top:64px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
nav.sections a[aria-current="location"]{color:var(--river);box-shadow:inset 0 -2px 0 var(--river)}

/* "In this issue" contents */
.toc{margin:28px 0 8px;padding:20px 22px 22px;background:var(--tint);border:1px solid var(--rule);border-top:3px solid var(--ink);border-radius:3px}
.toc > h2{font-size:28px;font-weight:800}
.toc-sub{margin:6px 0 0;font-family:var(--label);font-size:14px;color:var(--muted)}
.toc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:18px 32px;margin-top:16px}
.toc h3{font-family:var(--label);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--flag);padding-bottom:6px;border-bottom:1px solid var(--rule)}
.toc ol,.toc ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc ol{counter-reset:toc}
.toc li a{display:block;padding:5px 0;font-size:17px;font-weight:600;line-height:1.3;color:var(--ink);text-decoration:none}
.toc ol li a::before{counter-increment:toc;content:counter(toc) ".";display:inline-block;min-width:1.6em;font-family:var(--label);font-size:13px;color:var(--muted)}
.toc li a:hover{color:var(--river);text-decoration:underline}

/* end-of-story links: back to contents, or on to the next story */
.story-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin:24px 0 0;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--label);font-size:14px;font-weight:600;clear:both;grid-column:1/-1}
.story-nav a{text-decoration:none}
.story-nav a:hover{text-decoration:underline}
.story-nav .sn-up{color:var(--muted)}
.story-nav .sn-next{color:var(--river);margin-left:auto}

/* back-to-top button (bottom left, clear of the chat button) */
.to-top{position:fixed;left:16px;bottom:16px;z-index:30;padding:10px 14px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--label);font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{background:var(--river);color:#fff}

/* contact form (About page) */
.contact-form{max-width:640px;margin-top:18px;display:grid;gap:16px}
.contact-form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--label);font-size:13px;font-weight:700;color:var(--ink)}
.contact-form label span{font-weight:500;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:17px;padding:12px 14px;border-radius:3px;border:1px solid #B9BEC4;background:var(--paper);color:var(--ink);min-width:0}
.contact-form textarea{resize:vertical}
.contact-form button{justify-self:start;font-family:var(--label);font-weight:700;font-size:15px;padding:12px 26px;border:0;border-radius:3px;background:var(--river);color:#fff;cursor:pointer;min-height:44px}
.contact-form button:hover{background:var(--ink)}

/* health observances & key dates */
.observances > .dek{margin-top:10px}
.obs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px 28px;margin-top:20px}
.obs{border-top:2px solid var(--ink);padding-top:10px;min-width:0;display:flex;flex-direction:column;gap:6px}
.obs h3{font-size:22px;font-weight:800}
.obs p{margin:0;font-size:16px;line-height:1.5}
.obs .obs-date{font-family:var(--label);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--flag)}
.obs .obs-do{margin-top:auto;padding:8px 10px;background:var(--tint);border-left:3px solid var(--river);font-size:15px}

/* weather box */
.wx-pick{display:flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--label);font-size:13px;font-weight:700}
.wx-pick select{font:inherit;font-weight:600;font-size:15px;padding:6px 8px;border:1px solid #B9BEC4;border-radius:3px;background:var(--paper);color:var(--ink)}
.wx-out{margin-top:10px;font-size:15px}
.wx-list{list-style:none;margin:0;padding:0}
.wx-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule)}
.wx-name{font-family:var(--label);font-size:13px;font-weight:700}
.wx-ico{font-size:20px;line-height:1}
.wx-temp{font-family:var(--label);font-weight:700;font-size:17px;text-align:right;font-variant-numeric:tabular-nums}
.wx-night .wx-temp{color:var(--muted);font-size:15px}
.wx-desc{grid-column:1/-1;color:var(--muted);font-size:14px}
.wx-detail{grid-column:1/-1;font-size:14px;line-height:1.45}
.wx-alert{margin:0 0 8px;padding:8px 10px;background:#FDECEC;border-left:3px solid var(--flag);font-size:14px}
.wx-src{margin:8px 0 0;font-size:12px;color:var(--muted)}
.foot-submit{margin-top:10px !important;font-size:14px}
.crisis-988{border-left:4px solid var(--flag)}
