/* Valcored Ads: labelled ad spaces and the "Advertise with us" house ad. */
.vnn-spot{--vs-ink:#0b1b33;--vs-muted:#5b6b82;--vs-line:#dfe5ee;--vs-accent:#d4123c;display:block;width:min(100%,var(--vs-w,728px));max-width:var(--wrap,100%);margin:24px auto;font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);clear:both}
.vnn-spot__bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 5px;font-size:11px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--vs-muted)}
.vnn-spot__label{font-weight:700}
.vnn-spot__cta{color:var(--vs-muted);text-decoration:underline;text-underline-offset:2px;text-transform:none;letter-spacing:0;font-size:12px}
.vnn-spot__cta:hover,.vnn-spot__cta:focus-visible{color:var(--vs-accent)}
.vnn-spot__box{position:relative;width:100%;aspect-ratio:var(--vs-r,728/90);background:#f3f6fa;border-radius:6px;overflow:hidden;container-type:inline-size}
.vnn-spot.is-ad .vnn-spot__box{aspect-ratio:auto;background:none}
.vnn-spot__ad{display:block;line-height:0}
.vnn-spot__ad img{display:block;width:100%;height:auto;max-width:var(--vs-w,728px);border-radius:6px}
.vnn-spot__ad:focus-visible{outline:3px solid var(--vs-accent);outline-offset:3px}
@media (max-width:599px){.vnn-spot.has-m{width:min(100%,var(--vs-mw,320px))}.vnn-spot.has-m .vnn-spot__box{aspect-ratio:var(--vs-mr,320/100)}.vnn-spot.has-m .vnn-spot__ad img{max-width:100%}.vnn-spot.has-m.is-ad .vnn-spot__box{aspect-ratio:auto}.vnn-spot.has-m.is-ad{width:100%}}
/* In the theme's sidebar rail and story column the space takes the column width. */
.vnn-rail__ad .vnn-spot,.vnn-article__aside .vnn-spot{margin:0 auto}
.vnn-grid>.vnn-spot{grid-column:1/-1;margin:4px auto}

/* VNN's own ad (1.2.0): moving like the story covers. Navy glass, drifting glows, a light sweep, the VNN mark,
   and messages that slide in turn. Still for readers who ask for less motion; pauses on hover, focus or the button. */
.vnn-house{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;gap:14px;padding:10px 16px;color:#fff;border-radius:inherit;background:linear-gradient(135deg,#0b1b33 0%,#13294b 55%,#0d2142 100%);font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);isolation:isolate;text-decoration:none}
a.vnn-house:hover .vnn-house__go{background:#fff;color:var(--vs-accent)}
.vnn-house__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.vnn-house__glow{position:absolute;width:70%;aspect-ratio:1;left:-20%;top:-60%;border-radius:50%;background:radial-gradient(circle,rgba(212,18,60,.55),transparent 65%);filter:blur(6px);animation:vnnh-drift 14s ease-in-out infinite alternate}
.vnn-house__glow.is-2{left:auto;right:-25%;top:auto;bottom:-70%;background:radial-gradient(circle,rgba(56,120,220,.5),transparent 65%);animation-duration:17s;animation-direction:alternate-reverse}
.vnn-house__sweep{position:absolute;top:-50%;bottom:-50%;width:28%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);animation:vnnh-sweep 6.5s ease-in-out infinite}
@keyframes vnnh-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(35%,25%) scale(1.25)}}
@keyframes vnnh-sweep{0%,55%{left:-40%}85%,100%{left:120%}}
.vnn-house__mark{flex:none;position:relative;overflow:hidden;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(160deg,#ff4d6d,#d4123c 55%,#a00a2c);font:800 14px/1 var(--sans,system-ui,Arial,sans-serif);letter-spacing:.05em;box-shadow:0 8px 20px -8px rgba(212,18,60,.8)}
.vnn-house__mark::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);animation:vnnh-shine 5s ease-in-out infinite}
@keyframes vnnh-shine{0%,70%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.vnn-house__frames{position:relative;flex:1;align-self:stretch;min-width:0}
.vnn-house__frame{position:absolute;inset:0;display:flex;align-items:center;gap:14px;color:#fff!important;text-decoration:none!important;opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.vnn-house__frame.is-on{opacity:1;transform:none;pointer-events:auto}
.vnn-house__frame:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:6px}
.vnn-house__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.vnn-house__kicker{font:800 10.5px/1.2 var(--sans,system-ui,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#ff9db0}
.vnn-house__title,.vnn-house__copy strong{font:600 17px/1.2 var(--serif,Georgia,serif);color:#fff}
.vnn-house__text{font-size:13px;line-height:1.35;color:#c9d6e6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vnn-house__go{flex:none;padding:9px 15px;border-radius:999px;background:var(--vs-accent,#d4123c);color:#fff;font:700 13px/1 var(--sans,system-ui,Arial,sans-serif);box-shadow:0 6px 16px -6px rgba(212,18,60,.9);transition:background .15s,color .15s}
.vnn-house__frame:hover .vnn-house__go,.vnn-house__frame:focus-visible .vnn-house__go{background:#fff;color:var(--vs-accent,#d4123c)}
.vnn-house__frame.is-subscribe .vnn-house__kicker{color:#ffd27a}
.vnn-house__frame.is-subscribe .vnn-house__go{background:#f5a20a;color:#1b1300;box-shadow:0 6px 16px -6px rgba(245,162,10,.9)}
.vnn-house__frame.is-briefing .vnn-house__kicker,.vnn-house__frame.is-app .vnn-house__kicker{color:#9cc3ff}
.vnn-house__frame.is-briefing .vnn-house__go,.vnn-house__frame.is-app .vnn-house__go{background:#2f6fd6;box-shadow:0 6px 16px -6px rgba(47,111,214,.9)}
.vnn-house__nav{position:absolute;right:8px;bottom:6px;display:flex;align-items:center;gap:5px;z-index:2}
.vnn-house__dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer}
.vnn-house__dot[aria-pressed="true"]{background:#fff;width:16px;border-radius:4px}
.vnn-house__pause{position:relative;width:18px;height:18px;margin-left:4px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer}
.vnn-house__pause::before,.vnn-house__pause::after{content:"";position:absolute;top:5px;width:2px;height:8px;background:#fff;left:6px}
.vnn-house__pause::after{left:10px}
.vnn-house__pause.is-paused::before{left:7px;width:0;height:0;background:none;border-left:7px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent;top:5px}
.vnn-house__pause.is-paused::after{display:none}
.vnn-house__dot:focus-visible,.vnn-house__pause:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vnn-house.is-paused *,.vnn-house.is-off *,.vnn-house.is-still *{animation-play-state:paused!important}
.vnn-house.is-still .vnn-house__frame{transition:none}
@media (prefers-reduced-motion:reduce){.vnn-house *{animation:none!important;transition:none!important}}
/* Boxes (sidebar, tall, end of story, in story, Spotlight): stacked and centred. */
.vnn-spot--sidebar .vnn-house,.vnn-spot--sidebar_tall .vnn-house,.vnn-spot--article .vnn-house,.vnn-spot.is-instory .vnn-house,.vnn-spot.is-spotlight .vnn-house{flex-direction:column;justify-content:center;text-align:center;padding:18px 18px 26px}
.vnn-spot--sidebar .vnn-house__frame,.vnn-spot--sidebar_tall .vnn-house__frame,.vnn-spot--article .vnn-house__frame,.vnn-spot.is-instory .vnn-house__frame,.vnn-spot.is-spotlight .vnn-house__frame{flex-direction:column;justify-content:center;gap:12px}
.vnn-spot--sidebar .vnn-house__copy,.vnn-spot--sidebar_tall .vnn-house__copy,.vnn-spot--article .vnn-house__copy,.vnn-spot.is-instory .vnn-house__copy,.vnn-spot.is-spotlight .vnn-house__copy{flex:none;align-items:center;gap:6px}
.vnn-spot--sidebar .vnn-house__title,.vnn-spot--article .vnn-house__title,.vnn-spot.is-instory .vnn-house__title,.vnn-spot.is-spotlight .vnn-house__title{font-size:21px}
.vnn-spot--sidebar_tall .vnn-house__title{font-size:26px}
.vnn-spot--sidebar_tall .vnn-house__text{font-size:15px;-webkit-line-clamp:5}
.vnn-spot--sidebar_tall .vnn-house__mark{width:64px;height:64px;font-size:19px;border-radius:16px}
.vnn-spot--sidebar .vnn-house__text,.vnn-spot--article .vnn-house__text,.vnn-spot.is-instory .vnn-house__text{-webkit-line-clamp:3}
.vnn-spot--sidebar .vnn-house__nav,.vnn-spot--sidebar_tall .vnn-house__nav,.vnn-spot--article .vnn-house__nav,.vnn-spot.is-instory .vnn-house__nav,.vnn-spot.is-spotlight .vnn-house__nav{right:50%;transform:translateX(50%);bottom:9px}
/* The billboard: bigger words. Short banners: one line. */
.vnn-spot--infeed .vnn-house__title{font-size:clamp(17px,3.2cqw,30px)}
.vnn-spot--infeed .vnn-house__text{font-size:clamp(12px,1.7cqw,16px)}
.vnn-spot--infeed .vnn-house__mark{width:clamp(46px,8cqw,76px);height:clamp(46px,8cqw,76px);font-size:clamp(14px,2.2cqw,22px)}
@container (max-width:480px){.vnn-spot--leaderboard .vnn-house,.vnn-spot--infeed .vnn-house{gap:10px;padding:8px 12px}.vnn-spot--leaderboard .vnn-house__mark{width:32px;height:32px;font-size:11px;border-radius:8px}.vnn-spot--leaderboard .vnn-house__title{font-size:14px}.vnn-spot--leaderboard .vnn-house__text,.vnn-spot--leaderboard .vnn-house__kicker{display:none}.vnn-spot--leaderboard .vnn-house__go{padding:7px 10px;font-size:12px}.vnn-spot--leaderboard .vnn-house__nav{display:none}}
.vnn-spot--leaderboard .vnn-house__text{-webkit-line-clamp:1}
.vnn-spot--leaderboard .vnn-house__nav{bottom:3px}
@media print{.vnn-spot{display:none}}
.vnn-prose>.vnn-spot{max-width:var(--wrap,100%)}

/* 1.1.0: card ads (photo and words laid out by VNN). Container queries choose the layout for the space. */
.vnn-spot.is-card .vnn-spot__box{aspect-ratio:auto;background:none;overflow:visible}
.vnn-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--vs-line,#dfe5ee);border-radius:8px;overflow:hidden;text-decoration:none!important;color:#1b2a41;font-family:var(--sans,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);line-height:1.35;container-type:inline-size;width:100%}
.vnn-card:hover .vnn-card__btn,.vnn-card:focus-visible .vnn-card__btn{filter:brightness(1.12)}
.vnn-card:focus-visible{outline:3px solid #1b5fd1;outline-offset:3px}
.vnn-card__img{display:block;width:100%;height:auto;aspect-ratio:1.91/1;object-fit:cover;background:#eef2f7;margin:0;border-radius:0}
.vnn-card__body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}
.vnn-card__h{font:700 17px/1.25 var(--sans,system-ui,Arial,sans-serif);color:#0b1b33}
.vnn-card__biz{font-size:12.5px;font-weight:600;color:#5b6b82}
.vnn-card__t{font-size:14px;color:#33445c}
.vnn-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.vnn-card__host{font-size:12.5px;color:#5b6b82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vnn-card__btn{flex:none;padding:8px 16px;border-radius:999px;background:#0b1b33;color:#fff;font:700 13px/1 var(--sans,system-ui,Arial,sans-serif)}
/* Short, wide spaces (top banner 728 × 90, phones 320 × 100): one compact row. */
.vnn-spot--leaderboard .vnn-card{flex-direction:row;align-items:center;height:auto;max-height:110px}
.vnn-spot--leaderboard .vnn-card__img{width:auto;height:90px;max-height:90px;flex:none}
.vnn-spot--leaderboard .vnn-card__body{flex:1;min-width:0;flex-direction:row;align-items:center;gap:12px;padding:8px 12px}
.vnn-spot--leaderboard .vnn-card__h{flex:1;min-width:0;font-size:15px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vnn-spot--leaderboard .vnn-card__biz,.vnn-spot--leaderboard .vnn-card__t,.vnn-spot--leaderboard .vnn-card__host{display:none}
.vnn-spot--leaderboard .vnn-card__foot{margin:0}
@media (max-width:599px){.vnn-spot--leaderboard .vnn-card__img{height:72px}.vnn-spot--leaderboard .vnn-card__h{font-size:13.5px}.vnn-spot--leaderboard .vnn-card__btn{padding:7px 10px;font-size:12px}}
/* The billboard (970 × 250): photo beside the words on wide screens. */
@container (min-width:620px){.vnn-spot--infeed .vnn-card{flex-direction:row}.vnn-spot--infeed .vnn-card__img{width:48%;height:auto}.vnn-spot--infeed .vnn-card__body{justify-content:center;padding:20px 26px;gap:8px}.vnn-spot--infeed .vnn-card__h{font-size:24px}.vnn-spot--infeed .vnn-card__t{font-size:16px}}
/* Boxes: photo on top, words centred (the classic card). */
.vnn-spot--sidebar .vnn-card__body,.vnn-spot--article .vnn-card__body,.vnn-spot--sidebar_tall .vnn-card__body{text-align:center;align-items:center}
.vnn-spot--sidebar .vnn-card__foot,.vnn-spot--article .vnn-card__foot,.vnn-spot--sidebar_tall .vnn-card__foot{flex-direction:column}
.vnn-spot--sidebar_tall .vnn-card{min-height:560px}
.vnn-spot--sidebar_tall .vnn-card__body{flex:1;justify-content:center;gap:10px;padding:22px 18px}
.vnn-spot--sidebar_tall .vnn-card__h{font-size:22px}
.vnn-spot--sidebar_tall .vnn-card__t{font-size:15px}
.vnn-spot--sidebar_tall .vnn-card__btn{padding:12px 26px;font-size:15px}
/* In-story places: the width of the story column, never wider than a large rectangle unless it is a card. */
.vnn-spot.is-instory{width:min(100%,var(--vs-w,300px));margin:28px auto}
.vnn-spot.is-instory.is-card{width:min(100%,560px)}
.vnn-prose>.vnn-spot.is-instory{max-width:none}
/* Spotlight: a small corner card (bottom of the screen on phones), never covering the story. */
.vnn-spot.is-spotlight{position:fixed;z-index:9990;right:16px;bottom:16px;width:min(320px,calc(100vw - 32px));margin:0;padding:10px 10px 12px;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(11,27,51,.28);transform:translateY(calc(100% + 30px));opacity:0;transition:transform .35s ease,opacity .35s ease}
.vnn-spot.is-spotlight.is-open{transform:none;opacity:1}
.vnn-spot.is-spotlight .vnn-spot__bar{padding-right:30px}
.vnn-spot__close{position:absolute;top:4px;right:6px;width:30px;height:30px;border:0;border-radius:50%;background:#eef2f7;color:#0b1b33;font:400 20px/1 system-ui,Arial,sans-serif;cursor:pointer}
.vnn-spot__close:focus-visible{outline:3px solid #1b5fd1;outline-offset:2px}
.vnn-spot.is-spotlight .vnn-card__img{max-height:140px}
@media (max-width:599px){.vnn-spot.is-spotlight{left:8px;right:8px;bottom:8px;width:auto;max-height:28vh;overflow:hidden;padding:8px}.vnn-spot.is-spotlight .vnn-card{flex-direction:row;align-items:center}.vnn-spot.is-spotlight .vnn-card__img{width:110px;height:auto;max-height:none;flex:none}.vnn-spot.is-spotlight .vnn-card__body{padding:6px 10px;gap:2px}.vnn-spot.is-spotlight .vnn-card__h{font-size:14px}.vnn-spot.is-spotlight .vnn-card__t,.vnn-spot.is-spotlight .vnn-card__host{display:none}.vnn-spot.is-spotlight .vnn-spot__ad img{max-height:18vh;width:auto;margin:0 auto}}
@media (prefers-reduced-motion:reduce){.vnn-spot.is-spotlight{transition:opacity .2s}}
@media print{.vnn-spot.is-spotlight{display:none}}

.vnn-spot[hidden]{display:none!important}

/* 1.2.0: Google first. The AdSense unit sits at the top of the space; VNN's ad shows below it until Google fills it. */
.vnn-spot__g .vcn-ad-slot{margin:0;width:100%;min-height:0}
.vnn-spot.has-g:not(.is-g) .vnn-spot__g{height:0;overflow:hidden}
.vnn-spot.has-g:not(.is-g) .vnn-spot__g .vcn-ad-label{display:none}
.vnn-spot__g ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.vnn-spot.is-g .vnn-spot__bar,.vnn-spot.is-g .vnn-spot__box{display:none}
/* Ads as widgets: in the sidebar and at the end of a story they fill the column and wear the sidebar's card style. */
.vnn-rail .vnn-spot,.vnn-article__aside .vnn-spot,.widget .vnn-spot,.vnn-spot--article{width:100%;max-width:none;margin:0;padding:14px 14px 16px;border-radius:22px;background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(243,247,252,.86));box-shadow:0 0 0 1px rgba(11,27,51,.07),inset 0 1px 0 #fff,0 22px 44px -26px rgba(11,27,51,.42);container-type:inline-size}
.vnn-spot--article{margin:28px 0}
.vnn-rail .vnn-spot__box,.vnn-article__aside .vnn-spot__box,.widget .vnn-spot__box,.vnn-spot--article .vnn-spot__box{border-radius:14px}
.vnn-rail .vnn-spot.is-ad .vnn-spot__ad,.vnn-article__aside .vnn-spot.is-ad .vnn-spot__ad,.widget .vnn-spot.is-ad .vnn-spot__ad,.vnn-spot--article.is-ad .vnn-spot__ad{display:flex;justify-content:center}
.vnn-spot--article.is-card .vnn-card,.vnn-rail .vnn-spot.is-card .vnn-card{max-width:560px;margin:0 auto}
/* The end-of-story box: a wide banner across the story column (VNN's own ad); paid images stay at their size, centred. */
@container (min-width:520px){.vnn-spot--article:not(.is-ad) .vnn-spot__box{aspect-ratio:16/5}.vnn-spot--article .vnn-house{flex-direction:row;text-align:left;padding:14px 22px}.vnn-spot--article .vnn-house__frame{flex-direction:row;gap:18px}.vnn-spot--article .vnn-house__copy{flex:1;align-items:flex-start}.vnn-spot--article .vnn-house__nav{right:12px;transform:none}}
/* Phones and narrow screens: the tall box would be too tall when the sidebar sits under the story. */
@media (max-width:899px){.vnn-spot--sidebar_tall:not(.is-ad) .vnn-spot__box{aspect-ratio:6/5}.vnn-spot--sidebar_tall.is-card .vnn-card{min-height:0}}
/* In stories, VNN's own ad spans the story column. */
.vnn-spot.is-instory.is-house{width:min(100%,640px)}
.vnn-spot.is-instory.is-house .vnn-spot__box{aspect-ratio:16/7;border-radius:14px}
@container (max-width:420px){.vnn-spot.is-instory.is-house .vnn-spot__box{aspect-ratio:6/5}}
.vnn-spot.is-spotlight.is-house .vnn-spot__box{aspect-ratio:6/5}
@media (max-width:599px){.vnn-spot.is-spotlight.is-house .vnn-spot__box{aspect-ratio:auto;height:150px}.vnn-spot.is-spotlight .vnn-house{padding:10px 12px 22px}.vnn-spot.is-spotlight .vnn-house__mark{display:none}.vnn-spot.is-spotlight .vnn-house__frame{gap:8px}.vnn-spot.is-spotlight .vnn-house__title{font-size:17px}.vnn-spot.is-spotlight .vnn-house__text{-webkit-line-clamp:1;font-size:12.5px}}

.vnn-spot__auth{margin:6px 0 0;font:500 11.5px/1.35 var(--sans,system-ui,Arial,sans-serif);color:#5b6b82;text-align:left}
.vnn-spot.is-ad .vnn-spot__box{display:block}
