/* Insights, reports, events and article pages.
 *
 * Q7a moved these rules out of a template literal (NEWS_STYLE) in
 * server/routes/insights.js, where 48,833 bytes shipped inside a <style> tag on
 * every insights page — outside the ASSET_VERSION cache stamp, so re-downloaded
 * on every navigation, and outside stylelint.
 *
 * They live in their OWN stylesheet rather than in style.css on purpose. Folded
 * into the shared sheet, every page on the site — the homepage, browse, each
 * company profile — would download 48KB of CSS it can never use. This file is
 * linked from the insights routes only, the same way about.css, guide.css and
 * admin.css are scoped to theirs.
 *
 * The rules are byte-for-byte what was inline. The inline <style> came after
 * the stylesheet link in the document, and this file is linked after style.css
 * too, so at equal specificity the same rule still wins — which is what makes
 * the move provable: 3,466 elements across /insights and an article, at 1366
 * and 390, computed identically before and after.
 *
 * SEVEN CLASSES ARE ALSO STYLED IN style.css — .insights-hero, .insights-grid,
 * .insights-card, .article-hero, .article-body, .article-cta and
 * .insights-subscribe-form. That duplication predates this move; one copy was
 * simply invisible. It is left standing so this change is location-only.
 * Reconciling it belongs with the normalisation pass, alongside snapping the
 * radii, weights and alphas that a stylesheet linter can finally see.
 */

    /* Hero */
    .insights-hero { background: #f6f2eb; background-image: radial-gradient(ellipse 62% 70% at 20% 0%, rgba(201, 169, 97,0.18) 0%, transparent 70%), radial-gradient(ellipse 58% 72% at 72% 8%, rgba(52,117,132,0.07) 0%, transparent 68%); padding: clamp(2.2rem, 4.4vw, 3.25rem) 1rem clamp(1.9rem, 3.6vw, 2.55rem); border-bottom: 1px solid rgba(15, 23, 42,0.08); }
    .insights-hero-inner { max-width: 1320px; margin: 0 auto; padding: 0 .75rem; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, 280px); gap: 1.25rem; align-items: center; }
    .insights-hero-eyebrow { display: inline-flex; align-items: center; min-height: 30px; font-family: var(--sans); font-size: var(--td-hero-subject-size); font-weight: var(--fw-bold); color: #6c5625; margin-bottom: .5rem; padding: .18rem .75rem; border: 1px solid rgba(201, 169, 97,0.35); border-radius: 999px; background: rgba(255,255,255,0.46); }
    .insights-hero h1 { font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: var(--td-hero-title-resource); font-weight: 600; color: #14120f; margin: .15rem 0 .45rem; line-height: 1.08; letter-spacing: 0; }
    .insights-hero h1 em { font-style: italic; color: var(--accent); font-weight: 600; }
    .insights-hero p { color: #5f4a34; font-size: var(--td-hero-copy-size); max-width: 620px; margin: 0; line-height: 1.55; }
    .insights-hero-stats { justify-self: end; max-width: 260px !important; font-family: var(--sans); font-size: .8rem !important; color: #6b5840 !important; margin: 0 !important; line-height: 1.5 !important; text-align: right; }
    .insights-hero-topic-count { margin-top: .8rem !important; font-family: var(--sans); font-size: .82rem !important; font-weight: 700; color: #6c5625 !important; }

    /* Dedicated format hubs (Reports / Events) — hero variants + flagship card.
       Reports ride the dark #111827 "Publications" brand surface (same palette
       as the hub band, so band → page reads as one continuous surface). */
    .insights-hero--pub { background: #111827; background-image: radial-gradient(ellipse 58% 80% at 14% 0%, rgba(201, 169, 97,0.16) 0%, transparent 68%), radial-gradient(ellipse 52% 70% at 82% 12%, rgba(201, 169, 97,0.07) 0%, transparent 66%); border-bottom: 1px solid rgba(201, 169, 97,0.28); }
    .insights-hero--pub .insights-hero-eyebrow { color: var(--accent-light, #c9a961); border-color: rgba(201, 169, 97,0.42); background: rgba(255,255,255,0.05); }
    .insights-hero--pub h1 { color: #f6f2eb; }
    .insights-hero--pub h1 em { color: var(--accent-light, #c9a961); }
    .insights-hero--pub p { color: rgba(246,242,235,0.74); }
    /* The base .insights-breadcrumb muted grey (var(--text-muted), ~#646b78)
       is unreadable on this hero's dark #111827 surface — override to the
       same light/gold pairing already used for .insights-hero-crosslink just
       below (9.09:1 / 12.35:1 contrast on #111827; both clear WCAG AA). */
    .insights-hero--pub .insights-breadcrumb { color: rgba(246,242,235,0.74); }
    .insights-hero--pub .insights-breadcrumb a { color: #e8d5b5; }
    .insights-hero--pub .insights-breadcrumb a:hover { color: #fff; }
    .insights-hero-crosslink { margin-top: .85rem !important; font-family: var(--sans); font-size: .84rem !important; }
    .insights-hero-crosslink a { color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
    .insights-hero--pub .insights-hero-crosslink a { color: #e8d5b5; }
    .insights-hero--pub .insights-hero-crosslink a:hover { color: #fff; }
    .insights-hero-inner--flagship { grid-template-columns: minmax(0, 1fr) minmax(280px, 400px); }
    .insights-hero-inner--solo { grid-template-columns: minmax(0, 1fr); }
    .insights-flagship { display: flex; flex-direction: column; gap: .55rem; justify-self: end; width: 100%; box-sizing: border-box; padding: 1.25rem 1.35rem 1.3rem; border-radius: 14px; text-decoration: none; background: rgba(255,255,255,0.05); border: 1px solid rgba(201, 169, 97,0.32); transition: border-color .16s ease, background .16s ease, transform .16s ease; }
    .insights-flagship:hover { border-color: rgba(201, 169, 97,0.62); background: rgba(255,255,255,0.09); transform: translateY(-2px); }
    .insights-flagship-kicker { font-family: var(--sans); font-size: .68rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-light, #c9a961); }
    .insights-flagship-title { font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: 1.32rem; font-weight: 560; line-height: 1.18; color: #f6f2eb; letter-spacing: 0; }
    .insights-flagship-meta { font-family: var(--sans); font-size: .8rem; color: rgba(246,242,235,0.62); }
    .insights-flagship-cta { display: inline-flex; align-items: center; gap: .45rem; margin-top: .35rem; font-family: var(--sans); font-size: .86rem; font-weight: 700; color: #e8d5b5; }
    .insights-flagship-cta svg { transition: transform .15s; }
    .insights-flagship:hover .insights-flagship-cta { color: #fff; }
    .insights-flagship:hover .insights-flagship-cta svg { transform: translateX(2px); }
    /* Events flagship rides the cream hero — bordered card on the light surface */
    .insights-hero--events .insights-flagship { background: #fff; border-color: rgba(201, 169, 97,0.38); box-shadow: var(--shadow-sm); }
    .insights-hero--events .insights-flagship-title { color: #111827; }
    .insights-hero--events .insights-flagship-meta { color: var(--text-muted); }
    .insights-hero--events .insights-flagship-kicker,
    .insights-hero--events .insights-flagship-cta { color: var(--accent-text); }
    .insights-hero--category .insights-flagship { background: rgba(255,255,255,.72); border-color: rgba(201,169,97,.4); box-shadow: var(--shadow-sm); }
    .insights-hero--category .insights-flagship-title { color: #111827; }
    .insights-hero--category .insights-flagship-meta { color: var(--text-muted); }
    .insights-hero--category .insights-flagship-kicker,
    .insights-hero--category .insights-flagship-cta { color: var(--accent-text); }

    /* Category context: curated learning and directory paths remain useful even
       while a thin topic is noindexed and waiting for its initial insight cluster. */
    .insights-category-resources { background: #fff; border-bottom: 1px solid var(--border); }
    .insights-category-resources-inner { max-width: 1320px; margin: 0 auto; padding: 1.55rem 1.65rem; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: 2rem; align-items: start; box-sizing: border-box; }
    .insights-category-resources-head p { margin: 0 0 .3rem; font-family: var(--sans); color: var(--accent-text); font-size: .7rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
    .insights-category-resources-head h2 { margin: 0; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; color: #111827; font-size: 1.45rem; font-weight: 600; line-height: 1.18; }
    .insights-category-resource-groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
    .insights-category-resource-group h3 { margin: 0 0 .45rem; font-family: var(--sans); color: #111827; font-size: .8rem; font-weight: 750; }
    .insights-category-resource-group ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .32rem; }
    .insights-category-resource-group a { color: var(--text-secondary); font-family: var(--sans); font-size: .86rem; line-height: 1.4; text-decoration: none; }
    .insights-category-resource-group a:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
    @media (max-width: 760px) {
      .insights-category-resources-inner { grid-template-columns: 1fr; gap: 1rem; padding-inline: 1rem; }
      .insights-category-resource-groups { grid-template-columns: 1fr; gap: 1rem; }
    }

    /* Calendar empty state on the Events hub */
    .insights-empty--events { max-width: 480px; margin: 0 auto; padding: 3.25rem 1rem; }
    .insights-empty--events svg { color: var(--accent); margin-bottom: .9rem; }
    .insights-empty--events strong { display: block; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 600; color: #111827; margin-bottom: .45rem; }
    .insights-empty--events p { margin: 0; font-size: .92rem; line-height: 1.6; }

    /* Listing shell — left filter/sort sidebar + article grid */
    .insights-shell { max-width: 1320px; margin: 0 auto; padding: 1.9rem .9rem 3.75rem; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 2.4rem; align-items: start; }
    @media (max-width: 900px) { .insights-shell { grid-template-columns: 1fr; gap: 1.4rem; } }

    /* Sidebar */
    .insights-sidebar { position: sticky; top: 1rem; }
    @media (max-width: 900px) { .insights-sidebar { position: static; } }
    .insights-sidebar-form { display: block; }
    .insights-sidebar-search { display: flex; align-items: center; gap: .55rem; background: #fff; border: 1px solid var(--border-solid); border-radius: 12px; padding: .58rem .8rem; box-shadow: var(--shadow-sm); margin-bottom: 1.5rem; }
    .insights-sidebar-search svg { color: var(--text-light); flex-shrink: 0; }
    .insights-sidebar-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: var(--sans); font-size: .92rem; color: var(--text); }
    .insights-sidebar-search input::placeholder { color: var(--text-light); }
    .insights-sidebar-title { margin: 0 0 .3rem; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 600; color: #111827; }

    /* Collapsible facets (Sort by / Category) */
    .insights-facet { border-top: 1px solid var(--border); }
    .insights-facet-summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; font-family: var(--sans); font-size: .95rem; font-weight: 600; color: #111827; padding: .85rem 0; }
    .insights-facet-summary::-webkit-details-marker { display: none; }
    .insights-facet-summary:hover { color: var(--accent-text); }
    .insights-facet-chevron { width: 8px; height: 8px; border-right: 1.7px solid var(--text-muted); border-bottom: 1.7px solid var(--text-muted); transform: rotate(-135deg); transition: transform .18s ease; margin: -3px .15rem 0 0; }
    .insights-facet[open] .insights-facet-chevron { transform: rotate(45deg); margin-top: 3px; }
    .insights-facet-options { display: flex; flex-direction: column; gap: .1rem; padding: .1rem 0 .95rem; }
    .insights-facet-option { display: flex; align-items: center; gap: .6rem; padding: .32rem .1rem; font-family: var(--sans); font-size: .9rem; color: var(--text-secondary); cursor: pointer; }
    .insights-facet-option:hover { color: var(--text); }
    .insights-facet-option input { width: 16px; height: 16px; accent-color: var(--accent); flex-shrink: 0; cursor: pointer; margin: 0; }
    .insights-facet-label { flex: 1; }
    .insights-facet-count { color: var(--text-light); font-size: .8rem; font-variant-numeric: tabular-nums; }

    .insights-sidebar-actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid var(--border); }
    /* Dark ink on champagne: --accent-btn-bg was dark amber #94642a (white text 5.1:1)
       until the clean-theme pilot re-pointed it to #c9a961, which drops white to ~2.3:1.
       --accent-on is the paired ink token (8.24:1). */
    .insights-apply-btn { border: 0; cursor: pointer; font-family: var(--sans); font-size: .86rem; font-weight: 650; color: var(--accent-on); background: var(--accent-btn-bg); border-radius: 999px; padding: .55rem 1.5rem; transition: background .15s; }
    .insights-apply-btn:hover { background: var(--accent-btn-hover); }
    .insights-reset-link { font-family: var(--sans); font-size: .84rem; font-weight: 600; color: var(--text-muted); text-decoration: none; }
    .insights-reset-link:hover { color: var(--accent-text); }

    /* Main column: results head + grid + pagination */
    .insights-main { min-width: 0; }
    .insights-results-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.35rem; flex-wrap: wrap; }
    .insights-results-head h2 { margin: 0; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; color: #111827; font-size: 1.5rem; font-weight: 600; letter-spacing: -.01em; }
    .insights-results-count { margin: 0; color: var(--text-muted); font-family: var(--sans); font-size: .86rem; white-space: nowrap; }

    /* Grid cards — auto-fill so the narrower main column reflows 3 → 2 → 1 */
    .insights-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(248px, 1fr)); gap: 1.1rem; align-items: stretch; }
    @media (max-width: 520px) { .insights-grid { grid-template-columns: 1fr; } }

    /* Pagination */
    .insights-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--border); }
    .insights-page-btn { font-family: var(--sans); font-size: .86rem; font-weight: 650; color: var(--text); background: #fff; border: 1px solid var(--border-solid); border-radius: 8px; padding: .55rem 1.35rem; text-decoration: none; transition: border-color .15s, color .15s; }
    .insights-page-btn:hover { border-color: rgba(201, 169, 97,.55); color: var(--accent-text); }
    .insights-page-btn.is-disabled { color: var(--text-light); background: #faf8f4; pointer-events: none; opacity: .6; }
    .insights-page-status { font-family: var(--sans); font-size: .86rem; color: var(--text-muted); }
    .insights-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; min-height: 420px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
    .insights-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(168, 137, 78,0.16); border-color: rgba(201, 169, 97,0.42); }
    .insights-card-banner { height: 150px; display: flex; flex-direction: column; padding: .75rem .85rem; text-decoration: none; position: relative; overflow: hidden; isolation: isolate; background: var(--tab-bg, #111827); }
    .insights-card-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; transition: transform .22s ease; }
    .insights-card:hover .insights-card-banner img { transform: scale(1.035); }
    .insights-card-banner::after { content: ''; position: absolute; inset: 0; z-index: 0; background-image: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, transparent 42%, rgba(0,0,0,0.52) 100%); pointer-events: none; }
    .insights-card-banner-glyph { display: none; }
    .insights-card-banner-row { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; width: 100%; }
    .insights-card-banner-tag { background: rgba(255,255,255,0.96); color: #111827; font-family: var(--sans); font-size: .68rem; font-weight: 700; padding: .25rem .62rem; border-radius: 999px; display: inline-flex; align-items: center; gap: .36rem; box-shadow: 0 2px 7px rgba(0,0,0,0.14); }
    .insights-card-banner-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--tag-dot, var(--accent)); }
    .insights-card-banner-readtime { flex-shrink: 0; font-family: var(--sans); font-size: .62rem; font-weight: 700; color: #fff; background: rgba(0,0,0,0.34); backdrop-filter: blur(2px); padding: .25rem .5rem; border-radius: 999px; }
    .insights-card-banner-latest { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--sans); font-size: .72rem; font-weight: 700; color: #111827; background: rgba(255,255,255,0.96); padding: .3rem .6rem; border-radius: 999px; box-shadow: 0 2px 7px rgba(0,0,0,0.14); }
    .insights-card-body { padding: 1rem 1.05rem 1.05rem; display: flex; flex-direction: column; flex: 1; min-height: 0; }

    /* Meta line (date + read time) */
    .insights-meta { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-bottom: .65rem; font-size: .78rem; }
    .insights-date, .insights-readtime { font-family: var(--sans); color: var(--text-muted); }
    .insights-dot-sep { color: var(--text-light); }
    .insights-tag { background: rgba(255,255,255,0.95); color: #111827; font-size: .72rem; font-weight: 700; padding: .25rem .65rem; border-radius: 999px; display: inline-flex; align-items: center; gap: .35rem; }
    .insights-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--tag-dot, var(--accent)); }
    .insights-tag-link { text-decoration: none; }
    .insights-tag-link:hover { color: var(--accent-text); }
    .insights-card-tags, .article-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
    .insights-card-tags { margin: -.25rem 0 1rem; }
    .article-tags { margin: .85rem 0 0; }
    .insights-secondary-tag { font-family: var(--sans); font-size: .72rem; color: var(--text-muted); background: #faf7f1; border: 1px solid var(--border); border-radius: 999px; padding: .18rem .55rem; line-height: 1.4; }

    /* Headlines + excerpt */
    .insights-card h2, .insights-card h2 a { font-size: 1rem; font-weight: 760; color: #111827; line-height: 1.28; margin: 0 0 .58rem; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .insights-card h2 a:hover { color: var(--accent-text); }
    .insights-card p { font-size: .84rem; color: var(--text-muted); line-height: 1.5; margin: 0 0 .8rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

    /* Card foot - byline left, read-more right. Anchored to the card bottom with
       a divider (previously carried by the now-removed social share row). */
    .insights-card-foot { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: auto; padding-top: .72rem; border-top: 1px solid var(--border-dark); flex-wrap: wrap; }
    .insights-byline { font-family: var(--sans); font-size: .75rem; color: var(--text-light); }
    .insights-byline a { color: var(--text-muted); text-decoration: none; font-weight: 600; }
    .insights-byline a:hover { color: var(--accent-text); }
    .insights-read-more { display: inline-flex; align-items: center; gap: .4rem; color: var(--accent-text); font-weight: 650; font-size: .85rem; text-decoration: none; transition: gap .15s, color .15s; }
    .insights-read-more:hover { color: var(--text); gap: .55rem; }
    .insights-read-more svg { transition: transform .15s; }
    .insights-read-more:hover svg { transform: translateX(2px); }

    /* Cluster rail resource cards (issue #382 review, fix A1) —
       renderClusterResourceCard() reuses .insights-card for a card with no
       image, so it must not inherit the 420px image-card min-height, and its
       link/kind/title need their own rules (none existed before this fix). */
    .insights-card-resource { min-height: auto; }
    .insights-card-resource-link { display: flex; flex-direction: column; gap: .6rem; height: 100%; padding: 1.05rem; text-decoration: none; }
    .insights-card-resource-kind { background: #111827; color: #fff; }
    .insights-card-resource-title { margin: 0; font-size: 1rem; font-weight: 760; color: #111827; line-height: 1.28; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .insights-card-resource-link:hover .insights-card-resource-title { color: var(--accent-text); }

    .insights-empty { text-align: center; padding: 3rem 1rem; color: var(--text-muted); font-size: .95rem; }

    @media (max-width: 640px) {
      .insights-hero-inner { grid-template-columns: 1fr; gap: 1rem; }
      .insights-hero { padding: 1.55rem 1rem 1.2rem; }
      .insights-hero h1 { font-size: var(--td-hero-title-resource-mobile); }
      .insights-hero-stats { justify-self: start; text-align: left; }
      .insights-flagship { justify-self: stretch; margin-top: .35rem; }
      .insights-results-head { flex-direction: column; align-items: flex-start; gap: .25rem; }
    }

    /* ── Individual article page — editorial reading experience ───────────────
       Manrope carries the article title; Plus Jakarta Sans carries the body and
       in-article headings. Color stays scarce; separation is done with whitespace
       and 1px rules, not shadows. */
    .article-hero {
      position: relative;
      isolation: isolate;
      min-height: clamp(360px, 38vw, 520px);
      display: flex;
      align-items: center;
      overflow: hidden;
      background: #f7f3ec;
      border-bottom: 1px solid rgba(15, 23, 42,0.08);
    }
    .article-hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      opacity: .56;
      filter: saturate(.82) contrast(.96);
    }
    .article-hero::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(90deg, rgba(250,247,241,.96) 0%, rgba(250,247,241,.82) 45%, rgba(250,247,241,.48) 100%),
        linear-gradient(180deg, rgba(250,247,241,.08) 0%, rgba(250,247,241,.92) 100%);
    }
    .article-hero-inner {
      width: min(100% - 2rem, 1180px);
      position: relative;
      z-index: 2;
      margin: 0 auto;
      padding: clamp(2.25rem, 4vw, 3.7rem) 0 clamp(2rem, 3.8vw, 3.35rem);
    }
    .article-breadcrumb, .insights-breadcrumb {
      display: flex; align-items: center; flex-wrap: wrap; gap: .4rem;
      font-family: var(--sans); font-size: .78rem; color: var(--text-muted);
      margin: 0 0 1rem;
    }
    .article-breadcrumb a, .insights-breadcrumb a { color: var(--text-muted); text-decoration: none; }
    .article-breadcrumb a:hover, .insights-breadcrumb a:hover { color: var(--accent-text); text-decoration: underline; }
    .insights-breadcrumb { margin: 0 0 .85rem; }
    .article-resource-label {
      margin: 0 0 1rem;
      font-family: var(--font-editorial-body);
      font-size: var(--td-hero-subject-size);
      font-weight: 780;
      text-transform: uppercase;
      color: #283645;
    }
    .article-hero h1 {
      max-width: 960px;
      margin: 0;
      font-family: var(--font-editorial-display);
      font-size: var(--td-hero-title-article);
      font-weight: 400;
      line-height: var(--editorial-title-leading);
      letter-spacing: 0;
      color: #263341;
    }
    .article-dek {
      max-width: 760px;
      margin: 1.3rem 0 0;
      font-family: var(--font-editorial-body);
      font-size: clamp(1rem, 1.15vw, 1.14rem);
      line-height: 1.58;
      color: #455160;
    }
    .article-meta-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .55rem;
      margin-top: 1.25rem;
      font-family: var(--font-editorial-body);
      font-size: .92rem;
      color: #516070;
    }
    .article-meta-row a { color: #283645; text-decoration: none; font-weight: 650; border-bottom: 1px solid transparent; }
    .article-meta-row a:hover { border-bottom-color: var(--accent); }
    .article-meta-sep { color: rgba(40,54,69,.55); }
    .article-tags { margin: 1.1rem 0 0; }
    .article-topic-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 1rem 0 0; font-family: var(--font-editorial-body); font-size: .82rem; line-height: 1.35; }
    .article-topic-cluster span { color: var(--text-muted); font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
    .article-topic-cluster a { color: var(--accent-text); font-weight: 750; text-decoration: none; }
    .article-topic-cluster a:hover { text-decoration: underline; }
    .article-hero-credit {
      position: absolute;
      z-index: 2;
      right: max(1rem, calc((100vw - 1180px) / 2));
      bottom: .85rem;
      max-width: min(360px, calc(100% - 2rem));
      margin: 0;
      font-family: var(--font-editorial-body);
      font-size: .72rem;
      line-height: 1.45;
      color: rgba(40,54,69,.72);
      text-align: right;
    }
    .article-hero-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

    /* Hero image — framed, between the title block and the body. */
    .article-hero-image { max-width: 900px; margin: 1.6rem auto 0; padding: 0 1.5rem; }
    .article-hero-image-frame { position: relative; width: 100%; aspect-ratio: 1200 / 630; overflow: hidden; border-radius: 14px; box-shadow: 0 12px 36px rgba(15, 23, 42,0.13); background: #111827; border: 1px solid rgba(0,0,0,0.06); }
    /* cover (not contain) so real photos fill the frame edge-to-edge with no letterbox */
    .article-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
    /* subtle inner vignette so any crop edge reads as intentional */
    .article-hero-image-frame::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 90px rgba(0,0,0,0.16); border-radius: 14px; pointer-events: none; }
    .article-hero-image figcaption { margin: .65rem .2rem 0; color: var(--text-light); font-size: .75rem; line-height: 1.5; text-align: center; }
    .article-hero-image figcaption a { color: var(--text-muted); text-decoration: underline; text-underline-offset: 2px; }
    .article-inline-image {
      margin: 2.35rem 0;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .article-inline-image img {
      display: block;
      width: auto;
      max-width: 100%;
      height: auto;
      max-height: min(78vh, 760px);
      border-radius: 14px;
      object-fit: contain;
      object-position: center;
      box-shadow: 0 12px 34px rgba(15, 23, 42,0.12);
      border: 1px solid rgba(0,0,0,0.06);
      background: #f7f3ec;
    }
    .article-inline-image figcaption {
      width: 100%;
      margin: .7rem .15rem 0;
      color: var(--text-light);
      font-family: var(--font-editorial-body);
      font-size: .78rem;
      line-height: 1.5;
    }
    .article-inline-image figcaption a {
      color: var(--text-muted);
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    /* Body — compact editorial measure, tuned for denser browsing. */
    .insights-video-embed,
    .insights-report-cta,
    .insights-event-card { margin-top: 2.25rem; }

    .article-body { max-width: calc(var(--editorial-readable-measure) + 3rem); margin: 0 auto; padding: 4rem 1.5rem; font-family: var(--font-editorial-body); }
    .article-body p { font-size: var(--editorial-body-size); color: #34383f; line-height: var(--editorial-body-leading); margin: 0 0 1rem; }
    .article-body p a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
    .article-body p a:hover { color: var(--text); }
    .article-body .article-list { margin: 0 0 1.55rem; padding-left: 1.5rem; }
    .article-body .article-list li { font-size: var(--editorial-body-size); color: #34383f; line-height: var(--editorial-body-leading); margin: 0 0 .5rem; padding-left: .15rem; }
    .article-body .article-list li strong { color: #263341; }
    .article-body .article-list a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 2px; }
    .article-callout { margin: 0 0 2rem; padding: 1.05rem 1.2rem; border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; background: rgba(201, 169, 97,.11); color: #4b3824; font-family: var(--font-editorial-body); font-size: var(--editorial-body-size); line-height: var(--editorial-body-leading); }
    .article-callout strong { color: var(--accent-text); }
    .article-cta { margin: 3rem 0 0; padding: 1.35rem; border: 1px solid rgba(201, 169, 97,.25); border-radius: 8px; background: #faf7f1; }
    .article-cta h2 { font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; line-height: 1.333; color: #263341; margin: 0 0 .55rem; letter-spacing: -.025em; }
    .article-cta p { font-size: 1rem; line-height: 1.55; margin-bottom: 1rem; }
    .article-table-wrap { overflow-x: auto; margin: 1.5rem 0 2rem; border-radius: 8px; border: 1px solid rgba(0,0,0,.08); }
    .article-table { width: 100%; border-collapse: collapse; font-family: var(--font-editorial-body); font-size: .95rem; background: #fff; }
    .article-table th, .article-table td { padding: .75rem .9rem; border-bottom: 1px solid rgba(0,0,0,.07); text-align: left; vertical-align: top; }
    .article-table th { background: #f8f3ea; color: #4b3824; font-weight: 750; }
    .article-body .article-subhead { font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; color: #263341; line-height: 1.333; letter-spacing: -.025em; margin: 3rem 0 1.5rem; }
    .article-body .article-subhead--h3 { font-size: var(--editorial-h3-size); line-height: 1.4; margin: 2rem 0 .75rem; }
    .article-body .td-share-block--article { margin: 3.2rem 0 0; }
    .article-faqs { margin-top: 3rem; padding-top: 1.7rem; border-top: 1px solid var(--border); font-family: var(--font-editorial-body); }
    .article-faqs h2 { margin: 0 0 1.5rem; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; color: #263341; letter-spacing: -.025em; line-height: 1.333; }
    .article-faq { border-bottom: 1px solid rgba(0,0,0,.08); }
    .article-faq summary { cursor: pointer; padding: .95rem 0; color: #263341; font-weight: 750; line-height: 1.35; }
    .article-faq p { margin: 0 0 1rem !important; font-size: .98rem !important; line-height: 1.62 !important; color: #34383f !important; }
    .reader-notes-section { margin: 2.75rem 0 0; padding: 2rem 0 0; border-top: 1px solid var(--border); font-family: var(--font-editorial-body); }
    .reader-notes-head { max-width: 700px; margin-bottom: 1.15rem; }
    .reader-notes-eyebrow { margin: 0 0 .35rem !important; font-size: .78rem !important; line-height: 1.2 !important; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; color: var(--accent-text) !important; }
    .reader-notes-head h2 { margin: 0 0 .45rem; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; color: #263341; letter-spacing: -.025em; line-height: 1.333; }
    .reader-notes-head p { margin: 0 !important; font-size: .95rem !important; line-height: 1.55 !important; color: var(--text-muted) !important; }
    .reader-notes-list { display: grid; gap: .85rem; margin: 1rem 0 1.35rem; }
    .reader-note-card { padding: 1rem 0; border-bottom: 1px solid rgba(0,0,0,.07); }
    .reader-note-card:first-child { border-top: 1px solid rgba(0,0,0,.07); }
    .reader-note-card p { margin: .55rem 0 0 !important; font-family: var(--font-editorial-body); font-size: var(--editorial-body-size) !important; line-height: var(--editorial-body-leading) !important; color: #34383f !important; }
    .reader-note-meta { display: flex; flex-wrap: wrap; gap: .45rem .75rem; align-items: center; font-size: .78rem; font-weight: 700; color: var(--text-muted); }
    .reader-note-meta span:first-child { color: var(--accent-text); }
    .reader-note-reply { margin-top: .9rem; padding: .85rem 1rem; border-left: 3px solid var(--accent); background: #faf7f1; color: #4b3824; }
    .reader-note-reply strong { display: block; margin-bottom: .25rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--accent-text); }
    .reader-note-reply p { margin: 0 !important; font-size: .92rem !important; color: #4b3824 !important; }
    .reader-notes-empty { margin: 0 !important; padding: .85rem 0; font-family: var(--font-editorial-body); font-size: .92rem !important; color: var(--text-muted) !important; }
    .reader-notes-form { display: grid; gap: .85rem; margin-top: 1rem; padding: 1rem 0 0; border-top: 1px dashed rgba(0,0,0,.12); }
    .reader-notes-form label { display: grid; gap: .35rem; font-size: .78rem; font-weight: 750; color: var(--text-muted); }
    .reader-notes-form select,
    .reader-notes-form textarea,
    .reader-notes-form input { width: 100%; box-sizing: border-box; border: 1px solid var(--border-solid); border-radius: 8px; background: #fff; color: var(--text); font-family: var(--font-editorial-body); font-size: .95rem; padding: .7rem .8rem; }
    .reader-notes-form textarea { min-height: 126px; resize: vertical; line-height: 1.5; }
    .reader-notes-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
    .reader-notes-form .btn { justify-self: start; }
    .reader-notes-status { margin: 0 !important; font-family: var(--font-editorial-body); font-size: .9rem !important; line-height: 1.45 !important; }
    .reader-notes-status--success { color: #15803d !important; }
    .reader-notes-status--error { color: #b91c1c !important; }
    .reader-notes-login { margin-top: 1rem; }
    .article-byline { display: flex; gap: 1rem; align-items: center; font-family: var(--font-editorial-body); font-size: .9rem; color: var(--text-muted); padding-top: 1.5rem; margin-top: 2.5rem; border-top: 1px solid var(--border); }
    .article-byline a { color: var(--accent-text); text-decoration: none; }
    .article-byline a:hover { text-decoration: underline; }

    /* Reading-progress bar — fills as the reader scrolls the article */
    .reading-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--accent-dark), var(--accent-light)); z-index: var(--z-tray); transition: width .08s linear; }

    /* References / sources block */
    .article-sources { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
    .article-sources h2 { font-size: .9rem; font-family: var(--font-editorial-body); font-weight: 700; color: var(--text-muted); margin: 0 0 .9rem; }
    .article-sources ol { margin: 0; padding-left: 1.3rem; display: flex; flex-direction: column; gap: .55rem; }
    .article-sources li { font-size: .85rem; line-height: 1.55; color: var(--text-muted); }
    .article-sources a { color: var(--accent-text); text-decoration: none; word-break: break-word; }
    .article-sources a:hover { text-decoration: underline; }
    .article-source-primary { display: inline-block; margin-right: .28rem; padding: .08rem .38rem; border-radius: 999px; background: rgba(201, 169, 97,.17); color: #6f4f20; font-family: var(--font-editorial-body); font-size: .67rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; vertical-align: .08em; }

    .article-resource-links { margin-top: 2.75rem; padding: 1.25rem; border: 1px solid rgba(201, 169, 97,.28); border-radius: 8px; background: #faf7f1; font-family: var(--font-editorial-body); }
    .article-resource-links-eyebrow { margin: 0 0 .35rem !important; color: var(--accent-text) !important; font-family: var(--font-editorial-body); font-size: .78rem !important; font-weight: 800; letter-spacing: .04em; line-height: 1.3 !important; text-transform: uppercase; }
    .article-resource-links h2 { margin: 0 0 1rem; color: #263341; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; letter-spacing: -.025em; line-height: 1.333; }
    .article-resource-links-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.35rem; }
    .article-resource-links h3 { margin: 0 0 .55rem; color: #4b3824; font-size: .84rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
    .article-resource-links ul { margin: 0; padding-left: 1.15rem; display: flex; flex-direction: column; gap: .42rem; }
    .article-resource-links li { color: var(--text-muted); font-size: .95rem; line-height: 1.45; }
    .article-resource-links a { color: var(--accent-text); font-weight: 650; text-decoration: none; }
    .article-resource-links a:hover { text-decoration: underline; }

    /* Brief block (issue #387-A) — same width/margin/padding/type conventions
       as .article-resource-links above so the two sit as visual siblings. */
    .article-brief-block { margin-top: 2.75rem; padding: 1.25rem; border: 1px solid rgba(201, 169, 97,.28); border-radius: 8px; background: #faf7f1; font-family: var(--font-editorial-body); }
    .article-brief-block-eyebrow { margin: 0 0 .35rem !important; color: var(--accent-text) !important; font-family: var(--font-editorial-body); font-size: .78rem !important; font-weight: 800; letter-spacing: .04em; line-height: 1.3 !important; text-transform: uppercase; }
    .article-brief-block h2 { margin: 0 0 1rem; color: #263341; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; letter-spacing: -.025em; line-height: 1.333; }
    .article-brief-block-checklist { margin: 0 0 1.1rem; padding-left: 1.15rem; display: flex; flex-direction: column; gap: .42rem; }
    .article-brief-block-links { margin: 0; padding-left: 1.15rem; display: flex; flex-direction: column; gap: .42rem; }
    .article-brief-block li { color: var(--text-muted); font-size: .95rem; line-height: 1.45; }
    .article-brief-block a { color: var(--accent-text); font-weight: 650; text-decoration: none; }
    .article-brief-block a:hover { text-decoration: underline; }
    .article-cluster-links { margin-top: 2.75rem; padding: 1.3rem; border: 1px solid rgba(40,54,69,.16); border-radius: 8px; background: #f5f7f8; font-family: var(--font-editorial-body); }
    .article-cluster-links-eyebrow { margin: 0 0 .35rem !important; color: var(--accent-text) !important; font-family: var(--font-editorial-body); font-size: .78rem !important; font-weight: 800; letter-spacing: .04em; line-height: 1.3 !important; text-transform: uppercase; }
    .article-cluster-links h2 { margin: 0 0 .55rem; color: #263341; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; letter-spacing: -.025em; line-height: 1.333; }
    .article-cluster-links > p:not(.article-cluster-links-eyebrow) { margin: 0 0 1rem !important; color: #455160; font-size: .98rem !important; line-height: 1.55 !important; }
    .article-cluster-links ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .7rem; }
    .article-cluster-links li { padding-top: .7rem; border-top: 1px solid rgba(40,54,69,.12); }
    .article-cluster-links li:first-child { padding-top: 0; border-top: 0; }
    .article-cluster-links a { color: var(--accent-text); font-weight: 750; text-decoration: none; }
    .article-cluster-links a:hover { text-decoration: underline; }
    .article-cluster-intent { display: block; margin-top: .2rem; color: var(--text-muted); font-size: .9rem; line-height: 1.45; }
    .article-secondary-topic-clusters { margin: .45rem 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; font-family: var(--font-editorial-body); font-size: .84rem; line-height: 1.4; }
    .article-secondary-topic-clusters span { color: var(--text-muted); font-weight: 700; }
    .article-secondary-topic-clusters a { color: var(--accent-text); text-decoration: none; }
    .article-secondary-topic-clusters a:hover { text-decoration: underline; }
    .article-conversion { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid rgba(40,54,69,.15); border-radius: 8px; background: #f5f7f8; font-family: var(--font-editorial-body); }
    .article-conversion-eyebrow { margin: 0 0 .35rem !important; color: var(--accent-text) !important; font-family: var(--font-editorial-body); font-size: .78rem !important; font-weight: 800; letter-spacing: .04em; line-height: 1.3 !important; text-transform: uppercase; }
    .article-conversion h2 { margin: 0 0 .55rem; color: #263341; font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; letter-spacing: -.025em; line-height: 1.333; }
    .article-conversion p:not(.article-conversion-eyebrow) { max-width: 720px; margin: 0 0 1rem !important; color: #455160; font-size: 1rem !important; line-height: 1.55 !important; }

    /* Related articles strip */
    .article-related { background: #faf7f1; border-top: 1px solid var(--border); font-family: var(--font-editorial-body); }
    .article-related-inner { max-width: 1100px; margin: 0 auto; padding: 3rem 1.5rem 4rem; }
    .article-related-eyebrow { font-family: var(--font-editorial-body); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--accent-text); margin: 0 0 .45rem; }
    .article-related h2 { font-family: var(--font-editorial-body); font-size: var(--editorial-h2-size); font-weight: 600; line-height: 1.333; color: #111827; letter-spacing: -.025em; margin: 0 0 1.6rem; }
    .article-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
    @media (max-width: 900px) { .article-related-grid { grid-template-columns: 1fr; } }
    @media (max-width: 640px) {
      .article-hero { min-height: 360px; flex-direction: column; align-items: stretch; }
      .article-hero-inner { width: min(100% - 2rem, 1180px); padding: 2.35rem 0 2.15rem; }
      .article-resource-label { margin-bottom: .85rem; font-size: var(--td-hero-subject-size); }
      .article-hero h1 { font-size: var(--td-hero-title-article-mobile); line-height: var(--editorial-title-leading); }
      .article-dek { font-size: 1rem; margin-top: 1rem; }
      .article-meta-row { font-size: .84rem; margin-top: 1rem; }
      .article-hero-credit { position: static; max-width: none; margin: -1.85rem 1rem .85rem; text-align: left; }
      .article-hero-image { padding: 0 1.15rem; }
      .article-hero-image-frame { border-radius: 12px; }
      .article-body { padding: 3rem 1.15rem 3rem; }
      .article-body p { font-size: var(--editorial-body-size); line-height: var(--editorial-body-leading); margin-bottom: 1rem; }
      .article-body .article-list li { font-size: var(--editorial-body-size); line-height: var(--editorial-body-leading); }
      .article-resource-links-grid { grid-template-columns: 1fr; }
      .reader-notes-form-grid { grid-template-columns: 1fr; }
    }

    /* Type chip on cards (Video / Report / Event) */
    .insights-type-chip { background: rgba(15, 23, 42,.82); color: #fff; font-family: var(--sans); font-size: .62rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: .24rem .55rem; border-radius: 999px; }

    /* Publications band — dark brand surface spotlighting the latest reports */
    .insights-pubband { background: #111827; border-bottom: 1px solid rgba(201, 169, 97,.22); }
    .insights-pubband-inner { max-width: 1320px; margin: 0 auto; padding: 2.1rem 1.65rem 2.3rem; }
    .insights-pubband-head { display: flex; align-items: baseline; gap: .9rem 1.25rem; flex-wrap: wrap; margin-bottom: 1.15rem; }
    .insights-pubband-eyebrow { font-family: var(--sans); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--accent-light, #c9a961); }
    .insights-pubband-head h2 { margin: 0; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 560; color: #f6f2eb; letter-spacing: 0; }
    .insights-pubband-links { margin-left: auto; display: flex; gap: 1.35rem; flex-wrap: wrap; }
    .insights-pubband-all { font-family: var(--sans); font-size: .84rem; font-weight: 650; color: #e8d5b5; text-decoration: none; }
    .insights-pubband-all:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
    .insights-pubband-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
    .insights-pub-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.05rem 1.15rem 1.15rem; background: rgba(255,255,255,.045); border: 1px solid rgba(201, 169, 97,.28); border-radius: 12px; text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
    .insights-pub-card:hover { border-color: rgba(201, 169, 97,.6); background: rgba(255,255,255,.08); transform: translateY(-2px); }
    .insights-pub-kicker { font-family: var(--sans); font-size: .68rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; color: var(--accent-light, #c9a961); }
    .insights-pub-title { margin: 0; font-family: 'Newsreader', Georgia, 'Times New Roman', serif; font-size: 1.18rem; font-weight: 560; line-height: 1.22; color: #f6f2eb; letter-spacing: 0; }
    .insights-pub-date { font-family: var(--sans); font-size: .78rem; color: rgba(246,242,235,.62); }
    @media (max-width: 640px) { .insights-pubband-inner { padding: 1.6rem 1.15rem 1.75rem; } .insights-pubband-links { margin-left: 0; } }

    /* Subscribe / RSS CTA */
    .insights-subscribe { max-width: 1320px; margin: 2.75rem auto 0; padding: 0 .75rem; }
    .insights-subscribe-inner { background: #f6f2eb; border: 1px solid rgba(201, 169, 97,.28); border-radius: 14px; padding: 1.6rem 1.7rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.1rem; }
    .insights-subscribe-inner h2 { margin: 0 0 .3rem; font-family: 'Newsreader', Georgia, serif; font-size: 1.45rem; font-weight: 600; color: #111827; }
    .insights-subscribe-inner p { margin: 0; color: #5f4a34; font-size: .9rem; max-width: 50ch; }
    .insights-subscribe-form { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
    .insights-subscribe-form input { font-family: var(--sans); font-size: .9rem; padding: .55rem .8rem; border: 1px solid var(--border-dark); border-radius: 8px; min-width: 220px; background: #fff; }
    .insights-subscribe-msg { width: 100%; font-family: var(--sans); font-size: .82rem; margin: .2rem 0 0; }
    .insights-subscribe-rss { font-family: var(--sans); font-size: .82rem; color: var(--text-muted); text-decoration: none; align-self: center; }
    .insights-subscribe-rss:hover { color: var(--accent-text); }
    .insights-subscribe .newsletter-copy { flex: 1 1 280px; }
    .insights-subscribe .newsletter-form-region { flex: 1 1 520px; }

    /* Video detail — responsive 16:9 embed */
    .insights-video-embed { max-width: 900px; margin: 1.4rem auto 0; padding: 0 1.5rem; }
    .insights-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 12px 36px rgba(15, 23, 42,.13); }
    .insights-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
    @media (max-width: 640px) { .insights-video-embed { padding: 0 1.15rem; } }

    /* Report download CTA */
    .insights-report-cta { max-width: 720px; margin: 1.6rem auto 0; padding: 1.1rem 1.3rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; background: #f6f2eb; border: 1px solid rgba(201, 169, 97,.3); border-radius: 12px; }
    .insights-report-cta strong { display: block; color: #111827; font-size: .98rem; }
    .insights-report-cta span { color: #5f4a34; font-size: .85rem; }

    /* Event detail card */
    .insights-event-card { max-width: 720px; margin: 1.6rem auto 0; padding: 1.3rem 1.4rem; background: #fff; border: 1px solid var(--border); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; }
    .insights-event-rows { display: flex; flex-wrap: wrap; gap: 1.5rem; }
    .insights-event-rows > div { display: flex; flex-direction: column; gap: .15rem; }
    .insights-event-k { font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-light); }
    .insights-event-rows span:not(.insights-event-k) { color: #111827; font-weight: 600; font-size: .95rem; }
    .insights-event-past { color: var(--text-muted); font-size: .85rem; font-style: italic; }
    .insights-event-rows > .insights-event-presented { flex-direction: row; align-items: center; gap: .5rem; flex-wrap: wrap; }
    .insights-event-presented a { color: #111827; font-weight: 600; }
    .insights-event-presenter-logo { height: 22px; width: auto; max-width: 120px; object-fit: contain; }
  
