/* CTE blog post styling — reuses the same design tokens as the home page
   (tokens/*.css, loaded alongside this file) so posts share the site's branding. */

body.single-post{background:var(--surface-page)}
body.single-post #primary,
body.single-post .wp-site-blocks{background:var(--surface-page)}

.cte-post-body{
  max-width:760px;margin:0 auto;padding:0 var(--gutter);
  font-family:var(--font-body);color:var(--text-body);
  font-size:var(--text-md);line-height:var(--lh-body);letter-spacing:var(--track-body);
}
.cte-post-wide{max-width:960px;margin:0 auto;padding:0 var(--gutter)}

/* Hero / cover */
.cte-hero.wp-block-cover{margin:0 0 0;min-height:min(78vh,640px)!important}
.cte-hero.wp-block-cover .wp-block-cover__background{background:var(--concrete-950)}
.cte-hero .wp-block-cover__inner-container{
  max-width:960px;margin:0 auto;width:100%;padding:calc(var(--header-h,76px) + 48px) var(--gutter) 64px;
  display:flex;flex-direction:column;gap:18px;align-items:flex-start;text-align:left;
}
.cte-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 16px;border-radius:var(--radius-pill);
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);
  font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:var(--track-eyebrow);color:#fff;line-height:1;
}
.cte-hero h1{
  margin:0;max-width:820px;font-family:var(--font-display);color:#fff;
  font-size:var(--text-display-l);line-height:var(--lh-tight);letter-spacing:var(--track-display);
  font-weight:var(--weight-semibold);text-wrap:balance;
}
.cte-hero-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:var(--track-eyebrow);color:rgba(255,255,255,.55);
}

/* Meta row under hero (category / date / read time), lead paragraph */
.cte-post-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:40px 0 6px;
  font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:var(--track-eyebrow);color:var(--text-faint);
}
.cte-post-meta .cte-pill{
  padding:6px 12px;border-radius:var(--radius-pill);background:var(--amber-100);color:var(--amber-700);
}
.cte-lead{
  font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--lh-body);
  color:var(--text-muted);margin:14px 0 0;max-width:68ch;
}

/* Section headings + body copy */
.cte-post-body h2{
  font-family:var(--font-display);font-size:var(--text-display-s);line-height:var(--lh-display);
  letter-spacing:var(--track-display);font-weight:var(--weight-semibold);color:var(--text-strong);
  margin:64px 0 18px;
}
.cte-post-body h3{
  font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--track-heading);
  font-weight:var(--weight-semibold);color:var(--text-strong);margin:0 0 8px;
}
.cte-post-body > .wp-block-paragraph{
  font-size:var(--text-md);line-height:var(--lh-body);color:var(--text-body);margin:0 0 20px;
}
.cte-eyebrow-label{
  display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-2xs);
  text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--amber-600);margin:0 0 10px;
}

/* Inline figures / images */
.cte-post-body .wp-block-image{margin:36px 0}
.cte-post-body .wp-block-image img{
  border-radius:var(--radius-lg);display:block;width:100%;height:auto;box-shadow:var(--shadow-sm);
}
.cte-post-body .wp-block-image figcaption{
  margin-top:10px;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;
  letter-spacing:var(--track-eyebrow);color:var(--text-faint);text-align:left;
}

/* Callout box */
.cte-callout{
  background:var(--concrete-50);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);
  padding:clamp(24px,3vw,36px);margin:40px 0;
}
.cte-callout p:last-child{margin-bottom:0}
.cte-callout .cte-eyebrow-label{color:var(--amber-600)}

/* Stat row */
.cte-stats{
  display:flex;flex-wrap:wrap;gap:0;margin:40px 0;padding:28px 0;
  border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);
}
.cte-stat{padding-right:32px;margin-right:32px;border-right:1px solid var(--border-subtle)}
.cte-stat:last-child{border-right:none;margin-right:0;padding-right:0}
.cte-stat-value{
  display:block;font-family:var(--font-display);font-weight:var(--weight-semibold);
  font-size:var(--text-xl);letter-spacing:var(--track-display);color:var(--text-strong);line-height:1.05;
}
.cte-stat-label{
  display:block;margin-top:4px;font-family:var(--font-mono);font-size:var(--text-2xs);
  text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-muted);
}

/* Numbered process steps */
.cte-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:36px 0}
.cte-step{padding:22px 0 0;border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:8px}
.cte-step-n{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--track-eyebrow);color:var(--amber-600)}
.cte-step h3{font-size:var(--text-md);margin:0}
.cte-step p{font-size:var(--text-sm);line-height:var(--lh-body);color:var(--text-muted);margin:0}

/* Pull quote */
.cte-post-body .wp-block-quote{
  margin:44px 0;padding:4px 0 4px 28px;border-left:3px solid var(--amber-500);border-top:none;
}
.cte-post-body .wp-block-quote p{
  font-family:var(--font-display);font-size:var(--text-xl);line-height:1.42;
  letter-spacing:var(--track-heading);font-weight:var(--weight-medium);color:var(--text-strong);
  margin:0;text-wrap:pretty;
}
.cte-post-body .wp-block-quote cite{
  display:block;margin-top:12px;font-style:normal;font-family:var(--font-mono);font-size:var(--text-2xs);
  text-transform:uppercase;letter-spacing:var(--track-eyebrow);color:var(--text-faint);
}

/* Closing CTA band */
.cte-cta.wp-block-group{
  background:var(--concrete-900);border-radius:var(--radius-xl);padding:clamp(36px,5vw,64px);
  margin:56px 0 40px;text-align:center;
}
.cte-cta h2{
  color:#fff;margin:0 0 14px;font-family:var(--font-display);font-size:var(--text-display-s);
  letter-spacing:var(--track-display);
}
.cte-cta p{color:rgba(255,255,255,.72);max-width:52ch;margin:0 auto 24px;font-size:var(--text-sm);line-height:var(--lh-body)}
.cte-cta .wp-block-buttons{justify-content:center}
.cte-cta .wp-block-button__link{
  display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border-radius:var(--radius-pill)!important;
  background:var(--amber-500)!important;color:var(--concrete-0)!important;font-family:var(--font-body);
  font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--track-label);
  text-decoration:none!important;border:none;
}

/* FAQ mini-section */
.cte-faq{margin:56px 0 20px;padding:8px clamp(20px,3vw,36px);background:var(--surface-card);
  border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.cte-faq-item{padding:22px 0;border-bottom:1px solid var(--border-subtle)}
.cte-faq-item:last-child{border-bottom:none}
.cte-faq-item h3{
  font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-medium);
  letter-spacing:var(--track-heading);color:var(--text-strong);margin:0 0 8px;
}
.cte-faq-item p{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-muted);margin:0}

@media (max-width:780px){
  .cte-steps{grid-template-columns:1fr}
  .cte-stats{gap:18px}
  .cte-stat{flex:1 1 42%;border-right:none;padding-right:0;margin-right:0}
  .cte-hero h1{font-size:var(--text-display-m)}
}
