:root {
  --pca-bg:#ffffff; --pca-surface:#f7f9fc; --pca-surface-strong:#eaf0f7;
  --pca-text:#172033; --pca-muted:#506078; --pca-border:#c7d2e0;
  --pca-accent:#075985; --pca-accent-hover:#064b70; --pca-on-accent:#ffffff;
  --pca-focus:#c2410c; --pca-evidence-bg:#ecfeff; --pca-evidence-border:#0891b2;
  --pca-commerce-bg:#fff8e8; --pca-commerce-border:#b45309;
}

html[data-pca-theme="dark"] {
  --pca-bg:#090f1b; --pca-surface:#111a2a; --pca-surface-strong:#1a2639;
  --pca-text:#f4f7fb; --pca-muted:#c4cfde; --pca-border:#3a4a61;
  --pca-accent:#67d2ff; --pca-accent-hover:#9ce2ff; --pca-on-accent:#07111f;
  --pca-focus:#fdba74; --pca-evidence-bg:#102936; --pca-evidence-border:#22d3ee;
  --pca-commerce-bg:#2a2115; --pca-commerce-border:#fbbf24;
}

.pca-article { max-width:860px; margin-inline:auto; padding:clamp(16px,3vw,40px); color:var(--pca-text); background:var(--pca-bg); font:400 1rem/1.72 system-ui,-apple-system,"Segoe UI",sans-serif; }
.pca-article * { box-sizing:border-box; }
.pca-hero { padding:clamp(24px,5vw,48px); border:1px solid var(--pca-border); border-top:5px solid var(--pca-accent); border-radius:16px; background:var(--pca-surface); }
.pca-eyebrow,.pca-commerce-kicker { color:var(--pca-accent); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.pca-article h1 { margin:.35rem 0 .7rem; color:var(--pca-text); font-size:clamp(2rem,5vw,3.25rem); line-height:1.08; }
.pca-deck { margin:0; color:var(--pca-muted); font-size:1.12rem; }
.pca-article section { margin-block:2.4rem; }
.pca-article h2 { margin:0 0 1rem; padding-bottom:.45rem; border-bottom:1px solid var(--pca-border); color:var(--pca-accent); font-size:clamp(1.4rem,3vw,1.8rem); line-height:1.25; }
.pca-article h3 { margin:1.6rem 0 .45rem; color:var(--pca-text); font-size:1.16rem; }
.pca-article p,.pca-article li { color:var(--pca-text); }
.pca-article a { color:var(--pca-accent); text-decoration-thickness:.08em; text-underline-offset:.16em; }
.pca-article a:hover { color:var(--pca-accent-hover); }
.pca-article a:focus-visible { outline:3px solid var(--pca-focus); outline-offset:3px; border-radius:3px; }
.pca-evidence-note { margin-block:1.5rem; padding:1rem 1.15rem; border-left:4px solid var(--pca-evidence-border); border-radius:8px; background:var(--pca-evidence-bg); color:var(--pca-text); }
.pca-steps li { margin-block:.85rem; padding-left:.35rem; }
.pca-references { padding:clamp(18px,3vw,28px); border:1px solid var(--pca-border); border-radius:12px; background:var(--pca-surface); }
.pca-references li { margin-block:.8rem; overflow-wrap:anywhere; }
.pca-commerce { margin-block:2.5rem; padding:clamp(18px,3vw,28px); border:1px solid var(--pca-commerce-border); border-left:5px solid var(--pca-commerce-border); border-radius:12px; background:var(--pca-commerce-bg); color:var(--pca-text); }
.pca-commerce .pca-commerce-title { margin:.25rem 0 .75rem; padding:0; border:0; color:var(--pca-text); font-size:1.35rem; }
.pca-affiliate-disclosure { color:var(--pca-muted); font-size:.9rem; }
.pca-commerce-link { display:inline-block; padding:.7rem 1rem; border-radius:8px; background:var(--pca-accent); color:var(--pca-on-accent)!important; font-weight:700; text-decoration:none; }

/* Override legacy article-template colors after the shared site stylesheet. */
html[data-pca-theme] body .pca-article { background:var(--pca-bg)!important; color:var(--pca-text)!important; border:0!important; }
html[data-pca-theme] body .pca-article .pca-hero { background:var(--pca-surface)!important; border-color:var(--pca-border)!important; border-top-color:var(--pca-accent)!important; }
html[data-pca-theme] body .pca-article .pca-hero h1,
html[data-pca-theme] body .pca-article .pca-hero p,
html[data-pca-theme] body .pca-article p,
html[data-pca-theme] body .pca-article li { color:var(--pca-text)!important; }
html[data-pca-theme] body .pca-article .pca-deck { color:var(--pca-muted)!important; }
html[data-pca-theme] body .pca-article h2,
html[data-pca-theme] body .pca-article a:not(.pca-commerce-link) { color:var(--pca-accent)!important; }
html[data-pca-theme] body .pca-article .pca-evidence-note { background:var(--pca-evidence-bg)!important; border-color:var(--pca-evidence-border)!important; color:var(--pca-text)!important; }
html[data-pca-theme] body .pca-article .pca-references { background:var(--pca-surface)!important; border-color:var(--pca-border)!important; }
html[data-pca-theme] body .pca-article .pca-commerce { background:var(--pca-commerce-bg)!important; border-color:var(--pca-commerce-border)!important; }

/* Remove decorative rails inherited from the old competency template. */
html[data-pca-theme] body .pca-article,
html[data-pca-theme] body .pca-article::before,
html[data-pca-theme] body .pca-article::after { box-shadow:none!important; }

/* Retire rails and dark framing applied by the former competency wrapper. */
html[data-pca-theme="light"] body .entry-content:has(.pca-article),
html[data-pca-theme="light"] body .inside-article:has(.pca-article),
html[data-pca-theme="light"] body main:has(.pca-article) { background:var(--pca-bg)!important; border-inline:0!important; box-shadow:none!important; }
html[data-pca-theme="dark"] body .entry-content:has(.pca-article),
html[data-pca-theme="dark"] body .inside-article:has(.pca-article),
html[data-pca-theme="dark"] body main:has(.pca-article) { background:var(--pca-bg)!important; border-inline:0!important; box-shadow:none!important; }
@media (max-width:600px) { .pca-article { padding:12px; } .pca-hero { padding:22px 18px; } }
@media (prefers-reduced-motion:reduce) { .pca-article * { scroll-behavior:auto!important; transition:none!important; } }
