/* Charleston Living: scoped editorial layouts using the existing local brand fonts. */
.charleston-publication { background:var(--rc-ivory,#f8f7f3); color:var(--rc-navy,#122c43); padding-bottom:1px; }
.blog-intro { padding-block:62px 32px; border-bottom:1px solid #d5cec0; }
.blog-intro h1 { font:400 clamp(48px,7vw,88px)/1.08 var(--serif); letter-spacing:-.04em; margin:10px 0 18px; }
.blog-intro h1>span { color:#967321; }
.blog-subtitle { font-size:19px; line-height:1.65; max-width:680px; margin:0 0 24px; }
.blog-category-navigation { margin-top:30px; }
.blog-filter-controls,.blog-category-fallback { display:flex; flex-wrap:wrap; gap:8px; }
.blog-filter-controls button { background:transparent; border:1px solid #9b998d; border-radius:2px; padding:11px 15px; min-height:44px; color:#122c43; font:400 14px/1.4 var(--sans); cursor:pointer; }
.blog-filter-controls button:hover { background:#eeeae2; }
.blog-filter-controls button[aria-pressed=true] { background:#122c43; color:#fff; border-color:#122c43; }
.blog-category-fallback { display:none; }
.no-js .blog-filter-controls { display:none; }
.no-js .blog-category-fallback { display:flex; gap:10px 24px; }
.blog-category-fallback a { padding-block:10px; }
.blog-review-notice { background:#fff5d7; color:#463309; border:1px solid #c5a753; padding:18px 24px; font-size:14px; line-height:1.6; }
.blog-review-notice strong { letter-spacing:.08em; }
.blog-review-notice p { margin:6px 0 0; }
.charleston-publication>.blog-review-notice { margin:0; text-align:center; }
.blog-opening { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; padding-block:54px 62px; align-items:center; }
.blog-opening-copy h2 { font:400 clamp(32px,4vw,46px)/1.17 var(--serif); margin:16px 0; }
.blog-opening-copy>p:not(.eyebrow) { font-size:17px; line-height:1.8; max-width:570px; }
.blog-opening-art { min-height:255px; background:#122c43; color:#f8f7f3; padding:40px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.blog-opening-art>span:first-child { font:400 clamp(30px,3vw,44px)/1.15 var(--serif); }
.blog-opening-art em { font-weight:400; }
.blog-opening-rule { display:block; width:60px; height:2px; background:#d5af4a; margin-block:22px; }
.blog-opening-note { font:400 10px/1.6 var(--sans); letter-spacing:.12em; }
.blog-feature { padding-block:42px 0; }
.blog-feature>.eyebrow { margin-bottom:16px; }
.blog-feature-panel { background:#122c43; color:#f8f7f3; padding:48px 54px; display:grid; gap:30px; }
.blog-feature-panel:has(>.blog-feature-image) { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
.blog-feature-panel .eyebrow { color:#e6cb83; }
.blog-feature-panel h2 { font:400 clamp(32px,4.5vw,55px)/1.14 var(--serif); letter-spacing:-.02em; margin:14px 0 20px; max-width:900px; }
.blog-feature-panel h2 a,.blog-feature-panel .blog-feature-link { color:#fff; }
.blog-feature-panel h2 a { text-decoration:none; }
.blog-feature-panel h2 a:hover { text-decoration:underline; text-underline-offset:5px; }
.blog-feature-panel p:not(.eyebrow) { max-width:760px; line-height:1.75; color:#f8f7f3; }
.blog-feature-panel .blog-dateline { color:#e4e0d6; }
.blog-feature-link { display:inline-block; padding-block:10px; border-bottom:1px solid #d5af4a; text-decoration:none; }
.blog-feature-image { width:100%; height:auto; object-fit:cover; aspect-ratio:4/3; align-self:center; }
.blog-recent { padding-block:56px 60px; }
.blog-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:28px; }
.blog-section-heading h2,.blog-discovery>h2,.blog-legacy-review h2 { font:400 clamp(30px,3.8vw,42px)/1.2 var(--serif); margin:0; }
.blog-result-count,.blog-dateline { font-size:13px; line-height:1.7; }
.blog-result-count { margin:0; }
.blog-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 30px; }
.blog-story { border-top:2px solid #d5af4a; padding-top:22px; min-width:0; scroll-margin-top:var(--header-offset,130px); }
.blog-story h3 { font:400 29px/1.25 var(--serif); margin:12px 0 16px; overflow-wrap:anywhere; }
.blog-story h3 a { color:#122c43; text-decoration:none; }
.blog-story h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.blog-story>p:not(.eyebrow):not(.blog-dateline) { font-size:15px; line-height:1.8; }
.blog-story>.text-link { display:inline-block; padding-block:8px; }
.blog-story-image { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; margin-bottom:20px; }
.blog-series { font-size:13px; letter-spacing:.04em; font-weight:600; }
.blog-discovery { padding-block:52px 60px; border-top:1px solid #d5cec0; }
.blog-discovery>.eyebrow { margin-bottom:14px; }
.blog-discovery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#d7cfc0; border:1px solid #d7cfc0; margin-top:30px; }
.blog-discovery-grid>a { display:block; background:#f8f7f3; padding:28px 30px; color:#122c43; text-decoration:none; }
.blog-discovery-grid>a:hover { background:#eeeae2; }
.blog-resource-number { font:400 15px var(--serif); color:#70551c; }
.blog-discovery-grid h3 { font:400 27px/1.3 var(--serif); margin:12px 0; }
.blog-discovery-grid p { font-size:15px; line-height:1.75; max-width:410px; }
.blog-discovery-grid>a>span:last-child { font-size:13px; font-weight:600; }
.blog-invitation { border-top:1px solid #d5cec0; display:flex; justify-content:space-between; align-items:center; gap:32px; padding-block:44px 56px; }
.blog-invitation h2 { font:400 clamp(27px,3vw,36px)/1.25 var(--serif); margin:12px 0; }
.blog-invitation p { max-width:650px; line-height:1.75; }
.blog-invitation>a { flex-shrink:0; padding-block:12px; }
.blog-legacy-review { padding-block:30px 45px; }
.blog-legacy-review li { margin-block:14px; }
.blog-article { padding-block:48px 65px; font-size:17px; line-height:1.9; }
.blog-article-heading { margin-bottom:40px; }
.blog-article-heading h1 { font:400 clamp(36px,5.4vw,60px)/1.15 var(--serif); letter-spacing:-.025em; margin-block:15px 24px; }
.blog-article-intro { font-size:20px; line-height:1.75; }
.blog-article .blog-review-notice { margin-bottom:35px; }
.blog-article section { margin-top:36px; }
.blog-article h2 { font:400 clamp(27px,3vw,34px)/1.3 var(--serif); }
.blog-article .blog-section-sources { font-size:13px; line-height:1.75; }
.blog-sources { border-top:1px solid #d5cec0; padding-top:25px; font-size:14px; }
.blog-sources li { margin-block:16px; scroll-margin-top:var(--header-offset,130px); }
.blog-article-next { background:#f8f7f3; padding:22px 26px; }
.blog-related { padding-bottom:60px; }
.blog-related>h2 { margin-bottom:30px; }
@media(max-width:1024px) { .blog-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .blog-opening { gap:35px; } .blog-feature-panel { padding:35px; } }
@media(max-width:700px) {
 .blog-intro { padding-block:36px 24px; }
 .blog-intro h1 { font-size:clamp(43px,11vw,65px); }
 .blog-subtitle { font-size:17px; }
 .blog-filter-controls { gap:7px; }
 .blog-filter-controls button { font-size:13px; padding:10px 12px; }
 .blog-opening { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:34px 40px; }
 .blog-opening-art { min-height:210px; padding:28px; }
 .blog-feature { padding-top:30px; }
 .blog-feature-panel,.blog-feature-panel:has(>.blog-feature-image) { grid-template-columns:minmax(0,1fr); padding:26px 23px; }
 .blog-feature-panel h2 { font-size:34px; }
 .blog-section-heading { display:block; }
 .blog-result-count { margin-top:12px; }
 .blog-story-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
 .blog-recent,.blog-discovery { padding-block:38px; }
 .blog-discovery-grid { grid-template-columns:minmax(0,1fr); }
 .blog-discovery-grid>a { padding:24px; }
 .blog-invitation { display:block; padding-block:32px 40px; }
 .blog-invitation>a { display:inline-block; }
 .blog-review-notice { padding:15px 18px; text-align:left; }
 .blog-article { padding-top:28px; font-size:16px; }
 .blog-article-intro { font-size:18px; }
 .blog-article-next { padding:18px; }
}

/* One primary photograph feeds cards, feature and article hero. Pending frames are local-only markup. */
.article-media { margin:0; min-width:0; }
.article-media img { display:block; width:100%; height:100%; aspect-ratio:4/3; background:#eeeae2; }
.article-photo-link { display:block; text-decoration:none; }
.article-media figcaption { display:flex; flex-direction:column; gap:4px; margin-top:9px; color:#4a5b65; font:400 12px/1.6 var(--sans); }
.article-media-feature figcaption { color:#e4e0d6; }
.article-photo-pending { aspect-ratio:4/3; width:100%; background:#eeeae2; color:#45535b; border:1px solid #b8b2a5; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; text-align:center; padding:18px; }
.article-photo-pending>span:not(.photo-pending-mark) { font:400 clamp(16px,2vw,21px)/1.4 var(--serif); }
.photo-pending-mark { width:40px; height:40px; border:1px solid #827551; display:grid; place-items:center; font:400 26px var(--serif); color:#6b571f; }
.article-photo-pending small { font:400 9px/1.7 var(--sans); letter-spacing:.08em; }
.blog-story { display:flex; flex-direction:column; }
.blog-story[hidden],.blog-feature[hidden],.blog-recent[hidden] { display:none; }
.blog-story>.article-media { margin-bottom:22px; }
.blog-story>h3 { font-size:clamp(24px,2.3vw,29px); }
.blog-story>.blog-dateline { margin-top:auto; padding-top:14px; }
.blog-story>.text-link { align-self:flex-start; }
.blog-feature-panel:has(>.article-media) { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); align-items:center; }
.blog-feature-panel:has(>.article-media) h2 { font-size:clamp(30px,3.5vw,45px); }
.blog-feature-panel:has(>.article-media) { padding:36px; }
.blog-article-heading>.article-media { margin-top:28px; }
.blog-article { max-width:780px; }
.blog-article-heading h1 { overflow-wrap:break-word; font-size:clamp(34px,4.8vw,56px); }
.blog-article>section>p:not(.blog-section-sources) { line-height:1.9; margin-bottom:22px; }
.blog-article .blog-section-sources a,.blog-sources a { overflow-wrap:anywhere; }
.blog-sources a { display:inline-block; padding-block:5px; }
.blog-category-navigation>.blog-result-count { margin-top:16px; }
.blog-filter-empty { padding-block:32px; }
.editorial-verification-notice { background:#fff5d7; border-left:3px solid #977222; padding:18px 22px; margin-top:24px; font-size:14px; line-height:1.7; }
@media(max-width:700px) {
 .blog-intro { padding-block:28px 22px; }
 .blog-intro h1 { font-size:clamp(35px,9.5vw,56px); }
 .blog-category-navigation { margin-top:20px; }
 .blog-filter-controls { gap:7px; }
 .blog-filter-controls button { font-size:12px; padding:10px 11px; min-height:44px; }
 .blog-category-navigation>.blog-result-count { font-size:12px; margin-top:13px; }
 .blog-feature-panel:has(>.article-media) { grid-template-columns:minmax(0,1fr); padding:20px; gap:24px; }
 .blog-feature-panel:has(>.article-media) h2 { font-size:32px; }
 .article-media-feature .article-photo-pending,.article-media-feature img { aspect-ratio:4/3; }
 .blog-story-grid { gap:34px; }
 .blog-article { font-size:16px; padding-block:26px 45px; }
 .blog-article-intro { font-size:18px; line-height:1.8; }
 .blog-article .blog-review-notice { margin-bottom:26px; }
 .blog-article h2 { font-size:27px; }
 .blog-related .article-photo-pending { max-height:none; }
}

.blog-story>.text-link { min-height:44px; display:inline-flex; align-items:center; }
.blog-story h3 a { display:inline-block; padding-block:4px; }
.blog-article>section { max-width:68ch; margin-inline:auto; }
.blog-sources a { min-height:44px; padding-block:10px; }

.blog-dateline time { white-space:nowrap; }
.article-media figcaption { overflow-wrap:anywhere; }
@media(max-width:700px) { .blog-article .blog-review-notice { font-size:12px; line-height:1.6; padding:12px 14px; } }

/* Round 2: this stylesheet is loaded only by Charleston Living pages. */
.breadcrumbs ol { gap:0 10px; }
.breadcrumbs li { display:flex; align-items:baseline; gap:8px; min-width:0; max-width:100%; }
.breadcrumbs li:last-child { flex:1 1 220px; }
.breadcrumbs li+li::before { flex-shrink:0; padding:0; }
.breadcrumbs li>a,.breadcrumbs li>span { min-width:0; min-height:44px; padding-block:10px; line-height:1.6; overflow-wrap:break-word; }
.breadcrumbs li>a { display:inline-flex; align-items:center; }
.blog-story>.eyebrow { margin:0 0 10px; letter-spacing:1px; }
.blog-story>h3 { margin:0 0 12px; overflow-wrap:break-word; }
.blog-story>.blog-story-excerpt { font-size:16px; line-height:1.7; margin-bottom:16px; }
.blog-story>.article-media { margin-bottom:18px; }
.blog-story>.blog-dateline { padding-top:10px; margin-bottom:6px; }
.blog-related { max-width:1000px; }
.blog-related .blog-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.blog-article-heading { margin-bottom:28px; }
.blog-article-heading>.eyebrow { margin:0 0 10px; }
.blog-article-heading h1 { margin-block:12px 18px; }
.blog-article-intro { line-height:1.7; margin-bottom:18px; }
.blog-article-heading>.blog-dateline { margin-bottom:18px; }
.blog-article .blog-review-notice { margin-bottom:24px; }
.blog-article .blog-review-notice p { line-height:1.65; }
.blog-article .editorial-notice { padding:14px 18px; margin:18px 0; font-size:14px!important; line-height:1.65; }
.blog-article-heading>.article-media { max-width:640px; margin:20px auto 0; }
.blog-article .article-media figcaption { font-size:13px; margin-top:8px; }
.blog-article>section { margin-top:28px; }
.blog-article>section>p:not(.blog-section-sources) { line-height:1.8; margin-bottom:18px; }
@media(max-width:700px) {
 .blog-article { padding-top:18px; }
 .blog-article-heading h1 { font-size:clamp(30px,8vw,34px); }
 .blog-article-intro { font-size:17px; line-height:1.7; }
 .blog-article .blog-review-notice { font-size:13px; line-height:1.65; }
 .blog-article .editorial-notice { padding:12px 14px; margin:16px 0; font-size:13px!important; }
 .blog-article-heading>.article-media { max-width:440px; }
 .blog-related .blog-story-grid { grid-template-columns:minmax(0,1fr); }
}
