/* VTM Web Experience System 2026 — Phase 1
   Scoped additions for the editorial homepage, article experience and progressive header. */

:root {
    --vtmx-shell: min(1440px, calc(100vw - 64px));
    --vtmx-ink: #0A1638;
    --vtmx-paper: #f8faff;
    --vtmx-line: rgba(10, 22, 56, .14);
    --vtmx-soft-line: rgba(10, 22, 56, .08);
    --vtmx-blue: #1F4FA3;
    --vtmx-blue-bright: #1F4EFF;
    --vtmx-gold: #D9A53C;
    --vtmx-radius-sm: 8px;
    --vtmx-radius-md: 16px;
    --vtmx-radius-lg: 24px;
    --vtmx-space-1: 8px;
    --vtmx-space-2: 16px;
    --vtmx-space-3: 24px;
    --vtmx-space-4: 32px;
    --vtmx-space-5: 48px;
    --vtmx-space-6: 64px;
    --vtmx-space-7: 96px;
    --vtmx-motion-fast: 160ms;
    --vtmx-motion-mid: 320ms;
    --vtmx-motion-slow: 600ms;
    --vtmx-ease: cubic-bezier(.2,.75,.2,1);
}

@media (max-width: 767px) {
    :root { --vtmx-shell: calc(100vw - 32px); }
}

/* Progressive global header */
#gh-head {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    border-bottom: 1px solid transparent;
    transition: border-color var(--vtmx-motion-mid) ease, box-shadow var(--vtmx-motion-mid) ease, background var(--vtmx-motion-mid) ease;
}
body.vtmx-has-scrolled #gh-head {
    border-bottom-color: var(--vtmx-soft-line);
    box-shadow: 0 10px 34px rgba(10,22,56,.05);
}
.vtmx-reading-header {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 0 max(32px, calc((100vw - 1440px)/2));
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition: opacity var(--vtmx-motion-mid) var(--vtmx-ease), transform var(--vtmx-motion-mid) var(--vtmx-ease), visibility var(--vtmx-motion-mid);
}
.vtmx-reading-brand { font-family: var(--vtm-font-display); font-size: 1.8rem; color: var(--vtmx-ink); white-space: nowrap; }
.vtmx-reading-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--vtm-font-display); font-size: 1.5rem; color: var(--vtmx-ink); }
.vtmx-reading-progress { display: flex; align-items: center; gap: 12px; font-family: var(--vtm-font-mono); font-size: 1.05rem; letter-spacing: .08em; color: var(--vtm-g700); }
.vtmx-reading-track { width: 112px; height: 2px; background: rgba(10,22,56,.12); overflow: hidden; }
.vtmx-reading-track i { display:block; width:100%; height:100%; background: var(--vtmx-blue-bright); transform: scaleX(0); transform-origin:left center; }
.post-template #gh-head.vtmx-reading-mode .gh-head-inner { opacity: 0; transform: translateY(-5px); pointer-events: none; }
.post-template #gh-head .gh-head-inner { transition: opacity var(--vtmx-motion-mid) var(--vtmx-ease), transform var(--vtmx-motion-mid) var(--vtmx-ease); }
.post-template #gh-head.vtmx-reading-mode .vtmx-reading-header { opacity:1; visibility:visible; transform:none; pointer-events:auto; }

/* Homepage shell */
.vtmx-home { background: #fff; color: var(--vtmx-ink); }
.vtmx-shell { width: var(--vtmx-shell); margin-inline: auto; padding: 38px 0 112px; }
.vtmx-home-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding-bottom:18px; border-bottom:1px solid var(--vtmx-line); }
.vtmx-home-intro > p { margin:0; font-family:var(--font-serif); font-style:italic; font-size:1.55rem; color:var(--vtm-g700); }
.vtmx-index-label { display:inline-flex; align-items:center; gap:12px; font-family:var(--vtm-font-mono); font-size:1.05rem; line-height:1; text-transform:uppercase; letter-spacing:.15em; color:var(--vtm-g700); }
.vtmx-index-label > span:first-child { color:var(--vtmx-blue); }
.vtmx-index-label::after { content:""; display:block; width:58px; height:1px; margin-left:4px; background:linear-gradient(90deg,var(--vtmx-blue) 0 70%,transparent 70% 80%,var(--vtmx-blue) 80%); opacity:.7; }
.vtmx-index-label--light { color:rgba(255,255,255,.58); }
.vtmx-index-label--light > span:first-child { color:#9bb7ff; }
.vtmx-index-label--light::after { background:linear-gradient(90deg,#9bb7ff 0 70%,transparent 70% 80%,#9bb7ff 80%); }

/* Digital cover */
.vtmx-cover { padding:36px 0 72px; border-bottom:1px solid var(--vtmx-line); }
.vtmx-cover-link { position:relative; display:grid; grid-template-columns:minmax(0,1.14fr) minmax(380px,.86fr); min-height:590px; overflow:hidden; border-radius:var(--vtmx-radius-lg); background:var(--vtmx-ink); color:#fff; isolation:isolate; }
.vtmx-cover-link:hover { opacity:1 !important; }
.vtmx-cover-media { margin:0; min-width:0; overflow:hidden; }
.vtmx-cover-media img { width:100%; height:100%; min-height:590px; object-fit:cover; transform:scale(1.015); transition:transform 1.2s var(--vtmx-ease), filter .8s ease; }
.vtmx-cover-link:hover .vtmx-cover-media img { transform:scale(1.045); }
.vtmx-cover-content { position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:52px; background:radial-gradient(circle at 90% 0%,rgba(31,78,255,.22),transparent 38%),linear-gradient(145deg,#0A1638,#0d1c3c 72%); }
.vtmx-cover-content::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 78%); }
.vtmx-cover-kicker,.vtmx-cover-meta { position:relative; z-index:1; display:flex; gap:16px; align-items:center; font-family:var(--vtm-font-mono); font-size:1.05rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.66); }
.vtmx-cover-kicker span:first-child { color:#fff; }
.vtmx-cover-title { position:relative; z-index:1; max-width:720px; margin:56px 0 22px; font-family:var(--vtm-font-display); font-size:clamp(4.2rem,5vw,7.6rem); line-height:.94; letter-spacing:-.055em; color:#fff; text-wrap:balance; }
.vtmx-cover-excerpt { position:relative; z-index:1; max-width:600px; margin:0; font-size:1.75rem; line-height:1.5; color:rgba(255,255,255,.75); }
.vtmx-cover-meta { margin-top:34px; padding-top:20px; border-top:1px solid rgba(255,255,255,.15); }
.vtmx-cover-cta { margin-left:auto; color:#fff; }
.vtmx-cover-cta b { display:inline-block; margin-left:6px; transition:transform var(--vtmx-motion-mid) var(--vtmx-ease); }
.vtmx-cover-link:hover .vtmx-cover-cta b { transform:translate(4px,-4px); }

/* Section headers */
.vtmx-section { padding:88px 0 0; }
.vtmx-section-head { display:grid; grid-template-columns:220px 1fr; align-items:end; gap:32px; padding-bottom:24px; margin-bottom:34px; border-bottom:1px solid var(--vtmx-line); }
.vtmx-section-head h2 { margin:0; max-width:850px; font-family:var(--vtm-font-display); font-size:clamp(3.4rem,4vw,5.8rem); line-height:1; letter-spacing:-.045em; color:var(--vtmx-ink); text-wrap:balance; }

/* Editorial card system */
.vtmx-editorial-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:auto auto; gap:20px; }
.vtmx-card { min-width:0; }
.vtmx-card--lead { grid-row:1 / span 2; }
.vtmx-card-link { height:100%; display:flex; flex-direction:column; color:var(--vtmx-ink); border:1px solid var(--vtmx-line); border-radius:var(--vtmx-radius-md); overflow:hidden; background:#fff; transition:transform var(--vtmx-motion-mid) var(--vtmx-ease), box-shadow var(--vtmx-motion-mid) ease, border-color var(--vtmx-motion-mid) ease; }
.vtmx-card-link:hover { opacity:1 !important; transform:translateY(-3px); box-shadow:0 18px 50px rgba(10,22,56,.09); border-color:rgba(31,79,163,.3); }
.vtmx-card-media { margin:0; aspect-ratio:16/10; overflow:hidden; background:var(--vtmx-paper); }
.vtmx-card--lead .vtmx-card-media { aspect-ratio:4/3; }
.vtmx-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--vtmx-ease); }
.vtmx-card-link:hover .vtmx-card-media img { transform:scale(1.025); }
.vtmx-card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.vtmx-card--lead .vtmx-card-body { padding:32px; }
.vtmx-card-kicker,.vtmx-card-footer { display:flex; justify-content:space-between; gap:12px; font-family:var(--vtm-font-mono); font-size:1rem; line-height:1.3; text-transform:uppercase; letter-spacing:.12em; color:var(--vtm-g700); }
.vtmx-card-kicker span:first-child { color:var(--vtmx-blue); }
.vtmx-card-title { margin:18px 0 0; font-family:var(--vtm-font-display); font-size:2.25rem; line-height:1.08; letter-spacing:-.03em; color:var(--vtmx-ink); text-wrap:balance; }
.vtmx-card--lead .vtmx-card-title { font-size:clamp(3.2rem,3.6vw,5.2rem); line-height:1; }
.vtmx-card-excerpt { margin:18px 0 0; font-size:1.55rem; line-height:1.55; color:var(--vtm-g700); }
.vtmx-card-footer { margin-top:auto; padding-top:28px; color:var(--vtm-g700); }
.vtmx-card-footer span:last-child { font-size:1.6rem; color:var(--vtmx-blue); transition:transform var(--vtmx-motion-mid) var(--vtmx-ease); }
.vtmx-card-link:hover .vtmx-card-footer span:last-child { transform:translate(3px,-3px); }

/* Pulse */
.vtmx-pulse { margin-top:88px; padding:44px; border-radius:var(--vtmx-radius-lg); color:#fff; background:radial-gradient(circle at 80% 10%,rgba(31,78,255,.34),transparent 33%),#0A1638; overflow:hidden; }
.vtmx-pulse-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.14); }
.vtmx-pulse-head h2 { max-width:720px; margin:16px 0 0; font-family:var(--vtm-font-display); font-size:clamp(3.2rem,3.8vw,5rem); line-height:1; letter-spacing:-.045em; color:#fff; }
.vtmx-live-dot { display:inline-flex; align-items:center; gap:8px; font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.6); white-space:nowrap; }
.vtmx-live-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#8fb0f0; box-shadow:0 0 0 6px rgba(143,176,240,.09); }
.vtmx-pulse-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.vtmx-pulse-item { display:grid; grid-template-columns:auto 1fr auto; gap:18px; min-width:0; padding:30px 24px; color:#fff; border-right:1px solid rgba(255,255,255,.12); transition:background var(--vtmx-motion-mid) ease; }
.vtmx-pulse-item:first-child { padding-left:0; }
.vtmx-pulse-item:last-child { border-right:0; padding-right:0; }
.vtmx-pulse-item:hover { opacity:1 !important; background:rgba(255,255,255,.035); }
.vtmx-pulse-no { font-family:var(--vtm-font-mono); font-size:1rem; color:#9bb7ff; }
.vtmx-pulse-copy { min-width:0; }
.vtmx-pulse-copy small { display:block; margin-bottom:9px; font-family:var(--vtm-font-mono); font-size:.95rem; text-transform:uppercase; letter-spacing:.11em; color:rgba(255,255,255,.5); }
.vtmx-pulse-copy strong { display:block; font-family:var(--vtm-font-display); font-weight:400; font-size:1.85rem; line-height:1.15; color:#fff; }
.vtmx-pulse-arrow { font-size:1.4rem; color:#9bb7ff; }

/* Topic blocks */
.vtmx-topic-stack { display:flex; flex-direction:column; gap:68px; }
.vtmx-topic-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:22px; }
.vtmx-topic-count { font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.12em; color:var(--vtmx-blue); }
.vtmx-topic-head h3 { margin:8px 0 0; font-family:var(--vtm-font-display); font-size:3rem; line-height:1; letter-spacing:-.03em; }
.vtmx-topic-head > a { font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.1em; color:var(--vtmx-blue); }
.vtmx-topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.vtmx-card--topic .vtmx-card-title { font-size:2rem; }

/* Latest stream */
.vtmx-stream { border-top:1px solid var(--vtmx-line); }
.vtmx-stream-item a { display:grid; grid-template-columns:220px 1fr 40px; align-items:center; gap:32px; padding:28px 0; border-bottom:1px solid var(--vtmx-line); color:var(--vtmx-ink); transition:padding var(--vtmx-motion-mid) var(--vtmx-ease), background var(--vtmx-motion-mid) ease; }
.vtmx-stream-item a:hover { opacity:1 !important; padding-left:12px; padding-right:12px; background:rgba(31,79,163,.025); }
.vtmx-stream-meta { display:flex; flex-direction:column; gap:6px; font-family:var(--vtm-font-mono); font-size:.95rem; line-height:1.25; text-transform:uppercase; letter-spacing:.1em; color:var(--vtm-g700); }
.vtmx-stream-meta span { color:var(--vtmx-blue); }
.vtmx-stream-item h3 { margin:0; font-family:var(--vtm-font-display); font-size:2.45rem; line-height:1.08; letter-spacing:-.028em; font-weight:400; }
.vtmx-stream-arrow { justify-self:end; color:var(--vtmx-blue); font-size:1.6rem; }

/* Business module */
.vtmx-business-card { margin-top:88px; padding:48px; border-radius:var(--vtmx-radius-lg); background:#0A1638; color:#fff; }
.vtmx-business-layout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:64px; margin-top:46px; }
.vtmx-business-layout h2 { margin:0; max-width:780px; font-family:var(--vtm-font-display); font-size:clamp(3.5rem,4vw,5.8rem); line-height:.98; letter-spacing:-.045em; color:#fff; }
.vtmx-business-layout p { max-width:720px; margin:20px 0 0; font-size:1.6rem; line-height:1.55; color:rgba(255,255,255,.68); }
.vtmx-business-layout > a { display:inline-flex; align-items:center; gap:18px; padding:16px 20px; border:1px solid rgba(255,255,255,.26); border-radius:var(--vtmx-radius-sm); color:#fff; font-size:1.35rem; white-space:nowrap; transition:background var(--vtmx-motion-mid) ease; }
.vtmx-business-layout > a:hover { opacity:1 !important; background:#fff; color:var(--vtmx-ink); }

/* Article experience */
.post-template .gh-main { overflow:clip; }
.post-template .gh-article-header { width:min(1180px,calc(100vw - 64px)); max-width:none; margin:0 auto; padding:68px 0 0; text-align:left; }
.post-template .gh-article-header .vtm-breadcrumb { max-width:760px; margin:0 auto 28px; font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.08em; color:var(--vtm-g700); }
.post-template .gh-article-tag { display:inline-flex; margin:0 0 20px calc((100% - 760px)/2); padding:0; border-radius:0; background:none !important; color:var(--vtmx-blue) !important; font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.13em; }
.post-template .gh-article-title { max-width:980px; margin:0 auto; font-family:var(--vtm-font-display); font-size:clamp(4.6rem,6vw,8.2rem); line-height:.96; letter-spacing:-.055em; text-wrap:balance; color:var(--vtmx-ink); }
.post-template .gh-article-excerpt { max-width:760px; margin:28px auto 0; font-family:var(--font-sans); font-size:2rem; line-height:1.48; color:var(--vtm-g700); }
.post-template .gh-article-sidebar { max-width:760px; margin:28px auto 0; padding:20px 0; border-top:1px solid var(--vtmx-line); border-bottom:1px solid var(--vtmx-line); }
.post-template .gh-article-image { width:100%; max-width:none; margin:52px auto 64px; border-radius:var(--vtmx-radius-lg); overflow:hidden; }
.post-template .gh-article-image img { width:100%; max-height:720px; object-fit:cover; }
.post-template .gh-article-image figcaption { padding:10px 4px 0; font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.06em; color:var(--vtm-g700); }
.post-template .gh-content { font-size:1.8rem; line-height:1.72; }
.post-template .gh-content > p:first-child { font-size:2rem; line-height:1.65; color:#1d2b4e; }
.post-template .gh-content h2 { margin-top:2.2em; font-family:var(--vtm-font-display); font-size:3.5rem; line-height:1.05; letter-spacing:-.035em; }
.post-template .gh-content h3 { font-family:var(--vtm-font-display); font-size:2.6rem; line-height:1.1; letter-spacing:-.025em; }
.post-template .gh-content blockquote { margin-block:2.3em; padding:8px 0 8px 28px; border-left:3px solid var(--vtmx-blue); font-family:var(--font-serif); font-size:2.5rem; line-height:1.4; color:var(--vtmx-ink); }
.post-template .kg-width-wide { width:min(1060px,calc(100vw - 64px)); margin-left:50%; transform:translateX(-50%); }
.post-template .kg-width-full { width:100vw; margin-left:50%; transform:translateX(-50%); }
.post-template .kg-card img { border-radius:var(--vtmx-radius-md); }
.vtm-progress-bar { position:fixed !important; top:0; left:0; z-index:1200; height:2px !important; width:100%; background:var(--vtmx-blue-bright) !important; transform:scaleX(0); transform-origin:left center; }

/* Motion: reveal only adds hierarchy, never gates content */
[data-vtm-reveal] { opacity:1; transform:none; }
.vtmx-motion-ready [data-vtm-reveal] { opacity:0; transform:translateY(16px); transition:opacity var(--vtmx-motion-slow) var(--vtmx-ease), transform var(--vtmx-motion-slow) var(--vtmx-ease); }
.vtmx-motion-ready [data-vtm-reveal].is-visible { opacity:1; transform:none; }

@media (max-width: 1100px) {
    .vtmx-cover-link { grid-template-columns:1fr; }
    .vtmx-cover-media img { min-height:440px; max-height:520px; }
    .vtmx-cover-content { padding:38px; }
    .vtmx-cover-title { margin-top:34px; }
    .vtmx-editorial-grid { grid-template-columns:1fr 1fr; }
    .vtmx-card--lead { grid-column:1 / -1; grid-row:auto; }
    .vtmx-card--lead .vtmx-card-link { display:grid; grid-template-columns:1fr 1fr; }
    .vtmx-pulse-grid { grid-template-columns:1fr 1fr; }
    .vtmx-pulse-item:nth-child(2) { border-right:0; }
    .vtmx-pulse-item { border-bottom:1px solid rgba(255,255,255,.12); }
    .vtmx-topic-grid { grid-template-columns:1fr 1fr 1fr; }
}

@media (max-width: 767px) {
    #gh-head { backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff; }
    .vtmx-reading-header { padding:0 16px; grid-template-columns:auto minmax(0,1fr); gap:12px; }
    .vtmx-reading-progress { display:none; }
    .vtmx-reading-brand { font-size:1.5rem; }
    .vtmx-reading-title { font-size:1.3rem; }
    .vtmx-shell { padding-top:24px; padding-bottom:72px; }
    .vtmx-home-intro { align-items:flex-start; flex-direction:column; gap:12px; }
    .vtmx-home-intro > p { font-size:1.35rem; }
    .vtmx-index-label::after { width:38px; }
    .vtmx-cover { padding:24px 0 52px; }
    .vtmx-cover-link { min-height:0; border-radius:var(--vtmx-radius-md); }
    .vtmx-cover-media img { min-height:300px; max-height:360px; }
    .vtmx-cover-content { padding:26px 22px 24px; }
    .vtmx-cover-title { margin:30px 0 16px; font-size:4.1rem; }
    .vtmx-cover-excerpt { font-size:1.5rem; }
    .vtmx-cover-meta { flex-wrap:wrap; margin-top:24px; font-size:.95rem; }
    .vtmx-cover-cta { width:100%; margin:6px 0 0; }
    .vtmx-section { padding-top:62px; }
    .vtmx-section-head { grid-template-columns:1fr; gap:16px; margin-bottom:24px; }
    .vtmx-section-head h2 { font-size:3.5rem; }
    .vtmx-editorial-grid { grid-template-columns:1fr; }
    .vtmx-card--lead { grid-column:auto; }
    .vtmx-card--lead .vtmx-card-link { display:flex; }
    .vtmx-card--lead .vtmx-card-body,.vtmx-card-body { padding:20px; }
    .vtmx-card--lead .vtmx-card-title,.vtmx-card-title { font-size:2.5rem; }
    .vtmx-card-excerpt { font-size:1.45rem; }
    .vtmx-pulse { margin-top:62px; padding:28px 22px; border-radius:var(--vtmx-radius-md); }
    .vtmx-pulse-head { align-items:flex-start; flex-direction:column; }
    .vtmx-pulse-head h2 { font-size:3.4rem; }
    .vtmx-pulse-grid { grid-template-columns:1fr; }
    .vtmx-pulse-item,.vtmx-pulse-item:first-child,.vtmx-pulse-item:last-child { padding:22px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .vtmx-pulse-item:last-child { border-bottom:0; }
    .vtmx-topic-stack { gap:48px; }
    .vtmx-topic-head { align-items:flex-start; flex-direction:column; gap:12px; }
    .vtmx-topic-grid { grid-template-columns:1fr; }
    .vtmx-stream-item a { grid-template-columns:1fr 26px; gap:12px; padding:22px 0; }
    .vtmx-stream-meta { grid-column:1 / -1; flex-direction:row; justify-content:space-between; }
    .vtmx-stream-item h3 { font-size:2.1rem; }
    .vtmx-business-card { margin-top:62px; padding:30px 22px; border-radius:var(--vtmx-radius-md); }
    .vtmx-business-layout { grid-template-columns:1fr; gap:28px; margin-top:34px; }
    .vtmx-business-layout h2 { font-size:3.5rem; }
    .vtmx-business-layout > a { justify-content:space-between; }
    .post-template .gh-article-header { width:calc(100vw - 32px); padding-top:38px; }
    .post-template .gh-article-header .vtm-breadcrumb { margin-bottom:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .post-template .gh-article-tag { margin-left:0; }
    .post-template .gh-article-title { font-size:4.2rem; }
    .post-template .gh-article-excerpt { font-size:1.7rem; }
    .post-template .gh-article-sidebar { margin-top:22px; }
    .post-template .gh-article-image { margin:34px auto 46px; border-radius:var(--vtmx-radius-md); }
    .post-template .gh-content { font-size:1.7rem; line-height:1.7; }
    .post-template .gh-content > p:first-child { font-size:1.8rem; }
    .post-template .gh-content h2 { font-size:3rem; }
    .post-template .kg-width-wide { width:calc(100vw - 32px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto !important; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    .vtmx-motion-ready [data-vtm-reveal] { opacity:1; transform:none; }
}

/* Compact topic index */
.vtmx-topic-index { border-top:1px solid var(--vtmx-line); }
.vtmx-topic-index-item { display:grid; grid-template-columns:52px minmax(0,1fr) 140px 28px; align-items:center; gap:20px; padding:24px 0; border-bottom:1px solid var(--vtmx-line); color:var(--vtmx-ink); }
.vtmx-topic-index-item:hover { opacity:1 !important; }
.vtmx-topic-index-no,.vtmx-topic-index-item > span:nth-child(3) { font-family:var(--vtm-font-mono); font-size:1rem; text-transform:uppercase; letter-spacing:.1em; color:var(--vtm-g700); }
.vtmx-topic-index-no { color:var(--vtmx-blue); }
.vtmx-topic-index-item strong { font-family:var(--vtm-font-display); font-size:2.3rem; font-weight:400; letter-spacing:-.025em; }
.vtmx-topic-index-item b { color:var(--vtmx-blue); font-weight:400; transition:transform var(--vtmx-motion-mid) var(--vtmx-ease); }
.vtmx-topic-index-item:hover b { transform:translate(3px,-3px); }
@media (max-width:767px) {
    .vtmx-topic-index-item { grid-template-columns:32px 1fr 24px; gap:12px; }
    .vtmx-topic-index-item > span:nth-child(3) { display:none; }
    .vtmx-topic-index-item strong { font-size:1.9rem; }
}

/* ==========================================================
   VTM Mobile Experience — Phase 1.1
   Smartphone-first refinements for 320–767px viewports.
   ========================================================== */

/* Prevent media, embeds and long strings from ever widening the viewport. */
.vtmx-home,
.vtmx-home *,
.post-template .gh-article,
.post-template .gh-article * {
    min-width: 0;
}
.vtmx-home img,
.vtmx-home video,
.vtmx-home iframe,
.post-template .gh-content img,
.post-template .gh-content video,
.post-template .gh-content iframe {
    max-width: 100%;
}

/* Hover effects are a desktop enhancement, not a touch interaction. */
@media (hover: none), (pointer: coarse) {
    .vtmx-cover-link:hover .vtmx-cover-media img,
    .vtmx-card-link:hover .vtmx-card-media img {
        transform: none;
    }
    .vtmx-card-link:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--vtmx-line);
    }
    .vtmx-cover-link:hover .vtmx-cover-cta b,
    .vtmx-card-link:hover .vtmx-card-footer span:last-child,
    .vtmx-topic-index-item:hover b,
    .vtmx-pulse-item:hover .vtmx-pulse-arrow,
    .vtmx-stream-item:hover .vtmx-stream-arrow {
        transform: none;
    }
}

@media (max-width: 767px) {
    :root {
        --vtmx-shell: calc(100% - 32px);
        --vtmx-mobile-gutter: 16px;
        --vtmx-mobile-section: 52px;
    }

    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }

    /* Mobile navigation: compact, touch-safe and stable while scrolling. */
    #gh-head {
        min-height: 58px;
    }
    #gh-head .gh-head-inner {
        min-height: 58px;
    }
    #gh-head .gh-head-brand {
        min-width: 0;
    }
    #gh-head .gh-head-logo img {
        max-width: min(176px, 52vw);
        max-height: 34px;
        width: auto;
        height: auto;
    }
    #gh-head .gh-search,
    #gh-head .gh-burger {
        min-width: 44px;
        min-height: 44px;
    }

    /* Reading mode keeps the brand and title, but never squeezes actions. */
    .vtmx-reading-header {
        min-height: 58px;
        padding-inline: var(--vtmx-mobile-gutter);
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
    }
    .vtmx-reading-brand {
        font-size: 1.35rem;
        font-weight: 600;
        letter-spacing: -.02em;
    }
    .vtmx-reading-title {
        font-size: 1.22rem;
        line-height: 1.2;
        font-weight: 500;
    }

    /* Homepage rhythm. */
    .vtmx-shell {
        width: var(--vtmx-shell);
        padding-top: 18px;
        padding-bottom: 64px;
    }
    .vtmx-home-intro {
        gap: 8px;
        padding-bottom: 14px;
    }
    .vtmx-home-intro > p {
        max-width: 26ch;
        font-size: 1.28rem;
        line-height: 1.4;
    }
    .vtmx-index-label {
        gap: 8px;
        font-size: .92rem;
        letter-spacing: .12em;
    }
    .vtmx-index-label::after {
        width: 28px;
    }

    /* Digital cover becomes a deliberate mobile cover, not a stacked desktop hero. */
    .vtmx-cover {
        padding: 18px 0 44px;
    }
    .vtmx-cover-link {
        display: flex;
        flex-direction: column;
        min-height: 0;
        border-radius: 14px;
    }
    .vtmx-cover-media {
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 16 / 9;
        min-height: 0;
        background: #071638;
    }
    .vtmx-cover-media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
        max-height: none;
        object-fit: contain;
        transform: none;
        background: #071638;
    }
    .vtmx-cover-content {
        padding: 22px 18px 20px;
    }
    .vtmx-cover-content::before {
        background-size: 32px 32px;
        opacity: .12;
    }
    .vtmx-cover-kicker,
    .vtmx-cover-meta {
        gap: 10px;
        font-size: .9rem;
        letter-spacing: .09em;
    }
    .vtmx-cover-title {
        max-width: 100%;
        margin: 24px 0 14px;
        font-size: clamp(3.25rem, 11.3vw, 4.4rem);
        line-height: .98;
        letter-spacing: -.047em;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }
    .vtmx-cover-excerpt {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        font-size: 1.42rem;
        line-height: 1.48;
    }
    .vtmx-cover-meta {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        margin-top: 20px;
        padding-top: 16px;
    }
    .vtmx-cover-meta > span:nth-child(2) {
        text-align: right;
    }
    .vtmx-cover-cta {
        grid-column: 1 / -1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        min-height: 44px;
        margin: 3px 0 -6px;
        padding-top: 8px;
        color: #fff;
    }

    /* Section headers: editorial but compact enough for a phone. */
    .vtmx-section {
        padding-top: var(--vtmx-mobile-section);
    }
    .vtmx-section-head {
        gap: 12px;
        margin-bottom: 20px;
        padding-bottom: 18px;
    }
    .vtmx-section-head h2 {
        max-width: 12ch;
        font-size: clamp(2.8rem, 9.6vw, 3.7rem);
        line-height: 1.02;
        letter-spacing: -.04em;
        text-wrap: pretty;
    }

    /* Editorial cards: thumb-friendly, no oversized desktop proportions. */
    .vtmx-editorial-grid,
    .vtmx-topic-grid {
        gap: 16px;
    }
    .vtmx-card-link {
        border-radius: 14px;
    }
    .vtmx-card-media,
    .vtmx-card--lead .vtmx-card-media {
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 16 / 9;
        background: #071638;
    }
    .vtmx-card-body,
    .vtmx-card--lead .vtmx-card-body {
        padding: 18px;
    }
    .vtmx-card-kicker,
    .vtmx-card-footer {
        font-size: .9rem;
        letter-spacing: .09em;
    }
    .vtmx-card-media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        background: #071638;
    }

    .vtmx-card-title,
    .vtmx-card--lead .vtmx-card-title {
        margin-top: 13px;
        font-size: clamp(2.1rem, 7.2vw, 2.65rem);
        line-height: 1.06;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }
    .vtmx-card-excerpt {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        margin-top: 12px;
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .vtmx-card-footer {
        min-height: 32px;
        padding-top: 20px;
        align-items: center;
    }

    /* Pulse becomes a clean vertical intelligence list. */
    .vtmx-pulse {
        margin-top: var(--vtmx-mobile-section);
        padding: 24px 18px;
        border-radius: 14px;
    }
    .vtmx-pulse-head {
        gap: 20px;
        padding-bottom: 22px;
    }
    .vtmx-pulse-head h2 {
        margin-top: 12px;
        font-size: clamp(2.75rem, 9vw, 3.45rem);
        line-height: 1.02;
    }
    .vtmx-live-dot {
        font-size: .88rem;
    }
    .vtmx-pulse-item,
    .vtmx-pulse-item:first-child,
    .vtmx-pulse-item:last-child {
        min-height: 72px;
        padding: 18px 0;
    }
    .vtmx-pulse-copy strong {
        font-size: 1.72rem;
        line-height: 1.22;
        text-wrap: pretty;
    }

    /* Deep-dive blocks and topic links. */
    .vtmx-topic-stack {
        gap: 42px;
    }
    .vtmx-topic-head {
        gap: 10px;
        padding-bottom: 18px;
    }
    .vtmx-topic-head h3 {
        font-size: clamp(2.7rem, 9vw, 3.45rem);
        line-height: 1.02;
        text-wrap: pretty;
    }
    .vtmx-topic-head > a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
    .vtmx-topic-index-item {
        min-height: 68px;
        padding: 18px 0;
    }
    .vtmx-topic-index-item strong {
        font-size: 1.8rem;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    /* Newsroom rows: title gets the room, metadata no longer competes with it. */
    .vtmx-stream-item a {
        grid-template-columns: minmax(0, 1fr) 24px;
        gap: 8px 12px;
        min-height: 84px;
        padding: 18px 0;
    }
    .vtmx-stream-meta {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px 14px;
        font-size: .9rem;
    }
    .vtmx-stream-item h3 {
        font-size: 1.9rem;
        line-height: 1.15;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }
    .vtmx-stream-arrow {
        align-self: center;
    }

    /* Business CTA behaves like one mobile action card. */
    .vtmx-business-card {
        margin-top: var(--vtmx-mobile-section);
        padding: 24px 18px;
        border-radius: 14px;
    }
    .vtmx-business-layout {
        gap: 22px;
        margin-top: 26px;
    }
    .vtmx-business-layout h2 {
        font-size: clamp(2.8rem, 9.4vw, 3.6rem);
        line-height: 1.02;
        text-wrap: pretty;
    }
    .vtmx-business-layout p {
        font-size: 1.45rem;
        line-height: 1.5;
    }
    .vtmx-business-layout > a {
        min-height: 48px;
        width: 100%;
    }

    /* Article: mobile reading is intentionally calmer than the homepage. */
    .post-template .gh-main {
        padding-top: 3.2rem;
    }
    .post-template .gh-article-header {
        width: calc(100% - 32px);
        max-width: none;
        padding-top: 18px;
    }
    .post-template .gh-article-header .vtm-breadcrumb {
        margin-bottom: 16px;
        font-size: 1.05rem;
        scrollbar-width: none;
    }
    .post-template .gh-article-header .vtm-breadcrumb::-webkit-scrollbar {
        display: none;
    }
    .post-template .gh-article-tag {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
    }
    .post-template .gh-article-title {
        max-width: 100%;
        margin-top: 14px;
        font-size: clamp(3.15rem, 10.6vw, 4.25rem);
        line-height: .99;
        letter-spacing: -.045em;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }
    .post-template .gh-article-excerpt {
        margin-top: 18px;
        font-size: 1.62rem;
        line-height: 1.5;
    }
    .post-template .gh-article-sidebar {
        grid-template-columns: auto minmax(0, 1fr);
        margin-top: 20px;
    }
    .post-template .gh-article-image {
        width: 100%;
        margin: 28px auto 36px;
        border-radius: 12px;
    }
    .post-template .gh-article-image img {
        max-height: none;
        aspect-ratio: auto;
        object-fit: contain;
    }
    .post-template .gh-article-image figcaption {
        padding-top: 8px;
        font-size: .9rem;
        line-height: 1.4;
        text-transform: none;
        letter-spacing: .02em;
    }
    .post-template .gh-content {
        font-size: 1.66rem;
        line-height: 1.72;
        overflow-wrap: break-word;
    }
    .post-template .gh-content > p:first-child {
        font-size: 1.75rem;
        line-height: 1.65;
    }
    .post-template .gh-content h2 {
        margin-top: 1.9em;
        font-size: clamp(2.55rem, 8.6vw, 3.2rem);
        line-height: 1.08;
        overflow-wrap: anywhere;
        text-wrap: pretty;
    }
    .post-template .gh-content h3 {
        margin-top: 1.7em;
        font-size: 2.25rem;
        line-height: 1.13;
        text-wrap: pretty;
    }
    .post-template .gh-content blockquote {
        margin-block: 1.8em;
        padding: 4px 0 4px 18px;
        font-size: 2.05rem;
        line-height: 1.42;
    }
    .post-template .kg-width-wide,
    .post-template .kg-width-full {
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        margin-left: 50%;
        transform: translateX(-50%);
    }
    .post-template .kg-width-full .kg-image,
    .post-template .kg-width-wide .kg-image,
    .post-template .kg-card img {
        border-radius: 10px;
    }
    .post-template .kg-gallery-container,
    .post-template .kg-gallery-row,
    .post-template .kg-bookmark-card,
    .post-template .kg-file-card,
    .post-template .kg-product-card,
    .post-template .kg-callout-card,
    .post-template .kg-toggle-card {
        max-width: 100%;
    }
    .post-template pre,
    .post-template code {
        max-width: 100%;
    }
    .post-template pre {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .post-template table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Existing article conversion modules need mobile-first stacking too. */
    .vtm-article-signup,
    .vtm-article-coop,
    .vtm-paywall-inner {
        max-width: 100%;
    }
    .vtm-article-signup {
        padding: 22px 18px;
    }
    .vtm-article-signup-text {
        font-size: 1.75rem;
    }
    .vtm-article-signup-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .vtm-article-signup-input,
    .vtm-article-signup-btn {
        width: 100%;
        min-width: 0;
        min-height: 48px;
    }
    .vtm-article-coop-inner {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }
    .vtm-article-coop-btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 48px;
    }
    .vtm-sharing {
        flex-wrap: wrap;
        gap: 10px;
    }
    .vtm-sharing-btn {
        min-width: 44px;
        min-height: 44px;
    }

    /* Footer needs less vertical waste on phones. */
    .gh-foot {
        padding-bottom: 96px;
    }
    .gh-foot-menu .nav {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }
}

/* Small phones: 320–374px. */
@media (max-width: 374px) {
    :root {
        --vtmx-shell: calc(100% - 24px);
        --vtmx-mobile-gutter: 12px;
    }
    #gh-head .gh-head-logo img {
        max-width: 150px;
    }
    .vtmx-cover-title {
        font-size: 3.15rem;
    }
    .vtmx-cover-content,
    .vtmx-card-body,
    .vtmx-card--lead .vtmx-card-body,
    .vtmx-pulse,
    .vtmx-business-card {
        padding-left: 16px;
        padding-right: 16px;
    }
    .vtmx-section-head h2,
    .vtmx-pulse-head h2,
    .vtmx-business-layout h2 {
        font-size: 2.75rem;
    }
    .post-template .gh-article-header {
        width: calc(100% - 24px);
    }
    .post-template .gh-article-title {
        font-size: 3.05rem;
    }
    .post-template .gh-content {
        font-size: 1.6rem;
    }
}

/* ================================================================
   VTM Web Experience System 2026 — v8.2.2
   Desktop homepage balance: a compact lead, a visible breadth of
   coverage and uncropped 16:9 editorial title graphics.
   ================================================================ */

@media (min-width: 768px) {
    /* The opening area must introduce several stories, not consume the page. */
    .vtmx-shell { padding-top: 26px; padding-bottom: 80px; }
    .vtmx-home-intro { padding-bottom: 14px; }
    .vtmx-cover { padding: 24px 0 44px; }
    .vtmx-cover-link {
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
        min-height: 0;
    }
    .vtmx-cover-media {
        display: grid;
        place-items: center;
        aspect-ratio: 16 / 9;
        background: #071638;
    }
    .vtmx-cover-media img {
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: contain;
        background: #071638;
        transform: none;
    }
    .vtmx-cover-link:hover .vtmx-cover-media img { transform: none; }
    .vtmx-cover-content { padding: 34px 38px; }
    .vtmx-cover-title {
        max-width: 16ch;
        margin: 30px 0 14px;
        font-size: clamp(3.4rem, 3.55vw, 5.45rem);
        line-height: .97;
    }
    .vtmx-cover-excerpt {
        display: -webkit-box;
        overflow: hidden;
        font-size: 1.45rem;
        line-height: 1.45;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
    .vtmx-cover-meta { margin-top: 20px; padding-top: 14px; }

    /* A four-up grid communicates VTM's range at first glance. */
    .vtmx-section { padding-top: 60px; }
    .vtmx-section-head { grid-template-columns: 180px 1fr; gap: 24px; padding-bottom: 18px; margin-bottom: 24px; }
    .vtmx-section-head h2 { font-size: clamp(3rem, 3.35vw, 4.6rem); }
    .vtmx-editorial-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; gap: 16px; }
    .vtmx-card--lead { grid-column: auto; grid-row: auto; }
    .vtmx-card-media,
    .vtmx-card--lead .vtmx-card-media {
        display: grid;
        place-items: center;
        aspect-ratio: 16 / 9;
        background: #071638;
    }
    .vtmx-card-media img {
        object-fit: contain;
        background: #071638;
        transform: none;
    }
    .vtmx-card-link:hover .vtmx-card-media img { transform: none; }
    .vtmx-card-body,
    .vtmx-card--lead .vtmx-card-body { padding: 18px; }
    .vtmx-card-title,
    .vtmx-card--lead .vtmx-card-title { margin-top: 14px; font-size: clamp(2rem, 1.65vw, 2.45rem); line-height: 1.06; }
    .vtmx-card-excerpt { display: none; }
    .vtmx-card-footer { padding-top: 20px; }

    /* Secondary modules remain useful but no longer dominate the scroll. */
    .vtmx-command { margin-top: 24px; }
    .vtmx-signal { margin-top: 60px; padding: 34px 38px; }
    .vtmx-signal-head { padding-bottom: 24px; }
    .vtmx-signal-head h2 { font-size: clamp(3rem, 3.2vw, 4.35rem); }
    .vtmx-signal-card { min-height: 218px; padding: 22px 18px; }
    .vtmx-signal-value { font-size: 4.1rem; }
    .vtmx-topic-stack { gap: 48px; }
    .vtmx-topic-block { padding-bottom: 0; }
    .vtmx-stream-item a { grid-template-columns: 180px 1fr 32px; gap: 24px; padding: 21px 0; }
    .vtmx-stream-item h3 { font-size: 2.1rem; }
    .vtmx-business-card { margin-top: 60px; padding: 34px 38px; }
    .vtmx-business-layout { gap: 36px; margin-top: 30px; }
    .vtmx-business-layout h2 { font-size: clamp(3rem, 3.4vw, 4.6rem); }
    .vtmx-business-layout p { margin-top: 14px; font-size: 1.45rem; }

    /* Existing legacy/card templates use the same title-image contract. */
    .vtm-card-image,
    .vtm-topic-card-image {
        aspect-ratio: 16 / 9;
        background: #071638;
    }
    .vtm-card-image img,
    .vtm-topic-card-image img {
        object-fit: contain;
        background: #071638;
        transform: none !important;
    }
    .vtm-read-next-card figure img {
        object-fit: contain;
        background: #071638;
    }
}

/* ================================================================
   VTM Web Experience System 2026 — Phase 2
   Command Search · Signal · Live Briefing · Editorial data primitives
   ================================================================ */

/* Command search ------------------------------------------------- */
.vtmx-command {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    margin:34px 0 0;
    padding:14px;
    border:1px solid var(--vtmx-line);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:0 12px 42px rgba(13,28,60,.06);
    backdrop-filter:blur(14px);
}
.vtmx-command-trigger {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    width:100%;
    min-height:64px;
    padding:10px 12px;
    border:0;
    color:var(--vtmx-ink);
    background:transparent;
    text-align:left;
    cursor:pointer;
}
.vtmx-command-icon {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#0d1c3c;
    color:#fff;
    font-size:2rem;
}
.vtmx-command-copy { min-width:0; }
.vtmx-command-copy small {
    display:block;
    margin-bottom:3px;
    font-family:var(--vtm-font-mono);
    font-size:.88rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#60708d;
}
.vtmx-command-copy strong {
    display:block;
    overflow:hidden;
    font-family:var(--vtm-font-display);
    font-size:1.55rem;
    font-weight:400;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.vtmx-command kbd {
    min-width:48px;
    padding:8px 10px;
    border:1px solid #dbe1eb;
    border-bottom-width:2px;
    border-radius:9px;
    background:#f5f7fa;
    color:#42506a;
    font:500 1rem/1 var(--vtm-font-mono);
    text-align:center;
}
.vtmx-command-topics {
    display:flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}
.vtmx-command-topics > span {
    margin-right:2px;
    font-family:var(--vtm-font-mono);
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:#7d889d;
}
.vtmx-command-topics a {
    padding:9px 11px;
    border-radius:999px;
    background:#f2f5fa;
    color:#17305f;
    font-size:1.05rem;
    transition:background .18s ease, transform .18s ease;
}
.vtmx-command-topics a:hover { opacity:1 !important; background:#e8eef8; transform:translateY(-1px); }

/* VTM Signal ----------------------------------------------------- */
.vtmx-signal {
    position:relative;
    margin-top:72px;
    padding:42px;
    overflow:hidden;
    border-radius:24px;
    background:radial-gradient(circle at 82% 8%,rgba(31,78,255,.33),transparent 30%),linear-gradient(145deg,#081634 0%,#0d1c3c 68%,#102b5b 100%);
    color:#fff;
}
.vtmx-signal::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.13;
    background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(to bottom,black,transparent 88%);
}
.vtmx-signal-head {
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    padding-bottom:30px;
    border-bottom:1px solid rgba(255,255,255,.15);
}
.vtmx-signal-head h2 {
    margin:14px 0 10px;
    font-family:var(--vtm-font-display);
    font-size:clamp(3.4rem,4vw,5.4rem);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.05em;
    color:#fff;
}
.vtmx-signal-head p { max-width:650px; margin:0; color:rgba(255,255,255,.66); font-size:1.35rem; line-height:1.5; }
.vtmx-signal-status {
    display:flex;
    align-items:center;
    gap:8px;
    flex:none;
    font-family:var(--vtm-font-mono);
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(255,255,255,.7);
}
.vtmx-signal-status i { width:7px; height:7px; border-radius:50%; background:#ffd700; box-shadow:0 0 0 5px rgba(255,215,0,.10); }
.vtmx-signal-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.vtmx-signal-card {
    display:flex;
    flex-direction:column;
    min-height:300px;
    padding:28px 24px 24px;
    color:#fff;
    border-right:1px solid rgba(255,255,255,.13);
    transition:background .22s ease, transform .22s ease;
}
.vtmx-signal-card:first-child { padding-left:0; }
.vtmx-signal-card:last-child { padding-right:0; border-right:0; }
.vtmx-signal-card:hover { opacity:1 !important; background:rgba(255,255,255,.035); }
.vtmx-signal-top { display:flex; justify-content:space-between; gap:12px; font-family:var(--vtm-font-mono); font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.46); }
.vtmx-signal-no { color:#93afff; }
.vtmx-signal-value { margin-top:34px; font-family:var(--vtm-font-display); font-size:5.3rem; line-height:.9; letter-spacing:-.06em; color:#fff; }
.vtmx-signal-card h3 { margin:16px 0 4px; font-family:var(--vtm-font-display); font-size:2rem; font-weight:400; line-height:1.08; color:#fff; }
.vtmx-signal-card p { margin:0; color:rgba(255,255,255,.52); font-size:1rem; }
.vtmx-signal-link { margin-top:auto; padding-top:24px; font-family:var(--vtm-font-mono); font-size:.88rem; text-transform:uppercase; letter-spacing:.08em; color:#adc0ff; }

/* VTM Live Briefing --------------------------------------------- */
.vtmx-live {
    position:relative;
    z-index:80;
    border-top:1px solid #e8ebf0;
    border-bottom:1px solid #e1e6ee;
    background:#fff;
    color:#0d1c3c;
}
.vtmx-live[hidden] { display:none !important; }
.vtmx-live-bar {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    min-height:50px;
    gap:18px;
}
.vtmx-live-brand {
    display:flex;
    align-items:center;
    gap:9px;
    padding-right:18px;
    border-right:1px solid #e4e8ef;
    font-family:var(--vtm-font-mono);
    font-size:.92rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.11em;
    white-space:nowrap;
}
.vtmx-live-dotmark { width:7px; height:7px; border-radius:50%; background:#1f4eff; box-shadow:0 0 0 5px rgba(31,78,255,.10); }
.vtmx-live-stage { min-width:0; overflow:hidden; }
.vtmx-live-current {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:12px;
    min-height:48px;
    color:#0d1c3c;
}
.vtmx-live-current:hover { opacity:1 !important; }
.vtmx-live-company { font-family:var(--vtm-font-mono); font-size:.88rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:#1f4eff; white-space:nowrap; }
.vtmx-live-headline { overflow:hidden; font-size:1.18rem; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.vtmx-live-date { font-family:var(--vtm-font-mono); font-size:.82rem; color:#8490a5; white-space:nowrap; }
.vtmx-live-open { color:#1f4eff; }
.vtmx-live-loading { font-size:1.05rem; color:#778399; }
.vtmx-live-controls { display:flex; align-items:center; gap:5px; padding-left:14px; border-left:1px solid #e4e8ef; }
.vtmx-live-count { min-width:42px; margin-right:5px; color:#8792a6; font:500 .82rem/1 var(--vtm-font-mono); text-align:center; }
.vtmx-live-control,.vtmx-live-all,.vtmx-live-close {
    border:0;
    background:transparent;
    color:#0d1c3c;
    cursor:pointer;
}
.vtmx-live-control { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; font-size:1.25rem; }
.vtmx-live-control:hover { background:#f1f4f8; }
.vtmx-live-all { min-height:32px; padding:0 10px; border-radius:9px; background:#0d1c3c; color:#fff; font:500 .85rem/1 var(--vtm-font-mono); text-transform:uppercase; letter-spacing:.06em; }
.vtmx-live-panel { border-top:1px solid #e6eaf0; background:#f7f9fc; }
.vtmx-live-panel-inner { padding-top:34px; padding-bottom:36px; }
.vtmx-live-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:22px; }
.vtmx-live-eyebrow { font-family:var(--vtm-font-mono); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; color:#1f4eff; }
.vtmx-live-panel-head h2 { margin:6px 0 0; font-family:var(--vtm-font-display); font-size:2.8rem; font-weight:400; letter-spacing:-.035em; color:#0d1c3c; }
.vtmx-live-close { min-height:38px; padding:0 4px; font:500 .92rem/1 var(--vtm-font-mono); color:#5f6d84; }
.vtmx-live-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #dfe5ee; }
.vtmx-live-list-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:start; padding:20px 18px 20px 0; border-bottom:1px solid #dfe5ee; color:#0d1c3c; }
.vtmx-live-list-item:nth-child(odd) { border-right:1px solid #dfe5ee; }
.vtmx-live-list-item:nth-child(even) { padding-left:18px; }
.vtmx-live-list-item:hover { opacity:1 !important; background:rgba(31,78,255,.025); }
.vtmx-live-list-no { color:#9aa6b9; font:500 .82rem/1.4 var(--vtm-font-mono); }
.vtmx-live-list-copy { min-width:0; }
.vtmx-live-list-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; }
.vtmx-live-list-meta strong { color:#1f4eff; font:600 .82rem/1 var(--vtm-font-mono); text-transform:uppercase; letter-spacing:.07em; }
.vtmx-live-list-meta time { color:#9aa5b7; font:500 .78rem/1 var(--vtm-font-mono); }
.vtmx-live-list-title { display:block; font-size:1.25rem; font-weight:500; line-height:1.35; }
.vtmx-live-list-arrow { color:#1f4eff; }
.vtmx-live-source-note { margin:18px 0 0; color:#7b879b; font-size:.95rem; }

/* Phase 2 editorial components ----------------------------------
   These are intentionally plain CSS primitives usable in Ghost HTML cards.
   They keep editorial data/explainers inside the same visual system. */
.gh-content .vtm-explainer,
.gh-content .vtm-data-panel,
.gh-content .vtm-process,
.gh-content .vtm-stat-grid {
    width:min(100%, 940px);
    margin:2.6em auto;
}
.gh-content .vtm-explainer {
    position:relative;
    padding:28px 30px 30px;
    border:1px solid #dfe5ee;
    border-radius:18px;
    background:#f7f9fc;
}
.gh-content .vtm-explainer::before { content:"VTM EXPLAINS"; display:block; margin-bottom:14px; color:#1f4eff; font:600 .78rem/1 var(--vtm-font-mono); letter-spacing:.14em; }
.gh-content .vtm-explainer h3 { margin:0 0 10px; font-family:var(--vtm-font-display); font-size:2rem; font-weight:400; letter-spacing:-.03em; }
.gh-content .vtm-explainer p:last-child { margin-bottom:0; }
.gh-content .vtm-data-panel { padding:28px; border-radius:18px; background:#0d1c3c; color:#fff; }
.gh-content .vtm-data-panel .vtm-data-label { display:block; margin-bottom:16px; color:#9db3ff; font:500 .78rem/1 var(--vtm-font-mono); text-transform:uppercase; letter-spacing:.12em; }
.gh-content .vtm-data-panel strong { color:#fff; }
.gh-content .vtm-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #dfe5ee; border-radius:18px; background:#dfe5ee; }
.gh-content .vtm-stat { padding:26px; background:#fff; }
.gh-content .vtm-stat strong { display:block; margin-bottom:8px; font-family:var(--vtm-font-display); font-size:3.4rem; font-weight:400; line-height:.95; letter-spacing:-.06em; color:#0d1c3c; }
.gh-content .vtm-stat span { color:#65728a; font-size:.96rem; line-height:1.4; }
.gh-content .vtm-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden; border:1px solid #dfe5ee; border-radius:18px; }
.gh-content .vtm-process-step { position:relative; min-height:150px; padding:24px 22px; border-right:1px solid #dfe5ee; background:#fff; }
.gh-content .vtm-process-step:last-child { border-right:0; }
.gh-content .vtm-process-step small { display:block; margin-bottom:24px; color:#1f4eff; font:500 .78rem/1 var(--vtm-font-mono); letter-spacing:.1em; }
.gh-content .vtm-process-step strong { display:block; font-family:var(--vtm-font-display); font-size:1.35rem; font-weight:400; line-height:1.2; color:#0d1c3c; }
.gh-content .vtm-process-step:not(:last-child)::after { content:"→"; position:absolute; right:-10px; top:50%; z-index:2; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#fff; color:#1f4eff; font-size:.9rem; transform:translateY(-50%); }

/* Preserve 16:9 editorial artwork on every smartphone card type. */
@media (max-width: 767px) {
    .vtmx-command { grid-template-columns:1fr; gap:8px; margin-top:22px; padding:8px; border-radius:14px; }
    .vtmx-command-trigger { min-height:58px; gap:12px; padding:8px; }
    .vtmx-command-icon { width:40px; height:40px; border-radius:10px; }
    .vtmx-command-copy strong { font-size:1.35rem; }
    .vtmx-command kbd { min-width:43px; padding:7px; font-size:.88rem; }
    .vtmx-command-topics { overflow-x:auto; width:100%; padding:3px 5px 7px; scrollbar-width:none; }
    .vtmx-command-topics::-webkit-scrollbar { display:none; }

    .vtmx-signal { margin-top:50px; padding:25px 18px; border-radius:14px; }
    .vtmx-signal-head { flex-direction:column; align-items:flex-start; gap:17px; padding-bottom:22px; }
    .vtmx-signal-head h2 { font-size:3.25rem; }
    .vtmx-signal-head p { font-size:1.25rem; }
    .vtmx-signal-grid { grid-template-columns:1fr 1fr; }
    .vtmx-signal-card,.vtmx-signal-card:first-child,.vtmx-signal-card:last-child { min-height:230px; padding:20px 14px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
    .vtmx-signal-card:nth-child(even) { border-right:0; padding-right:0; }
    .vtmx-signal-card:nth-child(odd) { padding-left:0; }
    .vtmx-signal-card:nth-last-child(-n+2) { border-bottom:0; }
    .vtmx-signal-value { margin-top:25px; font-size:4.4rem; }
    .vtmx-signal-card h3 { font-size:1.55rem; }

    .vtmx-live-bar { grid-template-columns:auto minmax(0,1fr) auto; min-height:58px; gap:10px; }
    .vtmx-live-brand { padding-right:10px; border-right:0; font-size:.78rem; }
    .vtmx-live-brand span:last-child { display:none; }
    .vtmx-live-current { grid-template-columns:1fr auto; gap:4px 8px; min-height:56px; padding:5px 0; }
    .vtmx-live-company { grid-column:1; font-size:.75rem; }
    .vtmx-live-headline { grid-column:1; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:1rem; line-height:1.2; white-space:normal; }
    .vtmx-live-date { display:none; }
    .vtmx-live-open { grid-column:2; grid-row:1 / span 2; align-self:center; }
    .vtmx-live-controls { gap:2px; padding-left:6px; border-left:0; }
    .vtmx-live-count,.vtmx-live-control { display:none; }
    .vtmx-live-all { min-height:36px; padding:0 9px; font-size:.76rem; }
    .vtmx-live-panel-inner { padding-top:24px; padding-bottom:26px; }
    .vtmx-live-panel-head h2 { font-size:2.25rem; }
    .vtmx-live-close { font-size:.82rem; }
    .vtmx-live-list { grid-template-columns:1fr; }
    .vtmx-live-list-item,.vtmx-live-list-item:nth-child(even) { padding:17px 0; border-right:0; }
    .vtmx-live-list-title { font-size:1.12rem; }

    .vtm-card-image,
    .vtm-topic-card-image {
        aspect-ratio:16 / 9 !important;
        background:#071638;
    }
    .vtm-card-image img,
    .vtm-topic-card-image img {
        object-fit:contain !important;
        background:#071638;
        transform:none !important;
    }

    .gh-content .vtm-explainer,
    .gh-content .vtm-data-panel,
    .gh-content .vtm-process,
    .gh-content .vtm-stat-grid { width:100%; margin:2em auto; }
    .gh-content .vtm-explainer,.gh-content .vtm-data-panel { padding:22px 18px; border-radius:14px; }
    .gh-content .vtm-stat-grid { grid-template-columns:1fr; border-radius:14px; }
    .gh-content .vtm-stat { padding:20px; }
    .gh-content .vtm-process { grid-template-columns:1fr; border-radius:14px; }
    .gh-content .vtm-process-step { min-height:0; border-right:0; border-bottom:1px solid #dfe5ee; }
    .gh-content .vtm-process-step:last-child { border-bottom:0; }
    .gh-content .vtm-process-step:not(:last-child)::after { content:"↓"; right:50%; top:auto; bottom:-10px; transform:translateX(50%); }
}

@media (max-width: 374px) {
    .vtmx-signal-grid { grid-template-columns:1fr; }
    .vtmx-signal-card,.vtmx-signal-card:first-child,.vtmx-signal-card:last-child,.vtmx-signal-card:nth-child(even),.vtmx-signal-card:nth-child(odd) { min-height:190px; padding:18px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
    .vtmx-signal-card:last-child { border-bottom:0; }
}

/* ==========================================================
   v8.1.2 — Mobile masthead / navigation density
   Inspired by premium news products, but kept unmistakably VTM.
   ========================================================== */
.vtmx-mobile-nav { display:none; }

@media (max-width: 767px) {
    /* The legacy Ghost theme reserves 6.4rem above .gh-main on mobile.
       The VTM homepage has its own rhythm, so remove that dead space. */
    .vtmx-home.gh-main {
        padding-top: 0 !important;
    }

    /* Masthead: compact, deliberate, app-like. */
    body:not(.is-head-stacked) #gh-head,
    #gh-head {
        height: 68px;
        min-height: 68px;
        background: rgba(255,255,255,.98);
        border-bottom: 1px solid #e7ebf2;
        box-shadow: none;
    }
    #gh-head .gh-head-inner {
        height: 68px;
        min-height: 68px;
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }
    #gh-head .gh-head-brand {
        width: 100%;
        min-height: 68px;
        gap: 8px;
        align-items: center;
    }
    #gh-head .gh-head-brand-wrapper {
        min-width: 0;
        margin-right: auto;
    }
    #gh-head .gh-head-logo,
    #gh-head h1.gh-head-logo {
        display:flex;
        align-items:center;
        min-width:0;
        margin:0;
    }
    #gh-head .gh-head-logo img {
        display:block;
        width:auto;
        max-width:min(220px, 58vw);
        max-height:31px;
    }
    #gh-head .gh-search,
    #gh-head .gh-burger {
        width:42px;
        min-width:42px;
        height:42px;
        min-height:42px;
        margin:0;
    }
    #gh-head .gh-search svg {
        width:25px;
        height:25px;
    }
    #gh-head .gh-burger::before,
    #gh-head .gh-burger::after {
        width:25px;
    }

    /* Editorial topic rail: a second navigation level like a news app,
       horizontally scrollable instead of cramming links into the masthead. */
    .vtmx-mobile-nav {
        display:block;
        position:relative;
        z-index:90;
        width:100%;
        height:48px;
        overflow:hidden;
        background:#0d1c3c;
        border-bottom:1px solid rgba(255,255,255,.09);
    }
    .vtmx-mobile-nav-inner {
        display:flex;
        align-items:center;
        width:100%;
        height:48px;
    }
    .vtmx-mobile-nav-mark {
        display:grid;
        place-items:center;
        flex:0 0 auto;
        width:49px;
        height:48px;
        border-right:1px solid rgba(255,255,255,.15);
        background:#122952;
        color:#fff;
        font:600 .87rem/1 var(--vtm-font-mono);
        letter-spacing:.06em;
    }
    .vtmx-mobile-nav-scroll {
        min-width:0;
        flex:1;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
        -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 28px),transparent 100%);
    }
    .vtmx-mobile-nav-scroll::-webkit-scrollbar { display:none; }
    .vtmx-mobile-nav-scroll .nav {
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        width:max-content;
        height:48px;
        margin:0;
        padding:0 28px 0 14px;
        gap:25px;
        list-style:none;
    }
    .vtmx-mobile-nav-scroll .nav li {
        flex:0 0 auto;
        margin:0;
        padding:0;
    }
    .vtmx-mobile-nav-scroll .nav li::before { display:none !important; }
    .vtmx-mobile-nav-scroll .nav a {
        display:flex;
        align-items:center;
        height:48px;
        color:rgba(255,255,255,.88);
        font-size:1.2rem;
        font-weight:500;
        line-height:1;
        letter-spacing:-.01em;
        white-space:nowrap;
    }
    .vtmx-mobile-nav-scroll .nav-current a {
        color:#fff;
        box-shadow:inset 0 -2px 0 #ffd700;
    }

    /* Live Briefing becomes the third, slim information layer. */
    .vtmx-live {
        border-bottom:1px solid #e5eaf2;
        background:#fff;
    }
    .vtmx-live-bar {
        min-height:54px;
        padding-left:12px;
        padding-right:12px;
        gap:8px;
    }
    .vtmx-live-brand {
        padding-right:5px;
    }
    .vtmx-live-current {
        min-height:52px;
    }
    .vtmx-live-company { font-size:.72rem; }
    .vtmx-live-headline {
        font-size:.95rem;
        line-height:1.18;
    }
    .vtmx-live-open {
        display:grid;
        place-items:center;
        width:31px;
        height:31px;
        border-radius:9px;
        background:#eef3ff;
        font-size:1.1rem;
    }
    .vtmx-live-all {
        min-width:56px;
        min-height:38px;
        padding:0 10px;
        border-radius:10px;
    }

    /* Homepage starts immediately after the information stack. */
    .vtmx-shell {
        padding-top: 20px;
    }
    .vtmx-home-intro {
        margin-top:0;
    }
}

@media (max-width: 374px) {
    #gh-head .gh-head-logo img {
        max-width:min(185px, 54vw);
        max-height:29px;
    }
    .vtmx-mobile-nav-scroll .nav {
        gap:21px;
    }
    .vtmx-mobile-nav-scroll .nav a {
        font-size:1.12rem;
    }
}

/* =========================================================
   VTM ARTICLE EXPERIENCE SYSTEM — Phase 3 / v8.2
   ========================================================= */

.vtm-article-main { --vtm-article-copy: 760px; --vtm-article-wide: 1180px; }
.vtm-article-hero { position:relative; }
.vtm-article-eyebrow { display:flex; align-items:center; gap:14px; max-width:760px; margin:0 auto 20px; }
.vtm-article-mode { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid rgba(31,78,255,.28); border-radius:999px; color:var(--vtmx-blue); font:600 .92rem/1 var(--vtm-font-mono); letter-spacing:.12em; text-transform:uppercase; }
.post-template .vtm-article-eyebrow .gh-article-tag { margin:0; color:var(--vtm-g700)!important; }

/* Modes */
.vtm-article--news .gh-article-title { max-width:900px; }
.vtm-article--analysis .gh-article-header { padding-top:82px; }
.vtm-article--analysis .gh-article-title { max-width:1040px; }
.vtm-article--analysis .gh-article-excerpt { max-width:820px; }
.vtm-article--analysis .gh-content { counter-reset:vtm-chapter; }
.vtm-article--analysis .gh-content > h2 { counter-increment:vtm-chapter; }
.vtm-article--analysis .gh-content > h2::before { content:"0" counter(vtm-chapter) " /"; display:block; margin-bottom:12px; color:var(--vtmx-blue); font:600 .9rem/1 var(--vtm-font-mono); letter-spacing:.14em; }

.vtm-article--feature .gh-article-header { width:100%; max-width:none; padding:84px max(32px,calc((100vw - 1320px)/2)) 0; background:radial-gradient(circle at 78% 6%,rgba(31,78,255,.32),transparent 36%),linear-gradient(145deg,#081633,#0d1c3c 72%); color:#fff; overflow:hidden; }
.vtm-article--feature .gh-article-header::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to bottom,#000,transparent 88%); }
.vtm-article--feature .gh-article-header > * { position:relative; z-index:1; }
.vtm-article--feature .gh-article-header .vtm-breadcrumb,
.vtm-article--feature .vtm-article-eyebrow,
.vtm-article--feature .gh-article-excerpt,
.vtm-article--feature .gh-article-sidebar { max-width:860px; }
.vtm-article--feature .gh-article-title { max-width:1120px; color:#fff; font-size:clamp(5rem,7vw,9.4rem); }
.vtm-article--feature .gh-article-excerpt { color:rgba(255,255,255,.72); }
.vtm-article--feature .vtm-breadcrumb,
.vtm-article--feature .vtm-breadcrumb a,
.vtm-article--feature .gh-article-sidebar,
.vtm-article--feature .gh-article-sidebar a { color:rgba(255,255,255,.65); }
.vtm-article--feature .vtm-article-mode { border-color:rgba(255,215,0,.42); color:#ffd700; }
.vtm-article--feature .vtm-article-eyebrow .gh-article-tag { color:rgba(255,255,255,.72)!important; }
.vtm-article--feature .gh-article-sidebar { border-color:rgba(255,255,255,.18); }
.vtm-article--feature .gh-article-image { max-width:1320px; margin-bottom:0; border-radius:24px 24px 0 0; background:#071638; }
.vtm-article--feature .gh-article-image img { max-height:none; aspect-ratio:16/9; object-fit:contain; background:#071638; }
.vtm-article--feature .gh-content { margin-top:72px; counter-reset:vtm-chapter; }
.vtm-article--feature .gh-content > h2 { counter-increment:vtm-chapter; margin-top:2.8em; }
.vtm-article--feature .gh-content > h2::before { content:"CHAPTER 0" counter(vtm-chapter); display:block; margin-bottom:16px; color:var(--vtmx-blue); font:600 .92rem/1 var(--vtm-font-mono); letter-spacing:.16em; }

/* Automatic chapter navigation for analysis + feature */
.vtm-article-toc { position:sticky; top:74px; z-index:20; width:min(980px,calc(100vw - 48px)); max-width:none; margin:24px auto 0; padding:0; border:1px solid var(--vtmx-line); border-radius:14px; background:rgba(255,255,255,.93); box-shadow:0 14px 36px rgba(13,28,60,.07); backdrop-filter:blur(18px); }
.vtm-article-toc[hidden] { display:none!important; }
.vtm-article-toc-head { display:none; }
.vtm-article-toc-track { display:flex; gap:4px; overflow-x:auto; padding:7px; scrollbar-width:none; }
.vtm-article-toc-track::-webkit-scrollbar { display:none; }
.vtm-article-toc-link { flex:0 0 auto; display:inline-flex; align-items:center; min-height:38px; max-width:260px; padding:0 12px; border-radius:9px; color:#66728a; font:500 1rem/1.15 var(--vtm-font-mono); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:background .2s ease,color .2s ease; }
.vtm-article-toc-link:hover { color:var(--vtmx-ink); background:#f3f6fb; }
.vtm-article-toc-link.is-active { color:#fff; background:var(--vtmx-ink); }
.vtm-article--news .vtm-article-toc { display:none!important; }

/* More intentional copy rhythm */
.post-template .gh-content > p { margin-block:1.25em; }
.post-template .gh-content > h2 { scroll-margin-top:150px; }
.post-template .gh-content > hr { width:88px; margin:4.5rem auto; border:0; border-top:2px solid var(--vtmx-blue); }
.post-template .gh-content > ul,
.post-template .gh-content > ol { padding-left:1.35em; }
.post-template .gh-content > ul li,
.post-template .gh-content > ol li { margin:.55em 0; padding-left:.25em; }
.post-template .gh-content a:not(.kg-btn):not(.kg-bookmark-card) { text-decoration-thickness:1px; text-underline-offset:3px; }

/* Native Ghost editor cards, VTM styled */
.post-template .gh-content .kg-image-card,
.post-template .gh-content .kg-gallery-card,
.post-template .gh-content .kg-video-card { margin-block:3.2em; }
.post-template .gh-content .kg-image-card img { border-radius:16px; }
.post-template .gh-content figcaption { margin-top:10px; color:var(--vtm-g700); font:500 .95rem/1.45 var(--vtm-font-mono); letter-spacing:.035em; text-align:left; }
.post-template .gh-content .kg-callout-card { margin-block:2.4em; padding:22px 24px; border:1px solid #dce4f1; border-left:3px solid var(--vtmx-blue); border-radius:14px; background:#f7f9fd; box-shadow:none; }
.post-template .gh-content .kg-callout-card .kg-callout-emoji { font-size:1.35em; }
.post-template .gh-content .kg-toggle-card { margin-block:2em; border:1px solid #dfe5ee; border-radius:14px; background:#fff; box-shadow:none; }
.post-template .gh-content .kg-toggle-heading { padding:18px 20px; font-family:var(--vtm-font-display); font-size:1.65rem; }
.post-template .gh-content .kg-toggle-content { padding:0 20px 20px; color:#53617a; }
.post-template .gh-content .kg-bookmark-card { margin-block:2.6em; border:1px solid #dfe5ee; border-radius:16px; box-shadow:0 12px 30px rgba(13,28,60,.055); overflow:hidden; transition:transform .22s ease,box-shadow .22s ease; }
.post-template .gh-content .kg-bookmark-card:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(13,28,60,.09); }
.post-template .gh-content .kg-button-card .kg-btn { min-height:48px; padding:0 22px; border-radius:10px; background:var(--vtmx-ink); font-family:var(--vtm-font-mono); font-size:1rem; letter-spacing:.05em; }
.post-template .gh-content .kg-header-card { margin-block:3.5em; border-radius:20px; overflow:hidden; }

/* Editorial toolkit — save once as Ghost snippets */
.gh-content .vtm-briefing,
.gh-content .vtm-takeaway,
.gh-content .vtm-key-questions,
.gh-content .vtm-timeline,
.gh-content .vtm-view,
.gh-content .vtm-big-statement { width:min(980px,calc(100vw - 48px)); max-width:none; margin:3.4em 50%; transform:translateX(-50%); }

.gh-content .vtm-briefing { padding:30px; border-radius:20px; background:#f4f7fc; border:1px solid #dee6f3; }
.gh-content .vtm-briefing::before { content:"VTM BRIEFING · 30 SEKUNDEN"; display:block; margin-bottom:24px; color:var(--vtmx-blue); font:600 .85rem/1 var(--vtm-font-mono); letter-spacing:.14em; }
.gh-content .vtm-briefing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#dce4ef; border:1px solid #dce4ef; border-radius:14px; overflow:hidden; }
.gh-content .vtm-briefing-item { padding:22px; background:#fff; }
.gh-content .vtm-briefing-item > strong { display:block; margin-bottom:18px; color:var(--vtmx-blue); font:600 .86rem/1 var(--vtm-font-mono); letter-spacing:.12em; }
.gh-content .vtm-briefing-item h3 { margin:0 0 8px; font-size:1.55rem; }
.gh-content .vtm-briefing-item p { margin:0; color:#66728a; font-size:1.15rem; line-height:1.55; }

.gh-content .vtm-takeaway { position:relative; padding:30px 32px 30px 42px; border-top:1px solid var(--vtmx-ink); border-bottom:1px solid var(--vtmx-ink); }
.gh-content .vtm-takeaway::before { content:"VTM TAKEAWAY"; display:block; margin-bottom:18px; color:var(--vtmx-blue); font:600 .85rem/1 var(--vtm-font-mono); letter-spacing:.14em; }
.gh-content .vtm-takeaway::after { content:""; position:absolute; left:0; top:30px; bottom:30px; width:3px; background:var(--vtmx-blue); }
.gh-content .vtm-takeaway p { margin:0; font-family:var(--vtm-font-display); font-size:clamp(2rem,3vw,3rem); line-height:1.12; letter-spacing:-.035em; color:var(--vtmx-ink); }

.gh-content .vtm-big-statement { padding:30px 0; text-align:center; }
.gh-content .vtm-big-statement p { max-width:820px; margin:0 auto; font-family:var(--vtm-font-display); font-size:clamp(3rem,5vw,5.8rem); line-height:1; letter-spacing:-.055em; color:var(--vtmx-ink); text-wrap:balance; }

.gh-content .vtm-key-questions { padding:28px 30px; border-radius:20px; background:var(--vtmx-ink); color:#fff; }
.gh-content .vtm-key-questions::before { content:"DREI FRAGEN"; display:block; margin-bottom:22px; color:#9db3ff; font:600 .85rem/1 var(--vtm-font-mono); letter-spacing:.14em; }
.gh-content .vtm-key-question { display:grid; grid-template-columns:40px 1fr; gap:14px; padding:16px 0; border-top:1px solid rgba(255,255,255,.14); }
.gh-content .vtm-key-question strong { color:#ffd700; font:500 .9rem/1.4 var(--vtm-font-mono); }
.gh-content .vtm-key-question span { font-family:var(--vtm-font-display); font-size:1.65rem; line-height:1.2; }

.gh-content .vtm-timeline { position:relative; padding:8px 0 8px 28px; border-left:2px solid #dce4ef; }
.gh-content .vtm-timeline-item { position:relative; display:grid; grid-template-columns:110px 1fr; gap:22px; padding:18px 0 30px; }
.gh-content .vtm-timeline-item::before { content:""; position:absolute; left:-35px; top:24px; width:12px; height:12px; border:3px solid #fff; border-radius:50%; background:var(--vtmx-blue); box-shadow:0 0 0 1px var(--vtmx-blue); }
.gh-content .vtm-timeline-item strong { color:var(--vtmx-blue); font:600 .9rem/1.4 var(--vtm-font-mono); letter-spacing:.08em; }
.gh-content .vtm-timeline-item p { margin:0; }

.gh-content .vtm-view { padding:36px; border-radius:22px; background:linear-gradient(145deg,#0a1735,#122952); color:#fff; }
.gh-content .vtm-view::before { content:"VTM VIEW · WAS JETZT ZÄHLT"; display:block; margin-bottom:24px; color:#9db3ff; font:600 .85rem/1 var(--vtm-font-mono); letter-spacing:.14em; }
.gh-content .vtm-view ol { margin:0; padding:0; list-style:none; counter-reset:view; }
.gh-content .vtm-view li { counter-increment:view; display:grid; grid-template-columns:44px 1fr; gap:16px; padding:16px 0; border-top:1px solid rgba(255,255,255,.14); font-family:var(--vtm-font-display); font-size:1.7rem; line-height:1.25; }
.gh-content .vtm-view li::before { content:"0" counter(view); color:#ffd700; font:500 .85rem/1.8 var(--vtm-font-mono); }

/* Reuse + refine Phase 2 components */
.gh-content .vtm-explainer,
.gh-content .vtm-data-panel,
.gh-content .vtm-process,
.gh-content .vtm-stat-grid { width:min(980px,calc(100vw - 48px)); max-width:none; margin:3.2em 50%; transform:translateX(-50%); }

/* End cap */
.vtm-article-endcap { margin-top:72px; }
.vtm-article-endcap-inner { display:grid; grid-template-columns:1fr auto; gap:18px 32px; padding:26px 0; border-top:1px solid var(--vtmx-line); border-bottom:1px solid var(--vtmx-line); }
.vtm-article-endcap-kicker { grid-column:1/-1; color:var(--vtmx-blue); font:600 .86rem/1 var(--vtm-font-mono); letter-spacing:.13em; text-transform:uppercase; }
.vtm-article-endcap p { margin:0; font-family:var(--vtm-font-display); font-size:2rem; letter-spacing:-.03em; }
.vtm-article-endcap a { align-self:center; color:var(--vtmx-ink); font:600 .95rem/1 var(--vtm-font-mono); letter-spacing:.05em; }
.vtm-article-endcap a span { color:var(--vtmx-blue); }

/* Next best read */
.vtm-read-next { margin:84px auto 0; }
.vtm-read-next-head { display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:start; padding-bottom:24px; border-bottom:1px solid var(--vtmx-line); }
.vtm-read-next-head > span { color:var(--vtmx-blue); font:600 .86rem/1 var(--vtm-font-mono); letter-spacing:.13em; text-transform:uppercase; }
.vtm-read-next-head h2 { max-width:660px; margin:0; font-family:var(--vtm-font-display); font-size:clamp(2.7rem,4vw,4.8rem); line-height:1; letter-spacing:-.045em; }
.vtm-read-next-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:16px; padding-top:22px; }
.vtm-read-next-card { border:1px solid var(--vtmx-line); border-radius:16px; overflow:hidden; background:#fff; }
.vtm-read-next-card a { display:block; color:inherit; }
.vtm-read-next-card figure { margin:0; aspect-ratio:16/9; background:#071638; overflow:hidden; }
.vtm-read-next-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--vtmx-ease); }
.vtm-read-next-card:hover figure img { transform:scale(1.025); }
.vtm-read-next-card a > div { padding:20px; }
.vtm-read-next-tag { color:var(--vtmx-blue); font:600 .82rem/1 var(--vtm-font-mono); letter-spacing:.1em; text-transform:uppercase; }
.vtm-read-next-card h3 { margin:12px 0 28px; font-family:var(--vtm-font-display); font-size:1.8rem; line-height:1.08; letter-spacing:-.03em; }
.vtm-read-next-card.is-primary h3 { font-size:2.4rem; }
.vtm-read-next-cta { color:#66728a; font:500 .86rem/1 var(--vtm-font-mono); letter-spacing:.07em; text-transform:uppercase; }

@media (max-width: 767px) {
    .vtm-article-main { --vtm-article-copy:100%; --vtm-article-wide:100%; }
    .post-template .vtm-article-hero { padding-top:30px; }
    .vtm-article-eyebrow { gap:9px; margin-bottom:14px; }
    .vtm-article-mode { min-height:25px; padding:0 8px; font-size:.78rem; }
    .post-template .vtm-article-eyebrow .gh-article-tag { font-size:.8rem; }
    .vtm-article--analysis .gh-article-header { padding-top:34px; }
    .vtm-article--feature .gh-article-header { width:100%; padding:34px 16px 0; }
    .vtm-article--feature .gh-article-title { font-size:clamp(3.6rem,11.6vw,5rem); }
    .vtm-article--feature .gh-article-image { border-radius:14px 14px 0 0; }
    .vtm-article--feature .gh-content { margin-top:40px; }

    .vtm-article-toc { top:68px; width:100%; margin:12px 0 22px; border-width:1px 0; border-radius:0; box-shadow:none; }
    .vtm-article-toc-track { padding:6px 16px; }
    .vtm-article-toc-link { min-height:36px; max-width:220px; font-size:.86rem; }

    .gh-content .vtm-briefing,
    .gh-content .vtm-takeaway,
    .gh-content .vtm-key-questions,
    .gh-content .vtm-timeline,
    .gh-content .vtm-view,
    .gh-content .vtm-big-statement,
    .gh-content .vtm-explainer,
    .gh-content .vtm-data-panel,
    .gh-content .vtm-process,
    .gh-content .vtm-stat-grid { width:100%; margin:2.5em 0; transform:none; }

    .gh-content .vtm-briefing { padding:20px 16px; border-radius:14px; }
    .gh-content .vtm-briefing-grid { grid-template-columns:1fr; }
    .gh-content .vtm-briefing-item { padding:18px; }
    .gh-content .vtm-takeaway { padding:24px 16px 24px 26px; }
    .gh-content .vtm-takeaway::after { top:24px; bottom:24px; }
    .gh-content .vtm-takeaway p { font-size:2.1rem; }
    .gh-content .vtm-big-statement { padding:14px 0; }
    .gh-content .vtm-big-statement p { font-size:3rem; text-align:left; }
    .gh-content .vtm-key-questions,.gh-content .vtm-view { padding:24px 18px; border-radius:14px; }
    .gh-content .vtm-key-question { grid-template-columns:32px 1fr; }
    .gh-content .vtm-key-question span { font-size:1.45rem; }
    .gh-content .vtm-timeline { padding-left:20px; }
    .gh-content .vtm-timeline-item { grid-template-columns:72px 1fr; gap:14px; }
    .gh-content .vtm-timeline-item::before { left:-27px; }

    .post-template .gh-content .kg-image-card,
    .post-template .gh-content .kg-gallery-card,
    .post-template .gh-content .kg-video-card { margin-block:2.3em; }
    .post-template .gh-content .kg-image-card img { border-radius:10px; }
    .post-template .gh-content .kg-header-card { margin-block:2.6em; border-radius:14px; }

    .vtm-article-endcap { margin-top:48px; }
    .vtm-article-endcap-inner { grid-template-columns:1fr; gap:12px; padding:22px 0; }
    .vtm-article-endcap-kicker { grid-column:auto; }
    .vtm-article-endcap p { font-size:1.75rem; }

    .vtm-read-next { margin-top:58px; }
    .vtm-read-next-head { grid-template-columns:1fr; gap:12px; }
    .vtm-read-next-head h2 { font-size:2.8rem; }
    .vtm-read-next-grid { grid-template-columns:1fr; }
    .vtm-read-next-card figure { aspect-ratio:16/9; }
    .vtm-read-next-card figure img { object-fit:contain; background:#071638; }
    .vtm-read-next-card.is-primary h3,.vtm-read-next-card h3 { font-size:2rem; }
}

@media (prefers-reduced-motion: reduce) {
    .vtm-read-next-card figure img,
    .vtm-article-toc-link { transition:none!important; }
}

/* =========================================================
   VTM ARTICLE LEGACY COMPATIBILITY — v8.2.1
   Makes older Ghost articles read cleanly on phones without
   requiring editors to republish or rebuild the content.
   ========================================================= */

/* Empty legacy paragraphs should never create artificial whitespace. */
.post-template .gh-content > p:empty,
.post-template .gh-content > p:has(> br:only-child) {
    display: none;
}

@media (max-width: 767px) {
    /* Tighten the hand-off from hero/feature image into article copy. */
    .post-template .gh-article-image {
        margin-top: 30px;
        margin-bottom: 26px;
    }
    .post-template .gh-content > :first-child {
        margin-top: 0 !important;
    }

    /* Legacy articles often contain paragraph breaks that were designed
       for the old theme. Keep rhythm editorial, but remove "blank-screen" gaps. */
    .post-template .gh-content > p {
        margin-top: 0;
        margin-bottom: .9em;
    }
    .post-template .gh-content > p + p {
        margin-top: .25em;
    }
    .post-template .gh-content > h2 {
        margin-top: 1.35em;
        margin-bottom: .62em;
    }
    .post-template .gh-content > h3 {
        margin-top: 1.25em;
        margin-bottom: .58em;
    }
    .post-template .gh-content > h2 + p,
    .post-template .gh-content > h3 + p {
        margin-top: 0;
    }

    /* Lists: align with the article column instead of looking like a nested card. */
    .post-template .gh-content > ul {
        margin: 1em 0 1.15em;
        padding-left: 0 !important;
        list-style: none;
    }
    .post-template .gh-content > ul > li {
        position: relative;
        margin: .62em 0;
        padding-left: 1.35rem !important;
    }
    .post-template .gh-content > ul > li::before {
        left: 0 !important;
        top: .08em;
        font-size: 1.15em;
        line-height: 1.35;
    }
    .post-template .gh-content > ol {
        margin: 1em 0 1.15em;
        padding-left: 1.45em !important;
    }
    .post-template .gh-content > ol > li {
        margin: .55em 0;
        padding-left: .12em !important;
    }

    /* Old Ghost cards sometimes carry generous desktop spacing. */
    .post-template .gh-content .kg-image-card,
    .post-template .gh-content .kg-gallery-card,
    .post-template .gh-content .kg-video-card,
    .post-template .gh-content .kg-bookmark-card,
    .post-template .gh-content .kg-callout-card,
    .post-template .gh-content .kg-toggle-card {
        margin-top: 1.7em;
        margin-bottom: 1.7em;
    }

    /* Avoid stacked margins amplifying each other around legacy separators. */
    .post-template .gh-content > hr {
        margin: 2.6rem auto;
    }
}

/* Keep the v8.2.2 desktop refinements last: Phase 2 components above
   intentionally define their base styles later in this file. */
@media (min-width: 768px) {
    .vtmx-command { margin-top: 24px; }
    .vtmx-signal { margin-top: 60px; padding: 34px 38px; }
    .vtmx-signal-head { padding-bottom: 24px; }
    .vtmx-signal-head h2 { font-size: clamp(3rem, 3.2vw, 4.35rem); }
    .vtmx-signal-card { min-height: 218px; padding: 22px 18px; }
    .vtmx-signal-value { margin-top: 22px; font-size: 4.1rem; }

    /* The lead stays editorial, but should not overpower the entire front page. */
    .vtmx-cover-title {
        max-width: 18ch;
        font-size: clamp(3rem, 2.45vw, 4.2rem);
        line-height: 1;
    }
}

/* v8.2.4 — Calm the default (legacy/news) article experience without
   changing the deliberately more expressive Analysis and Feature modes. */
@media (min-width: 768px) {
    .vtm-article--news .gh-article-header {
        width: min(1100px, calc(100vw - 64px));
        padding-top: 40px;
    }
    .vtm-article--news .gh-article-header .vtm-breadcrumb { margin-bottom: 18px; }
    .vtm-article--news .vtm-article-eyebrow { margin-bottom: 14px; }
    .vtm-article--news .gh-article-title {
        max-width: 760px;
        font-size: clamp(3.8rem, 3.4vw, 5.5rem);
        line-height: 1.01;
        letter-spacing: -.045em;
    }
    .vtm-article--news .gh-article-excerpt {
        max-width: 720px;
        margin-top: 18px;
        font-size: 1.7rem;
        line-height: 1.45;
    }
    /* Metadata belongs to the story rather than sitting in a detached rail. */
    .vtm-article--news .gh-article-sidebar {
        position: static;
        grid-column: main-start / main-end;
        justify-self: center;
        width: min(720px, 100%);
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        max-width: 720px;
        margin: 20px auto 0;
        padding: 12px 0;
        border-top: 1px solid var(--vtmx-line);
        border-bottom: 1px solid var(--vtmx-line);
    }
    .vtm-article--news .gh-author-image-list { margin: 0; }
    .vtm-article--news .gh-author-image,
    .vtm-article--news .gh-author-image-list .gh-author-image:only-child {
        width: 36px;
        height: 36px;
        margin: 0;
    }
    .vtm-article--news .gh-author-name-list { font-size: 1.25rem; }
    .vtm-article--news .gh-article-meta { margin-left: auto; }
    .vtm-article--news .gh-article-image { margin: 32px auto 38px; }
    .vtm-article--news .gh-content > p { margin: 0 0 1.05em; }
    .vtm-article--news .gh-content > h2 {
        margin-top: 1.65em;
        margin-bottom: .62em;
        font-size: 3.1rem;
        line-height: 1.08;
    }
    .vtm-article--news .gh-content > h3 {
        margin-top: 1.45em;
        margin-bottom: .56em;
        font-size: 2.35rem;
    }
    .vtm-article--news .gh-content > ul {
        margin: .95em 0 1.05em;
        padding-left: 0;
        list-style: none;
    }
    .vtm-article--news .gh-content > ul > li {
        margin: .45em 0;
        padding-left: 1.25rem;
    }
    .vtm-article--news .gh-content > ul > li::before { left: 0; }
    .vtm-article--news .gh-content > ol {
        margin: .95em 0 1.05em;
        padding-left: 1.25em;
    }
    .vtm-article--news .gh-content > ol > li {
        margin: .45em 0;
        padding-left: .08em;
    }
    .vtm-article--news .gh-content .kg-image-card,
    .vtm-article--news .gh-content .kg-gallery-card,
    .vtm-article--news .gh-content .kg-video-card { margin-block: 2.25em; }
}
