.case-vn-revival{background:#fafbf8;color:#19211c}
.case-vn-revival .case-lead{padding-bottom:36px}
.case-vn-revival .case-lead>p{max-width:780px;font-size:clamp(18px,1.8vw,24px)}
.case-vn-revival .case-stage{display:block;height:auto;margin:0;padding:32px 32px 22px;overflow:hidden;background:#e5eadb;border-radius:24px}
.vn-mobile-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start;padding:0 4px 22px}
.vn-mobile-card{position:relative;min-width:0;overflow:hidden;border-radius:12px;background:#11130c;box-shadow:0 10px 20px #17211325}
.vn-mobile-card:first-child,.vn-mobile-card:last-child{margin-top:42px}
.case-vn-revival .vn-mobile-card img{position:absolute;display:block;width:108.839779%;max-width:none;height:auto;left:-4.419890%;top:var(--crop-top);border:0;border-radius:0}
.case-vn-revival .vn-mobile-card img[data-media-src]{aspect-ratio:591 / 1280}
.case-vn-revival .case-stage figcaption{position:static;padding:0;text-align:center;background:none;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:#354337}
.vn-mobile-gallery:focus-visible{outline:2px solid #315c3b;outline-offset:5px;border-radius:8px}
@media(max-width:900px){.case-vn-revival .case-stage{padding:24px 16px 18px}.vn-mobile-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 0 22px;scrollbar-width:none}.vn-mobile-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.vn-mobile-card:first-child,.vn-mobile-card:last-child{margin-top:0}}
.vn-results{padding:42px 0 36px;border-bottom:1px solid #bfc8bd}
.vn-results dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.vn-results dl>div{text-align:center;padding:0 16px;border-right:1px solid #bfc8bd}
.vn-results dl>div:last-child{border:0}
.vn-results dt{font-size:clamp(25px,3vw,38px);font-weight:750;letter-spacing:-.045em;line-height:1.2}
.vn-results dd{margin:7px 0 0;font-size:15px;color:#505a52}
.vn-results>p{margin:25px 0 0;text-align:center;font-size:12px;color:#626b64}
.vn-section{padding:48px 0;border-bottom:1px solid #bfc8bd}
.vn-section:last-child{border:0;padding-bottom:64px}
.vn-section h2{margin:0 0 14px;font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.04em}
.vn-section>p{max-width:900px;margin:0 0 24px;font-size:16px;line-height:1.6;color:#49544c}
.vn-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:260px;padding:55px 28px 35px;border:1px solid #dce3d8;border-radius:5px;background:#e7ece3;text-align:center;color:#354337}
.vn-slot-label{position:absolute;top:16px;left:18px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#596751}
.vn-slot p{max-width:520px;margin:0;font-size:18px;line-height:1.5}
.vn-slot small{max-width:440px;margin-top:10px;font-size:13px;line-height:1.5;color:#65705f}
.vn-slot-wide{min-height:340px}
.vn-slot-command{min-height:145px;margin-top:16px}
.vn-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vn-pair figure{min-width:0;margin:0}
.vn-pair img{display:block;width:100%;height:auto;border:1px solid #dce3d8;border-radius:5px}
.vn-pair figcaption{padding-top:10px;font-size:12px;line-height:1.5;color:#59615a}
.vn-install-pair{margin-top:24px;align-items:start}
.vn-install-pair .vn-slot{width:100%;min-height:0;aspect-ratio:1500/1040}
.vn-section>p.vn-caption{margin:14px 0 0;font-size:14px;line-height:1.6}
.vn-context{max-width:900px;margin:24px 0 0;font-size:15px;line-height:1.6;color:#49544c}
.vn-example-title{margin:30px 0 16px;font-size:19px;line-height:1.4;letter-spacing:-.02em}
@media(max-width:650px){.case-vn-revival .case-stage{width:100%;margin:0;padding:18px 12px 16px;border-radius:18px}.case-vn-revival .case-stage figcaption{font-size:12px}.case-vn-revival .case-lead{padding-bottom:26px}.vn-results{padding:30px 0}.vn-results dl{grid-template-columns:1fr}.vn-results dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-align:left;padding:15px 0;border-right:0;border-bottom:1px solid #dce3d8}.vn-results dt{font-size:29px}.vn-results dd{font-size:13px;text-align:right}.vn-results>p{text-align:left;line-height:1.5;margin-top:18px}.vn-section{padding:34px 0}.vn-section>p{font-size:14px;margin-bottom:20px}.vn-pair{grid-template-columns:1fr;gap:18px}.vn-slot{min-height:220px;padding:48px 20px 28px}.vn-slot-wide{min-height:250px}.vn-slot-command{min-height:160px}.vn-slot p{font-size:16px}.vn-slot small{font-size:12px}.vn-install-pair .vn-slot{min-height:220px;aspect-ratio:auto}.vn-section>p.vn-caption{font-size:13px}.vn-context{font-size:14px}}

.vn-evidence{min-width:0;margin:0}.vn-evidence img{display:block;width:100%;height:auto;border:1px solid #dce3d8;border-radius:5px}.vn-evidence figcaption{padding-top:10px;font-size:12px;line-height:1.5;color:#59615a}.vn-evidence a{color:inherit;text-underline-offset:3px}.vn-evidence>a{display:block}.vn-evidence a:focus-visible{outline:2px solid #315c3b;outline-offset:4px}.vn-release-screen{max-width:1265px}

.vn-desktop-preview{margin-bottom:32px}.vn-desktop-preview a{display:block;border-radius:12px;overflow:hidden;box-shadow:0 10px 20px #17211320}.vn-desktop-preview img{display:block;width:100%;height:auto}.vn-desktop-preview span{display:block;margin-top:12px;text-align:center;font-size:14px;color:#354337}.vn-desktop-preview a:focus-visible{outline:2px solid #315c3b;outline-offset:5px}@media(max-width:650px){.vn-desktop-preview{margin-bottom:24px}.vn-desktop-preview span{font-size:12px}}

.vn-admin-track{position:relative;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7c8a70 transparent}
.vn-admin-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start}
.vn-admin-slide figcaption{display:flex;gap:16px;align-items:baseline;padding:16px 2px 12px;font-size:14px;line-height:1.5}
.vn-admin-slide figcaption strong{flex-shrink:0;font-weight:700}.vn-admin-slide figcaption span{color:#59615a}
.vn-admin-controls:not([hidden]){display:flex;justify-content:center;align-items:center;gap:14px;margin:12px 0 20px}
.vn-admin-controls button{display:inline-flex;align-items:center;justify-content:center;padding:0;font:inherit;cursor:pointer}
.vn-admin-dots{display:flex;gap:0}.vn-admin-dots button{width:32px;height:44px;border:0;border-radius:0;background:transparent}.vn-admin-dots button:before{content:'';width:7px;height:7px;border-radius:50%;background:#adb7a8}.vn-admin-dots button[aria-current=true]:before{background:#315c3b;width:9px;height:9px}
.vn-admin-track:focus-visible{outline:2px solid #315c3b;outline-offset:-2px}
@media(max-width:650px){.vn-admin-slide figcaption{display:block;font-size:13px}.vn-admin-slide figcaption span{display:block;margin-top:4px}.vn-admin-controls:not([hidden]){gap:10px}}

.vn-admin-carousel[data-enhanced] .vn-admin-track{scrollbar-width:none}.vn-admin-carousel[data-enhanced] .vn-admin-track::-webkit-scrollbar{display:none}

/* Owner-supplied admin evidence: keep every screenshot intact and readable. */
.vn-admin-image{display:flex;width:100%;aspect-ratio:4/3;align-items:center;background:#fff;border:1px solid #dce3d8;border-radius:8px;overflow:hidden;cursor:zoom-in}
.vn-admin-image img{display:block;width:100%;height:100%;object-fit:contain}
.vn-admin-slide figcaption a{margin-left:auto;flex-shrink:0;color:#315c3b;text-underline-offset:3px}
.vn-admin-image:focus-visible{outline:2px solid #315c3b;outline-offset:-3px}
@media(max-width:650px){.vn-admin-slide figcaption a{display:inline-block;margin-top:8px}.vn-admin-controls:not([hidden]){display:grid;grid-template-columns:44px 1fr 44px;gap:2px 12px}.vn-admin-controls>.vn-admin-dots{grid-row:2;grid-column:1/-1;justify-content:center}.vn-admin-controls>button:last-child{grid-column:3;grid-row:1}}

.vn-agent-divider{max-width:900px;margin:36px 0 28px}.vn-agent-divider h3{margin:0 0 12px;font-size:clamp(21px,2.2vw,28px);line-height:1.25;letter-spacing:-.025em}.vn-agent-divider p{margin:0;color:#49544c;font-size:16px;line-height:1.65}@media(max-width:650px){.vn-agent-divider{margin:28px 0 22px}.vn-agent-divider p{font-size:14px}}

.vn-cli-carousel .vn-slot,.vn-ftl-carousel .vn-slot{width:100%;aspect-ratio:4/3;min-height:0}

.vn-contribution-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px;max-width:1050px;margin:24px 0 0;padding-left:20px;color:#49544c;font-size:16px;line-height:1.5}.vn-contribution-list li::marker{color:#315c3b}@media(max-width:650px){.vn-contribution-list{grid-template-columns:1fr;gap:10px;margin-top:20px;font-size:14px}}

/* Illustrated workflow: real text reflows independently from the decoration. */
.vn-workflow{margin-bottom:32px;overflow:hidden;border:1px solid #dce3d8;border-radius:24px;background:#fafbf8}
.vn-workflow-banner{position:relative;display:flex;align-items:end;min-height:280px;padding:36px;background:#e5eadb}
.vn-workflow-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:650px){.vn-workflow-banner img{object-position:63% center}}
.vn-workflow-banner h2{position:relative;margin:0;max-width:55%;font-size:clamp(30px,3.6vw,48px);line-height:1.05;letter-spacing:-.045em;color:#19211c}
.vn-workflow-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:24px 24px 36px;gap:0}
.vn-workflow-steps li{position:relative;min-width:0;text-align:center;padding:0 8px}
.vn-workflow-steps li:before{content:'';position:absolute;left:0;right:0;top:23px;height:1px;background:#537953}
.vn-workflow-steps li:first-child:before{left:50%}.vn-workflow-steps li:last-child:before{right:50%}
.vn-workflow-number{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 auto 20px;border-radius:50%;background:#315c3b;color:#fafbf8;font-size:20px;font-weight:650}
.vn-workflow-steps h3{margin:0 0 8px;font-size:clamp(16px,1.7vw,22px);letter-spacing:-.03em;line-height:1.2}
.vn-workflow-steps p{min-height:40px;margin:0 0 12px;font-size:13px;line-height:1.5;color:#49544c}
.vn-workflow-role{display:inline-block;padding:5px 10px;color:#315c3b;font-size:12px;font-weight:650;white-space:nowrap}
.vn-workflow-human{border-radius:20px;background:#dce8d9;color:#193326}
@media(max-width:1000px){.vn-workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0}.vn-workflow-steps li:nth-child(3):before{right:50%}.vn-workflow-steps li:nth-child(4):before{left:50%}.vn-workflow-banner{min-height:240px}}
@media(max-width:650px){.vn-workflow{border-radius:18px}.vn-workflow-banner{min-height:230px;padding:22px}.vn-workflow-banner h2{max-width:100%;font-size:32px;text-shadow:0 1px 14px #fafbf8}.vn-workflow-steps{display:block;padding:12px 22px 24px}.vn-workflow-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:16px;text-align:left;padding:0 0 24px}.vn-workflow-steps li:last-child{padding-bottom:0}.vn-workflow-steps li:before,.vn-workflow-steps li:first-child:before,.vn-workflow-steps li:last-child:before,.vn-workflow-steps li:nth-child(3):before,.vn-workflow-steps li:nth-child(4):before{left:18px;right:auto;top:0;bottom:0;width:1px;height:auto}.vn-workflow-steps li:last-child:before{display:none}.vn-workflow-number{grid-column:1;grid-row:1/4;width:38px;height:38px;font-size:17px;margin:0}.vn-workflow-steps h3{grid-column:2;font-size:20px;margin:3px 0 5px}.vn-workflow-steps p{grid-column:2;min-height:0;margin:0 0 7px}.vn-workflow-role{grid-column:2;justify-self:start;padding:4px 10px}.vn-workflow-role:not(.vn-workflow-human){padding-left:0}}

/* Phone layout: compact overview, readable captions and one-row controls. */
@media(max-width:900px){
  .vn-admin-track{align-items:flex-start}
  .vn-admin-slide figcaption{display:block;font-size:14px;padding:14px 0 4px}
  .vn-admin-slide figcaption strong{display:block;line-height:1.4;overflow-wrap:anywhere}
  .vn-admin-slide figcaption span{display:block;margin-top:6px;line-height:1.6}
}
@media(max-width:650px){
  .case-vn-revival .case-lead{padding:24px 0}
  .case-vn-revival .case-lead h1{font-size:clamp(36px,10vw,43px)}
  .case-vn-revival .case-lead>p{font-size:17px;line-height:1.5}
  .vn-mobile-gallery{gap:12px;padding-bottom:14px}
  .vn-mobile-card{flex-basis:100%}
  .vn-desktop-preview{margin-bottom:20px}
  .vn-context,.vn-section>p,.vn-agent-divider p{font-size:15px;line-height:1.65}
  .vn-admin-controls:not([hidden]){display:flex;gap:6px;margin:12px 0 18px;justify-content:space-between}
  .vn-admin-controls>button{flex:0 0 44px}
  .vn-admin-controls>.vn-admin-dots{flex:1;min-width:0;justify-content:center}
  .vn-admin-dots button{width:clamp(20px,6vw,28px);flex-shrink:1}
  .vn-admin-image{border-radius:6px}
  .vn-workflow-banner{min-height:180px;padding:20px}
  .vn-workflow-banner h2{font-size:28px;max-width:85%;text-shadow:0 1px 12px #fafbf8}
  .vn-workflow-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;padding:22px 16px}
  .vn-workflow-steps li{display:block;padding:0;text-align:left}
  .vn-workflow-steps li:before{display:none}
  .vn-workflow-number{width:32px;height:32px;font-size:14px;margin:0 0 10px}
  .vn-workflow-steps h3{font-size:18px;margin:0 0 5px}
  .vn-workflow-steps p{font-size:12px;min-height:0;margin:0 0 2px}
  .vn-workflow-role{font-size:11px;padding:2px 8px}
  .vn-example-title{font-size:21px;line-height:1.3;margin-top:28px}
  .vn-section:last-child{padding-bottom:36px}
}

@media(max-width:900px){.vn-mobile-gallery::-webkit-scrollbar{display:none}}

.vn-mobile-hint{display:none}
@media(max-width:900px){.vn-mobile-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:13px;line-height:1.4;color:#354337}.vn-mobile-hint span:first-child{font-weight:650}}

.vn-admin-controls>button[data-direction] svg{display:block;pointer-events:none}

.vn-admin-slide .vn-caption-with-note{flex-wrap:wrap;row-gap:8px}
.vn-slide-note{flex-basis:100%;margin:8px 0 0;font-size:13px;line-height:1.6;color:#59615a}
.vn-slide-note b{color:#19211c}

.vn-game-carousel .vn-mobile-gallery{position:relative}
@media(min-width:901px){.vn-game-carousel .vn-admin-controls:not([hidden]){display:none}}
@media(max-width:900px){.vn-game-carousel .vn-mobile-gallery{padding:0;align-items:flex-start}.vn-game-carousel .vn-admin-controls:not([hidden]){margin:12px 0 8px}}

.vn-contribution-carousel{margin-top:28px}
