/* ==========================================================================
   Chengeh Editorial — long-form article reading system
   Loaded only on single posts. Scoped under .chengeh-single / .chengeh-article
   so nothing here can leak into the rest of the site.
   ========================================================================== */

.chengeh-single{
  --canvas:#FBFBFD; --paper:#FFFFFF; --surface:#F5F6FA; --hero-bg:#EFF1FB;
  --ink:#181A2E; --text:#2B2E45; --muted:#585D78; --faint:#6B7089;
  --hairline:#E5E7F0; --hairline-2:#D9DCE9;
  --accent:#2835B9; --accent-2:#552ABD;
  --accent-soft:rgba(40,53,185,.055); --accent-line:rgba(40,53,185,.22);
  --gradient:linear-gradient(210deg,#2835B9 0%,#552ABD 100%);
  --display:"Barlow","Helvetica Neue",Arial,sans-serif;
  --sans:"Hind","Helvetica Neue",Arial,sans-serif;
  --logo:"Prata",Georgia,serif;
  --w-prose:720px; --w-wide:880px; --w-full:1280px;
  --rail:200px; --gutter:80px;
  --page:calc(var(--rail) + var(--gutter) + var(--w-prose) + var(--gutter) + var(--rail));
  --pad:24px;
  --page-outer:calc(var(--page) + 2*var(--pad));
  --space-para:1.35em; --space-h2:4.25rem; --space-h3:2.75rem; --space-block:3rem;
  --radius-sm:6px; --radius-md:14px;
  --header-h:92px;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* --- let the article out of the theme's fixed-width shell ---------------- */
.chengeh-single .page_content_wrap{ padding:0 !important; background:var(--canvas); }
.chengeh-single .page_content_wrap > .content_wrap,
.chengeh-single .content_wrap{ width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.chengeh-single .content{ width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; float:none !important; }
.chengeh-single .content > article,
.chengeh-single .content > .chengeh-article{ margin:0; }

.chengeh-article{
  background:var(--canvas); color:var(--text);
  font-family:var(--sans); font-size:20px; line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.chengeh-article *,
.chengeh-article *::before,
.chengeh-article *::after{ box-sizing:border-box; }
.chengeh-article img{ max-width:100%; height:auto; display:block; }
.chengeh-article figure{ margin:0; }
.chengeh-article :focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }
.chengeh-article ::selection{ background:rgba(40,53,185,.14); }

.chengeh-skip{
  position:absolute; left:12px; top:-60px; z-index:120;
  background:var(--ink); color:#fff; padding:10px 18px;
  border-radius:var(--radius-sm); font-family:var(--display); font-size:.85rem;
  font-weight:500; text-decoration:none; transition:top .18s var(--ease);
}
.chengeh-skip:focus{ top:12px; }
.chengeh-sr{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* --- reading progress ---------------------------------------------------- */
.chengeh-progress{
  position:fixed; inset:0 0 auto 0; height:3px; z-index:9000;
  background:rgba(24,26,46,.055); pointer-events:none;
}
.chengeh-progress__bar{ height:100%; width:0%; background:var(--gradient); transition:width .08s linear; }

/* --- width system -------------------------------------------------------- */
.chengeh-prose{ max-width:var(--w-prose); margin-inline:auto; }
.chengeh-article .alignwide,
.chengeh-article .alignfull,
.chengeh-article .chengeh-wide{
  position:relative; left:50%; transform:translateX(-50%); margin-inline:0;
}
.chengeh-article .alignwide,
.chengeh-article .chengeh-wide{ width:min(var(--w-wide), calc(100vw - 2*var(--pad))); }
.chengeh-article .alignfull{ width:min(var(--w-full), calc(100vw - 2*var(--pad))); }

.chengeh-layout{
  max-width:var(--page-outer); margin:0 auto; padding:0 var(--pad);
  display:grid; grid-template-columns:var(--rail) minmax(0,1fr) var(--rail);
  column-gap:var(--gutter); align-items:stretch;
}
.chengeh-layout__rail{ grid-column:1; }
.chengeh-layout__body{ grid-column:2; min-width:0; }

/* --- hero ---------------------------------------------------------------- */
.chengeh-hero{ background:var(--hero-bg); padding:44px 0 56px; margin-bottom:64px; }
.chengeh-hero__grid{
  max-width:var(--page-outer); margin:0 auto; padding:0 var(--pad);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0 64px; align-items:center;
}
.chengeh-hero__text{ min-width:0; }

.chengeh-crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin:0 0 22px; padding:0; list-style:none;
  font-family:var(--display); font-size:.85rem; color:var(--muted);
}
.chengeh-crumbs a{ color:var(--accent); text-decoration:none; }
.chengeh-crumbs a:hover{ text-decoration:underline; text-underline-offset:.22em; }
.chengeh-crumbs li:not(:last-child)::after{ content:"/"; margin-left:8px; color:var(--hairline-2); }

.chengeh-eyebrow{
  margin:0 0 14px; font-family:var(--display); font-size:.78rem; font-weight:600;
  letter-spacing:.13em; text-transform:uppercase; color:var(--accent);
}
.chengeh-eyebrow a{ color:inherit; text-decoration:none; }
.chengeh-eyebrow a:hover{ text-decoration:underline; text-underline-offset:.28em; }

.chengeh-article .chengeh-title{
  font-family:var(--display); font-weight:600;
  font-size:clamp(2.05rem,3.9vw,3.15rem);
  line-height:1.07; letter-spacing:-.022em; color:var(--ink);
  margin:0; text-wrap:balance;
}
.chengeh-deck{
  font-family:var(--sans); font-weight:400;
  font-size:clamp(1.06rem,1.5vw,1.2rem);
  line-height:1.62; color:var(--muted); margin:22px 0 0; max-width:34em;
}
.chengeh-meta{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px;
  margin-top:30px; padding-top:20px; border-top:1px solid rgba(24,26,46,.11);
  font-family:var(--display); font-size:.76rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
.chengeh-meta__author{ color:var(--ink); font-weight:600; }
.chengeh-meta__dot{ color:var(--hairline-2); }
.chengeh-meta__actions{ margin-left:auto; position:relative; text-transform:none; letter-spacing:0; }

.chengeh-hero__media{ min-width:0; }
.chengeh-hero__media img{
  width:100%; height:clamp(240px,26vw,400px); object-fit:cover;
  border-radius:var(--radius-sm); background:var(--surface);
}

/* --- share --------------------------------------------------------------- */
.chengeh-share__btn{
  display:inline-flex; align-items:center; gap:7px;
  background:none; border:1px solid var(--hairline-2); border-radius:var(--radius-sm);
  padding:6px 12px; font-family:var(--display); font-size:.8rem; color:var(--muted);
  cursor:pointer; transition:border-color .2s var(--ease), color .2s var(--ease);
}
.chengeh-share__btn:hover{ border-color:var(--ink); color:var(--ink); }
.chengeh-share__menu{
  position:absolute; right:0; top:calc(100% + 8px); z-index:40; min-width:186px; padding:6px;
  background:var(--paper); border:1px solid var(--hairline); border-radius:var(--radius-md);
  box-shadow:0 12px 30px -18px rgba(24,26,46,.35); display:none;
}
.chengeh-share__menu[data-open="true"]{ display:block; }
.chengeh-share__menu button,
.chengeh-share__menu a{
  display:flex; align-items:center; width:100%; padding:9px 12px; border:0;
  border-radius:var(--radius-sm); background:none; font-family:var(--sans);
  font-size:.85rem; color:var(--text); text-align:left; text-decoration:none;
  cursor:pointer; transition:background .16s var(--ease);
}
.chengeh-share__menu button:hover,
.chengeh-share__menu a:hover{ background:var(--surface); }

/* --- rail ---------------------------------------------------------------- */
.chengeh-rail{ position:sticky; top:calc(var(--header-h) + 34px); padding-top:8px; transition:opacity .35s var(--ease); }
.chengeh-rail.is-dimmed{ opacity:0; pointer-events:none; }
.chengeh-rail__label{
  font-family:var(--display); font-size:.68rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); margin:0 0 14px;
}
.chengeh-toc{ list-style:none; margin:0 0 44px; padding:0; border-left:1px solid var(--hairline); }
.chengeh-toc li{ margin:0; }
.chengeh-toc a{
  display:block; padding:7px 0 7px 15px; margin-left:-1px;
  border-left:2px solid transparent; font-family:var(--sans);
  font-size:.815rem; line-height:1.45; color:var(--muted); text-decoration:none;
  transition:color .2s var(--ease), border-color .2s var(--ease);
}
.chengeh-toc a:hover{ color:var(--ink); }
.chengeh-toc a[aria-current="true"]{ color:var(--ink); font-weight:500; border-left-color:var(--accent); }
.chengeh-explore{ list-style:none; margin:0; padding:0; }
.chengeh-explore li{ margin-bottom:9px; }
.chengeh-explore a{ font-family:var(--sans); font-size:.815rem; color:var(--muted); text-decoration:none; transition:color .2s var(--ease); }
.chengeh-explore a:hover{ color:var(--accent); }

.chengeh-toc-mobile{ display:none; margin:0 0 var(--space-block); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.chengeh-toc-mobile summary{
  list-style:none; cursor:pointer; padding:15px 2px; display:flex; align-items:center;
  justify-content:space-between; font-family:var(--display); font-size:.9rem; font-weight:500; color:var(--ink);
}
.chengeh-toc-mobile summary::-webkit-details-marker{ display:none; }
.chengeh-toc-mobile summary .chev{ transition:transform .25s var(--ease); color:var(--muted); }
.chengeh-toc-mobile[open] summary .chev{ transform:rotate(180deg); }
.chengeh-toc-mobile ol{ list-style:none; margin:0; padding:0 0 16px; }
.chengeh-toc-mobile a{ display:block; padding:9px 0 9px 14px; border-left:2px solid var(--hairline); font-size:.9rem; color:var(--muted); text-decoration:none; }
.chengeh-toc-mobile a[aria-current="true"]{ color:var(--ink); border-left-color:var(--accent); }

/* --- prose --------------------------------------------------------------- */
.chengeh-prose > * + *{ margin-top:var(--space-para); }
.chengeh-prose p{ margin:0; }
.chengeh-prose strong,.chengeh-prose b{ font-weight:600; color:var(--ink); }

.chengeh-article .chengeh-prose h2{
  font-family:var(--display); font-weight:600;
  font-size:clamp(1.55rem,2.7vw,2rem); line-height:1.14; letter-spacing:-.018em;
  color:var(--ink); margin:var(--space-h2) 0 0;
  scroll-margin-top:calc(var(--header-h) + 28px); text-wrap:balance;
}
.chengeh-prose h2 + *{ margin-top:1.15rem; }
.chengeh-article .chengeh-prose h3{
  font-family:var(--display); font-weight:600;
  font-size:clamp(1.22rem,1.9vw,1.44rem); line-height:1.28; letter-spacing:-.008em;
  color:var(--ink); margin:var(--space-h3) 0 0;
  scroll-margin-top:calc(var(--header-h) + 28px);
}
.chengeh-prose h3 + *{ margin-top:.85rem; }
.chengeh-article .chengeh-prose h4{ font-family:var(--display); font-weight:600; font-size:1.18rem; color:var(--ink); margin:2.2rem 0 0; }

.chengeh-prose a{
  color:var(--accent); text-decoration:underline; text-decoration-thickness:1px;
  text-underline-offset:.19em; text-decoration-color:var(--accent-line);
  transition:text-decoration-color .2s var(--ease), color .2s var(--ease);
}
.chengeh-prose a:hover{ color:var(--accent-2); text-decoration-color:currentColor; }

.chengeh-prose ul,.chengeh-prose ol{ margin:1.5rem 0 0; padding:0 0 0 1.35em; }
.chengeh-prose li{ margin:0 0 .78em; padding-left:.32em; }
.chengeh-prose ol li::marker{ color:var(--accent); font-family:var(--display); }
.chengeh-prose ul{ list-style:none; padding-left:1.5em; }
.chengeh-prose ul > li{ position:relative; }
.chengeh-prose ul > li::before{
  content:""; position:absolute; left:-1.1em; top:.72em; width:5px; height:5px;
  border-radius:1px; background:var(--accent); opacity:.8;
}
.chengeh-prose li > strong:first-child{ color:var(--ink); }

.chengeh-prose figure.wp-block-image,
.chengeh-prose .chengeh-figure{ margin:var(--space-block) 0; }
.chengeh-prose figure.wp-block-image img,
.chengeh-prose .chengeh-figure img{ border-radius:var(--radius-sm); background:var(--surface); width:100%; }
.chengeh-prose figcaption,
.chengeh-prose .wp-element-caption{
  margin-top:14px; font-family:var(--sans); font-size:.83rem; line-height:1.6;
  color:var(--muted); max-width:52em; text-align:left;
}
.chengeh-prose .alignwide figcaption,
.chengeh-prose .alignfull figcaption{ margin-inline:auto; text-align:center; max-width:46em; }
.chengeh-prose figcaption b,.chengeh-prose figcaption strong{ color:var(--text); font-weight:500; }

.chengeh-prose hr,.chengeh-prose .wp-block-separator{
  border:0; border-top:1px solid var(--hairline); margin:var(--space-block) 0; height:0; opacity:1;
}

/* default (unstyled) quotes still read as editorial */
.chengeh-prose blockquote{
  margin:var(--space-block) 0; padding:0 0 0 26px;
  border-left:2px solid var(--accent-line);
}
.chengeh-prose blockquote p{ font-family:var(--display); font-size:1.2rem; line-height:1.45; color:var(--ink); }

/* --- block style: pull quote --------------------------------------------- */
.chengeh-prose .is-style-chengeh-pullquote{
  margin:calc(var(--space-block) + .5rem) 0; padding:0 0 0 28px;
  border-left:2px solid var(--accent); border-right:0;
  width:min(840px,100%); position:relative; left:50%; transform:translateX(-50%);
  background:none;
}
.chengeh-prose .is-style-chengeh-pullquote p{
  font-family:var(--display); font-weight:500;
  font-size:clamp(1.34rem,2.4vw,1.76rem); line-height:1.28; letter-spacing:-.016em;
  color:var(--ink); margin:0; text-wrap:balance;
}
.chengeh-prose .is-style-chengeh-pullquote cite{
  display:block; margin-top:14px; font-style:normal; font-family:var(--display);
  font-size:.82rem; font-weight:500; color:var(--muted); text-transform:none;
}

/* --- block style: callouts ------------------------------------------------ */
.chengeh-prose .is-style-chengeh-callout,
.chengeh-prose .is-style-chengeh-callout-neutral{
  margin:var(--space-block) 0; padding:26px 30px 28px;
  border:1px solid var(--hairline); border-radius:var(--radius-md);
}
.chengeh-prose .is-style-chengeh-callout{ background:var(--accent-soft); }
.chengeh-prose .is-style-chengeh-callout-neutral{ background:var(--surface); }
.chengeh-prose .is-style-chengeh-callout > *,
.chengeh-prose .is-style-chengeh-callout-neutral > *{ font-size:.965rem; line-height:1.66; }
.chengeh-prose .is-style-chengeh-callout > *:first-child,
.chengeh-prose .is-style-chengeh-callout-neutral > *:first-child{
  margin:0 0 14px; font-family:var(--display); font-size:.7rem; font-weight:600;
  letter-spacing:.02em; text-transform:none; color:var(--accent);
}
.chengeh-prose .is-style-chengeh-callout-neutral > *:first-child{ color:var(--muted); }
.chengeh-prose .is-style-chengeh-callout > * + *,
.chengeh-prose .is-style-chengeh-callout-neutral > * + *{ margin-top:.9em; }

/* --- opening summary ------------------------------------------------------ */
.chengeh-brief{
  margin:0 0 var(--space-block); padding:28px 32px 30px;
  background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-md);
}
.chengeh-brief__label{
  margin:0 0 16px; font-family:var(--display); font-size:.7rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
}
.chengeh-brief ul{ margin:0; padding:0; list-style:none; }
.chengeh-brief li{ position:relative; margin:0 0 11px; padding-left:22px; font-size:.965rem; line-height:1.62; color:var(--text); }
.chengeh-brief li:last-child{ margin-bottom:0; }
.chengeh-brief li::before{ content:""; position:absolute; left:0; top:.66em; width:6px; height:6px; border-radius:50%; background:var(--accent); opacity:.5; }

/* --- key takeaways -------------------------------------------------------- */
.chengeh-takeaways{ margin:var(--space-block) 0 0; padding:32px 34px 34px; background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-md); }
.chengeh-article .chengeh-takeaways h2{ font-family:var(--display); font-size:1.24rem; font-weight:600; letter-spacing:-.01em; color:var(--ink); margin:0 0 20px; }
.chengeh-takeaways ol{ counter-reset:t; list-style:none; margin:0; padding:0; }
.chengeh-takeaways li{ counter-increment:t; position:relative; padding-left:38px; margin:0 0 15px; font-size:.965rem; line-height:1.62; }
.chengeh-takeaways li:last-child{ margin-bottom:0; }
.chengeh-takeaways li::before{
  content:counter(t); position:absolute; left:0; top:1px; width:24px; height:24px;
  border-radius:50%; background:var(--gradient); color:#fff; font-family:var(--display);
  font-size:.72rem; font-weight:600; display:grid; place-items:center;
}

/* --- statistic ------------------------------------------------------------ */
.chengeh-stat{
  margin:var(--space-block) 0; display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:6px 34px; align-items:start; padding:34px 0;
  border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
}
.chengeh-stat__value{
  font-family:var(--display); font-weight:600; font-size:clamp(2.9rem,6vw,4.1rem);
  line-height:.95; letter-spacing:-.03em; color:var(--accent);
  background:var(--gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
@supports not (background-clip:text){ .chengeh-stat__value{ -webkit-text-fill-color:var(--accent); } }
.chengeh-stat__body p{ margin:0; font-size:1.02rem; line-height:1.58; color:var(--text); }
.chengeh-stat__source{ display:block; margin-top:10px; font-family:var(--display); font-size:.78rem; color:var(--muted); }

/* --- sources -------------------------------------------------------------- */
.chengeh-sources{ margin-top:var(--space-block); }
.chengeh-article .chengeh-sources h2{ font-family:var(--display); font-size:1.46rem; font-weight:600; letter-spacing:-.014em; color:var(--ink); margin:0 0 6px; }
.chengeh-sources ol{ counter-reset:s; list-style:none; margin:24px 0 0; padding:0; }
.chengeh-sources li{ counter-increment:s; position:relative; padding:16px 0 16px 40px; border-top:1px solid var(--hairline); margin:0; }
.chengeh-sources li:last-child{ border-bottom:1px solid var(--hairline); }
.chengeh-sources li::before{ content:counter(s); position:absolute; left:0; top:19px; font-family:var(--display); font-size:.76rem; font-weight:500; color:var(--faint); font-variant-numeric:tabular-nums; }
.chengeh-sources a{ font-size:.985rem; font-weight:500; color:var(--ink); text-decoration:none; }
.chengeh-sources a:hover{ color:var(--accent); text-decoration:underline; text-underline-offset:.2em; }
.chengeh-sources__pub{ display:block; margin-top:3px; font-size:.82rem; color:var(--muted); }

/* --- tags, updated note, author ------------------------------------------- */
.chengeh-updated{ margin:var(--space-block) 0 0; font-family:var(--display); font-size:.76rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.chengeh-tags{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.chengeh-tag{
  display:inline-block; padding:6px 13px; border:1px solid var(--hairline-2);
  border-radius:var(--radius-sm); font-family:var(--display); font-size:.79rem;
  color:var(--muted); text-decoration:none;
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.chengeh-tag:hover{ border-color:var(--accent); color:var(--accent); }

.chengeh-author{ display:flex; gap:20px; align-items:flex-start; margin-top:var(--space-block); padding-top:32px; border-top:1px solid var(--hairline); }
.chengeh-author__avatar{ flex:none; width:58px; height:58px; border-radius:50%; overflow:hidden; background:var(--gradient); color:#fff; display:grid; place-items:center; font-family:var(--display); font-size:1.02rem; font-weight:600; letter-spacing:.04em; }
.chengeh-author__avatar img{ width:100%; height:100%; object-fit:cover; }
.chengeh-author__name{ font-family:var(--display); font-size:1rem; font-weight:600; color:var(--ink); margin:0 0 5px; }
.chengeh-author__bio{ margin:0; font-size:.92rem; line-height:1.62; color:var(--muted); }
.chengeh-author__links{ display:flex; flex-wrap:wrap; gap:18px; margin-top:12px; }
.chengeh-author__links a{ font-family:var(--display); font-size:.83rem; color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent-line); padding-bottom:1px; }
.chengeh-author__links a:hover{ border-bottom-color:currentColor; }

/* --- closing sections ------------------------------------------------------ */
.chengeh-closing{ margin-top:100px; border-top:1px solid var(--hairline); background:var(--paper); }
.chengeh-closing__inner{ max-width:var(--page-outer); margin:0 auto; padding:76px var(--pad) 0; }
.chengeh-article .chengeh-section-label{ font-family:var(--display); font-size:1.38rem; font-weight:600; letter-spacing:-.014em; color:var(--ink); margin:0 0 34px; }
.chengeh-related{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; max-width:var(--page); margin:0 auto; }
.chengeh-related__item{ display:flex; flex-direction:column; }
.chengeh-related__topic{ font-family:var(--display); font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:0 0 10px; }
.chengeh-article .chengeh-related__title{ margin:0 0 9px; font-family:var(--display); font-size:1.15rem; line-height:1.26; letter-spacing:-.01em; font-weight:600; }
.chengeh-related__title a{
  color:var(--ink); text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor); background-size:0% 1px;
  background-repeat:no-repeat; background-position:0 100%; transition:background-size .3s var(--ease);
}
.chengeh-related__title a:hover{ background-size:100% 1px; }
.chengeh-related__desc{ margin:0 0 14px; font-size:.9rem; line-height:1.6; color:var(--muted); }
.chengeh-related__meta{ margin:auto 0 0; font-family:var(--display); font-size:.78rem; color:var(--faint); }

.chengeh-news{ max-width:var(--page-outer); margin:88px auto 0; padding:56px var(--pad) 64px; border-top:1px solid var(--hairline); }
.chengeh-news__inner{ max-width:var(--w-prose); margin:0 auto; }
.chengeh-article .chengeh-news h2{ font-family:var(--display); font-size:clamp(1.45rem,2.6vw,1.8rem); font-weight:600; letter-spacing:-.016em; color:var(--ink); margin:0 0 12px; }
.chengeh-news p{ margin:0 0 26px; font-size:.985rem; line-height:1.65; color:var(--muted); max-width:38em; }
.chengeh-news .mc4wp-form-fields{ display:flex; gap:10px; flex-wrap:wrap; }
.chengeh-news input[type="email"]{
  flex:1 1 280px; min-width:0; padding:12px 16px; font-family:var(--sans); font-size:.93rem;
  color:var(--text); background:var(--paper); border:1px solid var(--hairline-2);
  border-radius:var(--radius-sm); text-transform:none; letter-spacing:0;
}
.chengeh-news input[type="email"]:focus{ border-color:var(--accent); }
.chengeh-news input[type="submit"],
.chengeh-news button[type="submit"]{
  padding:12px 26px; border:0; border-radius:var(--radius-sm); background:var(--gradient);
  color:#fff; font-family:var(--display); font-size:.9rem; font-weight:500; cursor:pointer;
  text-transform:none; letter-spacing:0; transition:opacity .2s var(--ease);
}
.chengeh-news input[type="submit"]:hover{ opacity:.9; }

.chengeh-toast{
  position:fixed; left:50%; bottom:32px; transform:translate(-50%,14px);
  background:var(--ink); color:#fff; padding:11px 20px; border-radius:var(--radius-sm);
  font-family:var(--sans); font-size:.85rem; opacity:0; pointer-events:none; z-index:9500;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.chengeh-toast[data-show="true"]{ opacity:1; transform:translate(-50%,0); }

/* --- preview banner (removed when the template goes live) ------------------ */
.chengeh-preview-flag{
  position:fixed; left:16px; bottom:16px; z-index:9600;
  display:inline-flex; align-items:center; gap:8px; padding:8px 15px;
  border-radius:100px; background:var(--ink); color:#fff;
  font-family:var(--display); font-size:.75rem; font-weight:500;
  box-shadow:0 8px 24px -12px rgba(24,26,46,.6);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1240px){ .chengeh-single{ --gutter:56px; } }

@media (max-width:1099px){
  .chengeh-layout{ grid-template-columns:minmax(0,1fr); max-width:calc(var(--w-prose) + 2*var(--pad)); }
  .chengeh-layout__rail{ display:none; }
  .chengeh-layout__body{ grid-column:1; }
  .chengeh-toc-mobile{ display:block; }
  .chengeh-article .alignfull{ width:min(var(--w-wide), calc(100vw - 2*var(--pad))); }
  .chengeh-hero__grid{ grid-template-columns:minmax(0,1fr); gap:32px 0; max-width:calc(var(--w-prose) + 2*var(--pad)); }
  .chengeh-hero__media{ width:100vw; position:relative; left:50%; transform:translateX(-50%); }
  .chengeh-hero__media img{ height:clamp(230px,32vw,330px); border-radius:0; }
}

@media (max-width:1050px){
  .chengeh-single{ --space-h2:3.4rem; --space-h3:2.25rem; --space-block:2.5rem; }
  .chengeh-hero{ padding:34px 0 44px; margin-bottom:48px; }
}

@media (max-width:767px){
  .chengeh-single{ --pad:22px; --header-h:72px; --space-h2:3rem; --space-h3:2rem; --space-block:2.25rem; }
  .chengeh-article{ font-size:18px; line-height:1.72; }
  .chengeh-hero{ padding:24px 0 36px; margin-bottom:36px; }
  .chengeh-crumbs{ font-size:.8rem; margin-bottom:16px; }
  .chengeh-hero__media img{ height:clamp(200px,48vw,265px); }
  .chengeh-meta{ margin-top:24px; font-size:.72rem; }
  .chengeh-meta__actions{ margin-left:0; width:100%; margin-top:6px; }
  .chengeh-share__menu{ left:0; right:auto; }
  .chengeh-layout{ padding-inline:var(--pad); }
  .chengeh-brief,.chengeh-takeaways,
  .chengeh-prose .is-style-chengeh-callout,
  .chengeh-prose .is-style-chengeh-callout-neutral{ padding:22px 20px 24px; }
  .chengeh-prose .is-style-chengeh-pullquote{ padding-left:20px; width:100%; left:auto; transform:none; }
  .chengeh-article .alignwide,
  .chengeh-article .alignfull,
  .chengeh-article .chengeh-wide{ width:min(calc(100% + 2*var(--pad)),100vw); }
  .chengeh-article .alignwide img,
  .chengeh-article .alignfull img{ border-radius:0; }
  .chengeh-article .alignwide figcaption,
  .chengeh-article .alignfull figcaption{ padding-inline:var(--pad); text-align:left; }
  .chengeh-stat{ grid-template-columns:minmax(0,1fr); gap:14px; padding:26px 0; }
  .chengeh-related{ grid-template-columns:minmax(0,1fr); gap:34px; }
  .chengeh-closing__inner{ padding-top:52px; }
  .chengeh-news{ margin-top:56px; padding-top:44px; }
  .chengeh-tags{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
  .chengeh-tags::-webkit-scrollbar{ display:none; }
  .chengeh-tag{ flex:none; }
}

@media (prefers-reduced-motion:reduce){
  .chengeh-article *,.chengeh-article *::before,.chengeh-article *::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}

@media print{
  .chengeh-progress,.chengeh-rail,.chengeh-toc-mobile,.chengeh-news,.chengeh-closing,
  .chengeh-meta__actions,.chengeh-preview-flag,.chengeh-toast{ display:none !important; }
  .chengeh-article{ background:#fff; font-size:11pt; }
  .chengeh-hero{ background:none; padding:0; margin-bottom:24px; }
  .chengeh-hero__grid{ display:block; padding:0; }
  .chengeh-layout{ display:block; max-width:none; }
  .chengeh-article .alignwide,.chengeh-article .alignfull,
  .chengeh-prose .is-style-chengeh-pullquote{ position:static; left:auto; transform:none; width:100%; }
}

/* --- fix: theme's compiled color-scheme CSS overrides quote backgrounds ---
   rhodos/css/__colors_default.css ships a very specific rule -
   ".scheme_default div:not(.is-style-solid-color)>blockquote" (and the
   section/figure equivalents) - that beats every rule above on pure CSS
   specificity (two type selectors + a :not() pseudo-class), regardless of
   load order. It forces EVERY blockquote (plain wp:quote and
   is-style-chengeh-pullquote alike) to a solid #16D08E green fill with white
   text and a white quote-mark icon, which is why quotes were rendering green
   instead of the plain/bordered or indigo look defined above. Re-declared
   here with matching-or-higher specificity, scoped to chengeh-editorial
   articles only, recoloring the fill to the site's indigo instead of
   removing it outright (keeps the same solid-quote-card look readers see,
   just on-brand). Text/icon stay white - already fine on indigo. */
.chengeh-single.scheme_default section > blockquote,
.chengeh-single.scheme_default div:not(.is-style-solid-color) > blockquote,
.chengeh-single.scheme_default figure:not(.is-style-solid-color) > blockquote{
  background-color:#2835B9 !important;
}

/* the theme header's own title block is redundant beside the article hero */
.chengeh-single .sc_layouts_title{ display:none !important; }

/* --- header/hero junction -------------------------------------------------
   The header layout's page-title section (a 90px spacer plus the title the
   article hero already provides) is removed in PHP. These rules are the
   structural fallback if Elementor's should_render filters ever change. */
.chengeh-single .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-trx_sc_layouts_title){ display:none !important; }
.chengeh-single .elementor-widget-trx_sc_layouts_title,
.chengeh-single .sc_layouts_title{ display:none !important; }

/* a deliberate, small gap between the nav and the hero band */
.chengeh-single .chengeh-hero{ margin-top:20px; }
@media (max-width:767px){
  .chengeh-single .chengeh-hero{ margin-top:14px; }
}
