/* CHR development extension v1 — editorial layer. Reuses tokens from /styles.css */
.cx{--cx-teal:#102b31;--cx-teal2:#173840;--cx-ink:#1d3737;--cx-cream:#faf8f2;--cx-sand:#f0eadf;--cx-mint:#dce8e3;--cx-gold:#d9b889;--cx-gold2:#bc945f;--cx-body:#4d5d60;--cx-line:#e2ddd0;background:var(--cx-cream);color:var(--cx-ink);font-family:'DM Sans',Arial,sans-serif}
.cx *{box-sizing:border-box}
.cx-hero{position:relative;overflow:hidden;background:var(--cx-teal);color:var(--cx-cream);padding:88px 22px 76px}
.cx-hero::before{content:"";position:absolute;inset:auto -10% -55% auto;width:620px;height:620px;border-radius:50%;border:1px solid rgba(217,184,137,.35);box-shadow:0 0 0 46px rgba(220,232,227,.04),0 0 0 92px rgba(220,232,227,.03)}
.cx-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--cx-gold) 0 22%,var(--cx-mint) 22% 60%,var(--cx-gold2) 60%)}
.cx-wrap{max-width:1120px;margin:0 auto;position:relative}
.cx-crumbs{font-size:13px;letter-spacing:.04em;margin:0 0 28px;color:rgba(250,248,242,.72)}
.cx-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.cx-crumbs li+li::before{content:"/";margin-right:8px;color:var(--cx-gold)}
.cx-crumbs a{color:var(--cx-mint);text-decoration:none;border-bottom:1px solid transparent}
.cx-crumbs a:hover,.cx-crumbs a:focus-visible{border-bottom-color:var(--cx-gold)}
.cx-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--cx-gold);margin-bottom:18px}
.cx-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(38px,6.4vw,76px);line-height:1.03;margin:0 0 22px;max-width:15ch;color:var(--cx-cream)}
.cx-hero h1 em{color:var(--cx-gold);font-style:italic}
.cx .cx-lede{font-size:clamp(17px,2vw,20px);line-height:1.65;max-width:62ch;color:rgba(250,248,242,.86);margin:0 0 32px}
.cx-actions{display:flex;flex-wrap:wrap;gap:12px}
.cx-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid var(--cx-gold);background:var(--cx-gold);color:var(--cx-teal);cursor:pointer;font-family:inherit;transition:transform .25s ease,background-color .25s ease}
.cx-btn:hover,.cx-btn:focus-visible{transform:translateY(-2px);background:#e6c99f}
.cx-btn.ghost{background:transparent;color:var(--cx-cream);border-color:rgba(250,248,242,.4)}
.cx-btn.ghost:hover,.cx-btn.ghost:focus-visible{background:rgba(250,248,242,.08)}
.cx-btn.dark{background:var(--cx-teal);color:var(--cx-cream);border-color:var(--cx-teal)}
.cx-btn.line{background:transparent;color:var(--cx-teal);border-color:var(--cx-teal)}
.cx :focus-visible{outline:2px solid var(--cx-gold2);outline-offset:3px}
.cx-toc{position:sticky;top:0;z-index:5;background:rgba(250,248,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--cx-line)}
.cx-toc ul{list-style:none;display:flex;gap:6px;overflow-x:auto;margin:0 auto;padding:10px 22px;max-width:1164px;scrollbar-width:none}
.cx-toc a{display:block;white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:13.5px;color:var(--cx-ink);text-decoration:none}
.cx-toc a:hover,.cx-toc a[aria-current="true"]{background:var(--cx-mint)}
.cx-body{padding:72px 22px 40px}
.cx-sec{max-width:1120px;margin:0 auto 84px;scroll-margin-top:72px}
.cx-sec>header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:30px;max-width:760px}
.cx-num{font-family:'Playfair Display',serif;font-style:italic;color:var(--cx-gold2);font-size:18px}
.cx h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.12;margin:0;color:var(--cx-teal)}
.cx h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:22px;margin:0 0 10px;color:var(--cx-teal)}
.cx p,.cx li{line-height:1.72;color:var(--cx-body);font-size:16.5px}
.cx-prose{max-width:720px}
.cx-prose p{margin:0 0 18px}
.cx-split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.cx-panel{background:var(--cx-sand);border-radius:4px 28px 4px 28px;padding:30px 30px 24px;border:1px solid var(--cx-line)}
.cx-panel.mint{background:var(--cx-mint);border-color:#c9dbd4}
.cx-panel.teal{background:var(--cx-teal2);color:var(--cx-cream)}
.cx-panel.teal h3,.cx-panel.teal p,.cx-panel.teal li{color:var(--cx-cream)}
.cx-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:12px;background:rgba(16,43,49,.08);color:var(--cx-teal)}
.cx-tag.fact{background:var(--cx-teal);color:var(--cx-mint)}
.cx-tag.judge{background:var(--cx-gold);color:var(--cx-teal)}
.cx-tag.check{background:#fff8ea;color:var(--cx-gold2);border:1px solid var(--cx-gold)}
/* region strips */
.cx-regions{display:grid;gap:0;border-top:1px solid var(--cx-line)}
.cx-region{display:grid;grid-template-columns:220px 1fr 1fr;gap:36px;padding:36px 0;border-bottom:1px solid var(--cx-line)}
.cx-region h3{font-size:28px;line-height:1.15}
.cx-region .cx-sub{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cx-gold2);font-weight:700;display:block;margin-top:8px}
.cx-region dl{margin:0;display:grid;gap:14px}
.cx-region dt{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-teal)}
.cx-region dd{margin:2px 0 0;line-height:1.65;color:var(--cx-body)}
/* matrix */
.cx-matrix-wrap{overflow-x:auto;border:1px solid var(--cx-line);border-radius:18px;background:#fdfcf8}
.cx-matrix{width:100%;border-collapse:collapse;min-width:680px}
.cx-matrix th,.cx-matrix td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--cx-line);vertical-align:top;font-size:15px;line-height:1.55;color:var(--cx-body)}
.cx-matrix thead th{background:var(--cx-teal);color:var(--cx-cream);font-family:'Playfair Display',serif;font-weight:500;font-size:17px}
.cx-matrix tbody th{color:var(--cx-teal);font-weight:700;width:18%}
.cx-matrix tr:last-child>*{border-bottom:0}
/* checklist */
.cx-check{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.cx-check li{position:relative;padding-left:34px}
.cx-check li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border:1.5px solid var(--cx-gold2);border-radius:5px}
.cx-check li.on::before{background:var(--cx-gold2);box-shadow:inset 0 0 0 3px var(--cx-sand)}
.cx-check button{all:unset;cursor:pointer}
.cx-check strong{color:var(--cx-teal)}
/* notices */
.cx-notice{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 24px;border-left:4px solid var(--cx-gold);background:#fff8ea;border-radius:0 14px 14px 0;margin:28px 0}
.cx-notice b{font-family:'Playfair Display',serif;font-size:20px;color:var(--cx-gold2)}
.cx-notice p{margin:0}
/* cards for journal */
.cx-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.cx-card{grid-column:span 4;display:flex;flex-direction:column;background:#fdfcf8;border:1px solid var(--cx-line);border-radius:4px 22px 4px 22px;padding:26px;text-decoration:none;color:inherit;transition:transform .3s ease,border-color .3s ease}
.cx-card:hover,.cx-card:focus-visible{transform:translateY(-4px);border-color:var(--cx-gold)}
.cx-card.wide{grid-column:span 8;background:var(--cx-teal);color:var(--cx-cream)}
.cx-card.wide h3,.cx-card.wide p{color:var(--cx-cream)}
.cx-card.half{grid-column:span 6}
.cx-card h3{font-size:23px;line-height:1.22}
.cx-card p{font-size:15.5px;margin:0 0 14px}
.cx-card .cx-more{margin-top:auto;font-weight:600;font-size:14px;color:var(--cx-gold2)}
.cx-card .cx-mono{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cx-gold2);font-weight:700;margin-bottom:12px}
.cx-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.cx-filter button{font-family:inherit;font-size:14px;padding:9px 16px;border-radius:999px;border:1px solid var(--cx-line);background:#fdfcf8;color:var(--cx-ink);cursor:pointer}
.cx-filter button[aria-pressed="true"]{background:var(--cx-teal);color:var(--cx-cream);border-color:var(--cx-teal)}
.cx-card[hidden]{display:none}
/* faq */
.cx-faq{max-width:820px}
.cx-faq details{border-bottom:1px solid var(--cx-line);padding:4px 0}
.cx-faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-family:'Playfair Display',serif;font-size:20px;color:var(--cx-teal)}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:1.5px solid var(--cx-gold2);border-bottom:1.5px solid var(--cx-gold2);transform:translateY(-70%) rotate(45deg);transition:transform .25s ease}
.cx-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.cx-faq details p{margin:0 0 20px}
/* closing CTA */
.cx-cta{max-width:1120px;margin:0 auto 80px;background:var(--cx-teal);color:var(--cx-cream);border-radius:4px 40px 4px 40px;padding:56px clamp(24px,5vw,64px);display:grid;grid-template-columns:1.3fr 1fr;gap:40px;position:relative;overflow:hidden}
.cx-cta::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(217,184,137,.4)}
.cx-cta h2{color:var(--cx-cream)}
.cx-cta p{color:rgba(250,248,242,.82)}
.cx-cta .cx-actions{align-content:center}
.cx-fine{font-size:13.5px!important;color:#6a7577!important;max-width:820px}
.cx-reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.cx-enhanced .cx-reveal{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}.cx-enhanced .cx-reveal.in{opacity:1;transform:none}}
@media (max-width:900px){.cx-split,.cx-cta{grid-template-columns:1fr}.cx-region{grid-template-columns:1fr;gap:16px}.cx-card,.cx-card.wide,.cx-card.half{grid-column:span 12}}
@media (max-width:600px){.cx-hero{padding:56px 18px 52px}.cx-body{padding:48px 18px 24px}.cx-sec{margin-bottom:60px}.cx-panel{padding:22px}.cx-btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.cx *,.cx-reveal{transition:none!important;transform:none!important;opacity:1!important}html{scroll-behavior:auto!important}}
