/* 포인트 색은 --accent 값 하나만 바꾸면 전체에 반영됩니다 */
.hp{--accent:#D4F25A;--bg:#0E0F12;--bg2:#121418;--card:#16181D;--card2:#1A1C21;--line:#2A2D33;--line2:#24272D;--line3:#3A3D44;--text:#F2F1EC;--sub:#B8B8B0;--sub2:#C9C9C2;--muted:#8E8F88;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;letter-spacing:-0.01em;word-break:keep-all;-webkit-font-smoothing:antialiased}
.hp *{box-sizing:border-box}
.hp .hp-todo{display:none!important}
.hp h1,.hp h2,.hp h3,.hp h4,.hp p,.hp ul,.hp ol,.hp dl,.hp dd,.hp figure,.hp blockquote{margin:0;padding:0}
.hp ul,.hp ol{list-style:none}
.hp a{color:inherit;text-decoration:none}
.hp .hp-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.hp .hp-sec{padding:112px 0}
.hp .hp-alt{background:var(--bg2);border-top:1px solid var(--line2)}
.hp .hp-eyebrow{margin-bottom:14px;font-size:15px;font-weight:700;color:var(--accent)}
.hp .hp-h2{font-size:clamp(30px,3.6vw,46px);line-height:1.28;font-weight:800;letter-spacing:-0.035em;color:var(--text)}
.hp .hp-lead{margin-top:20px;max-width:560px;font-size:18px;color:var(--sub)}
.hp .hp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:12px;font-size:17px;font-weight:700;transition:opacity .15s}
.hp .hp-btn:hover{opacity:.88}
.hp .hp-btn-main{background:var(--accent);color:#0E0F12}
.hp .hp-btn-line{border:1px solid var(--line3);color:var(--text)}

.hp .hp-banner{display:block;padding:11px 16px;background:var(--accent);color:#0E0F12;text-align:center;font-size:14px;font-weight:700}
.hp .hp-header{border-bottom:1px solid var(--line2)}
.hp .hp-header-in{display:flex;flex-wrap:wrap;align-items:center;gap:4px 36px;min-height:72px;padding-top:8px;padding-bottom:8px}
.hp .hp-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-0.02em;color:var(--text)}
.hp .hp-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:#0E0F12;font-size:14px;font-weight:800;letter-spacing:0}
.hp .hp-nav{display:flex;flex-wrap:wrap;gap:0 24px;flex:1 1 auto}
.hp .hp-nav a{padding:12px 0;font-size:15px;font-weight:500;color:var(--sub2)}
.hp .hp-nav a:hover{color:#fff}
.hp .hp-util{display:flex;align-items:center;gap:14px;font-size:14px}
.hp .hp-util a{padding:10px 4px;color:var(--sub2)}
.hp .hp-util .hp-pill{padding:10px 18px;border:1px solid var(--line3);border-radius:999px;font-weight:700;color:var(--text)}

.hp .hp-hero{padding:88px 0 96px}
.hp .hp-hero-in{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hp .hp-hero-text{flex:1 1 480px;min-width:0}
.hp .hp-kicker{font-size:16px;font-weight:600;color:var(--accent)}
.hp .hp-h1{margin-top:20px;font-size:clamp(38px,5vw,64px);line-height:1.17;font-weight:800;letter-spacing:-0.04em}
.hp .hp-hero-desc{margin-top:28px;max-width:520px;font-size:19px;color:var(--sub)}
.hp .hp-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.hp .hp-hero-note{margin-top:20px;font-size:14px;color:var(--muted)}

.hp .hp-mock{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.hp .hp-mock-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.hp .hp-live{display:flex;align-items:center;gap:6px}
.hp .hp-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.hp .hp-msg-me{align-self:flex-end;max-width:85%;padding:14px 16px;background:#24272D;border-radius:14px 14px 4px 14px;font-size:15px}
.hp .hp-msg-ai{align-self:flex-start;width:90%;display:flex;flex-direction:column;gap:12px;padding:16px;background:#1E2026;border:1px solid #2E3138;border-radius:14px 14px 14px 4px;font-size:15px}
.hp .hp-rows{display:flex;flex-direction:column;gap:8px;font-size:14px}
.hp .hp-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--card);border:1px solid transparent;border-radius:8px}
.hp .hp-row span + span{flex:none;color:var(--muted)}
.hp .hp-row.warn{border-color:var(--accent)}
.hp .hp-row.warn span + span{color:var(--accent);font-weight:700}
.hp .hp-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #2E3138;border-radius:12px;font-size:14px;color:var(--muted)}
.hp .hp-input span:first-child{flex:1}
.hp .hp-key{padding:2px 8px;border:1px solid var(--line3);border-radius:6px;font-size:12px}

.hp .hp-cards{display:flex;flex-wrap:wrap;gap:20px;margin-top:56px}
.hp .hp-card{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border:1px solid var(--line);border-radius:18px}
.hp .hp-card-vis{height:230px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:22px;background:var(--card2);font-size:14px}
.hp .hp-card-body{padding:24px}
.hp .hp-card-body small{display:block;margin-bottom:6px;font-size:13px;color:var(--muted)}
.hp .hp-card-body h3{margin-bottom:8px;font-size:22px;font-weight:700;letter-spacing:-0.02em}
.hp .hp-card-body p{font-size:15px;color:var(--sub)}
.hp .hp-q{align-self:flex-start;max-width:90%;padding:10px 14px;background:#2A2D33;border-radius:12px}
.hp .hp-a{align-self:flex-end;max-width:90%;padding:10px 14px;background:var(--accent);color:#0E0F12;border-radius:12px;font-weight:500}
.hp .hp-cap{align-self:flex-end;font-size:12px;color:var(--muted)}
.hp .hp-cv-head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.hp .hp-cmt{padding:11px 12px;background:#2A2D33;border-radius:10px}
.hp .hp-cmt b{font-weight:700;color:var(--accent)}
.hp .hp-tabs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}
.hp .hp-tabs span{padding:4px 10px;background:#2A2D33;border-radius:6px}
.hp .hp-tabs span.on{background:var(--accent);color:#0E0F12;font-weight:700}
.hp .hp-stats{display:flex;gap:8px}
.hp .hp-stat{flex:1;min-width:0;padding:9px 12px;background:#2A2D33;border-radius:8px}
.hp .hp-stat small{display:block;font-size:11px;color:#A6A69E}
.hp .hp-stat b{font-size:18px;font-weight:800}
.hp .hp-item{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;background:#2A2D33;border-radius:8px;font-size:13px}
.hp .hp-item span + span{flex:none;font-weight:600;color:var(--accent)}

.hp .hp-split{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hp .hp-split > div{flex:1 1 440px;min-width:0}
.hp .hp-prompt{padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:16px;font-size:16px}
.hp .hp-prompt small{font-size:12px;color:var(--muted)}
.hp .hp-prompt p{margin-top:6px}
.hp .hp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.hp .hp-chips span{padding:10px 18px;border:1px solid var(--line3);border-radius:999px;font-size:15px}
.hp .hp-chips span.on{background:var(--accent);border-color:var(--accent);color:#0E0F12;font-weight:700}

.hp .hp-src{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:48px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.hp .hp-src img{display:block;width:150px;height:150px;flex:none;object-fit:cover;border-radius:12px}
.hp .hp-src-body{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:8px}
.hp .hp-src-body small{font-size:13px;font-weight:700;color:var(--accent)}
.hp .hp-spec{font-size:15px;color:var(--sub)}
.hp .hp-req{font-size:18px;font-weight:600;line-height:1.55}
.hp .hp-flow{display:flex;align-items:center;gap:14px;margin:32px 0 20px;font-size:14px;font-weight:700;color:var(--muted)}
.hp .hp-flow::before,.hp .hp-flow::after{content:"";flex:1;height:1px;background:var(--line)}
.hp .hp-outs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hp .hp-outs figure{display:flex;flex-direction:column;gap:12px}
.hp .hp-outs img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:14px;transition:transform .2s}
.hp .hp-outs figure:hover img{transform:translateY(-4px)}
.hp .hp-outs figcaption{font-size:15px;font-weight:700;text-align:center}
.hp .hp-fine{margin-top:18px;font-size:13px;color:var(--muted)}

.hp .hp-dday{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;padding:8px 16px;border:1px solid var(--line3);border-radius:999px;font-size:14px;color:var(--sub2)}
.hp .hp-dday b{color:var(--accent);font-weight:800}
.hp .hp-cd{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text)}
.hp .hp-dot{animation:hp-blink 1.4s ease-in-out infinite}
@keyframes hp-blink{50%{opacity:.25}}
.hp .hp-rise{opacity:0;animation:hp-rise .5s ease forwards}
.hp .r1{animation-delay:.3s}
.hp .r2{animation-delay:1s}
.hp .r3{animation-delay:1.5s}
.hp .r4{animation-delay:1.9s}
.hp .hp-row.warn.hp-rise{animation:hp-rise .5s ease 2.3s forwards,hp-glow 1.6s ease 2.9s 2}
.hp .r6{animation-delay:2.8s}
@keyframes hp-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes hp-glow{0%,100%{box-shadow:0 0 0 0 rgba(212,242,90,0)}50%{box-shadow:0 0 0 6px rgba(212,242,90,.2)}}
.hp .hp-scroll{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:64px;padding:8px 0;font-size:14px;color:var(--muted)}
.hp .hp-scroll svg{animation:hp-bob 1.6s ease-in-out infinite}
@keyframes hp-bob{50%{transform:translateY(4px)}}

.hp .hp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(14,15,18,.94);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hp .hp-sticky-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding-top:10px;padding-bottom:10px}
.hp .hp-sticky p{min-width:0;font-size:16px;color:var(--sub2)}
.hp .hp-sticky b{margin:0 4px;color:var(--accent);font-weight:800}
.hp .hp-sticky-tag{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:6px;background:#24272D;font-size:13px;font-weight:700;color:var(--text)}
.hp .hp-sticky .hp-btn{flex:none;min-height:48px;padding:0 22px;font-size:16px}

.hp .hp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.hp .hp-tags span{padding:6px 12px;border:1px solid var(--line3);border-radius:8px;font-size:14px;color:var(--sub2)}
.hp .hp-stats-hero{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line2)}
.hp .hp-stat-h b{display:block;font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-0.02em}
.hp .hp-stat-h span{font-size:14px;color:var(--muted)}

.hp .hp-points{display:flex;flex-direction:column;gap:22px;margin-top:36px}
.hp .hp-points li{display:flex;gap:16px}
.hp .hp-points li > b{flex:none;padding-top:2px;font-size:15px;font-weight:800;color:var(--accent)}
.hp .hp-points h3{font-size:18px;font-weight:700}
.hp .hp-points p{margin-top:4px;font-size:15px;color:var(--sub)}
.hp .hp-team{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:20px}
.hp .hp-team-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:15px}
.hp .hp-team-top .hp-live{font-size:13px;color:var(--muted)}
.hp .hp-boss{display:flex;gap:12px;padding:14px;background:#1E2026;border:1px solid #2E3138;border-radius:14px}
.hp .hp-av{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#2A2D33;font-size:14px;font-weight:700}
.hp .hp-boss .hp-av{background:var(--accent);color:#0E0F12}
.hp .hp-boss small{font-size:13px;color:var(--muted)}
.hp .hp-boss p{font-size:15px}
.hp .hp-agent{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px}
.hp .hp-agent-main{flex:1;min-width:0}
.hp .hp-agent-main b{display:block;font-size:14px}
.hp .hp-task{display:block;font-size:13px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp .hp-bar{display:block;height:4px;margin-top:8px;background:#2A2D33;border-radius:4px;overflow:hidden}
.hp .hp-bar span{display:block;height:100%;background:var(--accent);border-radius:4px}
.hp .hp-agent em{flex:none;font-style:normal;font-size:13px;font-weight:700;color:var(--muted)}
.hp .hp-agent em.done{color:var(--accent)}
.hp .hp-team-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:12px 14px;border:1px dashed var(--line3);border-radius:12px;font-size:14px;color:var(--sub2)}
.hp .hp-approve{padding:6px 12px;background:var(--accent);color:#0E0F12;border-radius:8px;font-size:13px;font-weight:700}

.hp .hp-cases{display:flex;flex-wrap:wrap;gap:20px;margin-top:48px}
.hp .hp-case{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.hp .hp-case-tag{font-size:13px;font-weight:700;color:var(--accent)}
.hp .hp-case h3{font-size:21px;font-weight:700}
.hp .hp-time{display:flex;align-items:center;gap:14px;padding:18px;background:var(--bg);border-radius:14px}
.hp .hp-time div{flex:1;min-width:0}
.hp .hp-time small{display:block;font-size:13px;color:var(--muted)}
.hp .hp-time s{font-size:24px;font-weight:700;color:var(--muted)}
.hp .hp-time b{font-size:32px;font-weight:800;letter-spacing:-0.02em;color:var(--accent)}
.hp .hp-time svg{flex:none;color:var(--muted)}
.hp .hp-case p{font-size:15px;color:var(--sub)}
.hp .hp-case-who{margin-top:auto;font-size:13px;color:var(--muted)}

.hp .hp-lv{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--line3);border-radius:6px;font-size:13px;font-weight:700;vertical-align:2px;color:var(--sub2)}
.hp .hp-lv.lv2{border-color:var(--accent);color:var(--accent)}
.hp .hp-lv.lv3{background:var(--accent);border-color:var(--accent);color:#0E0F12}

.hp .hp-benefits{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:48px}
.hp .hp-benefit{display:flex;gap:14px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.hp .hp-benefit svg{flex:none;margin-top:3px}
.hp .hp-benefit h3{font-size:17px;font-weight:700}
.hp .hp-benefit p{margin-top:4px;font-size:15px;color:var(--sub)}

.hp .hp-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:48px}
.hp .hp-steps li{padding:22px 18px;background:var(--bg);border:1px solid var(--line);border-radius:16px}
.hp .hp-steps span{font-size:13px;font-weight:800;color:var(--accent)}
.hp .hp-steps h3{margin-top:10px;font-size:18px;font-weight:700}
.hp .hp-steps p{margin-top:6px;font-size:14px;color:var(--sub)}

.hp .hp-notify{display:flex;flex-wrap:wrap;align-items:center;gap:40px 64px;padding:44px;background:var(--bg);border:1px solid var(--line);border-radius:24px}
.hp .hp-notify-text{flex:1 1 360px;min-width:0}
.hp .hp-notify-form{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:10px}
.hp .hp-notify-form label{font-size:14px;font-weight:600;color:var(--sub2)}
.hp .hp-notify-form input[type=text],.hp .hp-notify-form input[type=tel]{width:100%;min-height:52px;padding:0 16px;background:var(--card);border:1px solid var(--line3);border-radius:12px;color:var(--text);font:inherit;font-size:16px}
.hp .hp-notify-form input::placeholder{color:#7A7B75}
.hp .hp-notify-form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.hp .hp-notify-form .hp-agree{display:flex;align-items:center;gap:8px;margin-top:4px;font-weight:500}
.hp .hp-agree a{display:inline-block;padding:9px 6px;color:var(--sub2);text-decoration:underline}
.hp .hp-agree input{width:18px;height:18px;accent-color:var(--accent)}
.hp .hp-notify-form .hp-btn{width:100%;margin-top:6px}
.hp .hp-notify-note{font-size:13px;color:var(--muted);text-align:center}
.hp .hp-notify-msg{min-height:20px;font-size:14px;color:var(--accent);text-align:center}

.hp .hp-chat-btn{position:fixed;right:20px;bottom:92px;z-index:55;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#0E0F12;box-shadow:0 10px 24px rgba(0,0,0,.4)}

.hp .hp-teacher{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hp .hp-photo{flex:1 1 340px;max-width:440px;min-width:0;display:block;aspect-ratio:4/5;object-fit:cover;background:#1E2026;border-radius:20px}
.hp .hp-thumb{display:block;width:100%;aspect-ratio:1400/788;object-fit:cover;margin-bottom:20px;border:1px solid var(--line);border-radius:12px}
.hp .hp-teacher-text{flex:1 1 480px;min-width:0}
.hp .hp-oneline{margin-top:12px;font-size:18px;color:var(--sub)}
.hp .hp-profile{margin-top:36px}
.hp .hp-profile div{display:flex;gap:24px;padding:16px 0;border-top:1px solid var(--line);font-size:16px}
.hp .hp-profile div:last-child{border-bottom:1px solid var(--line)}
.hp .hp-profile dt{width:80px;flex:none;color:var(--muted)}

.hp .hp-sub{margin-top:16px;font-size:16px;color:var(--muted)}
.hp .hp-reviews{display:flex;flex-wrap:wrap;gap:16px;margin-top:48px}
.hp .hp-review{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.hp .hp-stars{font-size:15px;letter-spacing:2px;color:var(--accent)}
.hp .hp-review blockquote{font-size:16px}
.hp .hp-review figcaption{font-size:14px;color:var(--muted)}
.hp .hp-more{display:inline-block;margin-top:28px;padding:10px 0;font-size:15px;font-weight:700;color:var(--text)}

.hp .hp-course{display:flex;flex-wrap:wrap;gap:32px;margin-top:56px;padding:36px;background:var(--bg);border:1px solid var(--line);border-radius:20px}
.hp .hp-course.next{margin-top:20px}
.hp .hp-course-head{flex:1 1 280px;min-width:0}
.hp .hp-course-head h3{margin:16px 0 8px;font-size:28px;font-weight:800;letter-spacing:-0.02em}
.hp .hp-course-head p{font-size:15px;color:var(--sub)}
.hp .hp-badge{display:inline-block;padding:4px 10px;border:1px solid var(--line3);border-radius:6px;font-size:13px;font-weight:700}
.hp .hp-badge.on{background:var(--accent);border-color:var(--accent);color:#0E0F12}
.hp .hp-course-body{flex:2 1 480px;min-width:0;display:flex;flex-direction:column;gap:12px}
.hp .hp-lesson{display:flex;gap:20px;padding:20px;background:var(--card);border-radius:14px}
.hp .hp-lesson > span{flex:none;font-weight:700;color:var(--accent)}
.hp .hp-lesson h4,.hp .hp-part h4{font-size:18px;font-weight:700}
.hp .hp-lesson p,.hp .hp-part p{margin-top:4px;font-size:15px;color:var(--sub)}
.hp .hp-gift{margin-top:4px;font-size:14px;color:var(--muted)}
.hp .hp-part{display:flex;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.hp .hp-part:last-child{border-bottom:1px solid var(--line)}
.hp .hp-part > span{flex:none;width:64px;font-size:15px;font-weight:700;color:var(--muted)}

.hp .hp-plans{display:flex;flex-wrap:wrap;gap:20px;margin-top:48px}
.hp .hp-plan{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:36px;border:1px solid var(--line);border-radius:20px}
.hp .hp-plan.best{background:var(--card);border:2px solid var(--accent)}
.hp .hp-plan h3{font-size:22px;font-weight:700}
.hp .hp-price{font-size:44px;font-weight:800;line-height:1.2;letter-spacing:-0.02em}
.hp .hp-price del{margin-right:10px;font-size:18px;font-weight:500;color:var(--muted);vertical-align:middle}
.hp .hp-plan ul{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--sub2)}
.hp .hp-plan li::before{content:"· "}
.hp .hp-plan .hp-btn{margin-top:auto}
.hp .hp-plan .hp-btn+.hp-btn{margin-top:-8px}

.hp .hp-faq-wrap{max-width:880px}
.hp .hp-faq{margin-top:40px}
.hp .hp-faq details{border-top:1px solid var(--line)}
.hp .hp-faq details:last-child{border-bottom:1px solid var(--line)}
.hp .hp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:18px;font-weight:700}
.hp .hp-faq summary::-webkit-details-marker{display:none}
.hp .hp-faq summary::after{content:"+";flex:none;font-size:22px;font-weight:400;line-height:1.2;color:var(--muted)}
.hp .hp-faq details[open] summary::after{content:"\2212"}
.hp .hp-faq details p{padding:0 0 22px;font-size:16px;color:var(--sub)}

.hp .hp-final{padding:112px 0;text-align:center}
.hp .hp-final h2{font-size:clamp(34px,4.6vw,58px);line-height:1.2;font-weight:800;letter-spacing:-0.035em}
.hp .hp-final p{margin-top:20px;font-size:18px;color:var(--sub)}
.hp .hp-final .hp-btn{margin-top:36px;min-height:60px;padding:0 36px;font-size:18px}

.hp .hp-footer{background:#0A0B0D;border-top:1px solid var(--line2);font-size:14px;color:#A6A69E}
.hp .hp-footer-in{display:flex;flex-wrap:wrap;gap:40px;padding-top:56px;padding-bottom:56px}
.hp .hp-fcol{flex:1 1 220px;min-width:0;line-height:1.9}
.hp .hp-fcol.wide{flex:2 1 360px}
.hp .hp-footer h4{margin-bottom:14px;font-size:15px;color:var(--text)}
.hp .hp-footer a{display:block;padding:4px 0;color:#A6A69E}
.hp .hp-footer a.strong{font-weight:700;color:var(--text)}
.hp .hp-copy{padding-top:20px;padding-bottom:40px;border-top:1px solid #1C1E23;font-size:13px;color:var(--muted)}

.hp .hp-center{text-align:center}
.hp .hp-center .hp-lead,.hp .hp-center .hp-sub{margin-left:auto;margin-right:auto}

.hp .hp-bubbles{display:flex;flex-direction:column;gap:14px;max-width:720px;margin:48px auto 0}
.hp .hp-bubble{align-self:flex-start;max-width:82%;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 18px 4px;font-size:17px}
.hp .hp-bubble:nth-child(even){align-self:flex-end;border-radius:18px 18px 4px 18px}
.hp .hp-answer{margin-top:56px;text-align:center;font-size:clamp(24px,2.6vw,32px);line-height:1.4;font-weight:800;letter-spacing:-0.03em}
.hp .hp-answer em{font-style:normal;color:var(--accent)}

.hp .hp-who{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:48px}
.hp .hp-who-item{padding:26px;background:var(--bg);border:1px solid var(--line);border-radius:16px}
.hp .hp-who-item h3{font-size:19px;font-weight:700}
.hp .hp-who-item p{margin-top:8px;font-size:15px;color:var(--sub)}

.hp .hp-learn{display:flex;flex-wrap:wrap;gap:20px;margin-top:48px}
.hp .hp-learn-item{flex:1 1 300px;min-width:0;padding:32px;background:var(--bg);border:1px solid var(--line);border-radius:16px}
.hp .hp-learn-item .hp-learn-num{margin-top:0;font-size:44px;font-weight:800;line-height:1;color:var(--accent)}
.hp .hp-learn-item h3{margin-top:20px;font-size:22px;font-weight:700}
.hp .hp-learn-item p{margin-top:10px;font-size:15px;color:var(--sub)}
.hp .hp-learn-item ul{display:flex;flex-direction:column;gap:6px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--sub2)}
.hp .hp-learn-item li::before{content:"· "}

.hp .hp-quotes{display:flex;flex-wrap:wrap;gap:20px;margin-top:48px}
.hp .hp-quote{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:24px;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.hp .hp-quote blockquote{font-size:18px;line-height:1.6}
.hp .hp-quote blockquote::before{content:"\201C";display:block;margin-bottom:6px;font-size:48px;line-height:1;color:var(--accent)}
.hp .hp-quote figcaption{margin-top:auto;font-size:14px;color:var(--muted)}
.hp .hp-quote figcaption b{display:block;font-size:16px;color:var(--text)}

.hp .hp-kpis{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hp .hp-kpi{flex:1 1 140px;min-width:0;padding:18px 20px;background:var(--bg);border:1px solid var(--line);border-radius:14px}
.hp .hp-kpi b{display:block;font-size:28px;font-weight:800;letter-spacing:-0.02em;color:var(--accent)}
.hp .hp-kpi span{font-size:14px;color:var(--sub)}
.hp .hp-story{margin-top:28px;font-size:17px;color:var(--sub)}

.hp .hp-video{position:relative;margin-top:48px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#1E2026;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.hp .hp-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hp .hp-play{position:relative;width:84px;height:84px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .15s}
.hp .hp-video:hover .hp-play{transform:scale(1.06)}

.hp .hp-band{background:var(--accent);color:#0E0F12}
.hp .hp-band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:44px;padding-bottom:44px}
.hp .hp-band h2{font-size:clamp(22px,2.4vw,30px);line-height:1.35;font-weight:800;letter-spacing:-0.03em}
.hp .hp-band p{margin-top:4px;font-size:16px}
.hp .hp-btn-ink{background:#0E0F12;color:#fff}

.hp .hp-marquee{display:flex;flex-direction:column;gap:16px;margin-top:48px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.hp .hp-track{display:flex;gap:16px;width:max-content;animation:hp-flow 70s linear infinite}
.hp .hp-track.rev{animation-direction:reverse}
.hp .hp-marquee:hover .hp-track{animation-play-state:paused}
@keyframes hp-flow{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.hp .hp-rcard{width:320px;flex:none;display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.hp .hp-rcard-top{display:flex;align-items:center;gap:10px}
.hp .hp-avatar{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#2A2D33;font-size:14px;font-weight:700;color:var(--sub2)}
.hp .hp-rcard-top div{font-size:13px;line-height:1.4;color:var(--muted)}
.hp .hp-rcard-top b{display:block;font-size:14px;color:var(--text)}
.hp .hp-rcard strong{font-size:16px;font-weight:700}
.hp .hp-rcard p{font-size:14px;color:var(--sub)}
.hp .hp-revent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding:24px 28px;border:1px dashed var(--accent);border-radius:16px;font-size:16px}
.hp .hp-revent b{margin-right:8px;color:var(--accent)}

.hp .hp-refund{margin-top:24px;padding:28px 32px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.hp .hp-refund h3{font-size:18px;font-weight:700}
.hp .hp-refund ul{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:15px;color:var(--sub)}
.hp .hp-refund li::before{content:"· "}
.hp .hp-refund a{display:inline-block;margin-top:12px;padding:9px 0;font-size:14px;font-weight:700;color:var(--text);text-decoration:underline}

.hp .hp-pop{position:fixed;right:20px;bottom:160px;z-index:60;width:280px;max-width:calc(100% - 40px);padding:18px 20px;background:#fff;color:#141414;border-radius:16px;box-shadow:0 16px 40px rgba(0,0,0,.45);opacity:0;visibility:hidden;animation:hp-show .4s ease 10s forwards}
.hp .hp-pop p{display:none}
@keyframes hp-show{to{opacity:1;visibility:visible}}
.hp .hp-pop small{font-size:12px;font-weight:700;color:#4F6600}
.hp .hp-pop h3{margin-top:6px;font-size:18px;line-height:1.4;font-weight:800}
.hp .hp-pop p{margin-top:6px;font-size:14px;color:#555}
.hp .hp-pop-btns{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.hp .hp-pop-btns a{padding:8px 0;font-size:14px;font-weight:700;text-decoration:underline}
.hp .hp-pop-close{padding:12px 4px;border:0;background:none;font:inherit;font-size:13px;color:#555;cursor:pointer}
.hp .hp-swipe{display:none}

.hp .hp-footer{padding-bottom:72px}

/* 핵심 문구는 크게, 굵게 */
.hp .hp-hero-text{flex:1.25 1 520px}
.hp .hp-mock{flex:1 1 400px}
.hp .hp-h1{font-size:clamp(44px,5.4vw,78px);line-height:1.12;font-weight:900;letter-spacing:-0.045em}
.hp .hp-h2{font-size:clamp(34px,4.3vw,60px);line-height:1.22;font-weight:900;letter-spacing:-0.04em}
.hp .hp-eyebrow{font-size:16px}
.hp .hp-lead{font-size:19px}
.hp .hp-answer{font-size:clamp(30px,3.4vw,46px);line-height:1.3;font-weight:900}
.hp .hp-band h2{font-size:clamp(26px,3vw,40px);font-weight:900}
.hp .hp-final h2{font-size:clamp(40px,5.6vw,76px);line-height:1.15;font-weight:900}
.hp .hp-time s{font-size:26px}
.hp .hp-time b{font-size:42px;font-weight:900}
.hp .hp-price{font-size:54px;font-weight:900}
.hp .hp-stat-h b{font-size:38px;font-weight:900}
.hp .hp-kpi b{font-size:34px;font-weight:900}
.hp .hp-learn-item .hp-learn-num{font-size:56px;font-weight:900}
.hp .hp-card-body h3,.hp .hp-learn-item h3,.hp .hp-case h3{font-size:24px;font-weight:800}
.hp .hp-course-head h3{font-size:30px;font-weight:900}

@media (prefers-reduced-motion:reduce){.hp .hp-track,.hp .hp-dot,.hp .hp-scroll svg{animation:none}.hp .hp-rise,.hp .hp-row.warn.hp-rise,.hp .hp-pop{opacity:1;visibility:visible;animation:none}}
@media (max-width:860px){
.hp .hp-sec,.hp .hp-final{padding:80px 0}
.hp .hp-rcard{width:280px}
.hp .hp-learn-item,.hp .hp-quote{padding:24px}
.hp .hp-hero{padding:56px 0 72px}
.hp .hp-hero-desc{font-size:17px}
.hp .hp-nav{order:3;flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;gap:0 20px;border-top:1px solid var(--line2)}
.hp .hp-nav a{white-space:nowrap}
.hp .hp-util{margin-left:auto}
.hp .hp-course,.hp .hp-plan{padding:24px}
.hp .hp-outs{grid-template-columns:repeat(2,minmax(0,1fr))}
.hp .hp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:641px){.hp br.hp-mo{display:none}}
@media (min-width:641px) and (max-width:799px){
.hp .hp-logo,.hp .hp-util a{min-height:40px;display:inline-flex;align-items:center}
.hp .hp-scroll{min-height:40px}
.hp .hp-footer a{min-height:40px;display:flex;align-items:center}
}
@media (max-width:640px){
.hp{font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}
.hp .hp-wrap{padding:0 20px}
.hp .hp-sec,.hp .hp-final{padding:64px 0}
.hp .hp-banner{padding:10px 16px;font-size:13px}
.hp .hp-header-in{min-height:60px;gap:0 16px}
.hp .hp-logo{font-size:18px}
.hp .hp-logo-mark{width:28px;height:28px;font-size:13px}
.hp .hp-nav a{font-size:14px}
.hp .hp-util .hp-hide-sm{display:none}
.hp .hp-util .hp-pill{padding:8px 14px;font-size:13px}

.hp .hp-hero{padding:48px 0 64px}
.hp .hp-hero-in{gap:40px}
.hp .hp-kicker{font-size:14px}
.hp .hp-h1{margin-top:14px;font-size:clamp(40px,12.4vw,52px);line-height:1.14}
.hp .hp-hero-desc{margin-top:20px;font-size:16px;line-height:1.75}
.hp .hp-hero-cta{margin-top:28px}
.hp .hp-hero-cta .hp-btn{flex:1 1 100%}
.hp .hp-mock{gap:12px;padding:16px;border-radius:16px}
.hp .hp-msg-me,.hp .hp-msg-ai{font-size:14px}
.hp .hp-msg-ai{width:100%}
.hp .hp-row{padding:9px 10px;font-size:13px}

.hp .hp-eyebrow{margin-bottom:10px;font-size:14px}
.hp .hp-h2{font-size:clamp(28px,8.6vw,34px);line-height:1.3;letter-spacing:-0.045em}
.hp .hp-lead,.hp .hp-story,.hp .hp-oneline{font-size:16px;line-height:1.75}
.hp .hp-lead{margin-top:14px}
.hp .hp-cards,.hp .hp-who,.hp .hp-learn,.hp .hp-quotes,.hp .hp-plans,.hp .hp-video{margin-top:32px}

.hp .hp-bubbles{gap:10px;margin-top:32px}
.hp .hp-bubble{max-width:90%;padding:13px 16px;font-size:15px}
.hp .hp-answer{margin-top:36px;font-size:clamp(24px,7.2vw,28px)}

.hp .hp-card-vis{height:auto;min-height:200px;padding:18px}
.hp .hp-card-body{padding:20px}
.hp .hp-card-body h3{font-size:21px}

.hp .hp-who{gap:10px}
.hp .hp-who-item{padding:20px}
.hp .hp-who-item h3{font-size:19px}
.hp .hp-split,.hp .hp-teacher{gap:32px}
.hp .hp-prompt{padding:16px 18px;font-size:15px}
.hp .hp-chips span{padding:8px 14px;font-size:14px}
.hp .hp-learn-item,.hp .hp-quote{padding:22px}
.hp .hp-learn-item .hp-learn-num{font-size:44px}
.hp .hp-learn-item h3{margin-top:14px;font-size:21px}
.hp .hp-quote blockquote{font-size:16px}

.hp .hp-photo{max-width:none;aspect-ratio:1/1}
.hp .hp-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:24px}
.hp .hp-kpi{padding:14px 8px;text-align:center}
.hp .hp-kpi b{font-size:22px}
.hp .hp-kpi span{font-size:13px}
.hp .hp-profile div{gap:16px;font-size:15px}
.hp .hp-profile dt{width:60px}

.hp .hp-video{border-radius:14px}
.hp .hp-play{width:64px;height:64px}
.hp .hp-band-in{padding-top:32px;padding-bottom:32px}
.hp .hp-band .hp-btn{flex:1 1 100%}

.hp .hp-marquee{margin-top:32px;-webkit-mask-image:none;mask-image:none}
.hp .hp-track{width:auto;padding:0 20px;overflow-x:auto;animation:none;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}
.hp .hp-track::-webkit-scrollbar{display:none}
.hp .hp-rcard{width:78vw;max-width:300px;scroll-snap-align:start}
.hp .hp-rcard[aria-hidden="true"]{display:none}
.hp .hp-revent{padding:20px;font-size:15px}
.hp .hp-revent .hp-btn{flex:1 1 100%}

.hp .hp-course{gap:20px;margin-top:32px;padding:20px}
.hp .hp-course-head h3{font-size:24px}
.hp .hp-lesson{flex-direction:column;gap:6px;padding:16px}
.hp .hp-part{flex-direction:column;gap:4px}
.hp .hp-lesson h4,.hp .hp-part h4{font-size:18px}
.hp .hp-plan{padding:24px}
.hp .hp-price{font-size:42px}
.hp .hp-refund{padding:20px}
.hp .hp-faq{margin-top:28px}
.hp .hp-faq summary{padding:18px 0;font-size:16px}
.hp .hp-faq details p{font-size:15px;line-height:1.75}
.hp .hp-final h2{font-size:clamp(32px,9.6vw,38px)}
.hp .hp-final p{font-size:16px}
.hp .hp-final .hp-btn{width:100%}
.hp .hp-footer-in{gap:28px;padding-top:40px;padding-bottom:40px}

.hp .hp-pop{left:12px;right:12px;bottom:76px;width:auto;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px 4px 16px;border-radius:12px}
.hp .hp-pop small{font-size:14px;color:#141414}
.hp .hp-pop h3{display:none}
.hp .hp-outs{display:flex;gap:12px;margin:0 -20px;padding:0 20px 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}
.hp .hp-outs::-webkit-scrollbar{display:none}
.hp .hp-outs figure{flex:0 0 74%;min-width:0;scroll-snap-align:start}
.hp .hp-swipe{display:inline}
.hp .hp-pop{right:76px}
.hp .hp-chat-btn{right:12px;bottom:76px;width:52px;height:52px}
.hp .hp-stats-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hp .hp-stat-h b{font-size:20px;white-space:nowrap}
.hp .hp-stat-h span{display:block;font-size:13px;line-height:1.4}
.hp .hp-team{padding:16px}
.hp .hp-case{padding:22px}
.hp .hp-time b{font-size:34px}
.hp .hp-notify{padding:24px 20px;gap:28px}
.hp .hp-steps,.hp .hp-benefits{grid-template-columns:1fr}
.hp .hp-cases,.hp .hp-benefits,.hp .hp-steps{margin-top:32px}
.hp .hp-logo{padding:6px 0}
.hp .hp-footer a{padding:10px 0}
.hp .hp-refund a{padding:12px 0}
.hp .hp-scroll{padding:12px 0}
.hp .hp-src{gap:14px;padding:14px}
.hp .hp-src img{width:84px;height:84px}
.hp .hp-src-body{flex:1 1 180px}
.hp .hp-req{font-size:15px}
.hp .hp-outs{gap:12px}
.hp .hp-outs figcaption{font-size:14px}
.hp .hp-dday{font-size:13px;padding:7px 12px}
.hp .hp-scroll{margin-top:40px}
.hp .hp-sticky-in{min-height:64px}
.hp .hp-sticky p{font-size:13px}
.hp .hp-sticky-tag{display:none}
.hp .hp-sticky .hp-btn{min-height:44px;padding:0 16px;font-size:15px}
.hp .hp-pop p{display:none}
.hp .hp-pop-btns{margin-top:0;gap:14px}
}

