.elementor-32766 .elementor-element.elementor-element-66d6cbc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:160px;--padding-bottom:48px;--padding-left:24px;--padding-right:24px;}.elementor-32766 .elementor-element.elementor-element-66d6cbc:not(.elementor-motion-effects-element-type-background), .elementor-32766 .elementor-element.elementor-element-66d6cbc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F4;}.elementor-32766 .elementor-element.elementor-element-ephgrd01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-32766 .elementor-element.elementor-element-epartc01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32766 .elementor-element.elementor-element-eptxtc01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32766 .elementor-element.elementor-element-d05f947{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--flex-wrap:wrap;--padding-top:32px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-32766 .elementor-element.elementor-element-6c90635 .elementor-icon-list-icon{width:14px;}.elementor-32766 .elementor-element.elementor-element-6c90635 .elementor-icon-list-icon i{font-size:14px;}.elementor-32766 .elementor-element.elementor-element-6c90635 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-32766 .elementor-element.elementor-element-5db07a3 .elementor-icon-list-icon{width:14px;}.elementor-32766 .elementor-element.elementor-element-5db07a3 .elementor-icon-list-icon i{font-size:14px;}.elementor-32766 .elementor-element.elementor-element-5db07a3 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-32766 .elementor-element.elementor-element-6286143{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-icon i{color:#FAF9F499;transition:color 0.3s;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-icon svg{fill:#FAF9F499;transition:fill 0.3s;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:#FAF9F4;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:#FAF9F4;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-icon{padding-inline-end:8px;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-item > a{font-family:"IBM Plex Mono", Sans-serif;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1.8px;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-text{color:#FAF9F499;transition:color 0.3s;}.elementor-32766 .elementor-element.elementor-element-6286143 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FAF9F4;}.elementor-32766 .elementor-element.elementor-element-2022ac8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:48px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32766 .elementor-element.elementor-element-8435306{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:2px 2px;--row-gap:2px;--column-gap:2px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32766 .elementor-element.elementor-element-82a80c5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:96px;--padding-left:24px;--padding-right:24px;}.elementor-32766 .elementor-element.elementor-element-82a80c5:not(.elementor-motion-effects-element-type-background), .elementor-32766 .elementor-element.elementor-element-82a80c5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F4;}.elementor-32766 .elementor-element.elementor-element-cbgrid01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-32766 .elementor-element.elementor-element-cbleft01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32766 .elementor-element.elementor-element-cbrail01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32766 .elementor-element.elementor-element-102e42b .elementor-icon-list-icon{width:14px;}.elementor-32766 .elementor-element.elementor-element-102e42b .elementor-icon-list-icon i{font-size:14px;}.elementor-32766 .elementor-element.elementor-element-102e42b .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-32766 .elementor-element.elementor-element-b630d27{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-32766 .elementor-element.elementor-element-7aae944{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:56px;--padding-bottom:56px;--padding-left:48px;--padding-right:48px;}@media(max-width:1024px){ .elementor-32766 .elementor-element.elementor-element-b630d27{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(min-width:768px){.elementor-32766 .elementor-element.elementor-element-66d6cbc{--content-width:768px;}.elementor-32766 .elementor-element.elementor-element-82a80c5{--content-width:768px;}}@media(max-width:767px){.elementor-32766 .elementor-element.elementor-element-66d6cbc{--padding-top:120px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-32766 .elementor-element.elementor-element-82a80c5{--padding-top:0px;--padding-bottom:72px;--padding-left:20px;--padding-right:20px;} .elementor-32766 .elementor-element.elementor-element-b630d27{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-32766 .elementor-element.elementor-element-7aae944{--padding-top:40px;--padding-bottom:40px;--padding-left:28px;--padding-right:28px;}}/* Start custom CSS for container, class: .elementor-element-66d6cbc *//* ==========================================================
   PODCAST - dark canvas variant of the single-post template.
   Measured off Derek podcast episode page, 29 Aug 2026.
   Body hook cci-podcast is set in the PHP snippet.
   ADDITIVE ONLY - nothing above this block is modified.
   ========================================================== */
/* =============================================================
   PODCAST HERO (2026-08-30) - measured against Derek's page at
   ceocoachingint.lovable.app/podcast/<uuid>. Numbers are read off
   his DOM, not guessed:
     section  pt128 pb48, border-bottom 1px rgba(255,255,255,.05)
     glow     absolute inset-0, radial-gradient(at 100% 0%, #E43C3A/.15, transparent 55%)
     content  max-width 1352 centred (1400 container - 24px padding)
     grid     280px 1fr, gap 40, align-items start, margin-top 32
     art      280x280, radius 6, ring 2px #E43C3A/.4 + red drop glow
   The glow lives on the hero section, NOT on .elementor-location-single -
   putting it there makes the whole document a containing block and pins
   the cover art over the CTA band.
   ============================================================= */
body.cci-podcast .cci-article-head{
  position:relative !important; isolation:isolate; overflow:hidden;
  padding:128px 24px 48px !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}body.cci-podcast .cci-article-head::before{
  content:"" !important; display:block !important;
  position:absolute !important; inset:0 !important; z-index:0 !important;
  pointer-events:none !important;
  background:radial-gradient(at 100% 0%, rgba(228,60,58,.15), rgba(0,0,0,0) 55%) !important;
}body.cci-podcast .cci-article-head > .e-con-inner{
  position:relative; z-index:1;
  max-width:1352px !important; margin-left:auto !important; margin-right:auto !important;
}
/* Derek's hero carries no excerpt and no author badge. */
body.cci-podcast .cci-article-dek,
body.cci-podcast .cci-abadge{ display:none !important; }body.cci-podcast{ background-color:#15171E !important; }body.cci-podcast .cci-article-head,
body.cci-podcast .cci-article-herowrap,
body.cci-podcast .cci-article-body{ background-color:transparent !important; }
/* (removed 2026-08-30: the hero glow is painted by .cci-article-head::before) */

/* Header keeps its dark at-rest dressing here. body.single-post turns it
   light; this restores the dark tone at equal specificity, later in the
   file. Do not move this block above those rules. */

/* Article head */
body.cci-podcast .cci-article-head{ padding-top:128px !important; padding-bottom:48px !important; }body.cci-podcast .cci-backlink,
body.cci-podcast .cci-backlink a,
body.cci-podcast .cci-backlink .elementor-heading-title{ font-family:Inter,system-ui,-apple-system,sans-serif !important; font-size:12px !important; line-height:16px !important; font-weight:400 !important; letter-spacing:2.4px !important; text-transform:uppercase !important; color:rgb(148,163,184) !important; }body.cci-podcast .cci-chiprow{ gap:8px !important; }body.cci-podcast .cci-chip,
body.cci-podcast .cci-chip a,
body.cci-podcast .cci-chip span,
body.cci-podcast .cci-chip time,
body.cci-podcast .cci-chip .elementor-icon-list-text,
body.cci-podcast .cci-chip ul.elementor-post-info{ font-family:Inter,system-ui,-apple-system,sans-serif !important; font-size:12px !important; line-height:16px !important; font-weight:600 !important; letter-spacing:2.4px !important; text-transform:uppercase !important; color:rgb(148,163,184) !important; background-color:transparent !important; border:0 !important; padding:0 !important; }body.cci-podcast .cci-chip .elementor-icon-list-icon svg{ fill:rgb(148,163,184) !important; }body.cci-podcast .cci-article-h1,
body.cci-podcast .cci-article-h1 .elementor-heading-title{ font-size:48px !important; line-height:48px !important; font-weight:700 !important; letter-spacing:-.96px !important; text-transform:uppercase !important; color:#FFFFFF !important; margin:16px 0 0 !important; }body.cci-podcast .cci-abadge__name{ color:#FFFFFF !important; }body.cci-podcast .cci-abadge__role{ color:rgba(250,249,244,.6) !important; }

/* Prose on dark */
body.cci-podcast .cci-prose .elementor-widget-container,
body.cci-podcast .elementor-widget-theme-post-content{ color:rgb(231,227,218) !important; }body.cci-podcast .elementor-widget-theme-post-content p,
body.cci-podcast .cci-prose p{ font-size:16px !important; line-height:24px !important; font-weight:400 !important; color:rgb(231,227,218) !important; }body.cci-podcast .elementor-widget-theme-post-content li{ font-size:16px !important; line-height:24px !important; color:rgb(231,227,218) !important; }body.cci-podcast .elementor-widget-theme-post-content strong{ color:#FFFFFF !important; }body.cci-podcast .elementor-widget-theme-post-content a{ color:rgba(250,249,244,.72) !important; }body.cci-podcast .elementor-widget-theme-post-content .cci-sec{ font-size:24px !important; line-height:32px !important; font-weight:700 !important; letter-spacing:-.48px !important; text-transform:uppercase !important; color:#FFFFFF !important; border-top-color:rgba(250,249,244,.14) !important; }body.cci-podcast .elementor-widget-theme-post-content blockquote{ background-color:rgba(250,249,244,.05) !important; border-left-color:#E43C3A !important; color:rgb(231,227,218) !important; }

/* The Spotify player already sits first in post_content */
body.cci-podcast .elementor-widget-theme-post-content iframe{ width:100% !important; border-radius:12px !important; display:block !important; margin:0 0 40px !important; }body.cci-podcast .elementor-widget-theme-post-content center{ margin:0 0 24px !important; }body.cci-podcast .cci-tags a{ color:rgba(250,249,244,.75) !important; border-color:rgba(250,249,244,.2) !important; }body.cci-podcast .cci-share a{ color:rgba(250,249,244,.75) !important; }

@media (max-width:767px){
  body.cci-podcast .cci-article-head{ padding-top:96px !important; }
  body.cci-podcast .cci-article-h1,
  body.cci-podcast .cci-article-h1 .elementor-heading-title{ font-size:32px !important; line-height:34px !important; }
}


/* Podcast dark canvas - second pass fixes found by full-page scan */
body.cci-podcast .cci-abadge{ background-color:rgba(250,249,244,.06) !important; border-color:rgba(250,249,244,.12) !important; color:rgba(250,249,244,.85) !important; }body.cci-podcast .cci-chip time,
body.cci-podcast .cci-chiprow time,
body.cci-podcast .cci-chip .elementor-shortcode,
body.cci-podcast .cci-chiprow .elementor-shortcode{ color:rgb(148,163,184) !important; }body.cci-podcast .cci-btn-ghost{ color:#FAF9F4 !important; border-color:rgba(250,249,244,.5) !important; background-color:transparent !important; }body.cci-podcast .cci-btn-ghost:hover{ background-color:rgba(250,249,244,.08) !important; }


/* Podcast dark canvas - third pass. Inner-element and specificity fixes. */
body.cci-podcast .cci-article-dek,
body.cci-podcast .cci-article-dek .elementor-widget-container{ color:rgba(250,249,244,.8) !important; }body.cci-podcast .cci-abadge__name .elementor-heading-title{ color:#FFFFFF !important; }body.cci-podcast .cci-abadge__role .elementor-heading-title{ color:rgba(250,249,244,.6) !important; }
/* must outrank .elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost */
body.cci-podcast .elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost{ color:#FAF9F4 !important; border-color:rgba(250,249,244,.5) !important; background-color:transparent !important; }body.cci-podcast .elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost:hover{ background-color:rgba(250,249,244,.12) !important; color:#FFFFFF !important; }


/* Meta pill - EPISODE + date, red-tinted like Derek */
body.cci-podcast .cci-chiprow{ justify-content:flex-start !important; gap:8px !important; }body.cci-podcast .cci-chip--cat{ display:none !important; }body.cci-podcast .cci-chip--time{ display:none !important; }body.cci-podcast .cci-chip--pub{
  display:inline-flex !important; align-items:center !important;
  border-radius:9999px !important; padding:4px 12px !important;
  border:1px solid rgba(228,60,58,.4) !important;
  background-color:rgba(228,60,58,.1) !important;
}body.cci-podcast .cci-chip--pub time,
body.cci-podcast .cci-chip--pub span{ color:rgb(148,163,184) !important; background:transparent !important; border:0 !important; padding:0 !important; }body.cci-podcast .cci-chip--pub::before{ content:"EPISODE  \00B7  "; font-family:Inter,system-ui,sans-serif; font-size:12px; font-weight:600; letter-spacing:2.4px; color:#B5B2AB; white-space:pre; }

/* Player panel - the Spotify embed already sits first in post_content */
body.cci-podcast .elementor-widget-theme-post-content iframe{
  width:100% !important; max-width:100% !important; border-radius:6px !important;
  display:block !important; margin:0 0 40px !important;
  border:2px solid rgba(228,60,58,.3) !important;
  background-color:rgba(39,42,52,.4) !important;
}
/* Hide the article author badge - Derek has none on episodes */
body.cci-podcast .cci-abadge{ display:none !important; }
/* Hero section rule from the earlier pass no longer owns padding */
body.cci-podcast .cci-article-head{ padding-bottom:0 !important; }


/* PODCAST PILL FIX - one line, no widget prefix */
body.cci-podcast .cci-chip--pub{ width:fit-content !important; max-width:fit-content !important; flex:0 0 auto !important; white-space:nowrap !important; }body.cci-podcast .cci-chip--pub::before{ display:inline !important; }body.cci-podcast .cci-chip--pub .elementor-post-info__item-prefix{ display:none !important; }body.cci-podcast .cci-chip--pub ul.elementor-post-info,
body.cci-podcast .cci-chip--pub .elementor-icon-list-item,
body.cci-podcast .cci-chip--pub .elementor-icon-list-item a,
body.cci-podcast .cci-chip--pub .elementor-icon-list-text{ display:inline !important; white-space:nowrap !important; padding:0 !important; margin:0 !important; }body.cci-podcast .cci-chip--pub .elementor-icon-list-item::before{ display:none !important; }


/* ==========================================================
   PODCAST HERO ALIGNMENT - Derek left-aligns the whole right
   column. Ours inherited the centred article convention, which
   is why the page read as a different page despite matching
   geometry. Everything below is alignment + removing the dek,
   which his episode pages do not carry.
   ========================================================== */
body.cci-podcast .cci-article-head,
body.cci-podcast .cci-article-head > .e-con-inner{ text-align:left !important; align-items:flex-start !important; }body.cci-podcast .cci-article-head .elementor-widget-container{ text-align:left !important; }body.cci-podcast .cci-article-h1,
body.cci-podcast .cci-article-h1 .elementor-heading-title{ text-align:left !important; }body.cci-podcast .cci-backlink,
body.cci-podcast .cci-backlink .elementor-heading-title,
body.cci-podcast .cci-backlink a{ text-align:left !important; justify-content:flex-start !important; }body.cci-podcast .cci-chiprow{ justify-content:flex-start !important; text-align:left !important; }body.cci-podcast .cci-chiprow > *{ margin-left:0 !important; margin-right:0 !important; }

/* Derek has no dek on an episode page - he has a duration line.
   Hiding it also closes the ~130px dead gap above the player. */
body.cci-podcast .cci-article-dek{ display:none !important; }

/* Tighten the stack to his rhythm: pill -> H1 (mt 16) -> player (mt 32) */
body.cci-podcast .cci-article-h1{ margin-top:16px !important; margin-bottom:0 !important; }body.cci-podcast .cci-article-head{ gap:0 !important; }

/* Restore a soft maroon wash behind the hero rather than flat ink */
body.cci-podcast .cci-article-glow::before{
  display:block !important; opacity:1 !important;
  background:radial-gradient(60% 60% at 22% 18%, rgba(197,43,43,.20) 0%, rgba(197,43,43,0) 70%) !important;
}


/* ==========================================================
   PODCAST HERO PLAYER PANEL + DURATION
   The player is lifted out of post_content by [cci_episode_player]
   and rendered in the hero where Derek puts it; the inline copy in
   the body is hidden so there is only ever one player on the page.
   ========================================================== */
body.cci-podcast .cci-ep-durwrap{ margin-top:12px !important; }body.cci-podcast .cci-ep-dur{ font-family:Inter,system-ui,-apple-system,sans-serif !important; font-size:14px !important; line-height:20px !important; font-weight:400 !important; letter-spacing:1.4px !important; text-transform:uppercase !important; color:rgb(148,163,184) !important; }body.cci-podcast .cci-ep-playerwrap{ margin-top:32px !important; }body.cci-podcast .cci-ep-player{
  border:2px solid rgba(228,60,58,.3) !important; border-radius:6px !important;
  background-color:rgba(39,42,52,.4) !important; padding:20px !important;
}body.cci-podcast .cci-ep-player iframe{ width:100% !important; display:block !important; border:0 !important; border-radius:6px !important; margin:0 !important; background:transparent !important; }

/* one player per page - hide the inline copy still sitting in the body */
body.cci-podcast .elementor-widget-theme-post-content iframe{ display:none !important; }


/* PODCAST HERO WIDTH FIX
   align-items:flex-start on the head shrank every child to its content
   width, so the player panel rendered 344px instead of the full 1032
   column - and Spotify falls back to its tall square layout at that
   width. Stretch the children, keep the pill sized to content. */
body.cci-podcast .cci-article-head > .e-con-inner > *,
body.cci-podcast .cci-article-head > *{ align-self:stretch !important; width:100% !important; max-width:100% !important; }body.cci-podcast .cci-chiprow{ width:auto !important; }body.cci-podcast .cci-chip--pub{ width:fit-content !important; max-width:fit-content !important; }

/* Spotify renders the compact horizontal strip at a short height,
   which is the shape Derek uses. */
body.cci-podcast .cci-ep-player iframe{ height:152px !important; min-height:152px !important; }


/* PODCAST BODY FURNITURE
   Legacy pre-player furniture at the top of every episode body: a small
   "CEO Coaching Int'l" label group and a <center> block of platform link
   images. Derek has neither, and the player now sits in the hero above.
   Hidden, NOT removed from post_content - the markup stays intact so the
   links survive if the content is ever rendered outside this template.
   Scoped to body.cci-podcast so articles are untouched. */
body.cci-podcast .elementor-widget-theme-post-content > center{ display:none !important; }body.cci-podcast .elementor-widget-theme-post-content > .wp-block-group:first-child{ display:none !important; }
/* the spacer left behind by the two hidden blocks */
body.cci-podcast .elementor-widget-theme-post-content > .wp-block-spacer:first-of-type{ display:none !important; }


/* PODCAST LOGO - the header swaps to the dark wordmark via
   body.single-post .cci-logo::after, which podcast pages inherit and which
   leaves a dark logo on a dark canvas. Reverse it: show the white img,
   hide the dark ::after. Transition killed deliberately - a transition in
   flight outranks !important, which has bitten this stylesheet before. */

/* nav tone to Derek exactly: labels rgba(255,255,255,.85), pill border .15 */


/* PODCAST HERO GLOW - measured off Derek: a full-bleed layer over the whole
   hero starting at y=0, so the wash runs BEHIND the header. Ours was a 1000px
   box offset from centre and anchored top-left, so it never reached the top
   and the header sat on a flat band. His anchor is top-RIGHT. */
body.cci-podcast .cci-article-head{ position:relative !important; overflow:visible !important; }body.cci-podcast .cci-article-glow::before{
  content:"" !important; display:block !important; position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:auto !important;
  width:100% !important; max-width:none !important; transform:none !important;
  height:663px !important; z-index:0 !important; pointer-events:none !important;
  background:radial-gradient(at 100% 0%, rgba(228,60,58,.15), rgba(0,0,0,0) 55%) !important;
}body.cci-podcast .cci-article-head > .e-con-inner{ position:relative !important; z-index:1 !important; }


/* ==========================================================
   DARK HEADER (template 32919 "CCI Header - Dark", condition:
   posts in the Podcasts category). It carries .cci-header--dark
   so its tone is keyed on the TEMPLATE, not on body classes -
   the body-class scoping approach kept leaking and cost hours.
   Scrolled state deliberately falls through to the global cream
   plate, which is correct and confirmed.
   ========================================================== */
/* --- AT REST: transparent bar, cream nav, WHITE logo --- */
/* Tone is keyed on html.cci-scrolled - the SAME signal that drives the
   cream sticky background. Elementor's .elementor-sticky--effects class is
   NOT reliable here: it stays on the header after you scroll back to the
   top, so the background went transparent again while the labels and logo
   stayed dark. That was the dark-on-dark menu bug. */

/* Podcast hero - three values Elementor's own element CSS was still winning:
   the hero section had no bottom padding, the chip row carried a 32px bottom
   margin (Derek's pill-to-H1 gap is exactly 16), and the duration line was
   tracking 1.4 instead of 0.7. Selectors below out-specify .elementor-element. */
body.cci-podcast .elementor-element.cci-article-head{ padding-bottom:48px !important; }body.cci-podcast .cci-ep-textcol > .elementor-element.cci-chiprow{ margin-bottom:0 !important; }body.cci-podcast .cci-ep-durwrap .cci-ep-dur{ letter-spacing:.7px !important; }


/* =============================================================
   PODCAST BODY (2026-08-30) - measured off Derek's page:
     section  py-16 -> padding 64px 0
     grid     1fr 280px, gap 48, container 1352 centred, items start
     H2       24/32 w700 ls-0.48 uppercase white
     notes    mt20, radius 6, 2px #E43C3A/.3, bg #272A34/.4, pad 32
     transcript  block mt48; panel dashed 2px #E43C3A/.3, bg #272A34/.2, pad 32, centred
     rail     280 sticky top 112, cards 2px #E43C3A/.3, bg #272A34/.4, radius 6, pad 24, gap 16
   ============================================================= */
body.cci-podcast .elementor-element.cci-article-body{
  padding:64px 24px 64px !important;
}
/* The body container AND its inner both carried 96px bottom padding, so the
   CTA band sat 192px above the footer. Zero the inner; the outer keeps 64. */
body.cci-podcast .cci-article-body > .e-con-inner{ padding-bottom:0 !important; }body.cci-podcast .cci-body-grid{
  display:grid !important; grid-template-columns:1fr 280px !important;
  gap:48px !important; align-items:start !important;
  width:100% !important; max-width:1352px !important;
  margin-left:auto !important; margin-right:auto !important; padding:0 !important;
}body.cci-podcast .cci-notes-col,
body.cci-podcast .cci-rail-col{ padding:0 !important; width:100% !important; max-width:none !important; }body.cci-podcast .cci-rail-col{ width:280px !important; }
/* The post content widget IS the show-notes panel. */
body.cci-podcast .cci-notes-col .cci-prose{
  max-width:none !important; width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
  margin-top:20px !important;
  border:2px solid rgba(228,60,58,.3) !important; border-radius:6px !important;
  background-color:rgba(39,42,52,.4) !important; backdrop-filter:blur(4px);
  padding:32px !important;
}body.cci-podcast .cci-notes-col .cci-prose > .elementor-widget-container{ padding:0 !important; }

/* Transcript block */
body.cci-podcast .cci-transcript-wrap{ margin-top:48px !important; }

/* The body container is boxed at 768 in Elementor (an old prose-width
   setting), which capped the grid. Widen its inner to the 1352 container
   like the hero. Button rules need !important - the theme's anchor styling
   was winning on colour, weight and text-transform. */
body.cci-podcast .cci-article-body > .e-con-inner{
  max-width:1352px !important; margin-left:auto !important; margin-right:auto !important;
}body.cci-podcast .cci-railcard__btn,
body.cci-podcast .cci-transcript__btn{
  font-size:14px !important; line-height:20px !important; font-weight:600 !important;
  letter-spacing:.7px !important; text-transform:uppercase !important;
  text-decoration:none !important;
}body.cci-podcast .cci-railcard__btn--primary{ background-color:#E43C3A !important; color:#FFFFFF !important; border:1px solid #E43C3A !important; }body.cci-podcast .cci-railcard__btn--primary:hover{ background-color:#C93230 !important; color:#FFFFFF !important; }body.cci-podcast .cci-railcard__btn--ghost,
body.cci-podcast .cci-transcript__btn{ background-color:transparent !important; color:#FAF9F4 !important; border:1px solid rgb(250,249,244) !important; }body.cci-podcast .cci-railcard__btn--ghost:hover,
body.cci-podcast .cci-transcript__btn:hover{ background-color:rgba(250,249,244,.12) !important; color:#FFFFFF !important; }body.cci-podcast .cci-railcard__h{ color:#FFFFFF !important; }body.cci-podcast .cci-railcard__p,
body.cci-podcast .cci-transcript__panel p{ color:rgb(209,203,189) !important; }


/* ==========================================================
   LIGHT PAGES HEADER  (template 32044 "CCI Header - Light Pages")
   2026-09-04. Kim's architecture, made explicit.

   TWO headers. The tone lives on the HEADER, not on a list of
   body classes:
     Dark Pages Header  = 32919, carries .cci-header--dark
     Light Pages Header = 32044, everything else

   Building a new page = put that page on ONE header's display
   conditions. Nothing else to remember. Nothing to add here.

   The light header's tone does NOT change on scroll, because
   ink at rest and ink on the cream plate are the same ink. So
   there is deliberately no scroll scoping below. The cream
   plate itself is global (html.cci-scrolled .cci-header) and
   already applies to both headers, which is what makes the
   scroll state identical on both.

   Targeted as :not(.cci-header--dark) rather than by adding a
   marker class to 32044, because opening that template in
   Elementor and saving is what destroyed the dual buttons on
   23 August. A duplicated header also defaults to light this
   way, instead of being born broken.
   ========================================================== */


/* --- Supersedes the legacy light-canvas ghost CTA rule -----
   There is an older rule at the same shape that paints the
   ghost button CREAM on a header that is neither dark nor
   scrolled - i.e. cream on cream on every light page. That is
   the missing "Get Your Score" button. Matched here at equal
   specificity and later in source order so this one wins,
   rather than deleting a rule other pages may lean on.
   ---------------------------------------------------------- */


/* ==========================================================
   PODCAST PARENT PAGE - the episode list
   2026-09-04. Measured off Derek's /podcast at 1568px.
   Rendered by shortcode [cci_podcast_list], snippet 34059.
   Dark page: it must be on the Dark Pages header conditions.
   ========================================================== */
.cci-podsearch{ position:relative; max-width:672px; margin:32px 0 0; }.cci-podsearch input[type="text"]{
  width:100% !important; height:56px !important; box-sizing:border-box;
  padding:0 120px 0 48px !important;
  background:#FAF9F4 !important; color:#15171E !important;
  border:2px solid #272A34 !important; border-radius:6px !important;
  font-family:Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size:16px !important; line-height:1.4 !important;
}.cci-podsearch input[type="text"]::placeholder{ color:#94A3B8 !important; }.cci-podsearch__icon{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:20px; height:20px; background:#94A3B8; pointer-events:none;
  -webkit-mask:var(--cci-ico-search) center/contain no-repeat;
          mask:var(--cci-ico-search) center/contain no-repeat;
}.cci-podsearch button{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  height:40px; padding:0 20px; border:0; border-radius:6px; cursor:pointer;
  background:#C52B2B; color:#fff;
  font-family:Inter, ui-sans-serif, sans-serif; font-size:14px; font-weight:600;
  letter-spacing:.7px; text-transform:uppercase;
}.cci-podsearch button:hover{ filter:brightness(1.08); }.cci-podcats{ display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; }.cci-podcat{
  border:1px solid rgba(197,43,43,.5); border-radius:9999px;
  padding:8px 16px; font-size:14px; line-height:1.4; color:#FAF9F4;
  text-decoration:none; transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}.cci-podcat:hover{ background:#C52B2B; color:#fff; }.cci-podcat.is-on{ background:#C52B2B; border-color:#C52B2B; color:#fff; }.cci-podcount{
  margin:24px 0 0 !important; font-size:12px; letter-spacing:.6px;
  text-transform:uppercase; color:rgb(181,178,171);
}.cci-podgrid{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px; margin:64px 0 0;
}.cci-podcard{
  display:flex; min-height:288px; overflow:hidden;
  background:rgba(39,42,52,.5); border:1px solid rgba(255,255,255,.1);
  border-radius:8px; backdrop-filter:blur(2px);
  transition:border-color .18s ease, transform .18s ease;
}.cci-podcard:hover{ border-color:#C52B2B; transform:translateY(-2px); }.cci-podcard__art{ flex:0 0 192px; width:192px; background:#15171E; }.cci-podcard__art img{ width:100%; height:100%; object-fit:cover; display:block; }.cci-podcard__body{ flex:1 1 auto; min-width:0; padding:24px; display:flex; flex-direction:column; }.cci-podcard__meta{
  display:flex; gap:12px;
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:10px; font-weight:400; line-height:15px; letter-spacing:2px;
  text-transform:uppercase; color:rgb(148,163,184);
}.cci-podcard__title{
  margin:12px 0 0 !important;
  font-family:Inter, ui-sans-serif, sans-serif !important;
  font-size:20px !important; font-weight:800 !important; line-height:25px !important;
  letter-spacing:-.4px !important; color:#fff !important; text-transform:none !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}.cci-podcard__desc{
  margin:12px 0 0 !important; flex:1 1 auto;
  font-size:14px !important; font-weight:400 !important; line-height:22.75px !important;
  color:rgb(209,203,189) !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}.cci-podcard__foot{
  margin-top:20px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}.cci-podplay{
  height:36px; padding:0 12px; border:0; border-radius:6px; cursor:pointer;
  background:#C52B2B; color:#fff;
  display:inline-flex; align-items:center; gap:8px;
  font-family:Inter, ui-sans-serif, sans-serif; font-size:14px; font-weight:600;
  letter-spacing:.7px; text-transform:uppercase;
}.cci-podplay:hover{ filter:brightness(1.08); }.cci-podplay .ic{
  width:16px; height:16px; background:#fff; flex:0 0 16px;
  -webkit-mask:var(--cci-ico-play) center/contain no-repeat;
          mask:var(--cci-ico-play) center/contain no-repeat;
}.cci-podnotes{
  background:none; border:0; padding:8px 0; cursor:pointer; color:#fff;
  font-family:Inter, ui-sans-serif, sans-serif; font-size:12px; font-weight:400;
  letter-spacing:1px; text-transform:uppercase;
}.cci-podnotes:hover{ color:rgba(250,249,244,.7); }.cci-podcard__notes{
  margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1);
  font-size:14px; line-height:1.65; color:rgb(209,203,189);
}.cci-podcard__notes p{ margin:0 0 10px; color:inherit; }.cci-podcard[data-open="1"]{ min-height:0; }.cci-podempty{
  margin:64px 0 0; padding:48px; text-align:center;
  border:2px solid rgba(197,43,43,.3); border-radius:6px;
  background:rgba(39,42,52,.4); color:rgb(209,203,189);
}.cci-podempty .t{
  font-family:Inter, ui-sans-serif, sans-serif; font-size:20px; font-weight:800;
  color:#fff; margin:0 0 8px !important;
}.cci-podpager{
  margin:48px 0 0; display:flex; flex-wrap:wrap; align-items:center;
  justify-content:center; gap:8px;
}.cci-podpager .pg{
  min-width:40px; padding:8px 12px; border-radius:6px; text-align:center;
  border:1px solid rgba(197,43,43,.4); color:rgb(209,203,189);
  font-size:14px; font-weight:600; text-decoration:none;
}.cci-podpager .pg:hover{ color:#fff; border-color:#C52B2B; }.cci-podpager .pg.is-on{ background:#C52B2B; border-color:#C52B2B; color:#fff; }.cci-podpager .pg.dots{ border:0; color:#94A3B8; min-width:0; padding:8px 4px; }

@media (max-width:1024px){
  .cci-podgrid{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  .cci-podcard{ flex-direction:column; min-height:0; }
  .cci-podcard__art{ flex:0 0 auto; width:100%; height:192px; }
}.cci-podhero{
  position:relative; overflow:hidden;
  padding:128px 0 96px; border-bottom:1px solid rgba(255,255,255,.05);
}.cci-podhero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at top right, rgba(228,60,58,.15), transparent 55%);
}.cci-podhero > .e-con-inner{ position:relative; z-index:1; }

/* eyebrow: wrapper stays block, the pill is the heading text itself */
.cci-podeyebrow{ display:block !important; }.cci-podeyebrow .elementor-heading-title{
  display:inline-flex !important; align-items:center; gap:8px;
  border:1px solid rgba(197,43,43,.4); background:rgba(197,43,43,.1);
  border-radius:9999px; padding:4px 12px;
  font-family:Inter, ui-sans-serif, sans-serif !important;
  font-size:12px !important; font-weight:600 !important; line-height:1.5 !important;
  letter-spacing:2.4px !important; text-transform:uppercase !important;
  color:rgba(250,249,244,.7) !important;
}.cci-podeyebrow .ic{
  width:14px; height:14px; flex:0 0 14px; background:currentColor;
  -webkit-mask:var(--cci-ico-head) center/contain no-repeat;
          mask:var(--cci-ico-head) center/contain no-repeat;
}.cci-podh1{ margin:20px 0 0 !important; }.cci-podh1 .elementor-heading-title{
  font-family:Inter, ui-sans-serif, sans-serif !important;
  font-size:60px !important; font-weight:700 !important; line-height:60px !important;
  letter-spacing:-1.2px !important; text-transform:uppercase !important;
  color:#FFFFFF !important; margin:0 !important;
}.cci-poddek{ margin:16px 0 0 !important; max-width:672px !important; }.cci-poddek p{
  font-size:18px !important; line-height:28px !important;
  color:rgb(209,203,189) !important; margin:0 !important;
}

@media (max-width:900px){
  .cci-podh1 .elementor-heading-title{ font-size:40px !important; line-height:42px !important; }
  .cci-podhero{ padding:104px 0 72px; }
}

/* The theme paints a border and fill on every bare <button>, which put a
   box around Show notes where his is plain text. Restate at higher weight. */
.cci-podlist .cci-podnotes{
  background:none !important; background-color:transparent !important;
  border:0 !important; box-shadow:none !important; border-radius:0 !important;
  padding:8px 0 !important; min-height:0 !important; height:auto !important;
  color:#fff !important; text-decoration:none !important;
}.cci-podlist .cci-podnotes:hover{ background:none !important; color:rgba(250,249,244,.7) !important; }


/* ==========================================================
   PODCAST PARENT - section rhythm, sponsorship and FAQ
   2026-09-04. Four top-level containers, matching his page:
   hero 128/0/48, list 64/0, sponsorship 80/0 on ink,
   FAQ 112/0 on cream. Scoping the hero's radial glow to the
   hero container is what stops it running the whole page.
   ========================================================== */
.cci-podhero{ padding:128px 0 48px !important; }.cci-podlistsec{ padding:64px 0 !important; }.cci-podgrid{ margin-top:0 !important; }

/* ---- Sponsorship ---- */
.cci-podsponsor{ background:#15171E !important; padding:80px 0 !important; }.cci-podsponsor__row{
  display:grid !important; grid-template-columns:5fr 7fr; gap:48px;
  padding:0 !important; width:100% !important; max-width:none !important;
}.cci-podsponsor__l,
.cci-podsponsor__r{ padding:0 !important; width:100% !important; }
@media (max-width:1024px){ .cci-podsponsor__row{ grid-template-columns:minmax(0,1fr); } }

/* ---- FAQ, on cream ---- */
.cci-podfaq{ background:#FAF9F4 !important; padding:112px 0 !important; text-align:center; }.cci-podfaq > .e-con-inner{ max-width:960px !important; margin-inline:auto !important; }

/* ---- card hover states, corrected ---- */
.cci-podlist .cci-podplay:hover{
  background-color:#C52B2B !important; color:#fff !important; filter:brightness(1.12);
}.cci-podlist .cci-podnotes:hover{
  background:none !important; background-color:transparent !important;
  color:rgba(250,249,244,.6) !important; text-decoration:none !important;
}




/* Logo cross-fade. The dark logo is layered underneath as a
   pseudo-element and revealed as the white one fades, so there
   is no swap flicker and no second Image widget to keep in
   sync. Root-relative path so it survives the push to prod. */



/* ============================================================
   CCI — Insights single template (Theme Builder doc 32738)
   Parity target: BlogLayout.tsx. Added 2026-08-27.
   ============================================================ */
.cci-progress-wrap{ position:relative; z-index:60; }.cci-progress .elementor-widget-container{ padding:0; }.cci-progress .elementor-progress-tracker{ height:2px !important; background:transparent !important; border-radius:0 !important; }.cci-progress .elementor-progress-tracker .current-progress{ background:#E43C3A !important; transition:width .15s linear; }.cci-article-glow::before{ content:""; position:absolute; top:-128px; left:50%; transform:translateX(-50%); width:1000px; max-width:100%; height:600px; border-radius:50%; background:rgba(228,60,58,.07); filter:blur(64px); pointer-events:none; z-index:0; }.cci-article-hero img{ width:100%; aspect-ratio:21/9; object-fit:cover; border-radius:12px; background:rgba(21,23,30,.05); display:block; }
@media (max-width:767px){ .cci-article-hero img{ aspect-ratio:16/10; border-radius:8px; }}.cci-prose .elementor-widget-container{ font-size:1.125rem; line-height:1.7; color:rgba(21,23,30,.85); }
@media (min-width:768px){ .cci-prose .elementor-widget-container{ font-size:1.25rem; }}.cci-prose p{ margin:0 0 1.35em; }.cci-prose h2{ font-weight:800; color:#15171E; font-size:1.9rem; line-height:1.15; letter-spacing:-.018em; margin:2.4em 0 .6em; text-wrap:balance; }.cci-prose h3{ font-weight:700; color:#15171E; font-size:1.35rem; line-height:1.2; margin:2em 0 .5em; }.cci-prose a{ color:#C52B2B; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }.cci-prose a:hover{ color:#E43C3A; }.cci-prose strong{ color:#15171E; font-weight:700; }.cci-prose ul,
.cci-prose ol{ margin:0 0 1.35em; padding-left:1.4em; }.cci-prose li{ margin-bottom:.5em; }.cci-prose ul li::marker{ color:#E43C3A; }.cci-prose blockquote{ margin:2em 0; padding:0 0 0 1.4em; border-left:3px solid #E43C3A; font-weight:600; font-style:normal; color:#15171E; font-size:1.15em; line-height:1.4; }.cci-prose blockquote p:last-child{ margin-bottom:0; }.cci-prose img{ max-width:100%; height:auto; border-radius:8px; margin:2em 0; display:block; }.cci-prose figure{ margin:2em 0; }.cci-prose figcaption{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:rgba(21,23,30,.55); margin-top:.7em; }.cci-prose hr{ border:0; border-top:1px solid rgba(21,23,30,.12); margin:2.5em 0; }.cci-prose table{ display:block; overflow-x:auto; width:100%; border-collapse:collapse; font-size:.9em; }.cci-prose iframe{ max-width:100%; }.cci-tags{ margin-top:64px; padding-top:32px; border-top:1px solid rgba(21,23,30,.1); }.cci-tags .elementor-icon-list-item{ margin:0 !important; }.cci-tags .elementor-icon-list-item::after{ display:none !important; }.cci-tags .elementor-post-info__terms-list{ display:flex; flex-wrap:wrap; gap:8px; }.cci-tags .elementor-post-info__terms-list-item{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.18em; color:rgba(21,23,30,.7); border:1px solid rgba(21,23,30,.15); border-radius:999px; padding:6px 12px; text-decoration:none; transition:color .2s ease, border-color .2s ease; }.cci-tags .elementor-post-info__terms-list-item::before{ content:"#"; opacity:.55; }.cci-tags .elementor-post-info__terms-list-item:hover{ color:#E43C3A; border-color:#E43C3A; }.cci-share{ margin-top:28px; }.cci-share .elementor-share-btn{ background:transparent !important; border:1px solid rgba(21,23,30,.15); color:#E43C3A !important; transition:border-color .2s ease, color .2s ease; }.cci-share .elementor-share-btn:hover{ border-color:#E43C3A; }


/* --- Insights single: chip corrections (2026-08-27) --- */
/* Elementor injects a default icon into every post-info row. */
.cci-chip .elementor-icon-list-icon,
.cci-tags .elementor-icon-list-icon{ display:none !important; }

/* Elementor separates terms with raw ", " text nodes. font-size:0 on the
   list collapses them; the links restore their own size. */
.cci-chip--cat .elementor-post-info__terms-list,
.cci-tags .elementor-post-info__terms-list{ font-size:0; }.cci-chip--cat .elementor-post-info__terms-list-item,
.cci-tags .elementor-post-info__terms-list-item{ font-size:10px; }

/* Slightly calmer title glow. */
.cci-article-glow::before{ background:rgba(228,60,58,.055); }


/* --- Insights single: .elementor-32766 .elementor-element.elementor-element-66d6cbc corrections (2026-08-27b) --- */
/* Elementor's widget renders .elementor-scrolling-tracker, not
   .elementor-progress-tracker. */
.cci-progress .elementor-scrolling-tracker{
  height:2px !important;
  background:transparent !important;
  border-radius:0 !important;
}.cci-progress .elementor-scrolling-tracker .current-progress,
.cci-progress .elementor-scrolling-tracker-progress{
  background:#E43C3A !important;
}


/* --- Insights single: prose measure (2026-08-27c) --- */
/* The theme sets p{font-size:16px} directly, and any direct rule beats an
   inherited one, so the reading size has to be set on the elements. */
.cci-prose p,
.cci-prose li,
.cci-prose blockquote{ font-size:1.125rem; line-height:1.7; }
@media (min-width:768px){
  .cci-prose p,
  .cci-prose li{ font-size:1.25rem; }
  .cci-prose blockquote{ font-size:1.4rem; }}.cci-prose p{ color:rgba(21,23,30,.85); }


/* --- Insights single: tag + share corrections (2026-08-27d) --- */
/* font-size:0 on the list (to kill Elementor's raw ", " text nodes) has to be
   undone on the links themselves, scoped tightly enough to win. */
.cci-tags .elementor-post-info .elementor-post-info__terms-list a.elementor-post-info__terms-list-item,
.cci-chip--cat .elementor-post-info .elementor-post-info__terms-list a.elementor-post-info__terms-list-item{
  font-size:10px;
}.cci-tags .elementor-post-info .elementor-post-info__terms-list{ display:flex; flex-wrap:wrap; gap:8px; }

/* Share icons ship white; on a transparent button that is invisible. */
.cci-share .elementor-share-btn__icon,
.cci-share .elementor-share-btn i,
.cci-share .elementor-share-btn svg{ color:inherit !important; fill:currentColor !important; }.cci-share .elementor-share-btn:hover{ background:#E43C3A !important; }.cci-share .elementor-share-btn:hover .elementor-share-btn__icon,
.cci-share .elementor-share-btn:hover i,
.cci-share .elementor-share-btn:hover svg{ color:#FFFFFF !important; fill:#FFFFFF !important; }

/* Read-time clock. The icon font's codepoint is unreadable from CSSOM, so
   this is an inline SVG rather than a guessed glyph. */
.cci-chip--time div.elementor-shortcode::before{
  font-family:inherit;
  content:"";
  display:inline-block;
  width:12px; height:12px; flex:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");
  background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.7; margin-right:4px;
}.cci-article-head,
.cci-article-herowrap,
.cci-article-body{
  background-color:transparent !important;
}

/* CTA labels: Derek line-height 20px, mine was 14 */

/* featured image: single image, 1100px */
.cci-article-herowrap > .e-con-inner{ max-width:1100px !important; }.cci-article-hero img{ max-width:1100px; margin-left:auto; margin-right:auto; }
/* the post content repeats the featured image; the JS snippet hides it, this
   is the belt-and-braces for when JS has not run yet */
.cci-prose img.cci-dupe-hero{ display:none !important; }

/* --- Logo (167x56 in source) --------------------------- */
/* --- Nav pill (663x42 in source) ----------------------- */
/* Light pages (Insights single and friends) take the dark tone */
/* --- Insights single: title block ---------------------- */
.cci-article-head{
  position:relative; isolation:isolate; overflow:hidden; text-align:center;
  background-color:transparent !important;
  padding:160px 24px 48px !important;
}.cci-article-head .e-con-inner{ max-width:720px !important; margin-inline:auto !important; padding:0 !important; }.cci-article-head > *{ position:relative; z-index:1; }.cci-backlink{ margin:0 0 40px !important; }.cci-backlink .elementor-heading-title{
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:11px; font-weight:600; line-height:16.5px;
  letter-spacing:2.2px; text-transform:uppercase;
  color:rgb(91,94,103);
  display:inline-flex; align-items:center; gap:8px;
  transition:color .2s ease;
}.cci-backlink .elementor-heading-title::before{ content:"\2190"; }.cci-backlink:hover .elementor-heading-title{ color:#15171E; }.cci-chiprow{
  display:flex !important; gap:8px !important;
  justify-content:center !important; align-items:center !important;
  padding:0 !important; margin:0 0 32px !important;
}.cci-chip{ width:auto !important; flex:0 0 auto !important; }.cci-chip .elementor-widget-container > *{ margin:0; }.cci-chip .elementor-post-info,
.cci-chip .elementor-shortcode{
  display:inline-flex; align-items:center; gap:8px;
  margin:0 !important; padding:6px 12px !important; border-radius:9999px !important;
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:10px; font-weight:600; line-height:15px;
  letter-spacing:2.2px; text-transform:uppercase;
}.cci-chip--time .elementor-shortcode{ gap:6px; }.cci-chip .elementor-icon-list-item{ margin:0 !important; padding:0 !important; }.cci-chip .elementor-icon-list-item::after{ display:none !important; }.cci-chip .elementor-icon-list-text{ padding:0; }.cci-chip--cat .elementor-post-info{ background-color:#C52B2B; border:0; }.cci-chip--cat .elementor-post-info,
.cci-chip--cat .elementor-post-info a{ color:#FFFFFF !important; text-decoration:none; }.cci-chip--pub .elementor-post-info,
.cci-chip--time .elementor-shortcode{
  color:rgba(21,23,30,.7); border:1px solid rgba(21,23,30,.15);
}.cci-article-h1{ margin:0 0 32px !important; }.cci-article-h1 .elementor-heading-title{
  font-family:Inter, ui-sans-serif, system-ui, sans-serif;
  font-size:clamp(2.25rem, 5.6vw, 72px);
  font-weight:800; line-height:1; letter-spacing:-.025em;
  color:#15171E; text-align:center; text-wrap:balance; margin:0;
}.cci-article-dek{ margin:0 !important; }.cci-article-dek .elementor-widget-container{
  font-size:clamp(1.125rem, 2vw, 24px);
  font-weight:500; line-height:1.3333;
  color:rgba(21,23,30,.8); margin:0;
}.cci-article-dek p{ margin:0; }

/* --- Author badge (387x66 in source) ------------------- */
.cci-abadge{
  width:auto !important; max-width:none !important; flex:0 0 auto !important;
  display:inline-flex !important; align-items:center !important;
  justify-content:flex-start !important; gap:16px !important;
  padding:12px 20px !important; margin:48px auto 0 !important;
  border:1px solid rgba(21,23,30,.1) !important;
  border-radius:9999px !important;
  background-color:rgba(243,239,232,.6) !important;
}.cci-abadge__mark{ width:40px !important; height:40px !important; flex:0 0 40px !important;
  border-radius:9999px !important; background:rgb(250,249,244) !important;
  border:1px solid rgba(21,23,30,.1) !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  overflow:hidden !important; padding:0 !important; }.cci-abadge__mark > *{ display:flex !important; align-items:center !important;
  justify-content:center !important; width:100% !important; height:100% !important; }.cci-abadge__mark img{
  width:38px !important; height:auto !important; max-height:24px !important;
  object-fit:contain !important; border-radius:0 !important;
  background:none !important; border:0 !important; padding:0 !important;
}.cci-abadge__name .elementor-heading-title{
  font-family:Inter, ui-sans-serif, system-ui, sans-serif;
  font-size:14px; font-weight:700; line-height:20px;
  color:rgb(21,23,30); margin:0; text-align:left;
}.cci-abadge__role .elementor-heading-title{
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:10px; font-weight:400; line-height:12.5px;
  letter-spacing:1px; text-transform:uppercase;
  color:rgb(91,94,103); margin:0; text-align:left;
}

/* Author badge - stay a pill on small screens.
   Elementor containers default to flex-wrap:wrap, so on a narrow
   viewport the text column dropped below the mark and the pill
   rendered as a tall blob. Kim flagged it 31 Aug. */
.cci-abadge{ flex-wrap:nowrap !important; }.cci-abadge > *{ min-width:0 !important; }.cci-abadge__name .elementor-heading-title,
.cci-abadge__role .elementor-heading-title{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
@media (max-width:767px){
  .cci-abadge{
    gap:12px !important; padding:9px 16px !important;
    margin-top:36px !important; max-width:100% !important;
  }
  .cci-abadge__mark{ width:32px !important; height:32px !important; flex:0 0 32px !important; }
  .cci-abadge__mark img{ width:30px !important; max-height:19px !important; }
  .cci-abadge__name .elementor-heading-title{ font-size:13px !important; line-height:18px !important; }
  .cci-abadge__role .elementor-heading-title{ font-size:9px !important; line-height:12px !important; letter-spacing:.8px !important; }
}

@media (max-width:1024px){
  .cci-article-head{ padding:128px 20px 40px !important; }
}

/* --- Corrections folded in after first front-end check --- */
/* Category chip shows the first term only, as in the source */
.cci-chip--cat .elementor-post-info__terms-list-item:not(:first-child){ display:none !important; }.cci-chip--cat .elementor-post-info__terms-list{ display:inline !important; }.cci-article-dek{ margin:0 !important; }.cci-article-dek,
.cci-article-dek p,
.cci-article-dek .elementor-widget-container{
  font-size:clamp(1.125rem, 2vw, 24px) !important; font-weight:500 !important;
  line-height:1.3333 !important; color:rgba(21,23,30,.8) !important;
}.cci-article-dek p{ margin:0 !important; }

/* --- Second front-end check: four residual deltas -------- */
/* 1. Pill is a block-level flex; width:auto fills the row.  */
/* 2. The anchor inside the backlink resets type. Re-assert.  */
.cci-backlink .elementor-heading-title a{
  font-family:"IBM Plex Mono", ui-monospace, monospace !important;
  font-size:11px !important; font-weight:600 !important;
  line-height:16.5px !important; letter-spacing:2.2px !important;
  text-transform:uppercase !important; color:rgb(91,94,103) !important;
  text-decoration:none !important;
}.cci-backlink .elementor-heading-title a:hover{ color:#15171E !important; }
/* 3. Collapse the heading widget line box around the link.   */
.cci-backlink,
.cci-backlink .elementor-widget-container{ line-height:16.5px !important; }
/* 4. Chip icons were forcing the pill 4px taller than 27.    */
.cci-chip .elementor-icon-list-item,
.cci-chip .elementor-icon-list-text{ line-height:15px !important; }.cci-chip .elementor-icon-list-icon{ display:flex !important; align-items:center !important; }.cci-chip .elementor-icon-list-icon svg{ width:12px !important; height:12px !important; display:block !important; }

/* 5. Elementor injects a default icon into every post-info  */
/*    row. The source shows an icon on the read-time chip    */
/*    only, so suppress it on the other two.                 */
.cci-chip--cat .elementor-icon-list-icon,
.cci-chip--pub .elementor-icon-list-icon{ display:none !important; }
/* 6. The text span was a line box mixing a 0px strut with   */
/*    10px text, which rendered 19px instead of 15px.        */
.cci-chip .elementor-icon-list-text{
  display:flex !important; align-items:center !important;
  line-height:15px !important; height:15px !important;
}.cci-chip .elementor-icon-list-item{ align-items:center !important; }

/* 7. Elementor re-declares typography on the post-info inner */
/*    spans and anchors, which knocked the chips back to      */
/*    Inter sentence case. Assert the whole subtree.          */
.cci-chip .elementor-post-info,
.cci-chip .elementor-post-info *,
.cci-chip .elementor-shortcode,
.cci-chip .elementor-shortcode *{
  font-family:"IBM Plex Mono", ui-monospace, monospace !important;
  font-size:10px !important; font-weight:600 !important;
  letter-spacing:2.2px !important; text-transform:uppercase !important;
  color:inherit !important;
}
/* Terms are separated by raw ", " text nodes; zero the list  */
/* font-size to drop them, restore it on the term itself.     */
.cci-chip--cat .elementor-post-info__terms-list{ font-size:0 !important; }.cci-chip--cat .elementor-post-info__terms-list-item{ font-size:10px !important; }.cci-chip--cat .elementor-post-info,
.cci-chip--cat .elementor-post-info a{ color:#FFFFFF !important; }.cci-chip--pub .elementor-post-info,
.cci-chip--pub .elementor-post-info *{ color:rgba(21,23,30,.7) !important; }.cci-chip--time .elementor-shortcode,
.cci-chip--time .elementor-shortcode *{ color:rgba(21,23,30,.7) !important; }

/* 8. Flexing the text span collapsed the space between the  */
/*    "Published" prefix and the date. Restore it as a gap.  */
.cci-chip--pub .elementor-icon-list-text{ gap:.42em !important; }

/* --- Article body, measured off the source --------------- */
/* The block editor repeats the featured image at the top of  */
/* the content and pads it with a spacer block. The template  */
/* already renders it as the 1100px hero, so drop both. This  */
/* is structural, so CSS handles it, not the de-dupe script.  */
.elementor-widget-theme-post-content .wp-block-post-featured-image,
.elementor-widget-theme-post-content .wp-block-post-featured-image + .wp-block-spacer{
  display:none !important;
}
/* Source: p 20/1.7 mb24 - h2 36/1.1 mt64 mb20 -              */
/* h3 26.4/1.2 mt44 mb16 - blockquote 20.8/1.5 m40            */
.cci-prose p,
.elementor-widget-theme-post-content p{
  font-size:20px !important; line-height:1.7 !important;
  font-weight:400 !important; color:rgba(21,23,30,.85) !important;
  margin:0 0 24px !important;
}.cci-prose h2,
.elementor-widget-theme-post-content h2{
  font-size:36px !important; line-height:1.1 !important;
  letter-spacing:-.02em !important; font-weight:800 !important;
  color:#15171E !important; margin:64px 0 20px !important;
}.cci-prose h3,
.elementor-widget-theme-post-content h3{
  font-size:26.4px !important; line-height:1.2 !important;
  letter-spacing:-.01em !important; font-weight:800 !important;
  color:#15171E !important; margin:44px 0 16px !important;
}.cci-prose blockquote,
.elementor-widget-theme-post-content blockquote{
  font-size:20.8px !important; line-height:1.5 !important;
  font-weight:400 !important; color:#15171E !important;
  margin:40px 0 !important;
}

/* The first block of the body should not carry a top margin  */
/* - the hero already sets the 80px offset. Covers both the   */
/* plain first child and the one following the dropped        */
/* featured-image plus spacer pair.                           */
.elementor-widget-theme-post-content > .elementor-widget-container > :first-child,
.elementor-widget-theme-post-content .wp-block-post-featured-image + .wp-block-spacer + *{
  margin-top:0 !important;
}

/* ==========================================================
   Press release boilerplate panel
   The block editor emits the boilerplate as a run of blocks
   carrying .has-background. Rather than ask editors to build
   a container, the run is painted as one continuous panel:
   the first block caps the top, the last caps the bottom.
   ========================================================== */
.elementor-widget-theme-post-content .has-background{
  background-color:#F3EFE8 !important;
  margin:0 !important;
  padding:0 40px !important;
  border-left:1px solid rgba(21,23,30,.1) !important;
  border-right:1px solid rgba(21,23,30,.1) !important;
  color:rgba(21,23,30,.75) !important;
}.elementor-widget-theme-post-content .has-background:not(.has-background + .has-background){
  margin-top:48px !important;
  padding-top:40px !important;
  border-top:1px solid rgba(21,23,30,.1) !important;
  border-radius:16px 16px 0 0 !important;
}.elementor-widget-theme-post-content .has-background:not(:has(+ .has-background)){
  padding-bottom:40px !important;
  border-bottom:1px solid rgba(21,23,30,.1) !important;
  border-radius:0 0 16px 16px !important;
}
/* Boilerplate headings read as the CTA band eyebrow. */
.elementor-widget-theme-post-content h4{
  font-family:"IBM Plex Mono", ui-monospace, monospace !important;
  font-size:11px !important; font-weight:600 !important;
  line-height:1 !important; letter-spacing:.2em !important;
  text-transform:uppercase !important;
  color:rgba(21,23,30,.7) !important;
  display:flex !important; align-items:center !important; gap:12px !important;
}.elementor-widget-theme-post-content h4::before{
  content:""; width:40px; height:1px; background:#C52B2B; flex:none;
}.elementor-widget-theme-post-content h4.has-background + .has-background{
  padding-top:24px !important;
}
/* Boilerplate body sits a step below article copy. */
.elementor-widget-theme-post-content p.has-background{
  font-size:17px !important; line-height:1.6 !important;
  color:rgba(21,23,30,.75) !important;
}.elementor-widget-theme-post-content p.has-background + p.has-background{
  padding-top:20px !important;
}

/* The links row, tagged by the JS snippet, renders as the    */
/* same button pair used in the header: outline then red.     */
.elementor-widget-theme-post-content p.cci-pr-actions{
  display:flex !important; flex-wrap:wrap !important;
  gap:12px !important; padding-top:28px !important;
}

/* The theme colours body links at a higher specificity than  */
/* a bare class, so the button colours are re-asserted from   */
/* inside the row. 13px rather than the header 14px: the      */
/* 688px measure will not hold both labels at 14.             */
.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost,
.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-primary{
  font-size:13px !important;
}.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost{
  background-color:transparent !important;
  color:rgb(21,23,30) !important;
  border:1px solid rgb(21,23,30) !important;
}.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost:hover{
  background-color:rgb(21,23,30) !important; color:#FAF9F4 !important;
}.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-primary{
  background-color:#C52B2B !important;
  color:#FFFFFF !important;
  border:0 !important;
}.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-primary:hover{
  background-color:#E43C3A !important; color:#FFFFFF !important;
}

/* The buttons are class-tagged by script after first paint,  */
/* so a colour transition starts from the un-tagged link       */
/* colours and, mid-flight, outranks even !important. No       */
/* transition on colour: the base state must be exact.         */
.cci-btn-ghost,
.cci-btn-primary,
.elementor-widget-theme-post-content p.cci-pr-actions a{
  transition:none !important;
}

/* Legacy spacer blocks sat above every boilerplate heading    */
/* to fake separation in the old theme. The panel and the      */
/* heading margin now own that space, so collapse the spacers  */
/* that precede them. Spacers elsewhere in the copy stay.      */
.elementor-widget-theme-post-content .wp-block-spacer:has(+ h4),
.elementor-widget-theme-post-content .wp-block-spacer:has(+ .has-background){
  height:0 !important;
}.elementor-widget-theme-post-content h4{
  margin:40px 0 16px !important;
}

/* Template-rendered boilerplate (shortcode). Same panel as the  */
/* inline block run, but self-contained in one container.        */
.cci-boiler{
  background-color:#F3EFE8;
  border:1px solid rgba(21,23,30,.1);
  border-radius:16px;
  padding:40px;
  margin:48px 0 0;
  color:rgba(21,23,30,.75);
}.cci-boiler__eyebrow{
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:11px; font-weight:600; line-height:1;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(21,23,30,.7);
  display:flex; align-items:center; gap:12px;
  margin:0 0 24px;
}.cci-boiler__eyebrow::before{
  content:""; width:40px; height:1px; background:#C52B2B; flex:none;
}.cci-boiler__p{
  font-size:17px !important; line-height:1.6 !important;
  color:rgba(21,23,30,.75) !important;
  margin:0 0 20px !important;
}.cci-boiler__p:last-of-type{ margin-bottom:0 !important; }.cci-boiler .cci-pr-actions{
  display:flex !important; flex-wrap:wrap !important;
  gap:12px !important; margin:28px 0 0 !important;
}.cci-boiler a.cci-btn-ghost{
  background-color:transparent !important; color:rgb(21,23,30) !important;
  border:1px solid rgb(21,23,30) !important;
}.cci-boiler a.cci-btn-ghost:hover{
  background-color:rgb(21,23,30) !important; color:#FAF9F4 !important;
}.cci-boiler a.cci-btn-primary{
  background-color:#C52B2B !important; color:#FFFFFF !important; border:0 !important;
}.cci-boiler a.cci-btn-primary:hover{ background-color:#E43C3A !important; }.cci-boiler a.cci-btn-ghost,
.cci-boiler a.cci-btn-primary{ font-size:13px !important; }
@media (max-width:600px){
  .cci-boiler{ padding:24px !important; }
}

/* Belt and braces: where the template panel renders, hide any   */
/* inline copy still sitting in the post body, so a release can   */
/* never show the boilerplate twice while the old copies are      */
/* still being cleaned out of the content.                        */
.elementor-widget-theme-post-content .has-background{
  display:none !important;
}

/* The article prose rule is widget-scoped, so the boilerplate   */
/* paragraph needs the same scope to hold 17px.                  */
.elementor-widget-theme-post-content .cci-boiler__p{
  font-size:17px !important; line-height:1.6 !important;
  color:rgba(21,23,30,.75) !important;
  margin:0 0 20px !important;
}.elementor-widget-theme-post-content .cci-boiler__p:last-of-type{
  margin-bottom:0 !important;
}

/* The second CTA carried a legacy 12px left margin on top of   */
/* the slot gap, which both doubled the button spacing and      */
/* pushed the pair 29px past the container edge. Gap owns the   */
/* spacing; the widgets carry none.                             */

/* One of the three header slots was growing to absorb the free */
/* space, which threw the gaps uneven and pushed the CTA pair   */
/* past the container. Every slot sizes to its content and      */
/* space-between splits what is left evenly.                    */

/* The boilerplate eyebrow is an h4 inside the post content, so */
/* it was picking up the 40px heading margin on top of the      */
/* panel s own 40px padding - 80 at the top against 40 at the   */
/* bottom. Restate it at higher specificity.                    */
.elementor-widget-theme-post-content .cci-boiler__eyebrow{
  margin:0 0 24px !important;
}

/* ==========================================================
   Body prose corrections from the Blind Spots diff, 2026-08-28
   Two measured misses:
   - paragraph leading was 34px against the source 28px. The
     source container carries leading-1.7 but the paragraph
     itself resolves to Tailwind text-xl, which is 20/28.
   - the prose column measured 768 against the source 720; the
     source column is 48rem with 24px inline padding.
   ========================================================== */
.cci-prose p,
.elementor-widget-theme-post-content p{
  line-height:28px !important;
}.elementor-widget-theme-post-content{
  max-width:720px !important;
  margin-inline:auto !important;
}

/* ==========================================================
   Blind Spots review pass, 2026-08-28
   ========================================================== */

/* 1. Pull quote, measured off the source: cream-70 panel,    */
/*    4px red rule, italic, 20.8/31.                          */
.cci-prose blockquote,
.elementor-widget-theme-post-content blockquote{
  background-color:rgba(243,239,232,.7) !important;
  border:0 !important;
  border-left:4px solid #E43C3A !important;
  border-radius:0 !important;
  padding:32px 32px 32px 40px !important;
  margin:40px 0 !important;
  font-size:20.8px !important;
  line-height:31px !important;
  font-weight:400 !important;
  font-style:italic !important;
  color:#15171E !important;
}.elementor-widget-theme-post-content blockquote p{
  font-size:inherit !important; line-height:inherit !important;
  font-style:inherit !important; color:inherit !important;
  margin:0 !important;
}

/* 2. Links in body copy were rendering 16px against the      */
/*    paragraph 20px, which read as a font change. Inherit.   */
.cci-prose a,
.elementor-widget-theme-post-content p a,
.elementor-widget-theme-post-content li a{
  font-size:inherit !important;
  font-family:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
}

/* 3. Legacy spacer blocks sit above every heading. The       */
/*    heading margins own that space now.                     */
.elementor-widget-theme-post-content .wp-block-spacer:has(+ h2),
.elementor-widget-theme-post-content .wp-block-spacer:has(+ h3),
.elementor-widget-theme-post-content .wp-block-spacer:has(+ h4){
  height:0 !important;
}

/* 4. The boilerplate now lives in the template and renders   */
/*    only on Community News. Any copy still pasted into a    */
/*    post body stays hidden, so it can never appear on an    */
/*    article that should not carry it.                       */

/* 5. Legacy inline contact form, superseded by the template  */
/*    CTA. Hidden with the heading that introduces it (that   */
/*    heading is matched by the script, which can read text). */
.elementor-widget-theme-post-content .gform_wrapper,
.elementor-widget-theme-post-content .gform-body{
  display:none !important;
}

/* 6. The prose column narrowed to 720, so the panel buttons  */
/*    no longer fit at 13px and were wrapping.                */
.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-ghost,
.elementor-widget-theme-post-content p.cci-pr-actions a.cci-btn-primary,
.cci-boiler a.cci-btn-ghost,
.cci-boiler a.cci-btn-primary{
  font-size:12px !important;
  padding:0 16px !important;
  white-space:nowrap !important;
}.cci-boiler .cci-pr-actions{ flex-wrap:nowrap !important; }

/* The inline button row is also a .cci-pr-actions, and that   */
/* rule sets display:flex at higher specificity, so it        */
/* survived the blanket hide. Beat it explicitly.             */
.elementor-widget-theme-post-content .has-background.cci-pr-actions,
.elementor-widget-theme-post-content p.has-background{
  display:none !important;
}

/* ==========================================================
   Section headings and their dividers
   Measured on the source: the hairline lives on the heading,
   not on a wrapper. h2 there carries border-top 1px at ink-8,
   padding-top 32, margin 64 above and 20 below, at 36/40.
   The script tags whichever level is acting as the section
   heading in a given article, so imported posts that demoted
   their sections to h3 get the same treatment.
   ========================================================== */
.elementor-widget-theme-post-content .cci-sec{
  border-top:1px solid rgba(21,23,30,.08) !important;
  padding-top:32px !important;
  margin:64px 0 20px !important;
  font-size:36px !important;
  line-height:40px !important;
  letter-spacing:-.02em !important;
  font-weight:800 !important;
  color:#15171E !important;
}

/* ==========================================================
   POST IMAGES - faint red glow.
   Kim’s call 31 Aug. Applies to the featured image and to
   images placed in the body of a blog post. Deliberately low
   opacity - it should read as a lift off the cream, not a border.
   Excludes related-post thumbnails and any UI chrome.
   ========================================================== */
.elementor-widget-theme-post-featured-image img,
.elementor-widget-theme-post-content figure.wp-block-image img,
.elementor-widget-theme-post-content figure.wp-block-embed img{
  box-shadow:
    0 0 0 1px rgba(228,60,58,.05),
    0 2px 10px rgba(228,60,58,.06),
    0 14px 40px rgba(228,60,58,.07) !important;
}
@media (max-width:700px){
  .elementor-widget-theme-post-featured-image img,
  .elementor-widget-theme-post-content figure.wp-block-image img{
    box-shadow:
      0 0 0 1px rgba(228,60,58,.05),
      0 8px 24px rgba(228,60,58,.06) !important;
  }
}

/* ==========================================================
   SECTION MARKERS - numbered vs unnumbered.
   Measured off Derek insights post, 31 Aug 2026.
   Numbered sections take the red square and drop the rule;
   unnumbered sections keep the hairline they had.
   cci-sec--num is set by markNumbered() in the JS snippet.
   ADDITIVE ONLY - the block above is unchanged.
   ========================================================== */
.elementor-widget-theme-post-content h3{
  font-size:26.4px !important;
  line-height:31.68px !important;
  letter-spacing:-.01em !important;
  font-weight:800 !important;
}.elementor-widget-theme-post-content h3.cci-sec{
  font-size:26.4px !important;
  line-height:31.68px !important;
}.elementor-widget-theme-post-content .cci-sec--num{
  display:flex !important;
  align-items:baseline;
  gap:16px;
  border-top:0 !important;
  padding-top:0 !important;
  margin:44px 0 16px !important;
}.elementor-widget-theme-post-content .cci-sec--num::before{
  content:"";
  flex:0 0 auto;
  width:.65rem;
  height:.65rem;
  background:#E43C3A;
  transform:translateY(-2px);
}
@media (max-width:700px){
  .elementor-widget-theme-post-content h3,
  .elementor-widget-theme-post-content h3.cci-sec{
    font-size:23px !important;
    line-height:28px !important;
  }
  .elementor-widget-theme-post-content .cci-sec--num{gap:12px;}
}.cci-ep-headgrid{
  display:grid !important; grid-template-columns:280px 1fr !important;
  gap:40px !important; align-items:start !important;
  width:100% !important; max-width:none !important;
  margin-top:32px !important; padding:0 !important;
}.cci-ep-artcol{ width:280px !important; padding:0 !important; }.cci-ep-artcol img{
  width:280px !important; height:280px !important; object-fit:cover !important;
  border-radius:6px !important;
  box-shadow:0 0 0 2px rgba(228,60,58,.4), 0 14px 40px -14px rgb(228,60,58) !important;
}.cci-ep-textcol{
  display:flex !important; flex-direction:column !important;
  align-items:flex-start !important; padding:0 !important;
  width:100% !important; max-width:none !important;
}.cci-ep-textcol > *{ width:100% !important; }.cci-ep-textcol .cci-chiprow{
  justify-content:flex-start !important; padding:0 !important; width:auto !important;
}.cci-ep-textcol .cci-article-h1{ margin-top:16px !important; }.cci-ep-textcol .cci-ep-durwrap{ margin-top:12px !important; }.cci-ep-textcol .cci-ep-playerwrap{ margin-top:32px !important; }.cci-transcript__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }.cci-chip--soon{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid rgba(228,60,58,.4); background-color:rgba(228,60,58,.1);
  border-radius:9999px; padding:4px 12px;
  font-size:12px; line-height:16px; font-weight:600; letter-spacing:.6px;
  text-transform:uppercase; color:rgb(181,178,171);
}.cci-transcript__panel{
  margin-top:20px; padding:32px; text-align:center;
  border:2px dashed rgba(228,60,58,.3); border-radius:6px;
  background-color:rgba(39,42,52,.2);
}.cci-transcript__panel p{ color:rgb(209,203,189); margin:0 0 20px; }.cci-transcript__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:234px; height:40px; padding:0 20px;
  border:1px solid rgb(250,249,244); border-radius:6px; background:transparent;
  font-size:14px; line-height:20px; font-weight:600; letter-spacing:.7px;
  text-transform:uppercase; color:#FAF9F4; text-decoration:none;
}.cci-transcript__btn:hover{ background-color:rgba(250,249,244,.12); color:#FFFFFF; }.cci-railcard{
  width:280px; padding:24px; border-radius:6px;
  border:2px solid rgba(228,60,58,.3); background-color:rgba(39,42,52,.4);
  backdrop-filter:blur(4px);
}.cci-railcard__h{
  font-size:14px; line-height:20px; font-weight:700; letter-spacing:.7px;
  text-transform:uppercase; color:#FFFFFF; margin:0;
}.cci-railcard__p{
  font-size:14px; line-height:20px; font-weight:400;
  color:rgb(209,203,189); margin:12px 0 0;
}.cci-railcard__btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:228px; height:40px; padding:0 20px; margin-top:16px;
  border-radius:6px; text-decoration:none;
  font-size:14px; line-height:20px; font-weight:600; letter-spacing:.7px;
  text-transform:uppercase;
}.cci-railcard__btn--primary{ background-color:#E43C3A; color:#FFFFFF; border:1px solid #E43C3A; }.cci-railcard__btn--primary:hover{ background-color:#C93230; color:#FFFFFF; }.cci-railcard__btn--ghost{ background:transparent; color:#FAF9F4; border:1px solid rgb(250,249,244); }.cci-railcard__btn--ghost:hover{ background-color:rgba(250,249,244,.12); color:#FFFFFF; }/* End custom CSS */