/* 아주경제 비주얼뉴스 | 지방소멸 1 멀어지는 국가
   Layout: 영상 모니터 같은 HUD 프레임 안에서, 화면에 고정된(sticky) 장면들을 스크롤로 넘긴다.
   왼쪽 = 서울(파랑), 오른쪽 = 소멸(빨강)이라는 화면 분할 개념을 배경 조명부터 장면 구도까지 끝까지 유지한다.
   ROOT(.aju-vn) 폭 기준 컨테이너 쿼리 사용: 859px 이하 = 위 그래픽 · 아래 카드 */
.aju-vn{
  width:100%;max-width:740px;margin:0 auto;position:relative;isolation:isolate;
  container:aju-vn / inline-size;
  color-scheme:dark;
  --night:#05070B;
  --deep:#0A0E15;
  --panel:rgba(9,13,20,.84);
  --line:rgba(160,180,210,.16);
  --line-2:rgba(160,180,210,.34);
  --grid:rgba(110,140,190,.055);
  --ink:#E8ECF2;
  --ink-2:#A2ACBB;
  --ink-3:#6B7686;
  --seoul:#4D86FF;
  --seoul-hi:#A9C3FF;
  --seoul-glow:rgba(77,134,255,.55);
  --fade:#FF3B3B;
  --fade-hi:#FF9A94;
  --fade-soft:#D9787A;
  --fade-glow:rgba(255,59,59,.5);
  --f-disp:"Hahmlet","Noto Serif KR","Apple SD Gothic Neo",serif;
  --f-body:"IBM Plex Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --f-num:"Barlow Condensed","IBM Plex Sans KR",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --aju-vn-content-top:150px;
  --hud:14px;
  --sat:env(safe-area-inset-top,0px);
  --sab:env(safe-area-inset-bottom,0px);
  background:var(--night);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.72;word-break:keep-all;text-align:left;-webkit-font-smoothing:antialiased
}
.aju-vn,.aju-vn *{box-sizing:border-box}
.aju-vn .aju-vn-main{position:relative}
.aju-vn img{max-width:100%;border:0}
.aju-vn [hidden]{display:none!important}
.aju-vn .aju-vn-title,.aju-vn .aju-vn-h2,.aju-vn .aju-vn-h3{font-family:var(--f-disp);margin:0;text-wrap:balance;letter-spacing:-.02em}
.aju-vn p{margin:0}
.aju-vn a{color:inherit}
.aju-vn button{font:inherit;color:inherit}
.aju-vn :focus-visible{outline:2px solid var(--seoul-hi);outline-offset:3px}
.aju-vn .aju-vn-num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.aju-vn b.aju-vn-s,.aju-vn .aju-vn-s-c{color:var(--seoul-hi)} .aju-vn b.aju-vn-f,.aju-vn .aju-vn-f-c{color:var(--fade-hi)}
.aju-vn .aju-vn-sprites{display:none}
.aju-vn .aju-vn-copy-buf{position:absolute;left:-9999px;top:0;width:1px;height:1px;opacity:0}

/* ---------- 고정 배경: 왼쪽 파란빛, 오른쪽 붉은빛, 격자 ---------- */
.aju-vn .aju-vn-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.aju-vn .aju-vn-bg::before{content:"";display:block;position:sticky;top:0;height:100vh;height:100svh;
  background:
    radial-gradient(max(60cqw,60vh) max(50cqw,50vh) at 8% 55%, rgba(77,134,255,.10), transparent 70%),
    radial-gradient(max(60cqw,60vh) max(50cqw,50vh) at 92% 45%, rgba(255,59,59,.09), transparent 70%),
    linear-gradient(var(--grid) 1px, transparent 1px) 0 0/56px 56px,
    linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0/56px 56px,
    var(--night)}

/* ---------- HUD ---------- */
.aju-vn .aju-vn-hud{position:absolute;inset:0;pointer-events:none;z-index:40;font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.aju-vn .aju-vn-hud-in,.aju-vn .aju-vn-ctl-in{position:sticky;top:0;height:100vh;height:100svh}
.aju-vn .aju-vn-ctl{position:absolute;inset:0;pointer-events:none;z-index:42}
.aju-vn .aju-vn-hud .aju-vn-c{position:absolute;width:16px;height:16px;border:1px solid var(--line-2)}
.aju-vn .aju-vn-hud .aju-vn-tl{top:calc(var(--hud) + var(--sat));left:var(--hud);border-right:0;border-bottom:0}
.aju-vn .aju-vn-hud .aju-vn-tr{top:calc(var(--hud) + var(--sat));right:var(--hud);border-left:0;border-bottom:0}
.aju-vn .aju-vn-hud .aju-vn-bl{bottom:calc(var(--hud) + var(--sab));left:var(--hud);border-right:0;border-top:0}
.aju-vn .aju-vn-hud .aju-vn-br{bottom:calc(var(--hud) + var(--sab));right:var(--hud);border-left:0;border-top:0}
.aju-vn .aju-vn-h-tl,.aju-vn .aju-vn-h-tr,.aju-vn .aju-vn-h-bl{position:absolute;white-space:nowrap}
.aju-vn .aju-vn-h-tl{top:calc(var(--hud) + var(--sat) + 3px);left:calc(var(--hud) + 24px);color:var(--ink-2)}
.aju-vn .aju-vn-h-tl em{font-style:normal;color:var(--ink-3)}
.aju-vn .aju-vn-h-tr{top:calc(var(--hud) + var(--sat) + 3px);right:calc(var(--hud) + 24px);color:var(--ink-2)}
.aju-vn .aju-vn-h-tr i{font-style:normal;display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fade);margin-right:8px;vertical-align:1px;box-shadow:0 0 8px var(--fade)}
.aju-vn .aju-vn-h-bl{bottom:calc(var(--hud) + var(--sab) + 2px);left:calc(var(--hud) + 24px)}
.aju-vn .aju-vn-dots{position:absolute;z-index:41;pointer-events:auto;left:50%;transform:translateX(-50%);bottom:calc(var(--hud) + var(--sab) - 4px);display:flex;align-items:center;gap:0}
.aju-vn .aju-vn-dots button{position:relative;border:0;background:transparent;padding:8px 9px;cursor:pointer;display:grid;place-items:center}
.aju-vn .aju-vn-dots button::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--ink-3);background:var(--night);transition:all .3s}
.aju-vn .aju-vn-dots button.aju-vn-on::before{background:var(--ink);border-color:var(--ink);box-shadow:0 0 10px rgba(232,236,242,.7)}
.aju-vn .aju-vn-dots button.aju-vn-done::before{background:var(--ink-3)}
.aju-vn .aju-vn-dots button span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}
.aju-vn .aju-vn-dots button:hover span,.aju-vn .aju-vn-dots button:focus-visible span{opacity:1}
.aju-vn .aju-vn-dots .aju-vn-rail{position:absolute;left:18px;right:18px;top:50%;height:1px;background:var(--line);z-index:-1}
.aju-vn .aju-vn-dots .aju-vn-fill{position:absolute;left:18px;top:50%;height:1px;background:var(--ink-2);z-index:-1;width:0}
.aju-vn .aju-vn-snd{position:absolute;z-index:42;pointer-events:auto;right:calc(var(--hud) + 20px);bottom:calc(var(--hud) + var(--sab) - 3px);display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:rgba(5,7,11,.7);border-radius:999px;padding:5px 12px 5px 10px;font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--ink-2);cursor:pointer}
.aju-vn .aju-vn-snd[aria-pressed="true"]{color:var(--ink);border-color:var(--ink-2)}
.aju-vn .aju-vn-eq{display:flex;align-items:flex-end;gap:2px;height:11px}
.aju-vn .aju-vn-eq i{width:2px;height:3px;background:currentColor;border-radius:1px}
.aju-vn .aju-vn-snd[aria-pressed="true"] .aju-vn-eq i{animation:aju-vn-eq .9s ease-in-out infinite}
.aju-vn .aju-vn-eq i:nth-child(2){animation-delay:-.3s!important}.aju-vn .aju-vn-eq i:nth-child(3){animation-delay:-.6s!important}.aju-vn .aju-vn-eq i:nth-child(4){animation-delay:-.15s!important}
@keyframes aju-vn-eq{0%,100%{height:3px}50%{height:11px}}

/* ---------- 표지 ---------- */
.aju-vn .aju-vn-hero{position:relative;height:230vh}
.aju-vn .aju-vn-hero-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.aju-vn .aju-vn-half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;will-change:transform}
.aju-vn .aju-vn-half.aju-vn-l{left:0;transform:translateX(calc(var(--p,0) * -16cqw))}
.aju-vn .aju-vn-half.aju-vn-r{right:0;transform:translateX(calc(var(--p,0) * 16cqw))}
.aju-vn .aju-vn-half img{position:absolute;max-width:none;user-select:none}
.aju-vn .aju-vn-half.aju-vn-l img{bottom:5vh;right:-30cqw;width:max(118cqw,960px)}
.aju-vn .aju-vn-half.aju-vn-r img{bottom:0;left:-22cqw;width:max(124cqw,980px);filter:grayscale(.45) brightness(.6) contrast(1.06);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 42%);mask-image:linear-gradient(to bottom,transparent 0,#000 42%)}
.aju-vn .aju-vn-half.aju-vn-l .aju-vn-glow{position:absolute;inset:auto 0 0 0;height:70%;background:radial-gradient(70% 60% at 70% 100%,rgba(77,134,255,.22),transparent 70%)}
.aju-vn .aju-vn-half.aju-vn-r .aju-vn-glow{position:absolute;inset:auto 0 0 0;height:70%;background:radial-gradient(70% 60% at 30% 100%,rgba(255,59,59,.12),transparent 70%)}
.aju-vn .aju-vn-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--line-2) 25%,var(--line-2) 75%,transparent);opacity:calc(1 - var(--p,0) * 2)}
.aju-vn .aju-vn-side{position:absolute;top:52%;transform:translateY(-50%);font-family:var(--f-disp);text-align:center;width:50%;pointer-events:none}
.aju-vn .aju-vn-side b{display:block;font-weight:900;font-size:clamp(46px,9cqw,132px);line-height:1;color:transparent;-webkit-text-stroke:1.6px var(--nc);text-shadow:0 0 22px var(--ng),0 0 54px var(--ng)}
.aju-vn .aju-vn-side small{display:block;margin-top:10px;font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-2)}
.aju-vn .aju-vn-side.aju-vn-sl{left:0;--nc:var(--seoul);--ng:var(--seoul-glow);transform:translate(calc(var(--p,0) * -16cqw),-50%)}
.aju-vn .aju-vn-side.aju-vn-sr{right:0;--nc:var(--fade);--ng:var(--fade-glow);transform:translate(calc(var(--p,0) * 16cqw),-50%)}
.aju-vn .aju-vn-gap{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);text-align:center;opacity:clamp(0,calc(var(--p,0) * 2.4 - .5),1);width:min(32cqw,420px)}
.aju-vn .aju-vn-gap .aju-vn-ruler{display:block;height:1px;margin-bottom:12px;background:var(--ink-2);position:relative;transform:scaleX(var(--p,0))}
.aju-vn .aju-vn-gap .aju-vn-ruler::before,.aju-vn .aju-vn-gap .aju-vn-ruler::after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:var(--ink-2)}
.aju-vn .aju-vn-gap .aju-vn-ruler::before{left:0}.aju-vn .aju-vn-gap .aju-vn-ruler::after{right:0}
.aju-vn .aju-vn-gap b{display:block;font-family:var(--f-disp);font-weight:800;font-size:clamp(17px,2.2cqw,28px)}
.aju-vn .aju-vn-gap small{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;color:var(--ink-3)}
.aju-vn .aju-vn-hero-copy{position:absolute;inset-inline:0;top:calc(max(9vh,60px) + var(--sat));text-align:center;padding-inline:20px;z-index:2;opacity:clamp(0,calc(1 - var(--p,0) * 2.2),1);transform:translateY(calc(var(--p,0) * -40px))}
.aju-vn .aju-vn-kick{font-family:var(--f-mono);font-size:13px;letter-spacing:.16em;color:var(--fade-hi)}
.aju-vn .aju-vn-hero .aju-vn-title{margin-top:14px;font-weight:900;font-size:clamp(34px,5.6cqw,80px);line-height:1.14}
.aju-vn .aju-vn-hero .aju-vn-title em{font-style:normal;color:var(--fade)}
.aju-vn .aju-vn-hero .aju-vn-sub{margin-top:12px;font-size:clamp(16px,1.6cqw,20px);color:var(--ink-2)}
.aju-vn .aju-vn-hero .aju-vn-by{margin-top:10px;font-family:var(--f-mono);font-size:13px;letter-spacing:.04em;color:var(--ink-3)}
.aju-vn .aju-vn-cta{margin-top:22px;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.aju-vn .aju-vn-cta button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:rgba(5,7,11,.6);border-radius:999px;padding:9px 18px;font-size:14px;line-height:inherit;text-decoration:none;cursor:pointer}
.aju-vn .aju-vn-cta button + button { margin-right:-20px; }
.aju-vn .aju-vn-cta .aju-vn-cta-main{background:var(--ink);color:var(--night);border-color:var(--ink);font-weight:700}
@media (prefers-reduced-motion:no-preference){
  .aju-vn .aju-vn-half.aju-vn-l{animation:aju-vn-inL 1.4s cubic-bezier(.2,.7,.2,1) both}
  .aju-vn .aju-vn-half.aju-vn-r{animation:aju-vn-inR 1.4s cubic-bezier(.2,.7,.2,1) both}
  .aju-vn .aju-vn-hero-copy>*{animation:aju-vn-up .9s cubic-bezier(.2,.7,.2,1) both}
  .aju-vn .aju-vn-hero-copy>*:nth-child(2){animation-delay:.12s}.aju-vn .aju-vn-hero-copy>*:nth-child(3){animation-delay:.24s}.aju-vn .aju-vn-hero-copy>*:nth-child(4){animation-delay:.36s}.aju-vn .aju-vn-hero-copy>*:nth-child(5){animation-delay:.48s}
  .aju-vn .aju-vn-side b{animation:aju-vn-flick 2.4s .5s both}
}
@keyframes aju-vn-inL{from{translate:-6cqw 0;opacity:.2}}
@keyframes aju-vn-inR{from{translate:6cqw 0;opacity:.2}}
@keyframes aju-vn-up{from{transform:translateY(16px);opacity:0}}
@keyframes aju-vn-flick{0%{opacity:.15}8%{opacity:1}11%{opacity:.3}14%{opacity:1}55%{opacity:1}57%{opacity:.6}60%,100%{opacity:1}}

/* ---------- 본문 블록 ---------- */
.aju-vn .aju-vn-block{position:relative;padding-block:clamp(90px,14vh,160px);padding-inline:max(18px,5cqw);overflow-x:clip}
.aju-vn .aju-vn-col{max-width:660px;margin-inline:auto}
.aju-vn .aju-vn-eyebrow{font-family:var(--f-mono);font-size:13px;letter-spacing:.16em;color:var(--fade-hi);text-transform:uppercase}
.aju-vn .aju-vn-block .aju-vn-h2{margin-top:10px;font-weight:800;font-size:clamp(28px,3.8cqw,46px);line-height:1.22}
.aju-vn .aju-vn-block .aju-vn-col p{margin-top:18px;color:var(--ink-2)}
.aju-vn .aju-vn-block .aju-vn-col p b{color:var(--ink)}
.aju-vn .aju-vn-wide{max-width:1080px;margin-inline:auto;margin-top:clamp(40px,7vh,72px)}
.aju-vn .aju-vn-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5cqw,64px);align-items:start}
.aju-vn .aju-vn-panel{border-top:1px solid var(--line-2);padding-top:16px}
.aju-vn .aju-vn-panel .aju-vn-h3{font-size:clamp(19px,2cqw,23px);font-weight:800;line-height:1.35}
.aju-vn .aju-vn-panel p{margin-top:8px;color:var(--ink-2);font-size:15.5px}
.aju-vn .aju-vn-panel .aju-vn-h3.aju-vn-mt28{margin-top:28px}
.aju-vn .aju-vn-cap{font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-3);margin-top:12px}

/* 의사·변호사 없는 지역 벤 다이어그램 */
.aju-vn .aju-vn-venn{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4cqw,56px);align-items:center}
.aju-vn .aju-vn-venn svg{width:100%;height:auto;display:block;overflow:visible}
.aju-vn .aju-vn-venn .aju-vn-v1{fill:rgba(160,180,210,.06);stroke:var(--ink-2);stroke-width:1.2}
.aju-vn .aju-vn-venn .aju-vn-v2{fill:rgba(160,180,210,.06);stroke:var(--ink-2);stroke-width:1.2;stroke-dasharray:4 4}
.aju-vn .aju-vn-venn .aju-vn-lens{fill:var(--fade);opacity:.88}
.aju-vn .aju-vn-venn text{font-family:var(--f-body);fill:var(--ink-2);font-size:13px}
.aju-vn .aju-vn-venn text.aju-vn-big{font-family:var(--f-num);font-weight:700;font-size:44px;fill:var(--ink)}
.aju-vn .aju-vn-venn text.aju-vn-red{fill:var(--fade-hi);text-anchor:end}
.aju-vn .aju-vn-vstats{display:grid;gap:0}
.aju-vn .aju-vn-vstat{display:grid;grid-template-columns:5.2ch 1fr;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line)}
.aju-vn .aju-vn-vstat:first-child{border-top:1px solid var(--line-2)}
.aju-vn .aju-vn-vstat .aju-vn-num{font-size:44px;font-weight:700;line-height:1}
.aju-vn .aju-vn-vstat span{color:var(--ink-2);font-size:15px}
.aju-vn .aju-vn-vstat.aju-vn-hl .aju-vn-num{color:var(--fade);text-shadow:0 0 18px var(--fade-glow)}
.aju-vn .aju-vn-vstat.aju-vn-hl span{color:var(--ink)}

/* 막대 */
.aju-vn .aju-vn-cols{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1.4cqw,16px);align-items:end;height:300px;border-bottom:1px solid var(--line-2);position:relative}
.aju-vn .aju-vn-cols .aju-vn-c{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.aju-vn .aju-vn-cols .aju-vn-bar{width:100%;max-width:64px;background:linear-gradient(to top,rgba(255,59,59,.35),var(--fade));box-shadow:0 0 24px -6px var(--fade-glow);height:var(--h);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.aju-vn .aju-vn-cols .aju-vn-c.aju-vn-dim .aju-vn-bar{background:linear-gradient(to top,rgba(255,59,59,.18),rgba(255,59,59,.55));box-shadow:none}
.aju-vn .aju-vn-cols .aju-vn-v{font-family:var(--f-num);font-weight:700;font-size:22px;line-height:1.1;margin-bottom:6px}
.aju-vn .aju-vn-yrs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1.4cqw,16px);font-family:var(--f-mono);font-size:13px;color:var(--ink-3);text-align:center;margin-top:8px}
.aju-vn .aju-vn-armed .aju-vn-cols .aju-vn-bar,.aju-vn .aju-vn-armed .aju-vn-hb i{transform:scaleX(1) scaleY(0)}
.aju-vn .aju-vn-armed .aju-vn-hb i{transform:scaleX(0)}
.aju-vn .aju-vn-centerfig{position:relative}
.aju-vn .aju-vn-note-23{position:absolute;z-index:1;left:calc(4/7*100% + 4px);top:0;max-width:52%;font-size:13px;color:var(--ink-2);line-height:1.5;padding-left:12px;border-left:1px solid var(--fade)}
.aju-vn .aju-vn-note-23 b{color:var(--ink)}
.aju-vn .aju-vn-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.aju-vn .aju-vn-chips span{border:1px solid var(--line-2);border-radius:999px;padding:3px 11px;font-size:13.5px;color:var(--ink-2)}
.aju-vn .aju-vn-chips span b{font-family:var(--f-num);font-size:16px;color:var(--fade-hi);margin-left:4px}
.aju-vn .aju-vn-flow{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:10px}
.aju-vn .aju-vn-flow .aju-vn-num{font-size:40px;font-weight:700;line-height:1}
.aju-vn .aju-vn-flow .aju-vn-to{color:var(--ink-3);font-family:var(--f-mono)}
.aju-vn .aju-vn-flow .aju-vn-d{font-family:var(--f-mono);font-size:13px;color:var(--fade-hi)}

/* 가로 막대 */
.aju-vn .aju-vn-hbars{display:grid;gap:10px;margin-top:14px}
.aju-vn .aju-vn-hb{display:grid;grid-template-columns:8.5em minmax(0,1fr) 4.2em;gap:12px;align-items:center;font-size:14.5px}
.aju-vn .aju-vn-hb span{color:var(--ink-2)}
.aju-vn .aju-vn-hb div{height:12px;background:rgba(160,180,210,.07);position:relative}
.aju-vn .aju-vn-hb i{position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--fade-soft);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.aju-vn .aju-vn-hb .aju-vn-w-419{--w:41.9%}
.aju-vn .aju-vn-hb .aju-vn-w-779{--w:77.9%}
.aju-vn .aju-vn-hb .aju-vn-w-815{--w:81.5%}
.aju-vn .aju-vn-hb .aju-vn-w-1000{--w:100%}
.aju-vn .aju-vn-hb .aju-vn-w-755{--w:75.5%}
.aju-vn .aju-vn-hb .aju-vn-w-102{--w:10.2%}
.aju-vn .aju-vn-hb .aju-vn-w-96{--w:9.6%}
.aju-vn .aju-vn-hb .aju-vn-w-80{--w:8%}
.aju-vn .aju-vn-hb.aju-vn-s i{background:var(--seoul)}
.aju-vn .aju-vn-hb.aju-vn-f i{background:var(--fade);box-shadow:0 0 16px -2px var(--fade-glow)}
.aju-vn .aju-vn-hb b{font-family:var(--f-num);font-size:20px;font-weight:700;text-align:right}
.aju-vn .aju-vn-hb.aju-vn-s b{color:var(--seoul-hi)} .aju-vn .aju-vn-hb.aju-vn-f b{color:var(--fade-hi)}

.aju-vn .aju-vn-dotsq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}
.aju-vn .aju-vn-dotsq figure{margin:0}
.aju-vn .aju-vn-dotsq canvas{width:100%;aspect-ratio:1;max-width:100%;display:block;border:1px solid var(--line-2)}
.aju-vn .aju-vn-dotsq figcaption{margin-top:8px;font-size:14px;color:var(--ink-2)}
.aju-vn .aju-vn-dotsq figcaption b{font-family:var(--f-num);font-size:26px;margin-right:4px}

/* ---------- 장면(scene) ---------- */
.aju-vn .aju-vn-scene{position:relative}
.aju-vn .aju-vn-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.aju-vn .aju-vn-stage canvas.aju-vn-cv{position:absolute;inset:0;display:block;width:100%;height:100%}
.aju-vn .aju-vn-steps{position:relative;z-index:3;margin-top:-100vh;margin-top:-100svh;padding-bottom:50vh;pointer-events:none}
.aju-vn .aju-vn-step{min-height:112vh;display:flex;align-items:center;padding-inline:max(18px,4cqw)}
.aju-vn .aju-vn-step.aju-vn-tall{min-height:150vh}
.aju-vn .aju-vn-card{pointer-events:auto;width:100%;max-width:410px;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 24px 22px;box-shadow:0 30px 70px -30px #000}
.aju-vn .aju-vn-card .aju-vn-eb{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;color:var(--fade-hi);text-transform:uppercase}
.aju-vn .aju-vn-card .aju-vn-h3{font-weight:800;font-size:clamp(21px,2.2cqw,27px);line-height:1.3;margin:6px 0 10px}
.aju-vn .aju-vn-card p{color:var(--ink-2);font-size:15.5px;line-height:1.7}
.aju-vn .aju-vn-card p+p{margin-top:8px}
.aju-vn .aju-vn-codes{display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:6px 10px;margin:12px 0 0;font-size:13.5px;line-height:1.55}
.aju-vn .aju-vn-codes dt{font-family:var(--f-mono);font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:3px;text-align:center;align-self:start;padding:1px 0}
.aju-vn .aju-vn-codes dt.aju-vn-c0{color:var(--night);background:var(--fade);border-color:var(--fade);font-weight:500}
.aju-vn .aju-vn-codes dd{margin:0;color:var(--ink-2)}
.aju-vn .aju-vn-codes dd b{color:var(--ink)}
.aju-vn .aju-vn-term{border-bottom:1px dotted currentColor;text-decoration:none;cursor:help;border-radius:1px}
.aju-vn .aju-vn-term:hover,.aju-vn .aju-vn-term:focus-visible{background:rgba(232,236,242,.1)}
.aju-vn .aju-vn-codebar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;font-size:13px;color:var(--ink-2)}
.aju-vn .aju-vn-codebar span{border:1px solid var(--line-2);border-radius:3px;padding:1px 7px;font-family:var(--f-mono);font-size:13px}
.aju-vn .aju-vn-codebar span.aju-vn-c0{background:var(--fade);border-color:var(--fade);color:var(--night)}
.aju-vn .aju-vn-codebar em{font-style:normal;color:var(--ink-3);font-size:13px}
.aju-vn .aju-vn-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin-block:0}
.aju-vn .aju-vn-gloss>div{border-top:1px solid var(--line);padding:14px 0 16px}
.aju-vn .aju-vn-gloss>div>dt{font-weight:700;font-size:16px;color:var(--ink)}
.aju-vn .aju-vn-gloss>div>dd{margin:4px 0 0;color:var(--ink-2);font-size:14.5px;line-height:1.7}
.aju-vn .aju-vn-gloss .aju-vn-g-code{grid-row:span 2}
.aju-vn .aju-vn-card .aju-vn-mini{display:block;margin-top:10px;font-family:var(--f-mono);font-size:13px;letter-spacing:.04em;color:var(--ink-3)}
.aju-vn .aju-vn-rg{position:absolute;left:var(--rx);top:var(--ry);width:var(--rw);height:var(--rh);pointer-events:none}

.aju-vn .aju-vn-neo{font-family:var(--f-num);font-weight:700;line-height:.86;color:transparent;-webkit-text-stroke:1.5px var(--nc,var(--ink));text-shadow:0 0 16px var(--ng,rgba(232,236,242,.35)),0 0 40px var(--ng,rgba(232,236,242,.25));font-variant-numeric:tabular-nums;white-space:nowrap}
.aju-vn .aju-vn-neo.aju-vn-s{--nc:var(--seoul);--ng:var(--seoul-glow)}
.aju-vn .aju-vn-neo.aju-vn-f{--nc:var(--fade);--ng:var(--fade-glow)}
.aju-vn .aju-vn-neo-l{max-width:min(100%,26em);margin-left:auto;font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;color:var(--ink-2);margin-top:8px}

/* 소멸지도 오버레이 */
.aju-vn .aju-vn-map-o{position:absolute;right:0;top:0;text-align:right}
.aju-vn .aju-vn-map-o .aju-vn-neo{font-size:clamp(56px,7.4cqw,112px)}
.aju-vn .aju-vn-map-o .aju-vn-two{display:flex;gap:22px;justify-content:flex-end;align-items:flex-end}
.aju-vn .aju-vn-map-o .aju-vn-two>div[hidden]{display:none}
.aju-vn .aju-vn-legend{position:absolute;left:0;bottom:0;display:grid;gap:5px;font-size:13px;color:var(--ink-2)}
.aju-vn .aju-vn-legend i{display:inline-block;width:12px;height:13px;margin-right:7px;vertical-align:-2px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.aju-vn .aju-vn-legend .aju-vn-lg-seoul{background:var(--seoul)}
.aju-vn .aju-vn-legend .aju-vn-lg-mm{background:var(--fade)}
.aju-vn .aju-vn-legend .aju-vn-lg-pd{background:var(--fade-soft)}
.aju-vn .aju-vn-legend .aju-vn-lg-base{background:#1B222D;outline:1px solid var(--line-2)}
.aju-vn .aju-vn-legend .aju-vn-h3d{font-family:var(--f-mono);font-size:13px;color:var(--ink-3)}
.aju-vn .aju-vn-tip{position:absolute;left:0;top:0;z-index:60;pointer-events:none;background:rgba(232,236,242,.96);color:#0A0E15;font-size:13px;line-height:1.5;padding:7px 10px;border-radius:3px;opacity:0;transition:opacity .12s;max-width:250px}
.aju-vn .aju-vn-tip b{font-weight:700}
.aju-vn .aju-vn-tip.aju-vn-wide{max-width:320px}
.aju-vn .aju-vn-tip .aju-vn-codes{font-size:13px;gap:3px 8px;margin-top:6px}
.aju-vn .aju-vn-tip .aju-vn-codes dt{color:#0A0E15;border-color:rgba(10,14,21,.35)}
.aju-vn .aju-vn-tip .aju-vn-codes dd{color:#2A313C}
.aju-vn .aju-vn-tip .aju-vn-codes dd b{color:#0A0E15}

/* 반경 오버레이 */
.aju-vn .aju-vn-rad-o{position:absolute;left:0;top:0}
.aju-vn .aju-vn-rad-o .aju-vn-nm{font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--fade-hi)}
.aju-vn .aju-vn-rad-o dl{margin:10px 0 0;display:grid;grid-template-columns:auto auto;gap:2px 14px;font-size:13px}
.aju-vn .aju-vn-rad-o dt{color:var(--ink-3);font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;align-self:center}
.aju-vn .aju-vn-rad-o dd{margin:0;font-family:var(--f-num);font-size:22px;font-weight:700;line-height:1.15}

/* 경찰 오버레이 */
.aju-vn .aju-vn-cop-o{position:absolute;left:0;right:0;bottom:0;display:grid;justify-items:center;gap:10px;pointer-events:auto}
.aju-vn .aju-vn-seg{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:2px;padding:3px;border-radius:999px;background:rgba(5,7,11,.75);border:1px solid var(--line-2)}
.aju-vn .aju-vn-seg button{border:0;background:transparent;color:var(--ink-2);padding:6px 13px;border-radius:999px;cursor:pointer;font-size:13px}
.aju-vn .aju-vn-seg button b{font-family:var(--f-num);font-size:16px;margin-left:4px}
.aju-vn .aju-vn-seg-cap{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink);text-align:center;max-width:34em;background:rgba(5,7,11,.72);padding:4px 12px}
.aju-vn .aju-vn-seg button[aria-pressed="true"]{background:var(--ink);color:var(--night)}

/* 112 */
.aju-vn .aju-vn-photo{position:absolute;inset:0;overflow:hidden}
.aju-vn .aju-vn-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:30% 50%;filter:brightness(.5) saturate(.75);transform:scale(var(--z,1.06));transform-origin:30% 55%}
.aju-vn .aju-vn-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,11,.82),rgba(5,7,11,.25) 45%,rgba(5,7,11,.82)),linear-gradient(to top,rgba(5,7,11,.9),transparent 40%)}
.aju-vn .aju-vn-photo .aju-vn-pcap{position:absolute;right:calc(var(--hud) + 24px);top:calc(var(--hud) + var(--sat) + 26px);z-index:2;font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-3)}
.aju-vn .aju-vn-race{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:18px}
.aju-vn .aju-vn-clock{display:flex;align-items:flex-end;gap:16px}
.aju-vn .aju-vn-clock .aju-vn-neo{font-size:clamp(64px,8.4cqw,128px)}
.aju-vn .aju-vn-clock small{font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;color:var(--ink-2);line-height:1.5;padding-bottom:8px}
.aju-vn .aju-vn-tracks{display:grid;gap:12px}
.aju-vn .aju-vn-trk{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:13.5px;transition:opacity .5s,transform .5s}
.aju-vn .aju-vn-trk[data-aju-vn-x="1"]{opacity:0;transform:translateY(8px)}
.aju-vn .aju-vn-trk.aju-vn-show{opacity:1;transform:none}
.aju-vn .aju-vn-trk .aju-vn-n{color:var(--ink-2)}
.aju-vn .aju-vn-trk .aju-vn-t{font-family:var(--f-num);font-weight:700;font-size:19px;text-align:right}
.aju-vn .aju-vn-trk .aju-vn-road{grid-column:1/-1;height:6px;background:rgba(160,180,210,.1);position:relative}
.aju-vn .aju-vn-trk .aju-vn-road i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--c)}
.aju-vn .aju-vn-trk .aju-vn-road u{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--c);transform:translate(-50%,-50%);box-shadow:0 0 12px var(--c)}
.aju-vn .aju-vn-trk.aju-vn-s{--c:var(--seoul)} .aju-vn .aju-vn-trk.aju-vn-f{--c:var(--fade)}
.aju-vn .aju-vn-trk.aju-vn-arr .aju-vn-t::after{content:" 도착";font-family:var(--f-body);font-size:13px;font-weight:500;color:var(--ink-2)}
.aju-vn .aju-vn-trk.aju-vn-s .aju-vn-t{color:var(--seoul-hi)} .aju-vn .aju-vn-trk.aju-vn-f .aju-vn-t{color:var(--fade-hi)}

/* 군위 */
.aju-vn .aju-vn-gun{position:absolute;display:grid;grid-template-rows:auto 1fr;gap:14px;transform:translateY(-80px)}
.aju-vn .aju-vn-gun svg{width:100%;height:auto;max-height:42vh;display:block;overflow:visible}
.aju-vn .aju-vn-gun .aju-vn-o-s{fill:rgba(77,134,255,.12);stroke:var(--seoul);stroke-width:.35}
.aju-vn .aju-vn-gun .aju-vn-o-g{fill:rgba(255,59,59,.12);stroke:var(--fade);stroke-width:.35}
.aju-vn .aju-vn-gun text{font-family:var(--f-body)}
.aju-vn .aju-vn-gstats{display:grid;gap:0;align-content:start;pointer-events:auto}
.aju-vn .aju-vn-gr{display:grid;grid-template-columns:8.5em minmax(0,1fr) minmax(0,1fr) 3.8em;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);opacity:.12;transition:opacity .5s}
.aju-vn .aju-vn-gr.aju-vn-on{opacity:1}
.aju-vn .aju-vn-gr.aju-vn-hd{opacity:1;border-top:1px solid var(--line-2);font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;color:var(--ink-3);padding:6px 0}
.aju-vn .aju-vn-gr span{font-size:13.5px;color:var(--ink-2)}
.aju-vn .aju-vn-gr b{font-family:var(--f-num);font-size:21px;font-weight:700;line-height:1.1}
.aju-vn .aju-vn-gr b.aju-vn-s{color:var(--seoul-hi)} .aju-vn .aju-vn-gr b.aju-vn-g{color:var(--fade-hi)}
.aju-vn .aju-vn-gr em{font-style:normal;font-family:var(--f-num);font-weight:800;font-size:18px;color:var(--fade);text-align:right}

/* 끝 */
.aju-vn .aju-vn-quote{max-width:780px;margin-inline:auto}
.aju-vn .aju-vn-quote blockquote{margin:0;font-family:var(--f-disp);font-weight:700;font-size:clamp(21px,2.5cqw,30px);line-height:1.55;color:var(--ink)}
.aju-vn .aju-vn-quote blockquote::before{content:"“";display:block;font-size:64px;line-height:.6;color:var(--fade)}
.aju-vn .aju-vn-quote blockquote.aju-vn-q2{margin-top:18px}
.aju-vn .aju-vn-quote blockquote.aju-vn-q2::before{content:none}
.aju-vn .aju-vn-quote cite{display:block;margin-top:16px;font-style:normal;font-size:14px;color:var(--ink-2)}
.aju-vn .aju-vn-end{max-width:1080px;margin-inline:auto;margin-top:clamp(56px,9vh,96px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4cqw,48px);font-size:13px;color:var(--ink-3);line-height:1.7;border-top:1px solid var(--line);padding-top:20px}
.aju-vn .aju-vn-end .aju-vn-h4{margin:0 0 6px;font-family:var(--f-mono);font-size:13px;letter-spacing:.12em;color:var(--ink-2);font-weight:500}

@container aju-vn (max-width:859px){
  .aju-vn .aju-vn-main{font-size:16px}
  .aju-vn .aju-vn-step,.aju-vn .aju-vn-step.aju-vn-tall{min-height:100vh;min-height:100svh;align-items:flex-end;padding-bottom:calc(58px + var(--sab))}
  .aju-vn .aju-vn-step.aju-vn-tall{margin-bottom:45vh}
  .aju-vn .aju-vn-card{max-width:none;padding:15px 17px 16px}
  .aju-vn .aju-vn-card .aju-vn-h3{font-size:20px;margin:4px 0 6px}
  .aju-vn .aju-vn-card p{font-size:14.5px;line-height:1.62}
  .aju-vn .aju-vn-h-bl{display:none}
  .aju-vn .aju-vn-h-tl em{display:none}
  .aju-vn .aju-vn-dots{display:none}
  .aju-vn .aju-vn-snd{right:50%;transform:translateX(50%)}
  .aju-vn .aju-vn-venn,.aju-vn .aju-vn-split,.aju-vn .aju-vn-gloss{grid-template-columns:1fr}
  .aju-vn .aju-vn-venn text{font-size:17px}
  .aju-vn .aju-vn-gloss .aju-vn-g-code{grid-row:auto}
  .aju-vn .aju-vn-end{grid-template-columns:1fr}
  .aju-vn .aju-vn-note-23{position:static;max-width:none;margin-bottom:12px}
  .aju-vn .aju-vn-cols{height:220px}
  .aju-vn .aju-vn-cols .aju-vn-v{font-size:17px}
  .aju-vn .aju-vn-map-o .aju-vn-neo{font-size:clamp(48px,14cqw,72px)}
  .aju-vn .aju-vn-legend{display:none}
  .aju-vn .aju-vn-gr{grid-template-columns:9.5em minmax(0,1fr) minmax(0,1fr) 3.2em;gap:14px}
  .aju-vn .aju-vn-gr b{font-size:17px}
  .aju-vn .aju-vn-gun svg{max-height:22vh}
  .aju-vn .aju-vn-gun{transform:translateY(-24px)}
  .aju-vn .aju-vn-clock .aju-vn-neo{font-size:clamp(54px,17cqw,80px)}
  .aju-vn .aju-vn-side small{font-size:13px}
  .aju-vn .aju-vn-gap{width:40cqw}
  .aju-vn .aju-vn-side,.aju-vn .aju-vn-gap{top:60%}
  .aju-vn .aju-vn-half.aju-vn-l img{right:-46cqw;width:max(150cqw,680px)}
  .aju-vn .aju-vn-half.aju-vn-r img{left:-34cqw;width:max(160cqw,700px)}
}
@container aju-vn (max-width:400px){
  .aju-vn .aju-vn-gr{grid-template-columns:7em minmax(0,1fr) minmax(0,1fr) 3.2em;gap:6px}
}
@media (prefers-reduced-motion:reduce){.aju-vn *{animation:none!important;transition:none!important}}

/* ---------- 기사 하단 고정 공유 · 바이라인 ---------- */
.aju-vn .aju-vn-share-area{display:flow-root;padding-bottom:48px;background:#05070B;color:#E8ECF2}
.aju-vn {
    --aju-vn-line: rgba(43,39,33,.16);
    --aju-vn-ink: #24211D;
    --aju-vn-mute: #716B62;
    --aju-vn-red: #9B4B45;
    --aju-vn-font-display: "Archivo","Noto Sans KR","Helvetica Neue",Arial,sans-serif;
}
.aju-vn .aju-vn-share{margin-top:0;padding:28px 20px;border-top:1px solid rgba(232,236,242,.3);border-bottom:1px solid rgba(232,236,242,.16);background:transparent;text-align:center}
.aju-vn .aju-vn-share-title{display:block;font-family:var(--aju-vn-font-display);font-size:18px;line-height:1.4}
.aju-vn .aju-vn-share-list{display:flex;justify-content:center;gap:14px;margin:20px 0 0;padding:0;list-style:none}
.aju-vn .aju-vn-share-btn{display:block;width:52px;height:52px;margin:0;padding:0;border:0;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:cover;font-size:0;cursor:pointer;transition:transform .2s,opacity .2s}
.aju-vn .aju-vn-share-btn:hover{transform:translateY(-3px);opacity:.86}
.aju-vn .aju-vn-share-btn:focus-visible{outline:2px solid var(--aju-vn-ink);outline-offset:3px}
.aju-vn .aju-vn-share-kakao{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_kakao.png")}
.aju-vn .aju-vn-share-band{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_band.png")}
.aju-vn .aju-vn-share-x{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_twitter.png")}
.aju-vn .aju-vn-share-url{background-image:url("https://image.ajunews.com/images/site/news/kr/visual/26/img/icon_url.png")}
.aju-vn .aju-vn-share-notice{min-height:1.5em;margin-top:10px;font-size:13px;color:#FF8A80}
.aju-vn .aju-vn-end .aju-vn-disclaimer{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-3);font-size:13px;line-height:1.7}
.aju-vn .aju-vn-byline{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:12px 0 0;padding-top:20px;border-top:1px solid rgba(232,236,242,.16);font-size:14px}
.aju-vn .aju-vn-byline div{display:flex;align-items:baseline;gap:10px}
.aju-vn .aju-vn-byline dt{margin:0;font-weight:700;color:#E8ECF2}
.aju-vn .aju-vn-byline dd{margin-left:0;letter-spacing:.06em;color:#A9B3C4}