.bcs-article {
    --bcs-accent: #53a696;
    --bcs-secondary: #116f3b;
    --bcs-max-width: 1180px;
    --bcs-radius: 22px;
    --bcs-dark: #14211c;
    --bcs-text: #26322d;
    --bcs-muted: #66736d;
    --bcs-border: #dce6e1;
    --bcs-bg: #f5f8f6;
    --bcs-card: #fff;
    --bcs-shadow: 0 12px 40px rgba(20,33,28,.08);
    color: var(--bcs-text);
    font-size: 17px;
    line-height: 1.75;
}
.bcs-article *, .bcs-article *::before, .bcs-article *::after { box-sizing: border-box; }
.bcs-article img { max-width: 100%; height: auto; }
.bcs-article a { color: var(--bcs-secondary); text-underline-offset: 3px; }
.bcs-article .bcs-container { width: min(var(--bcs-max-width), calc(100% - 32px)); margin-inline: auto; }
.bcs-article section { scroll-margin-top: 110px; margin-bottom: 58px; }
.bcs-article h1, .bcs-article h2, .bcs-article h3, .bcs-article h4 { text-wrap: balance; }
.bcs-article h2 { margin: 0 0 22px; color: var(--bcs-dark); font-size: clamp(1.65rem,3vw,2.45rem); line-height: 1.18; letter-spacing: -.025em; }
.bcs-article h3 { margin: 34px 0 15px; color: var(--bcs-dark); font-size: clamp(1.22rem,2vw,1.62rem); line-height: 1.28; }
.bcs-article h4 { margin: 25px 0 10px; color: var(--bcs-secondary); font-size: 1.05rem; }
.bcs-article p { margin: 0 0 20px; }

.bcs-hero { position: relative; overflow: hidden; min-height: 560px; display: flex; align-items: end; background: linear-gradient(135deg,#0e3827,#173a2c); color: #fff; }
.bcs-hero-media, .bcs-hero-overlay { position: absolute; inset: 0; }
.bcs-hero-media:empty { display: none; }
.bcs-hero-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.bcs-hero-overlay { background: linear-gradient(90deg,rgba(9,31,22,.91),rgba(9,31,22,.56) 58%,rgba(9,31,22,.3)), linear-gradient(0deg,rgba(9,31,22,.72),transparent 55%); }
.bcs-hero-content { position: relative; z-index: 2; padding-block: clamp(52px,8vw,96px); }
.bcs-kicker { display: inline-flex; padding: 7px 13px; margin-bottom: 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.09); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bcs-hero h1 { max-width: 990px; margin: 0; color: #fff; font-size: clamp(2rem,5vw,4rem); line-height: 1.06; letter-spacing: -.035em; }
.bcs-lead { max-width: 900px; margin: 24px 0 0 !important; color: rgba(255,255,255,.9); font-size: clamp(1.05rem,2vw,1.3rem); line-height: 1.65; }
.bcs-meta-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.bcs-meta-row span { padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.1); font-size: .82rem; }

.bcs-content-wrap { padding-block: 0 65px; }
.bcs-summary-grid { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-top: -34px; margin-bottom: 45px; }
.bcs-card { padding: 22px; border: 1px solid var(--bcs-border); border-radius: var(--bcs-radius); background: var(--bcs-card); box-shadow: var(--bcs-shadow); }
.bcs-card small { display: block; margin-bottom: 8px; color: var(--bcs-secondary); font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.bcs-card strong { display: block; color: var(--bcs-dark); font-size: 1.06rem; line-height: 1.4; }
.bcs-card p { margin: 9px 0 0; color: var(--bcs-muted); font-size: .91rem; line-height: 1.58; }

.bcs-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 42px; align-items: start; }
.bcs-main { min-width: 0; }
.bcs-sidebar { min-width: 0; }
.bcs-intro { padding: 27px; margin-bottom: 54px; border-left: 4px solid var(--bcs-accent); border-radius: 0 var(--bcs-radius) var(--bcs-radius) 0; background: color-mix(in srgb, var(--bcs-accent) 10%, white); font-size: 1.05rem; }

.bcs-toc { padding: 22px; border: 1px solid var(--bcs-border); border-radius: var(--bcs-radius); background: #fff; box-shadow: 0 10px 35px rgba(20,33,28,.06); }
.bcs-toc-sticky { position: sticky; top: 100px; }
.bcs-toc-title { margin-bottom: 12px; color: var(--bcs-dark); font-size: 1rem; font-weight: 850; }
.bcs-toc ol { list-style: none; padding: 0; margin: 0; }
.bcs-toc li + li { border-top: 1px solid #edf1ef; }
.bcs-toc a { display: grid; grid-template-columns: 27px 1fr; gap: 8px; padding: 10px 0; color: #44514b; font-size: .84rem; line-height: 1.36; text-decoration: none; }
.bcs-toc a:hover, .bcs-toc a.is-active { color: var(--bcs-secondary); }
.bcs-toc-num { display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; border-radius: 7px; background: var(--bcs-bg); color: var(--bcs-secondary); font-size: .7rem; font-weight: 800; }
.bcs-toc-level-3 a, .bcs-toc-level-4 a { padding-left: 14px; font-size: .78rem; }

.bcs-feature-grid, .bcs-location-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; margin: 28px 0; }
.bcs-location-grid { grid-template-columns: repeat(3,1fr); }
.bcs-location { padding: 20px; border: 1px solid var(--bcs-border); border-radius: 17px; background: #fff; }
.bcs-location strong { color: var(--bcs-dark); }
.bcs-location p { margin: 7px 0 0; color: var(--bcs-muted); font-size: .9rem; }

.bcs-callout { margin: 28px 0; padding: 24px 26px; border-radius: var(--bcs-radius); border: 1px solid var(--bcs-border); }
.bcs-callout strong { color: var(--bcs-dark); }
.bcs-callout p:last-child { margin-bottom: 0; }
.bcs-callout-info { background: color-mix(in srgb,var(--bcs-accent) 10%,white); border-color: color-mix(in srgb,var(--bcs-accent) 35%,white); }
.bcs-callout-warning { background: #fff8e9; border-color: #ead7b1; }
.bcs-callout-critical { background: #fff3f1; border-color: #eccbc7; }

.bcs-dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 30px 0; }
.bcs-panel { padding: 25px; border-radius: var(--bcs-radius); border: 1px solid var(--bcs-border); }
.bcs-panel h3 { margin-top: 0; }
.bcs-panel-positive { background: color-mix(in srgb,var(--bcs-accent) 10%,white); }
.bcs-panel-critical { background: #fff3f1; }
.bcs-panel ul { margin-bottom: 0; padding-left: 20px; }

.bcs-key-question { padding: clamp(28px,5vw,44px); margin: 36px 0; border-radius: calc(var(--bcs-radius) + 6px); background: radial-gradient(circle at 90% 20%,color-mix(in srgb,var(--bcs-accent) 35%,transparent),transparent 34%), #102a20; color: #fff; }
.bcs-key-question small { display: block; margin-bottom: 9px; color: color-mix(in srgb,var(--bcs-accent) 65%,white); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bcs-key-question strong { display: block; max-width: 850px; font-size: clamp(1.35rem,3vw,2.1rem); line-height: 1.3; }

.bcs-quote { margin: 30px 0; padding: 28px; border: 0; border-radius: var(--bcs-radius); background: var(--bcs-dark); color: #fff; }
.bcs-quote p { color: rgba(255,255,255,.9); font-size: 1.06rem; }
.bcs-quote footer { color: color-mix(in srgb,var(--bcs-accent) 60%,white); font-size: .87rem; }

.bcs-timeline { position: relative; margin: 30px 0; padding-left: 31px; }
.bcs-timeline::before { content: ""; position: absolute; left: 8px; top: 7px; bottom: 7px; width: 2px; background: linear-gradient(var(--bcs-accent),var(--bcs-secondary)); }
.bcs-timeline-item { position: relative; margin-bottom: 28px; padding-left: 15px; }
.bcs-timeline-item::before { content: ""; position: absolute; left: -29px; top: 7px; width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: var(--bcs-secondary); box-shadow: 0 0 0 2px var(--bcs-accent); }
.bcs-timeline-date { color: var(--bcs-secondary); font-size: .76rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.bcs-timeline-item h3 { margin: 3px 0 8px; font-size: 1.15rem; }
.bcs-timeline-item p { margin-bottom: 7px; color: var(--bcs-muted); }
.bcs-small-link { font-size: .82rem; font-weight: 700; }

.bcs-principles { display: grid; gap: 10px; margin: 28px 0; }
.bcs-principles > div { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; padding: 20px; border: 1px solid var(--bcs-border); border-radius: 16px; background: #fff; }
.bcs-principles span { grid-row: 1/3; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: var(--bcs-secondary); color: #fff; font-weight: 800; }
.bcs-principles strong { color: var(--bcs-dark); }
.bcs-principles p { margin: 4px 0 0; color: var(--bcs-muted); font-size: .9rem; }

.bcs-checklist { padding-left: 20px; }
.bcs-checklist li { margin: 8px 0; }
.bcs-source-list { display: grid; gap: 12px; padding: 0; list-style: none; counter-reset: source; }
.bcs-source-item { display: grid; gap: 3px; padding: 17px 19px; border: 1px solid var(--bcs-border); border-radius: 15px; background: #fff; }
.bcs-source-org { color: var(--bcs-secondary); font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.bcs-source-item a { font-weight: 720; overflow-wrap: anywhere; }
.bcs-source-item small { color: var(--bcs-muted); }
.bcs-editor-note { margin-top: 25px; padding: 21px; border-radius: var(--bcs-radius); background: var(--bcs-bg); color: var(--bcs-muted); }

.bcs-figure { margin: 32px 0; }
.bcs-figure img { width: 100%; border-radius: var(--bcs-radius); display: block; }
.bcs-figure figcaption, .bcs-gallery figcaption { margin-top: 8px; color: var(--bcs-muted); font-size: .82rem; }
.bcs-gallery { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; margin: 30px 0; }
.bcs-gallery-item { margin: 0; }
.bcs-gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--bcs-radius); display: block; }

.bcs-reading-progress { position: fixed; z-index: 99999; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.bcs-reading-progress span { display: block; width: 0; height: 100%; background: var(--bcs-progress-color,#53a696); }
.bcs-admin-notice { padding: 15px; border: 1px solid #dcdcde; background: #fff; }

.bcs-theme-ocean { --bcs-accent:#55a9c2; --bcs-secondary:#146f8c; }
.bcs-theme-alert { --bcs-accent:#e59a42; --bcs-secondary:#a64338; }
.bcs-theme-neutral { --bcs-accent:#8d9a94; --bcs-secondary:#45504b; }

@media (max-width: 1000px) {
    .bcs-summary-grid { grid-template-columns: repeat(2,1fr); }
    .bcs-layout { grid-template-columns: 1fr; }
    .bcs-sidebar { order: -1; }
    .bcs-toc-sticky { position: relative; top: auto; }
    .bcs-location-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 680px) {
    .bcs-article { font-size: 16px; }
    .bcs-article .bcs-container { width: min(var(--bcs-max-width), calc(100% - 22px)); }
    .bcs-hero { min-height: 490px; }
    .bcs-summary-grid, .bcs-feature-grid, .bcs-dual-grid, .bcs-location-grid, .bcs-gallery { grid-template-columns: 1fr; }
    .bcs-summary-grid { margin-top: -24px; }
    .bcs-callout, .bcs-quote { padding: 21px; }
}
