/*
 * Unified single-news article composition.
 *
 * This is a route-owned adopter of stable --cs-* tokens. The page shell and
 * hero are contextual composition; right-rail mention cutouts are provisional
 * and remain scoped to [data-single-article].
 */

#main.single {
    min-width: 0;
    background: var(--cs-color-canvas);
}

[data-single-article] {
    --single-article-accent: var(--cs-color-action);
    --single-article-accent-soft: var(--cs-color-action-soft);
    --single-article-hero-grid-line: color-mix(in srgb, var(--cs-color-action) 5%, transparent);
    --single-article-hero-grid-wash: color-mix(in srgb, var(--cs-color-action-soft) 38%, transparent);
    --single-article-reading-measure: 50rem;
    --single-article-grid: minmax(0, 1fr) minmax(0, var(--single-article-reading-measure)) minmax(0, 1fr);
    --single-article-inline-padding: clamp(var(--cs-space-4), 3vw, var(--cs-space-7));
    --single-article-hero-gap: var(--cs-space-4);
    --single-article-mention-width: clamp(15rem, 20vw, 18rem);
    --single-article-mention-overlap: calc(var(--single-article-mention-width) / 2);
    width: 100%;
    min-width: 0;
    overflow: clip;
    background: var(--cs-color-canvas);
    color: var(--cs-color-text-body);
    font-family: var(--cs-font-family-ui);
}

html[data-theme="dark"] [data-single-article] {
    --single-article-hero-grid-line: color-mix(in srgb, var(--cs-color-action) 6%, transparent);
    --single-article-hero-grid-wash: color-mix(in srgb, var(--cs-color-action-soft) 20%, transparent);
}

[data-single-article].single-article--bullish {
    --single-article-accent: var(--cs-color-positive);
    --single-article-accent-soft: var(--cs-color-positive-soft);
}

[data-single-article].single-article--bearish {
    --single-article-accent: var(--cs-color-negative);
    --single-article-accent-soft: var(--cs-color-negative-soft);
}

[data-single-article],
[data-single-article] *,
[data-single-article] *::before,
[data-single-article] *::after {
    box-sizing: border-box;
}

[data-single-article] :where(a, button, summary, input, textarea, select):focus-visible {
    border-radius: var(--cs-radius-small);
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: var(--cs-focus-offset);
}

[data-single-article] :where(img, video, iframe, svg) {
    max-width: 100%;
}

.single-article__article,
.single-article__header,
.single-article__body,
.single-article .post,
.single-article .post-box,
.single-article .post-bottom {
    min-width: 0;
}

.single-article__article {
    position: relative;
    isolation: isolate;
    gap: 0;
}

.single-article__article::before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    height: clamp(46rem, 78vw, 68rem);
    background:
        linear-gradient(var(--single-article-hero-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--single-article-hero-grid-line) 1px, transparent 1px),
        linear-gradient(135deg, var(--single-article-hero-grid-wash), transparent 64%);
    background-position: center top;
    background-size: 64px 64px, 64px 64px, auto;
    content: "";
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 62%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 62%, transparent 100%);
}

.single-article__article > * {
    position: relative;
    z-index: 1;
}

.single-article__grid,
.single-article .post-box,
.single-article .post-box__content-flow,
.single-article .post-bottom {
    display: grid;
    grid-template-columns: var(--single-article-grid);
    width: min(100%, var(--cs-shell-broad));
    margin-inline: auto;
}

.single-article__reading-column,
.single-article .post-box > :not(.post-box__content-flow):not(.post-bottom),
.single-article .post-box__content-flow > *,
.single-article .post-bottom > * {
    grid-column: 2;
    min-width: 0;
}

/* Header and hero */

.single-article__trail-rail {
    display: flex;
    align-items: center;
    gap: var(--cs-space-3);
    width: min(calc(100% - var(--single-article-inline-padding) - var(--single-article-inline-padding)), var(--single-article-reading-measure));
    min-height: 36px;
    margin: clamp(var(--cs-space-3), 1.4vw, var(--cs-space-5)) auto 0;
    overflow: visible;
    scrollbar-width: none;
}

.single-article__trail-rail .post-category__breadcrumb {
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.single-article__trail-rail .post-category__breadcrumb::-webkit-scrollbar {
    display: none;
}

.single-article__trail-disclosure {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: auto;
}

.single-article__trail-disclosure .post-category__disclosure-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-1);
    min-height: 24px;
    padding: 2px var(--cs-space-2);
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-round);
    background: color-mix(in srgb, var(--cs-color-surface) 80%, transparent);
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-medium);
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.single-article__trail-disclosure .post-category__disclosure-pill:hover,
.single-article__trail-disclosure .post-category__disclosure-pill:focus-visible {
    border-color: var(--cs-color-action);
    color: var(--cs-color-text-strong);
}

.single-article__trail-disclosure .post-category__disclosure-pill i {
    font-size: 0.625rem;
}

.single-article__header {
    position: relative;
    margin-top: var(--single-article-hero-gap);
    padding: clamp(var(--cs-space-6), 3.5vw, var(--cs-space-9)) 0 0;
    border-top: 0;
    border-bottom: 0;
    background: transparent;
}

.single-article__header::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - var(--single-article-inline-padding) - var(--single-article-inline-padding)), var(--single-article-reading-measure));
    height: var(--cs-space-1);
    border-radius: var(--cs-radius-round);
    background: var(--single-article-accent);
    content: "";
    transform: translateX(-50%);
}

.single-article__header-grid {
    padding-inline: var(--single-article-inline-padding);
}

.single-article__reading-column {
    display: grid;
    gap: clamp(var(--cs-space-4), 1.7vw, var(--cs-space-6));
}

.single-article__header .post-category,
.single-article__header .post-category__chips,
.single-article__header .big-cat {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cs-space-2);
    min-width: 0;
}

.single-article__header .post-category__chips :where(a, .small-cats),
.single-article__header .post-category__chips .big-cat > span:not(.sentiment-label):not(.post-category__identity-badge) {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    min-height: 30px;
    padding: var(--cs-space-1) var(--cs-space-3);
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-surface-subtle);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1;
    text-decoration: none;
}

.single-article__header .post-category__asset-chip-logo {
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    aspect-ratio: 1;
    border-radius: var(--cs-radius-round);
    clip-path: circle(50% at 50% 50%);
    object-fit: cover;
    overflow: hidden;
}

.single-article__header .post-category__chips a:hover {
    border-color: var(--cs-color-action);
    color: var(--cs-color-action-hover);
}

.single-article__header .post-category__chips a.post-category__primary-kicker {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-strong);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.single-article__header .post-category__primary-kicker::before {
    width: 24px;
    height: 2px;
    background: var(--single-article-accent);
    content: "";
    transition: width var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article__header .post-category__primary-kicker > i {
    display: none;
}

.single-article__header .post-category__chips a.post-category__primary-kicker:hover {
    color: var(--cs-color-action-hover);
}

.single-article__header .post-category__primary-kicker:hover::before {
    width: 32px;
}

.single-article__header .post-category__chips .big-cat > span.post-category__identity-badge {
    display: inline-flex;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--single-article-accent);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.single-article__header .post-category__chips .big-cat > .sentiment-label,
.single-article__header .post-category__chips .sentiment-label .top-news-sentiment {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article__header .sentiment-label.sentiment-bullish,
.single-article__header .sentiment-label.sentiment-bullish .top-news-sentiment {
    color: var(--cs-color-positive);
}

.single-article__header .sentiment-label.sentiment-bearish,
.single-article__header .sentiment-label.sentiment-bearish .top-news-sentiment {
    color: var(--cs-color-negative);
}

.single-article__header .top-news-sentiment {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    font-size: 0.6875rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
}

.single-article__header .top-news-sentiment > i {
    font-size: 0.625rem;
}

.single-article__title {
    max-width: none;
    margin: 0;
    color: var(--cs-color-text-strong);
    font-family: var(--cs-font-family-ui);
    font-size: clamp(2.4rem, 1.9rem + 2.3vw, 4.25rem);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: var(--cs-letter-spacing-display);
    line-height: 0.98;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.single-article__dek {
    max-width: 70ch;
    margin: 0;
    color: color-mix(in srgb, var(--cs-color-text-body) 82%, var(--cs-color-text-muted));
    font-size: clamp(1.08rem, 1.01rem + 0.35vw, 1.3rem);
    line-height: 1.52;
    text-wrap: pretty;
}

.single-article__hero {
    position: relative;
    width: min(calc(100% - var(--single-article-inline-padding) - var(--single-article-inline-padding)), var(--single-article-reading-measure));
    margin: var(--single-article-hero-gap) auto 0;
    overflow: hidden;
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-small);
    background: var(--cs-color-surface-muted);
}

.single-article__hero-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(76vh, 760px);
    aspect-ratio: 16 / 8.5;
    object-fit: cover;
    object-position: center;
}

.single-article__hero-caption {
    position: absolute;
    right: var(--cs-space-2);
    bottom: var(--cs-space-2);
    z-index: 1;
    width: auto;
    max-width: calc(100% - var(--cs-space-6));
    padding: 2px 5px;
    border: 0;
    border-radius: var(--cs-radius-small);
    background: rgba(8, 13, 24, 0.54);
    color: #fff;
    font-size: 0.5625rem;
    font-weight: var(--cs-font-weight-medium);
    letter-spacing: 0;
    line-height: 1.15;
    pointer-events: none;
}

.single-article__hero-caption > * {
    margin: 0;
}

/* Header author and publication metadata */

.single-article .post-meta-single--article-card {
    padding-top: var(--cs-space-5);
    border-top: 1px solid var(--cs-color-border);
}

.single-article .post-meta-article-card__strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--cs-space-5) var(--cs-space-7);
    align-items: center;
}

.single-article .post-meta-article-card__identity-block,
.single-article .article-author-identity,
.single-article .article-author-identity__names,
.single-article .article-author-identity__meta,
.single-article .post-meta-article-card__meta-list,
.single-article .post-meta-article-card__meta-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.single-article .article-author-identity {
    gap: var(--cs-space-3);
}

.single-article .article-author-identity__avatar-stack {
    position: relative;
    display: flex;
    flex: 0 0 auto;
}

.single-article .article-author-identity__avatar {
    position: relative;
    display: block;
    width: 48px;
    height: 48px;
    border-radius: var(--cs-radius-round);
}

.single-article .article-author-identity__avatar--secondary {
    margin-left: calc(var(--cs-space-3) * -1);
}

.single-article .article-author-identity__avatar > img,
.single-article .article-author-identity__avatar .avatar {
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid var(--cs-color-surface);
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-surface);
    box-shadow: 0 0 0 1px var(--cs-color-border);
    object-fit: cover;
}

.single-article .article-author-identity__avatar .avatar--logo {
    padding: 0;
    object-fit: contain;
}

.single-article .article-author-identity__company-logo {
    position: absolute;
    right: -2px;
    bottom: -2px;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    padding: 2px;
    border: 2px solid var(--cs-color-surface);
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-surface);
}

.single-article .article-author-identity__company-logo img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: contain;
}

.single-article .article-author-identity__content {
    display: grid;
    gap: var(--cs-space-2);
    min-width: 0;
}

.single-article .article-author-identity__names,
.single-article .article-author-identity__meta {
    gap: var(--cs-space-1) var(--cs-space-2);
}

.single-article .article-author-identity__label,
.single-article .article-author-identity__separator,
.single-article .article-author-identity__meta {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
}

.single-article .article-author-identity__name {
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-control);
    font-weight: var(--cs-font-weight-strong);
    text-decoration: none;
}

.single-article .article-author-identity__name:hover {
    color: var(--cs-color-action-hover);
}

.single-article .post-meta-article-card__author-tag {
    display: inline-flex;
    margin-bottom: var(--cs-space-2);
    color: var(--single-article-accent);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article .post-meta-article-card__meta-list {
    justify-content: flex-end;
    gap: var(--cs-space-3) var(--cs-space-5);
}

.single-article .post-meta-article-card__meta-group {
    gap: var(--cs-space-3) var(--cs-space-5);
}

.single-article .post-meta-article-card__meta-item {
    display: grid;
    gap: var(--cs-space-1);
    text-align: right;
}

.single-article .post-meta-article-card__meta-value {
    display: grid;
    gap: var(--cs-space-1);
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.2;
}

.single-article .post-meta-article-card__meta-time {
    color: var(--cs-color-text-muted);
    font-size: 0.6875rem;
}

.single-article .post-meta-article-card__meta-item--reading {
    padding: var(--cs-space-2) var(--cs-space-3);
    border: 1px solid color-mix(in srgb, var(--single-article-accent) 25%, var(--cs-color-border));
    border-radius: var(--cs-radius-round);
    background: var(--single-article-accent-soft);
    text-align: left;
}

.single-article .post-meta-single--article-card--compact {
    padding-block: var(--cs-space-4);
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__strip {
    gap: var(--cs-space-4) var(--cs-space-6);
}

.single-article .post-meta-single--article-card--compact .article-author-identity__avatar {
    width: 48px;
    height: 48px;
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-list,
.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-group {
    flex-wrap: nowrap;
    gap: var(--cs-space-4);
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-value {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    color: var(--cs-color-text-muted);
    font-weight: 400;
    line-height: 1.35;
    white-space: nowrap;
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-date {
    color: var(--cs-color-text-body);
    font-weight: var(--cs-font-weight-medium);
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-label {
    color: var(--cs-color-text-muted);
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-time {
    font-size: inherit;
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-item--reading {
    padding: 0 0 0 var(--cs-space-4);
    border: 0;
    border-left: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
}

.single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-item--reading i {
    color: var(--single-article-accent);
    font-size: 0.8rem;
}

/* Article grid and prose */

.single-article__body {
    padding: var(--cs-space-4) 0 clamp(var(--cs-space-8), 6vw, var(--cs-space-11));
}

.single-article .post-box {
    --single-article-post-box-gap: clamp(var(--cs-space-6), 3vw, var(--cs-space-8));
    row-gap: var(--single-article-post-box-gap);
    padding-inline: var(--single-article-inline-padding);
}

.single-article .post-box__content-flow,
.single-article .post-bottom {
    grid-column: 1 / -1;
    column-gap: 0;
    padding-inline: 0;
}

.single-article .post-box__content-flow {
    --single-article-prose-gap: clamp(var(--cs-space-5), 2.4vw, var(--cs-space-7));
    row-gap: var(--single-article-prose-gap);
}

.single-article .post-bottom {
    --single-article-post-bottom-gap: clamp(var(--cs-space-7), 4vw, var(--cs-space-10));
    row-gap: var(--single-article-post-bottom-gap);
    margin-top: clamp(var(--cs-space-7), 4vw, var(--cs-space-9));
}

.single-article .post-box__content-flow > :first-child {
    margin-top: 0;
}

.single-article .post-box__content-flow > :last-child {
    margin-bottom: 0;
}

.single-article .post-box__content-flow :where(p, ul, ol),
.single-article .post-box__content-flow :where(li) {
    color: var(--cs-color-text-body);
    font-size: clamp(1.02rem, 0.98rem + 0.2vw, 1.12rem);
    line-height: 1.78;
}

.single-article .post-box__content-flow:not([data-single-article-mentions-enhanced="true"]) > p:first-of-type:not(.single-article__mention-continuation)::first-letter,
.single-article .post-box__content-flow[data-single-article-mentions-enhanced="true"] > p.single-article__lead-paragraph::first-letter,
.single-article .post-box__content-flow > .single-article__mention-anchor > p.single-article__lead-paragraph::first-letter {
    float: left;
    margin: 0.09em 0.13em 0 0;
    color: var(--cs-color-text-strong);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.35em;
    font-weight: 700;
    line-height: 0.72;
}

.single-article .post-box__content-flow > :where(p, ul, ol, blockquote, h2, h3, h4, h5, h6, figure, pre, .table-container, .wp-block-embed) {
    width: 100%;
    margin-block: 0;
}

.single-article .post-box__content-flow :where(h2, h3, h4, h5, h6) {
    color: var(--cs-color-text-strong);
    font-family: var(--cs-font-family-ui);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: -0.025em;
    line-height: 1.16;
    text-wrap: balance;
}

.single-article .post-box__content-flow h2 {
    width: 100%;
    max-width: none;
    margin-top: var(--cs-space-6);
    font-size: clamp(1.65rem, 1.4rem + 1.1vw, 2.35rem);
    justify-self: stretch;
    text-wrap: pretty;
}

.single-article .post-box__content-flow h3 {
    margin-top: var(--cs-space-5);
    font-size: clamp(1.35rem, 1.18rem + 0.7vw, 1.8rem);
}

.single-article .post-box__content-flow h4 {
    font-size: clamp(1.1rem, 1rem + 0.4vw, 1.35rem);
}

.single-article .post-box__content-flow a {
    color: var(--cs-color-action);
    font-weight: var(--cs-font-weight-strong);
    text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.15em;
}

.single-article .post-box__content-flow a:hover {
    color: var(--cs-color-action-hover);
    text-decoration-color: currentColor;
}

.single-article .post-box__content-flow :where(ul, ol) {
    display: grid;
    gap: var(--cs-space-3);
    padding-left: var(--cs-space-7);
}

.single-article .post-box__content-flow li {
    margin: 0;
    padding-left: var(--cs-space-2);
}

.single-article .post-box__content-flow blockquote {
    --single-article-quote-font-size: clamp(1.2rem, 1.08rem + 0.45vw, 1.45rem);
    --single-article-quote-line-height: 1.5;

    position: relative;
    display: grid;
    gap: var(--cs-space-4);
    margin-block: clamp(var(--cs-space-5), 4vw, var(--cs-space-8));
    padding: clamp(var(--cs-space-6), 4vw, var(--cs-space-8));
    padding-left: clamp(4.75rem, 10vw, 6.5rem);
    border: 0;
    border-top: 4px solid var(--single-article-accent);
    border-bottom: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cs-color-text-strong);
    font-size: var(--single-article-quote-font-size);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: -0.02em;
    line-height: var(--single-article-quote-line-height);
    isolation: isolate;
}

.single-article .post-box__content-flow blockquote::before {
    content: "“";
    position: absolute;
    top: calc(clamp(var(--cs-space-6), 4vw, var(--cs-space-8)) + 0.75rem);
    left: clamp(var(--cs-space-4), 3vw, var(--cs-space-6));
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--single-article-accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(5rem, 9vw, 7.25rem);
    font-weight: 700;
    line-height: 0.72;
    -webkit-mask: none;
    mask: none;
    pointer-events: none;
}

.single-article .post-box__content-flow blockquote::after {
    content: none;
}

.single-article .post-box__content-flow blockquote.single-article-blockquote--short {
    --single-article-quote-font-size: clamp(1.7rem, 1.35rem + 1.35vw, 2.45rem);
    --single-article-quote-line-height: 1.22;
}

.single-article .post-box__content-flow blockquote.single-article-blockquote--long {
    padding-left: clamp(4rem, 7vw, 5rem);
}

.single-article .post-box__content-flow blockquote.single-article-blockquote--long::before {
    font-size: clamp(3.5rem, 5.5vw, 4.5rem);
}

/* Person quotes retain their shortcode semantics while sharing the article's editorial rhythm. */
.single-article .post-box__content-flow .cs-person-quote {
    display: grid;
    grid-template-areas:
        "mark quote"
        "footer footer";
    grid-template-columns: clamp(3.75rem, 7vw, 5.25rem) minmax(0, 1fr);
    gap: 0;
    width: 100%;
    margin-block: clamp(var(--cs-space-6), 4vw, var(--cs-space-9));
    padding: 0;
    overflow: visible;
    border: 0;
    border-top: 4px solid var(--single-article-accent);
    border-bottom: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cs-color-text-strong);
    isolation: isolate;
}

.single-article .post-box__content-flow .cs-person-quote::before {
    content: "“";
    grid-area: mark;
    align-self: start;
    padding-top: clamp(var(--cs-space-6), 4vw, var(--cs-space-8));
    color: var(--single-article-accent);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4.75rem, 8vw, 6.5rem);
    font-weight: 700;
    line-height: 0.72;
    pointer-events: none;
}

.single-article .post-box__content-flow .cs-person-quote blockquote {
    grid-area: quote;
    display: block;
    min-width: 0;
    margin: 0;
    padding: clamp(var(--cs-space-6), 4vw, var(--cs-space-8)) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cs-color-text-strong);
    font-size: clamp(1.55rem, 1.25rem + 1vw, 2.15rem);
    font-style: normal;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: -0.025em;
    line-height: 1.28;
}

.single-article .post-box__content-flow .cs-person-quote blockquote::before,
.single-article .post-box__content-flow .cs-person-quote blockquote::after {
    content: none;
}

.single-article .post-box__content-flow .cs-person-quote blockquote p {
    margin: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-wrap: pretty;
}

.single-article .post-box__content-flow .cs-person-quote__footer {
    grid-area: footer;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--cs-space-5) var(--cs-space-7);
    align-items: center;
    margin: 0;
    padding: var(--cs-space-5) 0;
    border: 0;
    border-top: 1px solid var(--cs-color-border);
}

.single-article .post-box__content-flow .cs-person-quote__identity {
    display: flex;
    min-width: 0;
    gap: var(--cs-space-4);
    align-items: center;
}

.single-article .post-box__content-flow .cs-person-quote__media-link {
    display: inline-flex;
    flex: 0 0 auto;
    border-radius: 50%;
    color: inherit;
    text-decoration: none;
}

.single-article .post-box__content-flow .cs-person-quote__media-link:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: var(--cs-focus-offset);
}

.single-article .post-box__content-flow .cs-person-quote__media,
.single-article .post-box__content-flow .cs-person-quote__photo {
    width: clamp(3.5rem, 5vw, 4rem);
    height: clamp(3.5rem, 5vw, 4rem);
}

.single-article .post-box__content-flow .cs-person-quote__media {
    position: relative;
    flex: 0 0 auto;
}

.single-article .post-box__content-flow .cs-person-quote__photo {
    display: block;
    border: 2px solid color-mix(in srgb, var(--single-article-accent) 40%, var(--cs-color-border));
    border-radius: 50%;
    background: var(--cs-color-surface);
    box-shadow: none;
    object-fit: cover;
}

.single-article .post-box__content-flow .cs-person-quote__company-logo {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 1.5rem;
    height: 1.5rem;
    padding: 2px;
    border: 2px solid var(--cs-color-surface);
    border-radius: 50%;
    background: var(--cs-color-surface);
    box-shadow: none;
    object-fit: contain;
}

.single-article .post-box__content-flow .cs-person-quote__meta {
    display: grid;
    min-width: 0;
    gap: var(--cs-space-1);
}

.single-article .post-box__content-flow :is(a, span).cs-person-quote__name,
.single-article .post-box__content-flow :is(a, span).cs-person-quote__name:visited {
    color: var(--cs-color-text-strong);
    font-size: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.2;
    text-decoration: none;
}

.single-article .post-box__content-flow a.cs-person-quote__name:hover {
    color: var(--single-article-accent);
    text-decoration: none;
}

.single-article .post-box__content-flow a.cs-person-quote__name:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: var(--cs-focus-offset);
}

.single-article .post-box__content-flow .cs-person-quote__title {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cs-space-2);
    align-items: baseline;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    line-height: 1.45;
}

.single-article .post-box__content-flow :where(.cs-person-quote__role, .cs-person-quote__company) {
    color: inherit;
    font-size: inherit;
    font-weight: 400;
}

.single-article .post-box__content-flow .cs-person-quote__separator {
    color: var(--cs-color-text-faint);
}

.single-article .post-box__content-flow .cs-person-quote__actions {
    display: flex;
    gap: var(--cs-space-5);
    align-items: center;
    margin: 0;
}

.single-article .post-box__content-flow a.cs-person-quote__button,
.single-article .post-box__content-flow a.cs-person-quote__button:visited,
.single-article .post-box__content-flow a.cs-person-quote__button--share,
.single-article .post-box__content-flow a.cs-person-quote__button--share:visited {
    display: inline-flex;
    gap: var(--cs-space-2);
    align-items: center;
    min-height: 2.5rem;
    margin: 0;
    padding: var(--cs-space-2) 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.25;
    text-decoration: none;
    transition:
        color var(--cs-duration-default) var(--cs-ease-standard),
        transform var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .post-box__content-flow a.cs-person-quote__button:hover,
.single-article .post-box__content-flow a.cs-person-quote__button--share:hover {
    border: 0;
    background: transparent;
    color: var(--cs-color-text-strong);
    text-decoration: none;
    transform: translateY(-1px);
}

.single-article .post-box__content-flow a.cs-person-quote__button:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: var(--cs-focus-offset);
}

.single-article .post-box__content-flow .cs-person-quote__button i {
    color: var(--single-article-accent);
    font-size: 0.9em;
}

.single-article .post-box__content-flow blockquote > :where(p, cite, footer, small) {
    margin: 0;
}

.single-article .post-box__content-flow blockquote > p {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-wrap: pretty;
}

.single-article .post-box__content-flow blockquote > :where(cite, footer, small) {
    padding-top: var(--cs-space-4);
    border-top: 1px solid var(--cs-color-border);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-style: normal;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.06em;
    line-height: 1.45;
    text-transform: uppercase;
}

.single-article .post-box__content-flow :where(img, video) {
    height: auto;
    border-radius: var(--cs-radius-large);
}

.single-article .post-box__content-flow figure.wp-caption {
    padding: var(--cs-space-3);
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-medium);
    background: transparent;
    box-shadow: none;
}

.single-article .post-box__content-flow figure.wp-caption > img {
    width: 100%;
    border: 0;
    box-shadow: none;
}

.single-article .post-box__content-flow :where(figcaption, .wp-caption-text) {
    margin-top: var(--cs-space-2);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    line-height: 1.45;
}

.single-article .post-box__content-flow :where(.alignwide, .alignfull, .wp-block-image.size-full),
.single-article .post-bottom > [data-ad-unit] {
    grid-column: 1 / -1;
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-large);
    background: var(--cs-color-surface);
    box-shadow: var(--cs-shadow-small);
    overscroll-behavior-inline: contain;
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) {
    width: 100%;
    min-width: 36rem;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 0;
    background: var(--cs-color-surface);
    box-shadow: none;
    color: var(--cs-color-text-body);
    table-layout: auto;
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) :where(th, td) {
    padding: var(--cs-space-3) var(--cs-space-4);
    border: 0;
    text-align: left;
    vertical-align: top;
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) thead th {
    background: var(--cs-color-surface-muted);
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.035em;
    line-height: 1.35;
    vertical-align: middle;
}

:is(html[data-theme="dark"], body.dark) .single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) thead th {
    border-bottom: 0;
    background: var(--cs-color-surface-subtle);
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) tbody tr {
    background: var(--cs-color-surface);
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) tbody tr:nth-child(even) {
    background: var(--cs-color-surface-subtle);
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) tbody tr:hover {
    background: var(--cs-color-surface-muted);
}

.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) tbody tr + tr td,
.single-article .post-box__content-flow :where(.table-container, .wp-block-table) table:not(.coin-markets__table) tbody td {
    border-top: 1px solid var(--cs-color-border);
    font-size: var(--cs-font-size-control);
    line-height: 1.45;
}

/* Old-post warning */

.single-article .old-post {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--cs-space-3);
    padding: var(--cs-space-4);
    border: 1px solid color-mix(in srgb, var(--cs-color-negative) 34%, var(--cs-color-border));
    border-radius: var(--cs-radius-medium);
    background: var(--cs-color-negative-soft);
    color: var(--cs-color-text-body);
}

.single-article .old-post__icon {
    margin-top: var(--cs-space-1);
    color: var(--cs-color-negative);
}

.single-article .old-post__content {
    display: grid;
    gap: var(--cs-space-1);
}

.single-article .old-post :where(strong, .old-post__note) {
    font-size: var(--cs-font-size-meta);
    line-height: 1.5;
}

.single-article .old-post__note {
    color: var(--cs-color-text-muted);
}

.single-article .old-post a {
    color: var(--cs-color-action);
}

/* Quick Take */

.single-article .news-quick-take {
    --quick-take-index-width: 36px;
    display: grid;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--cs-color-border);
    border-top: 3px solid var(--single-article-accent);
    border-radius: var(--cs-radius-large);
    background: var(--cs-color-surface);
    box-shadow: var(--cs-shadow-small);
}

.single-article .news-quick-take__header,
.single-article .news-quick-take__item {
    display: grid;
    grid-template-columns: var(--quick-take-index-width) minmax(0, 1fr);
    gap: var(--cs-space-3);
    align-items: start;
}

.single-article .news-quick-take__title {
    grid-column: 2;
    width: fit-content;
    margin: 0;
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.single-article .news-quick-take__icon {
    grid-column: 1;
    align-self: center;
    justify-self: center;
    color: var(--single-article-accent);
    font-size: 0.8rem;
}

.single-article .news-quick-take__header {
    align-items: center;
    padding: var(--cs-space-4) var(--cs-space-5);
    border-bottom: 1px solid var(--cs-color-border);
    background: var(--cs-color-surface-subtle);
}

.single-article .news-quick-take__list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-article .news-quick-take__item {
    margin: 0;
    padding: var(--cs-space-4) var(--cs-space-5);
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .news-quick-take__item:last-child {
    border-bottom: 0;
}

.single-article .news-quick-take__index {
    display: grid;
    place-items: center;
    justify-self: center;
    width: 30px;
    height: 30px;
    border-radius: var(--cs-radius-round);
    background: var(--single-article-accent-soft);
    color: var(--single-article-accent);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    font-variant-numeric: tabular-nums;
}

.single-article .news-quick-take__text {
    align-self: center;
    color: var(--cs-color-text-body);
    font-size: var(--cs-font-size-control);
    line-height: 1.6;
}

/* Article actions */

.single-article .article-action-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cs-space-3) var(--cs-space-5);
    padding-block: var(--cs-space-4);
    border-block: 1px solid var(--cs-color-border);
}

.single-article:has(.post-meta-single--article-card--compact) .article-action-bar {
    border-top: 0;
}

.single-article:has(.post-meta-single--article-card--compact) .news-quick-take {
    margin-top: var(--cs-space-4);
}

.single-article:has(.post-meta-single--article-card--compact) .news-quick-take + .article-action-bar {
    margin-top: calc(var(--cs-space-4) - var(--single-article-post-box-gap));
    border-top: 1px solid var(--cs-color-border);
}

.single-article:has(.post-meta-single--article-card--compact) .single-article__body {
    padding-top: 0;
}

.single-article .article-action-bar__preferred-source,
.single-article .article-action-bar__share,
.single-article .article-action-bar__share-desktop,
.single-article .article-action-bar__share-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.single-article .article-action-bar__preferred-source {
    min-width: min(100%, 260px);
}

.single-article .article-action-bar__share {
    justify-content: flex-end;
    gap: var(--cs-space-2);
    margin-left: auto;
}

.single-article .article-action-bar__share-desktop,
.single-article .article-action-bar__share-links {
    gap: var(--cs-space-2);
}

.single-article .article-action-bar__share-label {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article .article-action-bar__share-links a,
.single-article .article-action-bar__share-trigger {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-small);
    background: var(--cs-color-surface);
    color: var(--cs-color-text-body);
    text-decoration: none;
}

.single-article .article-action-bar__share-links a:hover,
.single-article .article-action-bar__share-trigger:hover {
    border-color: var(--cs-color-action);
    color: var(--cs-color-action-hover);
}

.single-article .article-action-bar__share-mobile {
    display: none;
}

/* Preserve the existing preferred-source badge without loading legacy post.css. */

.single-article .post-box a.cs-preferred-google-badge {
    --cs-preferred-google-badge-tail-color: var(--cs-color-action);
    --cs-preferred-google-badge-tail-glow-color: var(--cs-color-action);
    --cs-preferred-google-badge-tail-orbit-inset: -2px;
    --cs-preferred-google-badge-tail-speed: 4.8s;
    --cs-preferred-google-badge-tail-core-width: 30px;
    --cs-preferred-google-badge-tail-core-height: 4px;
    --cs-preferred-google-badge-tail-glow-width: 52px;
    --cs-preferred-google-badge-tail-glow-height: 14px;
    --cs-preferred-google-badge-tail-ring-opacity: 1;
    --cs-preferred-google-badge-tail-ring-hover-opacity: 1;
    --cs-preferred-google-badge-tail-glow-opacity: 0.84;
    --cs-preferred-google-badge-tail-glow-hover-opacity: 1;
    --cs-preferred-google-badge-tail-glow-blur: 15px;
    position: relative;
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-height: 32px;
    max-width: 100%;
    padding: 6px clamp(10px, 0.5rem + 0.3vw, 12px);
    overflow: hidden;
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-round);
    outline: 2px solid transparent;
    outline-offset: 2px;
    background: var(--cs-color-surface);
    color: var(--cs-color-text-strong);
    font-size: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
    line-height: 1.4;
    text-decoration: none;
    isolation: isolate;
    transition:
        border-color var(--cs-duration-default) var(--cs-ease-standard),
        background-color var(--cs-duration-default) var(--cs-ease-standard),
        color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .post-box a.cs-preferred-google-badge::before,
.single-article .post-box a.cs-preferred-google-badge::after {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--cs-radius-round);
    content: "";
    pointer-events: none;
    offset-anchor: center;
    offset-distance: 0%;
    offset-path: inset(var(--cs-preferred-google-badge-tail-orbit-inset) round 999px);
    offset-rotate: auto;
    transform: translate(-50%, -50%);
    animation: cs-preferred-google-badge-tail-orbit var(--cs-preferred-google-badge-tail-speed) linear infinite;
    transition: opacity var(--cs-duration-default) var(--cs-ease-standard), filter var(--cs-duration-default) var(--cs-ease-standard);
    will-change: offset-distance, opacity;
}

.single-article .post-box a.cs-preferred-google-badge::before {
    z-index: 0;
    width: var(--cs-preferred-google-badge-tail-glow-width);
    height: var(--cs-preferred-google-badge-tail-glow-height);
    background: linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--cs-preferred-google-badge-tail-glow-color) 24%, transparent) 18%,
        color-mix(in srgb, var(--cs-preferred-google-badge-tail-glow-color) 68%, transparent) 56%,
        color-mix(in srgb, #7ec8ff 16%, var(--cs-preferred-google-badge-tail-glow-color)) 100%
    );
    box-shadow:
        0 0 14px color-mix(in srgb, var(--cs-preferred-google-badge-tail-glow-color) 92%, transparent),
        0 0 26px color-mix(in srgb, var(--cs-preferred-google-badge-tail-glow-color) 72%, transparent),
        0 0 42px color-mix(in srgb, var(--cs-preferred-google-badge-tail-glow-color) 38%, transparent);
    filter: blur(var(--cs-preferred-google-badge-tail-glow-blur));
    opacity: var(--cs-preferred-google-badge-tail-glow-opacity);
}

.single-article .post-box a.cs-preferred-google-badge::after {
    z-index: 1;
    width: var(--cs-preferred-google-badge-tail-core-width);
    height: var(--cs-preferred-google-badge-tail-core-height);
    background: linear-gradient(
        90deg,
        transparent 0%,
        color-mix(in srgb, var(--cs-preferred-google-badge-tail-color) 22%, transparent) 22%,
        color-mix(in srgb, var(--cs-preferred-google-badge-tail-color) 78%, transparent) 64%,
        color-mix(in srgb, #a6dcff 18%, var(--cs-preferred-google-badge-tail-color)) 100%
    );
    box-shadow:
        0 0 3px color-mix(in srgb, #cfeeff 24%, var(--cs-preferred-google-badge-tail-color)),
        0 0 12px color-mix(in srgb, var(--cs-preferred-google-badge-tail-color) 82%, transparent),
        0 0 20px color-mix(in srgb, var(--cs-preferred-google-badge-tail-color) 42%, transparent);
    opacity: var(--cs-preferred-google-badge-tail-ring-opacity);
}

.single-article .post-box a.cs-preferred-google-badge > * {
    position: relative;
    z-index: 2;
}

.single-article .post-box a.cs-preferred-google-badge:hover,
.single-article .post-box a.cs-preferred-google-badge:focus-visible {
    border-color: var(--cs-color-action);
    background: color-mix(in srgb, var(--cs-color-surface) 92%, var(--cs-color-action-soft));
    color: var(--cs-color-text-strong);
    text-decoration: none;
}

.single-article .post-box a.cs-preferred-google-badge:hover::before,
.single-article .post-box a.cs-preferred-google-badge:focus-visible::before {
    opacity: var(--cs-preferred-google-badge-tail-glow-hover-opacity);
}

.single-article .post-box a.cs-preferred-google-badge:hover::after,
.single-article .post-box a.cs-preferred-google-badge:focus-visible::after {
    opacity: var(--cs-preferred-google-badge-tail-ring-hover-opacity);
}

.single-article .cs-preferred-google-badge__text,
.single-article .cs-preferred-google-badge__brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}

.single-article .cs-preferred-google-badge__text {
    color: inherit;
    font-size: inherit;
    font-weight: var(--cs-font-weight-strong);
    line-height: inherit;
    white-space: nowrap;
}

.single-article .cs-preferred-google-badge__brand {
    gap: 6px;
    min-width: 0;
}

.single-article .cs-preferred-google-badge__brand-mark {
    display: block;
    flex: 0 0 clamp(14px, 0.75rem + 0.25vw, 16px);
    width: clamp(14px, 0.75rem + 0.25vw, 16px);
    height: clamp(14px, 0.75rem + 0.25vw, 16px);
    overflow: hidden;
    border-radius: 2px;
    object-fit: cover;
}

.single-article .cs-preferred-google-badge__brand-name {
    color: var(--cs-color-text-strong);
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
    white-space: nowrap;
}

.single-article .cs-preferred-google-badge__google-wordmark {
    display: block;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    height: 22px;
}

.single-article .post-box a.cs-preferred-google-badge--post-meta {
    --cs-preferred-google-badge-tail-orbit-inset: -1px;
    --cs-preferred-google-badge-tail-core-width: 22px;
    --cs-preferred-google-badge-tail-core-height: 3px;
    --cs-preferred-google-badge-tail-glow-width: 38px;
    --cs-preferred-google-badge-tail-glow-height: 10px;
    --cs-preferred-google-badge-tail-speed: 4.2s;
    --cs-preferred-google-badge-tail-ring-opacity: 0.94;
    --cs-preferred-google-badge-tail-glow-opacity: 0.76;
    --cs-preferred-google-badge-tail-glow-hover-opacity: 0.94;
    --cs-preferred-google-badge-tail-glow-blur: 12px;
    min-height: 28px;
    padding: 3px 9px;
    border-color: color-mix(in srgb, var(--cs-color-action) 10%, var(--cs-color-border));
    background: color-mix(in srgb, var(--cs-color-surface) 97%, var(--cs-color-action-soft));
    font-size: 0.625rem;
    line-height: 0.875rem;
    transition:
        transform var(--cs-duration-default) var(--cs-ease-standard),
        box-shadow var(--cs-duration-default) var(--cs-ease-standard),
        border-color var(--cs-duration-default) var(--cs-ease-standard),
        background-color var(--cs-duration-default) var(--cs-ease-standard),
        color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .cs-preferred-google-badge--post-meta .cs-preferred-google-badge__brand {
    gap: 4px;
}

.single-article .cs-preferred-google-badge--post-meta .cs-preferred-google-badge__brand-mark {
    flex-basis: 13px;
    width: 13px;
    height: 13px;
}

.single-article .post-box a.cs-preferred-google-badge--post-meta:hover,
.single-article .post-box a.cs-preferred-google-badge--post-meta:focus-visible {
    box-shadow: 0 10px 20px -18px color-mix(in srgb, var(--cs-color-action) 70%, transparent);
    text-decoration: none;
    transform: translateY(-1px);
}

@supports not (offset-path: inset(0 round 999px)) {
    .single-article .post-box a.cs-preferred-google-badge::before,
    .single-article .post-box a.cs-preferred-google-badge::after {
        display: none;
    }
}

@keyframes cs-preferred-google-badge-tail-orbit {
    from {
        offset-distance: 0%;
    }

    to {
        offset-distance: 100%;
    }
}

/* Mention cutouts and no-JavaScript footer */

.single-article__mention-anchor {
    position: relative;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: var(--single-article-grid);
    align-items: start;
    width: 100%;
    min-width: 0;
}

.single-article__mention-anchor > :not([data-single-article-mention]) {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.single-article__mention-anchor > [data-single-article-mention] {
    grid-row: 1;
    width: var(--single-article-mention-width);
}

.single-article__mention-anchor--spans-copy > [data-single-article-mention] {
    position: absolute;
    inset-block-start: 0;
    z-index: 1;
}

.single-article__mention-anchor--spans-copy.single-article__mention-anchor--right > [data-single-article-mention] {
    right: calc(var(--single-article-mention-width) / -2);
    left: auto;
    transform: none;
}

.single-article__mention-anchor--right > :not([data-single-article-mention]),
.single-article__mention-continuation--right {
    padding-right: calc(var(--single-article-mention-overlap) + var(--cs-space-5));
}

.single-article__mention-continuation {
    padding-bottom: var(--single-article-mention-clearance, 0);
}

.single-article__mention-anchor--right > [data-single-article-mention] {
    grid-column: 3;
    justify-self: start;
    transform: translateX(-50%);
}

.single-article-mentions {
    display: grid;
    gap: var(--cs-space-4);
    padding-top: var(--cs-space-6);
    border-top: 1px solid var(--cs-color-border);
}

.single-article-mentions[hidden] {
    display: none;
}

.single-article-mentions__header {
    display: grid;
    gap: var(--cs-space-1);
}

.single-article-mentions__eyebrow {
    color: var(--single-article-accent);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article-mention-card__eyebrow {
    color: var(--cs-color-text-strong);
    font-size: 0.6875rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article-mention-card__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cs-space-3);
    min-width: 0;
}

.single-article-mention-card__topline-actions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--cs-space-2);
}

.single-article-mention-card__affordance {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    color: var(--cs-color-text-muted);
    font-size: 0.7rem;
    line-height: 1;
    transition:
        color var(--cs-duration-default) var(--cs-ease-standard),
        transform var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article-mention-card:hover .single-article-mention-card__affordance,
.single-article-mention-card:focus-visible .single-article-mention-card__affordance {
    color: var(--cs-color-action);
    transform: translate(1px, -1px);
}

.single-article-mentions__header h2 {
    margin: 0;
    color: var(--cs-color-text-strong);
    font-size: clamp(1.2rem, 1.08rem + 0.55vw, 1.55rem);
    line-height: 1.2;
}

.single-article-mentions__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.single-article-mention-card {
    position: relative;
    display: grid;
    gap: var(--cs-space-3);
    min-width: 0;
    padding: var(--cs-space-4);
    border: 0;
    border-top: 1px solid var(--cs-color-border);
    border-left: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--cs-color-text-body);
    text-decoration: none;
    transition:
        border-color var(--cs-duration-default) var(--cs-ease-standard),
        background-color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article-mentions__list > .single-article-mention-card:nth-child(odd):not(:last-child) {
    border-right: 1px solid var(--cs-color-border);
}

.single-article-mention-card:hover {
    border-color: color-mix(in srgb, var(--cs-color-action) 58%, var(--cs-color-border));
    background: color-mix(in srgb, var(--cs-color-action-soft) 55%, var(--cs-color-surface));
    box-shadow: none;
    color: var(--cs-color-text-body);
    text-decoration: none;
}

.single-article .post-box a.single-article-mention-card,
.single-article .post-box a.single-article-mention-card:hover,
.single-article .post-box a.single-article-mention-card:focus-visible {
    text-decoration: none;
}

.single-article-mention-card__body {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--cs-space-3);
    align-items: center;
    min-width: 0;
}

.single-article-mention-card__media {
    position: relative;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    overflow: hidden;
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-medium);
    background: var(--cs-color-surface-muted);
    color: var(--cs-color-action);
    transition:
        border-color var(--cs-duration-default) var(--cs-ease-standard),
        background-color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article-mention-card:hover .single-article-mention-card__media {
    border-color: color-mix(in srgb, var(--cs-color-action) 42%, var(--cs-color-border));
    background: var(--cs-color-action-soft);
}

.single-article-mention-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    padding: var(--cs-space-1);
    border-radius: var(--cs-radius-small);
    object-fit: contain;
}

.single-article-mention-card__flag.crypto-law-flag {
    display: block;
    width: calc(100% - (var(--cs-space-1) * 2));
    height: calc(100% - (var(--cs-space-1) * 2));
    flex-basis: auto;
    border-radius: var(--cs-radius-small);
    background-size: cover;
    box-shadow: none;
}

.single-article-mention-card__flag.fi {
    width: calc(100% - (var(--cs-space-1) * 2));
    line-height: 1;
}

.single-article-mention-card[data-mention-type="person"] .single-article-mention-card__media,
.single-article-mention-card[data-mention-type="person"] .single-article-mention-card__media img {
    border-radius: var(--cs-radius-round);
}

.single-article-mention-card__media i {
    font-size: 1.15rem;
}

.single-article-mention-card__initials {
    position: absolute;
    right: 2px;
    bottom: 1px;
    color: var(--cs-color-text-muted);
    font-size: 0.55rem;
    font-weight: var(--cs-font-weight-strong);
}

.single-article-mention-card__copy {
    display: grid;
    gap: var(--cs-space-1);
    min-width: 0;
}

.single-article-mention-card__title {
    color: var(--cs-color-text-strong);
    font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.05rem);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.single-article-mention-card__meta {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: 400;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.single-article-mention-card__meta--market {
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    white-space: nowrap;
    -webkit-line-clamp: unset;
}

.single-article-mention-card__meta--prediction {
    display: flex;
    align-items: center;
    gap: 4px;
    -webkit-line-clamp: unset;
}

.single-article-mention-card__meta-icon {
    flex: 0 0 auto;
    font-size: 0.65rem;
}

.single-article-mention-card__meta-text {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.single-article-mention-card__change {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: var(--cs-space-1);
    font-weight: var(--cs-font-weight-strong);
}

.single-article-mention-card__change--up {
    color: var(--cs-color-positive);
}

.single-article-mention-card__change--down {
    color: var(--cs-color-negative);
}

.single-article-mention-card__change--flat {
    color: var(--cs-color-text-muted);
}

.single-article-mention-card__change i {
    flex: 0 0 auto;
    font-size: 0.65rem;
}

.single-article-mention-card--prediction {
    gap: var(--cs-space-3);
}

.single-article-mention-card__prediction-icon {
    display: inline-grid;
    width: 30px;
    height: 30px;
    overflow: hidden;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--cs-color-action) 22%, var(--cs-color-border));
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-action-soft);
    color: var(--cs-color-action);
}

.single-article-mention-card__prediction-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-article-mention-card__prediction-icon i {
    font-size: 0.8rem;
}

.single-article-mention-card__prediction {
    display: grid;
    gap: var(--cs-space-2);
    min-width: 0;
}

.single-article-mention-card__prediction-title {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    color: var(--cs-color-text-strong);
    font-size: clamp(0.95rem, 0.9rem + 0.15vw, 1.05rem);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.25;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.single-article-mention-card__prediction-value {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
    align-items: center;
    gap: var(--cs-space-1) var(--cs-space-2);
}

.single-article-mention-card__prediction-value > strong {
    color: var(--cs-color-text-strong);
    font-size: clamp(1.8rem, 1.65rem + 0.45vw, 2.1rem);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
}

.single-article-mention-card__prediction-change {
    display: inline-flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-self: end;
    gap: 3px;
    font-size: var(--cs-font-size-meta);
    font-variant-numeric: tabular-nums;
    font-weight: var(--cs-font-weight-strong);
}

.single-article-mention-card__prediction-outcome {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    align-items: center;
    justify-self: start;
    gap: var(--cs-space-1);
    padding: var(--cs-space-1) var(--cs-space-2);
    border: 1px solid color-mix(in srgb, var(--cs-color-action) 22%, var(--cs-color-border));
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-action-soft);
    color: var(--cs-color-action);
    font-size: 0.75rem;
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.2;
}

.single-article-mention-card__prediction-detail > span {
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.single-article-mention-card__prediction-outcome > i {
    flex: 0 0 auto;
    font-size: 0.65rem;
}

.single-article-mention-card__prediction-outcome-text {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.single-article-mention-card__prediction-progress {
    width: 100%;
    height: 4px;
    overflow: hidden;
    appearance: none;
    border: 0;
    border-radius: var(--cs-radius-round);
    background: var(--cs-color-border);
}

.single-article-mention-card__prediction-progress::-webkit-progress-bar {
    border-radius: inherit;
    background: var(--cs-color-border);
}

.single-article-mention-card__prediction-progress::-webkit-progress-value {
    border-radius: inherit;
    background: var(--cs-color-action);
}

.single-article-mention-card__prediction-progress::-moz-progress-bar {
    border-radius: inherit;
    background: var(--cs-color-action);
}

.single-article-mention-card__prediction-detail {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--cs-space-3);
    padding-top: 2px;
}

.single-article-mention-card__prediction-detail > strong {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-variant-numeric: tabular-nums;
    font-weight: 400;
    text-align: right;
}

.single-article__mention-anchor .single-article-mention-card {
    padding: var(--cs-space-4);
}

.single-article__mention-anchor .single-article-mention-card::before,
.single-article__mention-anchor .single-article-mention-card::after {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cs-color-border-strong, var(--cs-color-border));
    content: "";
    transition: background-color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article__mention-anchor--right .single-article-mention-card {
    border-right: 0;
    border-left: 1px solid var(--cs-color-border);
}

.single-article__mention-anchor--right .single-article-mention-card::before {
    top: -3px;
    right: -2px;
}

.single-article__mention-anchor--right .single-article-mention-card::after {
    bottom: -2px;
    left: -3px;
}

.single-article__mention-anchor .single-article-mention-card:hover::before,
.single-article__mention-anchor .single-article-mention-card:hover::after,
.single-article__mention-anchor .single-article-mention-card:focus-visible::before,
.single-article__mention-anchor .single-article-mention-card:focus-visible::after {
    background: var(--cs-color-action);
}

.single-article__mention-anchor--right .single-article-mention-card:hover {
    border-left-color: color-mix(in srgb, var(--cs-color-action) 58%, var(--cs-color-border));
}

.single-article__mention-anchor .single-article-mention-card__media {
    width: 52px;
    height: 52px;
}

.single-article-mention-card--price-watch {
    gap: var(--cs-space-3);
}

.single-article-mention-card--price-watch .single-article-mention-card__eyebrow {
    color: var(--single-article-accent);
}

.single-article-mention-card__body--price-watch {
    grid-template-columns: 48px minmax(0, 1fr);
}

.single-article-mention-card__price-watch-title-line {
    display: flex;
    align-items: baseline;
    gap: var(--cs-space-2);
    min-width: 0;
}

.single-article-mention-card__rank {
    flex: 0 0 auto;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
}

.single-article-mention-card__chart-shell {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 92px;
    padding-block: var(--cs-space-2);
    border-block: 1px solid var(--cs-color-border);
}

.single-article-mention-card__chart {
    position: relative;
    display: block;
    width: 100%;
    height: 76px;
    min-width: 0;
}

.single-article-mention-card__chart-canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.single-article-mention-card__chart-status {
    position: absolute;
    inset: 50% auto auto 50%;
    width: max-content;
    max-width: calc(100% - var(--cs-space-4));
    transform: translate(-50%, -50%);
    color: var(--cs-color-text-muted);
    font-size: 0.6875rem;
    line-height: 1.3;
    text-align: center;
}

.single-article-mention-card__chart-status[hidden] {
    display: none;
}

.single-article-mention-card__performance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
}

.single-article-mention-card__performance-item {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding-inline: var(--cs-space-2);
    border-left: 1px solid var(--cs-color-border);
}

.single-article-mention-card__performance-item:first-child {
    padding-left: 0;
    border-left: 0;
}

.single-article-mention-card__performance-item:last-child {
    padding-right: 0;
}

.single-article-mention-card__performance-label {
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.single-article-mention-card__performance-value {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-width: 0;
    font-size: 0.75rem;
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.2;
    white-space: nowrap;
}

.single-article-mention-card__performance-value i {
    flex: 0 0 auto;
    font-size: 0.625rem;
}

.single-article-mention-card__performance-item--up .single-article-mention-card__performance-value {
    color: var(--cs-color-positive);
}

.single-article-mention-card__performance-item--down .single-article-mention-card__performance-value {
    color: var(--cs-color-negative);
}

.single-article-mention-card__performance-item--flat .single-article-mention-card__performance-value {
    color: var(--cs-color-text-muted);
}

/* Footer context, credits, calls to action and disclosures */

.single-article .top.disclaimer:not(.footer-disclaimer),
.single-article .call-to-action {
    min-width: 0;
    padding: var(--cs-space-5);
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-large);
    background: var(--cs-color-surface);
}

.single-article .top.disclaimer:not(.footer-disclaimer) {
    border-left: var(--cs-space-1) solid var(--cs-color-warning);
    background: var(--cs-color-warning-soft);
}

.single-article .top.disclaimer:not(.footer-disclaimer) p {
    margin: 0;
    color: var(--cs-color-text-body);
    font-size: var(--cs-font-size-control);
    line-height: 1.6;
}

.single-article .post-mentions-and-posted-in {
    display: grid;
    gap: var(--cs-space-6);
}

.single-article__supporting-review {
    min-width: 0;
    padding-top: var(--cs-space-6);
    border-top: 1px solid var(--cs-color-border);
}

.single-article .post-mentions-and-posted-in + .editorial-credits {
    margin-top: calc(var(--cs-space-3) - var(--single-article-post-bottom-gap));
}

.single-article .posted-in {
    min-width: 0;
    padding: var(--cs-space-5) 0 0;
    border: 0;
    border-top: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article .post-info__label {
    display: block;
    margin-bottom: var(--cs-space-3);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article .news-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cs-space-2) var(--cs-space-4);
}

.single-article .posted-in .news-category {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-body);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    text-decoration: none;
}

.single-article .posted-in .news-category:hover,
.single-article .posted-in .news-category:focus-visible {
    background: transparent;
    color: var(--cs-color-action-hover);
    text-decoration: none;
}

.single-article .posted-in .news-category-icon {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    overflow: hidden;
    border-radius: var(--cs-radius-round);
    color: var(--cs-color-text-muted);
}

.single-article .news-category-icon :where(img, .fi) {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-article .disclaimers {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--cs-color-border);
}

.single-article .footer-disclaimer,
.single-article .top.footer-disclaimer {
    display: grid;
    gap: var(--cs-space-2);
    min-width: 0;
    padding: var(--cs-space-4) 0;
    border: 0;
    border-bottom: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article .footer-disclaimer__header {
    display: flex;
    align-items: center;
    gap: var(--cs-space-2);
    color: var(--cs-color-text-strong);
    font-size: 0.6875rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article .footer-disclaimer__header i {
    color: var(--cs-color-text-muted);
}

.single-article .footer-disclaimer p {
    margin: 0;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    line-height: 1.6;
}

.single-article .footer-disclaimer a {
    color: var(--cs-color-text-body);
    font-weight: var(--cs-font-weight-strong);
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    transition: color 160ms ease, text-decoration-color 160ms ease;
}

.single-article .footer-disclaimer a:hover,
.single-article .footer-disclaimer a:focus-visible {
    color: var(--cs-color-text-strong);
    text-decoration-color: currentColor;
}

.single-article .call-to-action {
    padding: 0;
    overflow: hidden;
}

.single-article .call-to-action > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: var(--cs-space-4);
    align-items: center;
    padding: var(--cs-space-6);
    color: var(--cs-color-text-body);
    text-decoration: none;
}

.single-article .call-to-action .logo {
    grid-row: 1 / span 3;
    width: 56px;
    height: 56px;
    border-radius: var(--cs-radius-medium);
    object-fit: contain;
}

.single-article .call-to-action :where(h3, p) {
    grid-column: 2;
    margin: 0;
}

.single-article .call-to-action h3 {
    color: var(--cs-color-text-strong);
    font-size: 1.25rem;
}

.single-article .call-to-action p {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-control);
    line-height: 1.5;
}

.single-article .call-to-action .cta-btn {
    grid-column: 3;
    grid-row: 1 / span 3;
    padding: var(--cs-space-3) var(--cs-space-4);
    border-radius: var(--cs-radius-round);
    font-size: var(--cs-font-size-control);
    font-weight: var(--cs-font-weight-strong);
}

.single-article .call-to-action .cta-footer {
    font-size: var(--cs-font-size-meta);
}

.single-article .editorial-credits {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--cs-space-5);
    min-width: 0;
    padding: var(--cs-space-5) 0;
    border: 0;
    border-top: 1px solid var(--cs-color-border);
    border-bottom: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article .editorial-credits--split {
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
}

.single-article .editorial-credits__heading {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--cs-color-text-muted);
    font-size: 0.6875rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.single-article .editorial-credits__author {
    grid-column: 1;
}

.single-article .editorial-credits__divider {
    display: block;
    grid-column: 2;
    width: 1px;
    height: 100%;
    background: var(--cs-color-border);
}

.single-article .editorial-credits__editor {
    grid-column: 1;
}

.single-article .editorial-credits--split .editorial-credits__editor {
    grid-column: 3;
}

.single-article .editorial-credits .post-meta-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--cs-space-4);
    width: 100%;
    min-width: 0;
}

.single-article .editorial-credits__avatar {
    position: relative;
    display: block;
    width: 56px;
    height: 56px;
    border-radius: var(--cs-radius-round);
}

.single-article .editorial-credits__avatar :where(img, .avatar) {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}

.single-article .editorial-credits__content {
    display: grid;
    gap: var(--cs-space-1);
    min-width: 0;
}

.single-article .editorial-credits__name,
.single-article .editorial-credits__name:visited {
    color: var(--cs-color-text-strong);
    font-weight: var(--cs-font-weight-strong);
    text-decoration: none;
}

.single-article a.editorial-credits__name:hover {
    color: var(--cs-color-text-strong);
    text-decoration: underline;
    text-decoration-color: var(--cs-color-border-strong);
    text-underline-offset: 0.2em;
}

.single-article .editorial-credits__title,
.single-article .editorial-credits__bio {
    margin: 0;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    line-height: 1.5;
}

.single-article .editorial-credits__actions,
.single-article .editorial-credits__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cs-space-2);
}

.single-article .editorial-credits__actions {
    margin-top: var(--cs-space-1);
}

.single-article .editorial-credits__bio + .editorial-credits__actions {
    position: relative;
    margin-top: var(--cs-space-2);
    padding-top: var(--cs-space-3);
}

.single-article .editorial-credits__bio + .editorial-credits__actions::before {
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(2.5rem, 18%, 4rem);
    height: 1px;
    background: var(--cs-color-border);
    content: "";
}

.single-article .editorial-credits :where(.social-chip, .editorial-credits__profile) {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    text-decoration: none;
    transition: color 160ms ease;
}

.single-article .editorial-credits :where(.social-chip, .editorial-credits__profile):visited {
    color: var(--cs-color-text-muted);
}

.single-article .editorial-credits .social-chip::before {
    width: 0.8rem;
    height: 0.8rem;
    flex: 0 0 0.8rem;
    background: currentColor;
    content: "";
    -webkit-mask: var(--single-article-social-icon) center / contain no-repeat;
    mask: var(--single-article-social-icon) center / contain no-repeat;
}

.single-article .editorial-credits .social-chip .chip__label {
    display: none;
}

.single-article .editorial-credits .social-chip.x::before {
    --single-article-social-icon: url("../images/fontawesome/brands/x-twitter.svg");
}

.single-article .editorial-credits .social-chip.linkedin::before {
    --single-article-social-icon: url("../images/fontawesome/brands/linkedin-in.svg");
}

.single-article .editorial-credits :where(.social-chip, .editorial-credits__profile):hover {
    background: transparent;
    color: var(--cs-color-text-strong);
    text-decoration: none;
}

.single-article .editorial-credits :where(.editorial-credits__name, .social-chip, .editorial-credits__profile):focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: 3px;
    color: var(--cs-color-text-strong);
    text-decoration: none;
}

/* Related coverage uses the approved article-card renderer. */

.single-article .related-coverage {
    display: grid;
    gap: var(--cs-space-5);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.single-article .related-coverage__intro {
    display: grid;
    gap: var(--cs-space-1);
}

.single-article .related-coverage__eyebrow {
    color: var(--single-article-accent);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.single-article .related-coverage__title {
    margin: 0;
    color: var(--cs-color-text-strong);
    font-size: clamp(1.5rem, 1.3rem + 0.8vw, 2rem);
}

.single-article .related-coverage__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(17rem, 0.92fr);
    gap: clamp(var(--cs-space-5), 4vw, var(--cs-space-8));
    align-items: stretch;
}

.single-article .related-coverage__layout--lead-only {
    grid-template-columns: minmax(0, 1fr);
}

.single-article .related-coverage__lead,
.single-article .related-coverage__rail {
    min-width: 0;
}

.single-article .related-coverage__lead .cs-article-card,
.single-article .related-coverage__lead .cs-article-card__link {
    height: 100%;
}

.single-article .related-coverage__lead .cs-article-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.single-article .related-coverage__rail {
    display: flex;
    flex-direction: column;
}

.single-article .related-coverage__rail-label {
    margin: 0 0 var(--cs-space-2);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: var(--cs-letter-spacing-label);
    line-height: 1.2;
    text-transform: uppercase;
}

.single-article .related-coverage__rail-list {
    display: grid;
    grid-auto-rows: minmax(0, 1fr);
    flex: 1;
    margin: 0;
    padding: 0;
}

.single-article .related-coverage__rail-item {
    min-width: 0;
    border-top: 1px solid var(--cs-color-border);
}

.single-article .related-coverage__rail-item:last-child {
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .related-coverage__rail-link {
    display: grid;
    align-content: center;
    height: 100%;
    gap: var(--cs-space-2);
    padding: clamp(var(--cs-space-3), 2vw, var(--cs-space-4)) 0;
    color: var(--cs-color-text-strong);
    text-decoration: none;
}

.single-article .related-coverage__rail-link:visited {
    color: var(--cs-color-text-strong);
}

.single-article .related-coverage__rail-title {
    margin: 0;
    color: inherit;
    font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.075rem);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: var(--cs-letter-spacing-display);
    line-height: 1.3;
}

.single-article .related-coverage__rail-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cs-space-3);
}

.single-article .related-coverage__rail-date,
.single-article .related-coverage__rail-sentiment {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-weight: 400;
    line-height: 1.25;
}

.single-article .related-coverage__rail-sentiment {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-1);
    font-weight: var(--cs-font-weight-strong);
}

.single-article .related-coverage__rail-sentiment::before {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: var(--cs-radius-round);
    background: currentColor;
    content: "";
}

.single-article .related-coverage__rail-sentiment--bullish {
    color: var(--cs-color-positive);
}

.single-article .related-coverage__rail-sentiment--bearish {
    color: var(--cs-color-negative);
}

.single-article .related-coverage__rail-link:hover,
.single-article .related-coverage__rail-link:focus-visible {
    color: var(--cs-color-action);
    text-decoration: none;
}

.single-article .related-coverage__rail-link:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: 3px;
}

.single-article .related-coverage .cs-article-card__link,
.single-article .related-coverage .cs-article-card__link:hover,
.single-article .related-coverage .cs-article-card__link:focus-visible,
.single-article .related-coverage .cs-article-card__link :where(.cs-article-card__title, .cs-article-card__excerpt) {
    text-decoration: none;
}

.single-article .related-coverage .cs-article-card__title {
    letter-spacing: var(--cs-letter-spacing-display);
}

.single-article .related-coverage .cs-article-card__meta {
    font-weight: 400;
}

/* Price Watch is an editorial data panel on articles, not a nested dashboard card. */

.single-article .post-box .price-watch-coin {
    width: 100%;
    margin: 0;
}

.single-article .post-box .price-watch-coin__surface {
    position: relative;
    display: grid;
    gap: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-top: 2px solid var(--single-article-accent);
    border-bottom: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article .post-box .price-watch-coin__surface::before {
    display: none;
}

.single-article .post-box .price-watch-coin__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--cs-space-5);
    align-items: center;
    padding: var(--cs-space-5) 0;
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .post-box .price-watch-coin__header--with-signal {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.single-article .post-box .price-watch-coin__identity-link {
    gap: var(--cs-space-3);
    color: inherit;
    text-decoration: none;
    transform: none;
}

.single-article .post-box .price-watch-coin__identity-link:hover,
.single-article .post-box .price-watch-coin__identity-link:focus-visible {
    color: inherit;
    text-decoration: none;
    transform: none;
}

.single-article .post-box .price-watch-coin__identity-link:hover h2,
.single-article .post-box .price-watch-coin__identity-link:focus-visible h2 {
    color: var(--cs-color-action-hover);
}

.single-article .post-box .price-watch-coin__logo-wrap {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
}

.single-article .post-box :where(.price-watch-coin__logo, .price-watch-coin__logo-fallback) {
    box-shadow: none;
}

.single-article .post-box .price-watch-coin__title-group {
    gap: var(--cs-space-1);
}

.single-article .post-box .price-watch-coin__eyebrow {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.single-article .post-box .price-watch-coin__title-line {
    gap: var(--cs-space-2);
}

.single-article .post-box .price-watch-coin__title-line h2 {
    color: var(--cs-color-text-strong);
    font-size: clamp(1.45rem, 1.28rem + 0.75vw, 1.8rem);
    letter-spacing: var(--cs-letter-spacing-display);
    line-height: 1.05;
    transition: color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .post-box .price-watch-coin__rank {
    display: inline;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    letter-spacing: 0;
    text-transform: none;
}

.single-article .post-box .price-watch-coin__meta {
    gap: var(--cs-space-2);
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
}

.single-article .post-box .price-watch-coin__ticker {
    color: var(--cs-color-text-body);
}

.single-article .post-box .price-watch-coin__live-indicator {
    gap: 5px;
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    letter-spacing: 0.08em;
}

.single-article .post-box .price-watch-coin__live-dot {
    width: 6px;
    height: 6px;
    background: var(--cs-color-positive);
    box-shadow: none;
    animation: none;
}

.single-article .post-box .price-watch-coin__signal {
    display: grid;
    gap: 5px;
    min-width: 9.5rem;
    padding-inline: var(--cs-space-5);
    border-left: 1px solid var(--cs-color-border);
    color: var(--cs-color-text-body);
}

.single-article .post-box .price-watch-coin__signal-label,
.single-article .post-box .price-watch-coin__signal-state {
    display: flex;
    gap: var(--cs-space-2);
    align-items: center;
}

.single-article .post-box .price-watch-coin__signal-label {
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.single-article .post-box .price-watch-coin__signal-tooltip {
    position: relative;
    display: inline-grid;
}

.single-article .post-box .price-watch-coin__signal-help {
    display: inline-grid;
    width: 1rem;
    height: 1rem;
    padding: 0;
    border: 0;
    background: transparent;
    place-items: center;
    color: var(--cs-color-text-muted);
    font: inherit;
    cursor: help;
    transition: color var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .post-box .price-watch-coin__signal-help:hover,
.single-article .post-box .price-watch-coin__signal-help:focus-visible {
    color: var(--cs-color-action);
}

.single-article .post-box .price-watch-coin__signal-help:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: 2px;
    border-radius: var(--cs-radius-round);
}

.single-article .post-box .price-watch-coin__signal-tooltip-panel {
    position: absolute;
    right: 0;
    bottom: calc(100% + var(--cs-space-2));
    z-index: 12;
    width: clamp(14rem, 24vw, 18rem);
    padding: var(--cs-space-3);
    border: 1px solid var(--cs-color-border-strong);
    border-radius: var(--cs-radius-small);
    background: var(--cs-color-surface);
    box-shadow: var(--cs-shadow-small);
    color: var(--cs-color-text-body);
    font-size: var(--cs-font-size-meta);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.45;
    text-align: left;
    text-transform: none;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: translateY(var(--cs-space-1));
    pointer-events: none;
    transition:
        opacity var(--cs-duration-default) var(--cs-ease-standard),
        visibility var(--cs-duration-default) var(--cs-ease-standard),
        transform var(--cs-duration-default) var(--cs-ease-standard);
}

.single-article .post-box .price-watch-coin__signal-tooltip:hover .price-watch-coin__signal-tooltip-panel,
.single-article .post-box .price-watch-coin__signal-tooltip:focus-within .price-watch-coin__signal-tooltip-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.single-article .post-box .price-watch-coin__signal-state {
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-control);
}

.single-article .post-box .price-watch-coin__signal-state i {
    font-size: 0.75rem;
}

.single-article .post-box .price-watch-coin__signal-score {
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-meta);
    font-variant-numeric: tabular-nums;
}

.single-article .post-box .price-watch-coin__signal--bullish .price-watch-coin__signal-state {
    color: var(--cs-color-positive);
}

.single-article .post-box .price-watch-coin__signal--bearish .price-watch-coin__signal-state {
    color: var(--cs-color-negative);
}

.single-article .post-box .price-watch-coin__signal--neutral .price-watch-coin__signal-state {
    color: var(--cs-color-text-body);
}

.single-article .post-box .price-watch-coin__pricing {
    gap: var(--cs-space-2);
}

.single-article .post-box .price-watch-coin__price {
    color: var(--cs-color-text-strong);
    font-size: clamp(1.75rem, 1.55rem + 0.85vw, 2.15rem);
    letter-spacing: -0.04em;
}

.single-article .post-box .price-watch-coin__change {
    gap: 5px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: var(--cs-font-size-control);
}

.single-article .post-box .price-watch-coin__change.green,
.single-article .post-box .price-watch-coin__performance-chip.green {
    background: transparent;
    color: var(--cs-color-positive);
}

.single-article .post-box .price-watch-coin__change.red,
.single-article .post-box .price-watch-coin__performance-chip.red {
    background: transparent;
    color: var(--cs-color-negative);
}

.single-article .post-box .price-watch-coin__change.neutral,
.single-article .post-box .price-watch-coin__performance-chip.neutral {
    background: transparent;
    color: var(--cs-color-text-muted);
}

.single-article .post-box .price-watch-coin__performance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .post-box .price-watch-coin__performance-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.single-article .post-box .price-watch-coin__performance-chip,
.single-article .post-box .price-watch-coin__performance-row--secondary .price-watch-coin__performance-chip {
    display: grid;
    justify-content: stretch;
    gap: 3px;
    width: auto;
    min-width: 0;
    padding: var(--cs-space-3);
    border: 0;
    border-right: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: var(--cs-font-size-meta);
    text-align: left;
}

.single-article .post-box .price-watch-coin__performance-row--secondary .price-watch-coin__performance-chip:last-child {
    border-right: 0;
}

.single-article .post-box .price-watch-coin__performance-label,
.single-article .post-box .price-watch-coin__performance-row--secondary .price-watch-coin__performance-label {
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.08em;
    opacity: 1;
    text-transform: uppercase;
}

.single-article .post-box .price-watch-coin__performance-value {
    color: currentColor;
    font-size: var(--cs-font-size-control);
    font-weight: var(--cs-font-weight-strong);
    font-variant-numeric: tabular-nums;
}

.single-article .post-box .price-watch-coin__performance-reading,
.single-article .post-box .price-watch-coin__metric-meta,
.single-article .post-box .price-watch-coin__metric-value[data-price-watch-trend] {
    display: inline-flex;
    gap: 5px;
    align-items: center;
}

.single-article .post-box :where(.price-watch-coin__performance-reading, .price-watch-coin__metric-meta, .price-watch-coin__metric-value[data-price-watch-trend]) i {
    flex: 0 0 auto;
    font-size: 0.72em;
}

.single-article .post-box .price-watch-coin__summary {
    display: none;
}

.single-article .post-box .price-watch-coin__metrics {
    gap: 0;
}

.single-article .post-box .price-watch-coin__metrics--primary {
    border-bottom: 1px solid var(--cs-color-border);
}

.single-article .post-box .price-watch-coin__metric-card,
.single-article .post-box .price-watch-coin__metric-card--secondary {
    gap: var(--cs-space-2);
    padding: var(--cs-space-4) var(--cs-space-3);
    border: 0;
    border-right: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.single-article .post-box .price-watch-coin__metrics--primary .price-watch-coin__metric-card:last-child,
.single-article .post-box .price-watch-coin__metrics--secondary .price-watch-coin__metric-card:nth-child(3n) {
    border-right: 0;
}

.single-article .post-box .price-watch-coin__metrics--secondary .price-watch-coin__metric-card:nth-child(n + 4) {
    border-top: 1px solid var(--cs-color-border);
}

.single-article .post-box .price-watch-coin__metric-label {
    color: var(--cs-color-text-muted);
    font-size: 0.625rem;
    letter-spacing: 0.08em;
}

.single-article .post-box .price-watch-coin__metric-value {
    color: var(--cs-color-text-strong);
    font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
    letter-spacing: -0.025em;
}

.single-article .post-box .price-watch-coin__metric-meta {
    font-size: var(--cs-font-size-meta);
}

.single-article .post-box :where(.price-watch-coin__metric-meta, .price-watch-coin__metric-value).green {
    color: var(--cs-color-positive);
}

.single-article .post-box :where(.price-watch-coin__metric-meta, .price-watch-coin__metric-value).red {
    color: var(--cs-color-negative);
}

.single-article .post-box :where(.price-watch-coin__metric-meta, .price-watch-coin__metric-value).neutral {
    color: var(--cs-color-text-muted);
}

.single-article .post-box .price-watch-coin__chart-shell {
    position: relative;
    display: grid;
    padding-block: var(--cs-space-5);
    border-bottom: 0;
}

.single-article .post-box .price-watch-coin__chart-ranges {
    display: flex;
    gap: var(--cs-space-4);
    justify-content: flex-end;
    padding-bottom: var(--cs-space-3);
    border-bottom: 0;
}

.single-article .post-box .price-watch-coin__chart-range {
    min-width: 0;
    padding: 0 0 5px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--cs-color-text-muted);
    font: inherit;
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1;
    cursor: pointer;
}

.single-article .post-box .price-watch-coin__chart-range:hover,
.single-article .post-box .price-watch-coin__chart-range:focus-visible {
    color: var(--cs-color-action-hover);
}

.single-article .post-box .price-watch-coin__chart-range.is-active {
    border-bottom-color: var(--cs-color-action);
    color: var(--cs-color-text-strong);
}

.single-article .post-box .price-watch-coin__chart {
    position: relative;
    width: 100%;
    height: clamp(240px, 38vw, 340px);
    padding-top: var(--cs-space-4);
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.single-article .post-box .price-watch-coin__chart-canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.single-article .post-box .price-watch-coin__chart-status {
    position: absolute;
    inset: 55% 0 auto;
    color: var(--cs-color-text-muted);
    font-size: var(--cs-font-size-control);
    text-align: center;
}

.single-article .post-bottom > .price-watch-coin + .post-mentions-and-posted-in,
.single-article .post-bottom > .price-watch-coin + .single-article-mentions {
    margin-top: calc(0px - var(--single-article-post-bottom-gap));
}

html[data-theme="dark"] .single-article .post-box .price-watch-coin__surface,
html[data-theme="dark"] .single-article .post-box .price-watch-coin__metric-card,
html[data-theme="dark"] .single-article .post-box .price-watch-coin__chart,
html[data-theme="dark"] .single-article .post-box :where(.price-watch-coin__performance-chip, .price-watch-coin__performance-row--secondary .price-watch-coin__performance-chip),
html[data-theme="dark"] .single-article .post-box .price-watch-coin__eyebrow,
html[data-theme="dark"] .single-article .post-box .price-watch-coin__rank {
    background: transparent;
    box-shadow: none;
}

html[data-theme="dark"] .single-article .post-box .price-watch-coin__surface {
    border-top-color: var(--single-article-accent);
}

html[data-theme="dark"] .single-article .post-box .price-watch-coin__eyebrow,
html[data-theme="dark"] .single-article .post-box .price-watch-coin__rank {
    border: 0;
    color: var(--cs-color-text-muted);
}

html[data-theme="dark"] .single-article .post-box .price-watch-coin__live-indicator {
    color: var(--cs-color-text-muted);
}

html[data-theme="dark"] .single-article .post-box .price-watch-coin__live-dot {
    background: var(--cs-color-positive);
    box-shadow: none;
}

@media (max-width: 767px) {
    .single-article .post-box .price-watch-coin__header {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cs-space-4);
    }

    .single-article .post-box .price-watch-coin__header--with-signal {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .single-article .post-box .price-watch-coin__header--with-signal .price-watch-coin__identity {
        grid-column: 1 / -1;
    }

    .single-article .post-box .price-watch-coin__header--with-signal .price-watch-coin__pricing {
        grid-column: 1;
        grid-row: 2;
    }

    .single-article .post-box .price-watch-coin__pricing {
        width: auto;
        justify-items: start;
        text-align: left;
    }

    .single-article .post-box .price-watch-coin__signal {
        grid-column: 2;
        grid-row: 2;
        align-self: stretch;
        align-content: center;
        min-width: 0;
        padding: 0 0 0 var(--cs-space-4);
        border-top: 0;
        border-left: 1px solid var(--cs-color-border);
    }

    .single-article .post-box .price-watch-coin__performance {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-article .post-box .price-watch-coin__performance-row--primary {
        border-bottom: 1px solid var(--cs-color-border);
    }

    .single-article .post-box .price-watch-coin__performance-row--primary .price-watch-coin__performance-chip:last-child {
        border-right: 0;
    }

    .single-article .post-box .price-watch-coin__performance-row > .price-watch-coin__performance-chip:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .single-article .post-box .price-watch-coin__metrics--primary,
    .single-article .post-box .price-watch-coin__metrics--secondary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .single-article .post-box .price-watch-coin__metrics--primary .price-watch-coin__metric-card,
    .single-article .post-box .price-watch-coin__metrics--secondary .price-watch-coin__metric-card {
        border-right: 1px solid var(--cs-color-border);
    }

    .single-article .post-box .price-watch-coin__metrics--primary .price-watch-coin__metric-card:nth-child(2n),
    .single-article .post-box .price-watch-coin__metrics--secondary .price-watch-coin__metric-card:nth-child(2n) {
        border-right: 0;
    }

    .single-article .post-box .price-watch-coin__metrics--primary .price-watch-coin__metric-card:nth-child(-n + 2) {
        border-bottom: 1px solid var(--cs-color-border);
    }

    .single-article .post-box .price-watch-coin__metrics--secondary .price-watch-coin__metric-card:nth-child(3) {
        border-top: 1px solid var(--cs-color-border);
    }

    .single-article .post-box .price-watch-coin__chart {
        height: clamp(220px, 66vw, 280px);
    }

    .single-article .post-box .price-watch-coin__chart-ranges {
        justify-content: flex-start;
    }
}

/* Mid-article Daily Brief: flat, editorial, and route-local. */

body.single-post .single-article .cs-inline-newsletter {
    position: relative;
    display: block;
    margin: 0;
    padding: clamp(var(--cs-space-5), 3vw, var(--cs-space-7));
    overflow: hidden;
    border: 0;
    border-top: 2px solid var(--single-article-accent);
    border-bottom: 1px solid var(--cs-color-border);
    border-radius: 0;
    background: color-mix(in srgb, var(--cs-color-surface-subtle) 88%, var(--cs-color-action-soft));
    box-shadow: none;
    color: var(--cs-color-text-body);
    isolation: isolate;
}

body.single-post .single-article .cs-inline-newsletter::before {
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--single-article-accent), var(--cs-color-action), transparent 78%);
    content: "";
    pointer-events: none;
}

body.single-post .single-article .cs-inline-newsletter::after {
    position: absolute;
    z-index: 0;
    inset-block: 0;
    inset-inline-end: 0;
    width: clamp(11rem, 38%, 22rem);
    background:
        radial-gradient(circle at 78% 50%, color-mix(in srgb, var(--cs-color-action) 9%, transparent) 0, transparent 62%),
        radial-gradient(circle, color-mix(in srgb, var(--cs-color-action) 16%, transparent) 1px, transparent 1.5px);
    background-size: 100% 100%, 16px 16px;
    content: "";
    opacity: 0.68;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 42%);
    mask-image: linear-gradient(to right, transparent, #000 42%);
}

body.single-post .single-article .cs-inline-newsletter.is-animated {
    opacity: 0;
    transform: translateY(var(--cs-space-3));
    transition:
        opacity 320ms var(--cs-ease-standard),
        transform 320ms var(--cs-ease-standard);
}

body.single-post .single-article .cs-inline-newsletter.is-animated.is-visible {
    opacity: 1;
    transform: none;
}

body.single-post .single-article .cs-inline-newsletter__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(17.5rem, 0.92fr);
    gap: clamp(var(--cs-space-6), 4vw, var(--cs-space-9));
    align-items: center;
}

body.single-post .single-article .cs-inline-newsletter__content {
    display: grid;
    gap: var(--cs-space-3);
    min-width: 0;
}

body.single-post .single-article .cs-inline-newsletter__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    width: fit-content;
    color: var(--single-article-accent);
    font-family: var(--cs-font-family-ui);
    font-size: 0.6875rem;
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.single-post .single-article .cs-inline-newsletter__eyebrow i {
    font-size: var(--cs-font-size-control);
}

body.single-post .single-article .cs-inline-newsletter__title {
    max-width: 18ch;
    margin: 0;
    color: var(--cs-color-text-strong);
    font-family: var(--cs-font-family-ui);
    font-size: clamp(1.65rem, 1.4rem + 0.8vw, 2.1rem);
    font-weight: var(--cs-font-weight-strong);
    letter-spacing: var(--cs-letter-spacing-display);
    line-height: 1.08;
    text-wrap: balance;
}

body.single-post .single-article .cs-inline-newsletter :where(.cs-inline-newsletter__copy, .cs-inline-newsletter__form-heading, .cs-inline-newsletter__privacy) {
    margin: 0;
    font-family: var(--cs-font-family-ui);
}

body.single-post .single-article .cs-inline-newsletter__copy {
    max-width: 42ch;
    color: var(--cs-color-text-muted);
    font-size: clamp(0.9375rem, 0.9rem + 0.12vw, 1rem);
    line-height: 1.55;
}

body.single-post .single-article .cs-inline-newsletter__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cs-space-2) var(--cs-space-5);
    margin: var(--cs-space-1) 0 0;
    padding: 0;
    color: var(--cs-color-text-muted);
    font-family: var(--cs-font-family-ui);
    font-size: var(--cs-font-size-meta);
    font-weight: var(--cs-font-weight-medium);
    line-height: 1.4;
    list-style: none;
}

body.single-post .single-article .cs-inline-newsletter__meta li {
    display: inline-flex;
    align-items: center;
    gap: var(--cs-space-2);
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

body.single-post .single-article .cs-inline-newsletter__meta i {
    color: var(--single-article-accent);
}

body.single-post .single-article .cs-inline-newsletter__form-shell {
    display: grid;
    gap: var(--cs-space-3);
    min-width: 0;
    padding-left: clamp(var(--cs-space-5), 3vw, var(--cs-space-7));
    border-left: 1px solid var(--cs-color-border);
}

body.single-post .single-article .cs-inline-newsletter__form-heading {
    color: var(--cs-color-text-strong);
    font-size: var(--cs-font-size-control);
    font-weight: var(--cs-font-weight-strong);
    line-height: 1.35;
}

body.single-post .single-article .cs-inline-newsletter__form {
    display: block;
    max-width: none;
}

body.single-post .single-article .cs-inline-newsletter__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--cs-space-2);
    align-items: stretch;
}

body.single-post .single-article .cs-inline-newsletter__fields input[type="email"] {
    width: 100%;
    min-width: 0;
    min-height: var(--cs-control-height);
    padding-inline: var(--cs-control-padding-inline);
    border: 1px solid var(--cs-color-control-border);
    border-radius: var(--cs-radius-small);
    outline: 0;
    background: var(--cs-color-surface);
    box-shadow: none;
    color: var(--cs-color-text-body);
    font-family: var(--cs-font-family-ui);
    font-size: var(--cs-font-size-control);
    transition:
        border-color var(--cs-duration-default) var(--cs-ease-standard),
        box-shadow var(--cs-duration-default) var(--cs-ease-standard);
}

body.single-post .single-article .cs-inline-newsletter__fields input[type="email"]::placeholder {
    color: var(--cs-color-text-faint);
    opacity: 1;
}

body.single-post .single-article .cs-inline-newsletter__fields input[type="email"]:focus-visible {
    border-color: var(--cs-color-focus);
    box-shadow: 0 0 0 var(--cs-focus-width) color-mix(in srgb, var(--cs-color-focus) 22%, transparent);
}

body.single-post .single-article .post-box .cs-inline-newsletter__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cs-space-2);
    width: auto;
    min-height: var(--cs-control-height);
    padding-inline: var(--cs-control-padding-inline);
    border: 0;
    border-radius: var(--cs-radius-small);
    outline: 0;
    background: var(--cs-color-action);
    box-shadow: none;
    color: var(--cs-color-on-action);
    cursor: pointer;
    font-family: var(--cs-font-family-ui);
    font-size: var(--cs-font-size-control);
    font-weight: var(--cs-font-weight-strong);
    line-height: var(--cs-line-height-control);
    white-space: nowrap;
    transition:
        background-color var(--cs-duration-default) var(--cs-ease-standard),
        color var(--cs-duration-default) var(--cs-ease-standard);
}

body.single-post .single-article .post-box .cs-inline-newsletter__button:hover {
    background: var(--cs-color-action-hover);
    box-shadow: none;
    transform: none;
}

body.single-post .single-article .post-box .cs-inline-newsletter__button i {
    transition: transform var(--cs-duration-default) var(--cs-ease-standard);
}

body.single-post .single-article .post-box .cs-inline-newsletter__button:hover i,
body.single-post .single-article .post-box .cs-inline-newsletter__button:focus-visible i {
    transform: translateX(0.2rem);
}

body.single-post .single-article .post-box .cs-inline-newsletter__button:focus-visible {
    outline: var(--cs-focus-width) solid var(--cs-color-focus);
    outline-offset: var(--cs-focus-offset);
}

body.single-post .single-article .post-box .cs-inline-newsletter__button:disabled {
    cursor: wait;
    opacity: 0.65;
}

body.single-post .single-article .cs-inline-newsletter__privacy {
    color: var(--cs-color-text-faint);
    font-size: var(--cs-font-size-meta);
    line-height: 1.4;
}

body.single-post .single-article .cs-inline-newsletter__hidden,
body.single-post .single-article .cs-inline-newsletter__error,
body.single-post .single-article .cs-inline-newsletter__success {
    display: none;
}

body.single-post .single-article .cs-inline-newsletter__error,
body.single-post .single-article .cs-inline-newsletter__success {
    align-items: center;
    gap: var(--cs-space-3);
    min-height: var(--cs-control-height);
    padding: var(--cs-space-3) var(--cs-space-4);
    border: 1px solid var(--cs-color-border);
    border-radius: var(--cs-radius-small);
    font-family: var(--cs-font-family-ui);
    font-size: var(--cs-font-size-control);
    line-height: 1.45;
}

body.single-post .single-article .cs-inline-newsletter__error {
    border-color: color-mix(in srgb, var(--cs-color-negative) 40%, var(--cs-color-border));
    background: var(--cs-color-negative-soft);
    color: var(--cs-color-negative);
}

body.single-post .single-article .cs-inline-newsletter__success {
    border-color: color-mix(in srgb, var(--cs-color-positive) 40%, var(--cs-color-border));
    background: var(--cs-color-positive-soft);
    color: var(--cs-color-text-strong);
}

body.single-post .single-article .cs-inline-newsletter__success i {
    color: var(--cs-color-positive);
    font-size: 1.15rem;
}

body.single-post .single-article .cs-inline-newsletter__success strong {
    color: var(--cs-color-positive);
}

body.single-post .single-article .cs-inline-newsletter.is-error .cs-inline-newsletter__error,
body.single-post .single-article .cs-inline-newsletter.is-success .cs-inline-newsletter__success {
    display: flex;
}

body.single-post .single-article .cs-inline-newsletter.is-success :where(.cs-inline-newsletter__form-heading, .cs-inline-newsletter__form, .cs-inline-newsletter__privacy) {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    body.single-post .single-article .cs-inline-newsletter.is-animated {
        opacity: 1;
        transform: none;
        transition: none;
    }

    body.single-post .single-article .post-box .cs-inline-newsletter__button i {
        transition: none;
    }
}

/* Responsive recomposition */

@media (max-width: 1179px) {
    [data-single-article] {
        --single-article-grid: minmax(0, 1fr);
        overflow: hidden;
    }

    .single-article__hero {
        width: calc(100% - var(--single-article-inline-padding) - var(--single-article-inline-padding));
    }

    .single-article__trail-rail,
    .single-article__header::before {
        width: calc(100% - var(--single-article-inline-padding) - var(--single-article-inline-padding));
    }

    .single-article__reading-column,
    .single-article .post-box > :not(.post-box__content-flow):not(.post-bottom),
    .single-article .post-box__content-flow > *,
    .single-article .post-bottom > *,
    .single-article__mention-anchor,
    .single-article__mention-anchor > :not([data-single-article-mention]),
    .single-article__mention-anchor > [data-single-article-mention] {
        grid-column: 1;
    }

    .single-article .post-box__content-flow,
    .single-article .post-bottom {
        grid-column: 1;
    }

    .single-article__mention-anchor {
        gap: var(--cs-space-3);
    }

    .single-article__mention-anchor > :not([data-single-article-mention]) {
        grid-row: 1;
        padding-inline: 0;
    }

    .single-article__mention-anchor > [data-single-article-mention] {
        position: relative;
        inset: auto;
        grid-row: 2;
        justify-self: center;
        width: min(100%, 24rem);
        transform: none;
        z-index: auto;
    }

    .single-article__mention-anchor--spans-copy.single-article__mention-anchor--right > [data-single-article-mention] {
        inset: auto;
    }

    .single-article__mention-anchor .single-article-mention-card {
        border: 1px solid var(--cs-color-border);
        border-radius: 0;
        background: var(--cs-color-surface);
    }

    .single-article__mention-anchor .single-article-mention-card:hover,
    .single-article__mention-anchor .single-article-mention-card:focus-visible {
        border-color: color-mix(in srgb, var(--cs-color-action) 58%, var(--cs-color-border));
    }

    .single-article__mention-continuation {
        padding-inline: 0;
        padding-bottom: 0;
    }

}

@media (max-width: 768px) {
    .single-article__header {
        padding: var(--cs-space-6) 0 0;
    }

    .single-article__title {
        max-width: none;
        font-size: clamp(2.15rem, 9vw, 3.4rem);
        line-height: 1.02;
    }

    .single-article__hero-image {
        max-height: none;
        aspect-ratio: 4 / 3;
    }

    .single-article .post-meta-article-card__strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-article .post-meta-article-card__meta-list,
    .single-article .post-meta-article-card__meta-group {
        justify-content: flex-start;
    }

    .single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-list,
    .single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-group {
        flex-wrap: wrap;
    }

    .single-article .post-meta-article-card__meta-item {
        text-align: left;
    }

    .single-article .article-action-bar {
        flex-wrap: nowrap;
    }

    .single-article .article-action-bar__share-desktop {
        display: none;
    }

    .single-article .article-action-bar__share-mobile {
        position: relative;
        display: block;
    }

    .single-article .article-action-bar__share-trigger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--cs-space-2);
        width: auto;
        padding-inline: var(--cs-space-4);
        border-radius: var(--cs-radius-round);
        color: var(--cs-color-text-strong);
        font-size: var(--cs-font-size-meta);
        font-weight: var(--cs-font-weight-strong);
        line-height: 1;
        list-style: none;
        cursor: pointer;
        transition:
            border-color var(--cs-duration-default) var(--cs-ease-standard),
            background-color var(--cs-duration-default) var(--cs-ease-standard),
            color var(--cs-duration-default) var(--cs-ease-standard);
    }

    .single-article .article-action-bar__share-trigger i {
        color: var(--cs-color-action);
        font-size: 0.875rem;
    }

    .single-article .article-action-bar__share-trigger:hover,
    .single-article .article-action-bar__share-trigger:focus-visible,
    .single-article .article-action-bar__share-mobile[open] > .article-action-bar__share-trigger {
        border-color: var(--cs-color-action);
        background: color-mix(in srgb, var(--cs-color-surface) 90%, var(--cs-color-action-soft));
        color: var(--cs-color-text-strong);
    }

    .single-article .article-action-bar__share-trigger::marker {
        content: "";
    }

    .single-article .article-action-bar__share-trigger::-webkit-details-marker {
        display: none;
    }

    .single-article .article-action-bar__share-dropdown {
        position: absolute;
        top: calc(100% + var(--cs-space-2));
        right: 0;
        z-index: 4;
        min-width: max-content;
        padding: var(--cs-space-3);
        border: 1px solid var(--cs-color-border);
        border-radius: var(--cs-radius-medium);
        background: var(--cs-color-surface);
        box-shadow: var(--cs-shadow-large);
    }

    .single-article .article-action-bar__share-dropdown .article-action-bar__share-links {
        flex-wrap: nowrap;
    }

    .single-article-mentions__list,
    .single-article .related-coverage__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-post .single-article .cs-inline-newsletter__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cs-space-5);
    }

    body.single-post .single-article .cs-inline-newsletter__form-shell {
        padding: var(--cs-space-5) 0 0;
        border-top: 1px solid var(--cs-color-border);
        border-left: 0;
    }

    .single-article-mentions__list > .single-article-mention-card {
        border-left: 0;
        border-right: 0;
    }

    .single-article .related-coverage__rail-list {
        grid-auto-rows: auto;
        height: auto;
    }

    .single-article .editorial-credits {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-article .editorial-credits :where(.editorial-credits__heading, .editorial-credits__author, .editorial-credits__divider, .editorial-credits__editor) {
        grid-column: 1;
    }

    .single-article .editorial-credits--split .editorial-credits__editor {
        grid-column: 1;
    }

    .single-article .editorial-credits__divider {
        width: 100%;
        height: 1px;
    }

    .single-article .call-to-action > a {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .single-article .call-to-action .cta-btn {
        grid-column: 1 / -1;
        grid-row: auto;
        text-align: center;
    }
}

@media (max-width: 480px) {
    [data-single-article] {
        --single-article-inline-padding: var(--cs-space-4);
    }

    .single-article__header .post-category__chips :where(a, .small-cats),
    .single-article__header .post-category__chips .big-cat > span:not(.sentiment-label):not(.post-category__identity-badge) {
        min-height: 28px;
        padding-inline: var(--cs-space-2);
    }

    .single-article__header .post-category__chips .big-cat > .sentiment-label,
    .single-article__header .post-category__chips .sentiment-label .top-news-sentiment {
        min-height: 0;
        padding: 0;
    }

    .single-article .article-author-identity__avatar {
        width: 42px;
        height: 42px;
    }

    .single-article .post-meta-article-card__meta-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .single-article .post-meta-article-card__meta-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-list,
    .single-article .post-meta-single--article-card--compact .post-meta-article-card__meta-group {
        display: flex;
    }

    .single-article .post-meta-article-card__meta-item--reading {
        width: fit-content;
    }

    .single-article .article-action-bar__preferred-source {
        min-width: 0;
    }

    .single-article .top.disclaimer:not(.footer-disclaimer) {
        padding: var(--cs-space-4);
    }

    .single-article__mention-anchor .single-article-mention-card {
        padding: var(--cs-space-3);
    }

    .single-article__mention-anchor .single-article-mention-card__media {
        width: 48px;
        height: 48px;
    }

    .single-article__mention-anchor .single-article-mention-card__meta {
        font-size: 0.6875rem;
        line-height: 1.3;
    }

    .single-article .news-quick-take__header,
    .single-article .news-quick-take__item {
        padding: var(--cs-space-4);
    }

    .single-article .post-box__content-flow:not([data-single-article-mentions-enhanced="true"]) > p:first-of-type:not(.single-article__mention-continuation)::first-letter,
    .single-article .post-box__content-flow[data-single-article-mentions-enhanced="true"] > p.single-article__lead-paragraph::first-letter,
    .single-article .post-box__content-flow > .single-article__mention-anchor > p.single-article__lead-paragraph::first-letter {
        font-size: 3.8em;
    }

    .single-article .post-box__content-flow blockquote {
        padding: var(--cs-space-5) var(--cs-space-4) var(--cs-space-5) 4.25rem;
    }

    .single-article .post-box__content-flow blockquote::before {
        top: calc(var(--cs-space-5) + 0.4rem);
        left: var(--cs-space-4);
        width: auto;
        height: auto;
        font-size: 4.25rem;
    }

    .single-article .post-box__content-flow blockquote.single-article-blockquote--short {
        --single-article-quote-font-size: clamp(1.5rem, 7vw, 2rem);
    }

    .single-article .post-box__content-flow blockquote.single-article-blockquote--long {
        padding-left: 3.75rem;
    }

    .single-article .post-box__content-flow blockquote.single-article-blockquote--long::before {
        font-size: 3.25rem;
    }

    .single-article .post-box__content-flow .cs-person-quote {
        grid-template-columns: 3.5rem minmax(0, 1fr);
    }

    .single-article .post-box__content-flow .cs-person-quote::before {
        padding-top: var(--cs-space-5);
        font-size: 4rem;
    }

    .single-article .post-box__content-flow .cs-person-quote blockquote {
        padding-block: var(--cs-space-5);
        font-size: clamp(1.35rem, 6vw, 1.75rem);
    }

    .single-article .post-box__content-flow .cs-person-quote__footer {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cs-space-3);
        padding-block: var(--cs-space-4);
    }

    .single-article .post-box__content-flow .cs-person-quote__actions {
        gap: var(--cs-space-5);
        padding-left: calc(3.5rem + var(--cs-space-4));
    }

    .single-article .call-to-action > a {
        grid-template-columns: minmax(0, 1fr);
    }

    .single-article .call-to-action .logo,
    .single-article .call-to-action :where(h3, p),
    .single-article .call-to-action .cta-btn {
        grid-column: 1;
        grid-row: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .single-article-mention-card,
    .single-article-mention-card__media,
    .single-article .article-action-bar__share-links a {
        transition: none;
    }

    .single-article .post-box a.cs-preferred-google-badge::before,
    .single-article .post-box a.cs-preferred-google-badge::after {
        animation: none;
        offset-distance: 18%;
    }

    .single-article .post-box .price-watch-coin__signal-help,
    .single-article .post-box .price-watch-coin__signal-tooltip-panel {
        transition: none;
    }
}
