/* Shared design tokens + templates for every page that ISN'T the homepage
   (front-page.php is fully self-contained by design — see functions.php).
   Same palette/typography as the homepage so the whole site reads as one
   professional, consistent product. */
:root{--d:#0a0f1e;--d2:#111827;--g:#22c55e;--gd:#16a34a;--gl:#bbf7d0;--gg:rgba(34,197,94,0.2);--bg:#f8fafc;--w:#fff;--t:#334155;--tl:#64748b;--tm:#94a3b8;--bd:#e2e8f0;--gold:#f59e0b;--r:14px;--rs:10px;--sh:0 4px 24px rgba(10,15,30,0.07);--shl:0 12px 40px rgba(10,15,30,0.10);--tr:0.25s ease}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{font-family:'DM Sans',sans-serif;color:var(--t);background:var(--bg);line-height:1.75;margin:0}
a{color:var(--gd);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.cp-page-wrap{max-width:1200px;margin:0 auto;padding:120px 28px 80px}
.cp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
@media(max-width:900px){.cp-layout{grid-template-columns:1fr}.cp-page-wrap{padding:64px 24px 56px}}
.cp-article{background:var(--w);border:1px solid var(--bd);border-radius:var(--r);padding:40px 44px;box-shadow:var(--sh)}
@media(max-width:600px){.cp-article{padding:22px 18px}.cp-page-wrap{padding:28px 16px 40px}.cp-title{margin:0 0 12px}.cp-meta{margin-bottom:20px}.cp-eyebrow{margin-bottom:12px}}
.cp-eyebrow{display:inline-block;background:var(--gl);color:var(--gd);font-size:0.72rem;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:16px}
.cp-title{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:800;color:var(--d);letter-spacing:-0.03em;line-height:1.2;margin:0 0 16px}
.cp-meta{display:flex;align-items:center;gap:10px;color:var(--tl);font-size:0.85rem;margin-bottom:32px;flex-wrap:wrap}
.cp-meta img{width:32px;height:32px;border-radius:50%}
.cp-content{font-size:1rem;color:var(--t);line-height:1.85}
.cp-content h2{font-size:1.4rem;font-weight:800;color:var(--d);margin:36px 0 14px;letter-spacing:-0.02em}
.cp-content h3{font-size:1.12rem;font-weight:700;color:var(--d);margin:28px 0 10px}
.cp-content p{margin:0 0 16px}
.cp-content ul,.cp-content ol{margin:0 0 16px;padding-left:22px}
.cp-content li{margin-bottom:6px}
.cp-content img{border-radius:var(--rs);margin:20px 0}
.cp-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:0.92rem}
.cp-content th,.cp-content td{padding:12px 14px;border-bottom:1px solid var(--bd);text-align:left}
.cp-content thead th{background:var(--d);color:#fff}
.cp-content blockquote{border-left:3px solid var(--g);padding:8px 20px;color:var(--tl);font-style:italic;margin:20px 0}
aside.sidebar{min-height:1px}
.cp-page-wrap.cp-narrow{max-width:860px}
.cp-page-wrap.cp-narrow .cp-article{padding:40px 44px}
.cp-search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.cp-search-results li{background:var(--w);border:1px solid var(--bd);border-radius:var(--rs);padding:20px 22px}
.cp-search-results h3{margin:0 0 6px;font-size:1.05rem}
.cp-search-results p{margin:0;color:var(--tl);font-size:0.88rem}
.cp-404{text-align:center;padding:100px 24px}
.cp-404 .cp-code{font-size:0.85rem;font-weight:800;letter-spacing:0.08em;color:var(--gd);text-transform:uppercase}
.cp-404 h1{font-size:2rem;font-weight:800;color:var(--d);margin:10px 0 18px}
.cp-404 p{color:var(--tl);margin-bottom:28px}
.cp-404 .cp-btn{display:inline-flex;padding:14px 30px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:50px;font-weight:700}
