/* IQ Journal post template + generated covers (v1.12.0).
   Loads after cp.css. Cover rules apply site-wide (cards); the body.cp-post-v2 rules
   apply only on single blog posts and take over Astra's single-post layout. */

/* ---------- Generated cover (cards, title band, CTA) ---------- */
.cp-cover { position: relative; display: block; width: 100%; height: 100%; min-height: 100%; overflow: hidden; background: #062842; isolation: isolate; }
.cp-cover::before { content: ""; position: absolute; inset: -2%; z-index: -2; background: url("../img/cp-wave.jpg") var(--cv-pos, 30% 40%) / var(--cv-sz, 160%) no-repeat; transform: var(--cv-flip, none); transition: transform .8s; }
.cp-cover::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(var(--cv-ang, 165deg), rgba(6,40,66,.10) 0%, rgba(6,40,66,.55) 62%, rgba(6,40,66,.92) 100%); }
.cp-cover-mk { position: absolute; z-index: -1; width: var(--cv-m, 70%); aspect-ratio: 1; inset: var(--cv-mi, auto -18% -34% auto); background: rgba(255,255,255,.075); -webkit-mask: url("../img/cp-mark.png") center / contain no-repeat; mask: url("../img/cp-mark.png") center / contain no-repeat; pointer-events: none; }
.cp-cover-tag { position: absolute; left: 22px; bottom: 22px; display: flex; flex-direction: column; gap: 10px; font-family: var(--cp-sans); font-weight: 700; font-size: 11px; line-height: 1.3; letter-spacing: .18em; text-transform: uppercase; color: #fff; }
.cp-cover-tag::before { content: ""; width: 28px; height: 2px; background: var(--cp-orange); }
.cp-cover--v1 { --cv-pos: 12% 30%; --cv-sz: 170%; --cv-m: 72%; --cv-mi: auto -20% -36% auto; }
.cp-cover--v2 { --cv-pos: 70% 60%; --cv-sz: 150%; --cv-flip: scaleX(-1); --cv-m: 58%; --cv-mi: -22% -14% auto auto; --cv-ang: 200deg; }
.cp-cover--v3 { --cv-pos: 40% 85%; --cv-sz: 210%; --cv-m: 84%; --cv-mi: auto auto -46% -26%; }
.cp-cover--v4 { --cv-pos: 95% 20%; --cv-sz: 180%; --cv-flip: scaleY(-1); --cv-m: 64%; --cv-mi: -30% auto auto -18%; --cv-ang: 150deg; }
.cp-cover--v5 { --cv-pos: 25% 70%; --cv-sz: 135%; --cv-flip: scale(-1,-1); --cv-m: 76%; --cv-mi: auto -26% -30% auto; }
.cp-cover--v6 { --cv-pos: 60% 10%; --cv-sz: 230%; --cv-m: 54%; --cv-mi: 18% -16% auto auto; --cv-ang: 190deg; }
.cp .cp-post:hover .cp-cover::before { transform: var(--cv-flip, none) scale(1.03); }
.cp .cp-post--featured .cp-cover-tag { left: 32px; bottom: 32px; }
@media (prefers-reduced-motion: reduce) { .cp-cover::before { transition: none; } }

/* ---------- Title band ---------- */
.cp .cp-post-hero { position: relative; color: var(--cp-on-ink); background-color: var(--cp-ink); }
.cp .cp-post-hero .cp-wrap { position: relative; padding-block: clamp(72px, 9vw, 128px) clamp(64px, 8vw, 112px); }
.cp .cp-post-hero .cp-h1 { max-width: 17em; font-size: clamp(30px, 4.2vw, 52px); line-height: 1.06; }
.cp .cp-post-hero .cp-lede { max-width: 36em; }
.cp .cp-post-hero.cp-cover { height: auto; }
.cp .cp-post-hero.cp-cover::before { --cv-sz: 120%; }
.cp .cp-post-hero.cp-cover::after { background: linear-gradient(90deg, rgba(6,40,66,.94) 0%, rgba(6,40,66,.78) 50%, rgba(6,40,66,.35) 100%); }
.cp .cp-post-hero .cp-cover-mk { --cv-m: min(560px, 58vw); --cv-mi: auto -6% -38% auto; }
.cp .cp-post-hero--photo { background: linear-gradient(90deg, rgba(6,40,66,.95) 0%, rgba(6,40,66,.84) 48%, rgba(6,40,66,.40) 100%), var(--cp-hero-img, none) center 40% / cover, var(--cp-ink); }
.cp .cp-post-byline { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 34px 0 0; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--cp-on-ink-muted); }
.cp .cp-post-byline span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 18px; vertical-align: middle; background: var(--cp-orange); }

/* ---------- CTA band ---------- */
.cp .cp-post-cta { color: var(--cp-on-ink); height: auto; }
.cp .cp-post-cta .cp-wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; align-items: end; gap: 32px 56px; padding-block: clamp(64px, 8vw, 104px); }
.cp .cp-post-cta .cp-btn-row { margin-top: 0; }
.cp .cp-post-cta.cp-cover::before { --cv-pos: 80% 50%; --cv-sz: 130%; --cv-flip: scaleX(-1); }
.cp .cp-post-cta.cp-cover::after { background: linear-gradient(90deg, rgba(6,40,66,.95) 0%, rgba(6,40,66,.86) 60%, rgba(6,40,66,.6) 100%); }
.cp .cp-post-cta .cp-cover-mk { --cv-m: 420px; --cv-mi: -40% auto auto -8%; }
@media (max-width: 820px) { .cp .cp-post-cta .cp-wrap { grid-template-columns: minmax(0, 1fr); } }
.cp .cp-post-related .cp-post .cp-copy { gap: 12px; }

/* ---------- Article page: take over Astra's single-post layout ---------- */
body.cp-post-v2,
body.cp-post-v2 .site-content,
body.cp-post-v2.ast-separate-container { background: #fff; }
body.cp-post-v2 .entry-header,
body.cp-post-v2 .post-thumb-img-content,
body.cp-post-v2 .ast-single-post-featured-section,
body.cp-post-v2 .ast-single-related-posts-container,
body.cp-post-v2 .post-navigation,
body.cp-post-v2 .ast-author-box,
body.cp-post-v2 .ast-single-entry-banner,
body.cp-post-v2 .entry-meta { display: none !important; }
body.cp-post-v2 #primary { margin: 0 !important; padding: 0 !important; }
body.cp-post-v2 .site-content > .ast-container { max-width: 1200px; padding-inline: clamp(16px, 4vw, 48px); }
body.cp-post-v2 .ast-article-single,
body.cp-post-v2.ast-separate-container .ast-article-single { background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: clamp(56px, 7vw, 96px) 0 clamp(64px, 8vw, 104px) !important; }
body.cp-post-v2 .entry-content { max-width: 700px; margin: 0 auto; font-family: var(--cp-sans); color: #24394B; }
body.cp-post-v2 .entry-content > * { max-width: 100%; }
body.cp-post-v2 .entry-content p,
body.cp-post-v2 .entry-content li { font-family: var(--cp-sans); font-weight: 400; font-size: 18px; line-height: 1.72; color: #24394B; }
body.cp-post-v2 .entry-content p { margin: 0 0 22px; }
body.cp-post-v2 .entry-content a { color: var(--cp-ink); text-decoration: underline; text-decoration-color: var(--cp-orange); text-underline-offset: 3px; }
body.cp-post-v2 .entry-content strong { font-weight: 700; color: var(--cp-ink); }
body.cp-post-v2 .entry-content h2 { position: relative; margin: 60px 0 22px; padding-top: 22px; font-family: var(--cp-sans); font-weight: 700; font-size: 23px; line-height: 1.25; letter-spacing: .02em; text-transform: uppercase; color: var(--cp-ink); text-wrap: balance; }
body.cp-post-v2 .entry-content h2::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background: var(--cp-orange); }
body.cp-post-v2 .entry-content h2:first-child,
body.cp-post-v2 .entry-content .cp-brief + h2 { margin-top: 0; }
body.cp-post-v2 .entry-content h3,
body.cp-post-v2 .entry-content h4 { margin: 40px 0 16px; font-family: var(--cp-sans); font-weight: 700; font-size: 17px; line-height: 1.35; letter-spacing: .04em; text-transform: uppercase; color: var(--cp-ink); }
body.cp-post-v2 .entry-content h2 strong,
body.cp-post-v2 .entry-content h3 strong { font-weight: inherit; }
body.cp-post-v2 .entry-content [class*="-color"] { color: inherit !important; }
body.cp-post-v2 .entry-content ul,
body.cp-post-v2 .entry-content ol { margin: 0 0 26px; padding: 0; list-style: none; display: grid; gap: 12px; }
body.cp-post-v2 .entry-content ul > li { position: relative; padding-left: 22px; }
body.cp-post-v2 .entry-content ul > li::before { content: ""; position: absolute; left: 0; top: .66em; width: 7px; height: 7px; background: var(--cp-orange); }
body.cp-post-v2 .entry-content ol { counter-reset: cp-ol; }
body.cp-post-v2 .entry-content ol > li { position: relative; padding-left: 34px; counter-increment: cp-ol; }
body.cp-post-v2 .entry-content ol > li::before { content: counter(cp-ol, decimal-leading-zero); position: absolute; left: 0; top: .1em; font-weight: 700; font-size: 14px; color: var(--cp-orange); }
body.cp-post-v2 .entry-content blockquote,
body.cp-post-v2 .entry-content .wp-block-quote,
body.cp-post-v2 .entry-content .wp-block-pullquote { margin: 46px 0; padding: 30px 0 30px 34px; border: 0; border-left: 2px solid var(--cp-orange); background: none; text-align: left; }
body.cp-post-v2 .entry-content blockquote p,
body.cp-post-v2 .entry-content .wp-block-pullquote p { margin: 0; font-family: var(--cp-serif); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.45; color: var(--cp-ink); text-wrap: balance; }
body.cp-post-v2 .entry-content blockquote cite { display: block; margin-top: 14px; font-family: var(--cp-sans); font-style: normal; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--cp-text-muted); }
body.cp-post-v2 .entry-content img,
body.cp-post-v2 .entry-content .wp-block-image { height: auto; margin-block: 36px; }
body.cp-post-v2 .entry-content figcaption { font-size: 14px; font-style: italic; color: var(--cp-text-muted); }
body.cp-post-v2 .entry-content .wp-block-embed,
body.cp-post-v2 .entry-content iframe { max-width: 100%; margin-block: 36px; }

/* In brief, end mark, disclosures, about */
body.cp-post-v2 .entry-content .cp-brief { margin: 0 0 52px; padding: 30px 32px 28px; background: var(--cp-paper); }
body.cp-post-v2 .entry-content .cp-brief-label { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-weight: 700; font-size: 12px; line-height: 1.6; letter-spacing: .16em; text-transform: uppercase; color: var(--cp-text-muted); }
body.cp-post-v2 .entry-content .cp-brief-label::before { content: ""; width: 32px; height: 2px; background: var(--cp-orange); flex: none; }
body.cp-post-v2 .entry-content .cp-brief ul,
body.cp-post-v2 .entry-content .cp-brief ol { margin: 0; }
body.cp-post-v2 .entry-content .cp-brief li { font-size: 17px; line-height: 1.55; }
body.cp-post-v2 .entry-content .cp-endmark { display: flex; align-items: center; gap: 14px; margin: 44px 0 0; }
body.cp-post-v2 .entry-content .cp-endmark span { width: 10px; height: 10px; background: var(--cp-orange); }
body.cp-post-v2 .entry-content .cp-endmark i { flex: 1; height: 1px; background: var(--cp-rule); }
body.cp-post-v2 .entry-content .cp-disclose { margin-top: 44px; padding: 30px 32px; background: var(--cp-paper); }
body.cp-post-v2 .entry-content .cp-disclose h3,
body.cp-post-v2 .entry-content .cp-about h3 { margin: 0 0 14px; padding: 0; font-size: 12px; letter-spacing: .16em; }
body.cp-post-v2 .entry-content .cp-disclose p,
body.cp-post-v2 .entry-content .cp-disclose li,
body.cp-post-v2 .entry-content .cp-about p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--cp-text-muted); }
body.cp-post-v2 .entry-content .cp-disclose p:last-child,
body.cp-post-v2 .entry-content .cp-about p:last-child { margin-bottom: 0; }
body.cp-post-v2 .entry-content .cp-disclose .cp-fa { color: var(--cp-ink); font-weight: 700; }
body.cp-post-v2 .entry-content .cp-about { margin-top: 28px; padding: 0 32px; }
@media (max-width: 600px) {
  body.cp-post-v2 .entry-content .cp-brief,
  body.cp-post-v2 .entry-content .cp-disclose { padding: 24px 20px; }
  body.cp-post-v2 .entry-content .cp-about { padding: 0 20px; }
  body.cp-post-v2 .entry-content p,
  body.cp-post-v2 .entry-content li { font-size: 17px; }
}
@media print {
  .cp-post-hero, .cp-post-cta, .cp-post-related, body.cp-post-v2 header, body.cp-post-v2 footer { display: none !important; }
  body.cp-post-v2 .entry-content { max-width: none; }
}
body.cp-post-v2 .entry-content hr { border: 0; height: 1px; background: var(--cp-rule); margin: 44px 0; }
body.cp-post-v2 .entry-content hr:has(+ .cp-endmark) { display: none; }
