/* Charlotte / Civic green */
:root { --rssan-primary:#17674e;--rssan-primary-dark:#132e32;--rssan-bg:#f4f8f4;--city-highlight:#e9ce87;--city-wash:#e8efe7;--city-line:#ccd8cc;--city-radius:8px; }

/* City edition identity. Loaded after the shared reading and discussion styles. */
:root { --rssan-accent:var(--city-highlight); --rssan-accent-dark:var(--rssan-primary); --rssan-border:var(--city-line); }
.rssan-site-header { border-top:4px solid var(--rssan-primary); }
.rssan-utility-bar,.rssan-site-footer,.rssan-feed-box { background:var(--rssan-primary-dark); }
.rssan-feed-box { border-color:var(--rssan-primary-dark); }
.rssan-utility-inner .rssan-icon,.rssan-feed-box .rssan-eyebrow,.rssan-feed-box h3 em,.rssan-footer-grid h2 { color:var(--city-highlight); }
.rssan-utility-inner a:hover,.rssan-site-footer a:hover { color:var(--city-highlight); }
.rssan-site-title span { color:var(--rssan-primary); }
.rssan-brand-mark { display:grid;width:72px;height:72px;background:transparent;border:0;flex-shrink:0; }
.city-logo { display:block;width:72px;height:72px;object-fit:contain; }
.rssan-site-title { letter-spacing:-.045em; }
.rssan-nav-wrap { border-bottom:1px solid var(--city-line); }
.rssan-cat-pills .is-active { background:var(--rssan-primary-dark);border-color:var(--rssan-primary-dark);color:white; }
.rssan-card-thumb,.rssan-widget-box,.rssan-article-cover img { border-radius:var(--city-radius); }
.rssan-hero-main > .rssan-card-thumb,.rssan-hero-side .rssan-card-thumb { border-radius:var(--city-radius); }
.rssan-card-category,.rssan-single-content a { color:var(--rssan-primary); }
.rssan-image-placeholder { background:linear-gradient(135deg,var(--city-wash),var(--rssan-bg));color:var(--rssan-primary); }
.rssan-section-tile { background:var(--city-wash);border-color:var(--city-line);border-radius:var(--city-radius); }
.rssan-section-tile:nth-child(2) { background:var(--rssan-surface); }
.rssan-section-tile:nth-child(3) { background:var(--city-wash); }
.rssan-button { background:var(--city-highlight);color:var(--rssan-primary-dark);border-radius:var(--city-radius); }
.rssan-button:hover { background:white;color:var(--rssan-primary-dark); }
.rssan-single-content blockquote { background:var(--city-wash); }
.rssan-news-grid .rssan-card { transition:border-color .18s ease,box-shadow .18s ease; }
.rssan-news-grid .rssan-card:hover { border-color:var(--rssan-primary); }
@media(max-width:760px) {
 .rssan-brand-mark,.city-logo { width:36px;height:36px; }
 .rssan-site-title { min-width:0;font-size:clamp(18px,4.6vw,32px);letter-spacing:-.045em; }
 .rssan-site-branding { gap:8px; }
 .rssan-header-inner { gap:8px; }
 .rssan-edition-heading h1 { font-size:clamp(28px,7vw,37px); }
}
@media(prefers-reduced-motion:reduce) { .rssan-news-grid .rssan-card { transition:none; } }

.rssan-site-header { background:#fffefa; }
.rssan-edition-heading { border-bottom:3px solid var(--rssan-primary);margin-bottom:26px; }
.rssan-edition-heading h1 { font-family:Georgia,serif;font-weight:500;letter-spacing:-1.2px; }
.rssan-section-title { border-left:4px solid var(--rssan-primary);padding-left:13px; }
.rssan-news-grid .rssan-card { background:#fffefa;border:1px solid var(--city-line);border-radius:8px;overflow:hidden;padding-bottom:0; }
.rssan-news-grid .rssan-card-thumb { border-radius:0; }
.rssan-news-grid .rssan-card-body { padding:19px; }
@media(min-width:761px) { .rssan-hero { grid-template-columns:1.55fr 1fr; }.rssan-hero-side { border-left:1px solid var(--city-line);padding-left:25px; } }
