/* Opt-in listings and standard articles. Existing brand primitives remain authoritative. */
.c-editorial-listing.c-container { padding-top: 60px; padding-bottom: 120px; }
.c-editorial-label { color: var(--color-brand-primary, #6290b3); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 16px; }
.c-editorial-listing__hero { margin-bottom: 64px; }
.c-editorial-listing__hero.has-featured { display: grid; grid-template-columns: .8fr 1.4fr; gap: 48px; align-items: center; }
.c-editorial-listing h1, .c-article-hero h1 { font-size: clamp(2.25rem, 4.1vw, 3.75rem); line-height: 1.06; letter-spacing: -.04em; margin: 0 0 24px; overflow-wrap: anywhere; }
.c-editorial-listing__intro { font-size: 18px; line-height: 1.6; max-width: 36rem; }
.c-content-card { min-width: 0; margin: 0; }
.c-content-card a { color: inherit; text-decoration: none; }
.c-content-card a:hover { text-decoration: underline; text-underline-offset: .2em; }
.c-content-card__image { display: block; background: var(--color-brand-light); overflow: hidden; }
.c-content-card__image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.c-content-card__body { padding: 24px 0 0; }
.c-content-card h2, .c-content-card h3 { font-size: 24px; line-height: 1.18; margin: 0 0 16px; letter-spacing: -.025em; }
.c-content-card p { margin: 0 0 20px; line-height: 1.6; }
.c-content-card .c-editorial-label { font-size: 11px; margin-bottom: 12px; }
.c-content-card a.c-content-card__more { color: var(--color-brand-primary-dark); display: inline-block; padding: 8px 0; }
.c-content-card--featured { display: grid; grid-template-columns: .85fr 1.15fr; background: var(--color-brand-light); }
.c-content-card--featured .c-content-card__image { grid-column: 2; grid-row: 1; }
.c-content-card--featured .c-content-card__image img { height: 100%; min-height: 340px; }
.c-content-card--featured .c-content-card__body { padding: 32px; grid-column: 1; grid-row: 1; align-self: center; }
.c-content-filters { display: flex; flex-wrap: wrap; gap: 8px 28px; border-block: 1px solid var(--color-brand-border); padding: 16px 0; }
.c-content-filters a { color: var(--color-brand-ink); padding: 12px 2px; text-decoration: none; border-bottom: 2px solid transparent; }
.c-content-filters a[aria-current] { border-color: var(--color-brand-primary); font-weight: 600; }
.c-content-count { font-size: 13px; color: var(--color-text-secondary); margin: 24px 0; }
.c-content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 32px; align-items: start; }
.c-content-grid--projects .c-content-card { background: var(--color-brand-light); }
.c-content-grid--projects .c-content-card__body { padding: 24px; }
.c-content-grid--projects .c-content-card:nth-child(3n + 2) img { aspect-ratio: 1 / 1; }
.c-content-grid--projects .c-content-card:nth-child(3n) img { aspect-ratio: 16 / 10; }
.c-content-pagination { margin-top: 48px; }
.c-content-pagination ul { display: flex; flex-wrap: wrap; gap: 20px; list-style: none; padding: 0; }
.c-content-pagination a, .c-content-pagination span { display: inline-block; padding: 12px; }
.c-content-empty { padding: 48px 0; }
.c-article.c-container { padding-top: 40px; padding-bottom: 120px; }
.c-article-breadcrumbs { margin-bottom: 32px; font-size: 13px; }
.c-article-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 0; padding: 0; }
.c-article-breadcrumbs li { min-width: 0; overflow-wrap: anywhere; }
.c-article-breadcrumbs li + li::before { content: '›'; margin-right: 16px; color: var(--color-brand-primary); }
.c-article-hero { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: center; margin-bottom: 80px; }
.c-article-hero:not(:has(img)) { grid-template-columns: 1fr; max-width: 56rem; }
.c-article-hero__image { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.c-article-intro { font-size: 19px; line-height: 1.65; }
.c-article-meta { color: var(--color-text-secondary); font-size: 13px; margin-top: 24px; }
.c-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; }
.c-article-content { min-width: 0; font-size: 17px; line-height: 1.75; }
.c-article-content > * { margin-block: 0 28px; }
.c-article-content h2 { font-size: 30px; line-height: 1.2; margin-top: 48px; }
.c-article-content h3 { font-size: 24px; line-height: 1.3; margin-top: 32px; }
.c-article-content img { max-width: 100%; height: auto; }
.c-article-content figcaption { font-size: 13px; color: var(--color-text-secondary); }
.c-article-content .wp-block-columns { gap: 24px; }
.c-article-content .wp-block-quote { border-left: 2px solid var(--color-brand-primary); padding-left: 24px; }
.c-article-content .is-style-4dmc-steps { list-style: decimal-leading-zero; padding-left: 2.5rem; }
.c-article-content .is-style-4dmc-steps li { padding: 8px 0 8px 12px; }
.c-article-content .is-style-4dmc-steps li::marker { color: var(--color-brand-primary); font-weight: 700; }
.c-article-sidebar { border-left: 1px solid var(--color-brand-border); padding-left: 32px; min-width: 0; }
.c-article-sidebar section + section { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--color-brand-border); }
.c-article-sidebar h2 { font-size: 20px; margin: 0 0 20px; }
.c-article-sidebar ul { list-style: none; padding: 0; }
.c-article-sidebar li { margin-bottom: 16px; }
.c-article-sidebar a { color: var(--color-brand-primary-dark); }
.c-article-sidebar input { width: 100%; padding: 12px; border: 1px solid var(--color-brand-border); font: inherit; margin: 8px 0; }
.c-article-sidebar button { margin-top: 8px; }
.c-article-related { margin-top: 100px; padding-top: 48px; border-top: 1px solid var(--color-brand-border); }
.c-article-related > h2 { margin-bottom: 32px; }
.c-editorial-listing a:focus-visible, .c-article a:focus-visible, .c-article button:focus-visible { outline: 2px solid var(--color-brand-primary); outline-offset: 4px; }
@media (max-width: 1023px) {
 .c-editorial-listing.c-container { padding-top: 40px; padding-bottom: 80px; }
 .c-editorial-listing__hero.has-featured { grid-template-columns: 1fr; gap: 32px; }
 .c-content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .c-article.c-container { padding-bottom: 80px; }
 .c-article-hero { gap: 32px; margin-bottom: 60px; }
 .c-article-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 32px; }
 .c-article-sidebar { padding-left: 20px; }
}
@media (max-width: 767px) {
 .c-editorial-listing.c-container { padding-bottom: 60px; }
 .c-editorial-listing__hero { margin-bottom: 40px; }
 .c-content-card--featured { display: flex; flex-direction: column; }
 .c-content-card--featured .c-content-card__body { padding: 24px; }
 .c-content-card--featured .c-content-card__image img { min-height: 0; aspect-ratio: 3 / 2; }
 .c-content-grid { grid-template-columns: 1fr; gap: 40px; }
 .c-content-filters { gap: 4px 20px; }
 .c-article.c-container { padding-top: 24px; padding-bottom: 60px; }
 .c-article-hero, .c-article-layout { grid-template-columns: 1fr; gap: 32px; }
 .c-article-sidebar { border-left: 0; border-top: 1px solid var(--color-brand-border); padding: 32px 0 0; }
 .c-article-related { margin-top: 60px; }
}

/* Listing columns stay fixed; only Related articles retain their short-list sizing. */
@media (min-width: 1024px) {
 .is-post .c-content-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .c-article-related > .c-content-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .c-article-related > .c-content-grid:has(> :only-child) { grid-template-columns: minmax(0, 36rem); }
 .c-content-grid--projects:has(> :nth-child(3)) { display: block; columns: 3; column-gap: 32px; }
 .c-content-grid--projects:has(> :nth-child(3)) > article { display: inline-block; width: 100%; break-inside: avoid; margin-bottom: 32px; }
}
/* Editorial feature follows the reference's image-led treatment without increasing hero height. */
.is-post .c-content-card--featured { position: relative; min-height: 380px; display: flex; flex-direction: row; align-items: flex-end; color: white; background: var(--color-brand-dark); }
.is-post .c-content-card--featured .c-content-card__image { position: absolute; inset: 0; }
.is-post .c-content-card--featured .c-content-card__image img { height: 100%; max-height: none; object-fit: cover; }
.is-post .c-content-card--featured .c-content-card__body { position: relative; align-self: flex-end; width: 100%; padding: 64px 32px 24px; background: linear-gradient(transparent, rgba(14, 27, 38, .93)); pointer-events: none; }
.is-post .c-content-card--featured .c-content-card__body a { pointer-events: auto; }
.is-post .c-content-card--featured .c-editorial-label, .is-post .c-content-card--featured a.c-content-card__more { color: white; }
.is-post .c-content-card--featured:not(:has(img)) { min-height: 0; color: var(--color-brand-ink); background: var(--color-brand-light); }
.is-post .c-content-card--featured:not(:has(img)) .c-content-card__body { background: none; padding: 32px; }
.is-post .c-content-card--featured:not(:has(img)) .c-editorial-label, .is-post .c-content-card--featured:not(:has(img)) a.c-content-card__more { color: var(--color-brand-primary-dark); }
@media (max-width: 767px) { .is-post .c-content-card--featured { min-height: 340px; } }

/* Manually curated lower editorial area. Its layout is independent of the main grid. */
.c-editorial-secondary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; margin-top: 80px; padding-top: 48px; border-top: 1px solid var(--color-brand-border); }
.c-editorial-secondary:not(:has(.c-editorial-secondary__picks)), .c-editorial-secondary:not(:has(.c-editorial-secondary__cards)) { grid-template-columns: 1fr; }
.c-editorial-secondary__picks { min-width: 0; padding-right: 32px; border-right: 1px solid var(--color-brand-border); }
.c-editorial-secondary__picks > h2 { font-size: 24px; margin: 0 0 28px; }
.c-editorial-secondary__picks ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 28px; }
.c-editorial-secondary__picks .c-content-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
.c-editorial-secondary__picks .c-content-card:not(:has(img)) { grid-template-columns: 1fr; }
.c-editorial-secondary__picks .c-content-card__image img { width: 88px; height: 88px; aspect-ratio: 1; }
.c-editorial-secondary__picks .c-content-card__body { padding: 0; }
.c-editorial-secondary__picks .c-content-card h3 { font-size: 16px; line-height: 1.35; font-weight: 600; margin-bottom: 0; }
.c-editorial-secondary__picks .c-content-card__body p:not(.c-editorial-label), .c-editorial-secondary__picks .c-content-card .c-content-card__more { display: none; }
.c-editorial-secondary__picks .c-content-card .c-editorial-label { font-size: 10px; margin-bottom: 8px; letter-spacing: .08em; }
.c-editorial-secondary__cards { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: start; }
.c-editorial-secondary__cards .c-content-card__image img { aspect-ratio: 4 / 3; }
.c-editorial-preview-note { font-size: 13px; line-height: 1.6; color: var(--color-text-secondary); border-left: 2px solid var(--color-brand-primary); padding-left: 16px; margin: 0 0 40px; max-width: 70rem; }
.c-content-card span.c-content-card__more { color: var(--color-brand-primary-dark); display: inline-block; padding: 8px 0; }
.is-post .c-content-card--featured span.c-content-card__more { color: white; }
@media (max-width: 1023px) {
 .c-editorial-secondary { grid-template-columns: 1fr; gap: 40px; margin-top: 64px; padding-top: 40px; }
 .c-editorial-secondary__picks { padding-right: 0; border-right: 0; }
 .c-editorial-secondary__picks ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .c-editorial-secondary { margin-top: 48px; padding-top: 32px; }
 .c-editorial-secondary__picks ul, .c-editorial-secondary__cards { grid-template-columns: 1fr; }
}
