/* =========================================================
   csat.css — 수능 비주얼뉴스
   모든 규칙은 .aju-vn ROOT 내부로 한정
   ========================================================= */

.aju-vn,.aju-vn *{box-sizing:border-box}

.aju-vn{
    --aju-vn-paper:#EDE6D5;
    --aju-vn-blue:#1B3ED2;
    --aju-vn-cyan:#45F0DD;
    --aju-vn-black:#07080A;
    --aju-vn-graphite:#16161A;
    --aju-vn-white:#fff;
    --aju-vn-kr:'Noto Sans KR',sans-serif;
    --aju-vn-px:clamp(24px,min(8vw,59.2px),150px);
    --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;
    width:100%;
    max-width:740px;
    margin:0 auto;
    position:relative;
    isolation:isolate;
    font-family:'Geist','Noto Sans KR',sans-serif;
    color:var(--aju-vn-graphite);
    background:var(--aju-vn-paper);
}
.aju-vn a{color:var(--aju-vn-blue)}
.aju-vn a:hover{color:var(--aju-vn-graphite)}
.aju-vn button{font:inherit}
.aju-vn button:focus-visible{outline:3px solid var(--aju-vn-cyan);outline-offset:3px}
.aju-vn .aju-vn-msgs{display:none}

/* ---------- 고정 라벨 ---------- */
/* 본문(ROOT) 안에서 화면 높이만큼 따라다니는 라벨 영역: 자리를 차지하지 않고 기사 끝에서 함께 멈춤 */
.aju-vn .aju-vn-fig-labels{position:sticky;top:0;z-index:20;height:100vh;height:100svh;margin-bottom:-100vh;margin-bottom:-100svh;pointer-events:none}
.aju-vn .aju-vn-fig-label{position:absolute;font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-graphite);pointer-events:none}
.aju-vn .aju-vn-fig-label--top{top:24px;left:28px}
.aju-vn .aju-vn-fig-label--bottom{bottom:24px;right:28px}
.aju-vn[data-aju-vn-ink="blue"] .aju-vn-fig-label{color:var(--aju-vn-white)}
.aju-vn[data-aju-vn-ink="holo"] .aju-vn-fig-label{color:var(--aju-vn-cyan)}

/* ---------- 섹션 공통 (세 가지 잉크) ---------- */
.aju-vn .aju-vn-sec{
    padding-left:var(--aju-vn-px);
    padding-right:var(--aju-vn-px);
    background-size:300px 300px,300px 300px,60px 60px,60px 60px;
}
.aju-vn .aju-vn-sec--paper{
    --aju-vn-accent:var(--aju-vn-blue);
    background-color:var(--aju-vn-paper);
    background-image:linear-gradient(rgba(27,62,210,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,62,210,.08) 1px,transparent 1px),linear-gradient(rgba(27,62,210,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(27,62,210,.04) 1px,transparent 1px);
}
.aju-vn .aju-vn-sec--blue{
    --aju-vn-accent:var(--aju-vn-cyan);
    color:var(--aju-vn-white);
    background-color:var(--aju-vn-blue);
    background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
}
.aju-vn .aju-vn-sec--holo{
    --aju-vn-accent:var(--aju-vn-cyan);
    color:var(--aju-vn-white);
    background-color:var(--aju-vn-black);
    background-image:linear-gradient(rgba(69,240,221,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(69,240,221,.08) 1px,transparent 1px),linear-gradient(rgba(69,240,221,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(69,240,221,.035) 1px,transparent 1px);
}
.aju-vn .aju-vn-inner{max-width:1320px;margin:0 auto}

.aju-vn .aju-vn-kicker{margin:0;font-size:15px;font-weight:600;letter-spacing:.26em;color:var(--aju-vn-accent)}
.aju-vn .aju-vn-title{margin:18px 0 0;font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(34px,min(5vw,37px),72px);line-height:1.12;letter-spacing:-.03em;text-wrap:pretty}
.aju-vn .aju-vn-lead{margin:20px 0 0;font-size:17px;line-height:1.7;max-width:640px;text-wrap:pretty}

/* ---------- 01 HERO ---------- */
.aju-vn .aju-vn-hero{min-height:100vh;padding-top:90px;padding-bottom:90px;display:flex;flex-direction:column;justify-content:center}
.aju-vn .aju-vn-hero .aju-vn-inner{width:100%}
.aju-vn .aju-vn-hero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.aju-vn .aju-vn-hero-kicker{padding-bottom:18px}
.aju-vn .aju-vn-proctor{display:flex;align-items:flex-end;gap:14px;flex-shrink:0}
.aju-vn .aju-vn-proctor-label{font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-graphite);padding-bottom:70px;text-align:right;line-height:1.6}
.aju-vn .aju-vn-proctor-body{position:relative;width:172px;height:142px}
.aju-vn .aju-vn-proctor-arm{position:absolute;left:0;top:30px;width:26px;height:20px;border:3px solid var(--aju-vn-graphite);border-radius:6px;background:var(--aju-vn-paper)}
.aju-vn .aju-vn-proctor-arm--up{left:144px;transform:rotate(-58deg);transform-origin:0 50%}
.aju-vn .aju-vn-proctor-pencil{position:absolute;left:18px;top:4px;width:64px;height:7px;background:var(--aju-vn-blue);border-radius:0 4px 4px 0}
.aju-vn .aju-vn-proctor-leg{position:absolute;top:84px;width:18px;height:56px;border:3px solid var(--aju-vn-graphite);border-radius:4px}
.aju-vn .aju-vn-proctor-leg--1{left:34px}
.aju-vn .aju-vn-proctor-leg--2{left:60px}
.aju-vn .aju-vn-proctor-leg--3{left:96px}
.aju-vn .aju-vn-proctor-leg--4{left:122px}
.aju-vn .aju-vn-proctor-box{position:absolute;left:24px;top:0;width:122px;height:88px;border:3px solid var(--aju-vn-graphite);border-radius:14px;background-color:var(--aju-vn-paper);background-image:repeating-linear-gradient(135deg,rgba(27,62,210,.5) 0 1.5px,transparent 1.5px 10px)}
.aju-vn .aju-vn-proctor-eye{position:absolute;top:26px;width:13px;height:23px;border-radius:7px;background:var(--aju-vn-graphite)}
.aju-vn .aju-vn-proctor-eye--l{left:66px}
.aju-vn .aju-vn-proctor-eye--r{left:92px}
.aju-vn .aju-vn-rule{height:3px;background:var(--aju-vn-graphite);position:relative}
.aju-vn .aju-vn-rule-ticks{position:absolute;left:0;right:0;top:-12px;height:10px;background-image:repeating-linear-gradient(90deg,var(--aju-vn-blue) 0 2px,transparent 2px 32px)}
.aju-vn .aju-vn-hero-word{position:relative;margin-top:28px;line-height:.86}
.aju-vn .aju-vn-hero-word-shadow,
.aju-vn .aju-vn-hero-word-main{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(150px,min(30vw,222px),420px);letter-spacing:-.04em;color:transparent}
.aju-vn .aju-vn-hero-word-shadow{position:absolute;left:5px;top:4px;-webkit-text-stroke:1px rgba(22,22,26,.45)}
.aju-vn .aju-vn-hero-word-main{position:relative;-webkit-text-stroke:2.5px var(--aju-vn-graphite);background-image:repeating-linear-gradient(135deg,var(--aju-vn-graphite) 0 2px,transparent 2px 8px);-webkit-background-clip:text;background-clip:text}
.aju-vn .aju-vn-hero-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;margin-top:40px;align-items:end}
.aju-vn .aju-vn-hero-title{margin:0;font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(26px,min(3.4vw,25.16px),44px);line-height:1.25;letter-spacing:-.02em;text-wrap:pretty}
.aju-vn .aju-vn-hero-lead{margin:0;font-size:17px;line-height:1.7;color:var(--aju-vn-graphite);max-width:540px;text-wrap:pretty}
.aju-vn .aju-vn-scroll{margin-top:56px;font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--aju-vn-blue)}

/* ---------- 02 ORIGIN ---------- */
.aju-vn .aju-vn-origin{padding-top:120px;padding-bottom:0}
.aju-vn .aju-vn-origin-title{max-width:900px}
.aju-vn .aju-vn-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0;margin-top:56px;border:3px solid var(--aju-vn-graphite);background:var(--aju-vn-paper)}
.aju-vn .aju-vn-compare-col{padding:32px}
.aju-vn .aju-vn-compare-col--before{border-right:3px solid var(--aju-vn-graphite)}
.aju-vn .aju-vn-compare-col--after{background-image:repeating-linear-gradient(135deg,rgba(27,62,210,.16) 0 1.5px,transparent 1.5px 9px)}
.aju-vn .aju-vn-compare-tag{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-graphite);opacity:.7}
.aju-vn .aju-vn-compare-col--after .aju-vn-compare-tag{color:var(--aju-vn-blue);opacity:1}
.aju-vn .aju-vn-compare-name{font-family:var(--aju-vn-kr);font-weight:900;font-size:30px;margin-top:12px}
.aju-vn .aju-vn-compare-col--after .aju-vn-compare-name{color:var(--aju-vn-blue)}
.aju-vn .aju-vn-compare-text{margin:14px 0 0;font-size:16px;line-height:1.7;text-wrap:pretty}

.aju-vn .aju-vn-quiz{margin-top:96px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px;align-items:center}
.aju-vn .aju-vn-quiz-q{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(26px,min(3vw,22.2px),38px);line-height:1.3;margin-top:14px;letter-spacing:-.02em}
.aju-vn .aju-vn-quiz-opts{display:flex;gap:16px;margin-top:28px;flex-wrap:wrap}
.aju-vn .aju-vn-quiz-btn{cursor:pointer;min-width:150px;padding:18px 26px;border:3px solid var(--aju-vn-graphite);background:transparent;color:var(--aju-vn-graphite);font-family:'Noto Sans KR',serif;font-weight:900;font-size:40px;letter-spacing:.04em;text-decoration:none}
.aju-vn .aju-vn-quiz-opts.aju-vn-is-open .aju-vn-quiz-btn[data-aju-vn-quiz-opt="wrong"]{text-decoration:line-through}
.aju-vn .aju-vn-quiz-btn.aju-vn-is-picked{background:var(--aju-vn-graphite);color:var(--aju-vn-paper)}
.aju-vn .aju-vn-quiz-opts.aju-vn-is-open .aju-vn-quiz-btn[data-aju-vn-quiz-opt="right"]{background:var(--aju-vn-blue);color:var(--aju-vn-paper)}
.aju-vn .aju-vn-quiz-answer{border-left:3px solid var(--aju-vn-blue);padding:8px 0 8px 32px;min-height:150px;display:flex;flex-direction:column;justify-content:center}
.aju-vn .aju-vn-quiz-result[hidden],
.aju-vn .aju-vn-quiz-prompt[hidden]{display:none}
.aju-vn .aju-vn-quiz-verdict{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-blue)}
.aju-vn .aju-vn-quiz-explain{margin:12px 0 0;font-size:19px;line-height:1.65;text-wrap:pretty}
.aju-vn .aju-vn-quiz-explain b{color:var(--aju-vn-blue)}
.aju-vn .aju-vn-quiz-prompt{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-graphite);opacity:.6}

.aju-vn .aju-vn-first{margin-top:110px}
.aju-vn .aju-vn-first-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}
.aju-vn .aju-vn-era-tabs{display:flex;flex-wrap:wrap;border:3px solid var(--aju-vn-graphite);max-width:100%}
.aju-vn .aju-vn-era-btn{cursor:pointer;margin:0;padding:10px 18px;border:0;background:transparent;color:var(--aju-vn-graphite);font-family:var(--aju-vn-kr);font-size:15px;font-weight:900;letter-spacing:.02em;transition:background-color .2s,color .2s}
.aju-vn .aju-vn-era-btn + .aju-vn-era-btn{border-left:3px solid var(--aju-vn-graphite)}
.aju-vn .aju-vn-era-btn[aria-pressed="true"]{background:var(--aju-vn-graphite);color:var(--aju-vn-paper)}
.aju-vn .aju-vn-era-btn[data-aju-vn-era-btn="2027"][aria-pressed="true"]{background:var(--aju-vn-blue)}
.aju-vn .aju-vn-first-era[hidden],.aju-vn .aju-vn-first-src[hidden]{display:none}
.aju-vn .aju-vn-first-delta{display:inline-block;margin-top:14px;padding:3px 9px;border:2px solid var(--aju-vn-blue);color:var(--aju-vn-blue);font-family:var(--aju-vn-kr);font-size:13px;font-weight:900;letter-spacing:.02em}
.aju-vn .aju-vn-first-src{margin:14px 0 0;font-size:13px;line-height:1.6;color:rgba(22,22,26,.68);text-wrap:pretty}
.aju-vn .aju-vn-first-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0;margin-top:24px;border-top:3px solid var(--aju-vn-graphite);border-bottom:3px solid var(--aju-vn-graphite)}
.aju-vn .aju-vn-first-spec{padding:28px 24px 30px;border-right:1px solid rgba(22,22,26,.3)}
.aju-vn .aju-vn-first-num{display:flex;align-items:baseline;gap:6px}
.aju-vn .aju-vn-first-n{font-weight:900;font-size:clamp(56px,min(6vw,44.4px),88px);letter-spacing:-.04em;line-height:1}
.aju-vn .aju-vn-first-u{font-family:var(--aju-vn-kr);font-weight:900;font-size:22px;color:var(--aju-vn-blue)}
.aju-vn .aju-vn-first-d{font-size:15px;line-height:1.55;margin-top:12px;text-wrap:pretty}
.aju-vn .aju-vn-first-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;margin-top:36px}
.aju-vn .aju-vn-first-notes p{margin:0;font-size:16px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-origin-gap{height:120px}
.aju-vn .aju-vn-origin-flood{height:110px;margin:0 calc(-1 * var(--aju-vn-px));background:var(--aju-vn-blue);clip-path:polygon(0 100%,22% 0,78% 0,100% 100%)}

/* ---------- 03 DATA ---------- */
.aju-vn .aju-vn-data{padding-top:90px;padding-bottom:120px}
.aju-vn .aju-vn-data-title{max-width:960px}
.aju-vn .aju-vn-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:56px;margin-top:64px;align-items:end}
.aju-vn .aju-vn-data-sel{border-left:3px solid var(--aju-vn-white);padding-left:28px}
.aju-vn .aju-vn-data-year{font-size:14px;font-weight:800;letter-spacing:.22em}
.aju-vn .aju-vn-data-count{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.aju-vn .aju-vn-data-n{font-weight:900;font-size:clamp(96px,min(11vw,81.4px),160px);letter-spacing:-.05em;line-height:.9;color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-data-u{font-family:var(--aju-vn-kr);font-weight:900;font-size:28px}
.aju-vn .aju-vn-data-diff{font-size:14px;font-weight:700;letter-spacing:.06em;margin-top:16px}
.aju-vn .aju-vn-data-src{font-size:12px;line-height:1.6;margin-top:28px;opacity:.85}
.aju-vn .aju-vn-bars{position:relative;height:340px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,min(2vw,14.8px),28px);align-items:end;border-bottom:3px solid var(--aju-vn-white)}
/* 막대 높이 = 건수 / 262 x 88% */
.aju-vn .aju-vn-bars-line{position:absolute;left:0;right:0;bottom:67.176%;border-top:2px dashed rgba(255,255,255,.7)}
.aju-vn .aju-vn-bars-line-label{position:absolute;right:0;bottom:67.176%;transform:translateY(-120%);font-size:11px;font-weight:800;letter-spacing:.2em}
.aju-vn .aju-vn-bar{cursor:pointer;position:relative;border:3px solid var(--aju-vn-white);border-bottom:none;background:transparent;padding:0}
.aju-vn .aju-vn-bar--2021{height:77.924%}
.aju-vn .aju-vn-bar--2022{height:69.863%}
.aju-vn .aju-vn-bar--2023{height:73.221%}
.aju-vn .aju-vn-bar--2024{height:88%}
.aju-vn .aju-vn-bar--2025{height:88%}
.aju-vn .aju-vn-bar.aju-vn-is-before{background:repeating-linear-gradient(135deg,#fff 0 1.5px,transparent 1.5px 8px)}
.aju-vn .aju-vn-bar[aria-pressed="true"]{background:var(--aju-vn-cyan);border-color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-bar-n{position:absolute;left:0;right:0;top:-30px;text-align:center;font-weight:800;font-size:15px;color:var(--aju-vn-white)}
.aju-vn .aju-vn-bar-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,min(2vw,14.8px),28px);margin-top:12px}
.aju-vn .aju-vn-bar-label{text-align:center;font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--aju-vn-white)}
.aju-vn .aju-vn-bar-label.aju-vn-is-sel{color:var(--aju-vn-cyan)}

/* ---------- 04 TYPES ---------- */
.aju-vn .aju-vn-types{padding-top:60px;padding-bottom:120px}
.aju-vn .aju-vn-types-list{display:flex;flex-direction:column;gap:44px;margin-top:40px}
.aju-vn .aju-vn-type{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px 48px;align-items:start}
.aju-vn .aju-vn-type-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.aju-vn .aju-vn-type-name{font-family:var(--aju-vn-kr);font-weight:700;font-size:22px}
.aju-vn .aju-vn-type-n{font-weight:900;font-size:44px;letter-spacing:-.03em;color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-type-track{position:relative;height:26px;margin-top:12px;border:2px dashed rgba(255,255,255,.5)}
/* 폭 = 건수 / 427 */
.aju-vn .aju-vn-type-fill{position:absolute;left:-2px;top:-2px;bottom:-2px;border:3px solid var(--aju-vn-white);background-image:repeating-linear-gradient(135deg,#fff 0 1.5px,transparent 1.5px 7px)}
.aju-vn .aju-vn-type-fill--1{width:100%}
.aju-vn .aju-vn-type-fill--2{width:76.112%}
.aju-vn .aju-vn-type-fill--3{width:75.644%}
.aju-vn .aju-vn-type-desc{margin:0;font-size:16px;line-height:1.7;text-wrap:pretty;padding-top:6px}
.aju-vn .aju-vn-types-note{margin-top:56px;padding:22px 26px;border:2px dashed var(--aju-vn-white);font-size:15px;line-height:1.7;max-width:820px;text-wrap:pretty}

/* ---------- 05 ITEMS ---------- */
.aju-vn .aju-vn-items{padding-top:60px;padding-bottom:140px}
.aju-vn .aju-vn-filters{display:flex;gap:0;margin-top:40px;flex-wrap:wrap;border:3px solid var(--aju-vn-white);width:fit-content;max-width:100%}
.aju-vn .aju-vn-filter-btn{cursor:pointer;padding:12px 20px;border:none;border-right:1px solid rgba(255,255,255,.5);background:transparent;color:var(--aju-vn-white);font-size:13px;font-weight:800;letter-spacing:.14em}
.aju-vn .aju-vn-filter-btn[aria-pressed="true"]{background:var(--aju-vn-white);color:var(--aju-vn-blue)}
.aju-vn .aju-vn-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px;margin-top:32px;align-items:start}
.aju-vn .aju-vn-items-list{display:flex;flex-wrap:wrap;gap:10px}
.aju-vn .aju-vn-item-btn{cursor:pointer;padding:11px 16px;border:2px solid var(--aju-vn-white);background:transparent;color:var(--aju-vn-white);font-family:var(--aju-vn-kr);font-size:15px;font-weight:700}
.aju-vn .aju-vn-item-btn[hidden]{display:none}
.aju-vn .aju-vn-item-btn[data-aju-vn-cat="ok"]{background:rgba(255,255,255,.14)}
.aju-vn .aju-vn-item-btn[data-aju-vn-cat="check"]{border-style:dashed}
.aju-vn .aju-vn-item-btn[aria-pressed="true"]{border:3px solid var(--aju-vn-cyan);background:var(--aju-vn-cyan);color:var(--aju-vn-black)}
.aju-vn .aju-vn-item-card{border:3px solid var(--aju-vn-white);padding:32px;background:var(--aju-vn-blue);min-height:260px;position:relative}
.aju-vn .aju-vn-item-card-corner{position:absolute;top:-3px;right:-3px;width:22px;height:22px;background:var(--aju-vn-cyan)}
.aju-vn .aju-vn-item-card-tag{font-size:12px;font-weight:800;letter-spacing:.22em;opacity:.85}
.aju-vn .aju-vn-item-card-name{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(30px,min(3.4vw,25.16px),46px);letter-spacing:-.02em;margin-top:8px;line-height:1.2}
.aju-vn .aju-vn-verdict{display:inline-block;margin-top:20px;padding:10px 16px;border:3px solid var(--aju-vn-white);font-family:var(--aju-vn-kr);font-weight:900;font-size:20px}
.aju-vn .aju-vn-verdict[data-aju-vn-cat="ban"]{background:var(--aju-vn-white);color:var(--aju-vn-blue)}
.aju-vn .aju-vn-verdict[data-aju-vn-cat="ok"]{background:transparent;color:var(--aju-vn-cyan);border-color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-verdict[data-aju-vn-cat="check"]{background:transparent;color:var(--aju-vn-white);border-style:dashed}
.aju-vn .aju-vn-item-card-note{margin:22px 0 0;font-size:16px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-items-foot{margin:48px 0 0;font-size:15px;line-height:1.7;max-width:820px;text-wrap:pretty}
.aju-vn .aju-vn-items-foot b{color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-scanline{height:4px;margin:0 calc(-1 * var(--aju-vn-px));background:var(--aju-vn-cyan);position:relative}
.aju-vn .aju-vn-scanline::after{content:"";position:absolute;left:0;right:0;top:1.4px;height:1.2px;background:var(--aju-vn-white)}
.aju-vn .aju-vn-items-scan{margin-top:120px}

/* ---------- 06 LIGHT ---------- */
.aju-vn .aju-vn-light{padding-top:120px;padding-bottom:80px}
.aju-vn .aju-vn-light-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px;align-items:center;margin-top:24px}
.aju-vn .aju-vn-light-ai{font-weight:900;font-size:clamp(160px,min(24vw,177.6px),340px);line-height:.85;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:3px var(--aju-vn-cyan);background-image:repeating-linear-gradient(180deg,var(--aju-vn-cyan) 0 3px,transparent 3px 8px);-webkit-background-clip:text;background-clip:text}
.aju-vn .aju-vn-light-title{margin:0;font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(34px,min(4.6vw,34.04px),64px);line-height:1.15;letter-spacing:-.03em;text-wrap:pretty}
.aju-vn .aju-vn-light-title span{color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-light-lead{margin:22px 0 0;font-size:17px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-rules{margin-top:80px;display:flex;flex-direction:column;gap:0;border-top:3px solid var(--aju-vn-cyan)}
.aju-vn .aju-vn-rule-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px 40px;padding:26px 0;border-bottom:1px solid rgba(69,240,221,.5);align-items:baseline}
.aju-vn .aju-vn-rule-act{display:flex;gap:18px;align-items:baseline}
.aju-vn .aju-vn-rule-k{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-rule-name{font-family:var(--aju-vn-kr);font-weight:900;font-size:24px}
.aju-vn .aju-vn-rule-result{font-family:var(--aju-vn-kr);font-size:19px;font-weight:700;line-height:1.5;color:var(--aju-vn-cyan);text-wrap:pretty}
.aju-vn .aju-vn-sites{margin-top:90px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px;align-items:end}
.aju-vn .aju-vn-sites-box{border:3px solid var(--aju-vn-cyan);box-shadow:inset 0 0 0 1px #fff;padding:32px}
.aju-vn .aju-vn-sites-tag{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-sites-count{display:flex;align-items:baseline;gap:10px;margin-top:8px}
.aju-vn .aju-vn-sites-n{font-weight:900;font-size:clamp(80px,min(9vw,66.6px),128px);letter-spacing:-.05em;line-height:.95;color:transparent;-webkit-text-stroke:2px var(--aju-vn-cyan);background-image:repeating-linear-gradient(180deg,var(--aju-vn-cyan) 0 2px,transparent 2px 8px);-webkit-background-clip:text;background-clip:text}
.aju-vn .aju-vn-sites-u{font-family:var(--aju-vn-kr);font-weight:900;font-size:26px}
.aju-vn .aju-vn-sites-text{margin:0;font-size:17px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-sites-text b{color:var(--aju-vn-cyan)}

/* ---------- 07 CASES ---------- */
.aju-vn .aju-vn-cases{padding-top:80px;padding-bottom:0}
.aju-vn .aju-vn-flow{display:flex;align-items:center;gap:0;margin-top:36px;flex-wrap:wrap}
.aju-vn .aju-vn-flow-step{flex:1 1 220px;padding:22px 24px;border:3px solid var(--aju-vn-white);font-family:var(--aju-vn-kr);font-weight:700;font-size:18px}
.aju-vn .aju-vn-flow-step--lit{border-color:var(--aju-vn-cyan);box-shadow:inset 0 0 0 1px #fff;font-weight:900;color:var(--aju-vn-cyan);background-image:repeating-linear-gradient(180deg,rgba(69,240,221,.22) 0 2px,transparent 2px 8px)}
.aju-vn .aju-vn-flow-link{flex:0 0 60px;height:3px;background:var(--aju-vn-cyan)}
.aju-vn .aju-vn-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:32px;margin-top:40px}
.aju-vn .aju-vn-case{border-top:3px solid var(--aju-vn-cyan);padding-top:22px}
.aju-vn .aju-vn-case-when{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--aju-vn-cyan)}
.aju-vn .aju-vn-case-school{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(28px,min(3vw,22.2px),40px);margin-top:10px}
.aju-vn .aju-vn-case-result{margin:14px 0 0;font-size:17px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-cases-gap{height:120px}

/* ---------- 08 CHECK ---------- */
.aju-vn .aju-vn-check{padding-top:120px;padding-bottom:80px}
.aju-vn .aju-vn-check-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:18px}
.aju-vn .aju-vn-check-title{margin:0}
.aju-vn .aju-vn-check-count{display:flex;align-items:baseline;gap:6px}
.aju-vn .aju-vn-check-done{font-weight:900;font-size:64px;letter-spacing:-.04em;color:var(--aju-vn-blue);line-height:1}
.aju-vn .aju-vn-check-total{font-weight:900;font-size:28px}
.aju-vn .aju-vn-progress{height:3px;background:var(--aju-vn-graphite);margin-top:28px;position:relative}
.aju-vn .aju-vn-progress-fill{position:absolute;left:0;top:-4px;height:11px;width:0;background-image:repeating-linear-gradient(135deg,var(--aju-vn-blue) 0 2px,transparent 2px 6px);border:2px solid var(--aju-vn-blue)}
.aju-vn .aju-vn-progress-fill[data-aju-vn-done="1"]{width:25%}
.aju-vn .aju-vn-progress-fill[data-aju-vn-done="2"]{width:50%}
.aju-vn .aju-vn-progress-fill[data-aju-vn-done="3"]{width:75%}
.aju-vn .aju-vn-progress-fill[data-aju-vn-done="4"]{width:100%}
.aju-vn .aju-vn-check-list{display:flex;flex-direction:column;margin-top:8px}
.aju-vn .aju-vn-check-btn{cursor:pointer;text-align:left;display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:30px 0;border:none;border-bottom:1px solid rgba(22,22,26,.35);background:transparent;color:var(--aju-vn-graphite)}
.aju-vn .aju-vn-check-box{width:44px;height:44px;border:3px solid var(--aju-vn-graphite);display:flex;align-items:center;justify-content:center;background-color:transparent;font-weight:900;font-size:16px}
.aju-vn .aju-vn-check-mark{display:none}
.aju-vn .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-box{background-color:var(--aju-vn-blue)}
.aju-vn .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-num{display:none}
.aju-vn .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-mark{display:inline}
.aju-vn .aju-vn-check-body{display:flex;flex-direction:column;gap:10px}
.aju-vn .aju-vn-check-line{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.aju-vn .aju-vn-check-name{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(20px,min(2.2vw,16.28px),28px);text-decoration:none;text-decoration-color:var(--aju-vn-blue);text-decoration-thickness:3px}
.aju-vn .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-name{text-decoration-line:line-through}
.aju-vn .aju-vn-check-time{font-weight:900;font-size:20px;color:var(--aju-vn-blue);letter-spacing:.04em}
.aju-vn .aju-vn-check-text{font-size:16px;line-height:1.7;max-width:880px;text-wrap:pretty}
.aju-vn .aju-vn-check-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;margin-top:48px}
.aju-vn .aju-vn-check-note{border:3px solid var(--aju-vn-graphite);padding:24px;font-size:15px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-check-note--hatch{background-image:repeating-linear-gradient(135deg,rgba(27,62,210,.14) 0 1.5px,transparent 1.5px 9px)}

/* ---------- 09 BODY ---------- */
.aju-vn .aju-vn-body{padding-top:80px;padding-bottom:160px}
.aju-vn .aju-vn-body-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0;margin-top:48px;border-top:3px solid var(--aju-vn-graphite)}
.aju-vn .aju-vn-body-item{padding:28px 24px 32px 0;border-bottom:1px solid rgba(22,22,26,.35)}
.aju-vn .aju-vn-body-k{font-weight:900;font-size:15px;letter-spacing:.2em;color:var(--aju-vn-blue)}
.aju-vn .aju-vn-body-title{font-family:var(--aju-vn-kr);font-weight:900;font-size:24px;margin-top:12px}
.aju-vn .aju-vn-body-text{margin:12px 0 0;font-size:15px;line-height:1.7;text-wrap:pretty}
.aju-vn .aju-vn-end{margin-top:110px;display:flex;flex-direction:column;align-items:center;gap:20px}
.aju-vn .aju-vn-end-rule{width:min(100%,640px);height:3px;background:var(--aju-vn-graphite)}
.aju-vn .aju-vn-end-text{font-family:var(--aju-vn-kr);font-weight:900;font-size:clamp(28px,min(3.4vw,25.16px),44px);letter-spacing:-.02em;text-align:center}
.aju-vn .aju-vn-end-tag{font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--aju-vn-blue)}

/* ---------- 공유·바이라인 (지침 8장 고정 CSS) ---------- */
.aju-vn .aju-vn-share{margin-top:150px;padding:28px 20px;border-top:1px solid var(--aju-vn-ink);border-bottom:1px solid var(--aju-vn-line);background:rgba(255,255,255,.46);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-temp{position:fixed;top:-1000px;left:0;opacity:0}
.aju-vn .aju-vn-share-notice{min-height:1.5em;margin-top:10px;font-size:12px;color:var(--aju-vn-red)}
.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 var(--aju-vn-line);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:var(--aju-vn-ink)}
.aju-vn .aju-vn-byline dd{margin-left:0;letter-spacing:.06em;color:var(--aju-vn-mute)}

/* 크기 단위: 화면 폭(vw) 대신 min(Nvw, N% x 740px) — ROOT 최대 너비 740px 기준 */

/* 모바일: 캐릭터 줄이 가로 스크롤을 만들지 않도록 줄바꿈 (560px 이하에서만) */
@media (max-width:560px){
    .aju-vn .aju-vn-hero-top{flex-wrap:wrap-reverse;justify-content:flex-end}
    .aju-vn .aju-vn-hero-kicker{flex:1 1 100%}
}

/* =========================================================
   MOTION — 모션그래픽 지시서의 움직임 규칙
   - JS가 ROOT에 .aju-vn-motion을 붙였을 때만 동작
     (prefers-reduced-motion이거나 JS가 없으면 위의 정지 화면 그대로)
   - 요소가 화면에 들어오면 JS가 .aju-vn-in을 붙임
   - 이징: 임계감쇠 스프링(넘치지 않음) / 와이프는 지수 이징
   - 페이드·바운스·글로우 없음: 모두 clip-path 와이프와 transform으로 처리
   ========================================================= */
.aju-vn.aju-vn-motion .aju-vn-sec{overflow-x:clip}

/* 라벨: 한 글자씩 타이핑 */
.aju-vn.aju-vn-motion .aju-vn-proctor-label,
.aju-vn.aju-vn-motion .aju-vn-compare-tag,
.aju-vn.aju-vn-motion .aju-vn-case-when,
.aju-vn.aju-vn-motion .aju-vn-rule-k,
.aju-vn.aju-vn-motion .aju-vn-body-k,
.aju-vn.aju-vn-motion .aju-vn-end-tag,
.aju-vn.aju-vn-motion .aju-vn-data-year,
.aju-vn.aju-vn-motion .aju-vn-data-src,
.aju-vn.aju-vn-motion .aju-vn-sites-tag,
.aju-vn.aju-vn-motion .aju-vn-item-card-tag,
.aju-vn.aju-vn-motion .aju-vn-bars-line-label{clip-path:inset(-30% -4% -30% -4%);transition:clip-path .55s steps(18,end)}
.aju-vn.aju-vn-motion .aju-vn-proctor-label:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-compare-tag:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-case-when:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-rule-k:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-body-k:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-end-tag:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-data-year:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-data-src:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-sites-tag:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-item-card-tag:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-bars-line-label:not(.aju-vn-in){clip-path:inset(-30% 100% -30% -4%)}

/* 제목·문단: 기준선 아래에서 솟아오름 */
.aju-vn.aju-vn-motion .aju-vn-title,
.aju-vn.aju-vn-motion .aju-vn-hero-title,
.aju-vn.aju-vn-motion .aju-vn-hero-lead,
.aju-vn.aju-vn-motion .aju-vn-lead,
.aju-vn.aju-vn-motion .aju-vn-quiz-q,
.aju-vn.aju-vn-motion .aju-vn-compare-name,
.aju-vn.aju-vn-motion .aju-vn-compare-text,
.aju-vn.aju-vn-motion .aju-vn-first-d,
.aju-vn.aju-vn-motion .aju-vn-first-notes p,
.aju-vn.aju-vn-motion .aju-vn-type-head,
.aju-vn.aju-vn-motion .aju-vn-type-desc,
.aju-vn.aju-vn-motion .aju-vn-items-foot,
.aju-vn.aju-vn-motion .aju-vn-light-title,
.aju-vn.aju-vn-motion .aju-vn-light-lead,
.aju-vn.aju-vn-motion .aju-vn-sites-text,
.aju-vn.aju-vn-motion .aju-vn-case-school,
.aju-vn.aju-vn-motion .aju-vn-case-result,
.aju-vn.aju-vn-motion .aju-vn-body-title,
.aju-vn.aju-vn-motion .aju-vn-body-text,
.aju-vn.aju-vn-motion .aju-vn-end-text,
.aju-vn.aju-vn-motion .aju-vn-data-diff,
.aju-vn.aju-vn-motion .aju-vn-check-head{clip-path:inset(-20% -4% -20% -4%);transform:translateY(0);transition:clip-path .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-timing-function:linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1)}
.aju-vn.aju-vn-motion .aju-vn-title:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-hero-title:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-hero-lead:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-lead:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-quiz-q:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-compare-name:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-compare-text:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-first-d:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-first-notes p:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-type-head:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-type-desc:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-items-foot:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-light-title:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-light-lead:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-sites-text:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-case-school:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-case-result:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-body-title:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-body-text:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-end-text:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-data-diff:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-check-head:not(.aju-vn-in){clip-path:inset(100% -4% -20% -4%);transform:translateY(.45em)}

/* 상자·행: 왼쪽에서 오른쪽으로 그려짐 */
.aju-vn.aju-vn-motion .aju-vn-compare,
.aju-vn.aju-vn-motion .aju-vn-types-note,
.aju-vn.aju-vn-motion .aju-vn-item-card,
.aju-vn.aju-vn-motion .aju-vn-sites-box,
.aju-vn.aju-vn-motion .aju-vn-flow-step,
.aju-vn.aju-vn-motion .aju-vn-check-note,
.aju-vn.aju-vn-motion .aju-vn-filters,
.aju-vn.aju-vn-motion .aju-vn-first-specs,
.aju-vn.aju-vn-motion .aju-vn-rule-row,
.aju-vn.aju-vn-motion .aju-vn-case,
.aju-vn.aju-vn-motion .aju-vn-check-btn,
.aju-vn.aju-vn-motion .aju-vn-body-item,
.aju-vn.aju-vn-motion .aju-vn-quiz-opts,
.aju-vn.aju-vn-motion .aju-vn-quiz-answer,
.aju-vn.aju-vn-motion .aju-vn-type-track,
.aju-vn.aju-vn-motion .aju-vn-data-sel,
.aju-vn.aju-vn-motion .aju-vn-bar-labels{clip-path:inset(-6px -6px -6px -6px);transition:clip-path .6s cubic-bezier(.16,1,.3,1)}
.aju-vn.aju-vn-motion .aju-vn-compare:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-types-note:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-item-card:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-sites-box:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-flow-step:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-check-note:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-filters:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-first-specs:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-rule-row:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-case:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-check-btn:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-body-item:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-quiz-opts:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-quiz-answer:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-type-track:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-data-sel:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-bar-labels:not(.aju-vn-in){clip-path:inset(-6px 100% -6px -6px)}

/* 선: 한 번에 그어짐 */
.aju-vn.aju-vn-motion .aju-vn-rule,
.aju-vn.aju-vn-motion .aju-vn-end-rule,
.aju-vn.aju-vn-motion .aju-vn-flow-link,
.aju-vn.aju-vn-motion .aju-vn-scanline,
.aju-vn.aju-vn-motion .aju-vn-bars-line,
.aju-vn.aju-vn-motion .aju-vn-progress{transform:scaleX(1);transform-origin:0 50%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.aju-vn.aju-vn-motion .aju-vn-rule:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-end-rule:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-flow-link:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-scanline:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-bars-line:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-progress:not(.aju-vn-in){transform:scaleX(0)}
.aju-vn.aju-vn-motion .aju-vn-end-rule{transform-origin:50% 50%}
.aju-vn.aju-vn-motion .aju-vn-scanline{transition-duration:.5s;transition-timing-function:cubic-bezier(.87,0,.13,1)}

/* 홀로그램 스캔라인 채움: 위에서부터 한 줄씩 */
.aju-vn.aju-vn-motion .aju-vn-light-ai,
.aju-vn.aju-vn-motion .aju-vn-sites-count{clip-path:inset(-10% -4% -10% -4%);transition:clip-path .7s steps(28,end)}
.aju-vn.aju-vn-motion .aju-vn-light-ai:not(.aju-vn-in),
.aju-vn.aju-vn-motion .aju-vn-sites-count:not(.aju-vn-in){clip-path:inset(-10% -4% 100% -4%)}
.aju-vn.aju-vn-motion .aju-vn-flow-step--lit{transition:clip-path .6s steps(14,end)}

/* 히어로: 눈금 41개가 차례로, '수능' 해칭이 한 줄씩 */
.aju-vn.aju-vn-motion .aju-vn-rule-ticks{clip-path:inset(-4px 0 -4px 0);transition:clip-path .45s steps(41,end) .35s}
.aju-vn.aju-vn-motion .aju-vn-rule:not(.aju-vn-in) .aju-vn-rule-ticks{clip-path:inset(-4px 100% -4px 0)}
.aju-vn.aju-vn-motion .aju-vn-hero-word-main{clip-path:polygon(-5% -40%,140% -40%,110% 140%,-5% 140%);transition:clip-path .9s steps(26,end) .25s}
.aju-vn.aju-vn-motion .aju-vn-hero-word:not(.aju-vn-in) .aju-vn-hero-word-main{clip-path:polygon(-5% -40%,-5% -40%,-40% 140%,-5% 140%)}

/* 캐릭터: 오른쪽에서 뛰어 들어와(다리 교대, 7도 기울기) 연필 든 팔을 듦 */
.aju-vn.aju-vn-motion .aju-vn-proctor-body{transform-origin:50% 100%}
.aju-vn.aju-vn-motion .aju-vn-proctor:not(.aju-vn-in) .aju-vn-proctor-body{transform:translateX(min(70vw,518px)) rotate(-7deg)}
.aju-vn.aju-vn-motion .aju-vn-proctor.aju-vn-in .aju-vn-proctor-body{animation:aju-vn-run 1s linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1) both}
.aju-vn.aju-vn-motion .aju-vn-proctor.aju-vn-in .aju-vn-proctor-leg{animation:aju-vn-step .3333s linear 3}
.aju-vn.aju-vn-motion .aju-vn-proctor.aju-vn-in .aju-vn-proctor-leg--2,
.aju-vn.aju-vn-motion .aju-vn-proctor.aju-vn-in .aju-vn-proctor-leg--4{animation-delay:.1667s}
.aju-vn.aju-vn-motion .aju-vn-proctor:not(.aju-vn-in) .aju-vn-proctor-arm--up{transform:rotate(25deg)}
.aju-vn.aju-vn-motion .aju-vn-proctor.aju-vn-in .aju-vn-proctor-arm--up{animation:aju-vn-arm .6s linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1) .95s both}
.aju-vn.aju-vn-motion .aju-vn-proctor-label{transition-delay:1.25s}
@keyframes aju-vn-run{from{transform:translateX(min(70vw,518px)) rotate(-7deg)}to{transform:translateX(0) rotate(0deg)}}
@keyframes aju-vn-step{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes aju-vn-arm{from{transform:rotate(25deg)}to{transform:rotate(-58deg)}}

/* 종이 → 블루프린트: 파란 도형이 가운데서 차오름 */
.aju-vn.aju-vn-motion .aju-vn-origin-flood{transition:clip-path .55s cubic-bezier(.7,0,.84,0)}
.aju-vn.aju-vn-motion .aju-vn-origin-flood:not(.aju-vn-in){clip-path:polygon(50% 100%,50% 100%,50% 100%,50% 100%)}

/* 데이터: 막대가 바닥에서 자람 (스프링, 차례대로) */
.aju-vn.aju-vn-motion .aju-vn-bar{transform-origin:50% 100%;transition:transform .8s cubic-bezier(.22,1,.36,1),background-color .2s;transition-timing-function:linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1),ease}
.aju-vn.aju-vn-motion .aju-vn-bars:not(.aju-vn-in) .aju-vn-bar{transform:scaleY(0)}
.aju-vn.aju-vn-motion .aju-vn-bars .aju-vn-bar:nth-of-type(1){transition-delay:0.00s,0s}
.aju-vn.aju-vn-motion .aju-vn-bars .aju-vn-bar:nth-of-type(2){transition-delay:0.06s,0s}
.aju-vn.aju-vn-motion .aju-vn-bars .aju-vn-bar:nth-of-type(3){transition-delay:0.12s,0s}
.aju-vn.aju-vn-motion .aju-vn-bars .aju-vn-bar:nth-of-type(4){transition-delay:0.18s,0s}
.aju-vn.aju-vn-motion .aju-vn-bars .aju-vn-bar:nth-of-type(5){transition-delay:0.24s,0s}

/* 유형별 막대: 왼쪽에서 채워짐 */
.aju-vn.aju-vn-motion .aju-vn-type-fill{transform-origin:0 50%;transition:transform .9s cubic-bezier(.22,1,.36,1) .15s;transition-timing-function:linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1)}
.aju-vn.aju-vn-motion .aju-vn-type-track:not(.aju-vn-in) .aju-vn-type-fill{transform:scaleX(0)}

/* 물품 칩: 한 박자씩 차례로 */
.aju-vn.aju-vn-motion .aju-vn-item-btn{clip-path:inset(-4px -4px -4px -4px);transition:clip-path .35s cubic-bezier(.16,1,.3,1)}
.aju-vn.aju-vn-motion .aju-vn-items-list:not(.aju-vn-in) .aju-vn-item-btn{clip-path:inset(-4px 100% -4px -4px)}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(1){transition-delay:0.000s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(2){transition-delay:0.025s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(3){transition-delay:0.050s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(4){transition-delay:0.075s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(5){transition-delay:0.100s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(6){transition-delay:0.125s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(7){transition-delay:0.150s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(8){transition-delay:0.175s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(9){transition-delay:0.200s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(10){transition-delay:0.225s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(11){transition-delay:0.250s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(12){transition-delay:0.275s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(13){transition-delay:0.300s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(14){transition-delay:0.325s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(15){transition-delay:0.350s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(16){transition-delay:0.375s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(17){transition-delay:0.400s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(18){transition-delay:0.425s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(19){transition-delay:0.450s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(20){transition-delay:0.475s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(21){transition-delay:0.500s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(22){transition-delay:0.525s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(23){transition-delay:0.550s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(24){transition-delay:0.575s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(25){transition-delay:0.600s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(26){transition-delay:0.625s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(27){transition-delay:0.650s}
.aju-vn.aju-vn-motion .aju-vn-items-list .aju-vn-item-btn:nth-child(28){transition-delay:0.675s}

/* 선택이 바뀔 때 다시 그려지는 요소 */
.aju-vn.aju-vn-motion .aju-vn-replay{animation:aju-vn-replay .55s linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1)}
@keyframes aju-vn-replay{from{clip-path:inset(100% -4% -20% -4%);transform:translateY(.4em)}to{clip-path:inset(-20% -4% -20% -4%);transform:translateY(0)}}
.aju-vn.aju-vn-motion .aju-vn-first-delta.aju-vn-replay{animation-name:aju-vn-replay-wipe;animation-timing-function:cubic-bezier(.16,1,.3,1)}
.aju-vn.aju-vn-motion .aju-vn-verdict.aju-vn-replay{animation-name:aju-vn-replay-wipe;animation-timing-function:cubic-bezier(.16,1,.3,1)}
@keyframes aju-vn-replay-wipe{from{clip-path:inset(-6px 100% -6px -6px)}to{clip-path:inset(-6px -6px -6px -6px)}}

/* 체크리스트: 취소선이 그어지고 진행 막대가 스프링으로 */
.aju-vn.aju-vn-motion .aju-vn-progress-fill{transition:width .55s linear(0, .264 10%, .594 20%, .801 30%, .908 40%, .96 50%, .983 60%, .993 70%, .997 80%, .999 90%, 1)}
.aju-vn.aju-vn-motion .aju-vn-check-name{position:relative}
.aju-vn.aju-vn-motion .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-name{text-decoration-line:none}
.aju-vn.aju-vn-motion .aju-vn-check-name::after{content:"";position:absolute;left:0;right:0;top:54%;height:3px;background:var(--aju-vn-blue);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.aju-vn.aju-vn-motion .aju-vn-check-btn[aria-pressed="true"] .aju-vn-check-name::after{transform:scaleX(1)}
.aju-vn.aju-vn-motion .aju-vn-check-box{transition:background-color .15s}

@media (prefers-reduced-motion:reduce){
    .aju-vn .aju-vn-share-btn{transition:none}
    .aju-vn .aju-vn-share-btn:hover{transform:none}
}
