@charset "UTF-8";
/* ------------------------------------------------------------
   CUSTOM PROPERTIES
------------------------------------------------------------ */ 
:root {
    --navy: #0a2d49;
    --dark: #051d31;
    --blue: #0b67b2;
    --bg: #f4f7fb;
    --gray: #686767;
    --muted: #949494;
    --white: #FFFFFF;
    --vision: #4cb74d;
    --robo: #a71f23;
    --motion: #f15a25;
    --ai: #7e287b;
    --gold: #FBAD1A;
    /* Spacing tokens */
    --section-gap: 60px;
    --eyebrow-gap: 12px;
    /* Shadow tokens */
    --shadow-card: 0 0 6px rgba(0, 0, 0, .16);
    --shadow-header: 0 0 12px rgba(0, 0, 0, .16);
}
/* ------------------------------------------------------------
   RESET & BASE
------------------------------------------------------------ */
*, *::before, *::after {
    box-sizing: border-box;
}
.container-xl {
    max-width: 1450px;
    padding-left: 60px;
    padding-right: 60px;
}
#content {
    font-family: 'Montserrat', sans-serif;
    background: var(--bg);
    color: var(--dark);
    margin: 0;
}
#content a {
	transition: .5s
}

/* ------------------------------------------------------------
   CATEGORY TAGS
------------------------------------------------------------ */
.tag {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
	display: inline-block;
	margin-right: 10px;
}
.tag-vision {
    color: var(--vision);
}
.tag-robo {
    color: var(--robo);
}
.tag-motion {
    color: var(--motion);
}
.tag-ai {
    color: var(--ai);
}
/* ------------------------------------------------------------
   SECTION LABELS / TITLES
------------------------------------------------------------ */
.section-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--gray);
    letter-spacing: .5px;
    text-transform: uppercase;
}
.section-title {
    font-size: 48px;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.1;
}
/* Large card title (used inside Video Coverage featured slot) */
.large-card-title {
    font-size: 40px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.2;
    text-decoration: none;
    display: block;
}
.large-card-title:hover {
    color: var(--blue);
}
/* Section spacing — smaller top, full bottom (creates visual rhythm without crowding) */
#content .section-anc {
    margin-top: calc(var(--section-gap) / 2);
    margin-bottom: var(--section-gap);
}
/* Override any global mb utility on section labels so eyebrow-gap wins */
#content .section-label {
    margin-bottom: var(--eyebrow-gap) !important;
}
.link-blue {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.link-blue:hover {
    color: #084e8a;
}
/* Force in-article body links to brand blue */
#content .article-body a,
#content #contentBlock a {
    color: var(--blue);
}
/* ------------------------------------------------------------
   PAGE SUBTITLES (shared across MI, News, MU, Video pages)
------------------------------------------------------------ */
.mi-page-subtitle, .news-page-subtitle, .mu-page-subtitle, .vid-page-subtitle {
    color: var(--gray);
    font-size: 14px;
}
/* ------------------------------------------------------------
   HEADER
------------------------------------------------------------ */
.news-center-header {
    background: #fff;
    box-shadow: var(--shadow-header);
    position: relative;
    z-index: 2;
}
.site-title {
    font-size: clamp(1.4rem, 3vw, 2.4rem);
    font-weight: 700;
    color: var(--navy);
}
.site-subtitle {
    color: #787c7f;
    font-size: 14px;
}
.search-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bg);
    border: 1px solid #ced4dc;
    padding: 8px 14px;
    min-width: 200px;
    height: 43px;
}

.search-wrap span, .search-wrap i {
    color: #c4c5c9;
    font-size: 14px;
}
/* ------------------------------------------------------------
   NAV TABS — pill-style cards with gaps
------------------------------------------------------------ */
.news-nav-bar {
    background: var(--bg);
    padding: 10px 0;
}
.news-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    margin: 0 -10px;
    gap: 12px;
    padding: 10px;
}
.news-nav::-webkit-scrollbar {
    display: none;
}
.nav-item {
    padding-bottom: 0;
}
.news-nav .nav-link {
    background: #fff;
    color: var(--dark);
    font-size: 16px;
    font-weight: 500;
    padding: 14px 28px;
    border-radius: 0;
    white-space: nowrap;
    border: none;
    box-shadow: var(--shadow-card);
    transition: background .2s, color .2s;
}
.news-nav .nav-link:hover {
    background: #f0f4f8;
}
.news-nav .nav-link.active {
    background: var(--blue);
    color: #fff !important;
    font-weight: 700;
}
/* ---- MOBILE NAV ---- */
.nav-mobile-toggle {
    display: none;
}
@media (max-width: 840px) {
    .news-nav-bar {
        padding: 12px 0;
    }
    .nav-mobile-toggle {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 14px 16px;
        cursor: pointer;
        background: #fff;
        border: none;
        font-family: inherit;
        font-size: 16px;
        font-weight: 600;
        color: var(--dark);
        box-shadow: var(--shadow-card);
        width: 100%;
        justify-content: space-between;
    }
    .nav-mobile-toggle .nav-arrow {
        transition: transform .3s ease;
        color: var(--blue);
        font-size: 14px;
    }
    .news-nav-bar.nav-open .nav-mobile-toggle .nav-arrow {
        transform: rotate(180deg);
    }
    .nav-collapse {
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s ease;
        background: #fff;
        box-shadow: var(--shadow-card);
    }
    .news-nav-bar.nav-open .nav-collapse {
        max-height: 500px;
    }
    .news-nav {
        flex-direction: column;
        border-top: 1px solid #eaeaea;
        gap: 0;
    }
    .news-nav .nav-item {
        width: 100%;
    }
    .news-nav .nav-link {
        display: block;
        width: 100%;
        padding: 14px 16px;
        border-bottom: 1px solid #f0f0f0;
        box-shadow: none;
        background: #fff;
    }
    .news-nav .nav-link.active {
        background: var(--blue);
        color: #fff !important;
        font-weight: 700;
    }
    .nav-mobile-subscribe {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 14px 16px;
        color: var(--blue);
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        border-bottom: 1px solid #f0f0f0;
        background: #fff;
    }
    .nav-mobile-subscribe i {
        font-size: 16px;
    }
    .nav-desktop-row {
        display: none;
    }
}
@media (min-width: 841px) {
    .nav-collapse {
        display: contents;
    }
}
/* ---- SUBSCRIBE BUTTON ---- */
.btn-subscribe {
    background: var(--blue);
    color: #fff;
    border: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    padding: 14px 22px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: center;
    overflow: hidden;
    text-decoration: none;
    box-shadow: var(--shadow-card);
    transition: .3s;
}
.btn-subscribe:hover {
    background: var(--dark);
    color: #fff;
}
.btn-subscribe .btn-subscribe-text {
    display: inline;
    overflow: hidden;
    transition: max-width .3s ease, opacity .3s ease;
}
@media (max-width: 1050px) {
    .btn-subscribe {
        padding: 14px;
        gap: 0;
    }
    .btn-subscribe .btn-subscribe-text {
        max-width: 0;
        opacity: 0;
    }
    .btn-subscribe:hover, .btn-subscribe:focus {
        padding: 14px 22px;
        gap: 8px;
        outline: none;
    }
    .btn-subscribe:hover .btn-subscribe-text, .btn-subscribe:focus .btn-subscribe-text {
        max-width: 200px;
        opacity: 1;
    }
}
.subscribe-horizontal {justify-content: flex-end;}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content, .subscribe-horizontal .hsfc-Step .hsfc-Step__Content {
	padding: 0 !important;
}
.subscribe-horizontal .hsfc-Step__Content {
	display: flex !important;
}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-NavigationRow {
	margin-top: 0 !important;
}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-NavigationRow__Alerts, .subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-FieldLabel {
	display: none !important;
}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-Button {
	width: 150px;
	height: 50px;
}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-TextInput {
	height: 50px;
	width: 400px;
}
.subscribe-horizontal [data-hsfc-id=Renderer] .hsfc-Row {
	margin-bottom: 0 !important;
}
/* ------------------------------------------------------------
   HERO
------------------------------------------------------------ */
.hero-wrapper {
    display: flex;
    align-items: stretch;
    gap: 1.5rem;
}
.hero-section {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    flex: 7;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(10, 45, 73, .2) 0%, #0a2d49 60%, #051d31 100%);
    opacity: .9;
}
.hero-inner {
    position: relative;
    z-index: 2;
    padding: 1.5rem;
}
.hero-top-stories-wrap {
    flex: 5;
    display: flex;
    align-items: stretch;
}
.hero-top-stories-wrap .top-stories-card {
    width: 100%;
}
.hero-badge {
    position: absolute;
    top: 1.25rem;
    left: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    padding: 7px 20px;
    background-color: var(--gold);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    min-width: 180px;
}
.hero-title {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 3px 3px #0a2d49;
    line-height: 1.1;
}
.hero-desc {
    color: #fff;
    font-size: 16px;
    text-shadow: 0 3px 3px #0a2d49;
}
.hero-meta {
    color: #e9eaeb;
    font-size: 14px;
}
.hero-title a, .hero-title a:visited {
	color: #FFF;
	text-decoration: none;
	transition: .5s
}
.hero-title a:hover {
	color: #FFF;
	text-decoration: underline;
}

/* Full-bleed hero: image spans the entire wrapper */
    .lead-hero-wrapper {
      position: relative;
      overflow: hidden;
      min-height: 520px;
      display: grid;
      grid-template-columns: 1fr 38%;
      grid-template-rows: 1fr auto;
      gap: 20px;
      padding: 20px;
      align-items: stretch;
    }
    .lead-hero-wrapper .hero-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
    }
    .lead-hero-wrapper .hero-overlay {
      position: absolute;
      inset: 0;
      opacity: 0.89;
      background: linear-gradient(
        220deg,
        rgba(10,45,73,0.40) 20%,
        #0A2D49 50%,
        #0B67B2 100%
      );
      z-index: 0;
    }
    /* Angled badge: clip the right edge diagonally */
    .lead-hero-wrapper .hero-badge {
      clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
      padding-right: 30px; /* compensate for clipped area */
    }
    .lead-hero-wrapper .hero-inner {
      position: relative;
      z-index: 2;
      grid-column: 1;
      grid-row: 2;
      align-self: end;
      padding: 0 1rem 1rem;
    }
    /* Top stories card: lives in the grid column on the right, spans both rows */
    .lead-hero-stories-wrap {
      position: relative;
      z-index: 3;
      grid-column: 2;
      grid-row: 1 / 3;
      display: flex;
      align-items: stretch;
    }
    .lead-hero-stories-wrap .top-stories-card {
      width: 100%;
      display: flex;
      flex-direction: column;
      box-shadow: -4px 0 20px rgba(5,29,49,.2);
    }
    .lead-hero-stories-wrap .top-stories-card .mt-2 {
      margin-top: auto !important;
    }

    @media (max-width: 991.98px) {
      .lead-hero-wrapper {
        display: flex;
        flex-direction: column;
        min-height: auto;
        padding: 0;
        gap: 0;
      }
      .lead-hero-wrapper .hero-img       { position: absolute; }
      .lead-hero-wrapper .hero-overlay   { position: absolute; }
      .lead-hero-wrapper .hero-inner {
        position: relative;
        right: auto;
        padding: 5rem 1.5rem 2rem;
      }
      .lead-hero-stories-wrap {
        position: relative;
        top: auto; right: auto;
        width: 100%;
        height: auto;
      }
    }

/* ---- TOP STORIES CARD ---- */
.top-stories-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 24px;
}
.ts-heading {
    font-weight: 700;
    color: #36393d;
    font-size: 16px;
    letter-spacing: .4px;
}
.ts-sub {
    color: #5e6267;
    font-size: 14px;
}
.story-item {
    border-top: 1px solid #e5e7ea;
    padding-top: 16px;
    margin-top: 16px;
}
.story-item:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}
.story-title {
    font-weight: 600;
    font-size: 16px;
    color: var(--dark);
    line-height: 1.4;
    margin: 4px 0 6px;
    text-decoration: none;
    display: block;
}
.story-title:hover {
    color: var(--blue);
}
.story-meta {
    color: var(--muted);
    font-size: 14px;
}
/* ------------------------------------------------------------
   SECTION CARD WRAPPER
------------------------------------------------------------ */
.section-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 32px;
}
/* ------------------------------------------------------------
   ARTICLE CARDS — GRID VARIANT (This Week / landing pages)
------------------------------------------------------------ */
.article-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    height: 100%;
    transition: box-shadow .2s ease, transform .2s ease;
	position: relative;
}
.article-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.article-card .card-thumb {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}
.article-card .card-thumb-link {
    display: block;
    overflow: hidden;
}
.article-card .card-thumb-link:hover .card-thumb {
   /* opacity: .9;*/
}
.article-card .card-body {
    padding: 20px;
}
.article-card .card-body a {
    text-decoration: none;
}
.article-card .card-headline {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    margin: 8px 0 12px;
    text-decoration: none;
    display: block;
}
.article-card .card-headline:hover {
    color: var(--blue);
}
.card-meta {
    color: var(--muted);
    font-size: 14px;
    font-weight: 400;
}
/* ---- ARTICLE CARD — INTERIOR PAGE VARIANT ---- */
/* Used on single-article and member-update detail pages.
   Overrides the grid card hover/shadow to behave as a static container. */
.article-card.article-interior, .article-card.video-article-card {
    box-shadow: var(--shadow-card);
    padding: 32px 40px 40px;
    transform: none !important;
    transition: none !important;
    height: auto;
}
.article-card.video-article-card {
    box-shadow: var(--shadow-card);
    padding: 0;
    transform: none !important;
    transition: none !important;
    height: auto;
}
.article-card.article-interior:hover, .article-card.video-article-card:hover {
    box-shadow: var(--shadow-card);
    transform: none;
}
.article-card.video-article-card .article-card-body {
    padding: 32px 40px 40px;
}
/* ------------------------------------------------------------
   PODCAST SECTION
------------------------------------------------------------ */
.podcast-section {
    position: relative;
    overflow: hidden;
    background: #0d5a98;
}
.podcast-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .76;
}
.podcast-inner {
    position: relative;
    z-index: 2;
    padding: var(--section-gap) 60px var(--section-gap);
}
.podcast-heading {
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.podcast-with {
    color: #FFF;
    font-size: 24px;
    font-weight: 400;
}
.latest-label {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.ep-title {
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}
.ep-title a, .ep-title a:visited {color: #fff;text-decoration: none}
.ep-title a:hover {color: #fff; text-decoration: underline}
.ep-date {
    color: #e9eaeb;
    font-size: 14px;
    font-weight: 600;
}
.btn-watch {
    background: #fff;
    color: var(--dark);
    font-weight: 700;
    font-size: 14px;
    padding: 12px 24px;
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: .3px;
}
.btn-watch:hover {
    background: #072339;
	color: #FFF;
}
.podcast-platforms {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.podcast-platforms a {
    color: rgba(255, 255, 255, .85);
    font-size: 28px;
    transition: color .2s;
}
.podcast-platforms a:hover {
    color: #fff;
}
/* Podcast cover play overlay */
.podcast-thumb-wrap {
    position: relative;
    display: block;
}
.podcast-thumb-wrap img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.podcast-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .18);
    cursor: pointer;
    transition: background .2s;
}
.podcast-play-overlay:hover {
    background: rgba(0, 0, 0, .32);
}
.podcast-play-overlay i {
    font-size: 44px;
    color: rgba(255, 255, 255, .92);
}
/* Mini player bar */
.podcast-player-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(5, 29, 49, .88);
    padding: 7px 10px;
}
.player-play-btn {
    background: none;
    border: none;
    color: #fff;
    font-size: 14px;
    padding: 0;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
}
.player-progress {
    flex: 1;
    background: rgba(255, 255, 255, .25);
    height: 3px;
    border-radius: 2px;
    cursor: pointer;
}
.player-progress-fill {
    width: 32%;
    background: #fff;
    height: 100%;
    border-radius: 2px;
}
.player-time {
    color: rgba(255, 255, 255, .7);
    font-size: 11px;
    white-space: nowrap;
    font-family: inherit;
}
/* Recent episodes sidebar */
.recent-ep-card {
    background: var(--bg);
    padding: 20px;
    height: 100%;
}
.recent-ep-label {
    font-weight: 700;
    color: var(--navy);
    font-size: 14px;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding-bottom: 12px;
    border-bottom: 1px solid #d0d5dc;
    margin-bottom: 12px;
}
.recent-ep-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid #d0d5dc;
}
.recent-ep-item:last-child {
    border-bottom: none;
}
.recent-ep-item img {
    width: 54px;
    height: 54px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 50%;
}
.recent-ep-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.35;
    text-decoration: none;
}
.recent-ep-title:hover {
    color: var(--blue);
    text-decoration: underline;
}
.recent-ep-meta {
    font-size: 12px;
    color: var(--muted);
    margin-top: 4px;
}
/* ------------------------------------------------------------
   NEWSLETTER STRIP
------------------------------------------------------------ */
.newsletter-strip {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 24px 32px;
	margin: 0 auto;
	max-width: 1000px;
}
.nl-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
}
.nl-sub {
    font-size: 14px;
    color: var(--navy);
}
.nl-input {
    flex: 1;
    border: 1px solid rgba(187, 187, 187, .52);
    padding: 13px 16px;
    font-size: 14px;
    color: #bbb;
    font-family: inherit;
    outline: none;
}
.nl-input:focus {
    border-color: var(--blue);
}
.btn-nl {
    background: var(--blue);
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .3px;
    text-transform: uppercase;
    padding: 14px 32px;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background .2s;
}
.btn-nl:hover {
    background: var(--dark);
    color: #fff;
}
/* ------------------------------------------------------------
   MARKET INTELLIGENCE
------------------------------------------------------------ */
.mi-card {
    background: #fff;
    box-shadow: var(--shadow-card);
}
.mi-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
}
.mi-desc {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
}
.mi-meta {
    color: var(--muted);
    font-size: 14px;
}
/* ------------------------------------------------------------
   PLAY BUTTON COMPONENTS (shared)
------------------------------------------------------------ */
.play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.play-btn-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
   background: rgba(26, 127, 212, 0.5);
background: linear-gradient(145deg, rgba(26, 127, 212, 1) 0%, rgba(11, 103, 178, 0.49) 100%);
    border: 5px solid rgba(255, 255, 255, .9);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s, box-shadow .2s;
}
.play-btn-circle i {
    color: #fff;
    font-size: 1.2rem;
    margin-left: 3px;
}
.play-btn-circle-lg {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: rgba(26, 127, 212, 0.5);
background: linear-gradient(145deg, rgba(26, 127, 212, 1) 0%, rgba(11, 103, 178, 0.49) 100%);
    border: 6px solid rgba(255, 255, 255, .9);

    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s, box-shadow .2s;
}
.play-btn-circle-lg i {
    color: #fff;
    font-size: 2rem;
    margin-left: 4px;
}
.play-btn-sm {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(26, 127, 212, 0.5);
background: linear-gradient(145deg, rgba(26, 127, 212, 1) 0%, rgba(11, 103, 178, 0.49) 100%);
    border: 3px solid rgba(255, 255, 255, .85);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s, box-shadow .2s;
}
.play-btn-sm i {
    color: #fff;
    font-size: .6rem;
    margin-left: 2px;
}
.video-thumb-wrap:hover .play-btn-circle, .video-thumb-wrap:hover .play-btn-circle-lg {
    transform: scale(1.08);
}
.tvh-thumb:hover .play-btn-sm {
    transform: scale(1.08);
}
/* Positioned play button inside sidebar video thumbs */
.tsn-thumb .play-btn-sm {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.tsn-thumb .play-btn-sm i {
    font-size: .65rem;
}
/* ------------------------------------------------------------
   VIDEO COVERAGE
------------------------------------------------------------ */
.video-thumb-wrap {
    position: relative;
    overflow: hidden;
    display: block;
    aspect-ratio: 16 / 9;
}
.video-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.vid-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(5, 29, 49, .85);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
}
.video-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    height: 100%;
    transition: box-shadow .2s ease, transform .2s ease;
}
.video-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.video-card .card-body {
    padding: 16px 20px 20px;
}
.video-card .card-headline {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    text-decoration: none;
}
/* ------------------------------------------------------------
   MEMBER UPDATES
------------------------------------------------------------ */
.mu-latest-label {
    color: var(--navy);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    border-bottom: 1px solid #d8dde2;
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.mu-headline {
    font-size: 24px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.3;
    text-decoration: none;
    display: block;
}
.mu-headline:hover {
    color: var(--blue);
}
.mu-desc {
    color: var(--gray);
    font-size: 14px;
    line-height: 1.6;
}
.mu-meta {
    color: var(--muted);
    font-size: 14px;
}
.mu-list-item {
    padding: 16px 0;
    border-bottom: 1px solid #e5e7ea;
}
.mu-list-item:last-child {
    border-bottom: none;
}
.mu-list-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    margin: 6px 0 6px;
    text-decoration: none;
    display: block;
}
.mu-list-title:hover {
    color: var(--blue);
}
.mu-list-meta {
    color: var(--muted);
    font-size: 14px;
}
.mu-right-label {
    color: var(--navy);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    border-bottom: 1px solid #d8dde2;
    padding-bottom: 12px;
    margin-bottom: 16px !important;
}
/* ------------------------------------------------------------
   BREADCRUMB
------------------------------------------------------------ */
.article-breadcrumb {
    font-size: 14px;
    color: var(--gray);
    padding: 16px 0 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.article-breadcrumb a {
    color: var(--gray);
}
.article-breadcrumb a:hover {
    color: var(--blue);
}
.article-breadcrumb .sep {
    margin: 0 8px;
}
/* ------------------------------------------------------------
   ARTICLE INTERIOR — SHARED STYLES
------------------------------------------------------------ */
.article-title {
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 700;
    color: var(--dark);
    line-height: 1.2;
    margin-bottom: 16px;
}
.article-meta {
    font-size: 14px;
    color: var(--gray);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}
.article-meta .meta-category {
    font-weight: 600;
    color: var(--gray);
    text-transform: uppercase;
    letter-spacing: .3px;
}
.article-meta .meta-sep {
    color: var(--gray);
    font-size: 1.1rem;
    line-height: 1;
}
.article-meta .meta-author {
    color: var(--blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.article-meta .meta-author:hover {
    color: #084e8a;
}
.article-share {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--gray);
    padding: 12px 0;
}
.article-share .share-label {
    font-weight: 400;
}
.article-share .share-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gray);
    font-weight: 600;
    cursor: pointer;
    transition: color .2s;
}
.article-share .share-link:hover {
    color: var(--blue);
}
.article-share .share-link i {
    font-size: 14px;
}
.share-divider {
    color: #ccc;
}
.article-featured-img {
    width: 100%;
    display: block;
    margin: 24px 0 32px;
}
.article-body {
    font-size: 16px;
    line-height: 1.75;
    color: var(--dark);
    font-weight: 400;
    margin-bottom: 40px;
}
.article-body p {
    margin-bottom: 20px;
}
.article-body p:last-child {
    margin-bottom: 0;
}
.article-rule {
    border: none;
    border-top: 1px solid #e5e7ea;
    margin: 32px 0 16px;
}
/* ------------------------------------------------------------
   TOP INDUSTRY STORIES SIDEBAR
------------------------------------------------------------ */
.top-stories-now {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 24px;
}
.tsn-heading {
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 0 !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7ea;
}
.tsn-item {
    padding: 16px 0;
    border-bottom: 1px solid #e5e7ea;
}
.tsn-item:last-child {
    border-bottom: none;
}
.tsn-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    margin: 6px 0 6px;
    display: block;
    text-decoration: none;
}
.tsn-title:hover {
    color: var(--blue);
}
.tsn-meta {
    color: var(--muted);
    font-size: 14px;
}
/* ---- SIDEBAR VIDEO ITEMS ---- */
.tsn-video-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid #e5e7ea;
}
.tsn-thumb {
    flex: 0 0 136px;
    max-width: 136px;
    aspect-ratio: 16 / 10;
    position: relative;
    overflow: hidden;
}
.tsn-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tsn-video-content {
    flex: 1;
    min-width: 0;
}
/* ------------------------------------------------------------
   AUTOMATE 2026 PROMO BLOCK
------------------------------------------------------------ */
.automate-promo {
    background: var(--navy);
    padding: 40px 24px 32px;
    text-align: center;
    box-shadow: var(--shadow-card);
}
.automate-promo-title {
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: .5px;
    margin-bottom: 24px;
}
.automate-promo-cta {
    background: #f03436;
    padding: 18px 24px;
    color: #fff;
    display: inline-block;
    width: 100%;
    max-width: 300px;
}
.automate-promo-free {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.1;
    display: block;
}
.automate-promo-reg {
    font-size: 20px;
    font-weight: 900;
    line-height: 1.2;
    display: block;
}
/* ------------------------------------------------------------
   SIDEBAR — RECIRCULATION
------------------------------------------------------------ */
.sidebar-recirculation {
   /* background: #FFF;
	 box-shadow: 0 0 6px rgba(0, 0, 0, .1);*/
}

.btn-learn-more {
    background: var(--blue);
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .3px;
    text-transform: uppercase;
    padding: 14px 40px;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    max-width: 240px;
    transition: background .2s;
}
.btn-learn-more:hover {
    background: #084e8a;
}
.btn-learn-more-red {
    background: var(--robo);
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: .3px;
    text-transform: uppercase;
    padding: 14px 40px;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    max-width: 240px;
    transition: background .2s;
}
.btn-learn-more-red:hover {
    background: #8b1a1d;
}
/* ------------------------------------------------------------
   SIDEBAR — SUBSCRIBE WIDGET
------------------------------------------------------------ */
.sidebar-subscribe-widget {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 24px;
}
.ssw-heading {
    font-size: 16px;
    font-weight: 700;
    color: var(--dark);
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.ssw-form [data-hsfc-id=Renderer] .hsfc-TextInput{
	height: 40px;
}
.ssw-form [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content {
	padding: 0;
}
.ssw-form [data-hsfc-id=Renderer] .hsfc-FieldLabel, .ssw-form [data-hsfc-id=Renderer] .hsfc-NavigationRow .hsfc-ErrorAlert {
	display: none;
}
.ssw-form [data-hsfc-id=Renderer] .hsfc-NavigationRow {
	margin-top: 10px;
}
/* Sidebar subscribe link-button (replaces inline form) */
.btn-subscribe-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--blue);
    color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
    padding: 14px 22px;
    text-decoration: none;
    transition: background .2s;
    width: 100%;
}
.btn-subscribe-link:hover {
    background: var(--dark);
    color: #fff;
}

/* ------------------------------------------------------------
   SIDEBAR — AD
------------------------------------------------------------ */
.sidebar-ad {
    background: #fff;
    box-shadow: var(--shadow-card);
    text-align: center;
    padding: 16px;
}
.sidebar-ad-label {
    text-align: center;
    font-size: 12px;
    color: var(--dark);
    padding: .6rem 0;
    border-bottom: 1px solid #eaeaea;
}
.sidebar-ad div {
	margin: 10px auto;
}
.sidebar-ad img {
	width: 100%;
	max-width: 100%;
	margin: 10px auto;
}

/* ------------------------------------------------------------
   RELATED ARTICLES / RELATED VIDEOS SECTION
------------------------------------------------------------ */
.related-articles-section, .related-section {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 32px 32px 0;
    margin-top: var(--section-gap);
}
.related-articles-heading, .related-section-heading {
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: var(--eyebrow-gap);
}
.related-article-card {
    display: flex;
    align-items: stretch;
    background: #fff;
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.related-article-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.rac-image {
    flex: 0 0 136px;
    max-width: 136px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}
.rac-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rac-content {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}
.rac-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.rac-meta {
    color: var(--muted);
    font-size: 14px;
}
.rac-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.4;
    text-decoration: none;
    display: block;
}
.rac-title:hover {
    color: var(--blue);
}
.related-view-all {
    text-align: center;
    padding: 20px 0;
    border-top: 1px solid #e5e7ea;
    margin-top: 24px;
}
.related-view-all a {
    color: var(--blue);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.related-view-all a:hover {
    color: var(--dark);
    text-decoration: underline;
}
/* ---- Related video cards ---- */
.rvid-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.rvid-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.rvid-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.rvid-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rvid-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(145deg, #1a7fd4, #0b67b2);
    border: 3px solid rgba(255, 255, 255, .9);
    box-shadow: 0 0 0 6px rgba(0, 0, 0, .3);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
.rvid-play i {
    color: #fff;
    font-size: 15px;
    margin-left: 3px;
}
.rvid-body {
    padding: 16px 20px 20px;
}
.rvid-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    text-decoration: none;
    display: block;
    margin-top: 8px;
}
.rvid-title:hover {
    color: var(--blue);
}
.rvid-meta {
    color: var(--muted);
    font-size: 14px;
    margin-top: 8px;
}
/* ------------------------------------------------------------
   HORIZONTAL ARTICLE CARDS (landing pages)
------------------------------------------------------------ */
.news-article-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    display: flex;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease;
}
.news-article-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.nac-image {
    flex: 0 0 280px;
    max-width: 280px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}
.nac-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.nac-content {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}
.nac-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    margin: 8px 0 12px;
    text-decoration: none;
    display: block;
}
.nac-title:hover {
    color: var(--blue);
}
.nac-excerpt {
    color: var(--dark);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
}
.nac-meta {
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 12px;
}
.nac-link {
    color: var(--blue);
    font-weight: 600;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.nac-link:hover {
    color: #084e8a;
}
/* ------------------------------------------------------------
   FILTER DROPDOWNS (shared across all landing pages)
------------------------------------------------------------ */
.filter-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
}
.filter-select {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
    cursor: pointer;
    white-space: nowrap;
}
.filter-select i {
    font-size: .7rem;
    color: var(--blue);
}
.filter-select:hover {
    color: var(--blue);
}
.filter-dropdown .dropdown-toggle {
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none;
}
.filter-dropdown .dropdown-toggle:hover, .filter-dropdown.show .dropdown-toggle {
    color: var(--blue);
}
.filter-dropdown .dropdown-toggle::after {
    display: none;
}
.filter-dropdown .dropdown-toggle i {
    font-size: .7rem;
    color: var(--blue);
    transition: transform .2s;
}
.filter-dropdown.show .dropdown-toggle i {
    transform: rotate(180deg);
}
.filter-dropdown .dropdown-menu {
    border: 1px solid #e0e4ea;
    border-radius: 0;
    box-shadow: var(--shadow-card);
    padding: 8px 0;
    min-width: 200px;
    margin-top: 4px;
}
.filter-dropdown .dropdown-item {
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    color: var(--dark);
    padding: 8px 18px;
}
.filter-dropdown .dropdown-item:hover {
    background: #f0f4f8;
    color: var(--blue);
}
.filter-dropdown .dropdown-item.active {
    background: var(--blue);
    color: #fff;
}
.filter-divider {
    width: 1px;
    height: 18px;
    background: #ddd;
    flex-shrink: 0;
}
/* ---- FILTER BARS (shared structure, per-page class names) ---- */
.mi-filter-bar, .news-filter-bar, .mu-filter-bar, .vid-filter-bar {
    background: #fff;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
	margin-bottom: 20px
}
.mi-filter-heading, .vid-filter-heading {
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    white-space: nowrap;
    letter-spacing: .3px;
    text-transform: uppercase;
}
.vid-filter-heading {
    font-size: 14px;
}
/* ------------------------------------------------------------
   FEATURED HERO — SHARED (MI, News, MU, Video pages)
   All four featured-hero blocks share identical layout;
   only the class prefix differs.
------------------------------------------------------------ */
.mi-featured-hero, .news-featured-hero, .mu-featured-hero, .vid-featured-hero {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.vid-featured-hero {
    cursor: pointer;
}
.mi-featured-img, .news-featured-img, .mu-featured-img, .vid-featured-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mi-featured-overlay, .news-featured-overlay, .mu-featured-overlay, .vid-featured-overlay {
    position: absolute;
    inset: 0;
    opacity: 0.89;
    background: linear-gradient(
        220deg,
        rgba(10,45,73,0.40) 20%,
        #0A2D49 50%,
        #0B67B2 100%
    );
}
.mi-featured-content, .news-featured-content, .mu-featured-content, .vid-featured-content {
    position: relative;
    z-index: 2;
    padding: 140px 32px 28px;
}
.vid-featured-content {
    z-index: 3;
}
.mi-featured-eyebrow, .news-featured-eyebrow {
    color: #e9eaeb;
    font-size: 14px;
    margin-bottom: var(--eyebrow-gap);
}
.mu-featured-eyebrow, .vid-featured-eyebrow {
    color: #c9c9c9;
    font-size: 14px;
    margin-bottom: var(--eyebrow-gap);
}
.mi-featured-title, .news-featured-title, .mu-featured-title, .vid-featured-title {
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 16px;
    text-shadow: 0 2px 4px rgba(5, 29, 49, .5);
}
.mi-featured-title a, .news-featured-title a, .mu-featured-title a, .vid-featured-title a {
    color: #fff;
    text-decoration: none;
}
.mi-featured-title a:hover, .news-featured-title a:hover, .mu-featured-title a:hover, .vid-featured-title a:hover {
    text-decoration: underline;
}
.mi-featured-desc, .news-featured-desc, .mu-featured-desc, .vid-featured-desc {
    color: rgba(255, 255, 255, .9);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 16px;
}
.mi-featured-meta, .news-featured-meta {
    color: #c9c9c9;
    font-size: 14px;
    margin-bottom: 20px;
}
.mi-featured-link, .news-featured-link, .mu-featured-link {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.mi-featured-link:hover, .news-featured-link:hover, .mu-featured-link:hover {
    color: #aed6f8;
}
/* Video featured play button */
.vid-featured-play {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
/* ------------------------------------------------------------
   MI+ BADGE & PAYWALL BANNER
------------------------------------------------------------ */
.mi-plus-hero-badge {
    display: inline-block;
    background: var(--blue);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding: 4px 10px;
    margin-bottom: 16px;
}
.mi-plus-banner {
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 24px;
}
.mi-plus-banner-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mi-plus-badge {
    background: var(--blue);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    padding: 4px 10px;
    white-space: nowrap;
    flex-shrink: 0;
}
.mi-plus-banner-text {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
}
.mi-plus-banner-sub {
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    margin-top: 4px;
}
.btn-mi-plus {
    background: #c0392b;
    color: #fff;
    border: none;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .4px;
    padding: 12px 24px;
    white-space: nowrap;
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
    transition: background .2s;
}
.btn-mi-plus:hover {
    background: #a93226;
}
.nac-image {
	position: relative;
}
.nac-mi-badge {
	position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 52px;
    border-left: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
	background-image: url(/images/market-intelligence/miplus.svg);
	background-size: cover;
}
/* ------------------------------------------------------------
   TOP VIDEO HIGHLIGHTS SIDEBAR
------------------------------------------------------------ */
.top-video-highlights {
    background: #fff;
    box-shadow: var(--shadow-card);
    padding: 24px;
    height: 100%;
}
.tvh-heading {
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7ea;
}
.tvh-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px 0;
    border-bottom: 1px solid #e5e7ea;
}
.tvh-item:last-child {
    border-bottom: none;
}
.tvh-thumb {
    flex: 0 0 120px;
    max-width: 120px;
    aspect-ratio: 16 / 10;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.tvh-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tvh-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(5, 29, 49, .25);
    transition: background .2s;
}
.tvh-thumb:hover .tvh-play-overlay {
    background: rgba(5, 29, 49, .45);
}
.tvh-content {
    flex: 1;
    min-width: 0;
}
.tvh-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    margin: 4px 0 6px;
    display: block;
    text-decoration: none;
}
.tvh-title:hover {
    color: var(--blue);
}
.tvh-meta {
    color: var(--muted);
    font-size: 14px;
}
/* ------------------------------------------------------------
   VIDEO GRID CARDS (landing page)
------------------------------------------------------------ */
.vid-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    height: 100%;
    transition: box-shadow .2s ease, transform .2s ease;
}
.vid-card:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}
.vid-card-thumb {
    position: relative;
    overflow: hidden;
    display: block;
    cursor: pointer;
    aspect-ratio: 16 / 9;
	background-color: #EEE;
}
.vid-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity .2s;
}
.vid-card-thumb:hover img {
    opacity: .92;
}
.vid-card-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.vid-card-body {
    padding: 16px 20px 20px;
}
.vid-card-title {
    font-size: 24px;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.3;
    margin: 8px 0 8px;
    text-decoration: none;
    display: block;
}
.vid-card-title:hover {
    color: var(--blue);
}
.vid-card-meta {
    color: var(--muted);
    font-size: 14px;
}
.video-transcript {display: table; background-color: #e6ecf2; font-size: 15px; box-shadow: var(--shadow-card); padding: 32px 40px 40px; border: 5px solid #FFF}
.video-transcript {margin-top: 10px; display: block;}
.video-transcript p {margin: 16px 0 !important; font-size: 15px;}
.video-transcript-intro { font-size: 14px; font-weight: 600; text-transform: uppercase; color: #92a4b6;}
.video-transcript-intro {border-bottom: 2px solid #c6d2dd; padding-bottom: 8px; margin-bottom: 12px; }
/* ------------------------------------------------------------
   MEMBER COMPANY PROFILE CARD
------------------------------------------------------------ */
.member-profile-card {
    background: #fff;
    box-shadow: var(--shadow-card);
    overflow: hidden;
}
.member-banner {
    width: 100%;
    overflow: hidden;
    max-height: 220px;
}
.member-banner img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}
.member-profile-body {
    padding: 20px;
}
.member-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 4px;
}
.member-since {
    font-size: 12px;
    color: var(--muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .3px;
    margin-bottom: 16px;
}
.member-desc {
    font-size: 14px;
    color: var(--dark);
    line-height: 1.6;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7ea;
}
.member-action-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    color: var(--dark);
    text-decoration: none;
    font-weight: 500;
    transition: color .2s;
}
.member-action-link:last-child {
    border-bottom: none;
}
.member-action-link:hover {
    color: var(--blue);
}
.member-action-link i {
    color: var(--blue);
    width: 16px;
    font-size: 14px;
    flex-shrink: 0;
    text-align: center;
}
/* ------------------------------------------------------------
   INFINITE SCROLL INDICATOR
------------------------------------------------------------ */
.infinite-scroll-indicator {
    display: flex;
    justify-content: center;
    padding: 2rem 0 1rem;
}
.infinite-scroll-indicator i {
    font-size: 1.75rem;
    color: #ccd3dc;
    transition: color .2s;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.infinite-scroll-indicator i.fa-circle-arrow-down {
    cursor: pointer;
    color: var(--blue);
}
.infinite-scroll-indicator i.fa-circle-arrow-down::after {
    content: "Load More";
    font-size: 14px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: var(--blue);
    letter-spacing: .3px;
    text-transform: uppercase;
    transition: color .2s;
}
.infinite-scroll-indicator i.fa-circle-arrow-down:hover {
    color: #084e8a;
}
.infinite-scroll-indicator i.fa-circle-arrow-down:hover::after {
    color: #084e8a;
}
.infinite-scroll-indicator i.fa-circle-notch {
    animation: spin 1.2s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
/* ============================================================
   MI GATED CONTENT — preview shield + login CTA
   ============================================================ */
#contentBlock {
  position: relative;
}
#previewShield {
  overflow: hidden;
}
#previewShield::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 175px;
  background: linear-gradient(to bottom, transparent, white);
  pointer-events: none;
}
.login-cta {
  max-width: 970px;
  margin: 30px auto;
  background-image: url(../images/login-cta-bkgd.jpg);
  background-size: cover;
  background-position: center;
  padding: 25px 280px 25px 0;
  z-index: 400;
}
.login-cta p.login-cta-title, .login-cta p.login-cta-subtitle, .login-cta p {
  color: #FFF;
  margin: 0 0 15px 25px !important;
  font-size: 18px;
  line-height: 1.2;
}
.login-cta p.login-cta-title {
  font-size: 38px;
  line-height: 1;
  font-weight: 700;
}
.login-cta p.login-cta-subtitle {
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
}
.login-cta a {
  color: #FFF;
  text-decoration: underline;
}
.login-cta a:hover {
  text-decoration: none;
}
.login-cta-keys {
  background-color: #42223a;
  padding: 10px 10px 10px 25px;
  margin: 10px 0 20px;
  display: inline-block;
}
.login-cta-keys ul {
  margin: 0;
  padding: 0;
}
.login-cta-keys ul li {
  display: inline-block;
  list-style: none;
  margin: 0 10px 0 0;
  padding: 0;
  text-transform: uppercase;
  font-weight: 700;
}
.login-cta-keys ul li i {
  font-size: 18px;
  display: inline-block;
  margin: 0;
  margin-right: 5px;
}
.fa-key.platinum, .platinum {
  color: #acbec4;
}
.fa-key.gold, .gold {
  color: #d4ae37;
}
.fa-key.silver, .silver {
  color: #8b8b8b;
}
.fa-key.bronze, .bronze {
  color: #bd7c44;
}
@media (max-width: 800px) {
  .login-cta {
    padding: 25px 25px 25px 0;
    background-size: auto;
    background-position: center;
  }
}
/* ============================================================
   MISC
   ============================================================ */
/*.aboutAuthor div {align-self:center}
.aboutAuthor .btn {color: #FFF !important;}*/
/* ============================================================
   RESPONSIVE
   ============================================================ */
/* ---- Tablet & below (≤991px) ---- */
@media (max-width: 991.98px) {
    :root {
        --section-gap: 48px;
    }
    .hero-wrapper {
        flex-direction: column;
        gap: 0;
    }
    .hero-section {
        min-height: 380px;
        flex: none;
    }
    .hero-top-stories-wrap {
        flex: none;
        margin-top: -40px;
        position: relative;
        z-index: 5;
        padding-left: 20px;
        padding-right: 20px;
    }
    .section-title {
        font-size: 36px;
    }
    .podcast-heading {
        font-size: 36px;
    }
    .large-card-title {
        font-size: 32px;
    }
}
/* ---- Small tablet & below (≤767px) ---- */
@media (max-width: 767.98px) {
    :root {
        --section-gap: 40px;
    }
    .container-xl {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .hero-section {
        min-height: 300px;
    }
    .newsletter-strip {
        padding: 20px;
		text-align: center;
    }
    .nl-input, .btn-nl {
        font-size: 14px;
        padding: 12px 18px;
    }
    .article-breadcrumb {
        font-size: 12px;
    }
    .nac-image {
        flex: 0 0 180px;
        max-width: 180px;
    }
    .nac-title {
        font-size: 18px;
    }
    .nac-excerpt {
        display: none;
    }
    /* Featured heroes — all pages */
    .mi-featured-hero, .news-featured-hero, .mu-featured-hero, .vid-featured-hero {
        min-height: 300px;
    }
    .mi-plus-banner {
        padding: 12px 16px;
    }
    .mi-plus-banner-sub {
        display: none;
    }
    /* Article interior cards */
    .article-card.article-interior, .article-card-body {
        padding: 20px;
    }
    .tsn-thumb {
        flex: 0 0 100px;
        max-width: 100px;
    }
    .section-title {
        font-size: 32px;
    }
    .podcast-heading {
        font-size: 32px;
    }
    .large-card-title {
        font-size: 28px;
    }
    .article-card .card-headline,
    .vid-card-title,
    .video-card .card-headline,
    .rvid-title,
    .mi-title,
    .mu-headline {
        font-size: 20px;
    }
}
/* ---- Mobile (≤540px) ---- */
@media (max-width: 540px) {
    .hero-section {
        margin-left: -2rem;
        margin-right: -2rem;
        min-height: 380px;
    }
    .hero-badge {
        position: relative;
        top: auto;
        left: auto;
        align-self: flex-start;
        margin-top: 1rem;
        margin-bottom: 14px;
    }
    .hero-inner {
        padding-bottom: 3.5rem;
    }
    /* Mobile background image effect */
    .mi-card-wrapper, .mu-card-wrapper {
        position: relative;
        padding-top: 20px;
    }
    .mi-card-wrapper .card-mobile-bg, .mu-card-wrapper .card-mobile-bg {
        position: absolute;
        top: 0;
        left: -2rem;
        width: 75%;
        height: 75%;
        object-fit: cover;
        z-index: 0;
    }
    .mi-card, .section-card {
        position: relative;
        z-index: 1;
    }
    .mi-img-col, .mu-inline-img {
        display: none;
    }
    /* Related article cards */
    .rac-image {
        flex: 0 0 100px;
        max-width: 100px;
    }
    .rac-title {
        font-size: 14px;
    }
    /* Horizontal article cards — stack */
    .news-article-card {
        flex-direction: column;
    }
    .nac-image {
        flex: 0 0 auto;
        max-width: 100%;
        aspect-ratio: 16 / 9;
    }
    .nac-excerpt {
        display: block;
    }
    /* Video grid — single column */
    .vid-grid-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media (min-width: 541px) {
    .card-mobile-bg {
        display: none;
    }
}